From f20d1e1c2c8811b1db46a3cc2f082f30e4503c7c Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Tue, 18 Apr 2017 19:32:14 +0100 Subject: [PATCH 01/70] Update definition for hapi 16.1 Use Object not object. app and plugins optional in server.inject options Fix merge conlict with master Type IPluginFunction. Simplify Plugin. Add backwards incompatibility note. Thanks mmc41 and jasonswearingen. Remove Promise. Thanks mmc41. Fix merge conflict with master Renaming of all interfaces to remove preceding I in preparation of dtslint Fix http links in docs and remove old I interface names 2e119e63a Add example tests of server.decorate on server and request 2e119e63a Improve comments regarding server.decorate 0d6b28656 Allow response.state to accept object 0d6b28656 request.response should also be responase or null. 0d6b28656 Allow some cookie config fields to be nullable. Fix merge conflict with master again --- types/hapi/catbox/index.d.ts | 249 + types/hapi/h2o2/h2o2-tests.ts | 64 + types/hapi/h2o2/index.d.ts | 75 + types/hapi/index.d.ts | 4932 +++++++++-------- types/hapi/json/index.d.ts | 17 + types/hapi/json/json-tests.ts | 8 + types/hapi/mime-db/index.d.ts | 23 + types/hapi/mimos/index.d.ts | 29 + types/hapi/podium/index.d.ts | 182 + types/hapi/shot/index.d.ts | 109 + types/hapi/tests/connection/table.ts | 20 + .../getting-started/01-creating-a-server.ts | 15 + .../tests/getting-started/02-adding-routes.ts | 30 + .../03-serving-static-content.ts | 22 + .../tests/getting-started/04-using-plugins.ts | 54 + types/hapi/tests/path/catch-all.ts | 15 + types/hapi/tests/path/parameters.ts | 33 + types/hapi/tests/plugins/options.ts | 36 + types/hapi/tests/reply/continue.ts | 15 + types/hapi/tests/reply/entity.ts | 24 + types/hapi/tests/reply/redirect.ts | 8 + types/hapi/tests/reply/reply.ts | 22 + types/hapi/tests/reply/state_cookie.ts | 33 + types/hapi/tests/request/event-types.ts | 30 + types/hapi/tests/request/generate-response.ts | 21 + types/hapi/tests/request/get-log.ts | 12 + types/hapi/tests/request/log.ts | 19 + types/hapi/tests/request/set-method.ts | 15 + types/hapi/tests/request/set-url.ts | 32 + types/hapi/tests/request/tail.ts | 26 + .../tests/response/error-representation.ts | 33 + types/hapi/tests/response/error.ts | 25 + types/hapi/tests/response/events.ts | 30 + types/hapi/tests/response/flow-control.ts | 14 + types/hapi/tests/route/additional-options.ts | 16 + types/hapi/tests/route/auth.ts | 22 + types/hapi/tests/route/config.ts | 46 + types/hapi/tests/route/handler.ts | 10 + types/hapi/tests/route/prerequisites.ts | 47 + types/hapi/tests/route/public-interface.ts | 17 + types/hapi/tests/server/app.ts | 11 + types/hapi/tests/server/auth.ts | 101 + types/hapi/tests/server/bind.ts | 24 + types/hapi/tests/server/cache.ts | 33 + types/hapi/tests/server/connection-options.ts | 39 + types/hapi/tests/server/connections.ts | 13 + types/hapi/tests/server/decoder.ts | 9 + types/hapi/tests/server/decorate.ts | 68 + types/hapi/tests/server/dependency.ts | 24 + types/hapi/tests/server/emit.ts | 12 + types/hapi/tests/server/encoder.ts | 9 + types/hapi/tests/server/event.ts | 12 + types/hapi/tests/server/expose.ts | 17 + types/hapi/tests/server/ext.ts | 46 + types/hapi/tests/server/handler.ts | 55 + types/hapi/tests/server/info.ts | 16 + types/hapi/tests/server/initialize.ts | 12 + types/hapi/tests/server/inject.ts | 18 + types/hapi/tests/server/listener.ts | 19 + types/hapi/tests/server/load.ts | 7 + types/hapi/tests/server/log.ts | 15 + types/hapi/tests/server/lookup.ts | 19 + types/hapi/tests/server/match.ts | 19 + types/hapi/tests/server/method.ts | 78 + types/hapi/tests/server/methods.ts | 17 + types/hapi/tests/server/mime.ts | 21 + types/hapi/tests/server/new.ts | 65 + types/hapi/tests/server/on.ts | 43 + types/hapi/tests/server/once.ts | 14 + types/hapi/tests/server/path.ts | 13 + types/hapi/tests/server/plugins.ts | 15 + types/hapi/tests/server/realm.ts | 10 + types/hapi/tests/server/register.ts | 18 + types/hapi/tests/server/route.ts | 12 + types/hapi/tests/server/select.ts | 11 + types/hapi/tests/server/settings.ts | 11 + types/hapi/tests/server/start.ts | 13 + types/hapi/tests/server/state.ts | 38 + types/hapi/tests/server/stop.ts | 11 + types/hapi/tests/server/table.ts | 9 + types/hapi/tests/server/version.ts | 6 + types/hapi/tsconfig.json | 85 +- types/hapi/v12/hapi-tests.ts | 114 + types/hapi/v12/index.d.ts | 2331 ++++++++ types/hapi/v12/tsconfig.json | 27 + types/hapi/{ => v16.0}/hapi-tests.ts | 0 types/hapi/v16.0/index.d.ts | 2489 +++++++++ types/hapi/v16.0/tsconfig.json | 22 + types/hapi/vision/index.d.ts | 207 + types/hapi/vision/vision-tests.ts | 126 + types/inert/index.d.ts | 45 +- types/inert/inert-tests.ts | 63 +- 92 files changed, 10478 insertions(+), 2464 deletions(-) create mode 100644 types/hapi/catbox/index.d.ts create mode 100644 types/hapi/h2o2/h2o2-tests.ts create mode 100644 types/hapi/h2o2/index.d.ts create mode 100644 types/hapi/json/index.d.ts create mode 100644 types/hapi/json/json-tests.ts create mode 100644 types/hapi/mime-db/index.d.ts create mode 100644 types/hapi/mimos/index.d.ts create mode 100644 types/hapi/podium/index.d.ts create mode 100644 types/hapi/shot/index.d.ts create mode 100644 types/hapi/tests/connection/table.ts create mode 100644 types/hapi/tests/getting-started/01-creating-a-server.ts create mode 100644 types/hapi/tests/getting-started/02-adding-routes.ts create mode 100644 types/hapi/tests/getting-started/03-serving-static-content.ts create mode 100644 types/hapi/tests/getting-started/04-using-plugins.ts create mode 100644 types/hapi/tests/path/catch-all.ts create mode 100644 types/hapi/tests/path/parameters.ts create mode 100644 types/hapi/tests/plugins/options.ts create mode 100644 types/hapi/tests/reply/continue.ts create mode 100644 types/hapi/tests/reply/entity.ts create mode 100644 types/hapi/tests/reply/redirect.ts create mode 100644 types/hapi/tests/reply/reply.ts create mode 100644 types/hapi/tests/reply/state_cookie.ts create mode 100644 types/hapi/tests/request/event-types.ts create mode 100644 types/hapi/tests/request/generate-response.ts create mode 100644 types/hapi/tests/request/get-log.ts create mode 100644 types/hapi/tests/request/log.ts create mode 100644 types/hapi/tests/request/set-method.ts create mode 100644 types/hapi/tests/request/set-url.ts create mode 100644 types/hapi/tests/request/tail.ts create mode 100644 types/hapi/tests/response/error-representation.ts create mode 100644 types/hapi/tests/response/error.ts create mode 100644 types/hapi/tests/response/events.ts create mode 100644 types/hapi/tests/response/flow-control.ts create mode 100644 types/hapi/tests/route/additional-options.ts create mode 100644 types/hapi/tests/route/auth.ts create mode 100644 types/hapi/tests/route/config.ts create mode 100644 types/hapi/tests/route/handler.ts create mode 100644 types/hapi/tests/route/prerequisites.ts create mode 100644 types/hapi/tests/route/public-interface.ts create mode 100644 types/hapi/tests/server/app.ts create mode 100644 types/hapi/tests/server/auth.ts create mode 100644 types/hapi/tests/server/bind.ts create mode 100644 types/hapi/tests/server/cache.ts create mode 100644 types/hapi/tests/server/connection-options.ts create mode 100644 types/hapi/tests/server/connections.ts create mode 100644 types/hapi/tests/server/decoder.ts create mode 100644 types/hapi/tests/server/decorate.ts create mode 100644 types/hapi/tests/server/dependency.ts create mode 100644 types/hapi/tests/server/emit.ts create mode 100644 types/hapi/tests/server/encoder.ts create mode 100644 types/hapi/tests/server/event.ts create mode 100644 types/hapi/tests/server/expose.ts create mode 100644 types/hapi/tests/server/ext.ts create mode 100644 types/hapi/tests/server/handler.ts create mode 100644 types/hapi/tests/server/info.ts create mode 100644 types/hapi/tests/server/initialize.ts create mode 100644 types/hapi/tests/server/inject.ts create mode 100644 types/hapi/tests/server/listener.ts create mode 100644 types/hapi/tests/server/load.ts create mode 100644 types/hapi/tests/server/log.ts create mode 100644 types/hapi/tests/server/lookup.ts create mode 100644 types/hapi/tests/server/match.ts create mode 100644 types/hapi/tests/server/method.ts create mode 100644 types/hapi/tests/server/methods.ts create mode 100644 types/hapi/tests/server/mime.ts create mode 100644 types/hapi/tests/server/new.ts create mode 100644 types/hapi/tests/server/on.ts create mode 100644 types/hapi/tests/server/once.ts create mode 100644 types/hapi/tests/server/path.ts create mode 100644 types/hapi/tests/server/plugins.ts create mode 100644 types/hapi/tests/server/realm.ts create mode 100644 types/hapi/tests/server/register.ts create mode 100644 types/hapi/tests/server/route.ts create mode 100644 types/hapi/tests/server/select.ts create mode 100644 types/hapi/tests/server/settings.ts create mode 100644 types/hapi/tests/server/start.ts create mode 100644 types/hapi/tests/server/state.ts create mode 100644 types/hapi/tests/server/stop.ts create mode 100644 types/hapi/tests/server/table.ts create mode 100644 types/hapi/tests/server/version.ts create mode 100644 types/hapi/v12/hapi-tests.ts create mode 100644 types/hapi/v12/index.d.ts create mode 100644 types/hapi/v12/tsconfig.json rename types/hapi/{ => v16.0}/hapi-tests.ts (100%) create mode 100644 types/hapi/v16.0/index.d.ts create mode 100644 types/hapi/v16.0/tsconfig.json create mode 100644 types/hapi/vision/index.d.ts create mode 100644 types/hapi/vision/vision-tests.ts diff --git a/types/hapi/catbox/index.d.ts b/types/hapi/catbox/index.d.ts new file mode 100644 index 0000000000..013997cfaf --- /dev/null +++ b/types/hapi/catbox/index.d.ts @@ -0,0 +1,249 @@ +// TODO needs tests +// TODO move to own definition +// Type definitions for catbox 7.1 +// Project: https://github.com/hapijs/catbox +// Definitions by: Jason Swearingen , AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import * as Boom from 'boom'; + +export interface CallBackNoResult { + (err?: Boom.BoomError): void; +} +export interface CallBackWithResult { + (err: Boom.BoomError | null | undefined, result: T): void; +} + +/** + * Client + * The Client object provides a low-level cache abstraction. The object is constructed using new Client(engine, options) where: + * engine - is an object or a prototype function implementing the cache strategy: + * * function - a prototype function with the signature function(options). catbox will call new func(options). + * * object - a pre instantiated client implementation object. Does not support passing options. + * options - the strategy configuration object. Each strategy defines its own configuration options with the following common options: + * * partition - the partition name used to isolate the cached results across multiple clients. The partition name is used as the MongoDB database name, the Riak bucket, or as a key prefix in Redis and Memcached. To share the cache across multiple clients, use the same partition name. + * @see {@link https://github.com/hapijs/catbox#client} + */ +export interface Client extends ClientApi { + new(engine: EnginePrototypeOrObject, options: ClientOptions): Client; +} + +type EnginePrototypeOrObject = EnginePrototype | ClientApi; + +/** + * A prototype CatBox engine function + */ +export interface EnginePrototype { + new(settings: ClientOptions): ClientApi; +} + +/** + * Client API + * The Client object provides the following methods: + * @see {@link https://github.com/hapijs/catbox#api} + */ +export interface ClientApi { + /** start(callback) - creates a connection to the cache server. Must be called before any other method is available. The callback signature is function(err). */ + start(callback: CallBackNoResult): void; + /** stop() - terminates the connection to the cache server. */ + stop(): void; + /** + * get(key, callback) - retrieve an item from the cache engine if found where: + * * key - a cache key object (see [ICacheKey]). + * * callback - a function with the signature function(err, cached). If the item is not found, both err and cached are null. If found, the cached object is returned + */ + get(key: CacheKey, callback: CallBackWithResult): CacheItem; + /** + * set(key, value, ttl, callback) - store an item in the cache for a specified length of time, where: + * * key - a cache key object (see [ICacheKey]). + * * value - the string or object value to be stored. + * * ttl - a time-to-live value in milliseconds after which the item is automatically removed from the cache (or is marked invalid). + * * callback - a function with the signature function(err). + */ + set(key: CacheKey, value: CacheItem, ttl: number, callback: CallBackNoResult): void; + /** + * drop(key, callback) - remove an item from cache where: + * * key - a cache key object (see [ICacheKey]). + * * callback - a function with the signature function(err). + */ + drop(key: CacheKey, callback: CallBackNoResult): void; + /** isReady() - returns true if cache engine determines itself as ready, false if it is not ready. */ + isReady(): boolean; + /** validateSegmentName(segment) - returns null if the segment name is valid (see below), otherwise should return an instance of Error with an appropriate message. */ + validateSegmentName(segment: string): null | Boom.BoomError; +} + +/** + * Any method with a key argument takes an object with the following required properties: + */ +export interface CacheKey { + /** segment - a caching segment name string. Enables using a single cache server for storing different sets of items with overlapping ids. */ + segment: string; + /** id - a unique item identifier string (per segment). Can be an empty string. */ + id: string; +} + +/** Cached object contains the following: */ +export interface CachedObject { + /** item - the value stored in the cache using set(). */ + item: any; + /** stored - the timestamp when the item was stored in the cache (in milliseconds). */ + stored: number; + /** ttl - the remaining time-to-live (not the original value used when storing the object). */ + ttl: number; +} + +type CacheItem = any; + +export interface ClientOptions { + partition: string; +} + +/** + * The Policy object provides a convenient cache interface by setting a global policy which is automatically applied to every storage action. The object is constructed using new Policy(options, [cache, segment]) where: + * * options - an object with the IPolicyOptions structure + * * cache - a Client instance (which has already been started). + * * segment - required when cache is provided. The segment name used to isolate cached items within the cache partition. + * @see {@link https://github.com/hapijs/catbox#policy} + */ +export interface Policy extends PolicyAPI { + new(options: PolicyOptions, cache: Client, segment: string): Policy; +} + +/** + * Policy API + * The Policy object provides the following methods: + * @see {@link https://github.com/hapijs/catbox#api-1} + */ +export interface PolicyAPI { + /** + * get(id, callback) - retrieve an item from the cache. If the item is not found and the generateFunc method was provided, a new value is generated, stored in the cache, and returned. Multiple concurrent requests are queued and processed once. The method arguments are: + * * id - the unique item identifier (within the policy segment). Can be a string or an object with the required 'id' key. + * * callback - the return function. + */ + get(id: string | {id: string}, callback: PolicyGetCallback): CacheItem; + /** + * set(id, value, ttl, callback) - store an item in the cache where: + * * id - the unique item identifier (within the policy segment). + * * value - the string or object value to be stored. + * * ttl - a time-to-live override value in milliseconds after which the item is automatically removed from the cache (or is marked invalid). This should be set to 0 in order to use the caching rules configured when creating the Policy object. + * * callback - a function with the signature function(err). + */ + set(id: string | {id: string}, value: CacheItem, ttl: number | null, callback: CallBackNoResult): void; + /** + * drop(id, callback) - remove the item from cache where: + * * id - the unique item identifier (within the policy segment). + * * callback - a function with the signature function(err). + */ + drop(id: string | {id: string}, callback: CallBackNoResult): void; + /** ttl(created) - given a created timestamp in milliseconds, returns the time-to-live left based on the configured rules. */ + ttl(created: number): number; + /** rules(options) - changes the policy rules after construction (note that items already stored will not be affected) */ + rules(options: PolicyOptions): void; + /** isReady() - returns true if cache engine determines itself as ready, false if it is not ready or if there is no cache engine set. */ + isReady(): boolean; + /** stats - an object with cache statistics */ + stats(): CacheStatisticsObject; +} + +/** + * The return function. The function signature is function(err, value, cached, report) where: + * @param err - any errors encountered. + * @param value - the fetched or generated value. + * @param cached - null if a valid item was not found in the cache, or IPolicyGetCallbackCachedOptions + * @param report - an object with logging information about the generation operation + */ +export interface PolicyGetCallback{ + (err: null | Boom.BoomError, value: CacheItem, cached: PolicyGetCallbackCachedOptions, report: PolicyGetCallbackReportLog): void; +} + +export interface PolicyGetCallbackCachedOptions { + /** item - the cached value. */ + item: CacheItem; + /** stored - the timestamp when the item was stored in the cache. */ + stored: number; + /** ttl - the cache ttl value for the record. */ + ttl: number; + /** isStale - true if the item is stale. */ + isStale: boolean; +} + +/** + * @see {@link https://github.com/hapijs/catbox#policy} + */ +export interface PolicyOptions { + /** expiresIn - relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: number; + /** expiresAt - time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Uses local time. Cannot be used together with expiresIn. */ + expiresAt?: string; + /** generateFunc - a function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) where: */ + generateFunc?: GenerateFunc; + /** + * staleIn - number of milliseconds to mark an item stored in cache as stale and attempt to regenerate it when generateFunc is provided. Must be less than expiresIn. Alternatively function that returns staleIn value in milliseconds. The function signature is function(stored, ttl) where: + * * stored - the timestamp when the item was stored in the cache (in milliseconds). + * * ttl - the remaining time-to-live (not the original value used when storing the object). + */ + staleIn?: number | ((stored: number, ttl: number) => number); + /** staleTimeout - number of milliseconds to wait before returning a stale value while generateFunc is generating a fresh value. */ + staleTimeout?: number; + /** generateTimeout - number of milliseconds to wait before returning a timeout error when the generateFunc function takes too long to return a value. When the value is eventually returned, it is stored in the cache for future requests. Required if generateFunc is present. Set to false to disable timeouts which may cause all get() requests to get stuck forever. */ + generateTimeout?: number | false; + /** dropOnError - if true, an error or timeout in the generateFunc causes the stale value to be evicted from the cache. Defaults to true. */ + dropOnError?: boolean; + /** generateOnReadError - if false, an upstream cache read error will stop the get() method from calling the generate function and will instead pass back the cache error. Defaults to true. */ + generateOnReadError?: boolean; + /** generateIgnoreWriteError - if false, an upstream cache write error will be passed back with the generated value when calling the get() method. Defaults to true. */ + generateIgnoreWriteError?: boolean; + /** pendingGenerateTimeout - number of milliseconds while generateFunc call is in progress for a given id, before a subsequent generateFunc call is allowed. Defaults to 0, no blocking of concurrent generateFunc calls beyond staleTimeout. */ + pendingGenerateTimeout?: number; +} + +/** + * generateFunc + * Is used in PolicyOptions + * A function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) + * @param id - the id string or object provided to the get() method. + * @param next - the method called when the new item is returned with the signature function(err, value, ttl) where: + * * err - an error condition. + * * value - the new value generated. + * * ttl - the cache ttl value in milliseconds. Set to 0 to skip storing in the cache. Defaults to the cache global policy. + * @see {@link https://github.com/hapijs/catbox#policy} + */ +export interface GenerateFunc { + (id: string, next: ((err: null | Boom.BoomError, value: CacheItem, ttl?: number) => void)): void; +} + +/** + * An object with logging information about the generation operation containing the following keys (as relevant): + */ +export interface PolicyGetCallbackReportLog { + /** msec - the cache lookup time in milliseconds. */ + msec: number; + /** stored - the timestamp when the item was stored in the cache. */ + stored: number; + /** isStale - true if the item is stale. */ + isStale: boolean; + /** ttl - the cache ttl value for the record. */ + ttl: number; + /** error - lookup error. */ + error?: Boom.BoomError; +} + +/** + * an object with cache statistics where: + */ +export interface CacheStatisticsObject { + /** sets - number of cache writes. */ + sets: number; + /** gets - number of cache get() requests. */ + gets: number; + /** hits - number of cache get() requests in which the requested id was found in the cache (can be stale). */ + hits: number; + /** stales - number of cache reads with stale requests (only counts the first request in a queued get() operation). */ + stales: number; + /** generates - number of calls to the generate function. */ + generates: number; + /** errors - cache operations errors. TODO check this*/ + errors: number; +} diff --git a/types/hapi/h2o2/h2o2-tests.ts b/types/hapi/h2o2/h2o2-tests.ts new file mode 100644 index 0000000000..981f712593 --- /dev/null +++ b/types/hapi/h2o2/h2o2-tests.ts @@ -0,0 +1,64 @@ +import http = require("http"); +import * as Boom from 'boom'; +import * as Hapi from 'hapi'; +import * as Wreck from 'wreck'; +import * as h2o2 from './index'; + +// const handler = function (request: Hapi.Request, reply: Hapi.IReply) { +// return reply.proxy({ host: 'example.com', port: 80, protocol: 'http' }); +// }; + +const server = new Hapi.Server({}); + +var proxyOptions: h2o2.ProxyHandlerOptions = { + host: '10.33.33.1', + port: '443', + protocol: 'https' +}; +var routeConfig: Hapi.RouteConfiguration = { + method: 'GET', + path: '/', + handler: { + proxy: proxyOptions + } +}; +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: proxyOptions + } +}); + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + uri: 'https://some.upstream.service.com/that/has?what=you&want=todo' + } + } +}); + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + mapUri: function (request: Hapi.Request, callback: (err: null | Boom.BoomError, value: string) => void) { + + console.log('doing some aditional stuff before redirecting'); + callback(null, 'https://some.upstream.service.com/'); + }, + onResponse: function (err: null | Boom.BoomError, res: http.IncomingMessage, request: Hapi.Request, reply: Hapi.ReplyWithContinue, settings: h2o2.ProxyHandlerOptions, ttl: number) { + + console.log('receiving the response from the upstream.'); + Wreck.read(res, { json: true }, function (err: null | Boom.BoomError, payload: any) { + + console.log('some payload manipulation if you want to.') + reply(payload).headers = res.headers; + }); + } + } + } +}); diff --git a/types/hapi/h2o2/index.d.ts b/types/hapi/h2o2/index.d.ts new file mode 100644 index 0000000000..9ff4bd1f70 --- /dev/null +++ b/types/hapi/h2o2/index.d.ts @@ -0,0 +1,75 @@ +// TODO move to own definition +// Type definitions for h2o2 5.4 +// Project: https://github.com/hapijs/catbox +// Definitions by: Jason Swearingen , AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import http = require("http"); +import * as hapi from 'hapi'; +import * as Boom from 'boom'; + +/** Proxy handler options */ +export interface ProxyHandlerOptions { + /** host - upstream service host to proxy requests to. It will have the same path as the client request. */ + host?: string; + /** port - upstream service port. */ + port?: string; + /** protocol - protocol to use when making the request to the proxied host: */ + protocol?: 'http' | 'https'; + /** uri - absolute URI used instead of host, port, protocol, path, and query. Cannot be used with host, port, protocol, or mapUri. */ + uri?: string; + /** passThrough - if set to true, it forwards the headers from the client to the upstream service, headers sent from the upstream service will also be forwarded to the client. Defaults to false. */ + passThrough?: boolean; + /** localStatePassThrough - if set tofalse, any locally defined state is removed from incoming requests before being sent to the upstream service. This value can be overridden on a per state basis via the server.state()``passThrough option. Defaults to false */ + localStatePassThrough?: boolean; + /** acceptEncoding - if set to false, does not pass-through the 'Accept-Encoding' HTTP header which is useful for the onResponse post-processing to avoid receiving an encoded response. Can only be used together with passThrough. Defaults to true (passing header). */ + acceptEncoding?: boolean; + /** rejectUnauthorized - sets the rejectUnauthorized property on the https agent making the request. This value is only used when the proxied server uses TLS/SSL. If set it will override the node.js rejectUnauthorized property. If false then ssl errors will be ignored. When true the server certificate is verified and an 500 response will be sent when verification fails. This shouldn't be used alongside the agent setting as the agent will be used instead. Defaults to the https agent default value of true. */ + rejectUnauthorized?: boolean; + /** xforward - if set to true, sets the 'X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto', 'X-Forwarded-Host' headers when making a request to the proxied upstream endpoint. Defaults to false. */ + xforward?: boolean; + /** redirects - the maximum number of HTTP redirections allowed to be followed automatically by the handler. Set to false or 0 to disable all redirections (the response will contain the redirection received from the upstream service). If redirections are enabled, no redirections (301, 302, 307, 308) will be passed along to the client, and reaching the maximum allowed redirections will return an error response. Defaults to false. */ + redirects?: number | false; + /** timeout - number of milliseconds before aborting the upstream request. Defaults to 180000 (3 minutes). */ + timeout?: number; + /** mapUri - a function used to map the request URI to the proxied URI. Cannot be used together with host, port, protocol, or uri. The function signature is function (request, callback) where: + * @param request - is the incoming request object. + * @param callback - is function (err, uri, headers) where: + * @param err - internal error condition. TODO: check this is of type BoomError or just Error. + * @param uri - the absolute proxy URI. + * @param headers - optional object where each key is an HTTP request header and the value is the header content. + */ + mapUri?: (request: hapi.Request, callback: (err: null | Boom.BoomError, uri: string, headers?: { [key: string]: string }) => void) => void; + /** + * onResponse - a custom function for processing the response from the upstream service before sending to the client. Useful for custom error handling of responses from the proxied endpoint or other payload manipulation. Function signature is function (err, res, request, reply, settings, ttl) where: + * @param err - internal or upstream error returned from attempting to contact the upstream proxy. TODO: check this is of type BoomError or just Error. + * @param res - the node response object received from the upstream service. res is a readable stream (use the wreck module read method to easily convert it to a Buffer or string). + * @param request - is the incoming request object. + * @param reply - the reply interface function. + * @param settings - the proxy handler configuration. + * @param ttl - the upstream TTL in milliseconds if proxy.ttl it set to 'upstream' and the upstream response included a valid 'Cache-Control' header with 'max-age'. + */ + onResponse?: (err: null | Boom.BoomError, + res: http.IncomingMessage, + req: hapi.Request, + reply: hapi.ReplyWithContinue, // TODO, check it has continue + settings: ProxyHandlerOptions, + ttl: number) => void; + /** ttl - if set to 'upstream', applies the upstream response caching policy to the response using the response.ttl() method (or passed as an argument to the onResponse method if provided). */ + ttl?: 'upstream'; + /** agent - a node http(s) agent to be used for connections to upstream server. @see {@link https://nodejs.org/api/http.html#http_class_http_agent} */ + agent?: http.Agent; + /** maxSockets - sets the maximum number of sockets available per outgoing proxy host connection. false means use the wreck module default value (Infinity). Does not affect non-proxy outgoing client connections. Defaults to Infinity. */ + maxSockets?: false | number; +} + +declare module 'hapi' { + interface RouteHandlerPlugins { + /** + * the Proxy Handler + * @see {@link https://github.com/hapijs/h2o2#replyproxyoptions} + */ + proxy?: ProxyHandlerOptions; + } +} diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 6fdef94dec..2f555f68d2 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -1,2489 +1,2537 @@ -// Type definitions for hapi 16.0 -// Project: http://github.com/spumko/hapi -// Definitions by: Jason Swearingen +// Type definitions for hapi 16.1 +// Project: https://github.com/hapijs/hapi +// Definitions by: Jason Swearingen , AJP // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 -// Note/Disclaimer: This .d.ts was created against hapi v8.x but has been incrementally upgraded to 13.x. Some newer features/changes may be missing. YMMV. +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: BACKWARDS INCOMPATIBLE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + * + * Removal of IPromise replaced with Promise + * Removal of IReplyStrict<> + * Removal of IReply replaced with different interfaces like: + * ReplyWithContinue + * ReplyNoContinue, etc. + * Renaming of all interfaces to remove preceding I in preparation of dtslint + */ -/// -import http = require("http"); -import stream = require("stream"); import Events = require("events"); +import stream = require("stream"); +import http = require("http"); +import https = require("https"); import url = require("url"); +import zlib = require("zlib"); +import domain = require("domain"); -export interface IDictionary { - [key: string]: T; -} +import * as Boom from 'boom'; +import { + ValidationOptions as JoiValidationOptions, + Schema as JoiValidationObject, +} from 'joi'; -export interface IHeaderOptions { - append?: boolean; - separator?: string; - override?: boolean; - duplicate?: boolean; -} +import * as Catbox from './catbox'; +import {MimosOptions} from './mimos'; +import * as Podium from './podium'; +import * as Json from './json'; +import * as Shot from './shot'; -/** Boom Module for errors. https://github.com/hapijs/boom - * boom provides a set of utilities for returning HTTP errors. Each utility returns a Boom error response object (instance of Error) which includes the following properties: */ -export interface IBoom extends Error { - /** if true, indicates this is a Boom object instance. */ - isBoom: boolean; - /** convenience bool indicating status code >= 500. */ - isServer: boolean; - /** the error message. */ - message: string; - /** the formatted response.Can be directly manipulated after object construction to return a custom error response.Allowed root keys: */ - output: { - /** the HTTP status code (typically 4xx or 5xx). */ - statusCode: number; - /** an object containing any HTTP headers where each key is a header name and value is the header content. */ - headers: IDictionary; - /** the formatted object used as the response payload (stringified).Can be directly manipulated but any changes will be lost if reformat() is called.Any content allowed and by default includes the following content: */ - payload: { - /** the HTTP status code, derived from error.output.statusCode. */ - statusCode: number; - /** the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from statusCode. */ - error: string; - /** the error message derived from error.message. */ - message: string; - }; - }; - /** reformat()rebuilds error.output using the other object properties. */ - reformat(): void; -} - -/** cache functionality via the "CatBox" module. */ -export interface ICatBoxCacheOptions { - /** a prototype function or catbox engine object. */ - engine: any; - /** an identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisions as well. */ - name?: string; - /** if true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. */ - shared?: boolean; -} - -/** policy configuration for the "CatBox" module and server method options. */ -export interface ICatBoxCachePolicyOptions { - /** the cache name configured in server.cache. Defaults to the default cache. */ - cache?: string; - /** string segment name, used to isolate cached items within the cache partition. When called within a plugin, defaults to '!name' where 'name' is the plugin name. When called within a server method, defaults to '#name' where 'name' is the server method name. Required when called outside of a plugin. */ - segment?: string; - /** if true, allows multiple cache provisions to share the same segment. Default to false. */ - shared?: boolean; - /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ - expiresIn?: number; - /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records expire. Uses local time. Cannot be used together with expiresIn. */ - expiresAt?: number; - /** a function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) where: - id - the id string or object provided to the get() method. - next - the method called when the new item is returned with the signature function(err, value, ttl) where: - err - an error condition. - value - the new value generated. - ttl - the cache ttl value in milliseconds. Set to 0 to skip storing in the cache. Defaults to the cache global policy. */ - generateFunc?: Function; - /** number of milliseconds to mark an item stored in cache as stale and attempt to regenerate it when generateFunc is provided. Must be less than expiresIn. */ - staleIn?: number; - /** number of milliseconds to wait before checking if an item is stale. */ - staleTimeout?: number; - /** number of milliseconds to wait before returning a timeout error when the generateFunc function takes too long to return a value. When the value is eventually returned, it is stored in the cache for future requests. Required if generateFunc is present. Set to false to disable timeouts which may cause all get() requests to get stuck forever. */ - generateTimeout?: number; - /** if true, an error or timeout in the generateFunc causes the stale value to be evicted from the cache. Defaults to true */ - dropOnError?: boolean; - /** if false, an upstream cache read error will stop the cache.get() method from calling the generate function and will instead pass back the cache error. Defaults to true. */ - generateOnReadError?: boolean; - /** if false, an upstream cache write error when calling cache.get() will be passed back with the generated value when calling. Defaults to true. */ - generateIgnoreWriteError?: boolean; - /** number of milliseconds while generateFunc call is in progress for a given id, before a subsequent generateFunc call is allowed. Defaults to 0 (no blocking of concurrent generateFunc calls beyond staleTimeout). */ - pendingGenerateTimeout?: number; -} - -/** Any connections configuration server defaults can be included to override and customize the individual connection. */ -export interface IServerConnectionOptions extends IConnectionConfigurationServerDefaults { - /** - the public hostname or IP address. Used only to set server.info.host and server.info.uri. If not configured, defaults to the operating system hostname and if not available, to 'localhost'.*/ - host?: string; - /** - sets the host name or IP address the connection will listen on.If not configured, defaults to host if present, otherwise to all available network interfaces (i.e. '0.0.0.0').Set to 127.0.0.1 or localhost to restrict connection to only those coming from the same machine.*/ - address?: string; - /** - the TCP port the connection will listen to.Defaults to an ephemeral port (0) which uses an available port when the server is started (and assigned to server.info.port).If port is a string containing a '/' character, it is used as a UNIX domain socket path and if it starts with '\.\pipe' as a Windows named pipe.*/ - port?: string | number; - /** - the full public URI without the path (e.g. 'http://example.com:8080').If present, used as the connection info.uri otherwise constructed from the connection settings.*/ - uri?: string; - /** - optional node.js HTTP (or HTTPS) http.Server object or any compatible object.If the listener needs to be manually started, set autoListen to false.If the listener uses TLS, set tls to true.*/ - listener?: any; - /** - indicates that the connection.listener will be started manually outside the framework.Cannot be specified with a port setting.Defaults to true.*/ - autoListen?: boolean; - /** caching headers configuration: */ - cache?: { - /** - an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive.Defaults to [200]. */ - statuses: number[]; - }; - /** - a string or string array of labels used to server.select() specific connections matching the specified labels.Defaults to an empty array [](no labels).*/ - labels?: string | string[]; - /** - used to create an HTTPS connection.The tls object is passed unchanged as options to the node.js HTTPS server as described in the node.js HTTPS documentation.Set to true when passing a listener object that has been configured to use TLS directly. */ - tls?: boolean | { key?: string; cert?: string; pfx?: string; } | Object; -} - -export interface IConnectionConfigurationServerDefaults { - /** application-specific connection configuration which can be accessed via connection.settings.app. Provides a safe place to store application configuration without potential conflicts with the framework internals. Should not be used to configure plugins which should use plugins[name]. Note the difference between connection.settings.app which is used to store configuration values and connection.app which is meant for storing run-time state. */ - app?: any; - /** if false, response content encoding is disabled. Defaults to true */ - compression?: boolean; - /** connection load limits configuration where: */ - load?: { - /** maximum V8 heap size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ - maxHeapUsedBytes: number; - /** maximum process RSS size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ - maxRssBytes: number; - /** maximum event loop delay duration in milliseconds over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ - maxEventLoopDelay: number; - }; - /** plugin-specific configuration which can later be accessed via connection.settings.plugins. Provides a place to store and pass connection-specific plugin configuration. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between connection.settings.plugins which is used to store configuration values and connection.plugins which is meant for storing run-time state. */ - plugins?: any; - /** controls how incoming request URIs are matched against the routing table: */ - router?: { - /** determines whether the paths '/example' and '/EXAMPLE' are considered different resources. Defaults to true. */ - isCaseSensitive: boolean; - /** removes trailing slashes on incoming paths. Defaults to false. */ - stripTrailingSlash: boolean; - }; - /** a route options object used to set the default configuration for every route. */ - routes?: IRouteAdditionalConfigurationOptions; - state?: IServerState; -} - -/** Note that the options object is deeply cloned and cannot contain any values that are unsafe to perform deep copy on.*/ -export interface IServerOptions { - /** application-specific configuration which can later be accessed via server.settings.app. Note the difference between server.settings.app which is used to store static configuration values and server.app which is meant for storing run-time state. Defaults to {}. */ - app?: any; - /** sets up server-side caching. Every server includes a default cache for storing application state. By default, a simple memory-based cache is created which has limited capacity and capabilities. hapi uses catbox for its cache which includes support for common storage solutions (e.g. Redis, MongoDB, Memcached, and Riak). Caching is only utilized if methods and plugins explicitly store their state in the cache. The server cache configuration only defines the storage container itself. cache can be assigned: - a prototype function (usually obtained by calling require() on a catbox strategy such as require('catbox-redis')). - a configuration object with the following options: - enginea prototype function or catbox engine object. - namean identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisions as well. - sharedif true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. - other options passed to the catbox strategy used. - an array of the above object for configuring multiple cache instances, each with a unique name. When an array of objects is provided, multiple cache connections are established and each array item (except one) must include a name. */ - cache?: string | ICatBoxCacheOptions | ICatBoxCacheOptions[] | any; - /** sets the default connections configuration which can be overridden by each connection where: */ - connections?: IConnectionConfigurationServerDefaults; - /** determines which logged events are sent to the console (this should only be used for development and does not affect which events are actually logged internally and recorded). Set to false to disable all console logging, or to an object*/ - debug?: boolean | { - /** - a string array of server log tags to be displayed via console.error() when the events are logged via server.log() as well as internally generated server logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error. */ - log: string[]; - /** - a string array of request log tags to be displayed via console.error() when the events are logged via request.log() as well as internally generated request logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error.*/ - request: string[]; - }; - /** file system related settings*/ - files?: { - /** sets the maximum number of file etag hash values stored in the etags cache. Defaults to 10000.*/ - etagsCacheMaxSize?: number; - }; - /** process load monitoring*/ - load?: { - /** the frequency of sampling in milliseconds. Defaults to 0 (no sampling).*/ - sampleInterval?: number; - }; - - /** options passed to the mimos module (https://github.com/hapijs/mimos) when generating the mime database used by the server and accessed via server.mime.*/ - mime?: any; - /** if true, does not load the inert (file and directory support), h2o2 (proxy support), and vision (views support) plugins automatically. The plugins can be loaded manually after construction. Defaults to false (plugins loaded). */ - minimal?: boolean; - /** plugin-specific configuration which can later be accessed via server.settings.plugins. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between server.settings.plugins which is used to store static configuration values and server.plugins which is meant for storing run-time state. Defaults to {}.*/ - plugins?: IDictionary; -} - -export interface IServerViewCompile { - (template: string, options: any): void; - (template: string, options: any, callback: (err: any, compiled: (context: any, options: any, callback: (err: any, rendered: boolean) => void) => void) => void): void; -} - -export interface IServerViewsAdditionalOptions { - /** path - the root file path used to resolve and load the templates identified when calling reply.view().Defaults to current working directory.*/ - path?: string; - /**partialsPath - the root file path where partials are located.Partials are small segments of template code that can be nested and reused throughout other templates.Defaults to no partials support (empty path). - */ - partialsPath?: string; - /**helpersPath - the directory path where helpers are located.Helpers are functions used within templates to perform transformations and other data manipulations using the template context or other inputs.Each '.js' file in the helpers directory is loaded and the file name is used as the helper name.The files must export a single method with the signature function(context) and return a string.Sub - folders are not supported and are ignored.Defaults to no helpers support (empty path).Note that jade does not support loading helpers this way.*/ - helpersPath?: string; - /**relativeTo - a base path used as prefix for path and partialsPath.No default.*/ - relativeTo?: string; - - /**layout - if set to true or a layout filename, layout support is enabled.A layout is a single template file used as the parent template for other view templates in the same engine.If true, the layout template name must be 'layout.ext' where 'ext' is the engine's extension. Otherwise, the provided filename is suffixed with the engine's extension and loaded.Disable layout when using Jade as it will handle including any layout files independently.Defaults to false.*/ - layout?: boolean | string; - /**layoutPath - the root file path where layout templates are located (using the relativeTo prefix if present). Defaults to path.*/ - layoutPath?: string; - /**layoutKeyword - the key used by the template engine to denote where primary template content should go.Defaults to 'content'.*/ - layoutKeywork?: string; - /**encoding - the text encoding used by the templates when reading the files and outputting the result.Defaults to 'utf8'.*/ - encoding?: string; - /**isCached - if set to false, templates will not be cached (thus will be read from file on every use).Defaults to true.*/ - isCached?: boolean; - /**allowAbsolutePaths - if set to true, allows absolute template paths passed to reply.view().Defaults to false.*/ - allowAbsolutePaths?: boolean; - /**allowInsecureAccess - if set to true, allows template paths passed to reply.view() to contain '../'.Defaults to false.*/ - allowInsecureAccess?: boolean; - /**compileOptions - options object passed to the engine's compile function. Defaults to empty options {}.*/ - compileOptions?: any; - /**runtimeOptions - options object passed to the returned function from the compile operation.Defaults to empty options {}.*/ - runtimeOptions?: any; - /**contentType - the content type of the engine results.Defaults to 'text/html'.*/ - contentType?: string; - /**compileMode - specify whether the engine compile() method is 'sync' or 'async'.Defaults to 'sync'.*/ - compileMode?: string; - /**context - a global context used with all templates.The global context option can be either an object or a function that takes no arguments and returns a context object.When rendering views, the global context will be merged with any context object specified on the handler or using reply.view().When multiple context objects are used, values from the global context always have lowest precedence.*/ - context?: any; -} - -export interface IServerViewsEnginesOptions extends IServerViewsAdditionalOptions { - /**- the npm module used for rendering the templates.The module object must contain: "module", the rendering function. The required function signature depends on the compileMode settings. - * If the compileMode is 'sync', the signature is compile(template, options), the return value is a function with signature function(context, options), and the method is allowed to throw errors.If the compileMode is 'async', the signature is compile(template, options, callback) where callback has the signature function(err, compiled) where compiled is a function with signature function(context, options, callback) and callback has the signature function(err, rendered).*/ - module: { - compile?(template: any, options: any): (context: any, options: any) => void; - compile?(template: any, options: any, callback: (err: any, compiled: (context: any, options: any, callback: (err: any, rendered: any) => void) => void) => void): void; - }; -} - -/**Initializes the server views manager - var Hapi = require('hapi'); - var server = new Hapi.Server(); - - server.views({ -engines: { -html: require('handlebars'), -jade: require('jade') -}, -path: '/static/templates' -}); - When server.views() is called within a plugin, the views manager is only available to plugins methods. - */ -export interface IServerViewsConfiguration extends IServerViewsAdditionalOptions { - /** - required object where each key is a file extension (e.g. 'html', 'hbr'), mapped to the npm module used for rendering the templates.Alternatively, the extension can be mapped to an object with the following options:*/ - engines: IDictionary | IServerViewsEnginesOptions; - /** defines the default filename extension to append to template names when multiple engines are configured and not explicit extension is provided for a given template. No default value.*/ - defaultExtension?: string; -} - -export interface IReplyMethods { - /** Returns control back to the framework without setting a response. If called in the handler, the response defaults to an empty payload with status code 200. - * The data argument is only used for passing back authentication data and is ignored elsewhere. */ - continue(credentialData?: any): void; - - /** Transmits a file from the file system. The 'Content-Type' header defaults to the matching mime type based on filename extension. The response flow control rules do not apply. */ - file(/** the file path. */ - path: string, - /** optional settings: */ - options?: { - /** - an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path*/ - filename?: string; - /** specifies whether to include the 'Content-Disposition' header with the response. Available values: - false - header is not included. This is the default value. - 'attachment' - 'inline'*/ - mode?: boolean | string; - /** if true, looks for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false. */ - lookupCompressed: boolean; - }): void; - /** Concludes the handler activity by returning control over to the router with a templatized view response. - the response flow control rules apply. */ - view(/** the template filename and path, relative to the templates path configured via the server views manager. */ - template: string, - /** optional object used by the template to render context-specific result. Defaults to no context {}. */ - context?: {}, - /** optional object used to override the server's views manager configuration for this response. Cannot override isCached, partialsPath, or helpersPath which are only loaded at initialization. */ - options?: any): Response; - /** Sets a header on the response */ - header(name: string, value: string, options?: IHeaderOptions): Response; - - /** Concludes the handler activity by returning control over to the router and informing the router that a response has already been sent back directly via request.raw.res and that no further response action is needed - The response flow control rules do not apply. */ - close(options?: { - /** if false, the router will not call request.raw.res.end()) to ensure the response was ended. Defaults to true. */ - end?: boolean; - }): void; - /** Proxies the request to an upstream endpoint. - the response flow control rules do not apply. */ - - proxy(/** an object including the same keys and restrictions defined by the route proxy handler options. */ - options: IProxyHandlerConfig): void; - /** Redirects the client to the specified uri. Same as calling reply().redirect(uri). - he response flow control rules apply. */ - redirect(uri: string): ResponseRedirect; - - /** Replies with the specified response */ - response(result: any): Response; - - /** Sets a cookie on the response */ - state(name: string, value: any, options?: any): void; - - /** Clears a cookie on the response */ - unstate(name: string, options?: any): void; -} - -/** Concludes the handler activity by setting a response and returning control over to the framework where: - erran optional error response. - result an optional response payload. - Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. - FLOW CONTROL: - When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() */ -export interface IReply extends IReplyMethods { - ( - err: Error, - result?: string | number | boolean | Buffer | stream.Stream | Promise | T, - /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ - credentialData?: any): IBoom; - /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ - (result: string | number | boolean | Buffer | stream.Stream | Promise | T): Response; -} - -/** Concludes the handler activity by setting a response and returning control over to the framework where: - erran optional error response. - result an optional response payload. - Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. - FLOW CONTROL: - When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() */ -export interface IStrictReply extends IReplyMethods { - (err: Error, - result?: Promise | T, - /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ - credentialData?: any): IBoom; - /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ - (result: Promise | T): Response; -} - -export interface ISessionHandler { - (request: Request, reply: IReply): void; -} - -export interface IStrictSessionHandler { - (request: Request, reply: IStrictReply): void; -} - -export interface IRequestHandler { - (request: Request): T; -} - -export interface IFailAction { - (source: string, error: any, next: () => void): void; -} -/** generates a reverse proxy handler */ -export interface IProxyHandlerConfig { - /** the upstream service host to proxy requests to. The same path on the client request will be used as the path on the host.*/ - host?: string; - /** the upstream service port. */ - port?: number; - /** The protocol to use when making a request to the proxied host: - 'http' - 'https'*/ - protocol?: string; - /** an absolute URI used instead of the incoming host, port, protocol, path, and query. Cannot be used with host, port, protocol, or mapUri.*/ - uri?: string; - /** if true, forwards the headers sent from the client to the upstream service being proxied to, headers sent from the upstream service will also be forwarded to the client. Defaults to false.*/ - passThrough?: boolean; - /** localStatePassThrough - if false, any locally defined state is removed from incoming requests before being passed upstream. This is a security feature to prevent local state (e.g. authentication cookies) from leaking upstream to other servers along with the cookies intended for those servers. This value can be overridden on a per state basis via the server.state() passThrough option. Defaults to false.*/ - localStatePassThrough?: boolean; - /**acceptEncoding - if false, does not pass-through the 'Accept-Encoding' HTTP header which is useful when using an onResponse post-processing to avoid receiving an encoded response (e.g. gzipped). Can only be used together with passThrough. Defaults to true (passing header).*/ - acceptEncoding?: boolean; - /** rejectUnauthorized - sets the rejectUnauthorized property on the https agent making the request. This value is only used when the proxied server uses TLS/SSL. When set it will override the node.js rejectUnauthorized property. If false then ssl errors will be ignored. When true the server certificate is verified and an 500 response will be sent when verification fails. This shouldn't be used alongside the agent setting as the agent will be used instead. Defaults to the https agent default value of true.*/ - rejectUnauthorized?: boolean; - /**if true, sets the 'X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto' headers when making a request to the proxied upstream endpoint. Defaults to false.*/ - xforward?: boolean; - /** the maximum number of HTTP redirections allowed, to be followed automatically by the handler. Set to false or 0 to disable all redirections (the response will contain the redirection received from the upstream service). If redirections are enabled, no redirections (301, 302, 307, 308) will be passed along to the client, and reaching the maximum allowed redirections will return an error response. Defaults to false.*/ - redirects?: boolean | number; - /**number of milliseconds before aborting the upstream request. Defaults to 180000 (3 minutes).*/ - timeout?: number; - /** a function used to map the request URI to the proxied URI. Cannot be used together with host, port, protocol, or uri. The function signature is function(request, callback) where: - request - is the incoming request object. - callback - is function(err, uri, headers) where: - err - internal error condition. - uri - the absolute proxy URI. - headers - optional object where each key is an HTTP request header and the value is the header content.*/ - mapUri?(request: Request, callback: (err: any, uri: string, headers?: { [key: string]: string }) => void): void; - /** a custom function for processing the response from the upstream service before sending to the client. Useful for custom error handling of responses from the proxied endpoint or other payload manipulation. Function signature is function(err, res, request, reply, settings, ttl) where: - err - internal or upstream error returned from attempting to contact the upstream proxy. - res - the node response object received from the upstream service. res is a readable stream (use the wreck module read method to easily convert it to a Buffer or string). - request - is the incoming request object. - reply - the reply interface function. - settings - the proxy handler configuration. - ttl - the upstream TTL in milliseconds if proxy.ttl it set to 'upstream' and the upstream response included a valid 'Cache-Control' header with 'max-age'.*/ - onResponse?( - err: any, - res: http.ServerResponse, - req: Request, - reply: IReply, - settings: IProxyHandlerConfig, - ttl: number): void; - /** if set to 'upstream', applies the upstream response caching policy to the response using the response.ttl() method (or passed as an argument to the onResponse method if provided).*/ - ttl?: number; - /** - a node http(s) agent to be used for connections to upstream server. see https://nodejs.org/api/http.html#http_class_http_agent */ - agent?: http.Agent; - /** sets the maximum number of sockets available per outgoing proxy host connection. false means use the wreck module default value (Infinity). Does not affect non-proxy outgoing client connections. Defaults to Infinity.*/ - maxSockets?: boolean | number; -} -/** TODO: fill in joi definition */ -export interface IJoi { } - -/** a validation function using the signature function(value, options, next) */ -export interface IValidationFunction { - ( - /** the object containing the path parameters. */ - value: any, - /** the server validation options. */ - options: any, - /** the callback function called when validation is completed. */ - next: (err: any, value: any) => void): void; -} -/** a custom error handler function with the signature 'function(request, reply, source, error)` */ -export interface IRouteFailFunction { - /** a custom error handler function with the signature 'function(request, reply, source, error)` */ - (/** - the [request object]. */ - request: Request, - /** the continuation reply interface. */ - reply: IReply, - /** the source of the invalid field (e.g. 'path', 'query', 'payload'). */ - source: string, - /** the error object prepared for the client response (including the validation function error under error.data). */ - error: any): void; -} - -/** Each route can be customize to change the default behavior of the request lifecycle using the following options: */ -export interface IRouteAdditionalConfigurationOptions { - /** application specific configuration.Should not be used by plugins which should use plugins[name] instead. */ - app?: any; - /** authentication configuration.Value can be: false to disable authentication if a default strategy is set. - a string with the name of an authentication strategy registered with server.auth.strategy(). - an object */ - auth?: boolean | string | - { - /** the authentication mode.Defaults to 'required' if a server authentication strategy is configured, otherwise defaults to no authentication.Available values: - 'required'authentication is required. - 'optional'authentication is optional (must be valid if present). - 'try'same as 'optional' but allows for invalid authentication. */ - mode?: string; - /** a string array of strategy names in order they should be attempted.If only one strategy is used, strategy can be used instead with the single string value.Defaults to the default authentication strategy which is available only when a single strategy is configured. */ - strategies?: string | string[]; - /** if set, the payload (in requests other than 'GET' and 'HEAD') is authenticated after it is processed.Requires a strategy with payload authentication support (e.g.Hawk).Cannot be set to a value other than 'required' when the scheme sets the options.payload to true.Available values: - falseno payload authentication.This is the default value. - 'required'payload authentication required.This is the default value when the scheme sets options.payload to true. - 'optional'payload authentication performed only when the client includes payload authentication information (e.g.hash attribute in Hawk). */ - payload?: string; - /** the application scope required to access the route.Value can be a scope string or an array of scope strings.The authenticated credentials object scope property must contain at least one of the scopes defined to access the route.Set to false to remove scope requirements.Defaults to no scope required. */ - scope?: string | string[] | boolean; - /** the required authenticated entity type.If set, must match the entity value of the authentication credentials.Available values: - anythe authentication can be on behalf of a user or application.This is the default value. - userthe authentication must be on behalf of a user. - appthe authentication must be on behalf of an application. */ - entity?: string; - /** - * an object or array of objects specifying the route access rules. Each rule is evaluated against an incoming - * request and access is granted if at least one rule matches. Each rule object must include at least one of: - */ - access?: IRouteAdditionalConfigurationAuthAccess | IRouteAdditionalConfigurationAuthAccess[]; - }; - /** an object passed back to the provided handler (via this) when called. */ - bind?: any; - /** if the route method is 'GET', the route can be configured to include caching directives in the response using the following options */ - cache?: { - /** mines the privacy flag included in clientside caching using the 'Cache-Control' header.Values are: - fault'no privacy flag.This is the default setting. - 'public'mark the response as suitable for public caching. - 'private'mark the response as suitable only for private caching. */ - privacy: string; - /** relative expiration expressed in the number of milliseconds since the item was saved in the cache.Cannot be used together with expiresAt. */ - expiresIn: number; - /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire.Cannot be used together with expiresIn. */ - expiresAt: string; - }; - /** the Cross- Origin Resource Sharing protocol allows browsers to make cross- origin API calls.CORS is required by web applications running inside a browser which are loaded from a different domain than the API server.CORS headers are disabled by default. To enable, set cors to true, or to an object with the following options: */ - cors?: { - /** a strings array of allowed origin servers ('Access-Control-Allow-Origin').The array can contain any combination of fully qualified origins along with origin strings containing a wildcard '' character, or a single `''origin string. Defaults to any origin['*']`. */ - origin?: string[]; - /** if true, matches the value of the incoming 'Origin' header to the list of origin values ('*' matches anything) and if a match is found, uses that as the value of the 'Access-Control-Allow-Origin' response header.When false, the origin config is returned as- is.Defaults to true. */ - matchOrigin?: boolean; - /** if false, prevents the connection from returning the full list of non- wildcard origin values if the incoming origin header does not match any of the values.Has no impact if matchOrigin is set to false.Defaults to true. */ - isOriginExposed?: boolean; - /** number of seconds the browser should cache the CORS response ('Access-Control-Max-Age').The greater the value, the longer it will take before the browser checks for changes in policy.Defaults to 86400 (one day). */ - maxAge?: number; - /** a strings array of allowed headers ('Access-Control-Allow-Headers').Defaults to ['Authorization', 'Content-Type', 'If-None-Match']. */ - headers?: string[]; - /** a strings array of additional headers to headers.Use this to keep the default headers in place. */ - additionalHeaders?: string[]; - /** a strings array of allowed HTTP methods ('Access-Control-Allow-Methods').Defaults to ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'OPTIONS']. */ - methods?: string[]; - /** a strings array of additional methods to methods.Use this to keep the default methods in place. */ - additionalMethods?: string[]; - /** a strings array of exposed headers ('Access-Control-Expose-Headers').Defaults to ['WWW-Authenticate', 'Server-Authorization']. */ - exposedHeaders?: string[]; - /** a strings array of additional headers to exposedHeaders.Use this to keep the default headers in place. */ - additionalExposedHeaders?: string[]; - /** if true, allows user credentials to be sent ('Access-Control-Allow-Credentials').Defaults to false. */ - credentials?: boolean; - /** if false, preserves existing CORS headers set manually before the response is sent.Defaults to true. */ - override?: boolean; - }; - /** defines the behavior for serving static resources using the built-in route handlers for files and directories: */ - files?: {/** determines the folder relative paths are resolved against when using the file and directory handlers. */ - relativeTo: string; - }; - - /** an alternative location for the route handler option. */ - handler?: ISessionHandler | IStrictSessionHandler | string | IRouteHandlerConfig; - /** an optional unique identifier used to look up the route using server.lookup(). */ - id?: number; - /** optional arguments passed to JSON.stringify() when converting an object or error response to a string payload.Supports the following: */ - json?: { - /** the replacer function or array.Defaults to no action. */ - replacer?: Function | string[]; - /** number of spaces to indent nested object keys.Defaults to no indentation. */ - space?: number | string; - /** string suffix added after conversion to JSON string.Defaults to no suffix. */ - suffix?: string; - }; - /** enables JSONP support by setting the value to the query parameter name containing the function name used to wrap the response payload.For example, if the value is 'callback', a request comes in with 'callback=me', and the JSON response is '{ "a":"b" }', the payload will be 'me({ "a":"b" });'.Does not work with stream responses. */ - jsonp?: string; - /** determines how the request payload is processed: */ - payload?: { - /** the type of payload representation requested. The value must be one of: - 'data'the incoming payload is read fully into memory.If parse is true, the payload is parsed (JSON, formdecoded, multipart) based on the 'Content- Type' header.If parse is false, the raw Buffer is returned.This is the default value except when a proxy handler is used. - 'stream'the incoming payload is made available via a Stream.Readable interface.If the payload is 'multipart/form-data' and parse is true, fields values are presented as text while files are provided as streams.File streams from a 'multipart/form-data' upload will also have a property hapi containing filename and headers properties. - 'file'the incoming payload in written to temporary file in the directory specified by the server's payload.uploads settings. If the payload is 'multipart/ formdata' and parse is true, fields values are presented as text while files are saved. Note that it is the sole responsibility of the application to clean up the files generated by the framework. This can be done by keeping track of which files are used (e.g. using the request.app object), and listening to the server 'response' event to perform any needed cleaup. */ - output?: string; - /** can be true, false, or gunzip; determines if the incoming payload is processed or presented raw. true and gunzip includes gunzipping when the appropriate 'Content-Encoding' is specified on the received request. If parsing is enabled and the 'Content-Type' is known (for the whole payload as well as parts), the payload is converted into an object when possible. If the format is unknown, a Bad Request (400) error response is sent. Defaults to true, except when a proxy handler is used. The supported mime types are: - 'application/json' - 'application/x-www-form-urlencoded' - 'application/octet-stream' - 'text/ *' - 'multipart/form-data' */ - parse?: string | boolean; - /** a string or an array of strings with the allowed mime types for the endpoint.Defaults to any of the supported mime types listed above.Note that allowing other mime types not listed will not enable them to be parsed, and that if parsing mode is 'parse', the request will result in an error response. */ - allow?: string | string[]; - /** a mime type string overriding the 'Content-Type' header value received.Defaults to no override. */ - override?: string; - /** limits the size of incoming payloads to the specified byte count.Allowing very large payloads may cause the server to run out of memory.Defaults to 1048576 (1MB). */ - maxBytes?: number; - /** payload reception timeout in milliseconds.Sets the maximum time allowed for the client to transmit the request payload (body) before giving up and responding with a Request Timeout (408) error response.Set to false to disable.Defaults to 10000 (10 seconds). */ - timeout?: number; - /** the directory used for writing file uploads.Defaults to os.tmpDir(). */ - uploads?: string; - /** determines how to handle payload parsing errors. Allowed values are: - 'error'return a Bad Request (400) error response. This is the default value. - 'log'report the error but continue processing the request. - 'ignore'take no action and continue processing the request. */ - failAction?: string; - }; - /** pluginspecific configuration.plugins is an object where each key is a plugin name and the value is the plugin configuration. */ - plugins?: IDictionary; - /** an array with [route prerequisites] methods which are executed in serial or in parallel before the handler is called. */ - pre?: any[]; - /** validation rules for the outgoing response payload (response body).Can only validate object response: */ - response?: { - /** the default HTTP status code when the payload is empty. Value can be 200 or 204. - Note that a 200 status code is converted to a 204 only at the time or response transmission - (the response status code will remain 200 throughout the request lifecycle unless manually set). Defaults to 200. */ - emptyStatusCode?: number; - /** the default response object validation rules (for all non-error responses) expressed as one of: - true - any payload allowed (no validation performed). This is the default. - false - no payload allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - value - the object containing the response object. - options - the server validation options. - next(err) - the callback function called when validation is completed. */ - schema?: boolean | any; - /** HTTP status- codespecific validation rules.The status key is set to an object where each key is a 3 digit HTTP status code and the value has the same definition as schema.If a response status code is not present in the status object, the schema definition is used, expect for errors which are not validated by default. */ - status?: { [statusCode: number]: boolean | any }; - /** the percent of responses validated (0100).Set to 0 to disable all validation.Defaults to 100 (all responses). */ - sample?: number; - /** defines what to do when a response fails validation.Options are: - errorreturn an Internal Server Error (500) error response.This is the default value. - loglog the error but send the response. */ - failAction?: string; - /** if true, applies the validation rule changes to the response.Defaults to false. */ - modify?: boolean; - /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ - options?: any; - }; - /** sets common security headers (disabled by default).To enable set security to true or to an object with the following options */ - security?: boolean | { - /** controls the 'Strict-Transport-Security' header.If set to true the header will be set to max- age=15768000, if specified as a number the maxAge parameter will be set to that number.Defaults to true.You may also specify an object with the following fields: */ - hsts?: boolean | number | { - /** the max- age portion of the header, as a number.Default is 15768000. */ - maxAge?: number; - /** a boolean specifying whether to add the includeSubdomains flag to the header. */ - includeSubdomains?: boolean; - /** a boolean specifying whether to add the 'preload' flag (used to submit domains inclusion in Chrome's HTTP Strict Transport Security (HSTS) preload list) to the header. */ - preload?: boolean; - }; - /** controls the 'X-Frame-Options' header.When set to true the header will be set to DENY, you may also specify a string value of 'deny' or 'sameorigin'.To use the 'allow-from' rule, you must set this to an object with the following fields: */ - xframe?: { - /** either 'deny', 'sameorigin', or 'allow-from' */ - rule: string; - /** when rule is 'allow-from' this is used to form the rest of the header, otherwise this field is ignored.If rule is 'allow-from' but source is unset, the rule will be automatically changed to 'sameorigin'. */ - source: string; - }; - /** boolean that controls the 'X-XSS-PROTECTION' header for IE.Defaults to true which sets the header to equal '1; mode=block'.NOTE: This setting can create a security vulnerability in versions of IE below 8, as well as unpatched versions of IE8.See here and here for more information.If you actively support old versions of IE, it may be wise to explicitly set this flag to false. */ - xss?: boolean; - /** boolean controlling the 'X-Download-Options' header for IE, preventing downloads from executing in your context.Defaults to true setting the header to 'noopen'. */ - noOpen?: boolean; - /** boolean controlling the 'X-Content-Type-Options' header.Defaults to true setting the header to its only and default option, 'nosniff'. */ - noSniff?: boolean; - }; - /** HTTP state management (cookies) allows the server to store information on the client which is sent back to the server with every request (as defined in RFC 6265).state supports the following options: */ - state?: { - /** determines if incoming 'Cookie' headers are parsed and stored in the request.state object.Defaults to true. */ - parse: boolean; - /** determines how to handle cookie parsing errors.Allowed values are: - 'error'return a Bad Request (400) error response.This is the default value. - 'log'report the error but continue processing the request. - 'ignore'take no action. */ - failAction: string; - }; - /** request input validation rules for various request components.When using a Joi validation object, the values of the other inputs (i.e.headers, query, params, payload, and auth) are made available under the validation context (accessible in rules as Joi.ref('$query.key')).Note that validation is performed in order(i.e.headers, params, query, payload) and if type casting is used (converting a string to number), the value of inputs not yet validated will reflect the raw, unvalidated and unmodified values.The validate object supports: */ - validate?: { - /** validation rules for incoming request headers.Values allowed: - * trueany headers allowed (no validation performed).This is the default. - falseno headers allowed (this will cause all valid HTTP requests to fail). - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the request headers. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. - */ - headers?: boolean | IJoi | IValidationFunction; - - /** validation rules for incoming request path parameters, after matching the path against the route and extracting any parameters then stored in request.params.Values allowed: - trueany path parameters allowed (no validation performed).This is the default. - falseno path variables allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the path parameters. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. */ - params?: boolean | IJoi | IValidationFunction; - /** validation rules for an incoming request URI query component (the key- value part of the URI between '?' and '#').The query is parsed into its individual key- value pairs (using the qs module) and stored in request.query prior to validation.Values allowed: - trueany query parameters allowed (no validation performed).This is the default. - falseno query parameters allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the query parameters. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. */ - query?: boolean | IJoi | IValidationFunction; - /** validation rules for an incoming request payload (request body).Values allowed: - trueany payload allowed (no validation performed).This is the default. - falseno payload allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the payload object. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. */ - payload?: boolean | IJoi | IValidationFunction; - /** an optional object with error fields copied into every validation error response. */ - errorFields?: any; - /** determines how to handle invalid requests.Allowed values are: - 'error'return a Bad Request (400) error response.This is the default value. - 'log'log the error but continue processing the request. - 'ignore'take no action. - OR a custom error handler function with the signature 'function(request, reply, source, error)` where: - requestthe request object. - replythe continuation reply interface. - sourcethe source of the invalid field (e.g. 'path', 'query', 'payload'). - errorthe error object prepared for the client response (including the validation function error under error.data). */ - failAction?: string | IRouteFailFunction; - /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ - options?: any; - }; - /** define timeouts for processing durations: */ - timeout?: { - /** response timeout in milliseconds.Sets the maximum time allowed for the server to respond to an incoming client request before giving up and responding with a Service Unavailable (503) error response.Disabled by default (false). */ - server: boolean | number; - /** by default, node sockets automatically timeout after 2 minutes.Use this option to override this behavior.Defaults to undefined which leaves the node default unchanged.Set to false to disable socket timeouts. */ - socket: boolean | number; - }; - - /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). - *route description used for generating documentation (string). - */ - description?: string; - /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). - *route notes used for generating documentation (string or array of strings). - */ - notes?: string | string[]; - /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). - *route tags used for generating documentation (array of strings). - */ - tags?: string[]; - - /** Enable logging of routes - */ - log?: boolean; +export interface Dictionary { + [key: string]: T; } /** - * specifying the route access rules. Each rule is evaluated against an incoming request and access is granted if at least one rule matches + * Server + * The Server object is the main application container. The server manages all incoming connections along with all the facilities provided by the framework. A server can contain more than one connection (e.g. listen to port 80 and 8080). + * [See docs](https://hapijs.com/api/16.1.1#server) + * [See docs](https://hapijs.com/api/16.1.1#server-properties) + * [See docs](https://hapijs.com/api/16.1.1#server-events) */ -export interface IRouteAdditionalConfigurationAuthAccess { - /** - * the application scope required to access the route. Value can be a scope string or an array of scope strings. - * The authenticated credentials object scope property must contain at least one of the scopes defined to access the route. - * If a scope string begins with a + character, that scope is required. If a scope string begins with a ! character, - * that scope is forbidden. For example, the scope ['!a', '+b', 'c', 'd'] means the incoming request credentials' - * scope must not include 'a', must include 'b', and must include on of 'c' or 'd'. You may also access properties - * on the request object (query and params} to populate a dynamic scope by using {} characters around the property name, - * such as 'user-{params.id}'. Defaults to false (no scope requirements). - */ - scope?: string | string[] | boolean; - /** the required authenticated entity type. If set, must match the entity value of the authentication credentials. Available values: - * any - the authentication can be on behalf of a user or application. This is the default value. - * user - the authentication must be on behalf of a user which is identified by the presence of a user attribute in the credentials object returned by the authentication strategy. - * app - the authentication must be on behalf of an application which is identified by the lack of presence of a user attribute in the credentials object returned by the authentication strategy. - */ - entity?: string; +export class Server extends Podium.Podium { + /** + * Creates a new Server object + */ + constructor(options?: ServerOptions); + + /** + * Provides a safe place to store server-specific run-time application data without potential conflicts with the framework internals. The data can be accessed whenever the server is accessible. Initialized with an empty object. + * [See docs](https://hapijs.com/api/16.1.1#serverapp) + */ + app?: any; + /** + * An array containing the server's connections. When the server object is returned from server.select(), the connections array only includes the connections matching the selection criteria. + * [See docs](https://hapijs.com/api/16.1.1#serverconnections) + */ + connections: ServerConnection[]; + /** + * When the server contains exactly one connection, info is an object containing information about the sole connection + * When the server contains more than one connection, each server.connections array member provides its own connection.info. + * [See docs](https://hapijs.com/api/16.1.1#serverinfo) + */ + info: ServerConnectionInfo | null; + /** + * An object containing the process load metrics (when load.sampleInterval is enabled): + * [See docs](https://hapijs.com/api/16.1.1#serverload) + */ + load: { + /** event loop delay milliseconds. */ + eventLoopDelay: number; + /** V8 heap usage. */ + heapUsed: number; + /** RSS memory usage. */ + rss: number; + } + /** + * When the server contains exactly one connection, listener is the node HTTP server object of the sole connection. + * When the server contains more than one connection, each server.connections array member provides its own connection.listener. + * [See docs](https://hapijs.com/api/16.1.1#serverlistener) + */ + listener: ServerListener | null; + /** + * An object providing access to the server methods cs://hapijs.com/api/16.1.1#servermethodname-method-options} where each server method name is an object property. + * [See docs](https://hapijs.com/api/16.1.1#servermethods) + */ + methods: Dictionary; + /** + * Provides access to the server MIME database used for setting content-type information. The object must not be modified directly but only through the mime server setting. + * [See docs](https://hapijs.com/api/16.1.1#servermime) + */ + readonly mime: {path: (path: string) => {type: string}}; + /** + * An object containing the values exposed by each plugin registered where each key is a plugin name and the values are the exposed properties by each plugin using server.expose(). Plugins may set the value of the server.plugins[name] object directly or via the server.expose() method. + * [See docs](https://hapijs.com/api/16.1.1#serverplugins) + */ + plugins: PluginsStates; + /** + * The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. + * [See docs](https://hapijs.com/api/16.1.1#serverrealm) + */ + readonly realm: ServerRealm; + /** + * When the server contains exactly one connection, registrations is an object where each key is a registered plugin name + * When the server contains more than one connection, each server.connections array member provides its own connection.registrations. + * TODO check and offer PR to update Hapi docs: Assuming readonly. + * [See docs](https://hapijs.com/api/16.1.1#serverregistrations) + */ + readonly registrations: ServerRegisteredPlugins; + /** + * The root server object containing all the connections and the root server methods (e.g. start(), stop(), connection()). + * TODO, check and offer PR to update Hapi docs: Marked as optional as presumably root server does not reference itself. + * [See docs](https://hapijs.com/api/16.1.1#serverroot) + */ + root?: Server; + /** + * The server configuration object after defaults applied. + * [See docs](https://hapijs.com/api/16.1.1#serversettings) + */ + settings: ServerOptions; + /** + * The hapi module version number. + * [See docs](https://hapijs.com/api/16.1.1#serverversion) + */ + version: string; + + /** + * [See docs](https://hapijs.com/api/16.1.1#serverauthapi) + * [See docs](https://hapijs.com/api/16.1.1#serverauthdefaultoptions) + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) + * [See docs](https://hapijs.com/api/16.1.1#serverauthstrategyname-scheme-mode-options) + * [See docs](https://hapijs.com/api/16.1.1#serverauthteststrategy-request-next) + */ + auth: ServerAuth; + + /** + * Sets a global context used as the default bind object when adding a route or an extension + * When setting context inside a plugin, the context is applied only to methods set up by the plugin. Note that the context applies only to routes and extensions added after it has been set. Ignored if the method being bound is an arrow function. + * @param context the object used to bind this in handler and extension methods. + * [See docs](https://hapijs.com/api/16.1.1#serverbindcontext) + */ + bind(context: any): void; + /** + * [See docs](https://hapijs.com/api/16.1.1#servercacheoptions) + * [See docs](https://hapijs.com/api/16.1.1#servercacheprovisionoptions-callback) + */ + cache: ServerCacheMethod; + /** + * Adds an incoming server connection + * Returns a server object with the new connections selected. + * Must be called before any other server method that modifies connections is called for it to apply to the new connection (e.g. server.state()) + * Note that the options object is deeply cloned (with the exception of listener which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on. + * + * [See docs](https://hapijs.com/api/16.1.1#serverconnectionoptions) for various advantage topics covering usage and caveats around use of the function in plugin register(), connectionless plugins calling connection(), etc. + * @param connection a connection configuration object or array of objects + */ + connection(options?: ServerConnectionOptions[]): Server; + connection(options?: ServerConnectionOptions): Server; + // connection: (options: ServerConnectionOptions[] | ServerConnectionOptions) => Server; + /** + * Registers a custom content decoding compressor to extend the built-in support for 'gzip' and 'deflate' + * [See docs](https://hapijs.com/api/16.1.1#serverdecoderencoding-decoder) + * @param encoding the decoder name string. + * @param decoder a function using the signature function(options) where options are the encoding specific options configured in the route payload.compression configuration option, and the return value is an object compatible with the output of node's zlib.createGunzip(). + */ + decoder(encoding: string, decoder: ((options: CompressionDecoderSettings) => zlib.Gunzip)): void; + /** + * Extends various framework interfaces with custom methods + * Note that decorations apply to the entire server and all its connections regardless of current selection. + * [See docs](https://hapijs.com/api/16.1.1#serverdecoratetype-property-method-options) + * + * NOTE: it's not possible to type the result of this action. + * It's advised that in a custom definition file, you extend the ReplyNoContinue + * and ReplyWithContinue functions. See Inert `.file` for an example. + * Or if it is not part of a library / plugin then you use a namespace within + * your code to type the request, server and or reply. See + * [tests/server/decorate.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/hapi/tests/server/decorate.ts) + * for examples. + * @param type the interface being decorated. Supported types: + * * 'request' - adds methods to the Request object. + * * 'reply' - adds methods to the reply interface. + * * 'server' - adds methods to the Server object. + * @param property the object decoration key name. + * @param method the extension function or other value. + * @param options if the type is 'request', supports the following optional settings: + * * apply - if true, the method function is invoked using the signature function(request) where request is the current request object and the returned value is assigned as the decoration. + */ + decorate(type: 'request' | 'reply' | 'server', property: string, method: Function): void; + decorate(type: 'request', property: string, method: Function, options?: {apply: false}): void; + decorate(type: 'request', property: string, method: (request: Request) => Function, options: {apply: true}): void; + /** + * The server.decorate('server', ...) method can modify this prototype/interface. + * Have disabled these typings as there is a better alternative, see example in: tests/server/decorate.ts + * [And discussion here](https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14517#issuecomment-298891630) + */ + // [index: string]: any; + /** + * Used within a plugin to declare a required dependency on other plugins + * The after method is identical to setting a server extension point on 'onPreStart'. Connectionless plugins (those with attributes.connections set to false) can only depend on other connectionless plugins (server initialization will fail even of the dependency is loaded but is not connectionless). + * Dependencies can also be set via the register attributes property (does not support setting after). + * [See docs](https://hapijs.com/api/16.1.1#serverdependencydependencies-after) + * @param dependencies a single string or array of plugin name strings which must be registered in order for this plugin to operate. Plugins listed must be registered before the server is initialized or started. Does not provide version dependency which should be implemented using npm peer dependencies. + * @param after an optional function called after all the specified dependencies have been registered and before the server starts. The function is only called if the server is initialized or started. If a circular dependency is detected, an exception is thrown (e.g. two plugins each has an after function to be called after the other). The function signature is function(server, next) + */ + dependency(dependencies: string | string[], after?: AfterDependencyLoadCallback): void; + /** + * Emits a custom application event update to all the subscribed listeners + * Note that events must be registered before they can be emitted or subscribed to by calling server.event(events). This is done to detect event name misspelling and invalid event activities. + * [See docs](https://hapijs.com/api/16.1.1#serveremitcriteria-data-callback) + * @param criteria the event update criteria which if an object can have the following optional keys (unless noted otherwise): + * * name - the event name string (required). + * * channel - the channel name string. + * * tags - a tag string or array of tag strings. + * @param data the value emitted to the subscribers. If data is a function, the function signature is function() and it called once to generate (return value) the actual data emitted to the listeners. If no listeners match the event, the data function is not invoked. + * @param callback an optional callback method invoked when all subscribers have been notified using the signature function(). The callback is called only after all the listeners have been notified, including any event updates emitted earlier (the order of event updates are guaranteed to be in the order they were emitted). + */ + emit(criteria: string | {name: string, channel?: string, tags?: string | string[]}, data: any, callback?: () => void): void; + /** + * Registers a custom content encoding compressor to extend the built-in support for 'gzip' and 'deflate' + * [See docs](https://hapijs.com/api/16.1.1#serverencoderencoding-encoder) + * @param encoding the encoder name string. + * @param encoder a function using the signature function(options) where options are the encoding specific options configured in the route compression configuration option, and the return value is an object compatible with the output of node's zlib.createGzip(). + */ + encoder(encoding: string, encoder:((options: CompressionEncoderSettings) => zlib.Gzip)): void; + /** + * Register custom application events + * [See docs](https://hapijs.com/api/16.1.1#servereventevents) + * @param events see ApplicationEvent + */ + event(events: ApplicationEvent[]): void; + event(events: ApplicationEvent): void; + /** + * Used within a plugin to expose a property via server.plugins[name] + * [See docs](https://hapijs.com/api/16.1.1#serverexposekey-value) + * @param key the key assigned (server.plugins[name][key]). + * @param value the value assigned. + */ + expose(key: string, value: any): void; + /** + * Merges an object into to the existing content of server.plugins[name] + * Note that all properties of obj are deeply cloned into server.plugins[name], so you should avoid using this method for exposing large objects that may be expensive to clone or singleton objects such as database client objects. Instead favor the server.expose(key, value) form, which only copies a reference to value. + * [See docs](https://hapijs.com/api/16.1.1#serverexposeobj) + * @param obj the object merged into the exposed properties container. + */ + expose(obj: Object): void; + /** + * Registers an extension function in one of the available extension points + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) + * @param events see @ServerExtConfigurationObject + */ + ext(events: ServerExtConfigurationObject[]): void; + ext(events: ServerExtConfigurationObject): void; + /** + * Registers a single extension event using the same properties as used in server.ext(events), but passed as arguments. + * [See docs](https://hapijs.com/api/16.1.1#serverextevent-method-options) + * @param event the extension point event name. + * @param method a function or an array of functions to be executed at a specified point during request processing. + * @param options + */ + ext(event: ServerExtPoints, method: ServerExtMethod[], options?: ServerExtOptions): void; + ext(event: ServerExtPoints, method: ServerExtMethod, options?: ServerExtOptions): void; + /** + * Registers a new handler type to be used in routes + * The method function can have a defaults object or function property. If the property is set to an object, that object is used as the default route config for routes using this handler. If the property is set to a function, the function uses the signature function(method) and returns the route default configuration. + * [See docs](https://hapijs.com/api/16.1.1#serverhandlername-method) + * @param name string name for the handler being registered. Cannot override any previously registered type. + * @param method the function used to generate the route handler using the signature function(route, options) where: + * * route - the route public interface object. + * * options - the configuration object provided in the handler config. + */ + handler(name: string, method: MakeRouteHandler): void; + /** + * Initializes the server (starts the caches, finalizes plugin registration) but does not start listening on the connection ports + * Note that if the method fails and the callback includes an error, the server is considered to be in an undefined state and should be shut down. In most cases it would be impossible to fully recover as the various plugins, caches, and other event listeners will get confused by repeated attempts to start the server or make assumptions about the healthy state of the environment. It is recommended to assert that no error has been returned after calling initialize() to abort the process when the server fails to start properly. If you must try to resume after an error, call server.stop() first to reset the server state. + * [See docs](https://hapijs.com/api/16.1.1#serverinitializecallback) + * @param callback the callback method when server initialization is completed or failed with the signature function(err) + */ + initialize(callback: (err: Error) => void): void; + initialize(): Promise; + /** + * When the server contains exactly one connection, injects a request into the sole connection simulating an incoming HTTP request without making an actual socket connection. Injection is useful for testing purposes as well as for invoking routing logic internally without the overhead or limitations of the network stack. Utilizes the shot module for performing injections, with some additional options and response properties + * If no callback is provided, a Promise object is returned. + * When the server contains more than one connection, each server.connections array member provides its own connection.inject(). + * [See docs](https://hapijs.com/api/16.1.1#serverinjectoptions-callback) + * @param options can be assigned a string with the requested URI, or an object + * @param callback the callback function with signature function(res) + */ + inject(options: string | InjectedRequestOptions, callback: (res: InjectedResponseObject) => void): void; + inject(options: string | InjectedRequestOptions, ): Promise; + /** + * Logs server events that cannot be associated with a specific request. When called the server emits a 'log' event which can be used by other listeners or plugins to record the information or output to the console. + * [See docs](https://hapijs.com/api/16.1.1#serverlogtags-data-timestamp) + * @param tags a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events. Any logs generated by the server internally include the 'hapi' tag along with event-specific information. + * @param data an optional message string or object with the application data being logged. If data is a function, the function signature is function() and it called once to generate (return value) the actual data emitted to the listeners. If no listeners match the event, the data function is not invoked. + * @param timestamp an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). + */ + log(tags: string | string[], data?: string | Object | Function, timestamp?: number): void; + /** + * When the server contains exactly one connection, looks up a route configuration. + * When the server contains more than one connection, each server.connections array member provides its own connection.lookup() method. + * [See docs](https://hapijs.com/api/16.1.1#serverlookupid) + * @param id the route identifier as set in the route options. + * @return the route public interface object if found, otherwise null. + */ + lookup(id: string): RoutePublicInterface | null; + /** + * When the server contains exactly one connection, looks up a route configuration + * When the server contains more than one connection, each server.connections array member provides its own connection.match() method. + * [See docs](https://hapijs.com/api/16.1.1#servermatchmethod-path-host) + * @param method the HTTP method (e.g. 'GET', 'POST'). TODO check if it allows HEAD + * @param path the requested path (must begin with '/'). + * @param host optional hostname (to match against routes with vhost). + * @return the route public interface object if found, otherwise null. + */ + match(method: HTTP_METHODS, path: string, host?: string): RoutePublicInterface | null; + /** + * Registers a server method. Server methods are functions registered with the server and used throughout the application as a common utility. Their advantage is in the ability to configure them to use the built-in cache and share across multiple request handlers without having to create a common module. + * [See docs](https://hapijs.com/api/16.1.1#servermethodname-method-options) + * @param name a unique method name used to invoke the method via server.methods[name]. Supports using nested names such as utils.users.get which will automatically create the missing path under server.methods and can be accessed for the previous example via server.methods.utils.users.get. When configured with caching enabled, server.methods[name].cache will be an object see ServerMethodNameCacheObject + * @param method the method function + * @param options optional configuration + */ + method(name: string, method: ServerMethod, options?: ServerMethodOptions): void; + /** + * Registers a server method function as described in server.method() using a configuration object + * [See docs](https://hapijs.com/api/16.1.1#servermethodmethods) + */ + method(methods: ServerMethodConfigurationObject[]): void; + method(methods: ServerMethodConfigurationObject): void; + /** + * Subscribe a handler to an event + * [See docs](https://hapijs.com/api/16.1.1#serveroncriteria-listener) + * @param criteria the subscription criteria which can be an event name string which can be any of the built-in server events or a custom application event registered with server.event(events). + * Or an see ServerEventCriteria. + * If 'start' - emitted when the server is started using server.start(). + * If 'stop' - emitted when the server is stopped using server.stop(). + * @param listener + */ + on(criteria: 'start' | 'stop' | string | ServerEventCriteria, listener: Function): void; + /** + * The 'log' event includes the event object and a tags object (where each tag is a key with the value true) + * [See docs](https://hapijs.com/api/16.1.1#server-events) + */ + on(criteria: 'log', listener: (event: ServerEventObject, tags: Podium.Tags) => void): void; + /** + * The 'request' and 'request-internal' events include the request object, the event object, and a tags object (where each tag is a key with the value true) + * [See docs](https://hapijs.com/api/16.1.1#server-events) + * TODO submit issue to TypeScript. Using 'request' | 'request-internal' removes the type + * interference when using code like: `server.on('request', (request, event, tags) => {...}` + * Same for 'response' | 'tail'. + */ + on(criteria: 'request', listener: (request: Request, event: ServerEventObject, tags: Podium.Tags) => void): void; + on(criteria: 'request-internal', listener: (request: Request, event: ServerEventObject, tags: Podium.Tags) => void): void; + /** + * The 'request-error' event includes the request object and the causing error err object + * [See docs](https://hapijs.com/api/16.1.1#server-events) + */ + on(criteria: 'request-error', listener: (request: Request, err: Error) => void): void; + /** + * The 'response' and 'tail' events include the request object + * [See docs](https://hapijs.com/api/16.1.1#server-events) + * See 'request' and 'request-internal' + */ + on(criteria: 'response', listener: (request: Request) => void): void; + on(criteria: 'tail', listener: (request: Request) => void): void; + /** + * The 'route' event includes the route public interface, the connection, and the server object used to add the route (e.g. the result of a plugin select operation) + * [See docs](https://hapijs.com/api/16.1.1#server-events) + */ + on(criteria: 'route', listener: (route: RoutePublicInterface, connection: ServerConnection, server: Server) => void): void; + /** + * Same as calling server.on() with the count option set to 1. + * TODO type this to copy the server.on specific types for 'route', 'tail', etc. + * [See docs](https://hapijs.com/api/16.1.1#serveroncecriteria-listener) + * @param criteria + * @param listener + */ + once(criteria: string | ServerEventCriteria, listener: Function): void; + /** + * Sets the path prefix used to locate static resources (files and view templates) when relative paths are used + * Note that setting a path within a plugin only applies to resources accessed by plugin methods. If no path is set, the connection files.relativeTo configuration is used. The path only applies to routes added after it has been set. + * [See docs](https://hapijs.com/api/16.1.1#serverpathrelativeto) + * @param relativeTo the path prefix added to any relative file path starting with '.'. + */ + path(relativeTo: string): void; + /** + * Registers a plugin + * If no callback is provided, a Promise object is returned. + * Note that plugin registration are recorded on each of the available connections. When plugins express a dependency on other plugins, both have to be loaded into the same connections for the dependency requirement to be fulfilled. It is recommended that plugin registration happen after all the server connections are created via server.connection(). + * [See docs](https://hapijs.com/api/16.1.1#serverregisterplugins-options-callback) + * @param plugins + * @param options + * @param callback with signature function(err) where err an error returned from the registration function. Note that exceptions thrown by the registration function are not handled by the framework. + * A note on typings: Common use case is register(Plugin, (err) => {// do more stuff}), so these typings + * save passing empty `options` object or having to explicity type the Error in the Callback e.g.: + * register(Plugin, {}, (err) => {// do more stuff}) or + * register(Plugin, (err: Error) => {// do more stuff}) + */ + register(plugins: (PluginFunction | PluginRegistrationObject)[], callback: (err: Error) => void): void; + register(plugins: (PluginFunction | PluginRegistrationObject)[]): Promise; + register(plugins: PluginFunction | PluginRegistrationObject, callback: (err: Error) => void): void; + register(plugins: PluginFunction | PluginRegistrationObject): Promise; + register(plugins: (PluginFunction | PluginRegistrationObject)[], options: PluginRegistrationOptions, callback: (err: Error) => void): void; + register(plugins: (PluginFunction | PluginRegistrationObject)[], options: PluginRegistrationOptions): Promise; + register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions, callback: (err: Error) => void): void; + register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions): Promise; + /** + * Adds a connection route + * [See docs](https://hapijs.com/api/16.1.1#serverrouteoptions) + * @param options a route configuration object [See docs](https://hapijs.com/api/16.1.1#route-configuration) or an array of configuration objects. + */ + route(options: RouteConfiguration[]): void; + route(options: RouteConfiguration): void; + /** + * Selects a subset of the server's connections + * Returns a server object with connections set to the requested subset. Selecting again on a selection operates as a logic AND statement between the individual selections. + * [See docs](https://hapijs.com/api/16.1.1#serverselectlabels) + * @param labels a single string or array of strings of labels used as a logical OR statement to select all the connections with matching labels in their configuration. + */ + select(labels: string | string[]): Server; + /** + * Starts the server connections by listening for incoming requests on the configured port of each listener (unless the connection was configured with autoListen set to false) + * If no callback is provided, a Promise object is returned. + * Note that if the method fails and the callback includes an error, the server is considered to be in an undefined state and should be shut down. In most cases it would be impossible to fully recover as the various plugins, caches, and other event listeners will get confused by repeated attempts to start the server or make assumptions about the healthy state of the environment. It is recommended to assert that no error has been returned after calling start() to abort the process when the server fails to start properly. If you must try to resume after a start error, call server.stop() first to reset the server state. + * If a started server is started again, the second call to start() will only start new connections added after the initial start() was called. No events will be emitted and no extension points invoked. + * [See docs](https://hapijs.com/api/16.1.1#serverstartcallback) + * @param callback the callback method when server startup is completed or failed with the signature function(err) where: + * * err - any startup error condition. + */ + start(callback: (err?: Error) => void): void; + start(): Promise; + /** + * HTTP state management [See docs](https://tools.ietf.org/html/rfc6265) uses client cookies to persist a state across multiple requests. Registers a cookie definitions + * [See docs](https://hapijs.com/api/16.1.1#serverstatename-options) + * @param name the cookie name string. + * @param options optional cookie settings + */ + state(name: string, options?: ServerStateCookieConfiguationObject): void; + /** + * Stops the server's connections by refusing to accept any new connections or requests (existing connections will continue until closed or timeout) + * If no callback is provided, a Promise object is returned. + * [See docs](https://hapijs.com/api/16.1.1#serverstopoptions-callback) + * @param options options object with: + * * timeout - overrides the timeout in millisecond before forcefully terminating a connection. Defaults to 5000 (5 seconds). + * @param callback optional callback method which is called once all the connections have ended and it is safe to exit the process with signature function(err) where: + * * err - any termination error condition. + */ + stop(options: {timeout: number} | null, callback: (err?: Error) => void): void; + stop(options?: {timeout: number}): Promise; + /** + * Returns a copy of the routing table + * Note that if the server has not been started and multiple connections use port 0, the table items will override each other and will produce an incomplete result. + * When calling connection.table() directly on each connection, the return value is the same as the array table item value of an individual connection + * [See docs](https://hapijs.com/api/16.1.1#servertablehost) + * @param host optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. + */ + table(host?: string): RoutingTableEntry[]; } -/** server.realm http://hapijs.com/api#serverrealm - The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), - the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). - Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. - The server.realm object should be considered read-only and must not be changed directly except for the plugins property can be directly manipulated by the plugins (each setting its own under plugins[name]). - exports.register = function (server, options, next) { -console.log(server.realm.modifiers.route.prefix); -return next(); -}; +/** + * Server Options + * Note that the options object is deeply cloned and cannot contain any values that are unsafe to perform deep copy on. + * [See docs](https://hapijs.com/api/16.1.1#new-serveroptions) */ -export interface IServerRealm { - /** when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method */ - modifiers: { - /** routes preferences: */ - route: { - /** - the route path prefix used by any calls to server.route() from the server. */ - prefix: string; - /** the route virtual host settings used by any calls to server.route() from the server. */ - vhost: string; - }; - }; - /** the active plugin name (empty string if at the server root). */ - plugin: string; - /** plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. */ - plugins: IDictionary; - /** settings overrides */ - settings: { - files: { - relativeTo: any; - }; - bind: any; - }; -} -/** server.state(name, [options]) http://hapijs.com/api#serverstatename-options - HTTP state management uses client cookies to persist a state across multiple requests. Registers a cookie definitions where:*/ -export interface IServerState { - /** - the cookie name string. */ - name: string; - - /** - are the optional cookie settings: */ - options: { - /** - time - to - live in milliseconds.Defaults to null (session time- life - cookies are deleted when the browser is closed).*/ - ttl: number; - /** - sets the 'Secure' flag.Defaults to false.*/ - isSecure: boolean; - /** - sets the 'HttpOnly' flag.Defaults to false.*/ - isHttpOnly: boolean - /** - the path scope.Defaults to null (no path).*/ - path: any; - /** - the domain scope.Defaults to null (no domain). */ - domain: any; - /** if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value. The value can be a function with signature function(request, next) where: - request - the request object. - next - the continuation function using the function(err, value) signature.*/ - autoValue(request: Request, next: (err: any, value: any) => void): void; - /** - encoding performs on the provided value before serialization. Options are: - 'none' - no encoding. When used, the cookie value must be a string. This is the default value. - 'base64' - string value is encoded using Base64. - 'base64json' - object value is JSON-stringified than encoded using Base64. - 'form' - object value is encoded using the x-www-form-urlencoded method. - 'iron' - Encrypts and sign the value using iron.*/ - encoding: string; - /** - an object used to calculate an HMAC for cookie integrity validation.This does not provide privacy, only a mean to verify that the cookie value was generated by the server.Redundant when 'iron' encoding is used.Options are:*/ - sign: { - /** - algorithm options.Defaults to require('iron').defaults.integrity.*/ - integrity: any; - /** - password used for HMAC key generation.*/ - password: string; - }; - /** - password used for 'iron' encoding.*/ - password: string; - /** - options for 'iron' encoding.Defaults to require('iron').defaults.*/ - iron: any; - /** - if false, errors are ignored and treated as missing cookies.*/ - ignoreErrors: boolean; - /** - if true, automatically instruct the client to remove invalid cookies.Defaults to false.*/ - clearInvalid: boolean; - /** - if false, allows any cookie value including values in violation of RFC 6265. Defaults to true.*/ - strictHeader: boolean; - /** - overrides the default proxy localStatePassThrough setting.*/ - passThrough: any; - }; +export interface ServerOptions { + /** app - application-specific configuration which can later be accessed via server.settings.app. Note the difference between server.settings.app which is used to store static configuration values and server.app which is meant for storing run-time state. Defaults to {}. */ + app?: any; + /** + * cache - sets up server-side caching. Every server includes a default cache for storing application state. By default, a simple memory-based cache is created which has limited capacity and capabilities. hapi uses catbox for its cache which includes support for common storage solutions (e.g. Redis, MongoDB, Memcached, Riak, among others). Caching is only utilized if methods and plugins explicitly store their state in the cache. The server cache configuration only defines the storage container itself. cache can be assigned: + * * a prototype function (usually obtained by calling require() on a catbox strategy such as require('catbox-redis')). A new catbox client will be created internally using this function. + * * a CatboxServerOptionsCacheConfiguration configuration object + * * an array of the above object for configuring multiple cache instances, each with a unique name. When an array of objects is provided, multiple cache connections are established and each array item (except one) must include a name. + */ + cache?: Catbox.EnginePrototype | CatboxServerOptionsCacheConfiguration | CatboxServerOptionsCacheConfiguration[]; + /** sets the default connections configuration which can be overridden by each connection */ + connections?: ConnectionConfigurationServerDefaults; + /** determines which logged events are sent to the console (this should only be used for development and does not affect which events are actually logged internally and recorded). Set to false to disable all console logging, or to an object with: */ + debug?: false | { + /** a string array of server log tags to be displayed via console.error() when the events are logged via server.log() as well as internally generated server logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error. */ + log?: string[] | false; + /** a string array of request log tags to be displayed via console.error() when the events are logged via request.log() as well as internally generated request logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error. */ + request?: string[] | false; + }; + /** process load monitoring */ + load?: { + /** the frequency of sampling in milliseconds. Defaults to 0 (no sampling). */ + sampleInterval?: number; + }; + /** options passed to the mimos module (https://github.com/hapijs/mimos) when generating the mime database used by the server and accessed via server.mime. */ + mime?: MimosOptions; + /** plugin-specific configuration which can later be accessed via server.settings.plugins. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between server.settings.plugins which is used to store static configuration values and server.plugins which is meant for storing run-time state. Defaults to {}. */ + plugins?: Object; + /** if false, will not use node domains to protect against exceptions thrown in handlers and other external code. Defaults to true. */ + useDomains?: boolean; } -export interface IFileHandlerConfig { - /** a path string or function as described above.*/ - path: string; - /** an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path*/ - filename?: string; - /**- specifies whether to include the 'Content-Disposition' header with the response. Available values: - false - header is not included. This is the default value. - 'attachment' - 'inline'*/ - mode?: boolean | string; - /** if true, looks for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false.*/ - lookupCompressed: boolean; +/** + * The server event object + * [See docs](https://hapijs.com/api/16.1.1#server-events) + */ +export interface ServerEventObject { + /** the event timestamp. */ + timestamp: number; + /** if the event relates to a request, the request id. */ + request: string; + /** if the event relates to a server, the server.info.uri. */ + server: string; + /** an array of tags (e.g. ['error', 'http']). */ + tags: string[]; + /** optional event-specific information. */ + data: any; + /** true if the event was generated internally by the framework. */ + internal: boolean; } -/**http://hapijs.com/api#route-handler - Built-in handlers - - The framework comes with a few built-in handler types available by setting the route handler config to an object containing one of these keys.*/ -export interface IRouteHandlerConfig { - /** generates a static file endpoint for serving a single file. file can be set to: - a relative or absolute file path string (relative paths are resolved based on the route files configuration). - a function with the signature function(request) which returns the relative or absolute file path. - an object with the following options */ - file?: string | IRequestHandler | IFileHandlerConfig; - /** directory - generates a directory endpoint for serving static content from a directory. Routes using the directory handler must include a path parameter at the end of the path string (e.g. /path/to/somewhere/{param} where the parameter name does not matter). The path parameter can use any of the parameter options (e.g. {param} for one level files only, {param?} for one level files or the directory root, {param*} for any level, or {param*3} for a specific level). If additional path parameters are present, they are ignored for the purpose of selecting the file system resource. The directory handler is an object with the following options: - path - (required) the directory root path (relative paths are resolved based on the route files configuration). Value can be: - a single path string used as the prefix for any resources requested by appending the request path parameter to the provided string. - an array of path strings. Each path will be attempted in order until a match is found (by following the same process as the single path string). - a function with the signature function(request) which returns the path string or an array of path strings. If the function returns an error, the error is passed back to the client in the response. - index - optional boolean|string|string[], determines if an index file will be served if found in the folder when requesting a directory. The given string or strings specify the name(s) of the index file to look for. If true, looks for 'index.html'. Any falsy value disables index file lookup. Defaults to true. - listing - optional boolean, determines if directory listing is generated when a directory is requested without an index document. Defaults to false. - showHidden - optional boolean, determines if hidden files will be shown and served. Defaults to false. - redirectToSlash - optional boolean, determines if requests for a directory without a trailing slash are redirected to the same path with the missing slash. Useful for ensuring relative links inside the response are resolved correctly. Disabled when the server config router.stripTrailingSlash is true.Defaults to false. - lookupCompressed - optional boolean, instructs the file processor to look for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false. - defaultExtension - optional string, appended to file requests if the requested file is not found. Defaults to no extension.*/ - directory?: { - path: string | string[] | IRequestHandler | IRequestHandler; - index?: boolean | string | string[]; - listing?: boolean; - showHidden?: boolean; - redirectToSlash?: boolean; - lookupCompressed?: boolean; - defaultExtension?: string; - }; - proxy?: IProxyHandlerConfig; - view?: string | { - template: string; - context: { - payload: any; - params: any; - query: any; - pre: any; - } - }; - config?: { - handler: any; - bind: any; - app: any; - plugins: { - [name: string]: any; - }; - pre: Array<() => void>; - validate: { - headers: any; - params: any; - query: any; - payload: any; - errorFields?: any; - failAction?: string | IFailAction; - }; - payload: { - output: { - data: any; - stream: any; - file: any; - }; - parse?: any; - allow?: string | string[]; - override?: string; - maxBytes?: number; - uploads?: number; - failAction?: string; - }; - response: { - schema: any; - sample: number; - failAction: string; - }; - cache: { - privacy: string; - expiresIn: number; - expiresAt: number; - }; - auth: string | boolean | { - mode: string; - strategies: string[]; - payload?: boolean | string; - tos?: boolean | string; - scope?: string | string[]; - entity: string; - }; - cors?: boolean; - jsonp?: string; - description?: string; - notes?: string | string[]; - tags?: string[]; - }; -} -/** Route configuration - The route configuration object*/ -export interface IRouteConfiguration { - /** - (required) the absolute path used to match incoming requests (must begin with '/'). Incoming requests are compared to the configured paths based on the connection router configuration option.The path can include named parameters enclosed in {} which will be matched against literal values in the request as described in Path parameters.*/ - path: string; - /** - (required) the HTTP method.Typically one of 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', or 'OPTIONS'.Any HTTP method is allowed, except for 'HEAD'.Use '*' to match against any HTTP method (only when an exact match was not found, and any match with a specific method will be given a higher priority over a wildcard match). - * Can be assigned an array of methods which has the same result as adding the same route with different methods manually.*/ - method: string | string[]; - /** - an optional domain string or an array of domain strings for limiting the route to only requests with a matching host header field.Matching is done against the hostname part of the header only (excluding the port).Defaults to all hosts.*/ - vhost?: string; - /** - (required) the function called to generate the response after successful authentication and validation.The handler function is described in Route handler.If set to a string, the value is parsed the same way a prerequisite server method string shortcut is processed.Alternatively, handler can be assigned an object with a single key using the name of a registered handler type and value with the options passed to the registered handler.*/ - handler?: ISessionHandler | IStrictSessionHandler | string | IRouteHandlerConfig; - /** - additional route options.*/ - config?: IRouteAdditionalConfigurationOptions; -} -/** Route public interface When route information is returned or made available as a property. http://hapijs.com/api#route-public-interface */ -export interface IRoute { - /** the route HTTP method. */ - method: string; - /** the route path. */ - path: string; - /** the route vhost option if configured. */ - vhost?: string | string[]; - /** the [active realm] associated with the route.*/ - realm: IServerRealm; - /** the [route options] object with all defaults applied. */ - settings: IRouteAdditionalConfigurationOptions; +/** + * [See docs](https://hapijs.com/api/16.1.1#serveroncriteria-listener) + */ +export interface ServerEventCriteria { + /** the event name string (required). */ + name: string; + /** if true, the listener method receives an additional callback argument which must be called when the method completes. No other event will be emitted until the callback methods is called. The method signature is function(). If block is set to a positive integer, the value is used to set a timeout after which any pending events will be emitted, ignoring the eventual call to callback. Defaults to false (non blocking). */ + block?: boolean; + /** a string or array of strings specifying the event channels to subscribe to. If the event registration specified a list of allowed channels, the channels array must match the allowed channels. If channels are specified, event updates without any channel designation will not be included in the subscription. Defaults to no channels filter. */ + channels?: string | string[]; + /** if true, the data object passed to server.emit() is cloned before it is passed to the listener method. Defaults to the event registration option (which defaults to false). */ + clone?: boolean; + /** a positive integer indicating the number of times the listener can be called after which the subscription is automatically removed. A count of 1 is the same as calling server.once(). Defaults to no limit. */ + count?: number; + /** + * the event tags (if present) to subscribe to + * If the object is given: + * * tags - a tag string or array of tag strings. + * * all - if true, all tags must be present for the event update to match the subscription. Defaults to false (at least one matching tag). + */ + filter?: string | string[] | {tags: string | string[], all?: boolean}; + /** if true, and the data object passed to server.emit() is an array, the listener method is called with each array element passed as a separate argument. This should only be used when the emitted data structure is known and predictable. Defaults to the event registration option (which defaults to false). */ + spread?: boolean; + /** if true and the criteria object passed to server.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). Defaults to the event registration option (which defaults to false). */ + tags?: boolean; } -export interface IServerAuthScheme { - /** authenticate(request, reply) - required function called on each incoming request configured with the authentication scheme where: - request - the request object. - reply - the reply interface the authentication method must call when done authenticating the request where: - reply(err, response, result) - is called if authentication failed where: - err - any authentication error. - response - any authentication response action such as redirection. Ignored if err is present, otherwise required. - result - an object containing: - credentials - the authenticated credentials. - artifacts - optional authentication artifacts. - reply.continue(result) - is called if authentication succeeded where: - result - same object as result above. - When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted if configured for the route. - .If the err returned by the reply() method includes a message, no additional strategies will be attempted. - If the err does not include a message but does include a scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in order of preference. - var server = new Hapi.Server(); - server.connection({ port: 80 }); - var scheme = function (server, options) { - return { - authenticate: function (request, reply) { - var req = request.raw.req; - var authorization = req.headers.authorization; - if (!authorization) { - return reply(Boom.unauthorized(null, 'Custom')); - } - return reply(null, { credentials: { user: 'john' } }); - } - }; - }; - server.auth.scheme('custom', scheme);*/ - authenticate(request: Request, reply: IReply): void; - authenticate(request: Request, reply: IStrictReply): void; - /** payload(request, reply) - optional function called to authenticate the request payload where: - request - the request object. - reply(err, response) - is called if authentication failed where: - err - any authentication error. - response - any authentication response action such as redirection. Ignored if err is present, otherwise required. - reply.continue() - is called if payload authentication succeeded. - When the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'.*/ - payload?(request: Request, reply: IReply): void; - payload?(request: Request, reply: IStrictReply): void; - /** response(request, reply) - optional function called to decorate the response with authentication headers before the response headers or payload is written where: - request - the request object. - reply(err, response) - is called if an error occurred where: - err - any authentication error. - response - any authentication response to send instead of the current response. Ignored if err is present, otherwise required. - reply.continue() - is called if the operation succeeded.*/ - response?(request: Request, reply: IReply): void; - response?(request: Request, reply: IStrictReply): void; - /** an optional object */ - options?: { - /** if true, requires payload validation as part of the scheme and forbids routes from disabling payload auth validation. Defaults to false.*/ - payload: boolean; - }; +/** + * Server methods, user configured + * Related to [See docs](https://hapijs.com/api/16.1.1#servermethods) + * Related to [See docs](https://hapijs.com/api/16.1.1#servermethodname-method-options) + */ +export interface ServerMethod { + /** Not possible to improve this typing due to this unresolvable issue: https://github.com/Microsoft/TypeScript/issues/15190 */ + (...args: (any | ServerMethodNext)[]): void; + /** the method must return a value (result, Error, or a promise) or throw an Error. */ + (...args: any[]): any | Error | Promise; + /** When configured with caching enabled, server.methods[name].cache will be an object see ServerMethodNameCacheObject */ + cache?: ServerMethodNameCacheObject; } -/**the response object where: - statusCode - the HTTP status code. - headers - an object containing the headers set. - payload - the response payload string. - rawPayload - the raw response payload buffer. - raw - an object with the injection request and response objects: - req - the simulated node request object. - res - the simulated node response object. - result - the raw handler response (e.g. when not a stream or a view) before it is serialized for transmission. If not available, the value is set to payload. Useful for inspection and reuse of the internal objects returned (instead of parsing the response string). - request - the request object.*/ -export interface IServerInjectResponse { - statusCode: number; - headers: IDictionary; - payload: string; - rawPayload: Buffer; - raw: { - req: http.IncomingMessage; - res: http.ServerResponse - }; - result: any; - request: Request; +/** + * Related to [See docs](https://hapijs.com/api/16.1.1#servermethodname-method-options) + * @param err error response if the method failed. + * @param result the return value. + * @param ttl 0 if result is valid but cannot be cached. Defaults to cache policy. + */ +export interface ServerMethodNext { + (err: Error | null, result: any, ttl?: number): void; } -export interface IServerInject { - (options: string | IServerInjectOptions, callback: (res: IServerInjectResponse) => void): void; - (options: string | IServerInjectOptions): Promise; +/** For context [See docs](https://hapijs.com/api/16.1.1#servermethodname-method-options) */ +export interface ServerMethodNameCacheObject { + /** + * function that can be used to clear the cache for a given key. + * @param ...args any number of string, number or boolean. If other types then generateKey function must be specified. + * @param callback last argument is a callback. + * Not possible to improve this typing due to this unresolvable issue: https://github.com/Microsoft/TypeScript/issues/15190 + */ + drop(...args: (any | Function)[]): void; + /** an object with cache statistics, see stats documentation for catbox. */ + stats: Catbox.CacheStatisticsObject; } -export interface IServerInjectOptions { - /** the request HTTP method (e.g. 'POST'). Defaults to 'GET'.*/ - method: string; - /** the request URL. If the URI includes an authority (e.g. 'example.com:8080'), it is used to automatically set an HTTP 'Host' header, unless one was specified in headers.*/ - url: string; - /** an object with optional request headers where each key is the header name and the value is the header content. Defaults to no additions to the default Shot headers.*/ - headers?: IDictionary; - /** n optional string, buffer or object containing the request payload. In case of an object it will be converted to a string for you. Defaults to no payload. Note that payload processing defaults to 'application/json' if no 'Content-Type' header provided.*/ - payload?: string | {} | Buffer; - /** an optional credentials object containing authentication information. The credentials are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Defaults to no credentials.*/ - credentials?: any; - /** an optional artifacts object containing authentication artifact information. The artifacts are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Ignored if set without credentials. Defaults to no artifacts.*/ - artifacts?: any; - /** sets the initial value of request.app*/ - app?: any; - /** sets the initial value of request.plugins*/ - plugins?: any; - /** allows access to routes with config.isInternal set to true. Defaults to false.*/ - allowInternals?: boolean; - /** sets the remote address for the incoming connection.*/ - remoteAddress?: boolean; - /**object with options used to simulate client request stream conditions for testing: - error - if true, emits an 'error' event after payload transmission (if any). Defaults to false. - close - if true, emits a 'close' event after payload transmission (if any). Defaults to false. - end - if false, does not end the stream. Defaults to true.*/ - simulate?: { - error: boolean; - close: boolean; - end: boolean; - }; +/** For context [See docs](https://hapijs.com/api/16.1.1#servermethodname-method-options) */ +export interface ServerMethodOptions { + /** a context object passed back to the method function (via this) when called. Defaults to active context (set via server.bind() when the method is registered. Ignored if the method is an arrow function. */ + bind?: any; + /** the same cache configuration used in server.cache(). The generateTimeout option is required. */ + cache?: CatboxServerCacheConfiguration; + /** + * if false, expects the method to be a synchronous function. Note that using a synchronous function with caching will convert the method interface to require a callback as an additional argument with the signature function(err, result, cached, report) since the cache interface cannot return values synchronously. Defaults to true. + * TODO: understand and type "an additional argument with the signature function(err, result, cached, report)" if appropriate. + */ + callback?: boolean; + /** a function used to generate a unique key (for caching) from the arguments passed to the method function (the callback argument is not passed as input). The server will automatically generate a unique key if the function's arguments are all of types 'string', 'number', or 'boolean'. However if the method uses other types of arguments, a key generation function must be provided which takes the same arguments as the function and returns a unique string (or null if no key can be generated). */ + generateKey?(args: any[]): string | null; } -/** host - optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. - The return value is an array where each item is an object containing: - info - the connection.info the connection the table was generated for. - labels - the connection labels. - table - an array of routes where each route contains: - settings - the route config with defaults applied. - method - the HTTP method in lower case. - path - the route path.*/ -export interface IConnectionTable { - info: any; - labels: any; - table: IRoute[]; +/** For context [See docs](https://hapijs.com/api/16.1.1#servermethodmethods) */ +export interface ServerMethodConfigurationObject { + name: string; + method: ServerMethod; + options: ServerMethodOptions; } -export interface ICookieSettings { - /** - time - to - live in milliseconds.Defaults to null (session time- life - cookies are deleted when the browser is closed).*/ - ttl?: number; - /** - sets the 'Secure' flag.Defaults to false.*/ - isSecure?: boolean; - /** - sets the 'HttpOnly' flag.Defaults to false.*/ - isHttpOnly?: boolean; - /** - the path scope.Defaults to null (no path).*/ - path?: string; - /** - the domain scope.Defaults to null (no domain).*/ - domain?: any; - /** - if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value.The value can be a function with signature function(request, next) where: - request - the request object. - next - the continuation function using the function(err, value) signature.*/ - autoValue?(request: Request, next: (err: any, value: any) => void): void; - /** - encoding performs on the provided value before serialization.Options are: - 'none' - no encoding.When used, the cookie value must be a string.This is the default value. - 'base64' - string value is encoded using Base64. - 'base64json' - object value is JSON- stringified than encoded using Base64. - 'form' - object value is encoded using the x- www - form - urlencoded method. */ - encoding?: string; - /** - an object used to calculate an HMAC for cookie integrity validation.This does not provide privacy, only a mean to verify that the cookie value was generated by the server.Redundant when 'iron' encoding is used.Options are: - integrity - algorithm options.Defaults to require('iron').defaults.integrity. - password - password used for HMAC key generation. */ - sign?: { integrity: any; password: string; }; - password?: string; - iron?: any; - ignoreErrors?: boolean; - clearInvalid?: boolean; - strictHeader?: boolean; - passThrough?: any; +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Caching with Catbox + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * TODO confirm this is the same as CatboxServerCacheConfiguration + * + * ** + * Server instantiation options configuration for Catbox cache + * TODO: check it extends Catbox.PolicyOptions and this is what "other options passed to the catbox strategy used." means. + * For context [See docs](https://hapijs.com/api/16.1.1#new-serveroptions) under: options > cache > a configuration object + * ** + * export interface CatboxServerOptionsCacheConfiguration extends Catbox.IPolicyOptions { + * // a prototype function or catbox engine object. + * engine: Catbox.EnginePrototypeOrObject; + * // an identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisioned as well. + * name?: string; + * // if true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. + * shared?: boolean; + * } + */ +type CatboxServerOptionsCacheConfiguration = CatboxServerCacheConfiguration; + +/** + * Server cache method configuration for Catbox cache + * Used for "Provisions a cache segment within the server cache facility" + * For context [See docs](https://hapijs.com/api/16.1.1#servercacheoptions) + * Also used in [See docs](https://hapijs.com/api/16.1.1#servermethodname-method-options) > options.cache + */ +export interface CatboxServerCacheConfiguration extends Catbox.PolicyOptions { + /** the cache name configured in server.cache. Defaults to the default cache. */ + cache?: string; + /** string segment name, used to isolate cached items within the cache partition. When called within a plugin, defaults to '!name' where 'name' is the plugin name. When called within a server method, defaults to '#name' where 'name' is the server method name. Required when called outside of a plugin. */ + segment?: string; + /** if true, allows multiple cache provisions to share the same segment. Default to false. */ + shared?: boolean; + /** + * a prototype function or catbox engine object. + * [See docs](https://hapijs.com/api/16.1.1#servercacheprovisionoptions-callback) example code includes use of `engine` option. But server.cache.provision of `options` says "same as the server cache configuration options.". + * TODO confirm once PR to hapi docs accepted / rejected. + */ + engine?: Catbox.EnginePrototypeOrObject; + /** + * an identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisioned as well. + * [See docs](https://hapijs.com/api/16.1.1#servercacheprovisionoptions-callback) example code includes use of `name` option. But server.cache.provision of `options` says "same as the server cache configuration options.". + */ + name?: string; } -/** method - the method function with the signature is one of: - function(arg1, arg2, ..., argn, next) where: - arg1, arg2, etc. - the method function arguments. - next - the function called when the method is done with the signature function(err, result, ttl) where: - err - error response if the method failed. - result - the return value. - ttl - 0 if result is valid but cannot be cached. Defaults to cache policy. - function(arg1, arg2, ..., argn) where: - arg1, arg2, etc. - the method function arguments. - the callback option is set to false. - the method must returns a value (result, Error, or a promise) or throw an Error.*/ -export interface IServerMethod { - // (): void; - // (next: (err: any, result: any, ttl: number) => void): void; - // (arg1: any): void; - // (arg1: any, arg2: any, next: (err: any, result: any, ttl: number) => void): void; - // (arg1: any, arg2: any): void; - (...args: any[]): void; -} -/** options - optional configuration: - bind - a context object passed back to the method function (via this) when called. Defaults to active context (set via server.bind() when the method is registered. - cache - the same cache configuration used in server.cache(). - callback - if false, expects the method to be a synchronous function. Note that using a synchronous function with caching will convert the method interface to require a callback as an additional argument with the signature function(err, result, cached, report) since the cache interface cannot return values synchronously. Defaults to true. - generateKey - a function used to generate a unique key (for caching) from the arguments passed to the method function (the callback argument is not passed as input). The server will automatically generate a unique key if the function's arguments are all of types 'string', 'number', or 'boolean'. However if the method uses other types of arguments, a key generation function must be provided which takes the same arguments as the function and returns a unique string (or null if no key can be generated).*/ -export interface IServerMethodOptions { - bind?: any; - cache?: ICatBoxCachePolicyOptions; - callback?: boolean; - generateKey?(args: any[]): string; -} -/** Request object - - The request object is created internally for each incoming request. It is different from the node.js request object received from the HTTP server callback (which is available in request.raw.req). The request object methods and properties change throughout the request lifecycle. - Request events - - The request object supports the following events: - - 'peek' - emitted for each chunk of payload data read from the client connection. The event method signature is function(chunk, encoding). - 'finish' - emitted when the request payload finished reading. The event method signature is function (). - 'disconnect' - emitted when a request errors or aborts unexpectedly. - var Crypto = require('crypto'); - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - - server.ext('onRequest', function (request, reply) { - -var hash = Crypto.createHash('sha1'); -request.on('peek', function (chunk) { - -hash.update(chunk); -}); - -request.once('finish', function () { - -console.log(hash.digest('hex')); -}); - -request.once('disconnect', function () { - -console.error('request aborted'); -}); - -return reply.continue(); -});*/ -export class Request extends Events.EventEmitter { - /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name].*/ - app: any; - /** authentication information*/ - auth: { - /** true is the request has been successfully authenticated, otherwise false.*/ - isAuthenticated: boolean; - /** the credential object received during the authentication process. The presence of an object does not mean successful authentication. can be set in the validate function's callback.*/ - credentials: any; - /** an artifact object received from the authentication strategy and used in authentication-related actions.*/ - artifacts: any; - /** the route authentication mode.*/ - mode: any; - /** the authentication error is failed and mode set to 'try'.*/ - error: any; - }; - /** the connection used by this request*/ - connection: ServerConnection; - /** the node domain object used to protect against exceptions thrown in extensions, handlers and route prerequisites. Can be used to manually bind callback functions otherwise bound to other domains.*/ - domain: any; - /** the raw request headers (references request.raw.headers).*/ - headers: IDictionary; - /** a unique request identifier (using the format '{now}:{connection.info.id}:{5 digits counter}').*/ - id: string; - /** request information */ - info: { - /** the request preferred encoding. */ - acceptEncoding: string; - /** if CORS is enabled for the route, contains the following: */ - cors: { - isOriginMatch: boolean; /** true if the request 'Origin' header matches the configured CORS restrictions. Set to false if no 'Origin' header is found or if it does not match. Note that this is only available after the 'onRequest' extension point as CORS is configured per-route and no routing decisions are made at that point in the request lifecycle. */ - }; - /** content of the HTTP 'Host' header (e.g. 'example.com:8080'). */ - host: string; - /** the hostname part of the 'Host' header (e.g. 'example.com').*/ - hostname: string; - /** request reception timestamp. */ - received: number; - /** content of the HTTP 'Referrer' (or 'Referer') header. */ - referrer: string; - /** remote client IP address. */ - remoteAddress: string; - /** remote client port. */ - remotePort: number; - /** request response timestamp (0 is not responded yet). */ - responded: number; - }; - /** the request method in lower case (e.g. 'get', 'post'). */ - method: string; - /** the parsed content-type header. Only available when payload parsing enabled and no payload error occurred. */ - mime: string; - /** an object containing the values of params, query, and payload before any validation modifications made. Only set when input validation is performed.*/ - orig: { - params: any; - query: any; - payload: any; - }; - /** an object where each key is a path parameter name with matching value as described in Path parameters.*/ - params: IDictionary; - /** an array containing all the path params values in the order they appeared in the path.*/ - paramsArray: string[]; - /** the request URI's path component. */ - path: string; - /** the request payload based on the route payload.output and payload.parse settings.*/ - payload: stream.Readable | Buffer | any; - /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state.*/ - plugins: any; - /** an object where each key is the name assigned by a route prerequisites function. The values are the raw values provided to the continuation function as argument. For the wrapped response object, use responses.*/ - pre: IDictionary; - /** the response object when set. The object can be modified but must not be assigned another object. To replace the response with another from within an extension point, use reply(response) to override with a different response. Contains null when no response has been set (e.g. when a request terminates prematurely when the client disconnects).*/ - response: Response; - /**preResponses - same as pre but represented as the response object created by the pre method.*/ - preResponses: any; - /**an object containing the query parameters.*/ - query: any; - /** an object containing the Node HTTP server objects. Direct interaction with these raw objects is not recommended.*/ - raw: { - req: http.IncomingMessage; - res: http.ServerResponse; - }; - /** the route public interface.*/ - route: IRoute; - /** the server object. */ - server: Server; - /** an object containing parsed HTTP state information (cookies) where each key is the cookie name and value is the matching cookie content after processing using any registered cookie definition. */ - state: any; - /** complex object contining details on the url */ - url: { - /** null when i tested */ - auth: any; - /** null when i tested */ - hash: any; - /** null when i tested */ - host: any; - /** null when i tested */ - hostname: any; - href: string; - path: string; - /** path without search*/ - pathname: string; - /** null when i tested */ - port: any; - /** null when i tested */ - protocol: any; - /** querystring parameters*/ - query: IDictionary; - /** querystring parameters as a string*/ - search: string; - /** null when i tested */ - slashes: any; - }; - - /** request.setUrl(url) - - Available only in 'onRequest' extension methods. - - Changes the request URI before the router begins processing the request where: - - url - the new request path value. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - - server.ext('onRequest', function (request, reply) { - - // Change all requests to '/test' - request.setUrl('/test'); - return reply.continue(); - });*/ - setUrl(url: string | url.Url): void; - /** request.setMethod(method) - - Available only in 'onRequest' extension methods. - - Changes the request method before the router begins processing the request where: - - method - is the request HTTP method (e.g. 'GET'). - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - - server.ext('onRequest', function (request, reply) { - - // Change all requests to 'GET' - request.setMethod('GET'); - return reply.continue(); - });*/ - setMethod(method: string): void; - - /** request.log(tags, [data, [timestamp]]) - - Always available. - - Logs request-specific events. When called, the server emits a 'request' event which can be used by other listeners or plugins. The arguments are: - - data - an optional message string or object with the application data being logged. - timestamp - an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). - Any logs generated by the server internally will be emitted only on the 'request-internal' channel and will include the event.internal flag set to true. - - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - - server.on('request', function (request, event, tags) { - - if (tags.error) { - console.log(event); - } - }); - - var handler = function (request, reply) { - - request.log(['test', 'error'], 'Test event'); - return reply(); - }; - */ - log(/** a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events.*/ - tags: string | string[], - /** an optional message string or object with the application data being logged.*/ - data?: any, - /** an optional timestamp expressed in milliseconds. Defaults to Date.now() (now).*/ - timestamp?: number): void; - - /** request.getLog([tags], [internal]) - - Always available. - - Returns an array containing the events matching any of the tags specified (logical OR) - request.getLog(); - request.getLog('error'); - request.getLog(['error', 'auth']); - request.getLog(['error'], true); - request.getLog(false);*/ - - getLog(/** is a single tag string or array of tag strings. If no tags specified, returns all events.*/ - tags?: string, - /** filters the events to only those with a matching event.internal value. If true, only internal logs are included. If false, only user event are included. Defaults to all events (undefined).*/ - internal?: boolean): string[]; - - /** request.tail([name]) - - Available until immediately after the 'response' event is emitted. - - Adds a request tail which has to complete before the request lifecycle is complete where: - - name - an optional tail name used for logging purposes. - Returns a tail function which must be called when the tail activity is completed. - - Tails are actions performed throughout the request lifecycle, but which may end after a response is sent back to the client. For example, a request may trigger a database update which should not delay sending back a response. However, it is still desirable to associate the activity with the request when logging it (or an error associated with it). - - When all tails completed, the server emits a 'tail' event. - - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - - var get = function (request, reply) { - - var dbTail = request.tail('write to database'); - - db.save('key', 'value', function () { - - dbTail(); - }); - - return reply('Success!'); - }; - - server.route({ method: 'GET', path: '/', handler: get }); - - server.on('tail', function (request) { - - console.log('Request completed including db activity'); - });*/ - tail(/** an optional tail name used for logging purposes.*/ - name?: string): Function; -} -/** Response events - - The response object supports the following events: - - 'peek' - emitted for each chunk of data written back to the client connection. The event method signature is function(chunk, encoding). - 'finish' - emitted when the response finished writing but before the client response connection is ended. The event method signature is function (). - var Crypto = require('crypto'); - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - - server.ext('onPreResponse', function (request, reply) { - -var response = request.response; -if (response.isBoom) { -return reply(); +/** + * Additional notes + * payload - In case of an object it will be converted to a string for you. Defaults to no payload. Note that payload processing defaults to 'application/json' if no 'Content-Type' header provided. + * [See docs](https://hapijs.com/api/16.1.1#serverinjectoptions-callback) + */ +export interface InjectedRequestOptions extends Shot.RequestOptions { + /** an optional credentials object containing authentication information. The credentials are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Defaults to no credentials. */ + credentials?: any; + /** an optional artifacts object containing authentication artifact information. The artifacts are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Ignored if set without credentials. Defaults to no artifacts. */ + artifacts?: any; + /** sets the initial value of request.app. */ + app?: any; + /** sets the initial value of request.plugins. */ + plugins?: PluginsStates; + /** allows access to routes with config.isInternal set to true. Defaults to false. */ + allowInternals?: boolean; } -var hash = Crypto.createHash('sha1'); -response.on('peek', function (chunk) { - -hash.update(chunk); -}); - -response.once('finish', function () { - -console.log(hash.digest('hex')); -}); - -return reply.continue(); -});*/ -export class Response extends Events.EventEmitter { - isBoom: boolean; - /** the HTTP response status code. Defaults to 200 (except for errors).*/ - statusCode: number; - /** an object containing the response headers where each key is a header field name. Note that this is an incomplete list of headers to be included with the response. Additional headers will be added once the response is prepare for transmission.*/ - headers: IDictionary; - /** the value provided using the reply interface.*/ - source: any; - /** a string indicating the type of source with available values: - 'plain' - a plain response such as string, number, null, or simple object (e.g. not a Stream, Buffer, or view). - 'buffer' - a Buffer. - 'view' - a view generated with reply.view(). - 'file' - a file generated with reply.file() of via the directory handler. - 'stream' - a Stream. - 'promise' - a Promise object. */ - variety: string; - /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name].*/ - app: any; - /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state. */ - plugins: any; - /** settings - response handling flags: - charset - the 'Content-Type' HTTP header 'charset' property. Defaults to 'utf-8'. - encoding - the string encoding scheme used to serial data into the HTTP payload when source is a string or marshals into a string. Defaults to 'utf8'. - passThrough - if true and source is a Stream, copies the statusCode and headers of the stream to the outbound response. Defaults to true. - stringify - options used for source value requiring stringification. Defaults to no replacer and no space padding. - ttl - if set, overrides the route cache expiration milliseconds value set in the route config. Defaults to no override. - varyEtag - if true, a suffix will be automatically added to the 'ETag' header at transmission time (separated by a '-' character) when the HTTP 'Vary' header is present.*/ - settings: { - charset: string; - encoding: string; - passThrough: boolean; - stringify: any; - ttl: number; - varyEtag: boolean; - }; - - /** sets the HTTP 'Content-Length' header (to avoid chunked transfer encoding) where: - length - the header value. Must match the actual payload size.*/ - bytes(length: number): Response; - - /** sets the 'Content-Type' HTTP header 'charset' property where: charset - the charset property value.*/ - charset(charset: string): Response; - - /** sets the HTTP status code where: - statusCode - the HTTP status code.*/ - code(statusCode: number): Response; - - /** sets the HTTP status code to Created (201) and the HTTP 'Location' header where: uri - an absolute or relative URI used as the 'Location' header value.*/ - created(uri: string): Response; - - /** encoding(encoding) - sets the string encoding scheme used to serial data into the HTTP payload where: encoding - the encoding property value (see node Buffer encoding).*/ - encoding(encoding: string): Response; - - /** etag(tag, options) - sets the representation entity tag where: - tag - the entity tag string without the double-quote. - options - optional settings where: - weak - if true, the tag will be prefixed with the 'W/' weak signifier. Weak tags will fail to match identical tags for the purpose of determining 304 response status. Defaults to false. - vary - if true and content encoding is set or applied to the response (e.g 'gzip' or 'deflate'), the encoding name will be automatically added to the tag at transmission time (separated by a '-' character). Ignored when weak is true. Defaults to true.*/ - etag(tag: string, options: { - weak: boolean; vary: boolean; - }): Response; - - /**header(name, value, options) - sets an HTTP header where: - name - the header name. - value - the header value. - options - optional settings where: - append - if true, the value is appended to any existing header value using separator. Defaults to false. - separator - string used as separator when appending to an exiting value. Defaults to ','. - override - if false, the header value is not set if an existing value present. Defaults to true.*/ - header(name: string, value: string, options?: IHeaderOptions): Response; - - /** hold() - puts the response on hold until response.send() is called. Available only after reply() is called and until response.hold() is invoked once. */ - hold(): Response; - - /** location(uri) - sets the HTTP 'Location' header where: - uri - an absolute or relative URI used as the 'Location' header value.*/ - location(uri: string): Response; - - /** redirect(uri) - sets an HTTP redirection response (302) and decorates the response with additional methods listed below, where: - uri - an absolute or relative URI used to redirect the client to another resource. */ - redirect(uri: string): Response; - - /** replacer(method) - sets the JSON.stringify() replacer argument where: - method - the replacer function or array. Defaults to none.*/ - replacer(method: Function | Function[]): Response; - - /** spaces(count) - sets the JSON.stringify() space argument where: - count - the number of spaces to indent nested object keys. Defaults to no indentation. */ - spaces(count: number): Response; - - /**state(name, value, [options]) - sets an HTTP cookie where: - name - the cookie name. - value - the cookie value. If no encoding is defined, must be a string. - options - optional configuration. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others).*/ - state(name: string, value: string, options?: any): Response; - - /** send() - resume the response which will be transmitted in the next tick. Available only after response.hold() is called and until response.send() is invoked once. */ - send(): void; - - /** sets a string suffix when the response is process via JSON.stringify().*/ - suffix(suffix: string): void; - - /** overrides the default route cache expiration rule for this response instance where: - msec - the time-to-live value in milliseconds.*/ - ttl(msec: number): void; - - /** type(mimeType) - sets the HTTP 'Content-Type' header where: - mimeType - is the mime type. Should only be used to override the built-in default for each response type. */ - type(mimeType: string): Response; - - /** clears the HTTP cookie by setting an expired value where: - name - the cookie name. - options - optional configuration for expiring cookie. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others).*/ - unstate(name: string, options?: { [key: string]: string }): Response; - - /** adds the provided header to the list of inputs affected the response generation via the HTTP 'Vary' header where: - header - the HTTP request header name.*/ - vary(header: string): void; +/** + * the response object from server.inject + * [See docs](https://hapijs.com/api/16.1.1#serverinjectoptions-callback) + */ +export interface InjectedResponseObject extends Shot.ResponseObject { + /** the raw handler response (e.g. when not a stream or a view) before it is serialized for transmission. If not available, the value is set to payload. Useful for inspection and reuse of the internal objects returned (instead of parsing the response string). */ + result: Shot.ResponseObject | string; + /** the request object. */ + request: InjectedRequestOptions; } -/** When using the redirect() method, the response object provides these additional methods */ -export class ResponseRedirect extends Response { - /** sets the status code to 302 or 307 (based on the rewritable() setting) where: - isTemporary - if false, sets status to permanent. Defaults to true.*/ - temporary(isTemporary: boolean): void; - /** sets the status code to 301 or 308 (based on the rewritable() setting) where: - isPermanent - if true, sets status to temporary. Defaults to false. */ - permanent(isPermanent: boolean): void; - - /** sets the status code to 301/302 for rewritable (allows changing the request method from 'POST' to 'GET') or 307/308 for non-rewritable (does not allow changing the request method from 'POST' to 'GET'). Exact code based on the temporary() or permanent() setting. Arguments: - isRewritable - if false, sets to non-rewritable. Defaults to true. - Permanent Temporary - Rewritable 301 302(1) - Non-rewritable 308(2) 307 - Notes: 1. Default value. 2. Proposed code, not supported by all clients. */ - rewritable(isRewritable: boolean): void; +/** + * For context [See docs](https://hapijs.com/api/16.1.1#new-serveroptions) under: options > connections + */ +export interface ConnectionConfigurationServerDefaults { + /** application-specific connection configuration which can be accessed via connection.settings.app. Provides a safe place to store application configuration without potential conflicts with the framework internals. Should not be used to configure plugins which should use plugins[name]. Note the difference between connection.settings.app which is used to store configuration values and connection.app which is meant for storing run-time state. */ + app?: any; + /** if false, response content encoding is disabled. Defaults to true */ + compression?: boolean; + /** connection load limits configuration where: */ + load?: { + /** maximum V8 heap size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxHeapUsedBytes: number; + /** maximum process RSS size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxRssBytes: number; + /** maximum event loop delay duration in milliseconds over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxEventLoopDelay: number; + }; + /** plugin-specific configuration which can later be accessed via connection.settings.plugins. Provides a place to store and pass connection-specific plugin configuration. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between connection.settings.plugins which is used to store configuration values and connection.plugins which is meant for storing run-time state. */ + plugins?: any; + /** controls how incoming request URIs are matched against the routing table: */ + router?: { + /** determines whether the paths '/example' and '/EXAMPLE' are considered different resources. Defaults to true. */ + isCaseSensitive?: boolean; + /** removes trailing slashes on incoming paths. Defaults to false. */ + stripTrailingSlash?: boolean; + }; + /** a route options object used to set the default configuration for every route. */ + routes?: RouteAdditionalConfigurationOptions; + /** sets the default configuration for every state (cookie) set explicitly via server.state() or implicitly (without definition) using the [state configuration object](https://hapijs.com/api/16.1.1#serverstatename-options). */ + state?: ServerStateCookieConfiguationObject; } -/** info about a server connection */ -export interface IServerConnectionInfo { - /** - a unique connection identifier (using the format '{hostname}:{pid}:{now base36}').*/ - id: string; - /** - the connection creation timestamp.*/ - created: number; - /** - the connection start timestamp (0 when stopped).*/ - started: number; - /** the connection port based on the following rules: - the configured port value before the server has been started. - the actual port assigned when no port is configured or set to 0 after the server has been started.*/ - port: number; - /** - the host name the connection was configured to. Defaults to the operating system hostname when available, otherwise 'localhost'.*/ - host: string; - /** - the active IP address the connection was bound to after starting.Set to undefined until the server has been started or when using a non TCP port (e.g. UNIX domain socket).*/ - address: string; - /** - the protocol used: - 'http' - HTTP. - 'https' - HTTPS. - 'socket' - UNIX domain socket or Windows named pipe.*/ - protocol: string; - /** a string representing the connection (e.g. 'http://example.com:8080' or 'socket:/unix/domain/socket/path'). Contains the uri setting if provided, otherwise constructed from the available settings. If no port is available or set to 0, the uri will not include a port component.*/ - uri: string; +/** + * a connection configuration object or array of objects with the following optional keys. + * Any connections configuration server defaults can be included to override and customize the individual connection. + * [See docs](https://hapijs.com/api/16.1.1#serverconnectionoptions) + */ +export interface ServerConnectionOptions extends ConnectionConfigurationServerDefaults { + /** host - the public hostname or IP address. Used only to set server.info.host and server.info.uri. If not configured, defaults to the operating system hostname and if not available, to 'localhost'. */ + host?: string; + /** address - sets the host name or IP address the connection will listen on. If not configured, defaults to host if present, otherwise to all available network interfaces (i.e. '0.0.0.0'). Set to 127.0.0.1 or localhost to restrict connection to only those coming from the same machine. */ + address?: string; + /** port - the TCP port the connection will listen to. Defaults to an ephemeral port (0) which uses an available port when the server is started (and assigned to server.info.port). If port is a string containing a '/' character, it is used as a UNIX domain socket path and if it starts with '\.\pipe' as a Windows named pipe. */ + port?: string | number; + /** uri - the full public URI without the path (e.g. 'http://example.com:8080'). If present, used as the connection info.uri otherwise constructed from the connection settings. */ + uri?: string; + /** listener - optional node.js HTTP (or HTTPS) http.Server object or any compatible object. If the listener needs to be manually started, set autoListen to false. If the listener uses TLS, set tls to true. */ + listener?: http.Server; + /** autoListen - indicates that the connection.listener will be started manually outside the framework. Cannot be specified with a port setting. Defaults to true. */ + autoListen?: boolean; + /** labels - a string or string array of labels used to server.select() specific connections matching the specified labels. Defaults to an empty array [] (no labels). */ + labels?: string | string[]; + /** tls - used to create an HTTPS connection. The tls object is passed unchanged as options to the node.js HTTPS server as described in the node.js HTTPS [documentation](https://nodejs.org/api/https.html#https_https_createserver_options_requestlistener}) . Set to true when passing a listener object that has been configured to use TLS directly. */ + tls?: true | https.RequestOptions; +} + +/** + * For context see RouteAdditionalConfigurationOptions > compression + * For context [See docs](https://hapijs.com/api/16.1.1#serverencoderencoding-encoder) + */ +type CompressionEncoderSettings = any; + +/** + * For context see RouteAdditionalConfigurationOptions > payload > compression + * For context [See docs](https://hapijs.com/api/16.1.1#serverdecoderencoding-decoder) + */ +type CompressionDecoderSettings = any; + +/** + * an optional function called after all the specified dependencies have been registered and before the server starts. The function is only called if the server is initialized or started. If a circular dependency is detected, an exception is thrown (e.g. two plugins each has an after function to be called after the other). The function signature is function(server, next) where: + * [See docs](https://hapijs.com/api/16.1.1#serverdependencydependencies-after) + * Also see Server.dependency + * @param server the server the dependency() method was called on. + * @param next the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: + * * err - internal error condition, which is returned back via the server.initialize() or server.start() callback. + */ +export interface AfterDependencyLoadCallback { + (server: Server, next: (err?: Error) => void): void; +} + +/** For context see RouteAdditionalConfigurationOptions > auth */ +export interface AuthOptions { + /** + * the authentication mode. Defaults to 'required' if a server authentication strategy is configured, otherwise defaults to no authentication. Available values: + * * 'required' - authentication is required. + * * 'optional' - authentication is optional (must be valid if present). + * * 'try' - same as 'optional' but allows for invalid authentication. + */ + mode?: 'required' | 'optional' | 'try'; + /** a string array of strategy names in order they should be attempted. If only one strategy is used, strategy can be used instead with the single string value. Defaults to the default authentication strategy which is available only when a single strategy is configured. */ + strategies?: string[]; + strategy?: string; + /** + * if set, the payload (in requests other than 'GET' and 'HEAD') is authenticated after it is processed. Requires a strategy with payload authentication support (e.g. Hawk). Cannot be set to a value other than 'required' when the scheme sets the options.payload to true. Available values: + * * false - no payload authentication. This is the default value. + * * 'required' - payload authentication required. This is the default value when the scheme sets options.payload to true. + * * 'optional' - payload authentication performed only when the client includes payload authentication information (e.g. hash attribute in Hawk). + */ + payload?: false | 'required' | 'optional'; + /** specifying the route access rules. */ + access?: RouteAuthAccessConfiguationObject | RouteAuthAccessConfiguationObject[]; +} + +/** + * Each rule is evaluated against an incoming request and access is granted if at least one rule matches. Each rule object must include at least one of: + * For context see RouteAdditionalConfigurationOptions > auth > an object > access + */ +export interface RouteAuthAccessConfiguationObject { + /** the application scope required to access the route. Value can be a scope string or an array of scope strings. The authenticated credentials object scope property must contain at least one of the scopes defined to access the route. If a scope string begins with a + character, that scope is required. If a scope string begins with a ! character, that scope is forbidden. For example, the scope ['!a', '+b', 'c', 'd'] means the incoming request credentials' scope must not include 'a', must include 'b', and must include one of 'c' or 'd'. You may also access properties on the request object (query and params) to populate a dynamic scope by using {} characters around the property name, such as 'user-{params.id}'. Defaults to false (no scope requirements). */ + scope?: false | string | string[]; + /** + * the required authenticated entity type. If set, must match the entity value of the authentication credentials. Available values: + * * any - the authentication can be on behalf of a user or application. This is the default value. + * * user - the authentication must be on behalf of a user which is identified by the presence of a user attribute in the credentials object returned by the authentication strategy. + * * app - the authentication must be on behalf of an application which is identified by the lack of presence of a user attribute in the credentials object returned by the authentication strategy. + */ + entity?: 'any' | 'user' | 'app'; +} + +/** + * For context see RouteAdditionalConfigurationOptions > cache + */ +export interface RouteCacheOptions { + /** + * determines the privacy flag included in client-side caching using the 'Cache-Control' header. Values are: + * * 'default' - no privacy flag. This is the default setting. + * * 'public' - mark the response as suitable for public caching. + * * 'private' - mark the response as suitable only for private caching. + */ + privacy?: 'default' | 'public' | 'private'; + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: number; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt?: string; + /** an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive. Defaults to [200]. */ + statuses?: [number]; + /** a string with the value of the 'Cache-Control' header when caching is disabled. Defaults to 'no-cache'. */ + otherwise?: string; +} + +/** + * For context see RouteAdditionalConfigurationOptions > cors + */ +export interface CorsConfigurationObject { + /** a strings array of allowed origin servers ('Access-Control-Allow-Origin'). The array can contain any combination of fully qualified origins along with origin strings containing a wildcard '*' character, or a single '*' origin string. Defaults to any origin ['*']. */ + origin?: string[] | '*'; + /** number of seconds the browser should cache the CORS response ('Access-Control-Max-Age'). The greater the value, the longer it will take before the browser checks for changes in policy. Defaults to 86400 (one day). */ + maxAge?: number; + /** a strings array of allowed headers ('Access-Control-Allow-Headers'). Defaults to ['Accept', 'Authorization', 'Content-Type', 'If-None-Match'] */ + headers?: string[]; + /** a strings array of additional headers to headers. Use this to keep the default headers in place. */ + additionalHeaders?: string[]; + /** a strings array of exposed headers ('Access-Control-Expose-Headers'). Defaults to ['WWW-Authenticate', 'Server-Authorization']. */ + exposedHeaders?: string[]; + /** a strings array of additional headers to exposedHeaders. Use this to keep the default headers in place. */ + additionalExposedHeaders?: string[]; + /** if true, allows user credentials to be sent ('Access-Control-Allow-Credentials'). Defaults to false. */ + credentials?: boolean; +} + +/** + * An object describing the extension function used whilst registering the extension function in one of the available extension points + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) + * For context see RouteAdditionalConfigurationOptions > ext + */ +export interface ServerExtConfigurationObject { + /** the extension point event name. */ + type: ServerExtPoints; + /** + * a function or an array of functions to be executed at a specified point during request processing. The required extension function signature is see ServerExtFunction or see ServerExtRequestHandler + */ + method: ServerExtMethod | ServerExtMethod[]; + options?: ServerExtOptions; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) > events > method + */ +type ServerExtMethod = ServerExtFunction | ServerExtRequestHandler; + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) > events > options + */ +interface ServerExtOptions { + /** before - a string or array of strings of plugin names this method must execute before (on the same event). Otherwise, extension methods are executed in the order added. */ + before: string | string[]; + /** after - a string or array of strings of plugin names this method must execute after (on the same event). Otherwise, extension methods are executed in the order added. */ + after: string | string[]; + /** bind - a context object passed back to the provided method (via this) when called. Ignored if the method is an arrow function. */ + bind: any; + /** sandbox - if set to 'plugin' when adding a request extension points the extension is only added to routes defined by the current plugin. Not allowed when configuring route-level extensions, or when adding server extensions. Defaults to 'connection' which applies to any route added to the connection the extension is added to. */ + sandbox?: 'connection' | 'plugin'; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#request-lifecycle) + * The available extension points include the request extension points as well as the following server extension points: + * * 'onPreStart' - called before the connection listeners are started. + * * 'onPostStart' - called after the connection listeners are started. + * * 'onPreStop' - called before the connection listeners are stopped. + * * 'onPostStop' - called after the connection listeners are stopped. + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) > events > type + */ +export type ServerExtPoints = 'onRequest' | 'onPreResponse' | 'onPreAuth' | 'onPostAuth' | 'onPreHandler' | 'onPostHandler' | 'onPreResponse' | 'onPreStart' | 'onPostStart' | 'onPreStop' | 'onPostStop'; + +/** + * Server extension function registered an one of the server extension points + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) + * For context see ServerExtConfigurationObject + * @param server - the server object. + * @param next - the continuation method with signature function(err). + * @param this - the object provided via options.bind or the current active context set with server.bind(). + */ +export interface ServerExtFunction { + (server: Server, next: ContinuationFunction): void; +} + +/** + * For context see RouteAdditionalConfigurationOptions > payload + */ +export interface RoutePayloadConfigurationObject { + /** + * the type of payload representation requested. The value must be one of: + * * 'data' - the incoming payload is read fully into memory. If parse is true, the payload is parsed (JSON, form-decoded, multipart) based on the 'Content-Type' header. If parse is false, the raw Buffer is returned. This is the default value except when a proxy handler is used. + * * 'stream' - the incoming payload is made available via a Stream.Readable interface. If the payload is 'multipart/form-data' and parse is true, fields values are presented as text while files are provided as streams. File streams from a 'multipart/form-data' upload will also have a property hapi containing filename and headers properties. + * * 'file' - the incoming payload is written to temporary file in the directory specified by the server's payload.uploads settings. If the payload is 'multipart/form-data' and parse is true, fields values are presented as text while files are saved. Note that it is the sole responsibility of the application to clean up the files generated by the framework. This can be done by keeping track of which files are used (e.g. using the request.app object), and listening to the server 'response' event to perform any needed cleanup. + */ + output?: PayLoadOutputOption; + /** + * can be true, false, or gunzip; determines if the incoming payload is processed or presented raw. true and gunzip includes gunzipping when the appropriate 'Content-Encoding' is specified on the received request. If parsing is enabled and the 'Content-Type' is known (for the whole payload as well as parts), the payload is converted into an object when possible. If the format is unknown, a Bad Request (400) error response is sent. Defaults to true, except when a proxy handler is used. The supported mime types are: + * * 'application/json' + * * 'application/x-www-form-urlencoded' + * * 'application/octet-stream' + * * 'text/*' + * * 'multipart/form-data' + */ + parse?: 'gunzip' | boolean; + /** + * overrides payload processing for multipart requests. Value can be one of: + * * false - disables multipart processing. + * * object with the following required options: + * * output - same as the payload.output option with an additional value option: + * * annotated - wraps each multipart part in an object with the following keys: // TODO type this? + * * headers - the part headers. + * * filename - the part file name. + * * payload - the processed part payload. + */ + multipart?: false | { + output: PayLoadOutputOption | 'annotated'; + } + /** a string or an array of strings with the allowed mime types for the endpoint. Defaults to any of the supported mime types listed above. Note that allowing other mime types not listed will not enable them to be parsed, and that if parsing mode is 'parse', the request will result in an error response. */ + allow?: string | string[]; + /** a mime type string overriding the 'Content-Type' header value received. Defaults to no override. */ + override?: string; + /** limits the size of incoming payloads to the specified byte count. Allowing very large payloads may cause the server to run out of memory. Defaults to 1048576 (1MB). */ + maxBytes?: number; + /** payload reception timeout in milliseconds. Sets the maximum time allowed for the client to transmit the request payload (body) before giving up and responding with a Request Timeout (408) error response. Set to false to disable. Defaults to 10000 (10 seconds). */ + timeout?: number; + /** the directory used for writing file uploads. Defaults to os.tmpdir(). */ + uploads?: string; + /** + * determines how to handle payload parsing errors. Allowed values are: + * * 'error' - return a Bad Request (400) error response. This is the default value. + * * 'log' - report the error but continue processing the request. + * * 'ignore' - take no action and continue processing the request. + */ + failAction?: 'error' | 'log' | 'ignore'; + /** the default 'Content-Type' HTTP header value is not present. Defaults to 'application/json'. */ + defaultContentType?: string; + /** an object where each key is a content-encoding name and each value is an object with the desired decoder settings. Note that encoder settings are set in the root option compression. */ + compression: Dictionary; +} + +export type PayLoadOutputOption = 'data' | 'stream' | 'file'; + +/** + * events must be one of: + * * an event name string. + * * an event options object see ApplicationEventOptionsObject + * * a podium [See docs](https://github.com/hapijs/podium) emitter object. + * For context [See docs](https://hapijs.com/api/16.1.1#servereventevents) > events parameter + */ +export type ApplicationEvent = string | ApplicationEventOptionsObject | Podium.Podium; + +/** + * an event options object + * For context see ApplicationEvent + * For context [See docs](https://hapijs.com/api/16.1.1#servereventevents) > events parameter + */ +interface ApplicationEventOptionsObject { + /** the event name string (required). */ + name: string; + /** a string or array of strings specifying the event channels available. Defaults to no channel restrictions (event updates can specify a channel or not). */ + channels?: string | string[]; + /** if true, the data object passed to server.emit() is cloned before it is passed to the listeners (unless an override specified by each listener). Defaults to false (data is passed as-is). */ + clone?: boolean; + /** if true, the data object passed to server.emit() must be an array and the listener method is called with each array element passed as a separate argument (unless an override specified by each listener). This should only be used when the emitted data structure is known and predictable. Defaults to false (data is emitted as a single argument regardless of its type). */ + spread?: boolean; + /** if true and the criteria object passed to server.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). A configuration override can be set by each listener. Defaults to false. */ + tags?: boolean; + /** if true, the same event name can be registered multiple times where the second registration is ignored. Note that if the registration config is changed between registrations, only the first configuration is used. Defaults to false (a duplicate registration will throw an error). */ + shared?: boolean; +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Route + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * Route configuration + * The route configuration object + * + * [See docs](https://hapijs.com/api/16.1.1#route-configuration) + */ +// TODO check that the following refers to RouteAdditionalConfigurationOptions "Note that the options object is deeply cloned (with the exception of bind which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on." +export interface RouteConfiguration { + /** the absolute path used to match incoming requests (must begin with '/'). Incoming requests are compared to the configured paths based on the connection router configuration option. The path can include named parameters enclosed in {} which will be matched against literal values in the request as described in Path parameters. */ + path: string; + /** the HTTP method. Typically one of 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', or 'OPTIONS'. Any HTTP method is allowed, except for 'HEAD'. Use '*' to match against any HTTP method (only when an exact match was not found, and any match with a specific method will be given a higher priority over a wildcard match). Can be assigned an array of methods which has the same result as adding the same route with different methods manually. */ + method: HTTP_METHODS_PARTIAL | '*' | (HTTP_METHODS_PARTIAL | '*')[]; + /** an optional domain string or an array of domain strings for limiting the route to only requests with a matching host header field. Matching is done against the hostname part of the header only (excluding the port). Defaults to all hosts. */ + vhost?: string; + /** the function called to generate the response after successful authentication and validation. The handler function is described in Route handler. If set to a string, the value is parsed the same way a prerequisite server method string shortcut is processed. Alternatively, handler can be assigned an object with a single key using the name of a registered handler type and value with the options passed to the registered handler. */ + handler?: string | RouteHandler | RouteHandlerPlugins; + /** additional route options. The config value can be an object or a function that returns an object using the signature function(server) where server is the server the route is being added to and this is bound to the current realm's bind option. */ + config?: RouteAdditionalConfigurationOptions | ((server: Server) => RouteAdditionalConfigurationOptions); +} + +/** + * Route options + * Each route can be customize to change the default behavior of the request lifecycle using the following options: + * [See docs](https://hapijs.com/api/16.1.1#route-options) + */ +export interface RouteAdditionalConfigurationOptions { + /** application specific configuration.Should not be used by plugins which should use plugins[name] instead. */ + app?: any; + /** + * Authentication configuration. Value can be: + * * false to disable authentication if a default strategy is set. + * * a string with the name of an authentication strategy registered with server.auth.strategy(). + * * an object + */ + auth?: false | string | AuthOptions; + /** an object passed back to the provided handler (via this) when called. Ignored if the method is an arrow function. */ + bind?: any; + /** + * Route cache options + * if the route method is 'GET', the route can be configured to include caching directives in the response. The default Cache-Control: no-cache header can be disabled by setting cache to false. Caching can be customized using an object + * TODO check: the default is to have 'Cache-Control: no-cache', but on first reading is a contridiction as you can disabled cache and disabled no-cache by setting RouteCacheOptions to false? + */ + cache?: boolean | RouteCacheOptions; + /** an object where each key is a content-encoding name and each value is an object with the desired encoder settings. Note that decoder settings are set in payload.compression. */ + compression?: Dictionary; + /** the Cross-Origin Resource Sharing protocol allows browsers to make cross-origin API calls. CORS is required by web applications running inside a browser which are loaded from a different domain than the API server. CORS headers are disabled by default (false). To enable, set cors to true, or to an object */ + cors?: boolean | CorsConfigurationObject; + /** defined a route-level request extension points by setting the option to an object with a key for each of the desired extension points ('onRequest' is not allowed), and the value is the same as the [server.ext(events)](https://hapijs.com/api/16.1.1#serverextevents) event argument. */ + ext?: Dictionary; + /** defines the behavior for accessing files: */ + files?: { + /** determines the folder relative paths are resolved against. */ + relativeTo: string; + }; + /** an alternative location for the route.handler option. */ + handler?: string | RouteHandler; + /** an optional unique identifier used to look up the route using server.lookup(). Cannot be assigned to routes with an array of methods. */ + id?: string; + /** if true, the route cannot be accessed through the HTTP connection but only through the server.inject() interface with the allowInternals option set to true. Used for internal routes that should not be accessible to the outside world. Defaults to false. */ + isInternal?: boolean; + /** optional arguments passed to JSON.stringify() when converting an object or error response to a string payload. Supports the following: */ + json?: Json.StringifyArguments & { + /** string suffix added after conversion to JSON string. Defaults to no suffix. */ + suffix?: string; + }; + /** enables JSONP support by setting the value to the query parameter name containing the function name used to wrap the response payload. For example, if the value is 'callback', a request comes in with 'callback=me', and the JSON response is '{ "a":"b" }', the payload will be 'me({ "a":"b" });'. Does not work with stream responses. Headers content-type and x-content-type-options are set to text/javascript and nosniff respectively, and will override those headers even if explicitly set by response.type() */ + jsonp?: string; + /** if true, request level logging is enabled (accessible via request.getLog()). */ + log?: boolean; + /** + * determines how the request payload is processed + * [See docs](https://hapijs.com/api/16.1.1#route-options) + */ + payload?: RoutePayloadConfigurationObject; + /** plugin-specific configuration. plugins is an object where each key is a plugin name and the value is the plugin configuration. */ + plugins?: Object; + /** an array with [route prerequisites](https://hapijs.com/api/16.1.1#route-prerequisites) methods which are executed in serial or in parallel before the handler is called. */ + pre?: RoutePrerequisitesArray; + /** processing rules for the outgoing response */ + response?: RouteResponseConfigurationObject; + /** sets common security headers (disabled by default). To enable set security to true or to an object with the following options: See RouteSecurityConfigurationObject */ + security?: boolean | RouteSecurityConfigurationObject; + /** HTTP state management (cookies) allows the server to store information on the client which is sent back to the server with every request (as defined in RFC 6265). state supports the following options: */ + state?: { + /** determines if incoming 'Cookie' headers are parsed and stored in the request.state object. Defaults to true. */ + parse?: boolean; + /** + * determines how to handle cookie parsing errors. Allowed values are: + * * 'error' - return a Bad Request (400) error response. This is the default value. + * * 'log' - report the error but continue processing the request. + * * 'ignore' - take no action. + */ + failAction: 'error' | 'log' | 'ignore'; + }; + /** request input validation rules for various request components. When using a Joi validation object, the values of the other inputs (i.e. headers, query, params, payload, and auth) are made available under the validation context (accessible in rules as Joi.ref('$query.key')). Note that validation is performed in order (i.e. headers, params, query, payload) and if type casting is used (converting a string to number), the value of inputs not yet validated will reflect the raw, unvalidated and unmodified values. If the validation rules for headers, params, query, and payload are defined at both the routes defaults level and an individual route, the individual route settings override the routes defaults (the rules are not merged). The validate object supports: */ + validate?: RouteValidationConfigurationObject; + /** define timeouts for processing durations: */ + timeout?: { + /** response timeout in milliseconds. Sets the maximum time allowed for the server to respond to an incoming client request before giving up and responding with a Service Unavailable (503) error response. Disabled by default (false). */ + server?: boolean | number; + /** by default, node sockets automatically timeout after 2 minutes. Use this option to override this behavior. Defaults to undefined which leaves the node default unchanged. Set to false to disable socket timeouts. */ + socket?: boolean | number; + }; + + /** + * TODO decide on moving these to an extended interface of RouteAdditionalConfigurationOptions + */ + /** + * ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + * route description used for generating documentation + */ + description?: string; + /** + * ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + * route notes used for generating documentation + */ + notes?: string | string[]; + /** + * ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + * route tags used for generating documentation + */ + tags?: string[]; +} + +/** + * Route public interface + * When route information is returned or made available as a property, it is an object with the following: + * [See docs](https://hapijs.com/api/16.1.1#route-public-interface) + */ +export interface RoutePublicInterface { + /** the route HTTP method. */ + method: string; + /** the route path. */ + path: string; + /** the route vhost option if configured. */ + vhost?: string | string[]; + /** the [active realm] [See docs](https://hapijs.com/api/16.1.1#serverrealm) associated with the route.*/ + realm: ServerRealm; + /** the [route options] [See docs](https://hapijs.com/api/16.1.1#route-options) object with all defaults applied. */ + settings: RouteAdditionalConfigurationOptions; + /** the route internal normalized string representing the normalized path. */ + fingerprint: string; + /** route authentication utilities: */ + auth: { + /** authenticates the passed request argument against the route's authentication access configuration. Returns true if the request would have passed the route's access requirements. Note that the route's authentication mode and strategies are ignored. The only match is made between the request.auth.credentials scope and entity information and the route access configuration. Also, if the route uses dynamic scopes, the scopes are constructed against the request.query and request.params which may or may not match between the route and the request's route. If this method is called using a request that has not been authenticated (yet or at all), it will return false if the route requires any authentication. */ + access: (request: Request) => boolean; + } +} + +type RouteHandlerConfig = any; + +/** + * For context [See docs](https://hapijs.com/api/16.1.1#serverhandlername-method) + * For source [See docs](https://github.com/hapijs/hapi/blob/v16.1.1/lib/handler.js#L103) + * For source [See docs](https://github.com/hapijs/hapi/blob/v16.1.1/lib/route.js#L56-L60) + * TODO check the type of `RouteHandlerConfig` is correct for `defaults`. + */ +interface MakeRouteHandler { + (route: RoutePublicInterface, options: RouteHandlerConfig): RouteHandler; + defaults?: RouteHandlerConfig | ((method: HTTP_METHODS_PARTIAL_lowercase) => RouteHandlerConfig); +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#servertablehost) > return value + */ +export interface RoutingTableEntry { + /** the connection.info the connection the table was generated for. */ + info: ServerConnectionInfo; + /** the connection labels. */ + labels: string[]; + /** an array of routes where each route contains: */ + table: Route[]; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#servertablehost) > return value + */ +export interface Route { + /** + * the route config with defaults applied. + * TODO check type of RouteConfiguration here is correct + */ + settings: RouteConfiguration; + /** + * the HTTP method in lower case. + * TODO, check if it can contain 'head' or not. + */ + method: HTTP_METHODS_PARTIAL_lowercase; + /** the route path. */ + path: string; +} + +/** + * Route Prerequisites + * It is often necessary to perform prerequisite actions before the handler is called (e.g. load required reference data from a database). The route pre option allows defining such pre-handler methods. The methods are called in order. If the pre array contains another array, those methods are called in parallel. pre can be assigned a mixed array of: + * * arrays containing the elements listed below, which are executed in parallel. + * * objects see RoutePrerequisiteObjects + * * functions - same as including an object with a single method key. + * * strings - special short-hand notation for registered server methods using the format 'name(args)' (e.g. 'user(params.id)') where: + * * 'name' - the method name. The name is also used as the default value of assign. + * * 'args' - the method arguments (excluding next) where each argument is a property of the request object + * [See docs](https://hapijs.com/api/16.1.1#route-prerequisites) + * For context see RouteAdditionalConfigurationOptions > pre + * + * TODO follow up on "server methods" in "special short-hand notation for registered server methods" at https://hapijs.com/api/16.1.1#servermethodname-method-options + * TODO follow up on "request object" in "each argument is a property of the request object" at https://hapijs.com/api/16.1.1#request-object + */ +export type RoutePrerequisitesArray = RoutePrerequisitesPart[] | (RoutePrerequisitesPart[] | RoutePrerequisitesPart)[]; +export type RoutePrerequisitesPart = RoutePrerequisiteObjects | RoutePrerequisiteRequestHandler | string; + +/** + * see RoutePrerequisites > objects + */ +export interface RoutePrerequisiteObjects { + /** the function to call (or short-hand method string as described below [see RoutePrerequisitesArray]). the function signature is identical to a route handler as described in Route handler. */ + method: RoutePrerequisiteRequestHandler | string; + /** key name to assign the result of the function to within request.pre. */ + assign: string; + /* + * determines how to handle errors returned by the method. Allowed values are: + * * 'error' - returns the error response back to the client. This is the default value. + * * 'log' - logs the error but continues processing the request. If assign is used, the error will be assigned. + * * 'ignore' - takes no special action. If assign is used, the error will be assigned. + */ + failAction?: 'error' | 'log' | 'ignore'; +} + +/** + * For context see RouteAdditionalConfigurationOptions > response + */ +export interface RouteResponseConfigurationObject { + /** the default HTTP status code when the payload is empty. Value can be 200 or 204. Note that a 200 status code is converted to a 204 only at the time or response transmission (the response status code will remain 200 throughout the request lifecycle unless manually set). Defaults to 200. */ + emptyStatusCode?: number; + /** + * defines what to do when a response fails payload validation. Options are: + * * 'error' - return an Internal Server Error (500) error response. This is the default value. + * * 'log' - log the error but send the response. + * * a custom error handler function with the signature function(request, reply, source, error) where: + * * 'request' - the request object. + * * 'reply' - the continuation reply interface. + * * 'error' - the error returned from the validation schema. + * TODO update type of source once PR to hapi is concluded. + */ + failAction?: 'error' | 'log' | ((request: Request, reply: ReplyWithContinue, source: string, error: Boom.BoomError) => void); + /** if true, applies the validation rule changes to the response payload. Defaults to false. */ + modify?: boolean; + /** options to pass to Joi. Useful to set global options such as stripUnknown or abortEarly (the complete list is available [here](https://github.com/hapijs/joi/blob/master/API.md#validatevalue-schema-options-callback) ). Defaults to no options. */ + options?: JoiValidationOptions; + /** if false, payload range support is disabled. Defaults to true. */ + ranges?: boolean; + /** the percent of response payloads validated (0 - 100). Set to 0 to disable all validation. Defaults to 100 (all response payloads). */ + sample?: number; + /** the default response payload validation rules (for all non-error responses) */ + schema?: RouteResponseConfigurationScheme; + /** HTTP status-code-specific payload validation rules. The status key is set to an object where each key is a 3 digit HTTP status code and the value has the same definition as schema. If a response status code is not present in the status object, the schema definition is used, except for errors which are not validated by default. */ + status?: Dictionary; +} + +/** + * the default response payload validation rules (for all non-error responses) expressed as one of: + * * true - any payload allowed (no validation performed). This is the default. + * * false - no payload allowed. + * * a Joi validation object. This will receive the request's headers, params, query, payload, and auth credentials and isAuthenticated flags as context. + * * a validation function using the signature function(value, options, next) where: + * * value - the object containing the response object. + * * options - the server validation options, merged with an object containing the request's headers, params, payload, and auth credentials object and isAuthenticated flag. + * * next(err) - the callback function called when validation is completed. + * TODO check JoiValidationObject is correct for "a Joi validation object" + * + * For context see RouteAdditionalConfigurationOptions > response > schema + * and + * For context see RouteAdditionalConfigurationOptions > response > status + */ +export type RouteResponseConfigurationScheme = boolean | JoiValidationObject | ValidationFunctionForRouteReponse; + +/** + * see RouteResponseConfigurationScheme + * + * TODO check `value: Response` is correct as it says "**the object containing** the response object." not just "the response object". + * TODO check `options: JoiValidationOptions` is correct + * Also see ValidationFunctionForRouteValidate + */ +export interface ValidationFunctionForRouteReponse { + (value: Response, options: JoiValidationOptions, next: ContinuationFunction): void; +} + +/** + * For context see RouteAdditionalConfigurationOptions > security + */ +export interface RouteSecurityConfigurationObject { + /** controls the 'Strict-Transport-Security' header. If set to true the header will be set to max-age=15768000, if specified as a number the maxAge parameter will be set to that number. Defaults to true. You may also specify an object with the following fields: */ + hsts?: boolean | number | { + /** the max-age portion of the header, as a number. Default is 15768000. */ + maxAge?: number; + /** a boolean specifying whether to add the includeSubDomains flag to the header. */ + includeSubdomains?: boolean; + /** a boolean specifying whether to add the 'preload' flag (used to submit domains inclusion in Chrome's HTTP Strict Transport Security (HSTS) preload list) to the header. */ + preload?: boolean; + }; + /** controls the 'X-Frame-Options' header. When set to true the header will be set to DENY, you may also specify a string value of 'deny' or 'sameorigin'. Defaults to true. To use the 'allow-from' rule, you must set this to an object with the following fields: */ + xframe?: true | 'deny' | 'sameorigin' | { + /** may also be 'deny' or 'sameorigin' but set directly as a string for xframe */ + rule: 'allow-from'; + /** when rule is 'allow-from' this is used to form the rest of the header, otherwise this field is ignored. If rule is 'allow-from' but source is unset, the rule will be automatically changed to 'sameorigin'. */ + source: string; + }; + /** boolean that controls the 'X-XSS-PROTECTION' header for IE. Defaults to true which sets the header to equal '1; mode=block'. NOTE: This setting can create a security vulnerability in versions of IE below 8, as well as unpatched versions of IE8. See [here](https://hackademix.net/2009/11/21/ies-xss-filter-creates-xss-vulnerabilities/) and [here](https://technet.microsoft.com/library/security/ms10-002) for more information. If you actively support old versions of IE, it may be wise to explicitly set this flag to false. [Kept typing non optional to force this security related documentation to be read.] */ + xss: boolean; + /** boolean controlling the 'X-Download-Options' header for IE, preventing downloads from executing in your context. Defaults to true setting the header to 'noopen'. */ + noOpen?: boolean; + /** boolean controlling the 'X-Content-Type-Options' header. Defaults to true setting the header to its only and default option, 'nosniff' */ + noSniff?: boolean; +} + +/** + * request input validation rules for various request components. When using a Joi validation object, the values of the other inputs (i.e. headers, query, params, payload, and auth) are made available under the validation context (accessible in rules as Joi.ref('$query.key')). Note that validation is performed in order (i.e. headers, params, query, payload) and if type casting is used (converting a string to number), the value of inputs not yet validated will reflect the raw, unvalidated and unmodified values. If the validation rules for headers, params, query, and payload are defined at both the routes defaults level and an individual route, the individual route settings override the routes defaults (the rules are not merged). The validate object supports: + * For context see RouteAdditionalConfigurationOptions > validate + * TODO check JoiValidationObject is correct for "a Joi validation object" + */ +export interface RouteValidationConfigurationObject { + /** + * validation rules for incoming request headers (note that all header field names must be in lowercase to match the headers normalized by node). Values allowed: + * * true - any headers allowed (no validation performed). This is the default. + * * false - no headers allowed (this will cause all valid HTTP requests to fail). + * * a Joi validation object. + * * a validation function using the signature function(value, options, next) where: + * * value - the object containing the request headers. + * * options - the server validation options. + * * next(err, value) - the callback function called when validation is completed. + */ + headers?: boolean | JoiValidationObject | ValidationFunctionForRouteValidate; + /** + * validation rules for incoming request path parameters, after matching the path against the route and extracting any parameters then stored in request.params. Values allowed: + * Same as `headers`, see above. + */ + params?: boolean | JoiValidationObject | ValidationFunctionForRouteValidate; + /** + * validation rules for an incoming request URI query component (the key-value part of the URI between '?' and '#'). The query is parsed into its individual key-value pairs and stored in request.query prior to validation. Values allowed: + * Same as `headers`, see above. + */ + query?: boolean | JoiValidationObject | ValidationFunctionForRouteValidate; + /** + * validation rules for an incoming request payload (request body). Values allowed: + * Same as `headers`, see above, with the addition that: + * * a Joi validation object. Note that empty payloads are represented by a null value. If a validation schema is provided and empty payload are supported, it must be explicitly defined by setting the payload value to a joi schema with null allowed (e.g. Joi.object({ /* keys here * / }).allow(null)). + */ + payload?: boolean | JoiValidationObject | ValidationFunctionForRouteValidate; + /** an optional object with error fields copied into every validation error response. */ + errorFields?: any; + /** + * determines how to handle invalid requests. Allowed values are: + * * 'error' - return a Bad Request (400) error response. This is the default value. + * * 'log' - log the error but continue processing the request. + * * 'ignore' - take no action. + * * a custom error handler function with the signature function(request, reply, source, error) see RouteFailFunction + */ + failAction?: 'error' | 'log' | 'ignore' | RouteFailFunction; + /** options to pass to Joi. Useful to set global options such as stripUnknown or abortEarly (the complete list is [available here](https://github.com/hapijs/joi/blob/master/API.md#validatevalue-schema-options-callback)). Defaults to no options. */ + options?: JoiValidationOptions; +} + +/** + * a validation function using the signature function(value, options, next) where: + * For context see RouteAdditionalConfigurationOptions > validate (IRouteValidationConfigurationObject) + * + * TODO check `value: Response` is correct as it says "**the object containing** the response object." not just "the response object". + * TODO check `options: JoiValidationOptions` is correct + * TODO type of the returned value? + * Also see ValidationFunctionForRouteReponse + * @param value - the object containing the request headers. + * @param options - the server validation options. + * @param next(err, value) - the callback function called when validation is completed. + */ +export interface ValidationFunctionForRouteValidate { + (value: Response, options: JoiValidationOptions, next: ContinuationValueFunction): void; +} + +/** + * a custom error handler function with the signature 'function(request, reply, source, error)` + * @param request - the request object. + * @param reply - the continuation reply interface. + * @param source - the source of the invalid field (e.g. 'headers', 'params', 'query', 'payload'). + * @param error - the error object prepared for the client response (including the validation function error under error.data). + */ +export interface RouteFailFunction { + (request: Request, reply: ReplyWithContinue, source: string, error: any): void; +} + +/** + * optional cookie settings + * [See docs](https://hapijs.com/api/16.1.1#serverstatename-options) + * Related to see ConnectionConfigurationServerDefaults + */ +export interface ServerStateCookieConfiguationObject { + /** time-to-live in milliseconds. Defaults to null (session time-life - cookies are deleted when the browser is closed). */ + ttl?: number | null; + /** sets the 'Secure' flag. Defaults to true. */ + isSecure?: boolean; + /** sets the 'HttpOnly' flag. Defaults to true. */ + isHttpOnly?: boolean + /** + * sets the 'SameSite' flag where the value must be one of: + * * false - no flag. + * * 'Strict' - sets the value to 'Strict' (this is the default value). + * * 'Lax' - sets the value to 'Lax'. + */ + isSameSite?: false | 'Strict' | 'Lax'; + /** the path scope. Defaults to null (no path). */ + path?: string | null; + /** the domain scope. Defaults to null (no domain). */ + domain?: string | null; + /** + * if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value. The value can be a function with signature function(request, next) where: + * * request - the request object. + * * next - the continuation function using the function(err, value) signature. + */ + autoValue?(request: Request, next: ContinuationValueFunction): void; + /** + * encoding performs on the provided value before serialization. Options are: + * * 'none' - no encoding. When used, the cookie value must be a string. This is the default value. + * * 'base64' - string value is encoded using Base64. + * * 'base64json' - object value is JSON-stringified then encoded using Base64. + * * 'form' - object value is encoded using the x-www-form-urlencoded method. + * * 'iron' - Encrypts and sign the value using iron. + */ + encoding?: 'none' | 'base64' | 'base64json' | 'form' | 'iron'; + /** + * an object used to calculate an HMAC for cookie integrity validation. This does not provide privacy, only a mean to verify that the cookie value was generated by the server. Redundant when 'iron' encoding is used. Options are: + * * integrity - algorithm options. Defaults to require('iron').defaults.integrity. + * * password - password used for HMAC key generation (must be at least 32 characters long). + */ + sign?: { + integrity?: any; // TODO make iron definitions and getting typing from iron + password: string; + }; + /** password used for 'iron' encoding (must be at least 32 characters long). */ + password?: string; + /** options for 'iron' encoding. Defaults to require('iron').defaults. */ + iron?: any; // TODO make iron definitions and getting typing from iron + /** if true, errors are ignored and treated as missing cookies. */ + ignoreErrors?: boolean; + /** if true, automatically instruct the client to remove invalid cookies. Defaults to false. */ + clearInvalid?: boolean; + /** if false, allows any cookie value including values in violation of RFC 6265. Defaults to true. */ + strictHeader?: boolean; + /** used by proxy plugins (e.g. h2o2). */ + passThrough?: any; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverconnections) + */ +export interface ServerConnection { + /** settings - the connection configuration object passed to server.connection() after applying the server defaults. */ + settings: ServerConnectionOptions; + /** server - the connection's Server object. */ + server: Server; + /** type - set to 'tcp' is the connection is listening on a TCP port, otherwise to 'socket'(a UNIX domain socket or a Windows named pipe). */ + type: 'tcp' | 'socket'; + /** + * registrations + * Described [See docs](https://hapijs.com/api/16.1.1#serverregistrations) "When the server contains more than one connection, each server.connections array member provides its own connection.registrations." + */ + registrations: ServerRegisteredPlugins; + /** states - TODO contribute docs to hapi if they want, and then update type here */ + states: any; + /** auth - TODO contribute docs to hapi if they want, and then update type here */ + auth: any; + /** + * plugins + * TODO contribute docs to hapi if they want. Assuming similar to `registrations`, `listener`, `info`, etc + */ + plugins: PluginsStates; + /** + * app + * TODO contribute docs to hapi if they want. Assuming similar to `registrations`, `listener`, `info`, etc + */ + app: any; + /** Described in server.listener [See docs](https://hapijs.com/api/16.1.1#serverlistener) */ + listener: ServerListener; + /** Described in server.info [See docs](https://hapijs.com/api/16.1.1#serverinfo) */ + info: ServerConnectionInfo; + /** Described in server.inject [See docs](https://hapijs.com/api/16.1.1#serverinjectoptions-callback) */ + inject(options: string | InjectedRequestOptions, callback: (res: InjectedResponseObject) => void): void; + inject(options: string | InjectedRequestOptions, ): Promise; + /** Described in server.table [See docs](https://hapijs.com/api/16.1.1#servertablehost) */ + table(host?: string): RoutingTableEntry; + /** Described in server.table [See docs](https://hapijs.com/api/16.1.1#serverlookupid) */ + lookup(id: string): RoutePublicInterface | null; + /** Described in server.table [See docs](https://hapijs.com/api/16.1.1#servermatchmethod-path-host) */ + match(method: HTTP_METHODS, path: string, host?: string): RoutePublicInterface | null; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverinfo) + */ +export interface ServerConnectionInfo { + /** a unique connection identifier (using the format '{hostname}:{pid}:{now base36}'). */ + id: string; + /** the connection creation timestamp. */ + created: number; + /** the connection start timestamp (0 when stopped). */ + started: number; + /** + * the connection port based on the following rules: + * * the configured port value before the server has been started. + * * the actual port assigned when no port is configured or set to 0 after the server has been started. + * TODO check this type. What happens when socket is a UNIX domain socket or Windows named pipe? + */ + port: number | string; + /** the host name the connection was configured to. Defaults to the operating system hostname when available, otherwise 'localhost'. */ + host: string; + /** the active IP address the connection was bound to after starting. Set to undefined until the server has been started or when using a non TCP port (e.g. UNIX domain socket). */ + address: undefined | string; + /** the protocol used. 'socket' when UNIX domain socket or Windows named pipe. */ + protocol: 'http' | 'https' | 'socket'; + /** a string representing the connection (e.g. 'http://example.com:8080' or 'socket:/unix/domain/socket/path'). Contains the uri setting if provided, otherwise constructed from the available settings. If no port is available or set to 0, the uri will not include a port component. */ + uri: string; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverlistener) + */ +export type ServerListener = http.Server; + +/** + * server.realm + * The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. + * [See docs](https://hapijs.com/api/16.1.1#serverrealm) + */ +export interface ServerRealm { + /** when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method and includes: */ + modifiers: { + /** routes preferences: */ + route: { + /** the route path prefix used by any calls to server.route() from the server. Note that if a prefix is used and the route path is set to '/', the resulting path will not include the trailing slash. */ + prefix: string; + /** the route virtual host settings used by any calls to server.route() from the server. */ + vhost: string; + } + }; + /** the active plugin name (empty string if at the server root). */ + plugin: string; + /** the plugin options object passed at registration. */ + pluginOptions: any; // OptionsPassedToPlugin; + /** plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. */ + plugins: PluginsStates; + /** settings overrides (from RouteAdditionalConfigurationOptions) */ + settings: { + files: { + relativeTo: string; + }; + bind: any; + } +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverregistrations) + */ +export interface ServerRegisteredPlugins { + [pluginName: string]: ServerRegisteredPlugin; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverregistrations) + */ +export interface ServerRegisteredPlugin { + /** the plugin version. */ + version: string; + /** the plugin name. */ + name: string; + /** + * options used to register the plugin. + * TODO update with outcome of: https://github.com/hapijs/hapi/pull/3479 + */ + options: any; // OptionsPassedToPlugin; + /** plugin registration attributes. */ + attributes: PluginAttributes; +} + +interface ServerAuth { + /** + * server.auth.api + * An object where each key is a strategy name and the value is the exposed strategy API. Available on when the authentication scheme exposes an API by returning an api key in the object returned from its implementation function. + * When the server contains more than one connection, each server.connections array member provides its own connection.auth.api object. + * [See docs](https://hapijs.com/api/16.1.1#serverauthapi) + */ + api: Dictionary; + /** + * server.auth.default + * Sets a default strategy which is applied to every route + * The default does not apply when the route config specifies auth as false, or has an authentication strategy configured (contains the strategy or strategies authentication settings). Otherwise, the route authentication config is applied to the defaults. + * Note that if the route has authentication config, the default only applies at the time of adding the route, not at runtime. This means that calling default() after adding a route with some authentication config will have no impact on the routes added prior. However, the default will apply to routes added before default() is called if those routes lack any authentication config. + * The default auth strategy configuration can be accessed via connection.auth.settings.default. To obtain the active authentication configuration of a route, use connection.auth.lookup(request.route). + * [See docs](https://hapijs.com/api/16.1.1#serverauthdefaultoptions) + */ + default(options: string | AuthOptions): void; + /** + * server.auth.scheme + * Registers an authentication scheme + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) + * @param name the scheme name. + * @param scheme the method implementing the scheme with signature function(server, options) see ServerAuthScheme + */ + scheme(name: string, scheme: ServerAuthScheme): void; + /** + * Registers an authentication strategy + * [See docs](https://hapijs.com/api/16.1.1#serverauthstrategyname-scheme-mode-options) + * @param name the strategy name. + * @param scheme the scheme name (must be previously registered using server.auth.scheme()). + * @param mode if set to true (which is the same as 'required') or to a valid authentication mode ('required', 'optional', 'try'), the scheme is automatically assigned as the default strategy for any route without an auth config. Can only be assigned to a single server strategy. Defaults to false (no default settings). + * @param options scheme options based on the scheme requirements. + */ + strategy(name: string, scheme: string, mode?: boolean | 'required' | 'optional' | 'try', options?: any): void; + /** + * Tests a request against an authentication strategy + * Note that the test() method does not take into account the route authentication configuration. It also does not perform payload authentication. It is limited to the basic strategy authentication execution. It does not include verifying scope, entity, or other route properties. + * [See docs](https://hapijs.com/api/16.1.1#serverauthteststrategy-request-next) + * @param strategy - the strategy name registered with server.auth.strategy(). + * @param request - the request object. + * @param next - the callback function with signature function(err, credentials) where: + * * err - the error if authentication failed. + * * credentials - the authentication credentials object if authentication was successful. + */ + test(strategy: string, request: Request, next: (err: Error | null, credentials: AuthenticatedCredentials) => void): void; +} + +type Strategy = any; +type SchemeSettings = any; + +/** + * the method implementing the scheme with signature function(server, options) where: + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) + * @param server a reference to the server object the scheme is added to. + * @param options optional scheme settings used to instantiate a strategy. + */ +interface ServerAuthScheme { + (server: Server, options: SchemeSettings): SchemeMethodResult; +} + +/** + * The scheme method must return an object with the following + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) + */ +export interface SchemeMethodResult { + /** optional object which is exposed via the server.auth.api object. */ + api?: Strategy; + /** + * required function called on each incoming request configured with the authentication scheme + * When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted (if configured for the route). If the err passed to the reply() method includes a message, no additional strategies will be attempted. If the err does not include a message but does include the scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in the order of preference (defined in the route configuration). If authentication fails the scheme names will be present in the 'WWW-Authenticate' header. + * @param request the request object. + * @param reply the reply interface the authentication method must call when done authenticating the request + */ + authenticate(request: Request, reply: ReplySchemeAuth): void; + /** + * optional function called to authenticate the request payload + * When the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'. + * @param request the request object. + * @param reply is called if authentication failed + */ + payload?(request: Request, reply: ReplySchemeAuthOfPayload): void; + /** + * optional function called to decorate the response with authentication headers before the response headers or payload is written where: + * @param request the request object. + * @param reply is called if an error occured + */ + response?(request: Request, reply: ReplySchemeAuthDecorateResponse): void; + /** an optional object with the following keys: */ + options?: { + /** if true, requires payload validation as part of the scheme and forbids routes from disabling payload auth validation. Defaults to false. */ + payload?: boolean; + }; +} + +interface ServerCacheMethod { + /** + * Provisions a cache segment within the server cache facility + * [See docs](https://hapijs.com/api/16.1.1#servercacheoptions) + */ + (options: CatboxServerCacheConfiguration): Catbox.Policy; + /** + * Provisions a server cache as described in server.cache + * If no callback is provided, a Promise object is returned. + * Note that if the server has been initialized or started, the cache will be automatically started to match the state of any other provisioned server cache. + * [See docs](https://hapijs.com/api/16.1.1#servercacheprovisionoptions-callback) + * @param options same as the server cache configuration options. + * @param callback the callback method when cache provisioning is completed or failed with the signature function(err) where: + * * err - any cache startup error condition. + */ + provision(options: CatboxServerCacheConfiguration): Promise; + provision(options: CatboxServerCacheConfiguration, callback: (err?: Error) => void): void; +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * Request object + * The request object is created internally for each incoming request. It is different from the node.js request object received from the HTTP server callback (which is available in request.raw.req). The request object methods and properties change throughout the request lifecycle. + * [See docs](https://hapijs.com/api/16.1.1#request-object) + * [See docs](https://hapijs.com/api/16.1.1#request-properties) + */ +export class Request extends Podium.Podium { + /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name]. */ + app: any; + /** authentication information */ + auth: { + /** true if the request has been successfully authenticated, otherwise false. */ + isAuthenticated: boolean; + /** the credential object received during the authentication process. The presence of an object does not mean successful authentication. */ + credentials: any; + /** an artifact object received from the authentication strategy and used in authentication-related actions. */ + artifacts: any; + /** the route authentication mode. */ + mode: string; + /** the authentication error is failed and mode set to 'try'. */ + error: Error; + }; + /** the connection the request was received by. */ + connection: ServerConnection; + /** the node domain object used to protect against exceptions thrown in extensions, handlers and route prerequisites. Can be used to manually bind callback functions otherwise bound to other domains. Set to null when the server useDomains options is false. */ + domain: domain.Domain | null; + /** the raw request headers (references request.raw.headers). */ + headers: Dictionary; + /** a unique request identifier (using the format '{now}:{connection.info.id}:{5 digits counter}').*/ + id: string; + /** request information */ + info: { + /** the request preferred encoding. */ + acceptEncoding: string; + /** if CORS is enabled for the route, contains the following: */ + cors: { + /** + * true if the request 'Origin' header matches the configured CORS restrictions. Set to false if no 'Origin' header is found or if it does not match. Note that this is only available after the 'onRequest' extension point as CORS is configured per-route and no routing decisions are made at that point in the request lifecycle. + * Note: marking as optional as "... this is only available after ..." + */ + isOriginMatch?: boolean; + }; + /** content of the HTTP 'Host' header (e.g. 'example.com:8080'). */ + host: string; + /** the hostname part of the 'Host' header (e.g. 'example.com'). */ + hostname: string; + /** request reception timestamp. */ + received: number; + /** content of the HTTP 'Referrer' (or 'Referer') header. */ + referrer: string; + /** remote client IP address. */ + remoteAddress: string; + /** + * remote client port. + * Set to string in casethey're requesting from a UNIX domain socket. + * TODO, what type does Hapi return, should this be number | string? + */ + remotePort: string; + /** request response timestamp (0 is not responded yet). */ + responded: number; + }; + /** the request method in lower case (e.g. 'get', 'post'). */ + method: string; + /** the parsed content-type header. Only available when payload parsing enabled and no payload error occurred. */ + mime: string; + /** an object containing the values of params, query, and payload before any validation modifications made. Only set when input validation is performed. */ + orig: { + params: any; + query: any; + payload: any; + }; + /** an object where each key is a path parameter name with matching value as described in Path parameters [See docs](https://hapijs.com/api/16.1.1#path-parameters). */ + params: Dictionary; + /** an array containing all the path params values in the order they appeared in the path. */ + paramsArray: string[]; + /** the request URI's pathname [See docs](https://nodejs.org/api/url.html#url_urlobject_pathname) component. */ + path: string; + /** + * the request payload based on the route payload.output and payload.parse settings. + * TODO check this typing and add references / links. + */ + payload: stream.Readable | Buffer | any; + /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state. */ + plugins: PluginsStates; + /** an object where each key is the name assigned by a route prerequisites function. The values are the raw values provided to the continuation function as argument. For the wrapped response object, use responses. */ + pre: Object; + /** the response object when set. The object can be modified but must not be assigned another object. To replace the response with another from within an extension point, use reply(response) to override with a different response. Contains null when no response has been set (e.g. when a request terminates prematurely when the client disconnects). */ + response: Response | null; + /** same as pre but represented as the response object created by the pre method. */ + preResponses: Object; + /** + * an object containing the query parameters. + * TODO update with outcome of: https://github.com/hapijs/hapi/pull/3479 + */ + query: Object; + /** an object containing the Node HTTP server objects. **Direct interaction with these raw objects is not recommended.** */ + raw: { + req: http.IncomingMessage; // Or http.ClientRequest http://www.apetuts.com/tutorial/node-js-http-client-request-class/ ? + res: http.ServerResponse; + }; + /** + * the route public interface. + * Optional due to "request.route is not yet populated at this point." [See docs](https://hapijs.com/api/16.1.1#request-lifecycle) + */ + route?: RoutePublicInterface; + /** the server object. */ + server: Server; + /** an object containing parsed HTTP state information (cookies) where each key is the cookie name and value is the matching cookie content after processing using any registered cookie definition. */ + state: Dictionary; + /** the parsed request URI */ + url: url.Url; + + /** + * request.setUrl(url, [stripTrailingSlash]) + * Available only in 'onRequest' extension methods. + * Changes the request URI before the router begins processing the request + * [See docs](https://hapijs.com/api/16.1.1#requestseturlurl-striptrailingslash) + * @param url the new request URI. If url is a string, it is parsed with node's URL parse() method. url can also be set to an object compatible with node's URL parse() method output. + * @param stripTrailingSlash if true, strip the trailing slash from the path. Defaults to false. + */ + setUrl(url: string | url.Url, stripTrailingSlash?: boolean): void; + /** + * request.setMethod(method) + * Available only in 'onRequest' extension methods. + * Changes the request method before the router begins processing the request + * [See docs](https://hapijs.com/api/16.1.1#requestsetmethodmethod) + * @param method is the request HTTP method (e.g. 'GET'). + */ + setMethod(method: HTTP_METHODS): void; + /** + * request.generateResponse(source, [options]) + * Always available. + * Returns a response which you can pass into the reply interface where: + * [See docs](https://hapijs.com/api/16.1.1#requestgenerateresponsesource-options) + * @param source the object to set as the source of the reply interface. TODO, submit a PR to clarify this doc, from the source code it's clear that "the object to set" refers to something of type `ReplyValue` i.e. that can be null, string, number, object, Stream, Promise, or Buffer. + * @param options options for the method, optional. Not documented yet, perhaps not very important. + */ + generateResponse(source?: ReplyValue, options?: {marshal?: any; prepare?: any; close?: any; variety?: any}): Response; + /** + * request.log(tags, [data, [timestamp]]) + * Always available. + * Logs request-specific events. When called, the server emits a 'request' event which can be used by other listeners or plugins. + * Any logs generated by the server internally will be emitted only on the 'request-internal' channel and will include the event.internal flag set to true. + * [See docs](https://hapijs.com/api/16.1.1#requestlogtags-data-timestamp) + * @param tags a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events. + * @param data an optional message string or object with the application data being logged. If data is a function, the function signature is function() and it called once to generate (return value) the actual data emitted to the listeners. + * @param timestamp an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). + */ + log(tags: string | string[], data?: string | Object | (() => string | Object), timestamp?: number): void; + /** + * request.getLog([tags], [internal]) + * Always available. + * Returns an array containing the events matching any of the tags specified (logical OR) + * Note that this methods requires the route log configuration set to true. + * [See docs](https://hapijs.com/api/16.1.1#requestgetlogtags-internal) + * @param tags is a single tag string or array of tag strings. If no tags specified, returns all events. + * @param internal filters the events to only those with a matching event.internal value. If true, only internal logs are included. If false, only user event are included. Defaults to all events (undefined). + */ + getLog(tags?: string | string[], internal?: boolean): string[]; + getLog(internal?: boolean): string[]; + /** + * request.tail([name]) + * Available until immediately after the 'response' event is emitted. + * Adds a request tail which has to complete before the request lifecycle is complete. + * Returns a tail function which must be called when the tail activity is completed. + * Tails are actions performed throughout the request lifecycle, but which may end after a response is sent back to the client. For example, a request may trigger a database update which should not delay sending back a response. However, it is still desirable to associate the activity with the request when logging it (or an error associated with it). + * When all tails completed, the server emits a 'tail' event. + * [See docs](https://hapijs.com/api/16.1.1#requesttailname) + * @param name an optional tail name used for logging purposes. + */ + tail(name?: string): (() => void); + /** + * The server.decorate('request', ...) method can modify this prototype/interface. + * Have disabled these typings as there is a better alternative, see example in: tests/server/decorate.ts + * [And discussion here](https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14517#issuecomment-298891630) + */ + // [index: string]: any; +} + +export type HTTP_METHODS_PARTIAL_lowercase = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'options'; +export type HTTP_METHODS_PARTIAL = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | HTTP_METHODS_PARTIAL_lowercase; +export type HTTP_METHODS = 'HEAD' | 'head' | HTTP_METHODS_PARTIAL; + +/** + * Request events + * The request object supports the following events: + * * 'peek' - emitted for each chunk of payload data read from the client connection. The event method signature is function(chunk, encoding). + * * 'finish' - emitted when the request payload finished reading. The event method signature is function (). + * * 'disconnect' - emitted when a request errors or aborts unexpectedly. + * [See docs](https://hapijs.com/api/16.1.1#request-events) + */ +export type RequestEventTypes = 'peek' | 'finish' | 'disconnect'; + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Handler functions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * Extending RouteConfiguration.handler + * + * The hapi documentation allows for the RouteConfiguration.handler type to have + * `{[pluginName: string]: pluginOptions}` + * "handler can be assigned an object with a single key using the name of a registered handler type and value with the options passed to the registered handler" + * This can be provided by extending the hapi module definition as follows, + * see h2o2 for example: + * + * declare module 'hapi' { + * interface RouteHandlerPlugins { + * proxy?: ... + */ +export interface RouteHandlerPlugins { } /** - * undocumented. The connection object constructed after calling server.connection(); - * can be accessed via server.connections; or request.connection; + * The route handler function uses the signature function(request, reply) (NOTE: do not use a fat arrow style function for route handlers as they do not allow context binding and will cause problems when used in conjunction with server.bind) where: + * * request - is the incoming request object (this is not the node.js request object). + * * reply - the reply interface the handler must call to set a response and return control back to the framework. + * [See docs](https://hapijs.com/api/16.1.1#route-handler) + * Same function signature used by request extension point used in server.ext(event), see ServerExtConfigurationObject.method */ -export class ServerConnection extends Events.EventEmitter { - domain: any; - _events: { route: Function, domain: Function, _events: Function, _eventsCount: Function, _maxListeners: Function }; - _eventsCount: number; - settings: IServerConnectionOptions; - server: Server; - /** ex: "tcp" */ - type: string; - _started: boolean; - /** dictionary of sockets */ - _connections: { [ip_port: string]: any }; - _onConnection: Function; - registrations: any; - _extensions: any; - _requestCounter: { value: number; min: number; max: number }; - _load: any; - states: { - settings: any; cookies: any; names: any[] - }; - auth: { connection: ServerConnection; _schemes: any; _strategies: any; settings: any; api: any; }; - _router: any; - MSPluginsCollection: any; - applicationCache: any; - addEventListener: any; - info: IServerConnectionInfo; +export interface RouteHandler { + (request: Request, reply: ReplyNoContinue): void; + // (request: Request, reply: StrictReply): void; } -export type RequestExtPoints = "onRequest" | "onPreResponse" | "onPreAuth" | "onPostAuth" | "onPreHandler" | "onPostHandler" | "onPreResponse"; -export type ServerExtPoints = "onPreStart" | "onPostStart" | "onPreStop" | "onPostStop"; +/** + * "the function to call, the function signature is identical to a route handler as described in Route handler." + * [See docs](https://hapijs.com/api/16.1.1#route-prerequisites) Route prerequisites + */ +type RoutePrerequisiteRequestHandler = RouteHandler; -/** Server http://hapijs.com/api#server - rver object is the main application container. The server manages all incoming connections along with all the facilities provided by the framework. A server can contain more than one connection (e.g. listen to port 80 and 8080). - Server events - The server object inherits from Events.EventEmitter and emits the following events: - 'log' - events logged with server.log() and server events generated internally by the framework. - 'start' - emitted when the server is started using server.start(). - 'stop' - emitted when the server is stopped using server.stop(). - 'request' - events generated by request.log(). Does not include any internally generated events. - 'request-internal' - request events generated internally by the framework (multiple events per request). - 'request-error' - emitted whenever an Internal Server Error (500) error response is sent. Single event per request. - 'response' - emitted after the response is sent back to the client (or when the client connection closed and no response sent, in which case request.response is null). Single event per request. - 'tail' - emitted when a request finished processing, including any registered tails. Single event per request. - Note that the server object should not be used to emit application events as its internal implementation is designed to fan events out to the various plugin selections and not for application events. - MORE EVENTS HERE: http://hapijs.com/api#server-events*/ -export class Server extends Events.EventEmitter { - constructor(options?: IServerOptions); - - /** Provides a safe place to store server-specific run-time application data without potential conflicts with the framework internals. The data can be accessed whenever the server is accessible. Initialized with an empty object. - var Hapi = require('hapi'); - server = new Hapi.Server(); - server.app.key = 'value'; - var handler = function (request, reply) { - return reply(request.server.app.key); - }; */ - app: any; - /** An array containing the server's connections. When the server object is returned from server.select(), the connections array only includes the connections matching the selection criteria. - var server = new Hapi.Server(); - server.connection({ port: 80, labels: 'a' }); - server.connection({ port: 8080, labels: 'b' }); - // server.connections.length === 2 - var a = server.select('a'); - // a.connections.length === 1*/ - connections: ServerConnection[]; - /** When the server contains exactly one connection, info is an object containing information about the sole connection. - * When the server contains more than one connection, each server.connections array member provides its own connection.info. - var server = new Hapi.Server(); - server.connection({ port: 80 }); - // server.info.port === 80 - server.connection({ port: 8080 }); - // server.info === null - // server.connections[1].info.port === 8080 - */ - info: IServerConnectionInfo; - /** An object containing the process load metrics (when load.sampleInterval is enabled): - rss - RSS memory usage. - var Hapi = require('hapi'); - var server = new Hapi.Server({ load: { sampleInterval: 1000 } }); - console.log(server.load.rss);*/ - load: { - /** - event loop delay milliseconds.*/ - eventLoopDelay: number; - /** - V8 heap usage.*/ - heapUsed: number; - }; - /** When the server contains exactly one connection, listener is the node HTTP server object of the sole connection. - When the server contains more than one connection, each server.connections array member provides its own connection.listener. - var Hapi = require('hapi'); - var SocketIO = require('socket.io'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - var io = SocketIO.listen(server.listener); - io.sockets.on('connection', function(socket) { - socket.emit({ msg: 'welcome' }); - });*/ - listener: http.Server; - - /** server.methods - An object providing access to the server methods where each server method name is an object property. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.method('add', function (a, b, next) { - return next(null, a + b); - }); - server.methods.add(1, 2, function (err, result) { - // result === 3 - });*/ - methods: IDictionary; - - /** server.mime - Provides access to the server MIME database used for setting content-type information. The object must not be modified directly but only through the mime server setting. - var Hapi = require('hapi'); - var options = { - mime: { - override: { - 'node/module': { - source: 'steve', - compressible: false, - extensions: ['node', 'module', 'npm'], - type: 'node/module' - } - } - } - }; - var server = new Hapi.Server(options); - // server.mime.path('code.js').type === 'application/javascript' - // server.mime.path('file.npm').type === 'node/module'*/ - mime: any; - /**server.plugins - An object containing the values exposed by each plugin registered where each key is a plugin name and the values are the exposed properties by each plugin using server.expose(). Plugins may set the value of the server.plugins[name] object directly or via the server.expose() method. - exports.register = function (server, options, next) { - server.expose('key', 'value'); - // server.plugins.example.key === 'value' - return next(); - }; - exports.register.attributes = { - name: 'example' - };*/ - plugins: IDictionary; - /** server.realm - The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. - modifiers - when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method and includes: - route - routes preferences: - prefix - the route path prefix used by any calls to server.route() from the server. - vhost - the route virtual host settings used by any calls to server.route() from the server. - plugin - the active plugin name (empty string if at the server root). - plugins - plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. - settings - settings overrides: - files.relativeTo - bind - The server.realm object should be considered read-only and must not be changed directly except for the plugins property can be directly manipulated by the plugins (each setting its own under plugins[name]). - exports.register = function (server, options, next) { - console.log(server.realm.modifiers.route.prefix); - return next(); - };*/ - realm: IServerRealm; - - /** server.root - The root server object containing all the connections and the root server methods (e.g. start(), stop(), connection()).*/ - root: Server; - /** server.settings - The server configuration object after defaults applied. - var Hapi = require('hapi'); - var server = new Hapi.Server({ - app: { - key: 'value' - } - }); - // server.settings.app === { key: 'value' }*/ - settings: IServerOptions; - - /** server.version - The hapi module version number. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - // server.version === '8.0.0'*/ - version: string; - - /** server.after(method, [dependencies]) - Adds a method to be called after all the plugin dependencies have been registered and before the server starts (only called if the server is started) where: - after - the method with signature function(plugin, next) where: - server - server object the after() method was called on. - next - the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: - err - internal error which is returned back via the server.start() callback. - dependencies - a string or array of string with the plugin names to call this method after their after() methods. There is no requirement for the other plugins to be registered. Setting dependencies only arranges the after methods in the specified order. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.after(function () { - // Perform some pre-start logic - }); - server.start(function (err) { - // After method already executed - }); - server.auth.default(options)*/ - after(method: (plugin: any, next: (err: any) => void) => void, dependencies: string | string[]): void; - - auth: { - /** server.auth.api - An object where each key is a strategy name and the value is the exposed strategy API. Available on when the authentication scheme exposes an API by returning an api key in the object returned from its implementation function. - When the server contains more than one connection, each server.connections array member provides its own connection.auth.api object. - const server = new Hapi.Server(); - server.connection({ port: 80 }); - const scheme = function (server, options) { - return { - api: { - settings: { - x: 5 - } - }, - authenticate: function (request, reply) { - const req = request.raw.req; - const authorization = req.headers.authorization; - if (!authorization) { - return reply(Boom.unauthorized(null, 'Custom')); - } - return reply.continue({ credentials: { user: 'john' } }); - } - }; - }; - server.auth.scheme('custom', scheme); - server.auth.strategy('default', 'custom'); - console.log(server.auth.api.default.settings.x); // 5 - */ - api: { - [index: string]: any; - } - /** server.auth.default(options) - Sets a default strategy which is applied to every route where: - options - a string with the default strategy name or an object with a specified strategy or strategies using the same format as the route auth handler options. - The default does not apply when the route config specifies auth as false, or has an authentication strategy configured. Otherwise, the route authentication config is applied to the defaults. Note that the default only applies at time of route configuration, not at runtime. Calling default() after adding a route will have no impact on routes added prior. - The default auth strategy configuration can be accessed via connection.auth.settings.default. - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.auth.scheme('custom', scheme); - server.auth.strategy('default', 'custom'); - server.auth.default('default'); - server.route({ - method: 'GET', - path: '/', - handler: function (request, reply) { - return reply(request.auth.credentials.user); - } - });*/ - default(options: string): void; - default(options: { strategy: string }): void; - default(options: { strategies: string[] }): void; - /** server.auth.scheme(name, scheme) - Registers an authentication scheme where: - name - the scheme name. - scheme - the method implementing the scheme with signature function(server, options) where: - server - a reference to the server object the scheme is added to. - options - optional scheme settings used to instantiate a strategy.*/ - scheme( - name: string, - /** - * When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted if configured for the route. If the err returned by the reply() method includes a message, no additional strategies will be attempted. If the err does not include a message but does include a scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in order of preference. - * n the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'. - * server = new Hapi.Server(); - * server.connection({ port: 80 }); - * scheme = function (server, options) { - * urn { - * authenticate: function (request, reply) { - * req = request.raw.req; - * var authorization = req.headers.authorization; - * if (!authorization) { - * return reply(Boom.unauthorized(null, 'Custom')); - * } - * urn reply(null, { credentials: { user: 'john' } }); - * } - * }; - * }; - */ - scheme: (server: Server, options: any) => IServerAuthScheme): void; - - /** - * server.auth.strategy(name, scheme, [mode], [options]) - * Registers an authentication strategy where: - * name - the strategy name. - * scheme - the scheme name (must be previously registered using server.auth.scheme()). - * mode - if true, the scheme is automatically assigned as a required strategy to any route without an auth config. Can only be assigned to a single server strategy. Value must be true (which is the same as 'required') or a valid authentication mode ('required', 'optional', 'try'). Defaults to false. - * options - scheme options based on the scheme requirements. - * var server = new Hapi.Server(); - * server.connection({ port: 80 }); - * server.auth.scheme('custom', scheme); - * server.auth.strategy('default', 'custom'); - * server.route({ - * method: 'GET', - * path: '/', - * config: { - * auth: 'default', - * handler: function (request, reply) { - * return reply(request.auth.credentials.user); - * } - * } - * }); - */ - strategy(name: string, scheme: string, mode?: boolean | string, options?: any): void; - strategy(name: string, scheme: string, mode?: boolean | string): void; - strategy(name: string, scheme: string, options?: any): void; - - /** server.auth.test(strategy, request, next) - Tests a request against an authentication strategy where: - strategy - the strategy name registered with server.auth.strategy(). - request - the request object. - next - the callback function with signature function(err, credentials) where: - err - the error if authentication failed. - credentials - the authentication credentials object if authentication was successful. - Note that the test() method does not take into account the route authentication configuration. It also does not perform payload authentication. It is limited to the basic strategy authentication execution. It does not include verifying scope, entity, or other route properties. - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.auth.scheme('custom', scheme); - server.auth.strategy('default', 'custom'); - server.route({ - method: 'GET', - path: '/', - handler: function (request, reply) { - request.server.auth.test('default', request, function (err, credentials) { - if (err) { - return reply({ status: false }); - } - return reply({ status: true, user: credentials.name }); - }); - } - });*/ - test(strategy: string, request: Request, next: (err: any, credentials: any) => void): void; - }; - - /** server.bind(context) - Sets a global context used as the default bind object when adding a route or an extension where: - context - the object used to bind this in handler and extension methods. - When setting context inside a plugin, the context is applied only to methods set up by the plugin. Note that the context applies only to routes and extensions added after it has been set. - var handler = function (request, reply) { - return reply(this.message); - }; - exports.register = function (server, options, next) { - var bind = { - message: 'hello' - }; - server.bind(bind); - server.route({ method: 'GET', path: '/', handler: handler }); - return next(); - };*/ - bind(context: any): void; - - /** server.cache(options) - Provisions a cache segment within the server cache facility where: - options - catbox policy configuration where: - expiresIn - relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. - expiresAt - time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records expire. Uses local time. Cannot be used together with expiresIn. - generateFunc - a function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) where: - id - the id string or object provided to the get() method. - next - the method called when the new item is returned with the signature function(err, value, ttl) where: - err - an error condition. - value - the new value generated. - ttl - the cache ttl value in milliseconds. Set to 0 to skip storing in the cache. Defaults to the cache global policy. - staleIn - number of milliseconds to mark an item stored in cache as stale and attempt to regenerate it when generateFunc is provided. Must be less than expiresIn. - staleTimeout - number of milliseconds to wait before checking if an item is stale. - generateTimeout - number of milliseconds to wait before returning a timeout error when the generateFunc function takes too long to return a value. When the value is eventually returned, it is stored in the cache for future requests. - cache - the cache name configured in 'server.cache`. Defaults to the default cache. - segment - string segment name, used to isolate cached items within the cache partition. When called within a plugin, defaults to '!name' where 'name' is the plugin name. Required when called outside of a plugin. - shared - if true, allows multiple cache provisions to share the same segment. Default to false. - var server = new Hapi.Server(); - server.connection({ port: 80 }); - var cache = server.cache({ segment: 'countries', expiresIn: 60 * 60 * 1000 }); - cache.set('norway', { capital: 'oslo' }, null, function (err) { - cache.get('norway', function (err, value, cached, log) { - // value === { capital: 'oslo' }; - }); - });*/ - cache(options: ICatBoxCachePolicyOptions): void; - - /** server.connection([options]) - Adds an incoming server connection - Returns a server object with the new connection selected. - Must be called before any other server method that modifies connections is called for it to apply to the new connection (e.g. server.state()). - Note that the options object is deeply cloned (with the exception of listener which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - var web = server.connection({ port: 8000, host: 'example.com', labels: ['web'] }); - var admin = server.connection({ port: 8001, host: 'example.com', labels: ['admin'] }); - // server.connections.length === 2 - // web.connections.length === 1 - // admin.connections.length === 1 */ - connection(options: IServerConnectionOptions): Server; - - /** server.decorate(type, property, method, [options]) - Extends various framework interfaces with custom methods where: - type - the interface being decorated. Supported types: - 'reply' - adds methods to the reply interface. - 'server' - adds methods to the Server object. - property - the object decoration key name. - method - the extension function. - options - if the type is 'request', supports the following optional settings: - 'apply' - if true, the method function is invoked using the signature function(request) where request is the current request object and the returned value is assigned as the decoration. - Note that decorations apply to the entire server and all its connections regardless of current selection. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.decorate('reply', 'success', function () { - return this.response({ status: 'ok' }); - }); - server.route({ - method: 'GET', - path: '/', - handler: function (request, reply) { - return reply.success(); - } - });*/ - decorate(type: string, property: string, method: Function, options?: { apply: boolean }): void; - - /** server.dependency(dependencies, [after]) - Used within a plugin to declares a required dependency on other plugins where: - dependencies - a single string or array of plugin name strings which must be registered in order for this plugin to operate. Plugins listed must be registered before the server is started. Does not provide version dependency which should be implemented using npm peer dependencies. - after - an optional function called after all the specified dependencies have been registered and before the server starts. The function is only called if the server is started. If a circular dependency is detected, an exception is thrown (e.g. two plugins each has an after function to be called after the other). The function signature is function(server, next) where: - server - the server the dependency() method was called on. - next - the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: - err - internal error condition, which is returned back via the server.start() callback. - exports.register = function (server, options, next) { - server.dependency('yar', after); - return next(); - }; - var after = function (server, next) { - // Additional plugin registration logic - return next(); - };*/ - dependency(dependencies: string | string[], after?: (server: Server, next: (err: any) => void) => void): void; - - /** server.expose(key, value) - Used within a plugin to expose a property via server.plugins[name] where: - key - the key assigned (server.plugins[name][key]). - value - the value assigned. - exports.register = function (server, options, next) { - server.expose('util', function () { console.log('something'); }); - return next(); - };*/ - expose(key: string, value: any): void; - - /** server.expose(obj) - Merges a deep copy of an object into to the existing content of server.plugins[name] where: - obj - the object merged into the exposed properties container. - exports.register = function (server, options, next) { - server.expose({ util: function () { console.log('something'); } }); - return next(); - };*/ - expose(obj: any): void; - - /** server.ext(event, method, [options]) - Registers an extension function in one of the available extension points where: - event - the event name. - method - a function or an array of functions to be executed at a specified point during request processing. The required extension function signature is function(request, reply) where: - request - the request object. NOTE: Access the Response via request.response - reply - the reply interface which is used to return control back to the framework. To continue normal execution of the request lifecycle, reply.continue() must be called. To abort processing and return a response to the client, call reply(value) where value is an error or any other valid response. - this - the object provided via options.bind or the current active context set with server.bind(). - options - an optional object with the following: - before - a string or array of strings of plugin names this method must execute before (on the same event). Otherwise, extension methods are executed in the order added. - after - a string or array of strings of plugin names this method must execute after (on the same event). Otherwise, extension methods are executed in the order added. - bind - a context object passed back to the provided method (via this) when called. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.ext('onRequest', function (request, reply) { - // Change all requests to '/test' - request.setUrl('/test'); - return reply.continue(); - }); - var handler = function (request, reply) { - return reply({ status: 'ok' }); - }; - server.route({ method: 'GET', path: '/test', handler: handler }); - server.start(); - // All requests will get routed to '/test'*/ - ext(event: RequestExtPoints, method: (request: Request, reply: IReply, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; - ext(event: RequestExtPoints, method: (request: Request, reply: IStrictReply, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; - ext(event: ServerExtPoints, method: (server: Server, next: (err?: any) => void, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; - - /** server.handler(name, method) - Registers a new handler type to be used in routes where: - name - string name for the handler being registered. Cannot override the built-in handler types (directory, file, proxy, and view) or any previously registered type. - method - the function used to generate the route handler using the signature function(route, options) where: - route - the route public interface object. - options - the configuration object provided in the handler config. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ host: 'localhost', port: 8000 }); - // Defines new handler for routes on this server - server.handler('test', function (route, options) { - return function (request, reply) { - return reply('new handler: ' + options.msg); - } - }); - server.route({ - method: 'GET', - path: '/', - handler: { test: { msg: 'test' } } - }); - server.start(); - The method function can have a defaults object or function property. If the property is set to an object, that object is used as the default route config for routes using this handler. If the property is set to a function, the function uses the signature function(method) and returns the route default configuration. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ host: 'localhost', port: 8000 }); - var handler = function (route, options) { - return function (request, reply) { - return reply('new handler: ' + options.msg); - } - }; - // Change the default payload processing for this handler - handler.defaults = { - payload: { - output: 'stream', - parse: false - } - }; - server.handler('test', handler);*/ - handler(name: string, method: (route: IRoute, options: THandlerConfig) => ISessionHandler): void; - - /** server.initialize([callback]) - Initializes the server (starts the caches, finalizes plugin registration) but does not start listening - on the connection ports, where: - - `callback` - the callback method when server initialization is completed or failed with the signature - `function(err)` where: - - `err` - any initialization error condition. - - If no `callback` is provided, a `Promise` object is returned. - - Note that if the method fails and the callback includes an error, the server is considered to be in - an undefined state and should be shut down. In most cases it would be impossible to fully recover as - the various plugins, caches, and other event listeners will get confused by repeated attempts to - start the server or make assumptions about the healthy state of the environment. It is recommended - to assert that no error has been returned after calling `initialize()` to abort the process when the - server fails to start properly. If you must try to resume after an error, call `server.stop()` - first to reset the server state. - */ - initialize(callback?: (error: any) => void): Promise; - - /** When the server contains exactly one connection, injects a request into the sole connection simulating an incoming HTTP request without making an actual socket connection. - Injection is useful for testing purposes as well as for invoking routing logic internally without the overhead or limitations of the network stack. - Utilizes the [shot module | https://github.com/hapijs/shot ] for performing injections, with some additional options and response properties - * When the server contains more than one connection, each server.connections array member provides its own connection.inject(). - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - var handler = function (request, reply) { - return reply('Success!'); - }; - server.route({ method: 'GET', path: '/', handler: handler }); - server.inject('/', function (res) { - console.log(res.result); - }); - */ - inject: IServerInject; - - /** server.log(tags, [data, [timestamp]]) - Logs server events that cannot be associated with a specific request. When called the server emits a 'log' event which can be used by other listeners or plugins to record the information or output to the console. The arguments are: - tags - a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events. Any logs generated by the server internally include the 'hapi' tag along with event-specific information. - data - an optional message string or object with the application data being logged. - timestamp - an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.on('log', function (event, tags) { - if (tags.error) { - console.log(event); - } - }); - server.log(['test', 'error'], 'Test event');*/ - log(tags: string | string[], data?: string | any, timestamp?: number): void; - - /**server.lookup(id) - When the server contains exactly one connection, looks up a route configuration where: - id - the route identifier as set in the route options. - returns the route public interface object if found, otherwise null. - var server = new Hapi.Server(); - server.connection(); - server.route({ - method: 'GET', - path: '/', - config: { - handler: function (request, reply) { return reply(); }, - id: 'root' - } - }); - var route = server.lookup('root'); - When the server contains more than one connection, each server.connections array member provides its own connection.lookup() method.*/ - lookup(id: string): IRoute; - - /** server.match(method, path, [host]) - When the server contains exactly one connection, looks up a route configuration where: - method - the HTTP method (e.g. 'GET', 'POST'). - path - the requested path (must begin with '/'). - host - optional hostname (to match against routes with vhost). - returns the route public interface object if found, otherwise null. - var server = new Hapi.Server(); - server.connection(); - server.route({ - method: 'GET', - path: '/', - config: { - handler: function (request, reply) { return reply(); }, - id: 'root' - } - }); - var route = server.match('get', '/'); - When the server contains more than one connection, each server.connections array member provides its own connection.match() method.*/ - match(method: string, path: string, host?: string): IRoute; - - /** server.method(name, method, [options]) - Registers a server method. Server methods are functions registered with the server and used throughout the application as a common utility. Their advantage is in the ability to configure them to use the built-in cache and share across multiple request handlers without having to create a common module. - Methods are registered via server.method(name, method, [options]) - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - // Simple arguments - var add = function (a, b, next) { - return next(null, a + b); - }; - server.method('sum', add, { cache: { expiresIn: 2000 } }); - server.methods.sum(4, 5, function (err, result) { - console.log(result); - }); - // Object argument - var addArray = function (array, next) { - var sum = 0; - array.forEach(function (item) { - sum += item; - }); - return next(null, sum); - }; - server.method('sumObj', addArray, { - cache: { expiresIn: 2000 }, - generateKey: function (array) { - return array.join(','); - } - }); - server.methods.sumObj([5, 6], function (err, result) { - console.log(result); - }); - // Synchronous method with cache - var addSync = function (a, b) { - return a + b; - }; - server.method('sumSync', addSync, { cache: { expiresIn: 2000 }, callback: false }); - server.methods.sumSync(4, 5, function (err, result) { - console.log(result); - }); */ - method(/** a unique method name used to invoke the method via server.methods[name]. When configured with caching enabled, server.methods[name].cache.drop(arg1, arg2, ..., argn, callback) can be used to clear the cache for a given key. Supports using nested names such as utils.users.get which will automatically create the missing path under server.methods and can be accessed for the previous example via server.methods.utils.users.get.*/ - name: string, - method: IServerMethod, - options?: IServerMethodOptions): void; - - /**server.method(methods) - Registers a server method function as described in server.method() using a configuration object where: - methods - an object or an array of objects where each one contains: - name - the method name. - method - the method function. - options - optional settings. - var add = function (a, b, next) { - next(null, a + b); - }; - server.method({ - name: 'sum', - method: add, - options: { - cache: { - expiresIn: 2000 - } - } - });*/ - method(methods: { - name: string; method: IServerMethod; options?: IServerMethodOptions - } | Array<{ - name: string; method: IServerMethod; options?: IServerMethodOptions - }>): void; - - /**server.path(relativeTo) - Sets the path prefix used to locate static resources (files and view templates) when relative paths are used where: - relativeTo - the path prefix added to any relative file path starting with '.'. - Note that setting a path within a plugin only applies to resources accessed by plugin methods. If no path is set, the connection files.relativeTo configuration is used. The path only applies to routes added after it has been set. - exports.register = function (server, options, next) { - server.path(__dirname + '../static'); - server.route({ path: '/file', method: 'GET', handler: { file: './test.html' } }); - next(); - };*/ - path(relativeTo: string): void; - - /** - * server.register(plugins, [options], callback) - * Registers a plugin where: - * plugins - an object or array of objects where each one is either: - * a plugin registration function. - * an object with the following: - * register - the plugin registration function. - * options - optional options passed to the registration function when called. - * options - optional registration options (different from the options passed to the registration function): - * select - a string or array of string labels used to pre-select connections for plugin registration. - * routes - modifiers applied to each route added by the plugin: - * prefix - string added as prefix to any route path (must begin with '/'). If a plugin registers a child plugin the prefix is passed on to the child or is added in front of the child-specific prefix. - * vhost - virtual host string (or array of strings) applied to every route. The outer-most vhost overrides the any nested configuration. - * callback - the callback function with signature function(err) where: - * err - an error returned from the registration function. Note that exceptions thrown by the registration function are not handled by the framework. - * - * If no callback is provided, a Promise object is returned. - */ - register( - plugins: any | any[], - options: { - select?: string | string[]; - routes: { - prefix: string; vhost?: string | string[] - }; - }, - callback: (err: any) => void): void; - register( - plugins: any | any[], - options: { - select?: string | string[]; - routes: { - prefix: string; vhost?: string | string[] - }; - }): Promise; - - register(plugins: any | any[], callback: (err: any) => void): void; - register(plugins: any | any[]): Promise; - - /**server.render(template, context, [options], callback) - Utilizes the server views manager to render a template where: - template - the template filename and path, relative to the views manager templates path (path or relativeTo). - context - optional object used by the template to render context-specific result. Defaults to no context ({}). - options - optional object used to override the views manager configuration. - callback - the callback function with signature function (err, rendered, config) where: - err - the rendering error if any. - rendered - the result view string. - config - the configuration used to render the template. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.views({ - engines: { html: require('handlebars') }, - path: __dirname + '/templates' - }); - var context = { - title: 'Views Example', - message: 'Hello, World' - }; - server.render('hello', context, function (err, rendered, config) { - console.log(rendered); - });*/ - render(template: string, context: any, options: any, callback: (err: any, rendered: any, config: any) => void): void; - - /** server.route(options) - Adds a connection route where: - options - a route configuration object or an array of configuration objects. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.route({ method: 'GET', path: '/', handler: function (request, reply) { return reply('ok'); } }); - server.route([ - { method: 'GET', path: '/1', handler: function (request, reply) { return reply('ok'); } }, - { method: 'GET', path: '/2', handler: function (request, reply) { return reply('ok'); } } - ]);*/ - route(options: IRouteConfiguration): void; - route(options: IRouteConfiguration[]): void; - - /**server.select(labels) - Selects a subset of the server's connections where: - labels - a single string or array of strings of labels used as a logical OR statement to select all the connections with matching labels in their configuration. - Returns a server object with connections set to the requested subset. Selecting again on a selection operates as a logic AND statement between the individual selections. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80, labels: ['a'] }); - server.connection({ port: 8080, labels: ['b'] }); - server.connection({ port: 8081, labels: ['c'] }); - server.connection({ port: 8082, labels: ['c','d'] }); - var a = server.select('a'); // The server with port 80 - var ab = server.select(['a','b']); // A list of servers containing the server with port 80 and the server with port 8080 - var c = server.select('c'); // A list of servers containing the server with port 8081 and the server with port 8082 */ - select(labels: string | string[]): Server | Server[]; - - /** server.start([callback]) - Starts the server connections by listening for incoming requests on the configured port of each listener (unless the connection was configured with autoListen set to false), where: - callback - optional callback when server startup is completed or failed with the signature function(err) where: - err - any startup error condition. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.start(function (err) { - console.log('Server started at: ' + server.info.uri); - });*/ - start(callback?: (err: any) => void): Promise; - - /** server.state(name, [options]) - HTTP state management uses client cookies to persist a state across multiple requests. Registers a cookie definitions - State defaults can be modified via the server connections.routes.state configuration option. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - // Set cookie definition - server.state('session', { - ttl: 24 * 60 * 60 * 1000, // One day - isSecure: true, - path: '/', - encoding: 'base64json' - }); - // Set state in route handler - var handler = function (request, reply) { - var session = request.state.session; - if (!session) { - session = { user: 'joe' }; - } - session.last = Date.now(); - return reply('Success').state('session', session); - }; - Registered cookies are automatically parsed when received. Parsing rules depends on the route state.parse configuration. If an incoming registered cookie fails parsing, it is not included in request.state, regardless of the state.failAction setting. When state.failAction is set to 'log' and an invalid cookie value is received, the server will emit a 'request-internal' event. To capture these errors subscribe to the 'request-internal' events and filter on 'error' and 'state' tags: - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.on('request-internal', function (request, event, tags) { - if (tags.error && tags.state) { - console.error(event); - } - }); */ - state(name: string, options?: ICookieSettings): void; - - /** server.stop([options], [callback]) - Stops the server's connections by refusing to accept any new connections or requests (existing connections will continue until closed or timeout), where: - options - optional object with: - timeout - overrides the timeout in millisecond before forcefully terminating a connection. Defaults to 5000 (5 seconds). - callback - optional callback method with signature function() which is called once all the connections have ended and it is safe to exit the process. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80 }); - server.stop({ timeout: 60 * 1000 }, function () { - console.log('Server stopped'); - });*/ - stop(options?: { timeout: number }, callback?: () => void): Promise; - - /**server.table([host]) - Returns a copy of the routing table where: - host - optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. - The return value is an array where each item is an object containing: - info - the connection.info the connection the table was generated for. - labels - the connection labels. - table - an array of routes where each route contains: - settings - the route config with defaults applied. - method - the HTTP method in lower case. - path - the route path. - Note that if the server has not been started and multiple connections use port 0, the table items will override each other and will produce an incomplete result. - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80, host: 'example.com' }); - server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); - var table = server.table(); - When calling connection.table() directly on each connection, the return value is the same as the array table item value of an individual connection: - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.connection({ port: 80, host: 'example.com' }); - server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); - var table = server.connections[0].table(); - //[ - // { - // method: 'get', - // path: '/example', - // settings: { ... } - // } - //] - */ - table(host?: any): IConnectionTable; - - /**server.views(options) - Initializes the server views manager - var Hapi = require('hapi'); - var server = new Hapi.Server(); - server.views({ - engines: { - html: require('handlebars'), - jade: require('jade') - }, - path: '/static/templates' - }); - When server.views() is called within a plugin, the views manager is only available to plugins methods.*/ - views(options: IServerViewsConfiguration): void; +/** + * request extension points: function(request, reply) where + * this - the object provided via options.bind or the current active context set with server.bind(). + * [See docs](https://hapijs.com/api/16.1.1#serverextevents) + * @param request the request object. + * @param reply the reply interface which is used to return control back to the framework. To continue normal execution of the request lifecycle, reply.continue() must be called. If the extension type is 'onPostHandler' or 'onPreResponse', a single argument passed to reply.continue() will override the current set response (including all headers) but will not stop the request lifecycle execution. To abort processing and return a response to the client, call reply(value) where value is an error or any other valid response. + */ +export interface ServerExtRequestHandler { + (request: Request, reply: ReplyWithContinue): void; +} + +/** + * Used by various extensions to handle a request and + * synchronously return a result of some form. + * + * Left in for backwards compatibility of typings but according to the + * [DefinitelyTyped Readme under common mistakes](https://github.com/DefinitelyTyped/DefinitelyTyped#common-mistakes) + * it talks about not using generic types unless the type was used in typing one + * or more of the function arguments. Using it to type the return was suggested + * to be the same as a type assertion. + */ +export interface RequestHandler { + (request: Request): T; +} + +/** + * Used by server extension points + * err can be BoomError or Error that will be wrapped as a BoomError + * For source [See docs](https://github.com/hapijs/hapi/blob/v16.1.1/lib/reply.js#L109-L118) + * For source [See docs](https://github.com/hapijs/hapi/blob/v16.1.1/lib/response.js#L60-L65) + */ +export interface ContinuationFunction { + (err: Boom.BoomError): void; +} +/** + * For source [See docs](https://github.com/hapijs/hapi/blob/v16.1.1/lib/response.js#L60-L65) + * TODO Can value be typed with a useful generic? + */ +export interface ContinuationValueFunction { + (err: Boom.BoomError, value: any): void; +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reply functions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * Typings listed explicitly here [See docs](https://hapijs.com/api/16.1.1#replyerr-result) + * Typings also described in part here [See docs](https://hapijs.com/api/16.1.1#response-object) + */ +export type ReplyValue = _ReplyValue | Promise<_ReplyValue>; +type _ReplyValue = null | undefined | string | number | boolean | Buffer | Error | stream.Stream | Object; //| array; + +/** + * Reply interface + * reply([err], [result]) + * Concludes the handler activity by setting a response and returning control over to the framework + * When reply() is called with an error or result response, that value is used as the response sent to the client. When reply() is called within a prerequisite, the value is saved for future use and is not used as the response. In all other places except for the handler, calling reply() will be considered an error and will abort the request lifecycle, jumping directly to the 'onPreResponse' event. + * To return control to the framework within an extension or other places other than the handler, without setting a response, the method reply.continue() must be called. Except when used within an authentication strategy, or in an 'onPostHandler' or 'onPreResponse' extension, the reply.continue() must not be passed any argument or an exception is thrown. + * [See docs](https://hapijs.com/api/16.1.1#reply-interface) + * [See docs](https://hapijs.com/api/16.1.1#replyerr-result) + * + * NOTE: modules should extend this interface to expose reply.Nnn methods + */ +interface Base_Reply { + (err?: ReplyValue): Response; + (err: null, result?: ReplyValue): Response; + /** the active realm associated with the route. */ + realm: ServerRealm; + /** the request object */ + request: Request; + + /** + * reply.entity(options) + * Sets the response 'ETag' and 'Last-Modified' headers and checks for any conditional request headers to decide if the response is going to qualify for an HTTP 304 (Not Modified). If the entity values match the request conditions, reply.entity() returns control back to the framework with a 304 response. Otherwise, it sets the provided entity headers and returns null. + * Returns a response object if the reply is unmodified or null if the response has changed. If null is returned, the developer must call reply() to continue execution. If the response is not null, the developer must not call reply(). + * [See docs](https://hapijs.com/api/16.1.1#replyentityoptions) + * @param options a required configuration object with: + * * etag - the ETag string. Required if modified is not present. Defaults to no header. + * * modified - the Last-Modified header value. Required if etag is not present. Defaults to no header. + * * vary - same as the response.etag() option. Defaults to true. + */ + entity(options: {etag?: string, modified?: string, vary?: boolean}): Response | null; + /** + * reply.close([options]) + * Concludes the handler activity by returning control over to the router and informing the router that a response has already been sent back directly via request.raw.res and that no further response action is needed. Supports the following optional options: + * The response flow control rules do not apply. + * [See docs](https://hapijs.com/api/16.1.1#replycloseoptions) + * @param options options object: + * * end - if false, the router will not call request.raw.res.end()) to ensure the response was ended. Defaults to true. + */ + close(options?: {end?: boolean}): void; + /** + * reply.redirect(uri) + * Redirects the client to the specified uri. Same as calling reply().redirect(uri). + * The response flow control rules apply. + * Sets an HTTP redirection response (302) and decorates the response with additional methods for + * changing to a permanent or non-rewritable redirect is also available see response object redirect for more information. + * [See docs](https://hapijs.com/api/16.1.1#replyredirecturi) + * @param uri an absolute or relative URI used to redirect the client to another resource. + */ + redirect(uri: string): ResponseRedirect; + /** + * reply.response(result) + * Shorthand for calling `reply(null, result)`, replies with the response set to `result`. + * [See docs](https://hapijs.com/api/16.1.1#replyresponseresult) + * TODO likely to change. Await approval of pull request to Hapi docs. + */ + response(result: ReplyValue): Response; + /** + * Sets a cookie on the response + * [See docs](https://hapijs.com/api/16.1.1#reply) + * TODO likely to change. Await approval of pull request to Hapi docs. + */ + state(name: string, value: any, options?: any): void; + /** + * Clears a cookie on the response + * [See docs](https://hapijs.com/api/16.1.1#reply) + * TODO likely to change. Await approval of pull request to Hapi docs. + */ + unstate(name: string, options?: any): void; + /** + * The server.decorate('reply', ...) method can modify this prototype/interface. + * Have disabled these typings as there is a better alternative, see example in: tests/server/decorate.ts + * [And discussion here](https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14517#issuecomment-298891630) + */ + // [index: string]: any; +} +/** + * reply.continue([result]) + * Returns control back to the framework without ending the request lifecycle + * [See docs](https://hapijs.com/api/16.1.1#replycontinueresult) + * [See docs](https://hapijs.com/api/16.1.1#replyerr-result) "With the exception of the handler function, all other methods provide the reply.continue() method which instructs the framework to continue processing the request without setting a response." + * @param result if called in the handler, prerequisites, or extension points other than the 'onPreHandler' and 'onPreResponse', the result argument is not allowed and will throw an exception if present. If called within an authentication strategy, it sets the authenticated credentials. If called by the 'onPreHandler' or 'onPreResponse' extensions, the result argument overrides the current response including all headers, and returns control back to the framework to continue processing any remaining extensions. + */ +interface Continue_Reply { + continue(result?: ReplyValue): Response | undefined; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) > authenticate. + * Also [See docs](https://hapijs.com/api/16.1.1#replyerr-result). + * TODO check it has Base_Reply methods and properties + */ +export interface ReplySchemeAuth extends Base_Reply { + /** + * This function is called if authentication failed. + * TODO, check type the `response` parameter. In https://hapijs.com/api/16.1.1#replyerr-result it is referred to as "null" but this seems to be for a third scenario where it is "used to return both an error and credentials in the authentication methods" then "reply() must be called with three arguments function(err, null, data)" + * @param err any authentication error. + * @param response any authentication response action such as redirection. Ignored if err is present, otherwise required. + * @param result an object containing: + * * credentials the authenticated credentials. + * * artifacts optional authentication artifacts. + */ + (err: Error | null, response: AnyAuthenticationResponseAction | null, result: AuthenticationResult): void; + /** + * is called if authentication succeeded + * @param result same object as result above. + */ + continue(result: AuthenticationResult): void; +} +/** + * Typing as any as it's not yet clear what type this argument takes. + * "any authentication response action such as redirection" is it equivalent to + * `ReplyValue` ? + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) + * TODO research hapi source and type this. + */ +export type AnyAuthenticationResponseAction = any; +/** [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) */ +export interface AuthenticationResult { + credentials?: AuthenticatedCredentials; + artefacts?: any; +} +export interface AuthenticatedCredentials { + // Disabled to allow typing within a project + // [index: string]: any; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) > payload + * TODO check it has Base_Reply methods and properties + */ +export interface ReplySchemeAuthOfPayload extends Base_Reply { + /** + * function called to authenticate the request payload where: + * @param err any authentication error. + * @param response any authentication response action such as redirection. Ignored if err is present, otherwise required. + */ + (err: Error | null, response: AnyAuthenticationResponseAction): void; + /** is called if payload authentication succeeded */ + continue(): void; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#serverauthschemename-scheme) > response + * TODO check it has Base_Reply methods and properties + */ +export interface ReplySchemeAuthDecorateResponse extends Base_Reply { + /** + * is called if an error occurred + * @param err any authentication error. + * @param response any authentication response to send instead of the current response. Ignored if err is present, otherwise required. + */ + (err?: Error, response?: ReplyValue): void; + /** is called if the operation succeeded. */ + continue(): void; +} + +export interface ReplyWithContinue extends Continue_Reply, Base_Reply {} + +export interface ReplyNoContinue extends Base_Reply {} + +// TODO assess use and usefulness of StrictReply + +// Concludes the handler activity by setting a response and returning control over to the framework where: +// erran optional error response. +// result an optional response payload. +// Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. +// FLOW CONTROL: +// When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() +/** + * + */ +// export interface Reply { // extends ReplyMethods { +// (err: Error, +// result?: string | number | boolean | Buffer | stream.Stream | Promise | T, +// /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ +// credentialData?: any): BoomError; +// /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ +// (result: string | number | boolean | Buffer | stream.Stream | Promise | T): Response; +// } + +/** Concludes the handler activity by setting a response and returning control over to the framework where: + erran optional error response. + result an optional response payload. + Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. + FLOW CONTROL: + When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() */ +// export interface StrictReply extends ReplyMethods { +// (err: Error, +// result?: Promise | T, +// /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ +// credentialData?: any): BoomError; +// /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ +// (result: Promise | T): Response; +// } + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Response + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * Response object + * [See docs](https://hapijs.com/api/16.1.1#response-object) + * + * TODO, check extending from Podium.Podium is correct. Extending because of "The response object supports the following events" [See docs](https://hapijs.com/api/16.1.1#response-events) + * * 'peek' - emitted for each chunk of data written back to the client connection. The event method signature is function(chunk, encoding). + * * 'finish' - emitted when the response finished writing but before the client response connection is ended. The event method signature is function (). + */ +export interface Response extends Podium.Podium { + /** the HTTP response status code. Defaults to 200 (except for errors). */ + statusCode: number; + /** an object containing the response headers where each key is a header field name. Note that this is an incomplete list of headers to be included with the response. Additional headers will be added once the response is prepared for transmission. */ + headers: Dictionary; + /** the value provided using the reply interface. */ + source: ReplyValue; + /** + * a string indicating the type of source with available values: + * * 'plain' - a plain response such as string, number, null, or simple object (e.g. not a Stream, Buffer, or view). + * * 'buffer' - a Buffer. + * * 'stream' - a Stream. + * * 'promise' - a Promise object. + */ + variety: 'plain' | 'buffer' | 'stream' | 'promise'; + /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name]. */ + app: any; + /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state. */ + plugins: PluginsStates; + /** response handling flags: */ + settings: { + /** the 'Content-Type' HTTP header 'charset' property. Defaults to 'utf-8'. */ + charset: string; + /** the string encoding scheme used to serial data into the HTTP payload when source is a string or marshals into a string. Defaults to 'utf8'. */ + encoding: string; + /** if true and source is a Stream, copies the statusCode and headers of the stream to the outbound response. Defaults to true. */ + passThrough: boolean; + /** options used for source value requiring stringification. Defaults to no replacer and no space padding. */ + stringify: Json.StringifyArguments; + /** if set, overrides the route cache expiration milliseconds value set in the route config. Defaults to no override. */ + ttl: number | null; + /** if true, a suffix will be automatically added to the 'ETag' header at transmission time (separated by a '-' character) when the HTTP 'Vary' header is present. */ + varyEtag: boolean; + }; + + /** + * The following attribute is present in one or more of the examples + * TODO update once Hapi docs describes explicitly + */ + isBoom?: boolean; + /** + * The following attribute is present in one or more of the examples + * TODO update once Hapi docs describes explicitly + */ + isMissing?: boolean; + /** + * The following attribute is present in one or more of the examples + * TODO update once Hapi docs describes explicitly + */ + output?: Boom.Output; + + /** + * sets the HTTP 'Content-Length' header (to avoid chunked transfer encoding) + * @param length the header value. Must match the actual payload size. + */ + bytes(length: number): Response; + /** + * sets the 'Content-Type' HTTP header 'charset' property + * @param charset the charset property value. + */ + charset(charset: string): Response; + /** + * sets the HTTP status code + * @param statusCode the HTTP status code (e.g. 200). + */ + code(statusCode: number): Response; + /** + * sets the HTTP status message + * @param httpMessage the HTTP status message (e.g. 'Ok' for status code 200). + */ + message(httpMessage: string): Response; + /** + * sets the HTTP status code to Created (201) and the HTTP 'Location' header + * @param uri an absolute or relative URI used as the 'Location' header value. + */ + created(uri: string): Response; + /** + * sets the string encoding scheme used to serial data into the HTTP payload + * @param encoding the encoding property value (see node Buffer encoding [See docs](https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings)). + * * 'ascii' - for 7-bit ASCII data only. This encoding is fast and will strip the high bit if set. + * * 'utf8' - Multibyte encoded Unicode characters. Many web pages and other document formats use UTF-8. + * * 'utf16le' - 2 or 4 bytes, little-endian encoded Unicode characters. Surrogate pairs (U+10000 to U+10FFFF) are supported. + * * 'ucs2' - Alias of 'utf16le'. + * * 'base64' - Base64 encoding. When creating a Buffer from a string, this encoding will also correctly accept "URL and Filename Safe Alphabet" as specified in RFC4648, Section 5. + * * 'latin1' - A way of encoding the Buffer into a one-byte encoded string (as defined by the IANA in RFC1345, page 63, to be the Latin-1 supplement block and C0/C1 control codes). + * * 'binary' - Alias for 'latin1'. + * * 'hex' - Encode each byte as two hexadecimal characters. + */ + encoding(encoding: 'ascii' | 'utf8' | 'utf16le' | 'ucs2' | 'base64' | 'latin1' | 'binary' | 'hex'): Response; + /** + * sets the representation entity tag + * @param tag the entity tag string without the double-quote. + * @param options options object + * * weak - if true, the tag will be prefixed with the 'W/' weak signifier. Weak tags will fail to match identical tags for the purpose of determining 304 response status. Defaults to false. + * * vary - if true and content encoding is set or applied to the response (e.g 'gzip' or 'deflate'), the encoding name will be automatically added to the tag at transmission time (separated by a '-' character). Ignored when weak is true. Defaults to true. + */ + etag(tag: string, options?: {weak: boolean, vary: boolean}): Response; + /** + * sets an HTTP header + * @param name the header name. + * @param value the header value. + */ + header(name: string, value: string, options?: ResponseHeaderOptionsObject): Response; + /** + * sets the HTTP 'Location' header + * @param uri an absolute or relative URI used as the 'Location' header value. + */ + location(uri: string): Response; + /** + * sets an HTTP redirection response (302) and decorates the response with additional methods listed below, + * @param uri an absolute or relative URI used to redirect the client to another resource. + */ + redirect(uri: string): Response; + /** + * sets the JSON.stringify() replacer argument + * @param method the replacer function or array. Defaults to none. + */ + replacer(method: Json.StringifyReplacer): Response; + /** + * sets the JSON.stringify() space argument + * @param count the number of spaces to indent nested object keys. Defaults to no indentation. + */ + spaces(count: Json.StringifySpace): Response; + /** + * sets an HTTP cookie + * @param name the cookie name. + * @param value the cookie value. If no encoding is defined, must be a string. + * @param options optional configuration. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others). + */ + state(name: string, value: string | Object | any[], options?: ServerStateCookieConfiguationObject): Response; + /** + * sets a string suffix when the response is process via JSON.stringify(). + */ + suffix(suffix: string): Response; + /** + * overrides the default route cache expiration rule for this response instance + * @param msec the time-to-live value in milliseconds. + */ + ttl(msec: number): Response; + /** + * sets the HTTP 'Content-Type' header + * @param mimeType is the mime type. Should only be used to override the built-in default for each response type. + */ + type(mimeType: string): Response; + /** + * clears the HTTP cookie by setting an expired value + * @param name the cookie name. + * @param options optional configuration for expiring cookie. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others). + */ + unstate(name: string, options?: ServerStateCookieConfiguationObject): Response; + /** + * adds the provided header to the list of inputs affected the response generation via the HTTP 'Vary' header + * @param header the HTTP request header name. + */ + vary(header: string): Response; + + /** + * Flow control - hold() + * When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: + * puts the response on hold until response.send() is called. Available only after reply() is called and until response.hold() is invoked once. + * [See docs](https://hapijs.com/api/16.1.1#flow-control) + */ + hold(): Response; + /** + * Flow control - send() + * When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: + * immediately resume the response. Available only after response.hold() is called and until response.send() is invoked once. + * [See docs](https://hapijs.com/api/16.1.1#flow-control) + */ + send(): Response; + + /** + * Mentioned here: "Note that prerequisites do not follow the same rules of the normal reply interface. In all other cases, calling reply() with or without a value will use the result as the response sent back to the client. In a prerequisite method, calling reply() will assign the returned value to the provided assign key. If the returned value is an error, the failAction setting determines the behavior. To force the return value as the response and skip any other prerequisites and the handler, use the reply().takeover() method." + * TODO prepare documentation PR and submit to hapi. + * [See docs](https://hapijs.com/api/16.1.1#route-prerequisites) + */ + takeover(): Response; +} + +/** + * Response Object Redirect Methods + * When using the redirect() method, the response object provides these additional methods: + * [See docs](https://hapijs.com/api/16.1.1#response-object-redirect-methods) + */ +export interface ResponseRedirect extends Response { + /** + * temporary + * sets the status code to 302 or 307 (based on the rewritable() setting) where: + * [See docs](https://hapijs.com/api/16.1.1#response-object-redirect-methods) + * @param isTemporary if false, sets status to permanent. Defaults to true. + */ + temporary(isTemporary: boolean): Response; + /** + * permanent + * sets the status code to 301 or 308 (based on the rewritable() setting) where: + * [See docs](https://hapijs.com/api/16.1.1#response-object-redirect-methods) + * @param isPermanent if false, sets status to temporary. Defaults to true. + */ + permanent(isPermanent: boolean): Response; + /** + * rewritable + * sets the status code to 301/302 for rewritable (allows changing the request method from 'POST' to 'GET') or 307/308 for non-rewritable (does not allow changing the request method from 'POST' to 'GET'). Exact code based on the temporary() or permanent() setting. Arguments: + * [See docs](https://hapijs.com/api/16.1.1#response-object-redirect-methods) + * @param isRewritable if false, sets to non-rewritable. Defaults to true. + */ + rewritable(isRewritable: boolean): Response; +} + +/** + * [See docs](https://hapijs.com/api/16.1.1#response-object) under "response object provides the following methods" > header > options + */ +interface ResponseHeaderOptionsObject { + /** if true, the value is appended to any existing header value using separator. Defaults to false. */ + append?: boolean; + /** string used as separator when appending to an existing value. Defaults to ','. */ + separator?: string; + /** if false, the header value is not set if an existing value present. Defaults to true. */ + override?: boolean; + /** if false, the header value is not modified if the provided value is already included. Does not apply when append is false or if the name is 'set-cookie'. Defaults to true. */ + duplicate?: boolean; +} + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plugins and register + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// TODO: move to separate file http://stackoverflow.com/questions/43276921 + +/** + * Plugins + * Plugins provide a way to organize the application code by splitting the server logic into smaller components. Each plugin can manipulate the server and its connections through the standard server interface, but with the added ability to sandbox certain properties. + * [See docs](https://hapijs.com/api/16.1.1#plugins) + * @param server the server object the plugin is being registered to. + * @param options an options object passed to the plugin during registration. + * @param next a callback method the function must call to return control back to the framework to complete the registration process with signature function(err) + */ +export interface PluginFunction { + (server: Server, options: OptionsPassedToPlugin, next: (err?: Error) => void): void; + /** + * Note attributes is NOT optional but this type is easier to use. + */ + attributes?: PluginAttributes; +} + +/** + * see Plugin + * [See docs](https://hapijs.com/api/16.1.1#plugins) + */ +interface PluginAttributes { + /** + * required plugin name string. The name is used as a unique key. Published plugins should use the same name as the name field in the 'package.json' file. Names must be unique within each application. + * NOTE: marked as optional as `pkg` can be used instead. + */ + name?: string; + /** optional plugin version. The version is only used informatively to enable other plugins to find out the versions loaded. The version should be the same as the one specified in the plugin's 'package.json' file. */ + version?: string; + /** Alternatively, the name and version can be included via the pkg attribute containing the 'package.json' file for the module which already has the name and version included */ + pkg?: any; + /** if true, allows the plugin to be registered multiple times with the same server. Defaults to false. */ + multiple?: boolean; + /** optional string or array of string indicating a plugin dependency. Same as setting dependencies via server.dependency(). */ + dependencies?: string | string[]; + /** if false, does not allow the plugin to call server APIs that modify the connections such as adding a route or configuring state. This flag allows the plugin to be registered before connections are added and to pass dependency requirements. When set to 'conditional', the mode is based on the presence of selected connections (if the server has connections, it is the same as true, but if no connections are available, it is the same as false). Defaults to true. */ + connections?: boolean | 'conditional'; + /** if true, will only register the plugin once per connection (or once per server for a connectionless plugin). If set, overrides the once option passed to server.register(). Defaults to undefined (registration will be based on the server.register() option once). */ + once?: boolean; +} + +/** + * Plugins State + * Related [See docs](https://hapijs.com/api/16.1.1#serverplugins) + * Related [See docs](https://hapijs.com/api/16.1.1#serverrealm) + */ +export interface PluginsStates { + [pluginName: string]: any; +} + +/** + * once, select, routes - optional plugin-specific registration options as defined see PluginRegistrationOptions + * [See docs](https://hapijs.com/api/16.1.1#serverregisterplugins-options-callback) + */ +interface PluginRegistrationObject extends PluginRegistrationOptions { + /** the plugin registration function. */ + register: PluginFunction; + /** optional options passed to the registration function when called. */ + options?: OptionsPassedToPlugin; +} + +/** + * registration options (different from the options passed to the registration function): + * * once - if true, the registration is skipped for any connection already registered with. Cannot be used with plugin options. If the plugin does not have a connections attribute set to false and the registration selection is empty, registration will be skipped as no connections are available to register once. Defaults to false. + * * routes - modifiers applied to each route added by the plugin: + * * prefix - string added as prefix to any route path (must begin with '/'). If a plugin registers a child plugin the prefix is passed on to the child or is added in front of the child-specific prefix. + * * vhost - virtual host string (or array of strings) applied to every route. The outer-most vhost overrides the any nested configuration. + * * select - a string or array of string labels used to pre-select connections for plugin registration. + * [See docs](https://hapijs.com/api/16.1.1#serverregisterplugins-options-callback) + */ +export interface PluginRegistrationOptions { + once?: boolean; + routes?: {prefix?: string, vhost?: string | string[]}; + select?: string | string[]; } diff --git a/types/hapi/json/index.d.ts b/types/hapi/json/index.d.ts new file mode 100644 index 0000000000..6febf05c6a --- /dev/null +++ b/types/hapi/json/index.d.ts @@ -0,0 +1,17 @@ + +/** + * @see {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter} + */ +export type StringifyReplacer = ((key: string, value: any) => any) | (string | number)[] | undefined; + +/** + * Any value greater than 10 is truncated. + */ +export type StringifySpace = number | string; + +export interface StringifyArguments { + /** the replacer function or array. Defaults to no action. */ + replacer?: StringifyReplacer; + /** number of spaces to indent nested object keys. Defaults to no indentation. */ + space?: StringifySpace; +} diff --git a/types/hapi/json/json-tests.ts b/types/hapi/json/json-tests.ts new file mode 100644 index 0000000000..cbe9529b83 --- /dev/null +++ b/types/hapi/json/json-tests.ts @@ -0,0 +1,8 @@ +import * as JSON from './index'; + +var a: JSON.StringifyReplacer = function(key, value) { + if (key === "do not include") { + return undefined; + } + return value; +}; diff --git a/types/hapi/mime-db/index.d.ts b/types/hapi/mime-db/index.d.ts new file mode 100644 index 0000000000..536a4c9e27 --- /dev/null +++ b/types/hapi/mime-db/index.d.ts @@ -0,0 +1,23 @@ +// TODO needs tests +// TODO move to own definition +// Type definitions for mime-db 1.27 +// Project: https://github.com/jshttp/mime-db +// Definitions by: AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +/** + * Data Structure + * If unknown, every property could be undefined. + * @see {@link https://github.com/jshttp/mime-db#data-structure} + */ +export interface DataStructure { + /** where the mime type is defined. If not set, it's probably a custom media type. */ + source?: string; + /** known extensions associated with this mime type. */ + extensions?: string[]; + /** whether a file of this type can be gzipped. */ + compressible?: boolean; + /** the default charset associated with this type, if any. */ + charset?: string; +} diff --git a/types/hapi/mimos/index.d.ts b/types/hapi/mimos/index.d.ts new file mode 100644 index 0000000000..386c3db589 --- /dev/null +++ b/types/hapi/mimos/index.d.ts @@ -0,0 +1,29 @@ +// TODO needs tests +// TODO move to own definition +// Type definitions for mimos 3.0 +// Project: https://github.com/hapijs/mimos +// Definitions by: AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import {DataStructure as MimeDbDataStructure} from '../mime-db'; + +/** + * + * @see {@link https://github.com/hapijs/mimos#new-mimosoptions} + */ +export interface MimosOptions { + /** + * an object hash that is merged into the built in mime information specified here {@link https://github.com/jshttp/mime-db}. Each key value pair represents a single mime object. Each override value should follow this schema: + * * the key is the lower-cased correct mime-type. (Ex. "application/javascript"). + * * the value should an object @see MimosOptionsValue + */ + override: {[index: string]: MimosOptionsValue}; +} + +export interface MimosOptionsValue extends MimeDbDataStructure { + /** specify the type value of result objects, defaults to key. See the example below for more clarification. */ + type?: string; + /** method with signature function(mime) when this mime type is found in the database, this function will run. This allows you make customizations to mime based on developer criteria. */ + predicate?: (mime: MimosOptionsValue) => MimosOptionsValue; +} diff --git a/types/hapi/podium/index.d.ts b/types/hapi/podium/index.d.ts new file mode 100644 index 0000000000..30df7b2ed9 --- /dev/null +++ b/types/hapi/podium/index.d.ts @@ -0,0 +1,182 @@ +// TODO needs tests +// TODO move to own definition +// Type definitions for podium 1.0 +// Project: https://github.com/hapijs/podium +// Definitions by: AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +/** + * Podium + * Node (semi) compatible event emitter with extra features. + * podium is an event emitter with support for tags, filters, channels, event update cloning, arguments spreading, and other features useful when building large scale applications. While node's native EventEmitter is strictly focused on maximum performance, it lacks many features that do not belong in the core implementation. podium is not restricted by node's performance requirement as it is designed for application layer needs where it's overhead is largely insignificant as implementing these features will have similar cost on top of the native emitter. + * @see {@link https://github.com/hapijs/podium} + */ +export class Podium { + /** + * Creates a new podium emitter + * @param events if present, the value is passed to podium.registerEvent(). + */ + constructor(events?: Events[]); + constructor(events?: Events); + + /** + * podium.registerEvent(events) + * Register the specified events and their optional configuration. Events must be registered before they can be emitted or subscribed to. This is done to detect event name mispelling and invalid event activities. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} + */ + registerEvent(events: Events[]): void; + registerEvent(events: Events): void; + + /** + * podium.registerPodium(podiums) + * Registers another emitter as an event source for the current emitter (any event update emitted by the source emitter is passed to any subscriber of the current emitter) + * Note that any events registered with a source emitter are automatically added to the current emitter. If the events are already registered, they are left as-is. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregisterpodiumpodiums} + */ + registerPodium(podiums: Podium[]): void; + registerPodium(podiums: Podium): void; + + /** + * podium.emit(criteria, data, [callback]) + * Emits an event update to all the subscribed listeners + * @param criteria the event update criteria + * @param data the value emitted to the subscribers. + * @param callback an optional callback method invoked when all subscribers have been notified using the signature function() + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumemitcriteria-data-callback} + */ + emit(criteria: string | {name: string, channel?: string, tags?: string | string[]}, data: any, callback?: (() => void)): void; + + /** + * podium.on(criteria, listener) + * Subscribe a handler to an event + * @param criteria the subscription criteria + * @param listener the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ + on(criteria: string | Criteria, listener: Listener): void; + + /** + * podium.addListener(criteria, listener) + * Same as podium.on() + * @param criteria the subscription criteria + * @param listener the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ + addListener(criteria: string | Criteria, listener: Listener): void; + + /** + * podium.once(criteria, listener) + * Same as podium.on() with the count option set to 1. + * @param criteria the subscription criteria + * @param listener the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ + once(criteria: string | Criteria, listener: Listener): void; + + /** + * podium.removeListener(name, listener) + * Removes all listeners subscribed to a given event name matching the provided listener method where: + * @param name the event name string. + * @param listener the function reference provided when subscribed. + * Returns a reference to the current emitter. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumremovelistenername-listener} + */ + removeListener(name: string, listener: Listener): Podium; + + /** + * podium.removeAllListeners(name) + * Removes all listeners subscribed to a given event name + * @param name the event name string. + * Returns a reference to the current emitter. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumremovealllistenersname} + */ + removeAllListeners(name: string): Podium; + + /** + * podium.hasListeners(name) + * Returns whether an event has any listeners subscribed + * @param name the event name string. + * Returns true if the event name has any listeners, otherwise false. + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumhaslistenersname} + */ + hasListeners(name: string): boolean; +} + +/** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} + */ +export type Events = string | EventOptionsObject | Podium; + +/** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} + */ +export interface EventOptionsObject { + /** the event name string (required). */ + name: string; + /** a string or array of strings specifying the event channels available. Defaults to no channel restrictions (event updates can specify a channel or not). */ + channels?: string | string[]; + /** if true, the data object passed to podium.emit() is cloned before it is passed to the listeners (unless an override specified by each listener). Defaults to false (data is passed as-is). */ + clone?: boolean; + /** if true, the data object passed to podium.emit() must be an array and the listener method is called with each array element passed as a separate argument (unless an override specified by each listener). This should only be used when the emitted data structure is known and predictable. Defaults to false (data is emitted as a single argument regardless of its type). */ + spread?: boolean; + /** if true and the criteria object passed to podium.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). A configuration override can be set by each listener. Defaults to false. */ + tags?: boolean; + /** if true, the same event name can be registered multiple times where the second registration is ignored. Note that if the registration config is changed between registrations, only the first configuration is used. Defaults to false (a duplicate registration will throw an error). */ + shared?: boolean; +} + +/** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumaddlistenercriteria-listener} + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncecriteria-listener} + */ +export interface CriteriaObject { + /** the event name string (required). */ + name: string; + /** if true, the listener method receives an additional callback argument which must be called when the method completes. No other event will be emitted until the callback methods is called. The method signature is function(). If block is set to a positive integer, the value is used to set a timeout after which any pending events will be emitted, ignoring the eventual call to callback. Defaults to false (non blocking). */ + block?: boolean | number; + /** a string or array of strings specifying the event channels to subscribe to. If the event registration specified a list of allowed channels, the channels array must match the allowed channels. If channels are specified, event updates without any channel designation will not be included in the subscription. Defaults to no channels filter. */ + channels?: string | string[]; + /** if true, the data object passed to podium.emit() is cloned before it is passed to the listener method. Defaults to the event registration option (which defaults to false). */ + clone?: boolean; + /** a positive integer indicating the number of times the listener can be called after which the subscription is automatically removed. A count of 1 is the same as calling podium.once(). Defaults to no limit. */ + count?: number; + /** + * the event tags (if present) to subscribe to which can be one of: + * * a tag string. + * * an array of tag strings. + * * an object with the following: + */ + filter?: string | string[] | CriteriaFilterOptionsObject; + /** if true, and the data object passed to podium.emit() is an array, the listener method is called with each array element passed as a separate argument. This should only be used when the emitted data structure is known and predictable. Defaults to the event registration option (which defaults to false). */ + spread?: boolean; + /** if true and the criteria object passed to podium.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). Defaults to the event registration option (which defaults to false). */ + tags?: boolean; + /** the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. */ + listener?: Listener; +} + +/** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ +interface CriteriaFilterOptionsObject { + /** a tag string or array of tag strings. */ + tags?: string | string[]; + /** if true, all tags must be present for the event update to match the subscription. Defaults to false (at least one matching tag). */ + all?: boolean; +} + +/** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ +export type Criteria = string | CriteriaObject; + +/** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ +export interface Listener { + (data: any, tags?: Tags, callback?: () => void): void; +} + +export type Tags = {[tag: string]: boolean}; diff --git a/types/hapi/shot/index.d.ts b/types/hapi/shot/index.d.ts new file mode 100644 index 0000000000..8bace851f1 --- /dev/null +++ b/types/hapi/shot/index.d.ts @@ -0,0 +1,109 @@ +// TODO needs tests +// TODO move to own definition +// Type definitions for shot 3.4 +// Project: https://github.com/hapijs/shot +// Definitions by: AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import * as Http from 'http'; +import * as Stream from 'stream'; + +export interface Shot { + /** + * Injects a fake request into an HTTP server. + * @param dispatchFunc listener function. The same as you would pass to Http.createServer when making a node HTTP server. @see IListener + * @param options request options object @see RequestOptions + * @param callback the callback function @see Callback + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + inject(dispatchFunc: Listener, options: RequestOptions, callback: (res: ResponseObject) => void): void; + + /** + * Checks if given object obj is a Shot Request object. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotisinjectionobj} + */ + isInjection(obj: any): boolean; +} + +/** + * listener function. The same as you would pass to Http.createServer when making a node HTTP server. Has the signature function (req, res) where: + * * req - a simulated request object. Inherits from Stream.Readable. + * * res - a simulated response object. Inherits from node's Http.ServerResponse. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ +export interface Listener { + (req: SimulatedRequestObject, res: SimulatedResponseObject): void; +} + +/** + * a simulated request object. Inherits from Stream.Readable. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ +interface SimulatedRequestObject extends Stream.Readable {} + +/** + * a simulated response object. Inherits from node's Http.ServerResponse. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ +interface SimulatedResponseObject extends Http.ServerResponse {} + +/** + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ +export interface RequestOptions { + /** a string specifying the request URL. */ + url: string; + /** a string specifying the HTTP request method, defaulting to 'GET'. */ + method?: string; + /** a string specifying the HTTP HOST header value to be used if no header is provided, and the url does not include an authority component. Defaults to 'localhost'. */ + authority?: string; + /** an optional object containing request headers. */ + headers?: Headers; + /** an optional string specifying the client remote address. Defaults to '127.0.0.1'. */ + remoteAddress?: string; + /** an optional request payload. Can be a string, Buffer, Stream or object. */ + payload?: string | Buffer | Stream.Stream | {[key: string]: any}; + /** an object containing flags to simulate various conditions: */ + simulate?: { + /** indicates whether the request will fire an end event. Defaults to undefined, meaning an end event will fire. */ + end?: boolean; + /** indicates whether the request payload will be split into chunks. Defaults to `undefined`, meaning payload will not be chunked. */ + split?: boolean; + /** whether the request will emit an error event. Defaults to undefined, meaning no error event will be emitted. If set to true, the emitted error will have a message of 'Simulated'. */ + error?: boolean; + /** whether the request will emit a close event. Defaults to undefined, meaning no close event will be emitted. */ + close?: boolean; + } + /** Optional flag to validate this options object. Defaults to true. */ + validate?: boolean; +} + +interface Headers { + [header: string]: string; +} + +/** + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ +export interface ResponseObject { + /** an object containing the raw request and response objects where: */ + raw: { + /** the simulated request object. */ + req: SimulatedRequestObject; + /** the simulated response object. */ + res: SimulatedResponseObject; + }; + /** an object containing the response headers. */ + headers: Headers; + /** the HTTP status code. */ + statusCode: number; + /** the HTTP status message. */ + statusMessage: string; + /** the payload as a UTF-8 encoded string. */ + payload: string; + /** the raw payload as a Buffer. */ + rawPayload: Buffer; + /** an object containing the response trailers. */ + trailers: {[index: string]: any}; +} diff --git a/types/hapi/tests/connection/table.ts b/types/hapi/tests/connection/table.ts new file mode 100644 index 0000000000..dee4741b07 --- /dev/null +++ b/types/hapi/tests/connection/table.ts @@ -0,0 +1,20 @@ + +// From https://hapijs.com/api/16.1.1#servertablehost + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80, host: 'example.com' }); +server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); + +const connection = server.connections[0]; +const table = connection.table(); + +/* + [ + { + method: 'get', + path: '/example', + settings: { ... } + } + ] +*/ diff --git a/types/hapi/tests/getting-started/01-creating-a-server.ts b/types/hapi/tests/getting-started/01-creating-a-server.ts new file mode 100644 index 0000000000..ce159b39a4 --- /dev/null +++ b/types/hapi/tests/getting-started/01-creating-a-server.ts @@ -0,0 +1,15 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); +server.connection({ port: 3000, host: 'localhost' }); + +// TODO check error can be of type string +server.start((err) => { + + if (err) { + throw err; + } + console.log(`Server running at: ${server.info!.uri}`); +}); diff --git a/types/hapi/tests/getting-started/02-adding-routes.ts b/types/hapi/tests/getting-started/02-adding-routes.ts new file mode 100644 index 0000000000..d52916fdf9 --- /dev/null +++ b/types/hapi/tests/getting-started/02-adding-routes.ts @@ -0,0 +1,30 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); +server.connection({ port: 3000, host: 'localhost' }); + +server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + reply('Hello, world!'); + } +}); + +server.route({ + method: 'GET', + path: '/{name}', + handler: function (request, reply) { + reply('Hello, ' + encodeURIComponent(request.params.name) + '!'); + } +}); + +server.start((err) => { + + if (err) { + throw err; + } + console.log(`Server running at: ${server.info!.uri}`); +}); diff --git a/types/hapi/tests/getting-started/03-serving-static-content.ts b/types/hapi/tests/getting-started/03-serving-static-content.ts new file mode 100644 index 0000000000..4990c3aa40 --- /dev/null +++ b/types/hapi/tests/getting-started/03-serving-static-content.ts @@ -0,0 +1,22 @@ +'use strict'; + +import * as Hapi from 'hapi'; +import Inert from 'inert'; + +const server = new Hapi.Server(); +server.connection({ port: 3000, host: 'localhost' }); + +server.register(Inert, (err) => { + + if (err) { + throw err; + } + + server.route({ + method: 'GET', + path: '/hello', + handler: function (request, reply) { + reply.file('./public/hello.html'); + } + }); +}); diff --git a/types/hapi/tests/getting-started/04-using-plugins.ts b/types/hapi/tests/getting-started/04-using-plugins.ts new file mode 100644 index 0000000000..8260b1a4ab --- /dev/null +++ b/types/hapi/tests/getting-started/04-using-plugins.ts @@ -0,0 +1,54 @@ +'use strict'; + +import * as Hapi from 'hapi'; +const Good = require('good'); + +const server = new Hapi.Server(); +server.connection({ port: 3000, host: 'localhost' }); + +server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + reply('Hello, world!'); + } +}); + +server.route({ + method: 'GET', + path: '/{name}', + handler: function (request, reply) { + reply('Hello, ' + encodeURIComponent(request.params.name) + '!'); + } +}); + +server.register({ + register: Good, + options: { + reporters: { + console: [{ + module: 'good-squeeze', + name: 'Squeeze', + args: [{ + response: '*', + log: '*' + }] + }, { + module: 'good-console' + }, 'stdout'] + } + } +}, (err) => { + + if (err) { + throw err; // something bad happened loading the plugin + } + + server.start((err) => { + + if (err) { + throw err; + } + server.log('info', 'Server running at: ' + server.info!.uri); + }); +}); diff --git a/types/hapi/tests/path/catch-all.ts b/types/hapi/tests/path/catch-all.ts new file mode 100644 index 0000000000..c9002392b1 --- /dev/null +++ b/types/hapi/tests/path/catch-all.ts @@ -0,0 +1,15 @@ + +// From https://hapijs.com/api/16.1.1#catch-all-route + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.route({ + method: '*', + path: '/{p*}', + handler: function (request, reply) { + + return reply('The page was not found').code(404); + } +}); diff --git a/types/hapi/tests/path/parameters.ts b/types/hapi/tests/path/parameters.ts new file mode 100644 index 0000000000..62bbfcc638 --- /dev/null +++ b/types/hapi/tests/path/parameters.ts @@ -0,0 +1,33 @@ + +// From https://hapijs.com/api/16.1.1#path-parameters + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const getAlbum: Hapi.RouteHandler = function (request, reply) { + + return reply('You asked for ' + + (request.params.song ? request.params.song + ' from ' : '') + + request.params.album); +}; + +server.route({ + path: '/{album}/{song?}', + method: 'GET', + handler: getAlbum +}); + +// Example 2 + +const getPerson: Hapi.RouteHandler = function (request, reply) { + + const nameParts = request.params.name.split('/'); + return reply({ first: nameParts[0], last: nameParts[1] }); +}; + +server.route({ + path: '/person/{name*2}', // Matches '/person/john/doe' + method: 'GET', + handler: getPerson +}); diff --git a/types/hapi/tests/plugins/options.ts b/types/hapi/tests/plugins/options.ts new file mode 100644 index 0000000000..cd192f1996 --- /dev/null +++ b/types/hapi/tests/plugins/options.ts @@ -0,0 +1,36 @@ + +// From https://hapijs.com/api/16.1.1#serverinfo + +import * as Hapi from 'hapi'; + +// added in addition to code from docs +interface PluginOptions { + quantity: number; +} + +// modified from docs +var registerFunction: Hapi.PluginFunction = function(server, options, next) { + + server.route({ + method: 'GET', + path: '/test', + handler: function (request, reply) { + + // modified from docs + return reply(`ok ${options.quantity}`); + } + }); + + return next(); +}; + +var attributes: Hapi.PluginAttributes = { + name: 'test', + version: '1.0.0' +}; + +var attributes: Hapi.PluginAttributes = { + pkg: {} // require('./package.json'), +}; + +registerFunction.attributes = attributes; diff --git a/types/hapi/tests/reply/continue.ts b/types/hapi/tests/reply/continue.ts new file mode 100644 index 0000000000..de6994fbd0 --- /dev/null +++ b/types/hapi/tests/reply/continue.ts @@ -0,0 +1,15 @@ + +// From https://hapijs.com/api/16.1.1#replycontinueresult + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const onRequest: Hapi.ServerExtRequestHandler = function (request, reply) { + + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); +}; + +server.ext('onRequest', onRequest); diff --git a/types/hapi/tests/reply/entity.ts b/types/hapi/tests/reply/entity.ts new file mode 100644 index 0000000000..cfcce6de25 --- /dev/null +++ b/types/hapi/tests/reply/entity.ts @@ -0,0 +1,24 @@ + +// From https://hapijs.com/api/16.1.1#replyentityoptions + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.route({ + method: 'GET', + path: '/', + config: { + cache: { expiresIn: 5000 }, + handler: function (request, reply) { + + const response = reply.entity({ etag: 'abc' }); + if (response) { + response.header('X', 'y'); + return; + } + + return reply('ok'); + } + } +}); diff --git a/types/hapi/tests/reply/redirect.ts b/types/hapi/tests/reply/redirect.ts new file mode 100644 index 0000000000..5baf892ac1 --- /dev/null +++ b/types/hapi/tests/reply/redirect.ts @@ -0,0 +1,8 @@ + +// From https://hapijs.com/api/16.1.1#replyredirecturi + +import * as Hapi from 'hapi'; +const handler: Hapi.RouteHandler = function (request, reply) { + + return reply.redirect('http://example.com'); +}; diff --git a/types/hapi/tests/reply/reply.ts b/types/hapi/tests/reply/reply.ts new file mode 100644 index 0000000000..31f3bff9b4 --- /dev/null +++ b/types/hapi/tests/reply/reply.ts @@ -0,0 +1,22 @@ + +// From https://hapijs.com/api/16.1.1#replyerr-result + +import * as Hapi from 'hapi'; + +// verbose notation + +const handler: Hapi.RouteHandler = function (request, reply) { + + const response = reply('success'); + response.type('text/plain'); + response.header('X-Custom', 'some-value'); +}; + +// Chained notation + +const handler2: Hapi.RouteHandler = function (request, reply) { + + return reply('success') + .type('text/plain') + .header('X-Custom', 'some-value'); +}; \ No newline at end of file diff --git a/types/hapi/tests/reply/state_cookie.ts b/types/hapi/tests/reply/state_cookie.ts new file mode 100644 index 0000000000..bf94219311 --- /dev/null +++ b/types/hapi/tests/reply/state_cookie.ts @@ -0,0 +1,33 @@ + +// from https://hapijs.com/tutorials/cookies?lang=en_US + +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.state('data', { + ttl: null, + isSecure: true, + isHttpOnly: true, + encoding: 'base64json', + clearInvalid: false, // remove invalid cookies + strictHeader: true // don't allow violations of RFC 6265 +}); + +server.route({ + method: 'GET', + path: '/say-hello', + config: { + state: { + parse: true, // parse and store in request.state + failAction: 'error' // may also be 'ignore' or 'log' + } + }, + handler: function(request, reply) { + // TODO test this + reply('Hello').state('data', { firstVisit: false }); + } +}) + + diff --git a/types/hapi/tests/request/event-types.ts b/types/hapi/tests/request/event-types.ts new file mode 100644 index 0000000000..0946f0a0ed --- /dev/null +++ b/types/hapi/tests/request/event-types.ts @@ -0,0 +1,30 @@ + +// From https://hapijs.com/api/16.1.1#requestsetmethodmethod + +import * as Hapi from 'hapi'; +const Crypto = require('crypto'); +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const onRequest: Hapi.ServerExtRequestHandler = function (request, reply) { + + const hash = Crypto.createHash('sha1'); + request.on('peek', (chunk) => { + + hash.update(chunk); + }); + + request.once('finish', () => { + + console.log(hash.digest('hex')); + }); + + request.once('disconnect', () => { + + console.error('request aborted'); + }); + + return reply.continue(); +}; + +server.ext('onRequest', onRequest); diff --git a/types/hapi/tests/request/generate-response.ts b/types/hapi/tests/request/generate-response.ts new file mode 100644 index 0000000000..c30c3a7be5 --- /dev/null +++ b/types/hapi/tests/request/generate-response.ts @@ -0,0 +1,21 @@ + +// From https://hapijs.com/api/16.1.1#requestgenerateresponsesource-options + +import * as Hapi from 'hapi'; + +// Added in addition to code from docs +function promiseMethod() { + return Promise.resolve(true); +} + +const handler: Hapi.ServerExtRequestHandler = function (request, reply) { + + const result = promiseMethod().then((thing: boolean) => { + + if (!thing) { + return request.generateResponse().code(214); + } + return thing; + }); + return reply(result); +}; diff --git a/types/hapi/tests/request/get-log.ts b/types/hapi/tests/request/get-log.ts new file mode 100644 index 0000000000..289bdd3282 --- /dev/null +++ b/types/hapi/tests/request/get-log.ts @@ -0,0 +1,12 @@ + +// From https://hapijs.com/api/16.1.1#requestgetlogtags-internal + +import * as Hapi from 'hapi'; + +var request: Hapi.Request = {}; + +request.getLog(); +request.getLog('error'); +request.getLog(['error', 'auth']); +request.getLog(['error'], true); +request.getLog(false); diff --git a/types/hapi/tests/request/log.ts b/types/hapi/tests/request/log.ts new file mode 100644 index 0000000000..1c2da1f3b0 --- /dev/null +++ b/types/hapi/tests/request/log.ts @@ -0,0 +1,19 @@ + +// From https://hapijs.com/api/16.1.1#requestlogtags-data-timestamp + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80, routes: { log: true, security: false } }); + +server.on('request', (request, event, tags) => { + + if (tags.error) { + console.log(event); + } +}); + +const handler: Hapi.RouteHandler = function (request, reply) { + + request.log(['test', 'error'], 'Test event'); + return reply(); +}; diff --git a/types/hapi/tests/request/set-method.ts b/types/hapi/tests/request/set-method.ts new file mode 100644 index 0000000000..7269e6255f --- /dev/null +++ b/types/hapi/tests/request/set-method.ts @@ -0,0 +1,15 @@ + +// From https://hapijs.com/api/16.1.1#requestsetmethodmethod + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const onRequest: Hapi.ServerExtRequestHandler = function (request, reply) { + + // Change all requests to 'GET' + request.setMethod('GET'); + return reply.continue(); +}; + +server.ext('onRequest', onRequest); diff --git a/types/hapi/tests/request/set-url.ts b/types/hapi/tests/request/set-url.ts new file mode 100644 index 0000000000..4add3c5a17 --- /dev/null +++ b/types/hapi/tests/request/set-url.ts @@ -0,0 +1,32 @@ + +// From https://hapijs.com/api/16.1.1#requestseturlurl-striptrailingslash + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +var onRequest: Hapi.ServerExtRequestHandler = function (request, reply) { + + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); +}; + +server.ext('onRequest', onRequest); + +// Example 2 + +const Url = require('url'); +const Qs = require('qs'); + +onRequest = function (request, reply) { + + const uri = request.raw.req.url; + const parsed = Url.parse(uri, false); + parsed.query = Qs.parse(parsed.query); + request.setUrl(parsed); + + return reply.continue(); +}; + +server.ext('onRequest', onRequest); diff --git a/types/hapi/tests/request/tail.ts b/types/hapi/tests/request/tail.ts new file mode 100644 index 0000000000..9c68ccb8f2 --- /dev/null +++ b/types/hapi/tests/request/tail.ts @@ -0,0 +1,26 @@ + +// From https://hapijs.com/api/16.1.1#requestsetmethodmethod + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const get: Hapi.RouteHandler = function (request, reply) { + + const dbTail = request.tail('write to database'); + + var db: any; + db.save('key', 'value', () => { + + dbTail(); + }); + + return reply('Success!'); +}; + +server.route({ method: 'GET', path: '/', handler: get }); + +server.on('tail', (request) => { + + console.log('Request completed including db activity'); +}); diff --git a/types/hapi/tests/response/error-representation.ts b/types/hapi/tests/response/error-representation.ts new file mode 100644 index 0000000000..8b9b1099f9 --- /dev/null +++ b/types/hapi/tests/response/error-representation.ts @@ -0,0 +1,33 @@ + +// From https://hapijs.com/api/16.1.1#error-transformation + +import * as Hapi from 'hapi'; +import Vision from '../../vision'; +const server = new Hapi.Server(); +server.register(Vision, {}, (err) => { + server.views({ + engines: { + html: require('handlebars') + } + }); +}); +server.connection({ port: 80 }); + +const preResponse: Hapi.ServerExtRequestHandler = function (request, reply) { + + const response = request.response; + if (!response.isBoom) { + return reply.continue(); + } + + // Replace error with friendly HTML + + const error = response; + const ctx = { + message: (error.output!.statusCode === 404 ? 'page not found' : 'something went wrong') + }; + + return reply.view('error', ctx); +}; + +server.ext('onPreResponse', preResponse); diff --git a/types/hapi/tests/response/error.ts b/types/hapi/tests/response/error.ts new file mode 100644 index 0000000000..0ef503df12 --- /dev/null +++ b/types/hapi/tests/response/error.ts @@ -0,0 +1,25 @@ + +// From https://hapijs.com/api/16.1.1#error-response + +import * as Hapi from 'hapi'; +const Boom = require('boom'); + +const server = new Hapi.Server(); + +server.route({ + method: 'GET', + path: '/badRequest', + handler: function (request, reply) { + + return reply(Boom.badRequest('Unsupported parameter')); + } +}); + +server.route({ + method: 'GET', + path: '/internal', + handler: function (request, reply) { + + return reply(new Error('unexpect error')); + } +}); diff --git a/types/hapi/tests/response/events.ts b/types/hapi/tests/response/events.ts new file mode 100644 index 0000000000..6f927ce5f7 --- /dev/null +++ b/types/hapi/tests/response/events.ts @@ -0,0 +1,30 @@ + +// From https://hapijs.com/api/16.1.1#response-events + +import * as Hapi from 'hapi'; +const Crypto = require('crypto'); +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const preResponse: Hapi.ServerExtRequestHandler = function (request, reply) { + + const response = request.response; + if (response.isBoom) { + return reply(); + } + + const hash = Crypto.createHash('sha1'); + response.on('peek', (chunk) => { + + hash.update(chunk); + }); + + response.once('finish', () => { + + console.log(hash.digest('hex')); + }); + + return reply.continue(); +}; + +server.ext('onPreResponse', preResponse); diff --git a/types/hapi/tests/response/flow-control.ts b/types/hapi/tests/response/flow-control.ts new file mode 100644 index 0000000000..bc18a36aff --- /dev/null +++ b/types/hapi/tests/response/flow-control.ts @@ -0,0 +1,14 @@ + +// From https://hapijs.com/api/16.1.1#flow-control + +import * as Hapi from 'hapi'; + +const handler = function (request: Hapi.Request, reply: Hapi.ReplyWithContinue) { + + const response = reply('success').hold(); + + setTimeout(() => { + + response.send(); + }, 1000); +}; diff --git a/types/hapi/tests/route/additional-options.ts b/types/hapi/tests/route/additional-options.ts new file mode 100644 index 0000000000..2e51787742 --- /dev/null +++ b/types/hapi/tests/route/additional-options.ts @@ -0,0 +1,16 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +var authConfig: Hapi.RouteAdditionalConfigurationOptions = { + app: {} +}; + +// Handler in config +const user: Hapi.RouteAdditionalConfigurationOptions = { + cache: { expiresIn: 5000 }, + handler: function (request, reply) { + + return reply({ name: 'John' }); + } +}; diff --git a/types/hapi/tests/route/auth.ts b/types/hapi/tests/route/auth.ts new file mode 100644 index 0000000000..b57507eb8c --- /dev/null +++ b/types/hapi/tests/route/auth.ts @@ -0,0 +1,22 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +var routeMoreConfig: Hapi.RouteAdditionalConfigurationOptions = { + auth: false, +} +routeMoreConfig = { + auth: 'some_strategy', +} +routeMoreConfig = { + auth: { + mode: 'required', + strategies: ['strat1', 'strat2'], + strategy: 'should not be given when strategies given', + payload: false, + access: { + scope: false, + entity: 'any', + } + } +} diff --git a/types/hapi/tests/route/config.ts b/types/hapi/tests/route/config.ts new file mode 100644 index 0000000000..16457395f8 --- /dev/null +++ b/types/hapi/tests/route/config.ts @@ -0,0 +1,46 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +// different methods +var routeConfig: Hapi.RouteConfiguration = { + path: '/signin', + method: 'PUT', + vhost: 'site.coms', +}; +var routeConfig: Hapi.RouteConfiguration = { + path: '/signin', + method: '*' +}; +var routeConfig: Hapi.RouteConfiguration = { + path: '/signin', + method: ['OPTIONS', '*'] +}; + +// different handlers +var routeConfig: Hapi.RouteConfiguration = { + path: '/signin', + method: 'PUT', + handler: 'some registered handler' +}; +var routeConfig: Hapi.RouteConfiguration = { + path: '/signin', + method: 'PUT', + handler: function (request, reply) { + return reply('ok'); + } +}; + +const server = new Hapi.Server(); +server.route(routeConfig); + +// Handler in config +const user: Hapi.RouteAdditionalConfigurationOptions = { + cache: { expiresIn: 5000 }, + handler: function (request, reply) { + + return reply({ name: 'John' }); + } +}; + +server.route({method: 'GET', path: '/user', config: user }); diff --git a/types/hapi/tests/route/handler.ts b/types/hapi/tests/route/handler.ts new file mode 100644 index 0000000000..c66d17018e --- /dev/null +++ b/types/hapi/tests/route/handler.ts @@ -0,0 +1,10 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +var handler: Hapi.RouteHandler = function(request, reply) { + reply('success'); +} +var strictHandler: Hapi.RouteHandler = function(request, reply) { + reply(123); +} diff --git a/types/hapi/tests/route/prerequisites.ts b/types/hapi/tests/route/prerequisites.ts new file mode 100644 index 0000000000..c4ca7650fa --- /dev/null +++ b/types/hapi/tests/route/prerequisites.ts @@ -0,0 +1,47 @@ + +// From https://hapijs.com/api/16.1.1#route-prerequisites + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const pre1: Hapi.RoutePrerequisiteRequestHandler = function (request, reply) { + + return reply('Hello'); +}; + +const pre2: Hapi.RoutePrerequisiteRequestHandler = function (request, reply) { + + return reply('World'); +}; + +const pre3: Hapi.RoutePrerequisiteRequestHandler = function (request, reply) { + const pre = request.pre as Pre1; + return reply(pre.m1 + ' ' + pre.m2); +}; + +server.route({ + method: 'GET', + path: '/', + config: { + pre: [ + [ + // m1 and m2 executed in parallel + { method: pre1, assign: 'm1' }, + { method: pre2, assign: 'm2' } + ], + { method: pre3, assign: 'm3' }, + ], + handler: function (request, reply) { + const pre = request.pre as Pre2; + return reply(pre.m3 + '\n'); + } + } +}); +interface Pre1 { + m1: string; + m2: string; +} +interface Pre2 extends Pre1 { + m3: string; +} diff --git a/types/hapi/tests/route/public-interface.ts b/types/hapi/tests/route/public-interface.ts new file mode 100644 index 0000000000..e61fb8275f --- /dev/null +++ b/types/hapi/tests/route/public-interface.ts @@ -0,0 +1,17 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +var route = {}; + +var a: string = route.method; +var a: string = route.path; +if (typeof(route.vhost) == 'string') { + var a: string = route.vhost; +} else { + var b: string[] = route.vhost!; +} +var c: Hapi.ServerRealm = route.realm; +var d: Hapi.RouteAdditionalConfigurationOptions = route.settings; +var a: string = route.fingerprint; +var e: boolean = route.auth.access( {}); diff --git a/types/hapi/tests/server/app.ts b/types/hapi/tests/server/app.ts new file mode 100644 index 0000000000..dac8921c20 --- /dev/null +++ b/types/hapi/tests/server/app.ts @@ -0,0 +1,11 @@ + +// From https://hapijs.com/api/16.1.1#serverapp + +import * as Hapi from 'hapi'; +var server = new Hapi.Server(); +server.app.key = 'value'; + +const handler: Hapi.RouteHandler = function (request, reply) { + + return reply(request.server.app.key); +}; diff --git a/types/hapi/tests/server/auth.ts b/types/hapi/tests/server/auth.ts new file mode 100644 index 0000000000..3f28732d42 --- /dev/null +++ b/types/hapi/tests/server/auth.ts @@ -0,0 +1,101 @@ + +// From https://hapijs.com/api/16.1.1#serverauthapi + +import * as Hapi from 'hapi'; +import * as Boom from 'boom'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +var scheme: Hapi.ServerAuthScheme = function (server, options) { + + return { + api: { + settings: { + x: 5 + } + }, + authenticate: function (request, reply) { + + const req = request.raw.req; + const authorization = req.headers.authorization; + if (!authorization) { + return reply(Boom.unauthorized(null, 'Custom')); + } + + return reply.continue({ credentials: { user: 'john' } }); + } + }; +}; + +server.auth.scheme('custom', scheme); +server.auth.strategy('default', 'custom'); + +console.log(server.auth.api.default.settings.x); // 5 + +// Default + +server.auth.default('default'); + +server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + + return reply(request.auth.credentials.user); + } +}); + +// scheme + +scheme = function (server, options) { + + return { + authenticate: function (request, reply) { + + const req = request.raw.req; + const authorization = req.headers.authorization; + if (!authorization) { + return reply(Boom.unauthorized(null, 'Custom')); + } + + return reply.continue({ credentials: { user: 'john' } }); + } + }; +}; + +server.auth.scheme('custom', scheme); + +// strategy + +server.auth.scheme('custom', scheme); +server.auth.strategy('default', 'custom'); + +server.route({ + method: 'GET', + path: '/', + config: { + auth: 'default', + handler: function (request, reply) { + + return reply(request.auth.credentials.user); + } + } +}); + +// test + +server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + + request.server.auth.test('default', request, (err, credentials) => { + + if (err) { + return reply({ status: false }); + } + + return reply({ status: true, user: (credentials as any).name }); + }); + } +}); diff --git a/types/hapi/tests/server/bind.ts b/types/hapi/tests/server/bind.ts new file mode 100644 index 0000000000..2741e16c82 --- /dev/null +++ b/types/hapi/tests/server/bind.ts @@ -0,0 +1,24 @@ + +// From https://hapijs.com/api/16.1.1#serverbindcontext + +import * as Hapi from 'hapi'; + +interface HandlerThis { + message: string; +} + +const handler: Hapi.RouteHandler = function (this: HandlerThis, request, reply) { + + return reply(this.message); +}; + +var register: Hapi.PluginFunction<{}> = function (server, options, next) { + + const bind: HandlerThis = { + message: 'hello' + }; + + server.bind(bind); + server.route({ method: 'GET', path: '/', handler: handler }); + return next(); +}; diff --git a/types/hapi/tests/server/cache.ts b/types/hapi/tests/server/cache.ts new file mode 100644 index 0000000000..4cb9eaa4b7 --- /dev/null +++ b/types/hapi/tests/server/cache.ts @@ -0,0 +1,33 @@ + +// From https://hapijs.com/api/16.1.1#servercacheoptions + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const cache = server.cache({ segment: 'countries', expiresIn: 60 * 60 * 1000 }); +cache.set('norway', { capital: 'oslo' }, null, (err) => { + + cache.get('norway', (err, value, cached, log) => { + + // value === { capital: 'oslo' }; + }); +}); + +// provision +// From https://hapijs.com/api/16.1.1#servercacheprovisionoptions-callback + +server.initialize((err) => { + + server.cache.provision({ engine: require('catbox-memory'), name: 'countries' }, (err) => { + + const cache = server.cache({ cache: 'countries', expiresIn: 60 * 60 * 1000 }); + cache.set('norway', { capital: 'oslo' }, null, (err) => { + + cache.get('norway', (err, value, cached, log) => { + + // value === { capital: 'oslo' }; + }); + }); + }); +}); diff --git a/types/hapi/tests/server/connection-options.ts b/types/hapi/tests/server/connection-options.ts new file mode 100644 index 0000000000..3a526307db --- /dev/null +++ b/types/hapi/tests/server/connection-options.ts @@ -0,0 +1,39 @@ + +// From https://hapijs.com/api/16.1.1#serverconnectionoptions + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); + +const web = server.connection({ port: 8000, host: 'example.com', labels: ['web'] }); +const admin = server.connection({ port: 8001, host: 'example.com', labels: ['admin'] }); + +server.connections.length === 2; +web.connections.length === 1; +admin.connections.length === 1; + +// example 2 + +var registerFunction: Hapi.PluginFunction<{}> = function (srv, options, next) { + + // Use the 'srv' argument to add a new connection + + const server = srv.connection(); + + // Use the 'server' return value to manage the new connection + + server.route({ + path: '/', + method: 'GET', + handler: function (request, reply) { + + return reply('hello'); + } + }); + + return next(); +}; + +registerFunction.attributes = { + name: 'example', + connections: false +}; diff --git a/types/hapi/tests/server/connections.ts b/types/hapi/tests/server/connections.ts new file mode 100644 index 0000000000..fb2f9f303e --- /dev/null +++ b/types/hapi/tests/server/connections.ts @@ -0,0 +1,13 @@ + +// From https://hapijs.com/api/16.1.1#serverconnections + +import * as Hapi from 'hapi'; +var server = new Hapi.Server(); +server.connection({ port: 80, labels: 'a' }); +server.connection({ port: 8080, labels: 'b' }); + +// server.connections.length === 2 + +const a = server.select('a'); + +// a.connections.length === 1 diff --git a/types/hapi/tests/server/decoder.ts b/types/hapi/tests/server/decoder.ts new file mode 100644 index 0000000000..edd52485ea --- /dev/null +++ b/types/hapi/tests/server/decoder.ts @@ -0,0 +1,9 @@ + +// From https://hapijs.com/api/16.1.1#serverdecoderencoding-decoder + +import * as Hapi from 'hapi'; +import * as Zlib from 'zlib'; +const server = new Hapi.Server(); +server.connection({ port: 80, routes: { payload: { compression: { special: { chunkSize: 16 * 1024 } } } } }); + +server.decoder('special', (options) => Zlib.createGunzip(options)); diff --git a/types/hapi/tests/server/decorate.ts b/types/hapi/tests/server/decorate.ts new file mode 100644 index 0000000000..540e29c951 --- /dev/null +++ b/types/hapi/tests/server/decorate.ts @@ -0,0 +1,68 @@ + +// From https://hapijs.com/api/16.1.1#serverdecoratetype-property-method-options + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const success = function (this: Hapi.ReplyNoContinue) { + + return this.response({ status: 'ok' }); +}; + +server.decorate('reply', 'success', success); + +declare module 'hapi' { + interface Base_Reply { + success: () => Response; + } +} + +server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + + return reply.success(); + } +}); + +// custom typing code for decorating request + +server.decorate('request', 'some_request_method', (request) => { + return function() { + // Do some sort of processing; + return request.id; + } +}, {apply: true}); + +declare module 'hapi' { + interface Request { + some_request_method(): void; + } +} + +server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + request.some_request_method(); + return reply(); + } +}); + +// custom typing code for decorating server + +server.decorate('server', 'some_server_method', (server: Hapi.Server) => { + return function(arg1: number){ + return "some text"; + } +}); + +declare module 'hapi' { + interface Server { + some_server_method(arg1: number): string; + } +} + +server.some_server_method(1); diff --git a/types/hapi/tests/server/dependency.ts b/types/hapi/tests/server/dependency.ts new file mode 100644 index 0000000000..1d63397cf2 --- /dev/null +++ b/types/hapi/tests/server/dependency.ts @@ -0,0 +1,24 @@ + +// From https://hapijs.com/api/16.1.1#serverdependencydependencies-after + +import * as Hapi from 'hapi'; + +const after: Hapi.AfterDependencyLoadCallback = function (server, next) { + + // Additional plugin registration logic + return next(); +}; + +var registerFunction: Hapi.PluginFunction<{}> = function (server, options, next) { + + server.dependency('yar', after); + return next(); +}; + +// Example 2, via attributes + +registerFunction.attributes = { + name: 'test', + version: '1.0.0', + dependencies: 'yar' +}; diff --git a/types/hapi/tests/server/emit.ts b/types/hapi/tests/server/emit.ts new file mode 100644 index 0000000000..d248f7d4ab --- /dev/null +++ b/types/hapi/tests/server/emit.ts @@ -0,0 +1,12 @@ + +// From https://hapijs.com/api/16.1.1#serveremitcriteria-data-callback + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.event('test'); +server.on('test', (update: Update) => console.log(update)); +type Update = string; +var toSend: Update = 'hello'; +server.emit('test', toSend); diff --git a/types/hapi/tests/server/encoder.ts b/types/hapi/tests/server/encoder.ts new file mode 100644 index 0000000000..f35102b776 --- /dev/null +++ b/types/hapi/tests/server/encoder.ts @@ -0,0 +1,9 @@ + +// From https://hapijs.com/api/16.1.1#serverencoderencoding-encoder + +import * as Hapi from 'hapi'; +import * as Zlib from 'zlib'; +const server = new Hapi.Server(); +server.connection({ port: 80, routes: { compression: { special: { chunkSize: 16 * 1024 } } } }); + +server.encoder('special', (options) => Zlib.createGzip(options)); diff --git a/types/hapi/tests/server/event.ts b/types/hapi/tests/server/event.ts new file mode 100644 index 0000000000..f0c2215f12 --- /dev/null +++ b/types/hapi/tests/server/event.ts @@ -0,0 +1,12 @@ + +// From https://hapijs.com/api/16.1.1#servereventevents + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.event('test'); +server.on('test', (update: Update) => console.log(update)); +type Update = string; +var toSend: Update = 'hello'; +server.emit('test', toSend); diff --git a/types/hapi/tests/server/expose.ts b/types/hapi/tests/server/expose.ts new file mode 100644 index 0000000000..effbc1ae49 --- /dev/null +++ b/types/hapi/tests/server/expose.ts @@ -0,0 +1,17 @@ + +// From https://hapijs.com/api/16.1.1#serverexposekey-value + +import * as Hapi from 'hapi'; +var register: Hapi.PluginFunction<{}> = function (server, options, next) { + + server.expose('util', function () { console.log('something'); }); + return next(); +}; + +// example of `expose()` merging object + +register = function (server, options, next) { + + server.expose({ util: function () { console.log('something'); } }); + return next(); +}; diff --git a/types/hapi/tests/server/ext.ts b/types/hapi/tests/server/ext.ts new file mode 100644 index 0000000000..410c913c41 --- /dev/null +++ b/types/hapi/tests/server/ext.ts @@ -0,0 +1,46 @@ + +// From https://hapijs.com/api/16.1.1#serverextevents + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.ext({ + type: 'onRequest', + method: function (request, reply) { + + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); + } +}); + +var handler: Hapi.RouteHandler = function (request, reply) { + + return reply({ status: 'ok' }); +}; + +server.route({ method: 'GET', path: '/test', handler: handler }); +server.start((err) => { }); + +// All requests will get routed to '/test' + + +// Example 2 + +server.ext('onRequest', function (request, reply) { + + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); +}); + +handler = function (request, reply) { + + return reply({ status: 'ok' }); +}; + +server.route({ method: 'GET', path: '/test', handler: handler }); +server.start((err) => { }); + +// All requests will get routed to '/test' diff --git a/types/hapi/tests/server/handler.ts b/types/hapi/tests/server/handler.ts new file mode 100644 index 0000000000..713fe7f114 --- /dev/null +++ b/types/hapi/tests/server/handler.ts @@ -0,0 +1,55 @@ + +// From https://hapijs.com/api/16.1.1#serverhandlername-method + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ host: 'localhost', port: 8000 }); + +// Defines new handler for routes on this server +var handler: Hapi.MakeRouteHandler = function (route, options) { + + return function (request, reply) { + + return reply('new handler: ' + options.msg); + } +}; + +server.handler('test', handler); + +interface TestPluginConfig { + msg: string; +} + +declare module 'hapi' { + interface RouteHandlerPlugins { + test?: TestPluginConfig; + } +} + +server.route({ + method: 'GET', + path: '/', + handler: { test: { msg: 'test' } } +}); + +server.start(function (err) { }); + +// example 2 + +handler = function (route, options: TestPluginConfig) { + + return function (request, reply) { + + return reply('new handler: ' + options.msg); + } +}; + +// Change the default payload processing for this handler +handler.defaults = { + payload: { + output: 'stream', + parse: false + } +}; + +server.handler('test', handler); diff --git a/types/hapi/tests/server/info.ts b/types/hapi/tests/server/info.ts new file mode 100644 index 0000000000..eaf1b39747 --- /dev/null +++ b/types/hapi/tests/server/info.ts @@ -0,0 +1,16 @@ + +// From https://hapijs.com/api/16.1.1#serverinfo + +import assert = require('assert'); +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +var options: Hapi.ServerConnectionOptions = { port: 80 }; +server.connection(options); + +if(server.info) assert(server.info.port === 80); + +options = { port: 8080 }; +server.connection(options); + +assert(server.info === null); +assert(server.connections[1].info.port === 8080); diff --git a/types/hapi/tests/server/initialize.ts b/types/hapi/tests/server/initialize.ts new file mode 100644 index 0000000000..7ef4b51527 --- /dev/null +++ b/types/hapi/tests/server/initialize.ts @@ -0,0 +1,12 @@ + +// From https://hapijs.com/api/16.1.1#serverinitializecallback + +import * as Hapi from 'hapi'; +const Hoek = require('hoek'); +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.initialize((err) => { + + Hoek.assert(!err, err); +}); diff --git a/types/hapi/tests/server/inject.ts b/types/hapi/tests/server/inject.ts new file mode 100644 index 0000000000..130af7489b --- /dev/null +++ b/types/hapi/tests/server/inject.ts @@ -0,0 +1,18 @@ + +// From https://hapijs.com/api/16.1.1#serverinjectoptions-callback + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +const handler: Hapi.RouteHandler = function (request, reply) { + + return reply('Success!'); +}; + +server.route({ method: 'GET', path: '/', handler: handler }); + +server.inject('/', (res) => { + + console.log(res.result); +}); diff --git a/types/hapi/tests/server/listener.ts b/types/hapi/tests/server/listener.ts new file mode 100644 index 0000000000..d7bb6fc5ea --- /dev/null +++ b/types/hapi/tests/server/listener.ts @@ -0,0 +1,19 @@ + +// From https://hapijs.com/api/16.1.1#serverlistener + +import * as Hapi from 'hapi'; +import SocketIO = require('socket.io'); + +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +// https://socket.io/docs/server-api/#server-attach-httpserver-options +const io = SocketIO.listen(server.listener); +io.sockets.on('connection', (socket) => { + + // TODO, FIXME by removing , probably `socket` type given here is + // a wrapper around socket.io. Much less likely is either + // a type error in the TypeScript definitions of socket.io or + // an error in the Hapi docs. + socket.emit( { msg: 'welcome' }); +}); diff --git a/types/hapi/tests/server/load.ts b/types/hapi/tests/server/load.ts new file mode 100644 index 0000000000..ee204c864f --- /dev/null +++ b/types/hapi/tests/server/load.ts @@ -0,0 +1,7 @@ + +// From https://hapijs.com/api/16.1.1#serverload + +import * as Hapi from 'hapi'; +const server = new Hapi.Server({ load: { sampleInterval: 1000 } }); + +var d: number = server.load.rss; diff --git a/types/hapi/tests/server/log.ts b/types/hapi/tests/server/log.ts new file mode 100644 index 0000000000..4507358d60 --- /dev/null +++ b/types/hapi/tests/server/log.ts @@ -0,0 +1,15 @@ + +// From https://hapijs.com/api/16.1.1#serverlogtags-data-timestamp + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.on('log', (event, tags) => { + + if (tags.error) { + console.log(event); + } +}); + +server.log(['test', 'error'], 'Test event'); diff --git a/types/hapi/tests/server/lookup.ts b/types/hapi/tests/server/lookup.ts new file mode 100644 index 0000000000..89ce852700 --- /dev/null +++ b/types/hapi/tests/server/lookup.ts @@ -0,0 +1,19 @@ + +// From https://hapijs.com/api/16.1.1#serverlookupid + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection(); +server.route({ + method: 'GET', + path: '/', + config: { + handler: function (request, reply) { + + return reply(); + }, + id: 'root' + } +}); + +const route = server.lookup('root'); diff --git a/types/hapi/tests/server/match.ts b/types/hapi/tests/server/match.ts new file mode 100644 index 0000000000..f322a31494 --- /dev/null +++ b/types/hapi/tests/server/match.ts @@ -0,0 +1,19 @@ + +// From https://hapijs.com/api/16.1.1#servermatchmethod-path-host + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection(); +server.route({ + method: 'GET', + path: '/', + config: { + handler: function (request, reply) { + + return reply(); + }, + id: 'root' + } +}); + +const route = server.match('get', '/'); diff --git a/types/hapi/tests/server/method.ts b/types/hapi/tests/server/method.ts new file mode 100644 index 0000000000..a67022d250 --- /dev/null +++ b/types/hapi/tests/server/method.ts @@ -0,0 +1,78 @@ + +// From https://hapijs.com/api/16.1.1#servermethodname-method-options + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +// Simple arguments + +const add = function (a: number, b: number, next: Hapi.ServerMethodNext) { + + return next(null, a + b); +}; + +server.method('sum', add, { cache: { expiresIn: 2000, generateTimeout: 100 } }); + +var next: Hapi.ServerMethodNext = (err, result) => { + + console.log(result); +}; +server.methods.sum(4, 5, next); + +// Object argument + +const addArray = function (array: number[], next: Hapi.ServerMethodNext) { + + let sum = 0; + array.forEach((item) => { + + sum += item; + }); + + return next(null, sum); +}; + +server.method('sumObj', addArray, { + cache: { expiresIn: 2000, generateTimeout: 100 }, + generateKey: function (array) { + + return array.join(','); + } +}); + +var next: Hapi.ServerMethodNext = (err, result) => { + + console.log(result); +}; +server.methods.sumObj([5, 6], next); + +// Synchronous method with cache + +const addSync = function (a: number, b: number) { + + return a + b; +}; + +server.method('sumSync', addSync, { cache: { expiresIn: 2000, generateTimeout: 100 }, callback: false }); + +var next: Hapi.ServerMethodNext = (err, result) => { + + console.log(result); +}; +server.methods.sumSync(4, 5, next); + +// server.method(methods) + +var config = { + name: 'sum', + method: add, + options: { + cache: { + expiresIn: 2000, + generateTimeout: 100 + } + } +}; +server.method(config); +server.method([config]); diff --git a/types/hapi/tests/server/methods.ts b/types/hapi/tests/server/methods.ts new file mode 100644 index 0000000000..1e2060c3e8 --- /dev/null +++ b/types/hapi/tests/server/methods.ts @@ -0,0 +1,17 @@ + +// From https://hapijs.com/api/16.1.1#servermethods + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); + +const add = function (a: number, b: number, next: (err: Error | null, result: number) => void) { + + return next(null, a + b); +}; + +server.method('add', add); + +server.methods.add(1, 2, (err: Error | null, result: number) => { + + // result === 3 +}); diff --git a/types/hapi/tests/server/mime.ts b/types/hapi/tests/server/mime.ts new file mode 100644 index 0000000000..e2dd25529b --- /dev/null +++ b/types/hapi/tests/server/mime.ts @@ -0,0 +1,21 @@ + +// From https://hapijs.com/api/16.1.1#servermime + +import * as Hapi from 'hapi'; + +const options: Hapi.ServerOptions = { + mime: { + override: { + 'node/module': { + source: 'steve', + compressible: false, + extensions: ['node', 'module', 'npm'], + type: 'node/module' + } + } + } +}; + +const server = new Hapi.Server(options); +server.mime.path('code.js').type === 'application/javascript'; +server.mime.path('file.npm').type === 'node/module'; diff --git a/types/hapi/tests/server/new.ts b/types/hapi/tests/server/new.ts new file mode 100644 index 0000000000..24ac654ecd --- /dev/null +++ b/types/hapi/tests/server/new.ts @@ -0,0 +1,65 @@ +'use strict'; + +import * as Hapi from 'hapi'; + +new Hapi.Server(); +new Hapi.Server({ + app: {some: 'values'}, + cache: require('catbox-redis'), +}); + +const server = new Hapi.Server({ + cache: require('catbox-redis'), + load: { + sampleInterval: 1000 + } +}); + +// Specific cache configuration options +new Hapi.Server({ + cache: { + engine: require('catbox-redis'), + // name: 'optionally omitted when only a single cache used', + } +}); +new Hapi.Server({ + cache: [{ + engine: require('catbox-redis'), + name: 'unique 1', + }, + { + engine: require('catbox-redis'), + name: 'unique 2', + shared: true, + otherOptions: 'will be passed to the catbox strategy', + }] +}); +new Hapi.Server({ + cache: [{ + engine: require('catbox-redis'), + }, + // Does not correctly error but will be caught by hapi at runtime + { + engine: require('catbox-redis'), + }] +}); + +new Hapi.Server({ + connections: { + app: {}, + compression: false, + load: { + maxHeapUsedBytes: 10, + maxRssBytes: 10, + maxEventLoopDelay: 10, + }, + plugins: { + 'some-plugin-name': {options: 'here'} + }, + router: { + isCaseSensitive: false, + stripTrailingSlash: true, + }, + routes: {} + } +}) diff --git a/types/hapi/tests/server/on.ts b/types/hapi/tests/server/on.ts new file mode 100644 index 0000000000..08802fda96 --- /dev/null +++ b/types/hapi/tests/server/on.ts @@ -0,0 +1,43 @@ + +// From https://hapijs.com/api/16.1.1#serveroncriteria-listener +// From https://hapijs.com/api/16.1.1#server-events + +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.event('test'); +server.on('test', (update: Update) => console.log(update)); +type Update = string; +var toSend: Update = 'hello'; +server.emit('test', toSend); + +server.on('log', (event, tags) => { + + if (tags.error) { + console.log('Server error: ' + (event.data || 'unspecified')); + } +}); + +server.on('request', (request, event, tags) => { + + if (tags.received) { + console.log('New request: ' + request.id); + } +}); + +server.on('request-error', (request, err) => { + + console.log('Error response (500) sent for request: ' + request.id + ' because: ' + err.message); +}); + +server.on('response', (request) => { + + console.log('Response sent for request: ' + request.id); +}); + +server.on('route', (route, connection, server) => { + + console.log('New route added: ' + route.path); +}); diff --git a/types/hapi/tests/server/once.ts b/types/hapi/tests/server/once.ts new file mode 100644 index 0000000000..55fdb08ec2 --- /dev/null +++ b/types/hapi/tests/server/once.ts @@ -0,0 +1,14 @@ + +// From https://hapijs.com/api/16.1.1#serveroncecriteria-listener + +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.event('test'); +server.once('test', (update: Update) => console.log(update)); +type Update = string; +var toSend: Update = 'hello'; +server.emit('test', toSend); +server.emit('test', toSend); // Ignored diff --git a/types/hapi/tests/server/path.ts b/types/hapi/tests/server/path.ts new file mode 100644 index 0000000000..20479a795f --- /dev/null +++ b/types/hapi/tests/server/path.ts @@ -0,0 +1,13 @@ + +// From https://hapijs.com/api/16.1.1#serverpathrelativeto + +import * as Hapi from 'hapi'; + +var register: Hapi.PluginFunction<{}> = function (server, options, next) { + + // Assuming the Inert plugin was registered previously + + server.path(__dirname + '../static'); + server.route({ path: '/file', method: 'GET', handler: { file: './test.html' } }); + next(); +}; diff --git a/types/hapi/tests/server/plugins.ts b/types/hapi/tests/server/plugins.ts new file mode 100644 index 0000000000..2ce13ffb2f --- /dev/null +++ b/types/hapi/tests/server/plugins.ts @@ -0,0 +1,15 @@ + +// From https://hapijs.com/api/16.1.1#serverplugins + +import * as Hapi from 'hapi'; + +var registerFunction: Hapi.PluginFunction<{}> = function(server, options, next) { + + server.expose('key', 'value'); + server.plugins.example.key === 'value'; + return next(); +}; + +registerFunction.attributes = { + name: 'example' +}; diff --git a/types/hapi/tests/server/realm.ts b/types/hapi/tests/server/realm.ts new file mode 100644 index 0000000000..31f764b7ef --- /dev/null +++ b/types/hapi/tests/server/realm.ts @@ -0,0 +1,10 @@ + +// From https://hapijs.com/api/16.1.1#serverrealm + +import * as Hapi from 'hapi'; + +var registerFunction: Hapi.PluginFunction<{}> = function(server, options, next) { + + console.log(server.realm.modifiers.route.prefix); + return next(); +}; diff --git a/types/hapi/tests/server/register.ts b/types/hapi/tests/server/register.ts new file mode 100644 index 0000000000..c04e0b16bc --- /dev/null +++ b/types/hapi/tests/server/register.ts @@ -0,0 +1,18 @@ + +// From https://hapijs.com/api/16.1.1#serverregisterplugins-options-callback + +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); + +server.register({ + register: require('plugin_name'), + options: { + message: 'hello' + } +}, (err) => { + + if (err) { + console.log('Failed loading plugin'); + } +}); diff --git a/types/hapi/tests/server/route.ts b/types/hapi/tests/server/route.ts new file mode 100644 index 0000000000..0402fd3e89 --- /dev/null +++ b/types/hapi/tests/server/route.ts @@ -0,0 +1,12 @@ + +// From https://hapijs.com/api/16.1.1#serverrouteoptions + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.route({ method: 'GET', path: '/', handler: function (request, reply) { return reply('ok'); } }); +server.route([ + { method: 'GET', path: '/1', handler: function (request, reply) { return reply('ok'); } }, + { method: 'GET', path: '/2', handler: function (request, reply) { return reply('ok'); } } +]); diff --git a/types/hapi/tests/server/select.ts b/types/hapi/tests/server/select.ts new file mode 100644 index 0000000000..8a25f45abd --- /dev/null +++ b/types/hapi/tests/server/select.ts @@ -0,0 +1,11 @@ + +// From https://hapijs.com/api/16.1.1#serverselectlabels + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80, labels: ['a', 'b'] }); +server.connection({ port: 8080, labels: ['a', 'c'] }); +server.connection({ port: 8081, labels: ['b', 'c'] }); + +const a = server.select('a'); // 80, 8080 +const ac = a.select('c'); // 8080 diff --git a/types/hapi/tests/server/settings.ts b/types/hapi/tests/server/settings.ts new file mode 100644 index 0000000000..c2ec9ce3ed --- /dev/null +++ b/types/hapi/tests/server/settings.ts @@ -0,0 +1,11 @@ + +// From https://hapijs.com/api/16.1.1#serversettings + +import * as Hapi from 'hapi'; +const server = new Hapi.Server({ + app: { + key: 'value' + } +}); + +server.settings.app === { key: 'value' }; diff --git a/types/hapi/tests/server/start.ts b/types/hapi/tests/server/start.ts new file mode 100644 index 0000000000..a15bb79740 --- /dev/null +++ b/types/hapi/tests/server/start.ts @@ -0,0 +1,13 @@ + +// From https://hapijs.com/api/16.1.1#serverstartcallback + +import * as Hapi from 'hapi'; +import * as Hoek from 'hoek'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.start((err) => { + + Hoek.assert(!err, err!); + console.log('Server started at: ' + server.info!.uri); +}); diff --git a/types/hapi/tests/server/state.ts b/types/hapi/tests/server/state.ts new file mode 100644 index 0000000000..2035343a17 --- /dev/null +++ b/types/hapi/tests/server/state.ts @@ -0,0 +1,38 @@ + +// From https://hapijs.com/api/16.1.1#serverstatename-options + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +// Set cookie definition + +server.state('session', { + ttl: 24 * 60 * 60 * 1000, // One day + isSecure: true, + path: '/', + encoding: 'base64json' +}); + +// Set state in route handler + +const handler: Hapi.RouteHandler = function (request, reply) { + + let session = request.state.session; + if (!session) { + session = { user: 'joe' }; + } + + session.last = Date.now(); + + return reply('Success').state('session', session); +}; + +// Example 2 + +server.on('request-internal', (request, event, tags) => { + + if (tags.error && tags.state) { + console.error(event); + } +}); diff --git a/types/hapi/tests/server/stop.ts b/types/hapi/tests/server/stop.ts new file mode 100644 index 0000000000..ddfd07aa8f --- /dev/null +++ b/types/hapi/tests/server/stop.ts @@ -0,0 +1,11 @@ + +// From https://hapijs.com/api/16.1.1#serverstopoptions-callback + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +server.stop({ timeout: 60 * 1000 }, (err) => { + + console.log('Server stopped'); +}); diff --git a/types/hapi/tests/server/table.ts b/types/hapi/tests/server/table.ts new file mode 100644 index 0000000000..abe0707c76 --- /dev/null +++ b/types/hapi/tests/server/table.ts @@ -0,0 +1,9 @@ + +// From https://hapijs.com/api/16.1.1#servertablehost + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.connection({ port: 80, host: 'example.com' }); +server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); + +const table = server.table(); diff --git a/types/hapi/tests/server/version.ts b/types/hapi/tests/server/version.ts new file mode 100644 index 0000000000..064e87e3cd --- /dev/null +++ b/types/hapi/tests/server/version.ts @@ -0,0 +1,6 @@ + +// From http://hapijs.com/api#serversettings + +import * as Hapi from 'hapi'; +const server = new Hapi.Server(); +server.version === '8.0.0' diff --git a/types/hapi/tsconfig.json b/types/hapi/tsconfig.json index c7385884c3..d6604cb6b5 100644 --- a/types/hapi/tsconfig.json +++ b/types/hapi/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" @@ -17,6 +17,87 @@ }, "files": [ "index.d.ts", - "hapi-tests.ts" + "tests/connection/table.ts", + "tests/getting-started/01-creating-a-server.ts", + "tests/getting-started/02-adding-routes.ts", + "tests/getting-started/03-serving-static-content.ts", + "tests/getting-started/04-using-plugins.ts", + "tests/path/catch-all.ts", + "tests/path/parameters.ts", + "tests/plugins/options.ts", + "tests/reply/continue.ts", + "tests/reply/entity.ts", + "tests/reply/redirect.ts", + "tests/reply/reply.ts", + "tests/reply/state_cookie.ts", + "tests/request/event-types.ts", + "tests/request/generate-response.ts", + "tests/request/get-log.ts", + "tests/request/log.ts", + "tests/request/set-method.ts", + "tests/request/set-url.ts", + "tests/request/tail.ts", + "tests/response/error-representation.ts", + "tests/response/error.ts", + "tests/response/events.ts", + "tests/response/flow-control.ts", + "tests/route/additional-options.ts", + "tests/route/auth.ts", + "tests/route/config.ts", + "tests/route/handler.ts", + "tests/route/prerequisites.ts", + "tests/route/public-interface.ts", + "tests/server/app.ts", + "tests/server/auth.ts", + "tests/server/bind.ts", + "tests/server/cache.ts", + "tests/server/connection-options.ts", + "tests/server/connections.ts", + "tests/server/decoder.ts", + "tests/server/decorate.ts", + "tests/server/dependency.ts", + "tests/server/emit.ts", + "tests/server/encoder.ts", + "tests/server/event.ts", + "tests/server/expose.ts", + "tests/server/ext.ts", + "tests/server/handler.ts", + "tests/server/info.ts", + "tests/server/initialize.ts", + "tests/server/inject.ts", + "tests/server/listener.ts", + "tests/server/load.ts", + "tests/server/log.ts", + "tests/server/lookup.ts", + "tests/server/match.ts", + "tests/server/method.ts", + "tests/server/methods.ts", + "tests/server/mime.ts", + "tests/server/new.ts", + "tests/server/on.ts", + "tests/server/once.ts", + "tests/server/path.ts", + "tests/server/plugins.ts", + "tests/server/realm.ts", + "tests/server/register.ts", + "tests/server/route.ts", + "tests/server/select.ts", + "tests/server/settings.ts", + "tests/server/start.ts", + "tests/server/state.ts", + "tests/server/stop.ts", + "tests/server/table.ts", + "tests/server/version.ts", + "catbox/index.d.ts", + "h2o2/index.d.ts", + "h2o2/h2o2-tests.ts", + "json/index.d.ts", + "json/json-tests.ts", + "mime-db/index.d.ts", + "mimos/index.d.ts", + "podium/index.d.ts", + "shot/index.d.ts", + "vision/index.d.ts", + "vision/vision-tests.ts" ] } \ No newline at end of file diff --git a/types/hapi/v12/hapi-tests.ts b/types/hapi/v12/hapi-tests.ts new file mode 100644 index 0000000000..32d1aff704 --- /dev/null +++ b/types/hapi/v12/hapi-tests.ts @@ -0,0 +1,114 @@ +// Copied directly from 918608a5e007d925f4f60a275881057f07c12619 which seems to +// be the last author to work on v12.0 + + +import * as Hapi from 'hapi'; + +// Create a server with a host and port +var server = new Hapi.Server(); +server.connection({ + host: "localhost", + port: 8000 +}); + +// Add plugins +var plugin: any = { + register: function (plugin: Object, options: Object, next: Function) { + next(); + } +}; + +plugin.register.attributes = { + name: "test", + version: "1.0.0" +}; + +// optional options parameter +server.register({}, function (err) {}); + +// optional options.routes.vhost parameter +server.register({}, { select: 'api', routes: { prefix: '/prefix' } }, function (err) {}); + +//server.pack.register(plugin, (err: Object) => { +// if (err) { throw err; } +//}); + +//server.pack.register([plugin], (err: Object) => { +// if (err) { throw err; } +//}); + +// Add server method +var add = function (a: number, b: number, next: (err: any, result?: any, ttl?: number) => void) { + next(null, a + b); +}; + +server.method("sum", add);//, { cache: { expiresIn: 2000 } }); + +server.methods["sum"](4, 5, (err: any, result: any) => { + console.log(result); +}); + +var addArray = function (array: Array, next: (err: any, result?: any, ttl?: number) => void) { + var sum: number = 0; + array.forEach((item: number) => { + sum += item; + }); + next(null, sum); +}; + +server.method("sumObj", addArray, { + //cache: { expiresIn: 2000 }, + generateKey: (array: Array) => { + return array.join(','); + } +}); + +server.methods["sumObj"]([5, 6], (err: any, result: any) => { + console.log(result); +}); + +// Add the route +server.route({ + method: 'GET', + path: '/hello', + handler: function (request: Hapi.Request, reply: Function) { + reply('hello world'); + } +}); + +server.route([{ + method: 'GET', + path: '/hello2', + handler: function (request: Hapi.Request, reply: Function) { + reply('hello world2'); + } +}]); + +// config.validate parameters should be optional +server.route([{ + method: 'GET', + path: '/hello2', + handler: function(request: Hapi.Request, reply: Function) { + reply('hello world2'); + }, + config: { + validate: { + } + } +}]); + +// Should be able to chain reply options +server.route([{ + method: 'GET', + path: '/chained-notation', + handler: function(request: Hapi.Request, reply: Hapi.IReply) { + reply('chained-notation') + .bytes(16) + .code(200) + .type('text/plain') + .header('X-Custom', 'some-value'); + } +}]); + +// Start the server +server.start(); diff --git a/types/hapi/v12/index.d.ts b/types/hapi/v12/index.d.ts new file mode 100644 index 0000000000..13c9e7a28d --- /dev/null +++ b/types/hapi/v12/index.d.ts @@ -0,0 +1,2331 @@ +// Type definitions for hapi 12.0.1 +// Project: http://github.com/spumko/hapi +// Definitions by: Jason Swearingen +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +// Note/Disclaimer: +// Copied directly from 918608a5e007d925f4f60a275881057f07c12619 which seems to +// be the last author to work on v12.0 + + +/// + +declare module "hapi" { + import http = require("http"); + import stream = require("stream"); + import Events = require("events"); + + interface IDictionary { + [key: string]: T; + } + + interface IThenable { + then(onFulfilled?: (value: R) => U | IThenable, onRejected?: (error: any) => U | IThenable): IThenable; + then(onFulfilled?: (value: R) => U | IThenable, onRejected?: (error: any) => void): IThenable; + } + + interface IPromise extends IThenable { + then(onFulfilled?: (value: R) => U | IThenable, onRejected?: (error: any) => U | IThenable): IPromise; + then(onFulfilled?: (value: R) => U | IThenable, onRejected?: (error: any) => void): IPromise; + catch(onRejected?: (error: any) => U | IThenable): IPromise; + } + + /** Boom Module for errors. https://github.com/hapijs/boom + * boom provides a set of utilities for returning HTTP errors. Each utility returns a Boom error response object (instance of Error) which includes the following properties: */ + export interface IBoom extends Error { + /** if true, indicates this is a Boom object instance. */ + isBoom: boolean; + /** convenience bool indicating status code >= 500. */ + isServer: boolean; + /** the error message. */ + message: string; + /** the formatted response.Can be directly manipulated after object construction to return a custom error response.Allowed root keys: */ + output: { + /** the HTTP status code (typically 4xx or 5xx). */ + statusCode: number; + /** an object containing any HTTP headers where each key is a header name and value is the header content. */ + headers: IDictionary; + /** the formatted object used as the response payload (stringified).Can be directly manipulated but any changes will be lost if reformat() is called.Any content allowed and by default includes the following content: */ + payload: { + /** the HTTP status code, derived from error.output.statusCode. */ + statusCode: number; + /** the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from statusCode. */ + error: string; + /** the error message derived from error.message. */ + message: string; + }; + }; + /** reformat()rebuilds error.output using the other object properties. */ + reformat(): void; + + } + + /** cache functionality via the "CatBox" module. */ + export interface ICatBoxCacheOptions { + /** a prototype function or catbox engine object. */ + engine: any; + /** an identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisions as well. */ + name?: string; + /** if true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. */ + shared?: boolean; + } + + /** Any connections configuration server defaults can be included to override and customize the individual connection. */ + export interface IServerConnectionOptions extends IConnectionConfigurationServerDefaults { + /** - the public hostname or IP address. Used only to set server.info.host and server.info.uri. If not configured, defaults to the operating system hostname and if not available, to 'localhost'.*/ + host?: string; + /** - sets the host name or IP address the connection will listen on.If not configured, defaults to host if present, otherwise to all available network interfaces (i.e. '0.0.0.0').Set to 127.0.0.1 or localhost to restrict connection to only those coming from the same machine.*/ + address?: string; + /** - the TCP port the connection will listen to.Defaults to an ephemeral port (0) which uses an available port when the server is started (and assigned to server.info.port).If port is a string containing a '/' character, it is used as a UNIX domain socket path and if it starts with '\.\pipe' as a Windows named pipe.*/ + port?: string | number; + /** - the full public URI without the path (e.g. 'http://example.com:8080').If present, used as the connection info.uri otherwise constructed from the connection settings.*/ + uri?: string; + /** - optional node.js HTTP (or HTTPS) http.Server object or any compatible object.If the listener needs to be manually started, set autoListen to false.If the listener uses TLS, set tls to true.*/ + listener?: any; + /** - indicates that the connection.listener will be started manually outside the framework.Cannot be specified with a port setting.Defaults to true.*/ + autoListen?: boolean; + /** caching headers configuration: */ + cache?: { + /** - an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive.Defaults to [200]. */ + statuses: number[]; + }; + /** - a string or string array of labels used to server.select() specific connections matching the specified labels.Defaults to an empty array [](no labels).*/ + labels?: string | string[]; + /** - used to create an HTTPS connection.The tls object is passed unchanged as options to the node.js HTTPS server as described in the node.js HTTPS documentation.Set to true when passing a listener object that has been configured to use TLS directly. */ + tls?: boolean | { key?: string; cert?: string; pfx?: string; } | Object; + + } + + export interface IConnectionConfigurationServerDefaults { + /** application-specific connection configuration which can be accessed via connection.settings.app. Provides a safe place to store application configuration without potential conflicts with the framework internals. Should not be used to configure plugins which should use plugins[name]. Note the difference between connection.settings.app which is used to store configuration values and connection.app which is meant for storing run-time state. */ + app?: any; + /** connection load limits configuration where: */ + load?: { + /** maximum V8 heap size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxHeapUsedBytes: number; + /** maximum process RSS size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxRssBytes: number; + /** maximum event loop delay duration in milliseconds over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxEventLoopDelay: number; + }; + /** plugin-specific configuration which can later be accessed via connection.settings.plugins. Provides a place to store and pass connection-specific plugin configuration. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between connection.settings.plugins which is used to store configuration values and connection.plugins which is meant for storing run-time state. */ + plugins?: any; + /** controls how incoming request URIs are matched against the routing table: */ + router?: { + /** determines whether the paths '/example' and '/EXAMPLE' are considered different resources. Defaults to true. */ + isCaseSensitive: boolean; + /** removes trailing slashes on incoming paths. Defaults to false. */ + stripTrailingSlash: boolean; + }; + /** a route options object used to set the default configuration for every route. */ + routes?: IRouteAdditionalConfigurationOptions; + state?: IServerState; + } + + /** Note that the options object is deeply cloned and cannot contain any values that are unsafe to perform deep copy on.*/ + export interface IServerOptions { + /** application-specific configuration which can later be accessed via server.settings.app. Note the difference between server.settings.app which is used to store static configuration values and server.app which is meant for storing run-time state. Defaults to {}. */ + app?: any; + /** sets up server-side caching. Every server includes a default cache for storing application state. By default, a simple memory-based cache is created which has limited capacity and capabilities. hapi uses catbox for its cache which includes support for common storage solutions (e.g. Redis, MongoDB, Memcached, and Riak). Caching is only utilized if methods and plugins explicitly store their state in the cache. The server cache configuration only defines the storage container itself. cache can be assigned: + a prototype function (usually obtained by calling require() on a catbox strategy such as require('catbox-redis')). + a configuration object with the following options: + enginea prototype function or catbox engine object. + namean identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisions as well. + sharedif true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. + other options passed to the catbox strategy used. + an array of the above object for configuring multiple cache instances, each with a unique name. When an array of objects is provided, multiple cache connections are established and each array item (except one) must include a name. */ + cache?: string | ICatBoxCacheOptions | Array | any; + /** sets the default connections configuration which can be overridden by each connection where: */ + connections?: IConnectionConfigurationServerDefaults; + /** determines which logged events are sent to the console (this should only be used for development and does not affect which events are actually logged internally and recorded). Set to false to disable all console logging, or to an object*/ + debug?: boolean | { + /** - a string array of server log tags to be displayed via console.error() when the events are logged via server.log() as well as internally generated server logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error. */ + log: string[]; + /** - a string array of request log tags to be displayed via console.error() when the events are logged via request.log() as well as internally generated request logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error.*/ + request: string[]; + }; + /** file system related settings*/ + files?: { + /** sets the maximum number of file etag hash values stored in the etags cache. Defaults to 10000.*/ + etagsCacheMaxSize?: number; + }; + /** process load monitoring*/ + load?: { + /** the frequency of sampling in milliseconds. Defaults to 0 (no sampling).*/ + sampleInterval?: number; + }; + + /** options passed to the mimos module (https://github.com/hapijs/mimos) when generating the mime database used by the server and accessed via server.mime.*/ + mime?: any; + /** if true, does not load the inert (file and directory support), h2o2 (proxy support), and vision (views support) plugins automatically. The plugins can be loaded manually after construction. Defaults to false (plugins loaded). */ + minimal?: boolean; + /** plugin-specific configuration which can later be accessed via server.settings.plugins. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between server.settings.plugins which is used to store static configuration values and server.plugins which is meant for storing run-time state. Defaults to {}.*/ + plugins?: IDictionary; + + } + + export interface IServerViewCompile { + (template: string, options: any): void; + (template: string, options: any, callback: (err: any, compiled: (context: any, options: any, callback: (err: any, rendered: boolean) => void) => void) => void): void; + } + + export interface IServerViewsAdditionalOptions { + /** path - the root file path used to resolve and load the templates identified when calling reply.view().Defaults to current working directory.*/ + path?: string; + /**partialsPath - the root file path where partials are located.Partials are small segments of template code that can be nested and reused throughout other templates.Defaults to no partials support (empty path). + */ + partialsPath?: string; + /**helpersPath - the directory path where helpers are located.Helpers are functions used within templates to perform transformations and other data manipulations using the template context or other inputs.Each '.js' file in the helpers directory is loaded and the file name is used as the helper name.The files must export a single method with the signature function(context) and return a string.Sub - folders are not supported and are ignored.Defaults to no helpers support (empty path).Note that jade does not support loading helpers this way.*/ + helpersPath?: string; + /**relativeTo - a base path used as prefix for path and partialsPath.No default.*/ + relativeTo?: string; + + /**layout - if set to true or a layout filename, layout support is enabled.A layout is a single template file used as the parent template for other view templates in the same engine.If true, the layout template name must be 'layout.ext' where 'ext' is the engine's extension. Otherwise, the provided filename is suffixed with the engine's extension and loaded.Disable layout when using Jade as it will handle including any layout files independently.Defaults to false.*/ + layout?: boolean; + /**layoutPath - the root file path where layout templates are located (using the relativeTo prefix if present). Defaults to path.*/ + layoutPath?: string; + /**layoutKeyword - the key used by the template engine to denote where primary template content should go.Defaults to 'content'.*/ + layoutKeywork?: string; + /**encoding - the text encoding used by the templates when reading the files and outputting the result.Defaults to 'utf8'.*/ + encoding?: string; + /**isCached - if set to false, templates will not be cached (thus will be read from file on every use).Defaults to true.*/ + isCached?: boolean; + /**allowAbsolutePaths - if set to true, allows absolute template paths passed to reply.view().Defaults to false.*/ + allowAbsolutePaths?: boolean; + /**allowInsecureAccess - if set to true, allows template paths passed to reply.view() to contain '../'.Defaults to false.*/ + allowInsecureAccess?: boolean; + /**compileOptions - options object passed to the engine's compile function. Defaults to empty options {}.*/ + compileOptions?: any; + /**runtimeOptions - options object passed to the returned function from the compile operation.Defaults to empty options {}.*/ + runtimeOptions?: any; + /**contentType - the content type of the engine results.Defaults to 'text/html'.*/ + contentType?: string; + /**compileMode - specify whether the engine compile() method is 'sync' or 'async'.Defaults to 'sync'.*/ + compileMode?: string; + /**context - a global context used with all templates.The global context option can be either an object or a function that takes no arguments and returns a context object.When rendering views, the global context will be merged with any context object specified on the handler or using reply.view().When multiple context objects are used, values from the global context always have lowest precedence.*/ + context?: any; + } + + export interface IServerViewsEnginesOptions extends IServerViewsAdditionalOptions { + /**- the npm module used for rendering the templates.The module object must contain: "module", the rendering function. The required function signature depends on the compileMode settings. + * If the compileMode is 'sync', the signature is compile(template, options), the return value is a function with signature function(context, options), and the method is allowed to throw errors.If the compileMode is 'async', the signature is compile(template, options, callback) where callback has the signature function(err, compiled) where compiled is a function with signature function(context, options, callback) and callback has the signature function(err, rendered).*/ + module: { + compile?(template: any, options: any): (context: any, options: any) => void; + compile?(template: any, options: any, callback: (err: any, compiled: (context: any, options: any, callback: (err: any, rendered: any) => void) => void) => void): void; + }; + } + + /**Initializes the server views manager + var Hapi = require('hapi'); + var server = new Hapi.Server(); + + server.views({ + engines: { + html: require('handlebars'), + jade: require('jade') + }, + path: '/static/templates' + }); + When server.views() is called within a plugin, the views manager is only available to plugins methods. + */ + export interface IServerViewsConfiguration extends IServerViewsAdditionalOptions { + /** - required object where each key is a file extension (e.g. 'html', 'hbr'), mapped to the npm module used for rendering the templates.Alternatively, the extension can be mapped to an object with the following options:*/ + engines: IDictionary | IServerViewsEnginesOptions; + /** defines the default filename extension to append to template names when multiple engines are configured and not explicit extension is provided for a given template. No default value.*/ + defaultExtension?: string; + } + + /** Concludes the handler activity by setting a response and returning control over to the framework where: + erran optional error response. + resultan optional response payload. + Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. + FLOW CONTROL: + When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() */ + export interface IReply { + (err: Error, + result?: string | number | boolean | Buffer | stream.Stream | IPromise | T, + /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ + credentialData?: any + ): IBoom; + /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ + (result: string | number | boolean | Buffer | stream.Stream | IPromise | T): Response; + + /** Returns control back to the framework without setting a response. If called in the handler, the response defaults to an empty payload with status code 200. + * The data argument is only used for passing back authentication data and is ignored elsewhere. */ + continue(credentialData?: any): void; + + /** Transmits a file from the file system. The 'Content-Type' header defaults to the matching mime type based on filename extension. The response flow control rules do not apply. */ + file( + /** the file path. */ + path: string, + /** optional settings: */ + options?: { + /** - an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path*/ + filename?: string; + /** specifies whether to include the 'Content-Disposition' header with the response. Available values: + false - header is not included. This is the default value. + 'attachment' + 'inline'*/ + mode?: boolean | string; + /** if true, looks for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false. */ + lookupCompressed: boolean; + }): void; + /** Concludes the handler activity by returning control over to the router with a templatized view response. + the response flow control rules apply. */ + + view( + /** the template filename and path, relative to the templates path configured via the server views manager. */ + template: string, + /** optional object used by the template to render context-specific result. Defaults to no context {}. */ + context?: {}, + /** optional object used to override the server's views manager configuration for this response. Cannot override isCached, partialsPath, or helpersPath which are only loaded at initialization. */ + options?: any): Response; + /** Concludes the handler activity by returning control over to the router and informing the router that a response has already been sent back directly via request.raw.res and that no further response action is needed + The response flow control rules do not apply. */ + close(options?: { + /** if false, the router will not call request.raw.res.end()) to ensure the response was ended. Defaults to true. */ + end?: boolean; + }): void; + /** Proxies the request to an upstream endpoint. + the response flow control rules do not apply. */ + + proxy(/** an object including the same keys and restrictions defined by the route proxy handler options. */ + options: IProxyHandlerConfig): void; + /** Redirects the client to the specified uri. Same as calling reply().redirect(uri). + he response flow control rules apply. */ + redirect(uri: string): ResponseRedirect; + } + + export interface ISessionHandler { + (request: Request, reply: IReply): void; + } + export interface IRequestHandler { + (request: Request): T; + } + + + export interface IFailAction { + (source: string, error: any, next: () => void): void + } + /** generates a reverse proxy handler */ + export interface IProxyHandlerConfig { + /** the upstream service host to proxy requests to. The same path on the client request will be used as the path on the host.*/ + host?: string; + /** the upstream service port. */ + port?: number; + /** The protocol to use when making a request to the proxied host: + 'http' + 'https'*/ + protocol?: string; + /** an absolute URI used instead of the incoming host, port, protocol, path, and query. Cannot be used with host, port, protocol, or mapUri.*/ + uri?: string; + /** if true, forwards the headers sent from the client to the upstream service being proxied to, headers sent from the upstream service will also be forwarded to the client. Defaults to false.*/ + passThrough?: boolean; + /** localStatePassThrough - if false, any locally defined state is removed from incoming requests before being passed upstream. This is a security feature to prevent local state (e.g. authentication cookies) from leaking upstream to other servers along with the cookies intended for those servers. This value can be overridden on a per state basis via the server.state() passThrough option. Defaults to false.*/ + localStatePassThrough?: boolean; + /**acceptEncoding - if false, does not pass-through the 'Accept-Encoding' HTTP header which is useful when using an onResponse post-processing to avoid receiving an encoded response (e.g. gzipped). Can only be used together with passThrough. Defaults to true (passing header).*/ + acceptEncoding?: boolean; + /** rejectUnauthorized - sets the rejectUnauthorized property on the https agent making the request. This value is only used when the proxied server uses TLS/SSL. When set it will override the node.js rejectUnauthorized property. If false then ssl errors will be ignored. When true the server certificate is verified and an 500 response will be sent when verification fails. This shouldn't be used alongside the agent setting as the agent will be used instead. Defaults to the https agent default value of true.*/ + rejectUnauthorized?: boolean; + /**if true, sets the 'X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto' headers when making a request to the proxied upstream endpoint. Defaults to false.*/ + xforward?: boolean; + /** the maximum number of HTTP redirections allowed, to be followed automatically by the handler. Set to false or 0 to disable all redirections (the response will contain the redirection received from the upstream service). If redirections are enabled, no redirections (301, 302, 307, 308) will be passed along to the client, and reaching the maximum allowed redirections will return an error response. Defaults to false.*/ + redirects?: boolean | number; + /**number of milliseconds before aborting the upstream request. Defaults to 180000 (3 minutes).*/ + timeout?: number; + /** a function used to map the request URI to the proxied URI. Cannot be used together with host, port, protocol, or uri. The function signature is function(request, callback) where: + request - is the incoming request object. + callback - is function(err, uri, headers) where: + err - internal error condition. + uri - the absolute proxy URI. + headers - optional object where each key is an HTTP request header and the value is the header content.*/ + mapUri?: (request: Request, callback: (err: any, uri: string, headers?: { [key: string]: string }) => void) => void; + /** a custom function for processing the response from the upstream service before sending to the client. Useful for custom error handling of responses from the proxied endpoint or other payload manipulation. Function signature is function(err, res, request, reply, settings, ttl) where: - err - internal or upstream error returned from attempting to contact the upstream proxy. - res - the node response object received from the upstream service. res is a readable stream (use the wreck module read method to easily convert it to a Buffer or string). - request - is the incoming request object. - reply - the reply interface function. - settings - the proxy handler configuration. - ttl - the upstream TTL in milliseconds if proxy.ttl it set to 'upstream' and the upstream response included a valid 'Cache-Control' header with 'max-age'.*/ + onResponse?: ( + err: any, + res: http.ServerResponse, + req: Request, + reply: IReply, + settings: IProxyHandlerConfig, + ttl: number + ) => void; + /** if set to 'upstream', applies the upstream response caching policy to the response using the response.ttl() method (or passed as an argument to the onResponse method if provided).*/ + ttl?: number; + /** - a node http(s) agent to be used for connections to upstream server. see https://nodejs.org/api/http.html#http_class_http_agent */ + agent?: http.Agent; + /** sets the maximum number of sockets available per outgoing proxy host connection. false means use the wreck module default value (Infinity). Does not affect non-proxy outgoing client connections. Defaults to Infinity.*/ + maxSockets?: boolean | number; + } + /** TODO: fill in joi definition */ + export interface IJoi { + + } + /** a validation function using the signature function(value, options, next) */ + export interface IValidationFunction { + + (/** the object containing the path parameters. */ + value: any, + /** the server validation options. */ + options: any, + /** the callback function called when validation is completed. */ + next: (err: any, value: any) => void): void; + } + /** a custom error handler function with the signature 'function(request, reply, source, error)` */ + export interface IRouteFailFunction { + /** a custom error handler function with the signature 'function(request, reply, source, error)` */ + ( + /** - the [request object]. */ + request: Request, + /** the continuation reply interface. */ + reply: IReply, + /** the source of the invalid field (e.g. 'path', 'query', 'payload'). */ + source: string, + /** the error object prepared for the client response (including the validation function error under error.data). */ + error: any): void; + } + + /** Each route can be customize to change the default behavior of the request lifecycle using the following options: */ + export interface IRouteAdditionalConfigurationOptions { + /** application specific configuration.Should not be used by plugins which should use plugins[name] instead. */ + app?: any; + /** authentication configuration.Value can be: false to disable authentication if a default strategy is set. + a string with the name of an authentication strategy registered with server.auth.strategy(). + an object */ + auth?: boolean | string | + { + /** the authentication mode.Defaults to 'required' if a server authentication strategy is configured, otherwise defaults to no authentication.Available values: + 'required'authentication is required. + 'optional'authentication is optional (must be valid if present). + 'try'same as 'optional' but allows for invalid authentication. */ + mode?: string; + /** a string array of strategy names in order they should be attempted.If only one strategy is used, strategy can be used instead with the single string value.Defaults to the default authentication strategy which is available only when a single strategy is configured. */ + strategies?: string | Array; + /** if set, the payload (in requests other than 'GET' and 'HEAD') is authenticated after it is processed.Requires a strategy with payload authentication support (e.g.Hawk).Cannot be set to a value other than 'required' when the scheme sets the options.payload to true.Available values: + falseno payload authentication.This is the default value. + 'required'payload authentication required.This is the default value when the scheme sets options.payload to true. + 'optional'payload authentication performed only when the client includes payload authentication information (e.g.hash attribute in Hawk). */ + payload?: string; + /** the application scope required to access the route.Value can be a scope string or an array of scope strings.The authenticated credentials object scope property must contain at least one of the scopes defined to access the route.Set to false to remove scope requirements.Defaults to no scope required. */ + scope?: string | Array | boolean; + /** the required authenticated entity type.If set, must match the entity value of the authentication credentials.Available values: + anythe authentication can be on behalf of a user or application.This is the default value. + userthe authentication must be on behalf of a user. + appthe authentication must be on behalf of an application. */ + entity?: string; + /** + * an object or array of objects specifying the route access rules. Each rule is evaluated against an incoming + * request and access is granted if at least one rule matches. Each rule object must include at least one of: + */ + access?: IRouteAdditionalConfigurationAuthAccess | IRouteAdditionalConfigurationAuthAccess[]; + }; + /** an object passed back to the provided handler (via this) when called. */ + bind?: any; + /** if the route method is 'GET', the route can be configured to include caching directives in the response using the following options */ + cache?: { + /** mines the privacy flag included in clientside caching using the 'Cache-Control' header.Values are: + fault'no privacy flag.This is the default setting. + 'public'mark the response as suitable for public caching. + 'private'mark the response as suitable only for private caching. */ + privacy: string; + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache.Cannot be used together with expiresAt. */ + expiresIn: number; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire.Cannot be used together with expiresIn. */ + expiresAt: string; + }; + /** the Cross- Origin Resource Sharing protocol allows browsers to make cross- origin API calls.CORS is required by web applications running inside a browser which are loaded from a different domain than the API server.CORS headers are disabled by default. To enable, set cors to true, or to an object with the following options: */ + cors?: { + /** a strings array of allowed origin servers ('Access-Control-Allow-Origin').The array can contain any combination of fully qualified origins along with origin strings containing a wildcard '' character, or a single `''origin string. Defaults to any origin['*']`. */ + origin?: Array; + /** if true, matches the value of the incoming 'Origin' header to the list of origin values ('*' matches anything) and if a match is found, uses that as the value of the 'Access-Control-Allow-Origin' response header.When false, the origin config is returned as- is.Defaults to true. */ + matchOrigin?: boolean; + /** if false, prevents the connection from returning the full list of non- wildcard origin values if the incoming origin header does not match any of the values.Has no impact if matchOrigin is set to false.Defaults to true. */ + isOriginExposed?: boolean; + /** number of seconds the browser should cache the CORS response ('Access-Control-Max-Age').The greater the value, the longer it will take before the browser checks for changes in policy.Defaults to 86400 (one day). */ + maxAge?: number; + /** a strings array of allowed headers ('Access-Control-Allow-Headers').Defaults to ['Authorization', 'Content-Type', 'If-None-Match']. */ + headers?: string[]; + /** a strings array of additional headers to headers.Use this to keep the default headers in place. */ + additionalHeaders?: string[]; + /** a strings array of allowed HTTP methods ('Access-Control-Allow-Methods').Defaults to ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'OPTIONS']. */ + methods?: string[]; + /** a strings array of additional methods to methods.Use this to keep the default methods in place. */ + additionalMethods?: string[]; + /** a strings array of exposed headers ('Access-Control-Expose-Headers').Defaults to ['WWW-Authenticate', 'Server-Authorization']. */ + exposedHeaders?: string[]; + /** a strings array of additional headers to exposedHeaders.Use this to keep the default headers in place. */ + additionalExposedHeaders?: string[]; + /** if true, allows user credentials to be sent ('Access-Control-Allow-Credentials').Defaults to false. */ + credentials?: boolean; + /** if false, preserves existing CORS headers set manually before the response is sent.Defaults to true. */ + override?: boolean; + }; + /** defines the behavior for serving static resources using the built-in route handlers for files and directories: */ + files?: {/** determines the folder relative paths are resolved against when using the file and directory handlers. */ + relativeTo: string; + }; + + /** an alternative location for the route handler option. */ + handler?: ISessionHandler | string | IRouteHandlerConfig; + /** an optional unique identifier used to look up the route using server.lookup(). */ + id?: number; + /** optional arguments passed to JSON.stringify() when converting an object or error response to a string payload.Supports the following: */ + json?: { + /** the replacer function or array.Defaults to no action. */ + replacer?: Function | string[]; + /** number of spaces to indent nested object keys.Defaults to no indentation. */ + space?: number | string; + /** string suffix added after conversion to JSON string.Defaults to no suffix. */ + suffix?: string; + }; + /** enables JSONP support by setting the value to the query parameter name containing the function name used to wrap the response payload.For example, if the value is 'callback', a request comes in with 'callback=me', and the JSON response is '{ "a":"b" }', the payload will be 'me({ "a":"b" });'.Does not work with stream responses. */ + jsonp?: string; + /** determines how the request payload is processed: */ + payload?: { + /** the type of payload representation requested. The value must be one of: + 'data'the incoming payload is read fully into memory.If parse is true, the payload is parsed (JSON, formdecoded, multipart) based on the 'Content- Type' header.If parse is false, the raw Buffer is returned.This is the default value except when a proxy handler is used. + 'stream'the incoming payload is made available via a Stream.Readable interface.If the payload is 'multipart/form-data' and parse is true, fields values are presented as text while files are provided as streams.File streams from a 'multipart/form-data' upload will also have a property hapi containing filename and headers properties. + 'file'the incoming payload in written to temporary file in the directory specified by the server's payload.uploads settings. If the payload is 'multipart/ formdata' and parse is true, fields values are presented as text while files are saved. Note that it is the sole responsibility of the application to clean up the files generated by the framework. This can be done by keeping track of which files are used (e.g. using the request.app object), and listening to the server 'response' event to perform any needed cleaup. */ + output?: string; + /** can be true, false, or gunzip; determines if the incoming payload is processed or presented raw. true and gunzip includes gunzipping when the appropriate 'Content-Encoding' is specified on the received request. If parsing is enabled and the 'Content-Type' is known (for the whole payload as well as parts), the payload is converted into an object when possible. If the format is unknown, a Bad Request (400) error response is sent. Defaults to true, except when a proxy handler is used. The supported mime types are: + 'application/json' + 'application/x-www-form-urlencoded' + 'application/octet-stream' + 'text/ *' + 'multipart/form-data' */ + parse?: string | boolean; + /** a string or an array of strings with the allowed mime types for the endpoint.Defaults to any of the supported mime types listed above.Note that allowing other mime types not listed will not enable them to be parsed, and that if parsing mode is 'parse', the request will result in an error response. */ + allow?: string | string[]; + /** a mime type string overriding the 'Content-Type' header value received.Defaults to no override. */ + override?: string; + /** limits the size of incoming payloads to the specified byte count.Allowing very large payloads may cause the server to run out of memory.Defaults to 1048576 (1MB). */ + maxBytes?: number; + /** payload reception timeout in milliseconds.Sets the maximum time allowed for the client to transmit the request payload (body) before giving up and responding with a Request Timeout (408) error response.Set to false to disable.Defaults to 10000 (10 seconds). */ + timeout?: number; + /** the directory used for writing file uploads.Defaults to os.tmpDir(). */ + uploads?: string; + /** determines how to handle payload parsing errors. Allowed values are: + 'error'return a Bad Request (400) error response. This is the default value. + 'log'report the error but continue processing the request. + 'ignore'take no action and continue processing the request. */ + failAction?: string; + }; + /** pluginspecific configuration.plugins is an object where each key is a plugin name and the value is the plugin configuration. */ + plugins?: IDictionary; + /** an array with [route prerequisites] methods which are executed in serial or in parallel before the handler is called. */ + pre?: any[]; + /** validation rules for the outgoing response payload (response body).Can only validate object response: */ + response?: { + /** the default HTTP status code when the payload is empty. Value can be 200 or 204. + Note that a 200 status code is converted to a 204 only at the time or response transmission + (the response status code will remain 200 throughout the request lifecycle unless manually set). Defaults to 200. */ + emptyStatusCode?: number; + /** the default response object validation rules (for all non-error responses) expressed as one of: + true - any payload allowed (no validation performed). This is the default. + false - no payload allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + value - the object containing the response object. + options - the server validation options. + next(err) - the callback function called when validation is completed. */ + schema?: boolean | any; + /** HTTP status- codespecific validation rules.The status key is set to an object where each key is a 3 digit HTTP status code and the value has the same definition as schema.If a response status code is not present in the status object, the schema definition is used, expect for errors which are not validated by default. */ + status?: { [statusCode: number] : boolean | any }; + /** the percent of responses validated (0100).Set to 0 to disable all validation.Defaults to 100 (all responses). */ + sample?: number; + /** defines what to do when a response fails validation.Options are: + errorreturn an Internal Server Error (500) error response.This is the default value. + loglog the error but send the response. */ + failAction?: string; + /** if true, applies the validation rule changes to the response.Defaults to false. */ + modify?: boolean; + /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ + options?: any; + }; + /** sets common security headers (disabled by default).To enable set security to true or to an object with the following options */ + security?: boolean | { + /** controls the 'Strict-Transport-Security' header.If set to true the header will be set to max- age=15768000, if specified as a number the maxAge parameter will be set to that number.Defaults to true.You may also specify an object with the following fields: */ + hsts?: boolean | number | { + /** the max- age portion of the header, as a number.Default is 15768000. */ + maxAge?: number; + /** a boolean specifying whether to add the includeSubdomains flag to the header. */ + includeSubdomains?: boolean; + /** a boolean specifying whether to add the 'preload' flag (used to submit domains inclusion in Chrome's HTTP Strict Transport Security (HSTS) preload list) to the header. */ + preload?: boolean; + }; + /** controls the 'X-Frame-Options' header.When set to true the header will be set to DENY, you may also specify a string value of 'deny' or 'sameorigin'.To use the 'allow-from' rule, you must set this to an object with the following fields: */ + xframe?: { + /** either 'deny', 'sameorigin', or 'allow-from' */ + rule: string; + /** when rule is 'allow-from' this is used to form the rest of the header, otherwise this field is ignored.If rule is 'allow-from' but source is unset, the rule will be automatically changed to 'sameorigin'. */ + source: string; + }; + /** boolean that controls the 'X-XSS-PROTECTION' header for IE.Defaults to true which sets the header to equal '1; mode=block'.NOTE: This setting can create a security vulnerability in versions of IE below 8, as well as unpatched versions of IE8.See here and here for more information.If you actively support old versions of IE, it may be wise to explicitly set this flag to false. */ + xss?: boolean; + /** boolean controlling the 'X-Download-Options' header for IE, preventing downloads from executing in your context.Defaults to true setting the header to 'noopen'. */ + noOpen?: boolean; + /** boolean controlling the 'X-Content-Type-Options' header.Defaults to true setting the header to its only and default option, 'nosniff'. */ + noSniff?: boolean; + }; + /** HTTP state management (cookies) allows the server to store information on the client which is sent back to the server with every request (as defined in RFC 6265).state supports the following options: */ + state?: { + /** determines if incoming 'Cookie' headers are parsed and stored in the request.state object.Defaults to true. */ + parse: boolean; + /** determines how to handle cookie parsing errors.Allowed values are: + 'error'return a Bad Request (400) error response.This is the default value. + 'log'report the error but continue processing the request. + 'ignore'take no action. */ + failAction: string; + }; + /** request input validation rules for various request components.When using a Joi validation object, the values of the other inputs (i.e.headers, query, params, payload, and auth) are made available under the validation context (accessible in rules as Joi.ref('$query.key')).Note that validation is performed in order(i.e.headers, params, query, payload) and if type casting is used (converting a string to number), the value of inputs not yet validated will reflect the raw, unvalidated and unmodified values.The validate object supports: */ + validate?: { + /** validation rules for incoming request headers.Values allowed: + * trueany headers allowed (no validation performed).This is the default. + falseno headers allowed (this will cause all valid HTTP requests to fail). + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the request headers. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. + */ + headers?: boolean | IJoi | IValidationFunction; + + + /** validation rules for incoming request path parameters, after matching the path against the route and extracting any parameters then stored in request.params.Values allowed: + trueany path parameters allowed (no validation performed).This is the default. + falseno path variables allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the path parameters. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. */ + params?: boolean | IJoi | IValidationFunction; + /** validation rules for an incoming request URI query component (the key- value part of the URI between '?' and '#').The query is parsed into its individual key- value pairs (using the qs module) and stored in request.query prior to validation.Values allowed: + trueany query parameters allowed (no validation performed).This is the default. + falseno query parameters allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the query parameters. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. */ + query?: boolean | IJoi | IValidationFunction; + /** validation rules for an incoming request payload (request body).Values allowed: + trueany payload allowed (no validation performed).This is the default. + falseno payload allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the payload object. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. */ + payload?: boolean | IJoi | IValidationFunction; + /** an optional object with error fields copied into every validation error response. */ + errorFields?: any; + /** determines how to handle invalid requests.Allowed values are: + 'error'return a Bad Request (400) error response.This is the default value. + 'log'log the error but continue processing the request. + 'ignore'take no action. + OR a custom error handler function with the signature 'function(request, reply, source, error)` where: + requestthe request object. + replythe continuation reply interface. + sourcethe source of the invalid field (e.g. 'path', 'query', 'payload'). + errorthe error object prepared for the client response (including the validation function error under error.data). */ + failAction?: string | IRouteFailFunction; + /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ + options?: any; + }; + /** define timeouts for processing durations: */ + timeout?: { + /** response timeout in milliseconds.Sets the maximum time allowed for the server to respond to an incoming client request before giving up and responding with a Service Unavailable (503) error response.Disabled by default (false). */ + server: boolean | number; + /** by default, node sockets automatically timeout after 2 minutes.Use this option to override this behavior.Defaults to undefined which leaves the node default unchanged.Set to false to disable socket timeouts. */ + socket: boolean | number; + }; + + /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + *route description used for generating documentation (string). + */ + description?: string; + /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + *route notes used for generating documentation (string or array of strings). + */ + notes?: string | string[]; + /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + *route tags used for generating documentation (array of strings). + */ + tags?: string[] + } + + /** + * specifying the route access rules. Each rule is evaluated against an incoming request and access is granted if at least one rule matches + */ + export interface IRouteAdditionalConfigurationAuthAccess { + /** + * the application scope required to access the route. Value can be a scope string or an array of scope strings. + * The authenticated credentials object scope property must contain at least one of the scopes defined to access the route. + * If a scope string begins with a + character, that scope is required. If a scope string begins with a ! character, + * that scope is forbidden. For example, the scope ['!a', '+b', 'c', 'd'] means the incoming request credentials' + * scope must not include 'a', must include 'b', and must include on of 'c' or 'd'. You may also access properties + * on the request object (query and params} to populate a dynamic scope by using {} characters around the property name, + * such as 'user-{params.id}'. Defaults to false (no scope requirements). + */ + scope?: string | Array | boolean; + /** the required authenticated entity type. If set, must match the entity value of the authentication credentials. Available values: + * any - the authentication can be on behalf of a user or application. This is the default value. + * user - the authentication must be on behalf of a user which is identified by the presence of a user attribute in the credentials object returned by the authentication strategy. + * app - the authentication must be on behalf of an application which is identified by the lack of presence of a user attribute in the credentials object returned by the authentication strategy. + */ + entity?: string; + } + + /** server.realm http://hapijs.com/api#serverrealm + The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), + the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). + Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. + The server.realm object should be considered read-only and must not be changed directly except for the plugins property can be directly manipulated by the plugins (each setting its own under plugins[name]). + exports.register = function (server, options, next) { + console.log(server.realm.modifiers.route.prefix); + return next(); + }; + */ + export interface IServerRealm { + /** when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method */ + modifiers: { + /** routes preferences: */ + route: { + /** - the route path prefix used by any calls to server.route() from the server. */ + prefix: string; + /** the route virtual host settings used by any calls to server.route() from the server. */ + vhost: string; + }; + + }; + /** the active plugin name (empty string if at the server root). */ + plugin: string; + /** plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. */ + plugins: IDictionary; + /** settings overrides */ + settings: { + files: { + relativeTo: any; + }; + bind: any; + } + } + /** server.state(name, [options]) http://hapijs.com/api#serverstatename-options + HTTP state management uses client cookies to persist a state across multiple requests. Registers a cookie definitions where:*/ + export interface IServerState { +/** - the cookie name string. */name: string; + +/** - are the optional cookie settings: */options: { +/** - time - to - live in milliseconds.Defaults to null (session time- life - cookies are deleted when the browser is closed).*/ttl: number; +/** - sets the 'Secure' flag.Defaults to false.*/isSecure: boolean; +/** - sets the 'HttpOnly' flag.Defaults to false.*/isHttpOnly: boolean +/** - the path scope.Defaults to null (no path).*/path: any; +/** - the domain scope.Defaults to null (no domain). */domain: any; + /** if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value. The value can be a function with signature function(request, next) where: + request - the request object. + next - the continuation function using the function(err, value) signature.*/ + autoValue: (request: Request, next: (err: any, value: any) => void) => void; + /** - encoding performs on the provided value before serialization. Options are: + 'none' - no encoding. When used, the cookie value must be a string. This is the default value. + 'base64' - string value is encoded using Base64. + 'base64json' - object value is JSON-stringified than encoded using Base64. + 'form' - object value is encoded using the x-www-form-urlencoded method. + 'iron' - Encrypts and sign the value using iron.*/ + encoding: string; +/** - an object used to calculate an HMAC for cookie integrity validation.This does not provide privacy, only a mean to verify that the cookie value was generated by the server.Redundant when 'iron' encoding is used.Options are:*/sign: { +/** - algorithm options.Defaults to require('iron').defaults.integrity.*/integrity: any; +/** - password used for HMAC key generation.*/password: string; + }; +/** - password used for 'iron' encoding.*/password: string; +/** - options for 'iron' encoding.Defaults to require('iron').defaults.*/iron: any; +/** - if false, errors are ignored and treated as missing cookies.*/ignoreErrors: boolean; +/** - if true, automatically instruct the client to remove invalid cookies.Defaults to false.*/clearInvalid: boolean; +/** - if false, allows any cookie value including values in violation of RFC 6265. Defaults to true.*/strictHeader: boolean; +/** - overrides the default proxy localStatePassThrough setting.*/passThrough: any; + }; + } + + export interface IFileHandlerConfig { + /** a path string or function as described above.*/ + path: string; + /** an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path*/ + filename?: string; + /**- specifies whether to include the 'Content-Disposition' header with the response. Available values: + false - header is not included. This is the default value. + 'attachment' + 'inline'*/ + mode?: boolean | string; + /** if true, looks for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false.*/ + lookupCompressed: boolean; + } + + /**http://hapijs.com/api#route-handler + Built-in handlers + + The framework comes with a few built-in handler types available by setting the route handler config to an object containing one of these keys.*/ + export interface IRouteHandlerConfig { + /** generates a static file endpoint for serving a single file. file can be set to: + a relative or absolute file path string (relative paths are resolved based on the route files configuration). + a function with the signature function(request) which returns the relative or absolute file path. + an object with the following options */ + file?: string | IRequestHandler | IFileHandlerConfig; + /** directory - generates a directory endpoint for serving static content from a directory. Routes using the directory handler must include a path parameter at the end of the path string (e.g. /path/to/somewhere/{param} where the parameter name does not matter). The path parameter can use any of the parameter options (e.g. {param} for one level files only, {param?} for one level files or the directory root, {param*} for any level, or {param*3} for a specific level). If additional path parameters are present, they are ignored for the purpose of selecting the file system resource. The directory handler is an object with the following options: + path - (required) the directory root path (relative paths are resolved based on the route files configuration). Value can be: + a single path string used as the prefix for any resources requested by appending the request path parameter to the provided string. + an array of path strings. Each path will be attempted in order until a match is found (by following the same process as the single path string). + a function with the signature function(request) which returns the path string or an array of path strings. If the function returns an error, the error is passed back to the client in the response. + index - optional boolean|string|string[], determines if an index file will be served if found in the folder when requesting a directory. The given string or strings specify the name(s) of the index file to look for. If true, looks for 'index.html'. Any falsy value disables index file lookup. Defaults to true. + listing - optional boolean, determines if directory listing is generated when a directory is requested without an index document. Defaults to false. + showHidden - optional boolean, determines if hidden files will be shown and served. Defaults to false. + redirectToSlash - optional boolean, determines if requests for a directory without a trailing slash are redirected to the same path with the missing slash. Useful for ensuring relative links inside the response are resolved correctly. Disabled when the server config router.stripTrailingSlash is true.Defaults to false. + lookupCompressed - optional boolean, instructs the file processor to look for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false. + defaultExtension - optional string, appended to file requests if the requested file is not found. Defaults to no extension.*/ + directory?: { + path: string | Array | IRequestHandler | IRequestHandler>; + index?: boolean | string | string[]; + listing?: boolean; + showHidden?: boolean; + redirectToSlash?: boolean; + lookupCompressed?: boolean; + defaultExtension?: string; + }; + proxy?: IProxyHandlerConfig; + view?: string | { + template: string; + context: { + payload: any; + params: any; + query: any; + pre: any; + } + }; + config?: { + handler: any; + bind: any; + app: any; + plugins: { + [name: string]: any; + }; + pre: Array<() => void>; + validate: { + headers: any; + params: any; + query: any; + payload: any; + errorFields?: any; + failAction?: string | IFailAction; + }; + payload: { + output: { + data: any; + stream: any; + file: any; + }; + parse?: any; + allow?: string | Array; + override?: string; + maxBytes?: number; + uploads?: number; + failAction?: string; + }; + response: { + schema: any; + sample: number; + failAction: string; + }; + cache: { + privacy: string; + expiresIn: number; + expiresAt: number; + }; + auth: string | boolean | { + mode: string; + strategies: Array; + payload?: boolean | string; + tos?: boolean | string; + scope?: string | Array; + entity: string; + }; + cors?: boolean; + jsonp?: string; + description?: string; + notes?: string | Array; + tags?: Array; + }; + } + /** Route configuration + The route configuration object*/ + export interface IRouteConfiguration { + /** - (required) the absolute path used to match incoming requests (must begin with '/'). Incoming requests are compared to the configured paths based on the connection router configuration option.The path can include named parameters enclosed in {} which will be matched against literal values in the request as described in Path parameters.*/ + path: string; + /** - (required) the HTTP method.Typically one of 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', or 'OPTIONS'.Any HTTP method is allowed, except for 'HEAD'.Use '*' to match against any HTTP method (only when an exact match was not found, and any match with a specific method will be given a higher priority over a wildcard match). + * Can be assigned an array of methods which has the same result as adding the same route with different methods manually.*/ + method: string | string[]; + /** - an optional domain string or an array of domain strings for limiting the route to only requests with a matching host header field.Matching is done against the hostname part of the header only (excluding the port).Defaults to all hosts.*/ + vhost?: string; + /** - (required) the function called to generate the response after successful authentication and validation.The handler function is described in Route handler.If set to a string, the value is parsed the same way a prerequisite server method string shortcut is processed.Alternatively, handler can be assigned an object with a single key using the name of a registered handler type and value with the options passed to the registered handler.*/ + handler: ISessionHandler | string | IRouteHandlerConfig; + /** - additional route options.*/ + config?: IRouteAdditionalConfigurationOptions; + } + /** Route public interface When route information is returned or made available as a property. http://hapijs.com/api#route-public-interface */ + export interface IRoute { + + + /** the route HTTP method. */ + method: string; + /** the route path. */ + path: string; + /** the route vhost option if configured. */ + vhost?: string | Array; + /** the [active realm] associated with the route.*/ + realm: IServerRealm; + /** the [route options] object with all defaults applied. */ + settings: IRouteAdditionalConfigurationOptions; + } + + export interface IServerAuthScheme { + /** authenticate(request, reply) - required function called on each incoming request configured with the authentication scheme where: + request - the request object. + reply - the reply interface the authentication method must call when done authenticating the request where: + reply(err, response, result) - is called if authentication failed where: + err - any authentication error. + response - any authentication response action such as redirection. Ignored if err is present, otherwise required. + result - an object containing: + credentials - the authenticated credentials. + artifacts - optional authentication artifacts. + reply.continue(result) - is called if authentication succeeded where: + result - same object as result above. + When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted if configured for the route. + .If the err returned by the reply() method includes a message, no additional strategies will be attempted. + If the err does not include a message but does include a scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in order of preference. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var scheme = function (server, options) { + return { + authenticate: function (request, reply) { + var req = request.raw.req; + var authorization = req.headers.authorization; + if (!authorization) { + return reply(Boom.unauthorized(null, 'Custom')); + } + return reply(null, { credentials: { user: 'john' } }); + } + }; + }; + server.auth.scheme('custom', scheme);*/ + authenticate(request: Request, reply: IReply): void; + /** payload(request, reply) - optional function called to authenticate the request payload where: + request - the request object. + reply(err, response) - is called if authentication failed where: + err - any authentication error. + response - any authentication response action such as redirection. Ignored if err is present, otherwise required. + reply.continue() - is called if payload authentication succeeded. + When the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'.*/ + payload?(request: Request, reply: IReply): void; + /** response(request, reply) - optional function called to decorate the response with authentication headers before the response headers or payload is written where: + request - the request object. + reply(err, response) - is called if an error occurred where: + err - any authentication error. + response - any authentication response to send instead of the current response. Ignored if err is present, otherwise required. + reply.continue() - is called if the operation succeeded.*/ + response?(request: Request, reply: IReply): void; + /** an optional object */ + options?: { + /** if true, requires payload validation as part of the scheme and forbids routes from disabling payload auth validation. Defaults to false.*/ + payload: boolean; + } + } + + + + export interface IServerInject { + (options: string | { + /** the request HTTP method (e.g. 'POST'). Defaults to 'GET'.*/ + method: string; + /** the request URL. If the URI includes an authority (e.g. 'example.com:8080'), it is used to automatically set an HTTP 'Host' header, unless one was specified in headers.*/ + url: string; + /** an object with optional request headers where each key is the header name and the value is the header content. Defaults to no additions to the default Shot headers.*/ + headers?: IDictionary; + /** n optional string, buffer or object containing the request payload. In case of an object it will be converted to a string for you. Defaults to no payload. Note that payload processing defaults to 'application/json' if no 'Content-Type' header provided.*/ + payload?: string | {} | Buffer; + /** an optional credentials object containing authentication information. The credentials are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Defaults to no credentials.*/ + credentials?: any; + /** an optional artifacts object containing authentication artifact information. The artifacts are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Ignored if set without credentials. Defaults to no artifacts.*/ + artifacts?: any; + /** sets the initial value of request.app*/ + app?: any; + /** sets the initial value of request.plugins*/ + plugins?: any; + /** allows access to routes with config.isInternal set to true. Defaults to false.*/ + allowInternals?: boolean; + /** sets the remote address for the incoming connection.*/ + remoteAddress?: boolean; + /**object with options used to simulate client request stream conditions for testing: + error - if true, emits an 'error' event after payload transmission (if any). Defaults to false. + close - if true, emits a 'close' event after payload transmission (if any). Defaults to false. + end - if false, does not end the stream. Defaults to true.*/ + simulate?: { + error: boolean; + close: boolean; + end: boolean; + }; + }, + callback: ( + /**the response object where: + statusCode - the HTTP status code. + headers - an object containing the headers set. + payload - the response payload string. + rawPayload - the raw response payload buffer. + raw - an object with the injection request and response objects: + req - the simulated node request object. + res - the simulated node response object. + result - the raw handler response (e.g. when not a stream or a view) before it is serialized for transmission. If not available, the value is set to payload. Useful for inspection and reuse of the internal objects returned (instead of parsing the response string). + request - the request object.*/ + res: { statusCode: number; headers: IDictionary; payload: string; rawPayload: Buffer; raw: { req: http.ClientRequest; res: http.ServerResponse }; result: string; request: Request }) => void + ): void; + + } + + + /** host - optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. + The return value is an array where each item is an object containing: + info - the connection.info the connection the table was generated for. + labels - the connection labels. + table - an array of routes where each route contains: + settings - the route config with defaults applied. + method - the HTTP method in lower case. + path - the route path.*/ + export interface IConnectionTable { + info: any; + labels: any; + table: IRoute[]; + } + + export interface ICookieSettings { + /** - time - to - live in milliseconds.Defaults to null (session time- life - cookies are deleted when the browser is closed).*/ + ttl?: number; + /** - sets the 'Secure' flag.Defaults to false.*/ + isSecure?: boolean; + /** - sets the 'HttpOnly' flag.Defaults to false.*/ + isHttpOnly?: boolean; + /** - the path scope.Defaults to null (no path).*/ + path?: string; + /** - the domain scope.Defaults to null (no domain).*/ + domain?: any; + /** - if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value.The value can be a function with signature function(request, next) where: + request - the request object. + next - the continuation function using the function(err, value) signature.*/ + autoValue?: (request: Request, next: (err: any, value: any) => void) => void; + /** - encoding performs on the provided value before serialization.Options are: + 'none' - no encoding.When used, the cookie value must be a string.This is the default value. + 'base64' - string value is encoded using Base64. + 'base64json' - object value is JSON- stringified than encoded using Base64. + 'form' - object value is encoded using the x- www - form - urlencoded method. */ + encoding?: string; + /** - an object used to calculate an HMAC for cookie integrity validation.This does not provide privacy, only a mean to verify that the cookie value was generated by the server.Redundant when 'iron' encoding is used.Options are: + integrity - algorithm options.Defaults to require('iron').defaults.integrity. + password - password used for HMAC key generation. */ + sign?: { integrity: any; password: string; } + password?: string; + iron?: any; + ignoreErrors?: boolean; + clearInvalid?: boolean; + strictHeader?: boolean; + passThrough?: any; + } + + /** method - the method function with the signature is one of: + function(arg1, arg2, ..., argn, next) where: + arg1, arg2, etc. - the method function arguments. + next - the function called when the method is done with the signature function(err, result, ttl) where: + err - error response if the method failed. + result - the return value. + ttl - 0 if result is valid but cannot be cached. Defaults to cache policy. + function(arg1, arg2, ..., argn) where: + arg1, arg2, etc. - the method function arguments. + the callback option is set to false. + the method must returns a value (result, Error, or a promise) or throw an Error.*/ + export interface IServerMethod { + //(): void; + //(next: (err: any, result: any, ttl: number) => void): void; + //(arg1: any): void; + //(arg1: any, arg2: any, next: (err: any, result: any, ttl: number) => void): void; + //(arg1: any, arg2: any): void; + (...args: any[]): void; + + } + /** options - optional configuration: + bind - a context object passed back to the method function (via this) when called. Defaults to active context (set via server.bind() when the method is registered. + cache - the same cache configuration used in server.cache(). + callback - if false, expects the method to be a synchronous function. Note that using a synchronous function with caching will convert the method interface to require a callback as an additional argument with the signature function(err, result, cached, report) since the cache interface cannot return values synchronously. Defaults to true. + generateKey - a function used to generate a unique key (for caching) from the arguments passed to the method function (the callback argument is not passed as input). The server will automatically generate a unique key if the function's arguments are all of types 'string', 'number', or 'boolean'. However if the method uses other types of arguments, a key generation function must be provided which takes the same arguments as the function and returns a unique string (or null if no key can be generated).*/ + export interface IServerMethodOptions { + bind?: any; + cache?: ICatBoxCacheOptions; + callback?: boolean; + generateKey?(args: any[]): string; + } + /** Request object + + The request object is created internally for each incoming request. It is different from the node.js request object received from the HTTP server callback (which is available in request.raw.req). The request object methods and properties change throughout the request lifecycle. + Request events + + The request object supports the following events: + + 'peek' - emitted for each chunk of payload data read from the client connection. The event method signature is function(chunk, encoding). + 'finish' - emitted when the request payload finished reading. The event method signature is function (). + 'disconnect' - emitted when a request errors or aborts unexpectedly. + var Crypto = require('crypto'); + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onRequest', function (request, reply) { + + var hash = Crypto.createHash('sha1'); + request.on('peek', function (chunk) { + + hash.update(chunk); + }); + + request.once('finish', function () { + + console.log(hash.digest('hex')); + }); + + request.once('disconnect', function () { + + console.error('request aborted'); + }); + + return reply.continue(); + });*/ + export class Request extends Events.EventEmitter { + /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name].*/ + app: any; + /** authentication information*/ + auth: { + /** true is the request has been successfully authenticated, otherwise false.*/ + isAuthenticated: boolean; + /** the credential object received during the authentication process. The presence of an object does not mean successful authentication. can be set in the validate function's callback.*/ + credentials: any; + /** an artifact object received from the authentication strategy and used in authentication-related actions.*/ + artifacts: any; + /** the route authentication mode.*/ + mode: any; + /** the authentication error is failed and mode set to 'try'.*/ + error: any; + /** an object used by the ['cookie' authentication scheme] https://github.com/hapijs/hapi-auth-cookie */ + session: any + }; + /** the connection used by this request*/ + connection: ServerConnection; + /** the node domain object used to protect against exceptions thrown in extensions, handlers and route prerequisites. Can be used to manually bind callback functions otherwise bound to other domains.*/ + domain: any; + /** the raw request headers (references request.raw.headers).*/ + headers: IDictionary; + /** a unique request identifier (using the format '{now}:{connection.info.id}:{5 digits counter}').*/ + id: number; + /** request information */ + info: { + /** request reception timestamp. */ + received: number; + /** request response timestamp (0 is not responded yet). */ + responded: number; + /** remote client IP address. */ + + remoteAddress: string; + /** remote client port. */ + remotePort: number; + /** content of the HTTP 'Referrer' (or 'Referer') header. */ + referrer: string; + /** content of the HTTP 'Host' header (e.g. 'example.com:8080'). */ + host: string; + /** the hostname part of the 'Host' header (e.g. 'example.com').*/ + hostname: string; + }; + /** the request method in lower case (e.g. 'get', 'post'). */ + method: string; + /** the parsed content-type header. Only available when payload parsing enabled and no payload error occurred. */ + mime: string; + /** an object containing the values of params, query, and payload before any validation modifications made. Only set when input validation is performed.*/ + orig: { + params: any; + query: any; + payload: any; + }; + /** an object where each key is a path parameter name with matching value as described in Path parameters.*/ + params: IDictionary; + /** an array containing all the path params values in the order they appeared in the path.*/ + paramsArray: string[]; + /** the request URI's path component. */ + path: string; + /** the request payload based on the route payload.output and payload.parse settings.*/ + payload: stream.Readable | Buffer | any; + /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state.*/ + plugins: any; + /** an object where each key is the name assigned by a route prerequisites function. The values are the raw values provided to the continuation function as argument. For the wrapped response object, use responses.*/ + pre: IDictionary; + /** the response object when set. The object can be modified but must not be assigned another object. To replace the response with another from within an extension point, use reply(response) to override with a different response. Contains null when no response has been set (e.g. when a request terminates prematurely when the client disconnects).*/ + response: Response; + /**preResponses - same as pre but represented as the response object created by the pre method.*/ + preResponses: any; + /**an object containing the query parameters.*/ + query: any; + /** an object containing the Node HTTP server objects. Direct interaction with these raw objects is not recommended.*/ + raw: { + req: http.ClientRequest; + res: http.ServerResponse; + }; + /** the route public interface.*/ + route: IRoute; + /** the server object. */ + server: Server; + /** Special key reserved for plugins implementing session support. Plugins utilizing this key must check for null value to ensure there is no conflict with another similar server. */ + session: any; + /** an object containing parsed HTTP state information (cookies) where each key is the cookie name and value is the matching cookie content after processing using any registered cookie definition. */ + state: any; + /** complex object contining details on the url */ + url: { + /** null when i tested */ + auth: any; + /** null when i tested */ + hash: any; + /** null when i tested */ + host: any; + /** null when i tested */ + hostname: any; + href: string; + path: string; + /** path without search*/ + pathname: string; + /** null when i tested */ + port: any; + /** null when i tested */ + protocol: any; + /** querystring parameters*/ + query: IDictionary; + /** querystring parameters as a string*/ + search: string; + /** null when i tested */ + slashes: any; + }; + /** request.setUrl(url) + + Available only in 'onRequest' extension methods. + + Changes the request URI before the router begins processing the request where: + + url - the new request path value. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onRequest', function (request, reply) { + + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); + });*/ + setUrl(url: string): void; + /** request.setMethod(method) + + Available only in 'onRequest' extension methods. + + Changes the request method before the router begins processing the request where: + + method - is the request HTTP method (e.g. 'GET'). + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onRequest', function (request, reply) { + + // Change all requests to 'GET' + request.setMethod('GET'); + return reply.continue(); + });*/ + setMethod(method: string): void; + /** request.log(tags, [data, [timestamp]]) + + Always available. + + Logs request-specific events. When called, the server emits a 'request' event which can be used by other listeners or plugins. The arguments are: + + data - an optional message string or object with the application data being logged. + timestamp - an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). + Any logs generated by the server internally will be emitted only on the 'request-internal' channel and will include the event.internal flag set to true. + + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.on('request', function (request, event, tags) { + + if (tags.error) { + console.log(event); + } + }); + + var handler = function (request, reply) { + + request.log(['test', 'error'], 'Test event'); + return reply(); + }; + */ + log( + /** a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events.*/ + tags: string | string[], + /** an optional message string or object with the application data being logged.*/ + data?: string, + /** an optional timestamp expressed in milliseconds. Defaults to Date.now() (now).*/ + timestamp?: number): void; + /** request.getLog([tags], [internal]) + + Always available. + + Returns an array containing the events matching any of the tags specified (logical OR) + request.getLog(); + request.getLog('error'); + request.getLog(['error', 'auth']); + request.getLog(['error'], true); + request.getLog(false);*/ + + getLog( + /** is a single tag string or array of tag strings. If no tags specified, returns all events.*/ + tags?: string, + /** filters the events to only those with a matching event.internal value. If true, only internal logs are included. If false, only user event are included. Defaults to all events (undefined).*/ + internal?: boolean): string[]; + + /** request.tail([name]) + + Available until immediately after the 'response' event is emitted. + + Adds a request tail which has to complete before the request lifecycle is complete where: + + name - an optional tail name used for logging purposes. + Returns a tail function which must be called when the tail activity is completed. + + Tails are actions performed throughout the request lifecycle, but which may end after a response is sent back to the client. For example, a request may trigger a database update which should not delay sending back a response. However, it is still desirable to associate the activity with the request when logging it (or an error associated with it). + + When all tails completed, the server emits a 'tail' event. + + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + var get = function (request, reply) { + + var dbTail = request.tail('write to database'); + + db.save('key', 'value', function () { + + dbTail(); + }); + + return reply('Success!'); + }; + + server.route({ method: 'GET', path: '/', handler: get }); + + server.on('tail', function (request) { + + console.log('Request completed including db activity'); + });*/ + tail( + /** an optional tail name used for logging purposes.*/ + name?: string): Function; + } + /** Response events + + The response object supports the following events: + + 'peek' - emitted for each chunk of data written back to the client connection. The event method signature is function(chunk, encoding). + 'finish' - emitted when the response finished writing but before the client response connection is ended. The event method signature is function (). + var Crypto = require('crypto'); + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onPreResponse', function (request, reply) { + + var response = request.response; + if (response.isBoom) { + return reply(); + } + + var hash = Crypto.createHash('sha1'); + response.on('peek', function (chunk) { + + hash.update(chunk); + }); + + response.once('finish', function () { + + console.log(hash.digest('hex')); + }); + + return reply.continue(); + });*/ + export class Response extends Events.EventEmitter { + isBoom: boolean; + /** the HTTP response status code. Defaults to 200 (except for errors).*/ + statusCode: number; + /** an object containing the response headers where each key is a header field name. Note that this is an incomplete list of headers to be included with the response. Additional headers will be added once the response is prepare for transmission.*/ + headers: IDictionary; + /** the value provided using the reply interface.*/ + source: any; + /** a string indicating the type of source with available values: + 'plain' - a plain response such as string, number, null, or simple object (e.g. not a Stream, Buffer, or view). + 'buffer' - a Buffer. + 'view' - a view generated with reply.view(). + 'file' - a file generated with reply.file() of via the directory handler. + 'stream' - a Stream. + 'promise' - a Promise object. */ + variety: string; + /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name].*/ + app: any; + /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state. */ + plugins: any; + /** settings - response handling flags: + charset - the 'Content-Type' HTTP header 'charset' property. Defaults to 'utf-8'. + encoding - the string encoding scheme used to serial data into the HTTP payload when source is a string or marshals into a string. Defaults to 'utf8'. + passThrough - if true and source is a Stream, copies the statusCode and headers of the stream to the outbound response. Defaults to true. + stringify - options used for source value requiring stringification. Defaults to no replacer and no space padding. + ttl - if set, overrides the route cache expiration milliseconds value set in the route config. Defaults to no override. + varyEtag - if true, a suffix will be automatically added to the 'ETag' header at transmission time (separated by a '-' character) when the HTTP 'Vary' header is present.*/ + settings: { + charset: string; + encoding: string; + passThrough: boolean; + stringify: any; + ttl: number; + varyEtag: boolean; + } + + /** sets the HTTP 'Content-Length' header (to avoid chunked transfer encoding) where: + length - the header value. Must match the actual payload size.*/ + bytes(length: number): Response; + /** sets the 'Content-Type' HTTP header 'charset' property where: charset - the charset property value.*/ + charset(charset: string): Response; + + /** sets the HTTP status code where: + statusCode - the HTTP status code.*/ + code(statusCode: number): Response; + /** sets the HTTP status code to Created (201) and the HTTP 'Location' header where: uri - an absolute or relative URI used as the 'Location' header value.*/ + created(uri: string): Response; + + + /** encoding(encoding) - sets the string encoding scheme used to serial data into the HTTP payload where: encoding - the encoding property value (see node Buffer encoding).*/ + encoding(encoding: string): Response; + + /** etag(tag, options) - sets the representation entity tag where: + tag - the entity tag string without the double-quote. + options - optional settings where: + weak - if true, the tag will be prefixed with the 'W/' weak signifier. Weak tags will fail to match identical tags for the purpose of determining 304 response status. Defaults to false. + vary - if true and content encoding is set or applied to the response (e.g 'gzip' or 'deflate'), the encoding name will be automatically added to the tag at transmission time (separated by a '-' character). Ignored when weak is true. Defaults to true.*/ + etag(tag: string, options: { + weak: boolean; vary: boolean; + }): Response; + + /**header(name, value, options) - sets an HTTP header where: + name - the header name. + value - the header value. + options - optional settings where: + append - if true, the value is appended to any existing header value using separator. Defaults to false. + separator - string used as separator when appending to an exiting value. Defaults to ','. + override - if false, the header value is not set if an existing value present. Defaults to true.*/ + header(name: string, value: string, options?: { + append: boolean; + separator: string; + override: boolean; + }): Response; + + /** location(uri) - sets the HTTP 'Location' header where: + uri - an absolute or relative URI used as the 'Location' header value.*/ + location(uri: string): Response; + + /** redirect(uri) - sets an HTTP redirection response (302) and decorates the response with additional methods listed below, where: + uri - an absolute or relative URI used to redirect the client to another resource. */ + redirect(uri: string): Response; + + /** replacer(method) - sets the JSON.stringify() replacer argument where: + method - the replacer function or array. Defaults to none.*/ + replacer(method: Function | Array): Response; + + /** spaces(count) - sets the JSON.stringify() space argument where: + count - the number of spaces to indent nested object keys. Defaults to no indentation. */ + spaces(count: number): Response; + /**state(name, value, [options]) - sets an HTTP cookie where: + name - the cookie name. + value - the cookie value. If no encoding is defined, must be a string. + options - optional configuration. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others).*/ + state(name: string, value: string, options?: any): Response; + + /** sets a string suffix when the response is process via JSON.stringify().*/ + suffix(suffix: string): void; + /** overrides the default route cache expiration rule for this response instance where: +msec - the time-to-live value in milliseconds.*/ + ttl(msec: number): void; + /** type(mimeType) - sets the HTTP 'Content-Type' header where: + mimeType - is the mime type. Should only be used to override the built-in default for each response type. */ + type(mimeType: string): Response; + /** clears the HTTP cookie by setting an expired value where: +name - the cookie name. +options - optional configuration for expiring cookie. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others).*/ + unstate(name: string, options?: { [key: string]: string }): void; + /** adds the provided header to the list of inputs affected the response generation via the HTTP 'Vary' header where: +header - the HTTP request header name.*/ + vary(header: string): void; + } + /** When using the redirect() method, the response object provides these additional methods */ + export class ResponseRedirect extends Response { + /** sets the status code to 302 or 307 (based on the rewritable() setting) where: +isTemporary - if false, sets status to permanent. Defaults to true.*/ + temporary(isTemporary: boolean): void; + /** sets the status code to 301 or 308 (based on the rewritable() setting) where: +isPermanent - if true, sets status to temporary. Defaults to false. */ + permanent(isPermanent: boolean): void; + /** sets the status code to 301/302 for rewritable (allows changing the request method from 'POST' to 'GET') or 307/308 for non-rewritable (does not allow changing the request method from 'POST' to 'GET'). Exact code based on the temporary() or permanent() setting. Arguments: +isRewritable - if false, sets to non-rewritable. Defaults to true. +Permanent Temporary +Rewritable 301 302(1) +Non-rewritable 308(2) 307 +Notes: 1. Default value. 2. Proposed code, not supported by all clients. */ + rewritable(isRewritable: boolean): void; + } + /** info about a server connection */ + export interface IServerConnectionInfo { + /** - a unique connection identifier (using the format '{hostname}:{pid}:{now base36}').*/ + id: string; + /** - the connection creation timestamp.*/ + created: number; + /** - the connection start timestamp (0 when stopped).*/ + started: number; + /** the connection port based on the following rules: + the configured port value before the server has been started. + the actual port assigned when no port is configured or set to 0 after the server has been started.*/ + port: number; + + /** - the host name the connection was configured to. Defaults to the operating system hostname when available, otherwise 'localhost'.*/ + host: string; + /** - the active IP address the connection was bound to after starting.Set to undefined until the server has been started or when using a non TCP port (e.g. UNIX domain socket).*/ + address: string; + /** - the protocol used: + 'http' - HTTP. + 'https' - HTTPS. + 'socket' - UNIX domain socket or Windows named pipe.*/ + protocol: string; + /** a string representing the connection (e.g. 'http://example.com:8080' or 'socket:/unix/domain/socket/path'). Contains the uri setting if provided, otherwise constructed from the available settings. If no port is available or set to 0, the uri will not include a port component.*/ + uri: string; + } + /** + * undocumented. The connection object constructed after calling server.connection(); + * can be accessed via server.connections; or request.connection; + */ + export class ServerConnection extends Events.EventEmitter { + domain: any; + _events: { route: Function, domain: Function, _events: Function, _eventsCount: Function, _maxListeners: Function }; + _eventsCount: number; + settings: IServerConnectionOptions; + server: Server; + /** ex: "tcp" */ + type: string; + _started: boolean; + /** dictionary of sockets */ + _connections: { [ip_port: string]: any }; + _onConnection: Function; + registrations: any; + _extensions: any; + _requestCounter: { value: number; min: number; max: number }; + _load: any; + states: { + settings: any; cookies: any; names: any[] + }; + auth: { connection: ServerConnection; _schemes: any; _strategies: any; settings: any; }; + _router: any; + MSPluginsCollection: any; + applicationCache: any; + addEventListener: any; + info: IServerConnectionInfo; + } + + /** Server http://hapijs.com/api#server + rver object is the main application container. The server manages all incoming connections along with all the facilities provided by the framework. A server can contain more than one connection (e.g. listen to port 80 and 8080). + Server events + The server object inherits from Events.EventEmitter and emits the following events: + 'log' - events logged with server.log() and server events generated internally by the framework. + 'start' - emitted when the server is started using server.start(). + 'stop' - emitted when the server is stopped using server.stop(). + 'request' - events generated by request.log(). Does not include any internally generated events. + 'request-internal' - request events generated internally by the framework (multiple events per request). + 'request-error' - emitted whenever an Internal Server Error (500) error response is sent. Single event per request. + 'response' - emitted after the response is sent back to the client (or when the client connection closed and no response sent, in which case request.response is null). Single event per request. + 'tail' - emitted when a request finished processing, including any registered tails. Single event per request. + Note that the server object should not be used to emit application events as its internal implementation is designed to fan events out to the various plugin selections and not for application events. + MORE EVENTS HERE: http://hapijs.com/api#server-events*/ + export class Server extends Events.EventEmitter { + + constructor(options?: IServerOptions); + /** Provides a safe place to store server-specific run-time application data without potential conflicts with the framework internals. The data can be accessed whenever the server is accessible. Initialized with an empty object. + var Hapi = require('hapi'); + server = new Hapi.Server(); + server.app.key = 'value'; + var handler = function (request, reply) { + return reply(request.server.app.key); + }; */ + app: any; + /** An array containing the server's connections. When the server object is returned from server.select(), the connections array only includes the connections matching the selection criteria. + var server = new Hapi.Server(); + server.connection({ port: 80, labels: 'a' }); + server.connection({ port: 8080, labels: 'b' }); + // server.connections.length === 2 + var a = server.select('a'); + // a.connections.length === 1*/ + connections: Array; + /** When the server contains exactly one connection, info is an object containing information about the sole connection. + * When the server contains more than one connection, each server.connections array member provides its own connection.info. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + // server.info.port === 80 + server.connection({ port: 8080 }); + // server.info === null + // server.connections[1].info.port === 8080 + */ + info: IServerConnectionInfo; + /** An object containing the process load metrics (when load.sampleInterval is enabled): + rss - RSS memory usage. + var Hapi = require('hapi'); + var server = new Hapi.Server({ load: { sampleInterval: 1000 } }); + console.log(server.load.rss);*/ + load: { + /** - event loop delay milliseconds.*/ + eventLoopDelay: number; + /** - V8 heap usage.*/ + heapUsed: number; + }; + /** When the server contains exactly one connection, listener is the node HTTP server object of the sole connection. + When the server contains more than one connection, each server.connections array member provides its own connection.listener. + var Hapi = require('hapi'); + var SocketIO = require('socket.io'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var io = SocketIO.listen(server.listener); + io.sockets.on('connection', function(socket) { + socket.emit({ msg: 'welcome' }); + });*/ + listener: http.Server; + + /** server.methods + An object providing access to the server methods where each server method name is an object property. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.method('add', function (a, b, next) { + return next(null, a + b); + }); + server.methods.add(1, 2, function (err, result) { + // result === 3 + });*/ + methods: IDictionary; + + /** server.mime + Provides access to the server MIME database used for setting content-type information. The object must not be modified directly but only through the mime server setting. + var Hapi = require('hapi'); + var options = { + mime: { + override: { + 'node/module': { + source: 'steve', + compressible: false, + extensions: ['node', 'module', 'npm'], + type: 'node/module' + } + } + } + }; + var server = new Hapi.Server(options); + // server.mime.path('code.js').type === 'application/javascript' + // server.mime.path('file.npm').type === 'node/module'*/ + mime: any; + /**server.plugins + An object containing the values exposed by each plugin registered where each key is a plugin name and the values are the exposed properties by each plugin using server.expose(). Plugins may set the value of the server.plugins[name] object directly or via the server.expose() method. + exports.register = function (server, options, next) { + server.expose('key', 'value'); + // server.plugins.example.key === 'value' + return next(); + }; + exports.register.attributes = { + name: 'example' + };*/ + plugins: IDictionary; + /** server.realm + The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. + modifiers - when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method and includes: + route - routes preferences: + prefix - the route path prefix used by any calls to server.route() from the server. + vhost - the route virtual host settings used by any calls to server.route() from the server. + plugin - the active plugin name (empty string if at the server root). + plugins - plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. + settings - settings overrides: + files.relativeTo + bind + The server.realm object should be considered read-only and must not be changed directly except for the plugins property can be directly manipulated by the plugins (each setting its own under plugins[name]). + exports.register = function (server, options, next) { + console.log(server.realm.modifiers.route.prefix); + return next(); + };*/ + realm: IServerRealm; + + /** server.root + The root server object containing all the connections and the root server methods (e.g. start(), stop(), connection()).*/ + root: Server; + /** server.settings + The server configuration object after defaults applied. + var Hapi = require('hapi'); + var server = new Hapi.Server({ + app: { + key: 'value' + } + }); + // server.settings.app === { key: 'value' }*/ + settings: IServerOptions; + + /** server.version + The hapi module version number. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + // server.version === '8.0.0'*/ + version: string; + + /** server.after(method, [dependencies]) + Adds a method to be called after all the plugin dependencies have been registered and before the server starts (only called if the server is started) where: + after - the method with signature function(plugin, next) where: + server - server object the after() method was called on. + next - the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: + err - internal error which is returned back via the server.start() callback. + dependencies - a string or array of string with the plugin names to call this method after their after() methods. There is no requirement for the other plugins to be registered. Setting dependencies only arranges the after methods in the specified order. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.after(function () { + // Perform some pre-start logic + }); + server.start(function (err) { + // After method already executed + }); + server.auth.default(options)*/ + after(method: (plugin: any, next: (err: any) => void) => void, dependencies: string | string[]): void; + + auth: { + /** server.auth.default(options) + Sets a default strategy which is applied to every route where: + options - a string with the default strategy name or an object with a specified strategy or strategies using the same format as the route auth handler options. + The default does not apply when the route config specifies auth as false, or has an authentication strategy configured. Otherwise, the route authentication config is applied to the defaults. Note that the default only applies at time of route configuration, not at runtime. Calling default() after adding a route will have no impact on routes added prior. + The default auth strategy configuration can be accessed via connection.auth.settings.default. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.auth.scheme('custom', scheme); + server.auth.strategy('default', 'custom'); + server.auth.default('default'); + server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + return reply(request.auth.credentials.user); + } + });*/ + default(options: string): void; + /** server.auth.scheme(name, scheme) + Registers an authentication scheme where: + name - the scheme name. + scheme - the method implementing the scheme with signature function(server, options) where: + server - a reference to the server object the scheme is added to. + options - optional scheme settings used to instantiate a strategy.*/ + scheme(name: string, + /** When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted if configured for the route. If the err returned by the reply() method includes a message, no additional strategies will be attempted. If the err does not include a message but does include a scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in order of preference. + n the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'. + server = new Hapi.Server(); + server.connection({ port: 80 }); + scheme = function (server, options) { + urn { + authenticate: function (request, reply) { + req = request.raw.req; + var authorization = req.headers.authorization; + if (!authorization) { + return reply(Boom.unauthorized(null, 'Custom')); + } + urn reply(null, { credentials: { user: 'john' } }); + } + }; + }; + */ + scheme: (server: Server, options: any) => IServerAuthScheme): void; + + /** server.auth.strategy(name, scheme, [mode], [options]) + Registers an authentication strategy where: + name - the strategy name. + scheme - the scheme name (must be previously registered using server.auth.scheme()). + mode - if true, the scheme is automatically assigned as a required strategy to any route without an auth config. Can only be assigned to a single server strategy. Value must be true (which is the same as 'required') or a valid authentication mode ('required', 'optional', 'try'). Defaults to false. + options - scheme options based on the scheme requirements. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.auth.scheme('custom', scheme); + server.auth.strategy('default', 'custom'); + server.route({ + method: 'GET', + path: '/', + config: { + auth: 'default', + handler: function (request, reply) { + return reply(request.auth.credentials.user); + } + } + });*/ + strategy(name: string, scheme: any, mode?: boolean | string, options?: any): void; + + /** server.auth.test(strategy, request, next) + Tests a request against an authentication strategy where: + strategy - the strategy name registered with server.auth.strategy(). + request - the request object. + next - the callback function with signature function(err, credentials) where: + err - the error if authentication failed. + credentials - the authentication credentials object if authentication was successful. + Note that the test() method does not take into account the route authentication configuration. It also does not perform payload authentication. It is limited to the basic strategy authentication execution. It does not include verifying scope, entity, or other route properties. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.auth.scheme('custom', scheme); + server.auth.strategy('default', 'custom'); + server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + request.server.auth.test('default', request, function (err, credentials) { + if (err) { + return reply({ status: false }); + } + return reply({ status: true, user: credentials.name }); + }); + } + });*/ + test(strategy: string, request: Request, next: (err: any, credentials: any) => void): void; + }; + /** server.bind(context) + Sets a global context used as the default bind object when adding a route or an extension where: + context - the object used to bind this in handler and extension methods. + When setting context inside a plugin, the context is applied only to methods set up by the plugin. Note that the context applies only to routes and extensions added after it has been set. + var handler = function (request, reply) { + return reply(this.message); + }; + exports.register = function (server, options, next) { + var bind = { + message: 'hello' + }; + server.bind(bind); + server.route({ method: 'GET', path: '/', handler: handler }); + return next(); + };*/ + bind(context: any): void; + + + /** server.cache(options) + Provisions a cache segment within the server cache facility where: + options - catbox policy configuration where: + expiresIn - relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. + expiresAt - time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records expire. Uses local time. Cannot be used together with expiresIn. + generateFunc - a function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) where: - id - the id string or object provided to the get() method. - next - the method called when the new item is returned with the signature function(err, value, ttl) where: - err - an error condition. - value - the new value generated. - ttl - the cache ttl value in milliseconds. Set to 0 to skip storing in the cache. Defaults to the cache global policy. + staleIn - number of milliseconds to mark an item stored in cache as stale and attempt to regenerate it when generateFunc is provided. Must be less than expiresIn. + staleTimeout - number of milliseconds to wait before checking if an item is stale. + generateTimeout - number of milliseconds to wait before returning a timeout error when the generateFunc function takes too long to return a value. When the value is eventually returned, it is stored in the cache for future requests. + cache - the cache name configured in 'server.cache`. Defaults to the default cache. + segment - string segment name, used to isolate cached items within the cache partition. When called within a plugin, defaults to '!name' where 'name' is the plugin name. Required when called outside of a plugin. + shared - if true, allows multiple cache provisions to share the same segment. Default to false. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var cache = server.cache({ segment: 'countries', expiresIn: 60 * 60 * 1000 }); + cache.set('norway', { capital: 'oslo' }, null, function (err) { + cache.get('norway', function (err, value, cached, log) { + // value === { capital: 'oslo' }; + }); + });*/ + cache(options: ICatBoxCacheOptions): void; + + /** server.connection([options]) + Adds an incoming server connection + Returns a server object with the new connection selected. + Must be called before any other server method that modifies connections is called for it to apply to the new connection (e.g. server.state()). + Note that the options object is deeply cloned (with the exception of listener which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + var web = server.connection({ port: 8000, host: 'example.com', labels: ['web'] }); + var admin = server.connection({ port: 8001, host: 'example.com', labels: ['admin'] }); + // server.connections.length === 2 + // web.connections.length === 1 + // admin.connections.length === 1 */ + connection(options: IServerConnectionOptions): Server; + /** server.decorate(type, property, method) + Extends various framework interfaces with custom methods where: + type - the interface being decorated. Supported types: + 'reply' - adds methods to the reply interface. + 'server' - adds methods to the Server object. + property - the object decoration key name. + method - the extension function. + Note that decorations apply to the entire server and all its connections regardless of current selection. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.decorate('reply', 'success', function () { + return this.response({ status: 'ok' }); + }); + server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + return reply.success(); + } + });*/ + decorate(type: string, property: string, method: Function): void; + + /** server.dependency(dependencies, [after]) + Used within a plugin to declares a required dependency on other plugins where: + dependencies - a single string or array of plugin name strings which must be registered in order for this plugin to operate. Plugins listed must be registered before the server is started. Does not provide version dependency which should be implemented using npm peer dependencies. + after - an optional function called after all the specified dependencies have been registered and before the server starts. The function is only called if the server is started. If a circular dependency is detected, an exception is thrown (e.g. two plugins each has an after function to be called after the other). The function signature is function(server, next) where: + server - the server the dependency() method was called on. + next - the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: + err - internal error condition, which is returned back via the server.start() callback. + exports.register = function (server, options, next) { + server.dependency('yar', after); + return next(); + }; + var after = function (server, next) { + // Additional plugin registration logic + return next(); + };*/ + dependency(dependencies: string | string[], after?: (server: Server, next: (err: any) => void) => void): void; + + + /** server.expose(key, value) + Used within a plugin to expose a property via server.plugins[name] where: + key - the key assigned (server.plugins[name][key]). + value - the value assigned. + exports.register = function (server, options, next) { + server.expose('util', function () { console.log('something'); }); + return next(); + };*/ + expose(key: string, value: any): void; + + /** server.expose(obj) + Merges a deep copy of an object into to the existing content of server.plugins[name] where: + obj - the object merged into the exposed properties container. + exports.register = function (server, options, next) { + server.expose({ util: function () { console.log('something'); } }); + return next(); + };*/ + expose(obj: any): void; + + /** server.ext(event, method, [options]) + Registers an extension function in one of the available extension points where: + event - the event name. + method - a function or an array of functions to be executed at a specified point during request processing. The required extension function signature is function(request, reply) where: + request - the request object. NOTE: Access the Response via request.response + reply - the reply interface which is used to return control back to the framework. To continue normal execution of the request lifecycle, reply.continue() must be called. To abort processing and return a response to the client, call reply(value) where value is an error or any other valid response. + this - the object provided via options.bind or the current active context set with server.bind(). + options - an optional object with the following: + before - a string or array of strings of plugin names this method must execute before (on the same event). Otherwise, extension methods are executed in the order added. + after - a string or array of strings of plugin names this method must execute after (on the same event). Otherwise, extension methods are executed in the order added. + bind - a context object passed back to the provided method (via this) when called. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.ext('onRequest', function (request, reply) { + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); + }); + var handler = function (request, reply) { + return reply({ status: 'ok' }); + }; + server.route({ method: 'GET', path: '/test', handler: handler }); + server.start(); + // All requests will get routed to '/test'*/ + ext(event: string, method: (request: Request, reply: IReply, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; + + /** server.handler(name, method) + Registers a new handler type to be used in routes where: + name - string name for the handler being registered. Cannot override the built-in handler types (directory, file, proxy, and view) or any previously registered type. + method - the function used to generate the route handler using the signature function(route, options) where: + route - the route public interface object. + options - the configuration object provided in the handler config. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ host: 'localhost', port: 8000 }); + // Defines new handler for routes on this server + server.handler('test', function (route, options) { + return function (request, reply) { + return reply('new handler: ' + options.msg); + } + }); + server.route({ + method: 'GET', + path: '/', + handler: { test: { msg: 'test' } } + }); + server.start(); + The method function can have a defaults object or function property. If the property is set to an object, that object is used as the default route config for routes using this handler. If the property is set to a function, the function uses the signature function(method) and returns the route default configuration. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ host: 'localhost', port: 8000 }); + var handler = function (route, options) { + return function (request, reply) { + return reply('new handler: ' + options.msg); + } + }; + // Change the default payload processing for this handler + handler.defaults = { + payload: { + output: 'stream', + parse: false + } + }; + server.handler('test', handler);*/ + handler(name: string, method: (route: IRoute, options: THandlerConfig) => ISessionHandler): void; + /** When the server contains exactly one connection, injects a request into the sole connection simulating an incoming HTTP request without making an actual socket connection. + Injection is useful for testing purposes as well as for invoking routing logic internally without the overhead or limitations of the network stack. + Utilizes the [shot module | https://github.com/hapijs/shot ] for performing injections, with some additional options and response properties + * When the server contains more than one connection, each server.connections array member provides its own connection.inject(). + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var handler = function (request, reply) { + return reply('Success!'); + }; + server.route({ method: 'GET', path: '/', handler: handler }); + server.inject('/', function (res) { + console.log(res.result); + }); + */ + inject: IServerInject; + + /** server.log(tags, [data, [timestamp]]) + Logs server events that cannot be associated with a specific request. When called the server emits a 'log' event which can be used by other listeners or plugins to record the information or output to the console. The arguments are: + tags - a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events. Any logs generated by the server internally include the 'hapi' tag along with event-specific information. + data - an optional message string or object with the application data being logged. + timestamp - an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.on('log', function (event, tags) { + if (tags.error) { + console.log(event); + } + }); + server.log(['test', 'error'], 'Test event');*/ + log(tags: string | string[], data?: string | any, timestamp?: number): void; + /**server.lookup(id) + When the server contains exactly one connection, looks up a route configuration where: + id - the route identifier as set in the route options. + returns the route public interface object if found, otherwise null. + var server = new Hapi.Server(); + server.connection(); + server.route({ + method: 'GET', + path: '/', + config: { + handler: function (request, reply) { return reply(); }, + id: 'root' + } + }); + var route = server.lookup('root'); + When the server contains more than one connection, each server.connections array member provides its own connection.lookup() method.*/ + lookup(id: string): IRoute; + /** server.match(method, path, [host]) + When the server contains exactly one connection, looks up a route configuration where: + method - the HTTP method (e.g. 'GET', 'POST'). + path - the requested path (must begin with '/'). + host - optional hostname (to match against routes with vhost). + returns the route public interface object if found, otherwise null. + var server = new Hapi.Server(); + server.connection(); + server.route({ + method: 'GET', + path: '/', + config: { + handler: function (request, reply) { return reply(); }, + id: 'root' + } + }); + var route = server.match('get', '/'); + When the server contains more than one connection, each server.connections array member provides its own connection.match() method.*/ + match(method: string, path: string, host?: string): IRoute; + + + + + /** server.method(name, method, [options]) + Registers a server method. Server methods are functions registered with the server and used throughout the application as a common utility. Their advantage is in the ability to configure them to use the built-in cache and share across multiple request handlers without having to create a common module. + Methods are registered via server.method(name, method, [options]) + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + // Simple arguments + var add = function (a, b, next) { + return next(null, a + b); + }; + server.method('sum', add, { cache: { expiresIn: 2000 } }); + server.methods.sum(4, 5, function (err, result) { + console.log(result); + }); + // Object argument + var addArray = function (array, next) { + var sum = 0; + array.forEach(function (item) { + sum += item; + }); + return next(null, sum); + }; + server.method('sumObj', addArray, { + cache: { expiresIn: 2000 }, + generateKey: function (array) { + return array.join(','); + } + }); + server.methods.sumObj([5, 6], function (err, result) { + console.log(result); + }); + // Synchronous method with cache + var addSync = function (a, b) { + return a + b; + }; + server.method('sumSync', addSync, { cache: { expiresIn: 2000 }, callback: false }); + server.methods.sumSync(4, 5, function (err, result) { + console.log(result); + }); */ + method( + /** a unique method name used to invoke the method via server.methods[name]. When configured with caching enabled, server.methods[name].cache.drop(arg1, arg2, ..., argn, callback) can be used to clear the cache for a given key. Supports using nested names such as utils.users.get which will automatically create the missing path under server.methods and can be accessed for the previous example via server.methods.utils.users.get.*/ + name: string, + method: IServerMethod, + options?: IServerMethodOptions): void; + + + /**server.method(methods) + Registers a server method function as described in server.method() using a configuration object where: + methods - an object or an array of objects where each one contains: + name - the method name. + method - the method function. + options - optional settings. + var add = function (a, b, next) { + next(null, a + b); + }; + server.method({ + name: 'sum', + method: add, + options: { + cache: { + expiresIn: 2000 + } + } + });*/ + method(methods: { + name: string; method: IServerMethod; options?: IServerMethodOptions + } | Array<{ + name: string; method: IServerMethod; options?: IServerMethodOptions + }>): void; + /**server.path(relativeTo) + Sets the path prefix used to locate static resources (files and view templates) when relative paths are used where: + relativeTo - the path prefix added to any relative file path starting with '.'. + Note that setting a path within a plugin only applies to resources accessed by plugin methods. If no path is set, the connection files.relativeTo configuration is used. The path only applies to routes added after it has been set. + exports.register = function (server, options, next) { + server.path(__dirname + '../static'); + server.route({ path: '/file', method: 'GET', handler: { file: './test.html' } }); + next(); + };*/ + path(relativeTo: string): void; + /**server.register(plugins, [options], callback) + Registers a plugin where: + plugins - an object or array of objects where each one is either: + a plugin registration function. + an object with the following: + register - the plugin registration function. + options - optional options passed to the registration function when called. + options - optional registration options (different from the options passed to the registration function): + select - a string or array of string labels used to pre-select connections for plugin registration. + routes - modifiers applied to each route added by the plugin: + prefix - string added as prefix to any route path (must begin with '/'). If a plugin registers a child plugin the prefix is passed on to the child or is added in front of the child-specific prefix. + vhost - virtual host string (or array of strings) applied to every route. The outer-most vhost overrides the any nested configuration. + callback - the callback function with signature function(err) where: + err - an error returned from the registration function. Note that exceptions thrown by the registration function are not handled by the framework. + server.register({ + register: require('plugin_name'), + options: { + message: 'hello' + } + }, function (err) { + if (err) { + console.log('Failed loading plugin'); + } + });*/ + register(plugins: any | any[], options: { + select: string | string[]; + routes: { + prefix: string; vhost?: string | string[] + }; + } + , callback: (err: any) => void): void; + + register(plugins: any | any[], callback: (err: any) => void): void; + + /**server.render(template, context, [options], callback) + Utilizes the server views manager to render a template where: + template - the template filename and path, relative to the views manager templates path (path or relativeTo). + context - optional object used by the template to render context-specific result. Defaults to no context ({}). + options - optional object used to override the views manager configuration. + callback - the callback function with signature function (err, rendered, config) where: + err - the rendering error if any. + rendered - the result view string. + config - the configuration used to render the template. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + var context = { + title: 'Views Example', + message: 'Hello, World' + }; + server.render('hello', context, function (err, rendered, config) { + console.log(rendered); + });*/ + render(template: string, context: any, options: any, callback: (err: any, rendered: any, config: any) => void): void; + /** server.route(options) + Adds a connection route where: + options - a route configuration object or an array of configuration objects. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.route({ method: 'GET', path: '/', handler: function (request, reply) { return reply('ok'); } }); + server.route([ + { method: 'GET', path: '/1', handler: function (request, reply) { return reply('ok'); } }, + { method: 'GET', path: '/2', handler: function (request, reply) { return reply('ok'); } } + ]);*/ + route(options: IRouteConfiguration): void; + route(options: IRouteConfiguration[]): void; + /**server.select(labels) + Selects a subset of the server's connections where: + labels - a single string or array of strings of labels used as a logical OR statement to select all the connections with matching labels in their configuration. + Returns a server object with connections set to the requested subset. Selecting again on a selection operates as a logic AND statement between the individual selections. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80, labels: ['a'] }); + server.connection({ port: 8080, labels: ['b'] }); + server.connection({ port: 8081, labels: ['c'] }); + server.connection({ port: 8082, labels: ['c','d'] }); + var a = server.select('a'); // The server with port 80 + var ab = server.select(['a','b']); // A list of servers containing the server with port 80 and the server with port 8080 + var c = server.select('c'); // A list of servers containing the server with port 8081 and the server with port 8082 */ + select(labels: string | string[]): Server | Server[]; + /** server.start([callback]) + Starts the server connections by listening for incoming requests on the configured port of each listener (unless the connection was configured with autoListen set to false), where: + callback - optional callback when server startup is completed or failed with the signature function(err) where: + err - any startup error condition. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.start(function (err) { + console.log('Server started at: ' + server.info.uri); + });*/ + start(callback?: (err: any) => void): void; + /** server.state(name, [options]) + HTTP state management uses client cookies to persist a state across multiple requests. Registers a cookie definitions + State defaults can be modified via the server connections.routes.state configuration option. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + // Set cookie definition + server.state('session', { + ttl: 24 * 60 * 60 * 1000, // One day + isSecure: true, + path: '/', + encoding: 'base64json' + }); + // Set state in route handler + var handler = function (request, reply) { + var session = request.state.session; + if (!session) { + session = { user: 'joe' }; + } + session.last = Date.now(); + return reply('Success').state('session', session); + }; + Registered cookies are automatically parsed when received. Parsing rules depends on the route state.parse configuration. If an incoming registered cookie fails parsing, it is not included in request.state, regardless of the state.failAction setting. When state.failAction is set to 'log' and an invalid cookie value is received, the server will emit a 'request-internal' event. To capture these errors subscribe to the 'request-internal' events and filter on 'error' and 'state' tags: + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.on('request-internal', function (request, event, tags) { + if (tags.error && tags.state) { + console.error(event); + } + }); */ + state(name: string, options?: ICookieSettings): void; + + /** server.stop([options], [callback]) + Stops the server's connections by refusing to accept any new connections or requests (existing connections will continue until closed or timeout), where: + options - optional object with: + timeout - overrides the timeout in millisecond before forcefully terminating a connection. Defaults to 5000 (5 seconds). + callback - optional callback method with signature function() which is called once all the connections have ended and it is safe to exit the process. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.stop({ timeout: 60 * 1000 }, function () { + console.log('Server stopped'); + });*/ + stop(options?: { timeout: number }, callback?: () => void): void; + /**server.table([host]) + Returns a copy of the routing table where: + host - optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. + The return value is an array where each item is an object containing: + info - the connection.info the connection the table was generated for. + labels - the connection labels. + table - an array of routes where each route contains: + settings - the route config with defaults applied. + method - the HTTP method in lower case. + path - the route path. + Note that if the server has not been started and multiple connections use port 0, the table items will override each other and will produce an incomplete result. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80, host: 'example.com' }); + server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); + var table = server.table(); + When calling connection.table() directly on each connection, the return value is the same as the array table item value of an individual connection: + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80, host: 'example.com' }); + server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); + var table = server.connections[0].table(); + //[ + // { + // method: 'get', + // path: '/example', + // settings: { ... } + // } + //] + */ + table(host?: any): IConnectionTable; + + /**server.views(options) + Initializes the server views manager + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.views({ + engines: { + html: require('handlebars'), + jade: require('jade') + }, + path: '/static/templates' + }); + When server.views() is called within a plugin, the views manager is only available to plugins methods.*/ + views(options: IServerViewsConfiguration): void; + + } +} diff --git a/types/hapi/v12/tsconfig.json b/types/hapi/v12/tsconfig.json new file mode 100644 index 0000000000..4659b7940a --- /dev/null +++ b/types/hapi/v12/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "baseUrl": "../../", + "typeRoots": [ + "../../" + ], + "types": [], + "paths": { + "hapi": [ + "hapi/v12" + ] + }, + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "hapi-tests.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/hapi-tests.ts b/types/hapi/v16.0/hapi-tests.ts similarity index 100% rename from types/hapi/hapi-tests.ts rename to types/hapi/v16.0/hapi-tests.ts diff --git a/types/hapi/v16.0/index.d.ts b/types/hapi/v16.0/index.d.ts new file mode 100644 index 0000000000..6fdef94dec --- /dev/null +++ b/types/hapi/v16.0/index.d.ts @@ -0,0 +1,2489 @@ +// Type definitions for hapi 16.0 +// Project: http://github.com/spumko/hapi +// Definitions by: Jason Swearingen +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Note/Disclaimer: This .d.ts was created against hapi v8.x but has been incrementally upgraded to 13.x. Some newer features/changes may be missing. YMMV. + +/// + +import http = require("http"); +import stream = require("stream"); +import Events = require("events"); +import url = require("url"); + +export interface IDictionary { + [key: string]: T; +} + +export interface IHeaderOptions { + append?: boolean; + separator?: string; + override?: boolean; + duplicate?: boolean; +} + +/** Boom Module for errors. https://github.com/hapijs/boom + * boom provides a set of utilities for returning HTTP errors. Each utility returns a Boom error response object (instance of Error) which includes the following properties: */ +export interface IBoom extends Error { + /** if true, indicates this is a Boom object instance. */ + isBoom: boolean; + /** convenience bool indicating status code >= 500. */ + isServer: boolean; + /** the error message. */ + message: string; + /** the formatted response.Can be directly manipulated after object construction to return a custom error response.Allowed root keys: */ + output: { + /** the HTTP status code (typically 4xx or 5xx). */ + statusCode: number; + /** an object containing any HTTP headers where each key is a header name and value is the header content. */ + headers: IDictionary; + /** the formatted object used as the response payload (stringified).Can be directly manipulated but any changes will be lost if reformat() is called.Any content allowed and by default includes the following content: */ + payload: { + /** the HTTP status code, derived from error.output.statusCode. */ + statusCode: number; + /** the HTTP status message (e.g. 'Bad Request', 'Internal Server Error') derived from statusCode. */ + error: string; + /** the error message derived from error.message. */ + message: string; + }; + }; + /** reformat()rebuilds error.output using the other object properties. */ + reformat(): void; +} + +/** cache functionality via the "CatBox" module. */ +export interface ICatBoxCacheOptions { + /** a prototype function or catbox engine object. */ + engine: any; + /** an identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisions as well. */ + name?: string; + /** if true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. */ + shared?: boolean; +} + +/** policy configuration for the "CatBox" module and server method options. */ +export interface ICatBoxCachePolicyOptions { + /** the cache name configured in server.cache. Defaults to the default cache. */ + cache?: string; + /** string segment name, used to isolate cached items within the cache partition. When called within a plugin, defaults to '!name' where 'name' is the plugin name. When called within a server method, defaults to '#name' where 'name' is the server method name. Required when called outside of a plugin. */ + segment?: string; + /** if true, allows multiple cache provisions to share the same segment. Default to false. */ + shared?: boolean; + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: number; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records expire. Uses local time. Cannot be used together with expiresIn. */ + expiresAt?: number; + /** a function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) where: - id - the id string or object provided to the get() method. - next - the method called when the new item is returned with the signature function(err, value, ttl) where: - err - an error condition. - value - the new value generated. - ttl - the cache ttl value in milliseconds. Set to 0 to skip storing in the cache. Defaults to the cache global policy. */ + generateFunc?: Function; + /** number of milliseconds to mark an item stored in cache as stale and attempt to regenerate it when generateFunc is provided. Must be less than expiresIn. */ + staleIn?: number; + /** number of milliseconds to wait before checking if an item is stale. */ + staleTimeout?: number; + /** number of milliseconds to wait before returning a timeout error when the generateFunc function takes too long to return a value. When the value is eventually returned, it is stored in the cache for future requests. Required if generateFunc is present. Set to false to disable timeouts which may cause all get() requests to get stuck forever. */ + generateTimeout?: number; + /** if true, an error or timeout in the generateFunc causes the stale value to be evicted from the cache. Defaults to true */ + dropOnError?: boolean; + /** if false, an upstream cache read error will stop the cache.get() method from calling the generate function and will instead pass back the cache error. Defaults to true. */ + generateOnReadError?: boolean; + /** if false, an upstream cache write error when calling cache.get() will be passed back with the generated value when calling. Defaults to true. */ + generateIgnoreWriteError?: boolean; + /** number of milliseconds while generateFunc call is in progress for a given id, before a subsequent generateFunc call is allowed. Defaults to 0 (no blocking of concurrent generateFunc calls beyond staleTimeout). */ + pendingGenerateTimeout?: number; +} + +/** Any connections configuration server defaults can be included to override and customize the individual connection. */ +export interface IServerConnectionOptions extends IConnectionConfigurationServerDefaults { + /** - the public hostname or IP address. Used only to set server.info.host and server.info.uri. If not configured, defaults to the operating system hostname and if not available, to 'localhost'.*/ + host?: string; + /** - sets the host name or IP address the connection will listen on.If not configured, defaults to host if present, otherwise to all available network interfaces (i.e. '0.0.0.0').Set to 127.0.0.1 or localhost to restrict connection to only those coming from the same machine.*/ + address?: string; + /** - the TCP port the connection will listen to.Defaults to an ephemeral port (0) which uses an available port when the server is started (and assigned to server.info.port).If port is a string containing a '/' character, it is used as a UNIX domain socket path and if it starts with '\.\pipe' as a Windows named pipe.*/ + port?: string | number; + /** - the full public URI without the path (e.g. 'http://example.com:8080').If present, used as the connection info.uri otherwise constructed from the connection settings.*/ + uri?: string; + /** - optional node.js HTTP (or HTTPS) http.Server object or any compatible object.If the listener needs to be manually started, set autoListen to false.If the listener uses TLS, set tls to true.*/ + listener?: any; + /** - indicates that the connection.listener will be started manually outside the framework.Cannot be specified with a port setting.Defaults to true.*/ + autoListen?: boolean; + /** caching headers configuration: */ + cache?: { + /** - an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive.Defaults to [200]. */ + statuses: number[]; + }; + /** - a string or string array of labels used to server.select() specific connections matching the specified labels.Defaults to an empty array [](no labels).*/ + labels?: string | string[]; + /** - used to create an HTTPS connection.The tls object is passed unchanged as options to the node.js HTTPS server as described in the node.js HTTPS documentation.Set to true when passing a listener object that has been configured to use TLS directly. */ + tls?: boolean | { key?: string; cert?: string; pfx?: string; } | Object; +} + +export interface IConnectionConfigurationServerDefaults { + /** application-specific connection configuration which can be accessed via connection.settings.app. Provides a safe place to store application configuration without potential conflicts with the framework internals. Should not be used to configure plugins which should use plugins[name]. Note the difference between connection.settings.app which is used to store configuration values and connection.app which is meant for storing run-time state. */ + app?: any; + /** if false, response content encoding is disabled. Defaults to true */ + compression?: boolean; + /** connection load limits configuration where: */ + load?: { + /** maximum V8 heap size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxHeapUsedBytes: number; + /** maximum process RSS size over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxRssBytes: number; + /** maximum event loop delay duration in milliseconds over which incoming requests are rejected with an HTTP Server Timeout (503) response. Defaults to 0 (no limit). */ + maxEventLoopDelay: number; + }; + /** plugin-specific configuration which can later be accessed via connection.settings.plugins. Provides a place to store and pass connection-specific plugin configuration. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between connection.settings.plugins which is used to store configuration values and connection.plugins which is meant for storing run-time state. */ + plugins?: any; + /** controls how incoming request URIs are matched against the routing table: */ + router?: { + /** determines whether the paths '/example' and '/EXAMPLE' are considered different resources. Defaults to true. */ + isCaseSensitive: boolean; + /** removes trailing slashes on incoming paths. Defaults to false. */ + stripTrailingSlash: boolean; + }; + /** a route options object used to set the default configuration for every route. */ + routes?: IRouteAdditionalConfigurationOptions; + state?: IServerState; +} + +/** Note that the options object is deeply cloned and cannot contain any values that are unsafe to perform deep copy on.*/ +export interface IServerOptions { + /** application-specific configuration which can later be accessed via server.settings.app. Note the difference between server.settings.app which is used to store static configuration values and server.app which is meant for storing run-time state. Defaults to {}. */ + app?: any; + /** sets up server-side caching. Every server includes a default cache for storing application state. By default, a simple memory-based cache is created which has limited capacity and capabilities. hapi uses catbox for its cache which includes support for common storage solutions (e.g. Redis, MongoDB, Memcached, and Riak). Caching is only utilized if methods and plugins explicitly store their state in the cache. The server cache configuration only defines the storage container itself. cache can be assigned: + a prototype function (usually obtained by calling require() on a catbox strategy such as require('catbox-redis')). + a configuration object with the following options: + enginea prototype function or catbox engine object. + namean identifier used later when provisioning or configuring caching for server methods or plugins. Each cache name must be unique. A single item may omit the name option which defines the default cache. If every cache includes a name, a default memory cache is provisions as well. + sharedif true, allows multiple cache users to share the same segment (e.g. multiple methods using the same cache storage container). Default to false. + other options passed to the catbox strategy used. + an array of the above object for configuring multiple cache instances, each with a unique name. When an array of objects is provided, multiple cache connections are established and each array item (except one) must include a name. */ + cache?: string | ICatBoxCacheOptions | ICatBoxCacheOptions[] | any; + /** sets the default connections configuration which can be overridden by each connection where: */ + connections?: IConnectionConfigurationServerDefaults; + /** determines which logged events are sent to the console (this should only be used for development and does not affect which events are actually logged internally and recorded). Set to false to disable all console logging, or to an object*/ + debug?: boolean | { + /** - a string array of server log tags to be displayed via console.error() when the events are logged via server.log() as well as internally generated server logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error. */ + log: string[]; + /** - a string array of request log tags to be displayed via console.error() when the events are logged via request.log() as well as internally generated request logs. For example, to display all errors, set the option to ['error']. To turn off all console debug messages set it to false. Defaults to uncaught errors thrown in external code (these errors are handled automatically and result in an Internal Server Error response) or runtime errors due to developer error.*/ + request: string[]; + }; + /** file system related settings*/ + files?: { + /** sets the maximum number of file etag hash values stored in the etags cache. Defaults to 10000.*/ + etagsCacheMaxSize?: number; + }; + /** process load monitoring*/ + load?: { + /** the frequency of sampling in milliseconds. Defaults to 0 (no sampling).*/ + sampleInterval?: number; + }; + + /** options passed to the mimos module (https://github.com/hapijs/mimos) when generating the mime database used by the server and accessed via server.mime.*/ + mime?: any; + /** if true, does not load the inert (file and directory support), h2o2 (proxy support), and vision (views support) plugins automatically. The plugins can be loaded manually after construction. Defaults to false (plugins loaded). */ + minimal?: boolean; + /** plugin-specific configuration which can later be accessed via server.settings.plugins. plugins is an object where each key is a plugin name and the value is the configuration. Note the difference between server.settings.plugins which is used to store static configuration values and server.plugins which is meant for storing run-time state. Defaults to {}.*/ + plugins?: IDictionary; +} + +export interface IServerViewCompile { + (template: string, options: any): void; + (template: string, options: any, callback: (err: any, compiled: (context: any, options: any, callback: (err: any, rendered: boolean) => void) => void) => void): void; +} + +export interface IServerViewsAdditionalOptions { + /** path - the root file path used to resolve and load the templates identified when calling reply.view().Defaults to current working directory.*/ + path?: string; + /**partialsPath - the root file path where partials are located.Partials are small segments of template code that can be nested and reused throughout other templates.Defaults to no partials support (empty path). + */ + partialsPath?: string; + /**helpersPath - the directory path where helpers are located.Helpers are functions used within templates to perform transformations and other data manipulations using the template context or other inputs.Each '.js' file in the helpers directory is loaded and the file name is used as the helper name.The files must export a single method with the signature function(context) and return a string.Sub - folders are not supported and are ignored.Defaults to no helpers support (empty path).Note that jade does not support loading helpers this way.*/ + helpersPath?: string; + /**relativeTo - a base path used as prefix for path and partialsPath.No default.*/ + relativeTo?: string; + + /**layout - if set to true or a layout filename, layout support is enabled.A layout is a single template file used as the parent template for other view templates in the same engine.If true, the layout template name must be 'layout.ext' where 'ext' is the engine's extension. Otherwise, the provided filename is suffixed with the engine's extension and loaded.Disable layout when using Jade as it will handle including any layout files independently.Defaults to false.*/ + layout?: boolean | string; + /**layoutPath - the root file path where layout templates are located (using the relativeTo prefix if present). Defaults to path.*/ + layoutPath?: string; + /**layoutKeyword - the key used by the template engine to denote where primary template content should go.Defaults to 'content'.*/ + layoutKeywork?: string; + /**encoding - the text encoding used by the templates when reading the files and outputting the result.Defaults to 'utf8'.*/ + encoding?: string; + /**isCached - if set to false, templates will not be cached (thus will be read from file on every use).Defaults to true.*/ + isCached?: boolean; + /**allowAbsolutePaths - if set to true, allows absolute template paths passed to reply.view().Defaults to false.*/ + allowAbsolutePaths?: boolean; + /**allowInsecureAccess - if set to true, allows template paths passed to reply.view() to contain '../'.Defaults to false.*/ + allowInsecureAccess?: boolean; + /**compileOptions - options object passed to the engine's compile function. Defaults to empty options {}.*/ + compileOptions?: any; + /**runtimeOptions - options object passed to the returned function from the compile operation.Defaults to empty options {}.*/ + runtimeOptions?: any; + /**contentType - the content type of the engine results.Defaults to 'text/html'.*/ + contentType?: string; + /**compileMode - specify whether the engine compile() method is 'sync' or 'async'.Defaults to 'sync'.*/ + compileMode?: string; + /**context - a global context used with all templates.The global context option can be either an object or a function that takes no arguments and returns a context object.When rendering views, the global context will be merged with any context object specified on the handler or using reply.view().When multiple context objects are used, values from the global context always have lowest precedence.*/ + context?: any; +} + +export interface IServerViewsEnginesOptions extends IServerViewsAdditionalOptions { + /**- the npm module used for rendering the templates.The module object must contain: "module", the rendering function. The required function signature depends on the compileMode settings. + * If the compileMode is 'sync', the signature is compile(template, options), the return value is a function with signature function(context, options), and the method is allowed to throw errors.If the compileMode is 'async', the signature is compile(template, options, callback) where callback has the signature function(err, compiled) where compiled is a function with signature function(context, options, callback) and callback has the signature function(err, rendered).*/ + module: { + compile?(template: any, options: any): (context: any, options: any) => void; + compile?(template: any, options: any, callback: (err: any, compiled: (context: any, options: any, callback: (err: any, rendered: any) => void) => void) => void): void; + }; +} + +/**Initializes the server views manager + var Hapi = require('hapi'); + var server = new Hapi.Server(); + + server.views({ +engines: { +html: require('handlebars'), +jade: require('jade') +}, +path: '/static/templates' +}); + When server.views() is called within a plugin, the views manager is only available to plugins methods. + */ +export interface IServerViewsConfiguration extends IServerViewsAdditionalOptions { + /** - required object where each key is a file extension (e.g. 'html', 'hbr'), mapped to the npm module used for rendering the templates.Alternatively, the extension can be mapped to an object with the following options:*/ + engines: IDictionary | IServerViewsEnginesOptions; + /** defines the default filename extension to append to template names when multiple engines are configured and not explicit extension is provided for a given template. No default value.*/ + defaultExtension?: string; +} + +export interface IReplyMethods { + /** Returns control back to the framework without setting a response. If called in the handler, the response defaults to an empty payload with status code 200. + * The data argument is only used for passing back authentication data and is ignored elsewhere. */ + continue(credentialData?: any): void; + + /** Transmits a file from the file system. The 'Content-Type' header defaults to the matching mime type based on filename extension. The response flow control rules do not apply. */ + file(/** the file path. */ + path: string, + /** optional settings: */ + options?: { + /** - an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path*/ + filename?: string; + /** specifies whether to include the 'Content-Disposition' header with the response. Available values: + false - header is not included. This is the default value. + 'attachment' + 'inline'*/ + mode?: boolean | string; + /** if true, looks for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false. */ + lookupCompressed: boolean; + }): void; + /** Concludes the handler activity by returning control over to the router with a templatized view response. + the response flow control rules apply. */ + view(/** the template filename and path, relative to the templates path configured via the server views manager. */ + template: string, + /** optional object used by the template to render context-specific result. Defaults to no context {}. */ + context?: {}, + /** optional object used to override the server's views manager configuration for this response. Cannot override isCached, partialsPath, or helpersPath which are only loaded at initialization. */ + options?: any): Response; + /** Sets a header on the response */ + header(name: string, value: string, options?: IHeaderOptions): Response; + + /** Concludes the handler activity by returning control over to the router and informing the router that a response has already been sent back directly via request.raw.res and that no further response action is needed + The response flow control rules do not apply. */ + close(options?: { + /** if false, the router will not call request.raw.res.end()) to ensure the response was ended. Defaults to true. */ + end?: boolean; + }): void; + /** Proxies the request to an upstream endpoint. + the response flow control rules do not apply. */ + + proxy(/** an object including the same keys and restrictions defined by the route proxy handler options. */ + options: IProxyHandlerConfig): void; + /** Redirects the client to the specified uri. Same as calling reply().redirect(uri). + he response flow control rules apply. */ + redirect(uri: string): ResponseRedirect; + + /** Replies with the specified response */ + response(result: any): Response; + + /** Sets a cookie on the response */ + state(name: string, value: any, options?: any): void; + + /** Clears a cookie on the response */ + unstate(name: string, options?: any): void; +} + +/** Concludes the handler activity by setting a response and returning control over to the framework where: + erran optional error response. + result an optional response payload. + Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. + FLOW CONTROL: + When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() */ +export interface IReply extends IReplyMethods { + ( + err: Error, + result?: string | number | boolean | Buffer | stream.Stream | Promise | T, + /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ + credentialData?: any): IBoom; + /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ + (result: string | number | boolean | Buffer | stream.Stream | Promise | T): Response; +} + +/** Concludes the handler activity by setting a response and returning control over to the framework where: + erran optional error response. + result an optional response payload. + Since an request can only have one response regardless if it is an error or success, the reply() method can only result in a single response value. This means that passing both an err and result will only use the err. There is no requirement for either err or result to be (or not) an Error object. The framework will simply use the first argument if present, otherwise the second. The method supports two arguments to be compatible with the common callback pattern of error first. + FLOW CONTROL: + When calling reply(), the framework waits until process.nextTick() to continue processing the request and transmit the response. This enables making changes to the returned response object before the response is sent. This means the framework will resume as soon as the handler method exits. To suspend this behavior, the returned response object supports the following methods: hold(), send() */ +export interface IStrictReply extends IReplyMethods { + (err: Error, + result?: Promise | T, + /** Note that when used to return both an error and credentials in the authentication methods, reply() must be called with three arguments function(err, null, data) where data is the additional authentication information. */ + credentialData?: any): IBoom; + /** Note that if result is a Stream with a statusCode property, that status code will be used as the default response code. */ + (result: Promise | T): Response; +} + +export interface ISessionHandler { + (request: Request, reply: IReply): void; +} + +export interface IStrictSessionHandler { + (request: Request, reply: IStrictReply): void; +} + +export interface IRequestHandler { + (request: Request): T; +} + +export interface IFailAction { + (source: string, error: any, next: () => void): void; +} +/** generates a reverse proxy handler */ +export interface IProxyHandlerConfig { + /** the upstream service host to proxy requests to. The same path on the client request will be used as the path on the host.*/ + host?: string; + /** the upstream service port. */ + port?: number; + /** The protocol to use when making a request to the proxied host: + 'http' + 'https'*/ + protocol?: string; + /** an absolute URI used instead of the incoming host, port, protocol, path, and query. Cannot be used with host, port, protocol, or mapUri.*/ + uri?: string; + /** if true, forwards the headers sent from the client to the upstream service being proxied to, headers sent from the upstream service will also be forwarded to the client. Defaults to false.*/ + passThrough?: boolean; + /** localStatePassThrough - if false, any locally defined state is removed from incoming requests before being passed upstream. This is a security feature to prevent local state (e.g. authentication cookies) from leaking upstream to other servers along with the cookies intended for those servers. This value can be overridden on a per state basis via the server.state() passThrough option. Defaults to false.*/ + localStatePassThrough?: boolean; + /**acceptEncoding - if false, does not pass-through the 'Accept-Encoding' HTTP header which is useful when using an onResponse post-processing to avoid receiving an encoded response (e.g. gzipped). Can only be used together with passThrough. Defaults to true (passing header).*/ + acceptEncoding?: boolean; + /** rejectUnauthorized - sets the rejectUnauthorized property on the https agent making the request. This value is only used when the proxied server uses TLS/SSL. When set it will override the node.js rejectUnauthorized property. If false then ssl errors will be ignored. When true the server certificate is verified and an 500 response will be sent when verification fails. This shouldn't be used alongside the agent setting as the agent will be used instead. Defaults to the https agent default value of true.*/ + rejectUnauthorized?: boolean; + /**if true, sets the 'X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto' headers when making a request to the proxied upstream endpoint. Defaults to false.*/ + xforward?: boolean; + /** the maximum number of HTTP redirections allowed, to be followed automatically by the handler. Set to false or 0 to disable all redirections (the response will contain the redirection received from the upstream service). If redirections are enabled, no redirections (301, 302, 307, 308) will be passed along to the client, and reaching the maximum allowed redirections will return an error response. Defaults to false.*/ + redirects?: boolean | number; + /**number of milliseconds before aborting the upstream request. Defaults to 180000 (3 minutes).*/ + timeout?: number; + /** a function used to map the request URI to the proxied URI. Cannot be used together with host, port, protocol, or uri. The function signature is function(request, callback) where: + request - is the incoming request object. + callback - is function(err, uri, headers) where: + err - internal error condition. + uri - the absolute proxy URI. + headers - optional object where each key is an HTTP request header and the value is the header content.*/ + mapUri?(request: Request, callback: (err: any, uri: string, headers?: { [key: string]: string }) => void): void; + /** a custom function for processing the response from the upstream service before sending to the client. Useful for custom error handling of responses from the proxied endpoint or other payload manipulation. Function signature is function(err, res, request, reply, settings, ttl) where: - err - internal or upstream error returned from attempting to contact the upstream proxy. - res - the node response object received from the upstream service. res is a readable stream (use the wreck module read method to easily convert it to a Buffer or string). - request - is the incoming request object. - reply - the reply interface function. - settings - the proxy handler configuration. - ttl - the upstream TTL in milliseconds if proxy.ttl it set to 'upstream' and the upstream response included a valid 'Cache-Control' header with 'max-age'.*/ + onResponse?( + err: any, + res: http.ServerResponse, + req: Request, + reply: IReply, + settings: IProxyHandlerConfig, + ttl: number): void; + /** if set to 'upstream', applies the upstream response caching policy to the response using the response.ttl() method (or passed as an argument to the onResponse method if provided).*/ + ttl?: number; + /** - a node http(s) agent to be used for connections to upstream server. see https://nodejs.org/api/http.html#http_class_http_agent */ + agent?: http.Agent; + /** sets the maximum number of sockets available per outgoing proxy host connection. false means use the wreck module default value (Infinity). Does not affect non-proxy outgoing client connections. Defaults to Infinity.*/ + maxSockets?: boolean | number; +} +/** TODO: fill in joi definition */ +export interface IJoi { } + +/** a validation function using the signature function(value, options, next) */ +export interface IValidationFunction { + ( + /** the object containing the path parameters. */ + value: any, + /** the server validation options. */ + options: any, + /** the callback function called when validation is completed. */ + next: (err: any, value: any) => void): void; +} +/** a custom error handler function with the signature 'function(request, reply, source, error)` */ +export interface IRouteFailFunction { + /** a custom error handler function with the signature 'function(request, reply, source, error)` */ + (/** - the [request object]. */ + request: Request, + /** the continuation reply interface. */ + reply: IReply, + /** the source of the invalid field (e.g. 'path', 'query', 'payload'). */ + source: string, + /** the error object prepared for the client response (including the validation function error under error.data). */ + error: any): void; +} + +/** Each route can be customize to change the default behavior of the request lifecycle using the following options: */ +export interface IRouteAdditionalConfigurationOptions { + /** application specific configuration.Should not be used by plugins which should use plugins[name] instead. */ + app?: any; + /** authentication configuration.Value can be: false to disable authentication if a default strategy is set. + a string with the name of an authentication strategy registered with server.auth.strategy(). + an object */ + auth?: boolean | string | + { + /** the authentication mode.Defaults to 'required' if a server authentication strategy is configured, otherwise defaults to no authentication.Available values: + 'required'authentication is required. + 'optional'authentication is optional (must be valid if present). + 'try'same as 'optional' but allows for invalid authentication. */ + mode?: string; + /** a string array of strategy names in order they should be attempted.If only one strategy is used, strategy can be used instead with the single string value.Defaults to the default authentication strategy which is available only when a single strategy is configured. */ + strategies?: string | string[]; + /** if set, the payload (in requests other than 'GET' and 'HEAD') is authenticated after it is processed.Requires a strategy with payload authentication support (e.g.Hawk).Cannot be set to a value other than 'required' when the scheme sets the options.payload to true.Available values: + falseno payload authentication.This is the default value. + 'required'payload authentication required.This is the default value when the scheme sets options.payload to true. + 'optional'payload authentication performed only when the client includes payload authentication information (e.g.hash attribute in Hawk). */ + payload?: string; + /** the application scope required to access the route.Value can be a scope string or an array of scope strings.The authenticated credentials object scope property must contain at least one of the scopes defined to access the route.Set to false to remove scope requirements.Defaults to no scope required. */ + scope?: string | string[] | boolean; + /** the required authenticated entity type.If set, must match the entity value of the authentication credentials.Available values: + anythe authentication can be on behalf of a user or application.This is the default value. + userthe authentication must be on behalf of a user. + appthe authentication must be on behalf of an application. */ + entity?: string; + /** + * an object or array of objects specifying the route access rules. Each rule is evaluated against an incoming + * request and access is granted if at least one rule matches. Each rule object must include at least one of: + */ + access?: IRouteAdditionalConfigurationAuthAccess | IRouteAdditionalConfigurationAuthAccess[]; + }; + /** an object passed back to the provided handler (via this) when called. */ + bind?: any; + /** if the route method is 'GET', the route can be configured to include caching directives in the response using the following options */ + cache?: { + /** mines the privacy flag included in clientside caching using the 'Cache-Control' header.Values are: + fault'no privacy flag.This is the default setting. + 'public'mark the response as suitable for public caching. + 'private'mark the response as suitable only for private caching. */ + privacy: string; + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache.Cannot be used together with expiresAt. */ + expiresIn: number; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire.Cannot be used together with expiresIn. */ + expiresAt: string; + }; + /** the Cross- Origin Resource Sharing protocol allows browsers to make cross- origin API calls.CORS is required by web applications running inside a browser which are loaded from a different domain than the API server.CORS headers are disabled by default. To enable, set cors to true, or to an object with the following options: */ + cors?: { + /** a strings array of allowed origin servers ('Access-Control-Allow-Origin').The array can contain any combination of fully qualified origins along with origin strings containing a wildcard '' character, or a single `''origin string. Defaults to any origin['*']`. */ + origin?: string[]; + /** if true, matches the value of the incoming 'Origin' header to the list of origin values ('*' matches anything) and if a match is found, uses that as the value of the 'Access-Control-Allow-Origin' response header.When false, the origin config is returned as- is.Defaults to true. */ + matchOrigin?: boolean; + /** if false, prevents the connection from returning the full list of non- wildcard origin values if the incoming origin header does not match any of the values.Has no impact if matchOrigin is set to false.Defaults to true. */ + isOriginExposed?: boolean; + /** number of seconds the browser should cache the CORS response ('Access-Control-Max-Age').The greater the value, the longer it will take before the browser checks for changes in policy.Defaults to 86400 (one day). */ + maxAge?: number; + /** a strings array of allowed headers ('Access-Control-Allow-Headers').Defaults to ['Authorization', 'Content-Type', 'If-None-Match']. */ + headers?: string[]; + /** a strings array of additional headers to headers.Use this to keep the default headers in place. */ + additionalHeaders?: string[]; + /** a strings array of allowed HTTP methods ('Access-Control-Allow-Methods').Defaults to ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'OPTIONS']. */ + methods?: string[]; + /** a strings array of additional methods to methods.Use this to keep the default methods in place. */ + additionalMethods?: string[]; + /** a strings array of exposed headers ('Access-Control-Expose-Headers').Defaults to ['WWW-Authenticate', 'Server-Authorization']. */ + exposedHeaders?: string[]; + /** a strings array of additional headers to exposedHeaders.Use this to keep the default headers in place. */ + additionalExposedHeaders?: string[]; + /** if true, allows user credentials to be sent ('Access-Control-Allow-Credentials').Defaults to false. */ + credentials?: boolean; + /** if false, preserves existing CORS headers set manually before the response is sent.Defaults to true. */ + override?: boolean; + }; + /** defines the behavior for serving static resources using the built-in route handlers for files and directories: */ + files?: {/** determines the folder relative paths are resolved against when using the file and directory handlers. */ + relativeTo: string; + }; + + /** an alternative location for the route handler option. */ + handler?: ISessionHandler | IStrictSessionHandler | string | IRouteHandlerConfig; + /** an optional unique identifier used to look up the route using server.lookup(). */ + id?: number; + /** optional arguments passed to JSON.stringify() when converting an object or error response to a string payload.Supports the following: */ + json?: { + /** the replacer function or array.Defaults to no action. */ + replacer?: Function | string[]; + /** number of spaces to indent nested object keys.Defaults to no indentation. */ + space?: number | string; + /** string suffix added after conversion to JSON string.Defaults to no suffix. */ + suffix?: string; + }; + /** enables JSONP support by setting the value to the query parameter name containing the function name used to wrap the response payload.For example, if the value is 'callback', a request comes in with 'callback=me', and the JSON response is '{ "a":"b" }', the payload will be 'me({ "a":"b" });'.Does not work with stream responses. */ + jsonp?: string; + /** determines how the request payload is processed: */ + payload?: { + /** the type of payload representation requested. The value must be one of: + 'data'the incoming payload is read fully into memory.If parse is true, the payload is parsed (JSON, formdecoded, multipart) based on the 'Content- Type' header.If parse is false, the raw Buffer is returned.This is the default value except when a proxy handler is used. + 'stream'the incoming payload is made available via a Stream.Readable interface.If the payload is 'multipart/form-data' and parse is true, fields values are presented as text while files are provided as streams.File streams from a 'multipart/form-data' upload will also have a property hapi containing filename and headers properties. + 'file'the incoming payload in written to temporary file in the directory specified by the server's payload.uploads settings. If the payload is 'multipart/ formdata' and parse is true, fields values are presented as text while files are saved. Note that it is the sole responsibility of the application to clean up the files generated by the framework. This can be done by keeping track of which files are used (e.g. using the request.app object), and listening to the server 'response' event to perform any needed cleaup. */ + output?: string; + /** can be true, false, or gunzip; determines if the incoming payload is processed or presented raw. true and gunzip includes gunzipping when the appropriate 'Content-Encoding' is specified on the received request. If parsing is enabled and the 'Content-Type' is known (for the whole payload as well as parts), the payload is converted into an object when possible. If the format is unknown, a Bad Request (400) error response is sent. Defaults to true, except when a proxy handler is used. The supported mime types are: + 'application/json' + 'application/x-www-form-urlencoded' + 'application/octet-stream' + 'text/ *' + 'multipart/form-data' */ + parse?: string | boolean; + /** a string or an array of strings with the allowed mime types for the endpoint.Defaults to any of the supported mime types listed above.Note that allowing other mime types not listed will not enable them to be parsed, and that if parsing mode is 'parse', the request will result in an error response. */ + allow?: string | string[]; + /** a mime type string overriding the 'Content-Type' header value received.Defaults to no override. */ + override?: string; + /** limits the size of incoming payloads to the specified byte count.Allowing very large payloads may cause the server to run out of memory.Defaults to 1048576 (1MB). */ + maxBytes?: number; + /** payload reception timeout in milliseconds.Sets the maximum time allowed for the client to transmit the request payload (body) before giving up and responding with a Request Timeout (408) error response.Set to false to disable.Defaults to 10000 (10 seconds). */ + timeout?: number; + /** the directory used for writing file uploads.Defaults to os.tmpDir(). */ + uploads?: string; + /** determines how to handle payload parsing errors. Allowed values are: + 'error'return a Bad Request (400) error response. This is the default value. + 'log'report the error but continue processing the request. + 'ignore'take no action and continue processing the request. */ + failAction?: string; + }; + /** pluginspecific configuration.plugins is an object where each key is a plugin name and the value is the plugin configuration. */ + plugins?: IDictionary; + /** an array with [route prerequisites] methods which are executed in serial or in parallel before the handler is called. */ + pre?: any[]; + /** validation rules for the outgoing response payload (response body).Can only validate object response: */ + response?: { + /** the default HTTP status code when the payload is empty. Value can be 200 or 204. + Note that a 200 status code is converted to a 204 only at the time or response transmission + (the response status code will remain 200 throughout the request lifecycle unless manually set). Defaults to 200. */ + emptyStatusCode?: number; + /** the default response object validation rules (for all non-error responses) expressed as one of: + true - any payload allowed (no validation performed). This is the default. + false - no payload allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + value - the object containing the response object. + options - the server validation options. + next(err) - the callback function called when validation is completed. */ + schema?: boolean | any; + /** HTTP status- codespecific validation rules.The status key is set to an object where each key is a 3 digit HTTP status code and the value has the same definition as schema.If a response status code is not present in the status object, the schema definition is used, expect for errors which are not validated by default. */ + status?: { [statusCode: number]: boolean | any }; + /** the percent of responses validated (0100).Set to 0 to disable all validation.Defaults to 100 (all responses). */ + sample?: number; + /** defines what to do when a response fails validation.Options are: + errorreturn an Internal Server Error (500) error response.This is the default value. + loglog the error but send the response. */ + failAction?: string; + /** if true, applies the validation rule changes to the response.Defaults to false. */ + modify?: boolean; + /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ + options?: any; + }; + /** sets common security headers (disabled by default).To enable set security to true or to an object with the following options */ + security?: boolean | { + /** controls the 'Strict-Transport-Security' header.If set to true the header will be set to max- age=15768000, if specified as a number the maxAge parameter will be set to that number.Defaults to true.You may also specify an object with the following fields: */ + hsts?: boolean | number | { + /** the max- age portion of the header, as a number.Default is 15768000. */ + maxAge?: number; + /** a boolean specifying whether to add the includeSubdomains flag to the header. */ + includeSubdomains?: boolean; + /** a boolean specifying whether to add the 'preload' flag (used to submit domains inclusion in Chrome's HTTP Strict Transport Security (HSTS) preload list) to the header. */ + preload?: boolean; + }; + /** controls the 'X-Frame-Options' header.When set to true the header will be set to DENY, you may also specify a string value of 'deny' or 'sameorigin'.To use the 'allow-from' rule, you must set this to an object with the following fields: */ + xframe?: { + /** either 'deny', 'sameorigin', or 'allow-from' */ + rule: string; + /** when rule is 'allow-from' this is used to form the rest of the header, otherwise this field is ignored.If rule is 'allow-from' but source is unset, the rule will be automatically changed to 'sameorigin'. */ + source: string; + }; + /** boolean that controls the 'X-XSS-PROTECTION' header for IE.Defaults to true which sets the header to equal '1; mode=block'.NOTE: This setting can create a security vulnerability in versions of IE below 8, as well as unpatched versions of IE8.See here and here for more information.If you actively support old versions of IE, it may be wise to explicitly set this flag to false. */ + xss?: boolean; + /** boolean controlling the 'X-Download-Options' header for IE, preventing downloads from executing in your context.Defaults to true setting the header to 'noopen'. */ + noOpen?: boolean; + /** boolean controlling the 'X-Content-Type-Options' header.Defaults to true setting the header to its only and default option, 'nosniff'. */ + noSniff?: boolean; + }; + /** HTTP state management (cookies) allows the server to store information on the client which is sent back to the server with every request (as defined in RFC 6265).state supports the following options: */ + state?: { + /** determines if incoming 'Cookie' headers are parsed and stored in the request.state object.Defaults to true. */ + parse: boolean; + /** determines how to handle cookie parsing errors.Allowed values are: + 'error'return a Bad Request (400) error response.This is the default value. + 'log'report the error but continue processing the request. + 'ignore'take no action. */ + failAction: string; + }; + /** request input validation rules for various request components.When using a Joi validation object, the values of the other inputs (i.e.headers, query, params, payload, and auth) are made available under the validation context (accessible in rules as Joi.ref('$query.key')).Note that validation is performed in order(i.e.headers, params, query, payload) and if type casting is used (converting a string to number), the value of inputs not yet validated will reflect the raw, unvalidated and unmodified values.The validate object supports: */ + validate?: { + /** validation rules for incoming request headers.Values allowed: + * trueany headers allowed (no validation performed).This is the default. + falseno headers allowed (this will cause all valid HTTP requests to fail). + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the request headers. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. + */ + headers?: boolean | IJoi | IValidationFunction; + + /** validation rules for incoming request path parameters, after matching the path against the route and extracting any parameters then stored in request.params.Values allowed: + trueany path parameters allowed (no validation performed).This is the default. + falseno path variables allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the path parameters. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. */ + params?: boolean | IJoi | IValidationFunction; + /** validation rules for an incoming request URI query component (the key- value part of the URI between '?' and '#').The query is parsed into its individual key- value pairs (using the qs module) and stored in request.query prior to validation.Values allowed: + trueany query parameters allowed (no validation performed).This is the default. + falseno query parameters allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the query parameters. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. */ + query?: boolean | IJoi | IValidationFunction; + /** validation rules for an incoming request payload (request body).Values allowed: + trueany payload allowed (no validation performed).This is the default. + falseno payload allowed. + a Joi validation object. + a validation function using the signature function(value, options, next) where: + valuethe object containing the payload object. + optionsthe server validation options. + next(err, value)the callback function called when validation is completed. */ + payload?: boolean | IJoi | IValidationFunction; + /** an optional object with error fields copied into every validation error response. */ + errorFields?: any; + /** determines how to handle invalid requests.Allowed values are: + 'error'return a Bad Request (400) error response.This is the default value. + 'log'log the error but continue processing the request. + 'ignore'take no action. + OR a custom error handler function with the signature 'function(request, reply, source, error)` where: + requestthe request object. + replythe continuation reply interface. + sourcethe source of the invalid field (e.g. 'path', 'query', 'payload'). + errorthe error object prepared for the client response (including the validation function error under error.data). */ + failAction?: string | IRouteFailFunction; + /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ + options?: any; + }; + /** define timeouts for processing durations: */ + timeout?: { + /** response timeout in milliseconds.Sets the maximum time allowed for the server to respond to an incoming client request before giving up and responding with a Service Unavailable (503) error response.Disabled by default (false). */ + server: boolean | number; + /** by default, node sockets automatically timeout after 2 minutes.Use this option to override this behavior.Defaults to undefined which leaves the node default unchanged.Set to false to disable socket timeouts. */ + socket: boolean | number; + }; + + /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + *route description used for generating documentation (string). + */ + description?: string; + /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + *route notes used for generating documentation (string or array of strings). + */ + notes?: string | string[]; + /** ONLY WHEN ADDING NEW ROUTES (not when setting defaults). + *route tags used for generating documentation (array of strings). + */ + tags?: string[]; + + /** Enable logging of routes + */ + log?: boolean; +} + +/** + * specifying the route access rules. Each rule is evaluated against an incoming request and access is granted if at least one rule matches + */ +export interface IRouteAdditionalConfigurationAuthAccess { + /** + * the application scope required to access the route. Value can be a scope string or an array of scope strings. + * The authenticated credentials object scope property must contain at least one of the scopes defined to access the route. + * If a scope string begins with a + character, that scope is required. If a scope string begins with a ! character, + * that scope is forbidden. For example, the scope ['!a', '+b', 'c', 'd'] means the incoming request credentials' + * scope must not include 'a', must include 'b', and must include on of 'c' or 'd'. You may also access properties + * on the request object (query and params} to populate a dynamic scope by using {} characters around the property name, + * such as 'user-{params.id}'. Defaults to false (no scope requirements). + */ + scope?: string | string[] | boolean; + /** the required authenticated entity type. If set, must match the entity value of the authentication credentials. Available values: + * any - the authentication can be on behalf of a user or application. This is the default value. + * user - the authentication must be on behalf of a user which is identified by the presence of a user attribute in the credentials object returned by the authentication strategy. + * app - the authentication must be on behalf of an application which is identified by the lack of presence of a user attribute in the credentials object returned by the authentication strategy. + */ + entity?: string; +} + +/** server.realm http://hapijs.com/api#serverrealm + The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), + the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). + Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. + The server.realm object should be considered read-only and must not be changed directly except for the plugins property can be directly manipulated by the plugins (each setting its own under plugins[name]). + exports.register = function (server, options, next) { +console.log(server.realm.modifiers.route.prefix); +return next(); +}; + */ +export interface IServerRealm { + /** when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method */ + modifiers: { + /** routes preferences: */ + route: { + /** - the route path prefix used by any calls to server.route() from the server. */ + prefix: string; + /** the route virtual host settings used by any calls to server.route() from the server. */ + vhost: string; + }; + }; + /** the active plugin name (empty string if at the server root). */ + plugin: string; + /** plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. */ + plugins: IDictionary; + /** settings overrides */ + settings: { + files: { + relativeTo: any; + }; + bind: any; + }; +} +/** server.state(name, [options]) http://hapijs.com/api#serverstatename-options + HTTP state management uses client cookies to persist a state across multiple requests. Registers a cookie definitions where:*/ +export interface IServerState { + /** - the cookie name string. */ + name: string; + + /** - are the optional cookie settings: */ + options: { + /** - time - to - live in milliseconds.Defaults to null (session time- life - cookies are deleted when the browser is closed).*/ + ttl: number; + /** - sets the 'Secure' flag.Defaults to false.*/ + isSecure: boolean; + /** - sets the 'HttpOnly' flag.Defaults to false.*/ + isHttpOnly: boolean + /** - the path scope.Defaults to null (no path).*/ + path: any; + /** - the domain scope.Defaults to null (no domain). */ + domain: any; + /** if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value. The value can be a function with signature function(request, next) where: + request - the request object. + next - the continuation function using the function(err, value) signature.*/ + autoValue(request: Request, next: (err: any, value: any) => void): void; + /** - encoding performs on the provided value before serialization. Options are: + 'none' - no encoding. When used, the cookie value must be a string. This is the default value. + 'base64' - string value is encoded using Base64. + 'base64json' - object value is JSON-stringified than encoded using Base64. + 'form' - object value is encoded using the x-www-form-urlencoded method. + 'iron' - Encrypts and sign the value using iron.*/ + encoding: string; + /** - an object used to calculate an HMAC for cookie integrity validation.This does not provide privacy, only a mean to verify that the cookie value was generated by the server.Redundant when 'iron' encoding is used.Options are:*/ + sign: { + /** - algorithm options.Defaults to require('iron').defaults.integrity.*/ + integrity: any; + /** - password used for HMAC key generation.*/ + password: string; + }; + /** - password used for 'iron' encoding.*/ + password: string; + /** - options for 'iron' encoding.Defaults to require('iron').defaults.*/ + iron: any; + /** - if false, errors are ignored and treated as missing cookies.*/ + ignoreErrors: boolean; + /** - if true, automatically instruct the client to remove invalid cookies.Defaults to false.*/ + clearInvalid: boolean; + /** - if false, allows any cookie value including values in violation of RFC 6265. Defaults to true.*/ + strictHeader: boolean; + /** - overrides the default proxy localStatePassThrough setting.*/ + passThrough: any; + }; +} + +export interface IFileHandlerConfig { + /** a path string or function as described above.*/ + path: string; + /** an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path*/ + filename?: string; + /**- specifies whether to include the 'Content-Disposition' header with the response. Available values: + false - header is not included. This is the default value. + 'attachment' + 'inline'*/ + mode?: boolean | string; + /** if true, looks for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false.*/ + lookupCompressed: boolean; +} + +/**http://hapijs.com/api#route-handler + Built-in handlers + + The framework comes with a few built-in handler types available by setting the route handler config to an object containing one of these keys.*/ +export interface IRouteHandlerConfig { + /** generates a static file endpoint for serving a single file. file can be set to: + a relative or absolute file path string (relative paths are resolved based on the route files configuration). + a function with the signature function(request) which returns the relative or absolute file path. + an object with the following options */ + file?: string | IRequestHandler | IFileHandlerConfig; + /** directory - generates a directory endpoint for serving static content from a directory. Routes using the directory handler must include a path parameter at the end of the path string (e.g. /path/to/somewhere/{param} where the parameter name does not matter). The path parameter can use any of the parameter options (e.g. {param} for one level files only, {param?} for one level files or the directory root, {param*} for any level, or {param*3} for a specific level). If additional path parameters are present, they are ignored for the purpose of selecting the file system resource. The directory handler is an object with the following options: + path - (required) the directory root path (relative paths are resolved based on the route files configuration). Value can be: + a single path string used as the prefix for any resources requested by appending the request path parameter to the provided string. + an array of path strings. Each path will be attempted in order until a match is found (by following the same process as the single path string). + a function with the signature function(request) which returns the path string or an array of path strings. If the function returns an error, the error is passed back to the client in the response. + index - optional boolean|string|string[], determines if an index file will be served if found in the folder when requesting a directory. The given string or strings specify the name(s) of the index file to look for. If true, looks for 'index.html'. Any falsy value disables index file lookup. Defaults to true. + listing - optional boolean, determines if directory listing is generated when a directory is requested without an index document. Defaults to false. + showHidden - optional boolean, determines if hidden files will be shown and served. Defaults to false. + redirectToSlash - optional boolean, determines if requests for a directory without a trailing slash are redirected to the same path with the missing slash. Useful for ensuring relative links inside the response are resolved correctly. Disabled when the server config router.stripTrailingSlash is true.Defaults to false. + lookupCompressed - optional boolean, instructs the file processor to look for the same filename with the '.gz' suffix for a pre-compressed version of the file to serve if the request supports content encoding. Defaults to false. + defaultExtension - optional string, appended to file requests if the requested file is not found. Defaults to no extension.*/ + directory?: { + path: string | string[] | IRequestHandler | IRequestHandler; + index?: boolean | string | string[]; + listing?: boolean; + showHidden?: boolean; + redirectToSlash?: boolean; + lookupCompressed?: boolean; + defaultExtension?: string; + }; + proxy?: IProxyHandlerConfig; + view?: string | { + template: string; + context: { + payload: any; + params: any; + query: any; + pre: any; + } + }; + config?: { + handler: any; + bind: any; + app: any; + plugins: { + [name: string]: any; + }; + pre: Array<() => void>; + validate: { + headers: any; + params: any; + query: any; + payload: any; + errorFields?: any; + failAction?: string | IFailAction; + }; + payload: { + output: { + data: any; + stream: any; + file: any; + }; + parse?: any; + allow?: string | string[]; + override?: string; + maxBytes?: number; + uploads?: number; + failAction?: string; + }; + response: { + schema: any; + sample: number; + failAction: string; + }; + cache: { + privacy: string; + expiresIn: number; + expiresAt: number; + }; + auth: string | boolean | { + mode: string; + strategies: string[]; + payload?: boolean | string; + tos?: boolean | string; + scope?: string | string[]; + entity: string; + }; + cors?: boolean; + jsonp?: string; + description?: string; + notes?: string | string[]; + tags?: string[]; + }; +} +/** Route configuration + The route configuration object*/ +export interface IRouteConfiguration { + /** - (required) the absolute path used to match incoming requests (must begin with '/'). Incoming requests are compared to the configured paths based on the connection router configuration option.The path can include named parameters enclosed in {} which will be matched against literal values in the request as described in Path parameters.*/ + path: string; + /** - (required) the HTTP method.Typically one of 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', or 'OPTIONS'.Any HTTP method is allowed, except for 'HEAD'.Use '*' to match against any HTTP method (only when an exact match was not found, and any match with a specific method will be given a higher priority over a wildcard match). + * Can be assigned an array of methods which has the same result as adding the same route with different methods manually.*/ + method: string | string[]; + /** - an optional domain string or an array of domain strings for limiting the route to only requests with a matching host header field.Matching is done against the hostname part of the header only (excluding the port).Defaults to all hosts.*/ + vhost?: string; + /** - (required) the function called to generate the response after successful authentication and validation.The handler function is described in Route handler.If set to a string, the value is parsed the same way a prerequisite server method string shortcut is processed.Alternatively, handler can be assigned an object with a single key using the name of a registered handler type and value with the options passed to the registered handler.*/ + handler?: ISessionHandler | IStrictSessionHandler | string | IRouteHandlerConfig; + /** - additional route options.*/ + config?: IRouteAdditionalConfigurationOptions; +} +/** Route public interface When route information is returned or made available as a property. http://hapijs.com/api#route-public-interface */ +export interface IRoute { + /** the route HTTP method. */ + method: string; + /** the route path. */ + path: string; + /** the route vhost option if configured. */ + vhost?: string | string[]; + /** the [active realm] associated with the route.*/ + realm: IServerRealm; + /** the [route options] object with all defaults applied. */ + settings: IRouteAdditionalConfigurationOptions; +} + +export interface IServerAuthScheme { + /** authenticate(request, reply) - required function called on each incoming request configured with the authentication scheme where: + request - the request object. + reply - the reply interface the authentication method must call when done authenticating the request where: + reply(err, response, result) - is called if authentication failed where: + err - any authentication error. + response - any authentication response action such as redirection. Ignored if err is present, otherwise required. + result - an object containing: + credentials - the authenticated credentials. + artifacts - optional authentication artifacts. + reply.continue(result) - is called if authentication succeeded where: + result - same object as result above. + When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted if configured for the route. + .If the err returned by the reply() method includes a message, no additional strategies will be attempted. + If the err does not include a message but does include a scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in order of preference. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var scheme = function (server, options) { + return { + authenticate: function (request, reply) { + var req = request.raw.req; + var authorization = req.headers.authorization; + if (!authorization) { + return reply(Boom.unauthorized(null, 'Custom')); + } + return reply(null, { credentials: { user: 'john' } }); + } + }; + }; + server.auth.scheme('custom', scheme);*/ + authenticate(request: Request, reply: IReply): void; + authenticate(request: Request, reply: IStrictReply): void; + /** payload(request, reply) - optional function called to authenticate the request payload where: + request - the request object. + reply(err, response) - is called if authentication failed where: + err - any authentication error. + response - any authentication response action such as redirection. Ignored if err is present, otherwise required. + reply.continue() - is called if payload authentication succeeded. + When the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'.*/ + payload?(request: Request, reply: IReply): void; + payload?(request: Request, reply: IStrictReply): void; + /** response(request, reply) - optional function called to decorate the response with authentication headers before the response headers or payload is written where: + request - the request object. + reply(err, response) - is called if an error occurred where: + err - any authentication error. + response - any authentication response to send instead of the current response. Ignored if err is present, otherwise required. + reply.continue() - is called if the operation succeeded.*/ + response?(request: Request, reply: IReply): void; + response?(request: Request, reply: IStrictReply): void; + /** an optional object */ + options?: { + /** if true, requires payload validation as part of the scheme and forbids routes from disabling payload auth validation. Defaults to false.*/ + payload: boolean; + }; +} + +/**the response object where: + statusCode - the HTTP status code. + headers - an object containing the headers set. + payload - the response payload string. + rawPayload - the raw response payload buffer. + raw - an object with the injection request and response objects: + req - the simulated node request object. + res - the simulated node response object. + result - the raw handler response (e.g. when not a stream or a view) before it is serialized for transmission. If not available, the value is set to payload. Useful for inspection and reuse of the internal objects returned (instead of parsing the response string). + request - the request object.*/ +export interface IServerInjectResponse { + statusCode: number; + headers: IDictionary; + payload: string; + rawPayload: Buffer; + raw: { + req: http.IncomingMessage; + res: http.ServerResponse + }; + result: any; + request: Request; +} + +export interface IServerInject { + (options: string | IServerInjectOptions, callback: (res: IServerInjectResponse) => void): void; + (options: string | IServerInjectOptions): Promise; +} + +export interface IServerInjectOptions { + /** the request HTTP method (e.g. 'POST'). Defaults to 'GET'.*/ + method: string; + /** the request URL. If the URI includes an authority (e.g. 'example.com:8080'), it is used to automatically set an HTTP 'Host' header, unless one was specified in headers.*/ + url: string; + /** an object with optional request headers where each key is the header name and the value is the header content. Defaults to no additions to the default Shot headers.*/ + headers?: IDictionary; + /** n optional string, buffer or object containing the request payload. In case of an object it will be converted to a string for you. Defaults to no payload. Note that payload processing defaults to 'application/json' if no 'Content-Type' header provided.*/ + payload?: string | {} | Buffer; + /** an optional credentials object containing authentication information. The credentials are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Defaults to no credentials.*/ + credentials?: any; + /** an optional artifacts object containing authentication artifact information. The artifacts are used to bypass the default authentication strategies, and are validated directly as if they were received via an authentication scheme. Ignored if set without credentials. Defaults to no artifacts.*/ + artifacts?: any; + /** sets the initial value of request.app*/ + app?: any; + /** sets the initial value of request.plugins*/ + plugins?: any; + /** allows access to routes with config.isInternal set to true. Defaults to false.*/ + allowInternals?: boolean; + /** sets the remote address for the incoming connection.*/ + remoteAddress?: boolean; + /**object with options used to simulate client request stream conditions for testing: + error - if true, emits an 'error' event after payload transmission (if any). Defaults to false. + close - if true, emits a 'close' event after payload transmission (if any). Defaults to false. + end - if false, does not end the stream. Defaults to true.*/ + simulate?: { + error: boolean; + close: boolean; + end: boolean; + }; +} + +/** host - optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. + The return value is an array where each item is an object containing: + info - the connection.info the connection the table was generated for. + labels - the connection labels. + table - an array of routes where each route contains: + settings - the route config with defaults applied. + method - the HTTP method in lower case. + path - the route path.*/ +export interface IConnectionTable { + info: any; + labels: any; + table: IRoute[]; +} + +export interface ICookieSettings { + /** - time - to - live in milliseconds.Defaults to null (session time- life - cookies are deleted when the browser is closed).*/ + ttl?: number; + /** - sets the 'Secure' flag.Defaults to false.*/ + isSecure?: boolean; + /** - sets the 'HttpOnly' flag.Defaults to false.*/ + isHttpOnly?: boolean; + /** - the path scope.Defaults to null (no path).*/ + path?: string; + /** - the domain scope.Defaults to null (no domain).*/ + domain?: any; + /** - if present and the cookie was not received from the client or explicitly set by the route handler, the cookie is automatically added to the response with the provided value.The value can be a function with signature function(request, next) where: + request - the request object. + next - the continuation function using the function(err, value) signature.*/ + autoValue?(request: Request, next: (err: any, value: any) => void): void; + /** - encoding performs on the provided value before serialization.Options are: + 'none' - no encoding.When used, the cookie value must be a string.This is the default value. + 'base64' - string value is encoded using Base64. + 'base64json' - object value is JSON- stringified than encoded using Base64. + 'form' - object value is encoded using the x- www - form - urlencoded method. */ + encoding?: string; + /** - an object used to calculate an HMAC for cookie integrity validation.This does not provide privacy, only a mean to verify that the cookie value was generated by the server.Redundant when 'iron' encoding is used.Options are: + integrity - algorithm options.Defaults to require('iron').defaults.integrity. + password - password used for HMAC key generation. */ + sign?: { integrity: any; password: string; }; + password?: string; + iron?: any; + ignoreErrors?: boolean; + clearInvalid?: boolean; + strictHeader?: boolean; + passThrough?: any; +} + +/** method - the method function with the signature is one of: + function(arg1, arg2, ..., argn, next) where: + arg1, arg2, etc. - the method function arguments. + next - the function called when the method is done with the signature function(err, result, ttl) where: + err - error response if the method failed. + result - the return value. + ttl - 0 if result is valid but cannot be cached. Defaults to cache policy. + function(arg1, arg2, ..., argn) where: + arg1, arg2, etc. - the method function arguments. + the callback option is set to false. + the method must returns a value (result, Error, or a promise) or throw an Error.*/ +export interface IServerMethod { + // (): void; + // (next: (err: any, result: any, ttl: number) => void): void; + // (arg1: any): void; + // (arg1: any, arg2: any, next: (err: any, result: any, ttl: number) => void): void; + // (arg1: any, arg2: any): void; + (...args: any[]): void; +} +/** options - optional configuration: + bind - a context object passed back to the method function (via this) when called. Defaults to active context (set via server.bind() when the method is registered. + cache - the same cache configuration used in server.cache(). + callback - if false, expects the method to be a synchronous function. Note that using a synchronous function with caching will convert the method interface to require a callback as an additional argument with the signature function(err, result, cached, report) since the cache interface cannot return values synchronously. Defaults to true. + generateKey - a function used to generate a unique key (for caching) from the arguments passed to the method function (the callback argument is not passed as input). The server will automatically generate a unique key if the function's arguments are all of types 'string', 'number', or 'boolean'. However if the method uses other types of arguments, a key generation function must be provided which takes the same arguments as the function and returns a unique string (or null if no key can be generated).*/ +export interface IServerMethodOptions { + bind?: any; + cache?: ICatBoxCachePolicyOptions; + callback?: boolean; + generateKey?(args: any[]): string; +} +/** Request object + + The request object is created internally for each incoming request. It is different from the node.js request object received from the HTTP server callback (which is available in request.raw.req). The request object methods and properties change throughout the request lifecycle. + Request events + + The request object supports the following events: + + 'peek' - emitted for each chunk of payload data read from the client connection. The event method signature is function(chunk, encoding). + 'finish' - emitted when the request payload finished reading. The event method signature is function (). + 'disconnect' - emitted when a request errors or aborts unexpectedly. + var Crypto = require('crypto'); + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onRequest', function (request, reply) { + +var hash = Crypto.createHash('sha1'); +request.on('peek', function (chunk) { + +hash.update(chunk); +}); + +request.once('finish', function () { + +console.log(hash.digest('hex')); +}); + +request.once('disconnect', function () { + +console.error('request aborted'); +}); + +return reply.continue(); +});*/ +export class Request extends Events.EventEmitter { + /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name].*/ + app: any; + /** authentication information*/ + auth: { + /** true is the request has been successfully authenticated, otherwise false.*/ + isAuthenticated: boolean; + /** the credential object received during the authentication process. The presence of an object does not mean successful authentication. can be set in the validate function's callback.*/ + credentials: any; + /** an artifact object received from the authentication strategy and used in authentication-related actions.*/ + artifacts: any; + /** the route authentication mode.*/ + mode: any; + /** the authentication error is failed and mode set to 'try'.*/ + error: any; + }; + /** the connection used by this request*/ + connection: ServerConnection; + /** the node domain object used to protect against exceptions thrown in extensions, handlers and route prerequisites. Can be used to manually bind callback functions otherwise bound to other domains.*/ + domain: any; + /** the raw request headers (references request.raw.headers).*/ + headers: IDictionary; + /** a unique request identifier (using the format '{now}:{connection.info.id}:{5 digits counter}').*/ + id: string; + /** request information */ + info: { + /** the request preferred encoding. */ + acceptEncoding: string; + /** if CORS is enabled for the route, contains the following: */ + cors: { + isOriginMatch: boolean; /** true if the request 'Origin' header matches the configured CORS restrictions. Set to false if no 'Origin' header is found or if it does not match. Note that this is only available after the 'onRequest' extension point as CORS is configured per-route and no routing decisions are made at that point in the request lifecycle. */ + }; + /** content of the HTTP 'Host' header (e.g. 'example.com:8080'). */ + host: string; + /** the hostname part of the 'Host' header (e.g. 'example.com').*/ + hostname: string; + /** request reception timestamp. */ + received: number; + /** content of the HTTP 'Referrer' (or 'Referer') header. */ + referrer: string; + /** remote client IP address. */ + remoteAddress: string; + /** remote client port. */ + remotePort: number; + /** request response timestamp (0 is not responded yet). */ + responded: number; + }; + /** the request method in lower case (e.g. 'get', 'post'). */ + method: string; + /** the parsed content-type header. Only available when payload parsing enabled and no payload error occurred. */ + mime: string; + /** an object containing the values of params, query, and payload before any validation modifications made. Only set when input validation is performed.*/ + orig: { + params: any; + query: any; + payload: any; + }; + /** an object where each key is a path parameter name with matching value as described in Path parameters.*/ + params: IDictionary; + /** an array containing all the path params values in the order they appeared in the path.*/ + paramsArray: string[]; + /** the request URI's path component. */ + path: string; + /** the request payload based on the route payload.output and payload.parse settings.*/ + payload: stream.Readable | Buffer | any; + /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state.*/ + plugins: any; + /** an object where each key is the name assigned by a route prerequisites function. The values are the raw values provided to the continuation function as argument. For the wrapped response object, use responses.*/ + pre: IDictionary; + /** the response object when set. The object can be modified but must not be assigned another object. To replace the response with another from within an extension point, use reply(response) to override with a different response. Contains null when no response has been set (e.g. when a request terminates prematurely when the client disconnects).*/ + response: Response; + /**preResponses - same as pre but represented as the response object created by the pre method.*/ + preResponses: any; + /**an object containing the query parameters.*/ + query: any; + /** an object containing the Node HTTP server objects. Direct interaction with these raw objects is not recommended.*/ + raw: { + req: http.IncomingMessage; + res: http.ServerResponse; + }; + /** the route public interface.*/ + route: IRoute; + /** the server object. */ + server: Server; + /** an object containing parsed HTTP state information (cookies) where each key is the cookie name and value is the matching cookie content after processing using any registered cookie definition. */ + state: any; + /** complex object contining details on the url */ + url: { + /** null when i tested */ + auth: any; + /** null when i tested */ + hash: any; + /** null when i tested */ + host: any; + /** null when i tested */ + hostname: any; + href: string; + path: string; + /** path without search*/ + pathname: string; + /** null when i tested */ + port: any; + /** null when i tested */ + protocol: any; + /** querystring parameters*/ + query: IDictionary; + /** querystring parameters as a string*/ + search: string; + /** null when i tested */ + slashes: any; + }; + + /** request.setUrl(url) + + Available only in 'onRequest' extension methods. + + Changes the request URI before the router begins processing the request where: + + url - the new request path value. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onRequest', function (request, reply) { + + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); + });*/ + setUrl(url: string | url.Url): void; + /** request.setMethod(method) + + Available only in 'onRequest' extension methods. + + Changes the request method before the router begins processing the request where: + + method - is the request HTTP method (e.g. 'GET'). + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onRequest', function (request, reply) { + + // Change all requests to 'GET' + request.setMethod('GET'); + return reply.continue(); + });*/ + setMethod(method: string): void; + + /** request.log(tags, [data, [timestamp]]) + + Always available. + + Logs request-specific events. When called, the server emits a 'request' event which can be used by other listeners or plugins. The arguments are: + + data - an optional message string or object with the application data being logged. + timestamp - an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). + Any logs generated by the server internally will be emitted only on the 'request-internal' channel and will include the event.internal flag set to true. + + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.on('request', function (request, event, tags) { + + if (tags.error) { + console.log(event); + } + }); + + var handler = function (request, reply) { + + request.log(['test', 'error'], 'Test event'); + return reply(); + }; + */ + log(/** a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events.*/ + tags: string | string[], + /** an optional message string or object with the application data being logged.*/ + data?: any, + /** an optional timestamp expressed in milliseconds. Defaults to Date.now() (now).*/ + timestamp?: number): void; + + /** request.getLog([tags], [internal]) + + Always available. + + Returns an array containing the events matching any of the tags specified (logical OR) + request.getLog(); + request.getLog('error'); + request.getLog(['error', 'auth']); + request.getLog(['error'], true); + request.getLog(false);*/ + + getLog(/** is a single tag string or array of tag strings. If no tags specified, returns all events.*/ + tags?: string, + /** filters the events to only those with a matching event.internal value. If true, only internal logs are included. If false, only user event are included. Defaults to all events (undefined).*/ + internal?: boolean): string[]; + + /** request.tail([name]) + + Available until immediately after the 'response' event is emitted. + + Adds a request tail which has to complete before the request lifecycle is complete where: + + name - an optional tail name used for logging purposes. + Returns a tail function which must be called when the tail activity is completed. + + Tails are actions performed throughout the request lifecycle, but which may end after a response is sent back to the client. For example, a request may trigger a database update which should not delay sending back a response. However, it is still desirable to associate the activity with the request when logging it (or an error associated with it). + + When all tails completed, the server emits a 'tail' event. + + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + var get = function (request, reply) { + + var dbTail = request.tail('write to database'); + + db.save('key', 'value', function () { + + dbTail(); + }); + + return reply('Success!'); + }; + + server.route({ method: 'GET', path: '/', handler: get }); + + server.on('tail', function (request) { + + console.log('Request completed including db activity'); + });*/ + tail(/** an optional tail name used for logging purposes.*/ + name?: string): Function; +} +/** Response events + + The response object supports the following events: + + 'peek' - emitted for each chunk of data written back to the client connection. The event method signature is function(chunk, encoding). + 'finish' - emitted when the response finished writing but before the client response connection is ended. The event method signature is function (). + var Crypto = require('crypto'); + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + + server.ext('onPreResponse', function (request, reply) { + +var response = request.response; +if (response.isBoom) { +return reply(); +} + +var hash = Crypto.createHash('sha1'); +response.on('peek', function (chunk) { + +hash.update(chunk); +}); + +response.once('finish', function () { + +console.log(hash.digest('hex')); +}); + +return reply.continue(); +});*/ +export class Response extends Events.EventEmitter { + isBoom: boolean; + /** the HTTP response status code. Defaults to 200 (except for errors).*/ + statusCode: number; + /** an object containing the response headers where each key is a header field name. Note that this is an incomplete list of headers to be included with the response. Additional headers will be added once the response is prepare for transmission.*/ + headers: IDictionary; + /** the value provided using the reply interface.*/ + source: any; + /** a string indicating the type of source with available values: + 'plain' - a plain response such as string, number, null, or simple object (e.g. not a Stream, Buffer, or view). + 'buffer' - a Buffer. + 'view' - a view generated with reply.view(). + 'file' - a file generated with reply.file() of via the directory handler. + 'stream' - a Stream. + 'promise' - a Promise object. */ + variety: string; + /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name].*/ + app: any; + /** plugin-specific state. Provides a place to store and pass request-level plugin data. The plugins is an object where each key is a plugin name and the value is the state. */ + plugins: any; + /** settings - response handling flags: + charset - the 'Content-Type' HTTP header 'charset' property. Defaults to 'utf-8'. + encoding - the string encoding scheme used to serial data into the HTTP payload when source is a string or marshals into a string. Defaults to 'utf8'. + passThrough - if true and source is a Stream, copies the statusCode and headers of the stream to the outbound response. Defaults to true. + stringify - options used for source value requiring stringification. Defaults to no replacer and no space padding. + ttl - if set, overrides the route cache expiration milliseconds value set in the route config. Defaults to no override. + varyEtag - if true, a suffix will be automatically added to the 'ETag' header at transmission time (separated by a '-' character) when the HTTP 'Vary' header is present.*/ + settings: { + charset: string; + encoding: string; + passThrough: boolean; + stringify: any; + ttl: number; + varyEtag: boolean; + }; + + /** sets the HTTP 'Content-Length' header (to avoid chunked transfer encoding) where: + length - the header value. Must match the actual payload size.*/ + bytes(length: number): Response; + + /** sets the 'Content-Type' HTTP header 'charset' property where: charset - the charset property value.*/ + charset(charset: string): Response; + + /** sets the HTTP status code where: + statusCode - the HTTP status code.*/ + code(statusCode: number): Response; + + /** sets the HTTP status code to Created (201) and the HTTP 'Location' header where: uri - an absolute or relative URI used as the 'Location' header value.*/ + created(uri: string): Response; + + /** encoding(encoding) - sets the string encoding scheme used to serial data into the HTTP payload where: encoding - the encoding property value (see node Buffer encoding).*/ + encoding(encoding: string): Response; + + /** etag(tag, options) - sets the representation entity tag where: + tag - the entity tag string without the double-quote. + options - optional settings where: + weak - if true, the tag will be prefixed with the 'W/' weak signifier. Weak tags will fail to match identical tags for the purpose of determining 304 response status. Defaults to false. + vary - if true and content encoding is set or applied to the response (e.g 'gzip' or 'deflate'), the encoding name will be automatically added to the tag at transmission time (separated by a '-' character). Ignored when weak is true. Defaults to true.*/ + etag(tag: string, options: { + weak: boolean; vary: boolean; + }): Response; + + /**header(name, value, options) - sets an HTTP header where: + name - the header name. + value - the header value. + options - optional settings where: + append - if true, the value is appended to any existing header value using separator. Defaults to false. + separator - string used as separator when appending to an exiting value. Defaults to ','. + override - if false, the header value is not set if an existing value present. Defaults to true.*/ + header(name: string, value: string, options?: IHeaderOptions): Response; + + /** hold() - puts the response on hold until response.send() is called. Available only after reply() is called and until response.hold() is invoked once. */ + hold(): Response; + + /** location(uri) - sets the HTTP 'Location' header where: + uri - an absolute or relative URI used as the 'Location' header value.*/ + location(uri: string): Response; + + /** redirect(uri) - sets an HTTP redirection response (302) and decorates the response with additional methods listed below, where: + uri - an absolute or relative URI used to redirect the client to another resource. */ + redirect(uri: string): Response; + + /** replacer(method) - sets the JSON.stringify() replacer argument where: + method - the replacer function or array. Defaults to none.*/ + replacer(method: Function | Function[]): Response; + + /** spaces(count) - sets the JSON.stringify() space argument where: + count - the number of spaces to indent nested object keys. Defaults to no indentation. */ + spaces(count: number): Response; + + /**state(name, value, [options]) - sets an HTTP cookie where: + name - the cookie name. + value - the cookie value. If no encoding is defined, must be a string. + options - optional configuration. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others).*/ + state(name: string, value: string, options?: any): Response; + + /** send() - resume the response which will be transmitted in the next tick. Available only after response.hold() is called and until response.send() is invoked once. */ + send(): void; + + /** sets a string suffix when the response is process via JSON.stringify().*/ + suffix(suffix: string): void; + + /** overrides the default route cache expiration rule for this response instance where: + msec - the time-to-live value in milliseconds.*/ + ttl(msec: number): void; + + /** type(mimeType) - sets the HTTP 'Content-Type' header where: + mimeType - is the mime type. Should only be used to override the built-in default for each response type. */ + type(mimeType: string): Response; + + /** clears the HTTP cookie by setting an expired value where: + name - the cookie name. + options - optional configuration for expiring cookie. If the state was previously registered with the server using server.state(), the specified keys in options override those same keys in the server definition (but not others).*/ + unstate(name: string, options?: { [key: string]: string }): Response; + + /** adds the provided header to the list of inputs affected the response generation via the HTTP 'Vary' header where: + header - the HTTP request header name.*/ + vary(header: string): void; +} +/** When using the redirect() method, the response object provides these additional methods */ +export class ResponseRedirect extends Response { + /** sets the status code to 302 or 307 (based on the rewritable() setting) where: + isTemporary - if false, sets status to permanent. Defaults to true.*/ + temporary(isTemporary: boolean): void; + + /** sets the status code to 301 or 308 (based on the rewritable() setting) where: + isPermanent - if true, sets status to temporary. Defaults to false. */ + permanent(isPermanent: boolean): void; + + /** sets the status code to 301/302 for rewritable (allows changing the request method from 'POST' to 'GET') or 307/308 for non-rewritable (does not allow changing the request method from 'POST' to 'GET'). Exact code based on the temporary() or permanent() setting. Arguments: + isRewritable - if false, sets to non-rewritable. Defaults to true. + Permanent Temporary + Rewritable 301 302(1) + Non-rewritable 308(2) 307 + Notes: 1. Default value. 2. Proposed code, not supported by all clients. */ + rewritable(isRewritable: boolean): void; +} +/** info about a server connection */ +export interface IServerConnectionInfo { + /** - a unique connection identifier (using the format '{hostname}:{pid}:{now base36}').*/ + id: string; + /** - the connection creation timestamp.*/ + created: number; + /** - the connection start timestamp (0 when stopped).*/ + started: number; + /** the connection port based on the following rules: + the configured port value before the server has been started. + the actual port assigned when no port is configured or set to 0 after the server has been started.*/ + port: number; + + /** - the host name the connection was configured to. Defaults to the operating system hostname when available, otherwise 'localhost'.*/ + host: string; + /** - the active IP address the connection was bound to after starting.Set to undefined until the server has been started or when using a non TCP port (e.g. UNIX domain socket).*/ + address: string; + /** - the protocol used: + 'http' - HTTP. + 'https' - HTTPS. + 'socket' - UNIX domain socket or Windows named pipe.*/ + protocol: string; + /** a string representing the connection (e.g. 'http://example.com:8080' or 'socket:/unix/domain/socket/path'). Contains the uri setting if provided, otherwise constructed from the available settings. If no port is available or set to 0, the uri will not include a port component.*/ + uri: string; +} +/** + * undocumented. The connection object constructed after calling server.connection(); + * can be accessed via server.connections; or request.connection; + */ +export class ServerConnection extends Events.EventEmitter { + domain: any; + _events: { route: Function, domain: Function, _events: Function, _eventsCount: Function, _maxListeners: Function }; + _eventsCount: number; + settings: IServerConnectionOptions; + server: Server; + /** ex: "tcp" */ + type: string; + _started: boolean; + /** dictionary of sockets */ + _connections: { [ip_port: string]: any }; + _onConnection: Function; + registrations: any; + _extensions: any; + _requestCounter: { value: number; min: number; max: number }; + _load: any; + states: { + settings: any; cookies: any; names: any[] + }; + auth: { connection: ServerConnection; _schemes: any; _strategies: any; settings: any; api: any; }; + _router: any; + MSPluginsCollection: any; + applicationCache: any; + addEventListener: any; + info: IServerConnectionInfo; +} + +export type RequestExtPoints = "onRequest" | "onPreResponse" | "onPreAuth" | "onPostAuth" | "onPreHandler" | "onPostHandler" | "onPreResponse"; +export type ServerExtPoints = "onPreStart" | "onPostStart" | "onPreStop" | "onPostStop"; + +/** Server http://hapijs.com/api#server + rver object is the main application container. The server manages all incoming connections along with all the facilities provided by the framework. A server can contain more than one connection (e.g. listen to port 80 and 8080). + Server events + The server object inherits from Events.EventEmitter and emits the following events: + 'log' - events logged with server.log() and server events generated internally by the framework. + 'start' - emitted when the server is started using server.start(). + 'stop' - emitted when the server is stopped using server.stop(). + 'request' - events generated by request.log(). Does not include any internally generated events. + 'request-internal' - request events generated internally by the framework (multiple events per request). + 'request-error' - emitted whenever an Internal Server Error (500) error response is sent. Single event per request. + 'response' - emitted after the response is sent back to the client (or when the client connection closed and no response sent, in which case request.response is null). Single event per request. + 'tail' - emitted when a request finished processing, including any registered tails. Single event per request. + Note that the server object should not be used to emit application events as its internal implementation is designed to fan events out to the various plugin selections and not for application events. + MORE EVENTS HERE: http://hapijs.com/api#server-events*/ +export class Server extends Events.EventEmitter { + constructor(options?: IServerOptions); + + /** Provides a safe place to store server-specific run-time application data without potential conflicts with the framework internals. The data can be accessed whenever the server is accessible. Initialized with an empty object. + var Hapi = require('hapi'); + server = new Hapi.Server(); + server.app.key = 'value'; + var handler = function (request, reply) { + return reply(request.server.app.key); + }; */ + app: any; + /** An array containing the server's connections. When the server object is returned from server.select(), the connections array only includes the connections matching the selection criteria. + var server = new Hapi.Server(); + server.connection({ port: 80, labels: 'a' }); + server.connection({ port: 8080, labels: 'b' }); + // server.connections.length === 2 + var a = server.select('a'); + // a.connections.length === 1*/ + connections: ServerConnection[]; + /** When the server contains exactly one connection, info is an object containing information about the sole connection. + * When the server contains more than one connection, each server.connections array member provides its own connection.info. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + // server.info.port === 80 + server.connection({ port: 8080 }); + // server.info === null + // server.connections[1].info.port === 8080 + */ + info: IServerConnectionInfo; + /** An object containing the process load metrics (when load.sampleInterval is enabled): + rss - RSS memory usage. + var Hapi = require('hapi'); + var server = new Hapi.Server({ load: { sampleInterval: 1000 } }); + console.log(server.load.rss);*/ + load: { + /** - event loop delay milliseconds.*/ + eventLoopDelay: number; + /** - V8 heap usage.*/ + heapUsed: number; + }; + /** When the server contains exactly one connection, listener is the node HTTP server object of the sole connection. + When the server contains more than one connection, each server.connections array member provides its own connection.listener. + var Hapi = require('hapi'); + var SocketIO = require('socket.io'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var io = SocketIO.listen(server.listener); + io.sockets.on('connection', function(socket) { + socket.emit({ msg: 'welcome' }); + });*/ + listener: http.Server; + + /** server.methods + An object providing access to the server methods where each server method name is an object property. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.method('add', function (a, b, next) { + return next(null, a + b); + }); + server.methods.add(1, 2, function (err, result) { + // result === 3 + });*/ + methods: IDictionary; + + /** server.mime + Provides access to the server MIME database used for setting content-type information. The object must not be modified directly but only through the mime server setting. + var Hapi = require('hapi'); + var options = { + mime: { + override: { + 'node/module': { + source: 'steve', + compressible: false, + extensions: ['node', 'module', 'npm'], + type: 'node/module' + } + } + } + }; + var server = new Hapi.Server(options); + // server.mime.path('code.js').type === 'application/javascript' + // server.mime.path('file.npm').type === 'node/module'*/ + mime: any; + /**server.plugins + An object containing the values exposed by each plugin registered where each key is a plugin name and the values are the exposed properties by each plugin using server.expose(). Plugins may set the value of the server.plugins[name] object directly or via the server.expose() method. + exports.register = function (server, options, next) { + server.expose('key', 'value'); + // server.plugins.example.key === 'value' + return next(); + }; + exports.register.attributes = { + name: 'example' + };*/ + plugins: IDictionary; + /** server.realm + The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). Realms are a limited version of a sandbox where plugins can maintain state used by the framework when adding routes, extensions, and other properties. + modifiers - when the server object is provided as an argument to the plugin register() method, modifiers provides the registration preferences passed the server.register() method and includes: + route - routes preferences: + prefix - the route path prefix used by any calls to server.route() from the server. + vhost - the route virtual host settings used by any calls to server.route() from the server. + plugin - the active plugin name (empty string if at the server root). + plugins - plugin-specific state to be shared only among activities sharing the same active state. plugins is an object where each key is a plugin name and the value is the plugin state. + settings - settings overrides: + files.relativeTo + bind + The server.realm object should be considered read-only and must not be changed directly except for the plugins property can be directly manipulated by the plugins (each setting its own under plugins[name]). + exports.register = function (server, options, next) { + console.log(server.realm.modifiers.route.prefix); + return next(); + };*/ + realm: IServerRealm; + + /** server.root + The root server object containing all the connections and the root server methods (e.g. start(), stop(), connection()).*/ + root: Server; + /** server.settings + The server configuration object after defaults applied. + var Hapi = require('hapi'); + var server = new Hapi.Server({ + app: { + key: 'value' + } + }); + // server.settings.app === { key: 'value' }*/ + settings: IServerOptions; + + /** server.version + The hapi module version number. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + // server.version === '8.0.0'*/ + version: string; + + /** server.after(method, [dependencies]) + Adds a method to be called after all the plugin dependencies have been registered and before the server starts (only called if the server is started) where: + after - the method with signature function(plugin, next) where: + server - server object the after() method was called on. + next - the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: + err - internal error which is returned back via the server.start() callback. + dependencies - a string or array of string with the plugin names to call this method after their after() methods. There is no requirement for the other plugins to be registered. Setting dependencies only arranges the after methods in the specified order. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.after(function () { + // Perform some pre-start logic + }); + server.start(function (err) { + // After method already executed + }); + server.auth.default(options)*/ + after(method: (plugin: any, next: (err: any) => void) => void, dependencies: string | string[]): void; + + auth: { + /** server.auth.api + An object where each key is a strategy name and the value is the exposed strategy API. Available on when the authentication scheme exposes an API by returning an api key in the object returned from its implementation function. + When the server contains more than one connection, each server.connections array member provides its own connection.auth.api object. + const server = new Hapi.Server(); + server.connection({ port: 80 }); + const scheme = function (server, options) { + return { + api: { + settings: { + x: 5 + } + }, + authenticate: function (request, reply) { + const req = request.raw.req; + const authorization = req.headers.authorization; + if (!authorization) { + return reply(Boom.unauthorized(null, 'Custom')); + } + return reply.continue({ credentials: { user: 'john' } }); + } + }; + }; + server.auth.scheme('custom', scheme); + server.auth.strategy('default', 'custom'); + console.log(server.auth.api.default.settings.x); // 5 + */ + api: { + [index: string]: any; + } + /** server.auth.default(options) + Sets a default strategy which is applied to every route where: + options - a string with the default strategy name or an object with a specified strategy or strategies using the same format as the route auth handler options. + The default does not apply when the route config specifies auth as false, or has an authentication strategy configured. Otherwise, the route authentication config is applied to the defaults. Note that the default only applies at time of route configuration, not at runtime. Calling default() after adding a route will have no impact on routes added prior. + The default auth strategy configuration can be accessed via connection.auth.settings.default. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.auth.scheme('custom', scheme); + server.auth.strategy('default', 'custom'); + server.auth.default('default'); + server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + return reply(request.auth.credentials.user); + } + });*/ + default(options: string): void; + default(options: { strategy: string }): void; + default(options: { strategies: string[] }): void; + /** server.auth.scheme(name, scheme) + Registers an authentication scheme where: + name - the scheme name. + scheme - the method implementing the scheme with signature function(server, options) where: + server - a reference to the server object the scheme is added to. + options - optional scheme settings used to instantiate a strategy.*/ + scheme( + name: string, + /** + * When the scheme authenticate() method implementation calls reply() with an error condition, the specifics of the error affect whether additional authentication strategies will be attempted if configured for the route. If the err returned by the reply() method includes a message, no additional strategies will be attempted. If the err does not include a message but does include a scheme name (e.g. Boom.unauthorized(null, 'Custom')), additional strategies will be attempted in order of preference. + * n the scheme payload() method returns an error with a message, it means payload validation failed due to bad payload. If the error has no message but includes a scheme name (e.g. Boom.unauthorized(null, 'Custom')), authentication may still be successful if the route auth.payload configuration is set to 'optional'. + * server = new Hapi.Server(); + * server.connection({ port: 80 }); + * scheme = function (server, options) { + * urn { + * authenticate: function (request, reply) { + * req = request.raw.req; + * var authorization = req.headers.authorization; + * if (!authorization) { + * return reply(Boom.unauthorized(null, 'Custom')); + * } + * urn reply(null, { credentials: { user: 'john' } }); + * } + * }; + * }; + */ + scheme: (server: Server, options: any) => IServerAuthScheme): void; + + /** + * server.auth.strategy(name, scheme, [mode], [options]) + * Registers an authentication strategy where: + * name - the strategy name. + * scheme - the scheme name (must be previously registered using server.auth.scheme()). + * mode - if true, the scheme is automatically assigned as a required strategy to any route without an auth config. Can only be assigned to a single server strategy. Value must be true (which is the same as 'required') or a valid authentication mode ('required', 'optional', 'try'). Defaults to false. + * options - scheme options based on the scheme requirements. + * var server = new Hapi.Server(); + * server.connection({ port: 80 }); + * server.auth.scheme('custom', scheme); + * server.auth.strategy('default', 'custom'); + * server.route({ + * method: 'GET', + * path: '/', + * config: { + * auth: 'default', + * handler: function (request, reply) { + * return reply(request.auth.credentials.user); + * } + * } + * }); + */ + strategy(name: string, scheme: string, mode?: boolean | string, options?: any): void; + strategy(name: string, scheme: string, mode?: boolean | string): void; + strategy(name: string, scheme: string, options?: any): void; + + /** server.auth.test(strategy, request, next) + Tests a request against an authentication strategy where: + strategy - the strategy name registered with server.auth.strategy(). + request - the request object. + next - the callback function with signature function(err, credentials) where: + err - the error if authentication failed. + credentials - the authentication credentials object if authentication was successful. + Note that the test() method does not take into account the route authentication configuration. It also does not perform payload authentication. It is limited to the basic strategy authentication execution. It does not include verifying scope, entity, or other route properties. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.auth.scheme('custom', scheme); + server.auth.strategy('default', 'custom'); + server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + request.server.auth.test('default', request, function (err, credentials) { + if (err) { + return reply({ status: false }); + } + return reply({ status: true, user: credentials.name }); + }); + } + });*/ + test(strategy: string, request: Request, next: (err: any, credentials: any) => void): void; + }; + + /** server.bind(context) + Sets a global context used as the default bind object when adding a route or an extension where: + context - the object used to bind this in handler and extension methods. + When setting context inside a plugin, the context is applied only to methods set up by the plugin. Note that the context applies only to routes and extensions added after it has been set. + var handler = function (request, reply) { + return reply(this.message); + }; + exports.register = function (server, options, next) { + var bind = { + message: 'hello' + }; + server.bind(bind); + server.route({ method: 'GET', path: '/', handler: handler }); + return next(); + };*/ + bind(context: any): void; + + /** server.cache(options) + Provisions a cache segment within the server cache facility where: + options - catbox policy configuration where: + expiresIn - relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. + expiresAt - time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records expire. Uses local time. Cannot be used together with expiresIn. + generateFunc - a function used to generate a new cache item if one is not found in the cache when calling get(). The method's signature is function(id, next) where: - id - the id string or object provided to the get() method. - next - the method called when the new item is returned with the signature function(err, value, ttl) where: - err - an error condition. - value - the new value generated. - ttl - the cache ttl value in milliseconds. Set to 0 to skip storing in the cache. Defaults to the cache global policy. + staleIn - number of milliseconds to mark an item stored in cache as stale and attempt to regenerate it when generateFunc is provided. Must be less than expiresIn. + staleTimeout - number of milliseconds to wait before checking if an item is stale. + generateTimeout - number of milliseconds to wait before returning a timeout error when the generateFunc function takes too long to return a value. When the value is eventually returned, it is stored in the cache for future requests. + cache - the cache name configured in 'server.cache`. Defaults to the default cache. + segment - string segment name, used to isolate cached items within the cache partition. When called within a plugin, defaults to '!name' where 'name' is the plugin name. Required when called outside of a plugin. + shared - if true, allows multiple cache provisions to share the same segment. Default to false. + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var cache = server.cache({ segment: 'countries', expiresIn: 60 * 60 * 1000 }); + cache.set('norway', { capital: 'oslo' }, null, function (err) { + cache.get('norway', function (err, value, cached, log) { + // value === { capital: 'oslo' }; + }); + });*/ + cache(options: ICatBoxCachePolicyOptions): void; + + /** server.connection([options]) + Adds an incoming server connection + Returns a server object with the new connection selected. + Must be called before any other server method that modifies connections is called for it to apply to the new connection (e.g. server.state()). + Note that the options object is deeply cloned (with the exception of listener which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + var web = server.connection({ port: 8000, host: 'example.com', labels: ['web'] }); + var admin = server.connection({ port: 8001, host: 'example.com', labels: ['admin'] }); + // server.connections.length === 2 + // web.connections.length === 1 + // admin.connections.length === 1 */ + connection(options: IServerConnectionOptions): Server; + + /** server.decorate(type, property, method, [options]) + Extends various framework interfaces with custom methods where: + type - the interface being decorated. Supported types: + 'reply' - adds methods to the reply interface. + 'server' - adds methods to the Server object. + property - the object decoration key name. + method - the extension function. + options - if the type is 'request', supports the following optional settings: + 'apply' - if true, the method function is invoked using the signature function(request) where request is the current request object and the returned value is assigned as the decoration. + Note that decorations apply to the entire server and all its connections regardless of current selection. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.decorate('reply', 'success', function () { + return this.response({ status: 'ok' }); + }); + server.route({ + method: 'GET', + path: '/', + handler: function (request, reply) { + return reply.success(); + } + });*/ + decorate(type: string, property: string, method: Function, options?: { apply: boolean }): void; + + /** server.dependency(dependencies, [after]) + Used within a plugin to declares a required dependency on other plugins where: + dependencies - a single string or array of plugin name strings which must be registered in order for this plugin to operate. Plugins listed must be registered before the server is started. Does not provide version dependency which should be implemented using npm peer dependencies. + after - an optional function called after all the specified dependencies have been registered and before the server starts. The function is only called if the server is started. If a circular dependency is detected, an exception is thrown (e.g. two plugins each has an after function to be called after the other). The function signature is function(server, next) where: + server - the server the dependency() method was called on. + next - the callback function the method must call to return control over to the application and complete the registration process. The function signature is function(err) where: + err - internal error condition, which is returned back via the server.start() callback. + exports.register = function (server, options, next) { + server.dependency('yar', after); + return next(); + }; + var after = function (server, next) { + // Additional plugin registration logic + return next(); + };*/ + dependency(dependencies: string | string[], after?: (server: Server, next: (err: any) => void) => void): void; + + /** server.expose(key, value) + Used within a plugin to expose a property via server.plugins[name] where: + key - the key assigned (server.plugins[name][key]). + value - the value assigned. + exports.register = function (server, options, next) { + server.expose('util', function () { console.log('something'); }); + return next(); + };*/ + expose(key: string, value: any): void; + + /** server.expose(obj) + Merges a deep copy of an object into to the existing content of server.plugins[name] where: + obj - the object merged into the exposed properties container. + exports.register = function (server, options, next) { + server.expose({ util: function () { console.log('something'); } }); + return next(); + };*/ + expose(obj: any): void; + + /** server.ext(event, method, [options]) + Registers an extension function in one of the available extension points where: + event - the event name. + method - a function or an array of functions to be executed at a specified point during request processing. The required extension function signature is function(request, reply) where: + request - the request object. NOTE: Access the Response via request.response + reply - the reply interface which is used to return control back to the framework. To continue normal execution of the request lifecycle, reply.continue() must be called. To abort processing and return a response to the client, call reply(value) where value is an error or any other valid response. + this - the object provided via options.bind or the current active context set with server.bind(). + options - an optional object with the following: + before - a string or array of strings of plugin names this method must execute before (on the same event). Otherwise, extension methods are executed in the order added. + after - a string or array of strings of plugin names this method must execute after (on the same event). Otherwise, extension methods are executed in the order added. + bind - a context object passed back to the provided method (via this) when called. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.ext('onRequest', function (request, reply) { + // Change all requests to '/test' + request.setUrl('/test'); + return reply.continue(); + }); + var handler = function (request, reply) { + return reply({ status: 'ok' }); + }; + server.route({ method: 'GET', path: '/test', handler: handler }); + server.start(); + // All requests will get routed to '/test'*/ + ext(event: RequestExtPoints, method: (request: Request, reply: IReply, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; + ext(event: RequestExtPoints, method: (request: Request, reply: IStrictReply, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; + ext(event: ServerExtPoints, method: (server: Server, next: (err?: any) => void, bind?: any) => void, options?: { before: string | string[]; after: string | string[]; bind?: any }): void; + + /** server.handler(name, method) + Registers a new handler type to be used in routes where: + name - string name for the handler being registered. Cannot override the built-in handler types (directory, file, proxy, and view) or any previously registered type. + method - the function used to generate the route handler using the signature function(route, options) where: + route - the route public interface object. + options - the configuration object provided in the handler config. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ host: 'localhost', port: 8000 }); + // Defines new handler for routes on this server + server.handler('test', function (route, options) { + return function (request, reply) { + return reply('new handler: ' + options.msg); + } + }); + server.route({ + method: 'GET', + path: '/', + handler: { test: { msg: 'test' } } + }); + server.start(); + The method function can have a defaults object or function property. If the property is set to an object, that object is used as the default route config for routes using this handler. If the property is set to a function, the function uses the signature function(method) and returns the route default configuration. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ host: 'localhost', port: 8000 }); + var handler = function (route, options) { + return function (request, reply) { + return reply('new handler: ' + options.msg); + } + }; + // Change the default payload processing for this handler + handler.defaults = { + payload: { + output: 'stream', + parse: false + } + }; + server.handler('test', handler);*/ + handler(name: string, method: (route: IRoute, options: THandlerConfig) => ISessionHandler): void; + + /** server.initialize([callback]) + Initializes the server (starts the caches, finalizes plugin registration) but does not start listening + on the connection ports, where: + - `callback` - the callback method when server initialization is completed or failed with the signature + `function(err)` where: + - `err` - any initialization error condition. + + If no `callback` is provided, a `Promise` object is returned. + + Note that if the method fails and the callback includes an error, the server is considered to be in + an undefined state and should be shut down. In most cases it would be impossible to fully recover as + the various plugins, caches, and other event listeners will get confused by repeated attempts to + start the server or make assumptions about the healthy state of the environment. It is recommended + to assert that no error has been returned after calling `initialize()` to abort the process when the + server fails to start properly. If you must try to resume after an error, call `server.stop()` + first to reset the server state. + */ + initialize(callback?: (error: any) => void): Promise; + + /** When the server contains exactly one connection, injects a request into the sole connection simulating an incoming HTTP request without making an actual socket connection. + Injection is useful for testing purposes as well as for invoking routing logic internally without the overhead or limitations of the network stack. + Utilizes the [shot module | https://github.com/hapijs/shot ] for performing injections, with some additional options and response properties + * When the server contains more than one connection, each server.connections array member provides its own connection.inject(). + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + var handler = function (request, reply) { + return reply('Success!'); + }; + server.route({ method: 'GET', path: '/', handler: handler }); + server.inject('/', function (res) { + console.log(res.result); + }); + */ + inject: IServerInject; + + /** server.log(tags, [data, [timestamp]]) + Logs server events that cannot be associated with a specific request. When called the server emits a 'log' event which can be used by other listeners or plugins to record the information or output to the console. The arguments are: + tags - a string or an array of strings (e.g. ['error', 'database', 'read']) used to identify the event. Tags are used instead of log levels and provide a much more expressive mechanism for describing and filtering events. Any logs generated by the server internally include the 'hapi' tag along with event-specific information. + data - an optional message string or object with the application data being logged. + timestamp - an optional timestamp expressed in milliseconds. Defaults to Date.now() (now). + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.on('log', function (event, tags) { + if (tags.error) { + console.log(event); + } + }); + server.log(['test', 'error'], 'Test event');*/ + log(tags: string | string[], data?: string | any, timestamp?: number): void; + + /**server.lookup(id) + When the server contains exactly one connection, looks up a route configuration where: + id - the route identifier as set in the route options. + returns the route public interface object if found, otherwise null. + var server = new Hapi.Server(); + server.connection(); + server.route({ + method: 'GET', + path: '/', + config: { + handler: function (request, reply) { return reply(); }, + id: 'root' + } + }); + var route = server.lookup('root'); + When the server contains more than one connection, each server.connections array member provides its own connection.lookup() method.*/ + lookup(id: string): IRoute; + + /** server.match(method, path, [host]) + When the server contains exactly one connection, looks up a route configuration where: + method - the HTTP method (e.g. 'GET', 'POST'). + path - the requested path (must begin with '/'). + host - optional hostname (to match against routes with vhost). + returns the route public interface object if found, otherwise null. + var server = new Hapi.Server(); + server.connection(); + server.route({ + method: 'GET', + path: '/', + config: { + handler: function (request, reply) { return reply(); }, + id: 'root' + } + }); + var route = server.match('get', '/'); + When the server contains more than one connection, each server.connections array member provides its own connection.match() method.*/ + match(method: string, path: string, host?: string): IRoute; + + /** server.method(name, method, [options]) + Registers a server method. Server methods are functions registered with the server and used throughout the application as a common utility. Their advantage is in the ability to configure them to use the built-in cache and share across multiple request handlers without having to create a common module. + Methods are registered via server.method(name, method, [options]) + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + // Simple arguments + var add = function (a, b, next) { + return next(null, a + b); + }; + server.method('sum', add, { cache: { expiresIn: 2000 } }); + server.methods.sum(4, 5, function (err, result) { + console.log(result); + }); + // Object argument + var addArray = function (array, next) { + var sum = 0; + array.forEach(function (item) { + sum += item; + }); + return next(null, sum); + }; + server.method('sumObj', addArray, { + cache: { expiresIn: 2000 }, + generateKey: function (array) { + return array.join(','); + } + }); + server.methods.sumObj([5, 6], function (err, result) { + console.log(result); + }); + // Synchronous method with cache + var addSync = function (a, b) { + return a + b; + }; + server.method('sumSync', addSync, { cache: { expiresIn: 2000 }, callback: false }); + server.methods.sumSync(4, 5, function (err, result) { + console.log(result); + }); */ + method(/** a unique method name used to invoke the method via server.methods[name]. When configured with caching enabled, server.methods[name].cache.drop(arg1, arg2, ..., argn, callback) can be used to clear the cache for a given key. Supports using nested names such as utils.users.get which will automatically create the missing path under server.methods and can be accessed for the previous example via server.methods.utils.users.get.*/ + name: string, + method: IServerMethod, + options?: IServerMethodOptions): void; + + /**server.method(methods) + Registers a server method function as described in server.method() using a configuration object where: + methods - an object or an array of objects where each one contains: + name - the method name. + method - the method function. + options - optional settings. + var add = function (a, b, next) { + next(null, a + b); + }; + server.method({ + name: 'sum', + method: add, + options: { + cache: { + expiresIn: 2000 + } + } + });*/ + method(methods: { + name: string; method: IServerMethod; options?: IServerMethodOptions + } | Array<{ + name: string; method: IServerMethod; options?: IServerMethodOptions + }>): void; + + /**server.path(relativeTo) + Sets the path prefix used to locate static resources (files and view templates) when relative paths are used where: + relativeTo - the path prefix added to any relative file path starting with '.'. + Note that setting a path within a plugin only applies to resources accessed by plugin methods. If no path is set, the connection files.relativeTo configuration is used. The path only applies to routes added after it has been set. + exports.register = function (server, options, next) { + server.path(__dirname + '../static'); + server.route({ path: '/file', method: 'GET', handler: { file: './test.html' } }); + next(); + };*/ + path(relativeTo: string): void; + + /** + * server.register(plugins, [options], callback) + * Registers a plugin where: + * plugins - an object or array of objects where each one is either: + * a plugin registration function. + * an object with the following: + * register - the plugin registration function. + * options - optional options passed to the registration function when called. + * options - optional registration options (different from the options passed to the registration function): + * select - a string or array of string labels used to pre-select connections for plugin registration. + * routes - modifiers applied to each route added by the plugin: + * prefix - string added as prefix to any route path (must begin with '/'). If a plugin registers a child plugin the prefix is passed on to the child or is added in front of the child-specific prefix. + * vhost - virtual host string (or array of strings) applied to every route. The outer-most vhost overrides the any nested configuration. + * callback - the callback function with signature function(err) where: + * err - an error returned from the registration function. Note that exceptions thrown by the registration function are not handled by the framework. + * + * If no callback is provided, a Promise object is returned. + */ + register( + plugins: any | any[], + options: { + select?: string | string[]; + routes: { + prefix: string; vhost?: string | string[] + }; + }, + callback: (err: any) => void): void; + register( + plugins: any | any[], + options: { + select?: string | string[]; + routes: { + prefix: string; vhost?: string | string[] + }; + }): Promise; + + register(plugins: any | any[], callback: (err: any) => void): void; + register(plugins: any | any[]): Promise; + + /**server.render(template, context, [options], callback) + Utilizes the server views manager to render a template where: + template - the template filename and path, relative to the views manager templates path (path or relativeTo). + context - optional object used by the template to render context-specific result. Defaults to no context ({}). + options - optional object used to override the views manager configuration. + callback - the callback function with signature function (err, rendered, config) where: + err - the rendering error if any. + rendered - the result view string. + config - the configuration used to render the template. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + var context = { + title: 'Views Example', + message: 'Hello, World' + }; + server.render('hello', context, function (err, rendered, config) { + console.log(rendered); + });*/ + render(template: string, context: any, options: any, callback: (err: any, rendered: any, config: any) => void): void; + + /** server.route(options) + Adds a connection route where: + options - a route configuration object or an array of configuration objects. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.route({ method: 'GET', path: '/', handler: function (request, reply) { return reply('ok'); } }); + server.route([ + { method: 'GET', path: '/1', handler: function (request, reply) { return reply('ok'); } }, + { method: 'GET', path: '/2', handler: function (request, reply) { return reply('ok'); } } + ]);*/ + route(options: IRouteConfiguration): void; + route(options: IRouteConfiguration[]): void; + + /**server.select(labels) + Selects a subset of the server's connections where: + labels - a single string or array of strings of labels used as a logical OR statement to select all the connections with matching labels in their configuration. + Returns a server object with connections set to the requested subset. Selecting again on a selection operates as a logic AND statement between the individual selections. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80, labels: ['a'] }); + server.connection({ port: 8080, labels: ['b'] }); + server.connection({ port: 8081, labels: ['c'] }); + server.connection({ port: 8082, labels: ['c','d'] }); + var a = server.select('a'); // The server with port 80 + var ab = server.select(['a','b']); // A list of servers containing the server with port 80 and the server with port 8080 + var c = server.select('c'); // A list of servers containing the server with port 8081 and the server with port 8082 */ + select(labels: string | string[]): Server | Server[]; + + /** server.start([callback]) + Starts the server connections by listening for incoming requests on the configured port of each listener (unless the connection was configured with autoListen set to false), where: + callback - optional callback when server startup is completed or failed with the signature function(err) where: + err - any startup error condition. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.start(function (err) { + console.log('Server started at: ' + server.info.uri); + });*/ + start(callback?: (err: any) => void): Promise; + + /** server.state(name, [options]) + HTTP state management uses client cookies to persist a state across multiple requests. Registers a cookie definitions + State defaults can be modified via the server connections.routes.state configuration option. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + // Set cookie definition + server.state('session', { + ttl: 24 * 60 * 60 * 1000, // One day + isSecure: true, + path: '/', + encoding: 'base64json' + }); + // Set state in route handler + var handler = function (request, reply) { + var session = request.state.session; + if (!session) { + session = { user: 'joe' }; + } + session.last = Date.now(); + return reply('Success').state('session', session); + }; + Registered cookies are automatically parsed when received. Parsing rules depends on the route state.parse configuration. If an incoming registered cookie fails parsing, it is not included in request.state, regardless of the state.failAction setting. When state.failAction is set to 'log' and an invalid cookie value is received, the server will emit a 'request-internal' event. To capture these errors subscribe to the 'request-internal' events and filter on 'error' and 'state' tags: + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.on('request-internal', function (request, event, tags) { + if (tags.error && tags.state) { + console.error(event); + } + }); */ + state(name: string, options?: ICookieSettings): void; + + /** server.stop([options], [callback]) + Stops the server's connections by refusing to accept any new connections or requests (existing connections will continue until closed or timeout), where: + options - optional object with: + timeout - overrides the timeout in millisecond before forcefully terminating a connection. Defaults to 5000 (5 seconds). + callback - optional callback method with signature function() which is called once all the connections have ended and it is safe to exit the process. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80 }); + server.stop({ timeout: 60 * 1000 }, function () { + console.log('Server stopped'); + });*/ + stop(options?: { timeout: number }, callback?: () => void): Promise; + + /**server.table([host]) + Returns a copy of the routing table where: + host - optional host to filter routes matching a specific virtual host. Defaults to all virtual hosts. + The return value is an array where each item is an object containing: + info - the connection.info the connection the table was generated for. + labels - the connection labels. + table - an array of routes where each route contains: + settings - the route config with defaults applied. + method - the HTTP method in lower case. + path - the route path. + Note that if the server has not been started and multiple connections use port 0, the table items will override each other and will produce an incomplete result. + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80, host: 'example.com' }); + server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); + var table = server.table(); + When calling connection.table() directly on each connection, the return value is the same as the array table item value of an individual connection: + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.connection({ port: 80, host: 'example.com' }); + server.route({ method: 'GET', path: '/example', handler: function (request, reply) { return reply(); } }); + var table = server.connections[0].table(); + //[ + // { + // method: 'get', + // path: '/example', + // settings: { ... } + // } + //] + */ + table(host?: any): IConnectionTable; + + /**server.views(options) + Initializes the server views manager + var Hapi = require('hapi'); + var server = new Hapi.Server(); + server.views({ + engines: { + html: require('handlebars'), + jade: require('jade') + }, + path: '/static/templates' + }); + When server.views() is called within a plugin, the views manager is only available to plugins methods.*/ + views(options: IServerViewsConfiguration): void; +} diff --git a/types/hapi/v16.0/tsconfig.json b/types/hapi/v16.0/tsconfig.json new file mode 100644 index 0000000000..b6bca23ab6 --- /dev/null +++ b/types/hapi/v16.0/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "baseUrl": "../../", + "typeRoots": [ + "../../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "hapi-tests.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/vision/index.d.ts b/types/hapi/vision/index.d.ts new file mode 100644 index 0000000000..cee02fc56c --- /dev/null +++ b/types/hapi/vision/index.d.ts @@ -0,0 +1,207 @@ + +import * as Hapi from 'hapi'; + +declare module 'hapi' { + interface Server { + /** + * Initializes the server views manager + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#serverviewsoptions} + */ + views(options: ServerViewsConfiguration): ViewManager; + /** + * Utilizes the server views manager to render a template + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#serverrendertemplate-context-options-callback} + */ + render: RenderMethod; + } + + interface Request { + /** + * request.render() works the same way as server.render() but is for use inside of request handlers. server.render() does not work inside request handlers when called via request.server.render() if the view manager was created by a plugin. This is because the request.server object does not have access to the plugin realm where the view manager was configured. request.render() gets its realm from the route that the request was bound to. + * Note that this will not work in onRequest extensions added by the plugin because the route isn't yet set at this point in the request lifecycle and the request.render() method will produce the same limited results server.render() can. + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#requestrendertemplate-context-options-callback} + */ + render: RenderMethod; + } + + interface RouteHandlerPlugins { + /** + * The view handler can be used with routes registered in the same realm as the view manager. The handler takes an options parameter that can be either a string or an object. When the options parameter is a string, it should be the filename and path of the template relative to the templates path configured via the views manager. When the options parameter is an object, it may have the following keys: + * The rendering context contains the `params`, `payload`, `query`, and `pre` values from the request by default (these can be overriden by values explicitly set via the options). + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#the-view-handler} + */ + view?: string | { + /** the template filename and path, relative to the templates path configured via the server views manager. */ + template: string; + /** optional object used by the template to render context-specific result. Defaults to no context {}. */ + context?: Object; + /** + * optional object used to override the server's views manager configuration for this response. Cannot override isCached, partialsPath, or helpersPath which are only loaded at initialization. + * TODO check if it can have `defaultExtension`. + */ + options?: ViewHandlerOrReplyOptions; + } + } + + interface Base_Reply { + /** + * Concludes the handler activity by returning control over to the router with a templatized view response + * Returns a response object. The generated response will have the variety property set to view. + * The response flow control rules apply. + * @param template the template filename and path, relative to the templates path configured via the server views manager. + * @param context optional object used by the template to render context-specific result. Defaults to no context {}. + * @param options optional object used to override the server's views manager configuration for this response. Cannot override isCached, partialsPath, or helpersPath which are only loaded at initialization. + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#replyviewtemplate-context-options} + */ + view(templatePath: string, context?: any, options?: ViewHandlerOrReplyOptions): Response; + } +} + +/** + * Options for initialising server views manager + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#serverviewsoptions} + */ +export interface ServerViewsConfiguration extends ServerViewsAdditionalOptions { + /** required object where each key is a file extension (e.g. 'html', 'hbr'), mapped to the npm module used for rendering the templates. Alternatively, the extension can be mapped to an object */ + engines: {[fileExtension: string]: NpmModule} | ServerViewsEnginesOptions; + /** defines the default filename extension to append to template names when multiple engines are configured and no explicit extension is provided for a given template. No default value. */ + defaultExtension?: string; +} + +/** + * Includes `module` and any of the views options listed below (@see ServerViewsAdditionalOptions) (except defaultExtension) to override the defaults for a specific engine. + */ +export interface ServerViewsEnginesOptions extends ServerViewsAdditionalOptions { + /** + * The npm module used for rendering the templates. The module object must contain the compile() function + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#serverviewsoptions} > options > engines > module + */ + module: NpmModule +} +export interface ServerViewsAdditionalOptions extends ViewHandlerOrReplyOptions { + /** the root file path, or array of file paths, where partials are located. Partials are small segments of template code that can be nested and reused throughout other templates. Defaults to no partials support (empty path). */ + partialsPath?: string | string[]; + /** the directory path, or array of directory paths, where helpers are located. Helpers are functions used within templates to perform transformations and other data manipulations using the template context or other inputs. Each '.js' file in the helpers directory is loaded and the file name is used as the helper name. The files must export a single method with the signature function(context) and return a string. Sub-folders are not supported and are ignored. Defaults to no helpers support (empty path). Note that jade does not support loading helpers this way. */ + helpersPath?: string | string[]; + /** if set to false, templates will not be cached (thus will be read from file on every use). Defaults to true. */ + isCached?: boolean; +} + +/** + * + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#the-view-handler} > options for the list of attributes it can not have (isCached, partialsPath, helpersPath) + */ +export interface ViewHandlerOrReplyOptions { + /** the root file path, or array of file paths, used to resolve and load the templates identified when calling reply.view(). Defaults to current working directory. */ + path?: string | string[]; + /** + * a base path used as prefix for path and partialsPath. No default. + * TODO update if PR for updating docs is accepted. + */ + relativeTo?: string; + /** if set to true or a layout filename, layout support is enabled. A layout is a single template file used as the parent template for other view templates in the same engine. If true, the layout template name must be 'layout.ext' where 'ext' is the engine's extension. Otherwise, the provided filename is suffixed with the engine's extension and loaded. Disable layout when using Jade as it will handle including any layout files independently. Defaults to false. */ + layout?: boolean; + /** the root file path, or array of file paths, where layout templates are located (using the relativeTo prefix if present). Defaults to path. */ + layoutPath?: string | string[]; + /** the key used by the template engine to denote where primary template content should go. Defaults to 'content'. */ + layoutKeyword?: string; + /** the text encoding used by the templates when reading the files and outputting the result. Defaults to 'utf8'. */ + encoding?: string; + /** if set to true, allows absolute template paths passed to reply.view(). Defaults to false. */ + allowAbsolutePaths?: boolean; + /** if set to true, allows template paths passed to reply.view() to contain '../'. Defaults to false. */ + allowInsecureAccess?: boolean; + /** options object passed to the engine's compile function. Defaults to empty options {}. */ + compileOptions?: CompileOptions; + /** options object passed to the returned function from the compile operation. Defaults to empty options {}. */ + runtimeOptions?: RuntimeOptions; + /** the content type of the engine results. Defaults to 'text/html'. */ + contentType?: string; + /** specify whether the engine compile() method is 'sync' or 'async'. Defaults to 'sync'. */ + compileMode?: 'sync' | 'async'; + /** a global context used with all templates. The global context option can be either an object or a function that takes the request as its only argument and returns a context object. The request object is only provided when using the view handler or reply.view(). When using server.render() or request.render(), the request argument will be null. When rendering views, the global context will be merged with any context object specified on the handler or using reply.view(). When multiple context objects are used, values from the global context always have lowest precedence. */ + context?: Object | ((request: Hapi.Request) => Object); +} + +/** + * Options passed to module when compiling template. + * Cast your options to this interface or extend it with: + * declare module 'hapi' { + * interface CompileOptions { + * noEscape: boolean; + * } + * } + */ +export interface CompileOptions {} +export interface RuntimeOptions {} + +/** + * the rendering function. The required function signature depends on the compileMode settings (see below). + * If compileMode is 'sync', the signature is compile(template, options), the return value is a function with signature function(context, options) (the compiled sync template), and the method is allowed to throw errors. + * If compileMode is 'async', the signature is compile(template, options, next) where next has the signature function(err, compiled), compiled is a function with signature function(context, options, callback) (the compiled async template) and callback has the signature function(err, rendered). + */ +export interface ServerViewCompile { + (template: string, options: any): (context: any, options: any) => void; + (template: string, options: any, next: (err: Error | null, compiled: (context: any, options: any, callback: (err: null | Error, rendered: string | null) => void) => void) => void): void; +} + +/** + * The npm module used for rendering the templates. The module object must contain the compile() function + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#serverviewsoptions} > options > engines > module + */ +interface NpmModule { + /** the rendering function. The required function signature depends on the compileMode settings */ + compile: ServerViewCompile + /** initializes additional engine state. The config object is the engine configuration object allowing updates to be made. This is useful for engines like Nunjucks that rely on additional state for rendering. next has the signature function(err). */ + prepare(config: EngineConfigurationObject, next: (err?: Error) => void): void; + /** registers a partial for use during template rendering. The name is the partial path that templates should use to reference the partial and src is the uncompiled template string for the partial. */ + registerPartial(name: string, src: string): void; + /** registers a helper for use during template rendering. The name is the name that templates should use to reference the helper and helper is the function that will be invoked when the helper is called. */ + registerHelper(name: string, helper: Function): void; +} +export interface EngineConfigurationObject {} + +/** + * Renders a template + * @param template - the template filename and path, relative to the views manager templates path (path or relativeTo). + * @param context - optional object used by the template to render context-specific result. Defaults to no context ({}). + * @param options - optional object used to override the views manager configuration. + * @param callback - the callback function with signature function (err, rendered, config) where: + * * err - the rendering error if any. + * * rendered - the result view string or undefined if error. + * * config - the configuration used to render the template or undefined if error. + * If no `callback` is provided, a `Promise` object is returned. The returned promise is resolved with only the rendered content and not the configuration object. + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#serverrendertemplate-context-options-callback} + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#managerrendertemplate-context-options-callback} + */ +interface RenderMethod { + (template: string, context?: any, options?: ServerViewsAdditionalOptions, callback?: RenderCallBack): void; + (template: string, context?: any, options?: ServerViewsAdditionalOptions): Promise; +} +export interface RenderCallBack { + (err: null | Error, rendered?: string, options?: ServerViewsAdditionalOptions): void; +} + +/** + * View Manager + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#view-manager} + */ +export interface ViewManager { + /** + * Registers a helper, on all configured engines that have a registerHelper() method, for use during template rendering. Engines without a registerHelper() method will be skipped. The name is the name that templates should use to reference the helper and helper is the function that will be invoked when the helper is called. + * @param name + * @param helper + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#managerregisterhelpername-helper} + */ + registerHelper(name: string, helper: Function): void; + /** + * Renders a template. This is typically not needed and it is usually more convenient to use server.render(). + * @see {@link https://github.com/hapijs/vision/blob/master/API.md#managerrendertemplate-context-options-callback} + */ + render: RenderMethod; +} + +// Has no plugin registration options +declare var visionPlugin: Hapi.PluginFunction<{}>; + +export default visionPlugin; diff --git a/types/hapi/vision/vision-tests.ts b/types/hapi/vision/vision-tests.ts new file mode 100644 index 0000000000..0dbe51ca40 --- /dev/null +++ b/types/hapi/vision/vision-tests.ts @@ -0,0 +1,126 @@ + +import * as Hapi from 'hapi'; +import Vision from './index'; +const server = new Hapi.Server(); +server.connection({ port: 80 }); + +// https://github.com/hapijs/vision/blob/master/API.md#serverrendertemplate-context-options-callback + +server.register(Vision, (err) => { + + if (err) { + throw err; + } + + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + + const context = { + title: 'Views Example', + message: 'Hello, World' + }; + + server.render('hello', context, {}, (err, rendered, config) => { + + console.log(rendered); + }); + + // https://github.com/hapijs/vision/blob/master/API.md#requestrendertemplate-context-options-callback + + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + + server.route({ + method: 'GET', + path: '/view', + handler: function (request, reply) { + + request.render('test', { message: 'hello' }, {}, (err, rendered, config) => { + + return reply(rendered); + }); + } + }); + + // https://github.com/hapijs/vision/blob/master/API.md#the-view-handler + + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + + server.route({ + method: 'GET', + path: '/', + handler: { + view: { + template: 'hello', + context: { + title: 'Views Example', + message: 'Hello, World' + } + } + } + }); + + // https://github.com/hapijs/vision/blob/master/API.md#replyviewtemplate-context-options + + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + + const handler: Hapi.RouteHandler = function (request, reply) { + + const context = { + title: 'Views Example', + message: 'Hello, World' + }; + + return reply.view('hello', context); + }; + + server.route({ method: 'GET', path: '/', handler: handler }); + +}); + +// Extending CompileOptions or RuntimeOptions interfaces + +server.register(Vision, (err) => { + + if (err) { + throw err; + } + + server.views({ + engines: { html: require('handlebars') }, + path: __dirname + '/templates' + }); + + var opts: Hapi.CompileOptions = { + noEscape: true + }; + + server.route({ + method: 'GET', + path: '/temp1', + handler: { + view: { + template: 'temp1', + options: { + compileOptions: opts + } + } + } + }); +}); + +declare module 'hapi' { + interface CompileOptions { + noEscape: boolean; + } +} diff --git a/types/inert/index.d.ts b/types/inert/index.d.ts index cb9b8e8edb..5e27881a3f 100644 --- a/types/inert/index.d.ts +++ b/types/inert/index.d.ts @@ -6,9 +6,7 @@ import * as hapi from 'hapi'; declare module 'hapi' { - interface IFileHandler { - /** path - a path string or function as described above (required). */ - path: string | IRequestHandler; + interface FileHandlerOptions { /** confine - serve file relative to this directory and returns 403 Forbidden if the path resolves outside the confine directory. Defaults to true which uses the relativeTo route option as the confine. Set to false to disable this security feature. */ confine?: boolean; /** filename - an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path */ @@ -37,13 +35,18 @@ declare module 'hapi' { end?: number; } - interface IDirectoryHandler { + interface FileHandlerObject extends FileHandlerOptions { + /** path - a path string or function as described above (required). */ + path: string | RequestHandler; + } + + interface DirectoryHandlerObject { /** path - (required) the directory root path (relative paths are resolved based on the route files configuration). Value can be: * * a single path string used as the prefix for any resources requested by appending the request path parameter to the provided string. * * an array of path strings. Each path will be attempted in order until a match is found (by following the same process as the single path string). * * a function with the signature function(request) which returns the path string or an array of path strings. If the function returns an error, the error is passed back to the client in the response. */ - path: string | string[] | IRequestHandler; + path: string | string[] | RequestHandler; /** index - optional boolean|string|string[], determines if an index file will be served if found in the folder when requesting a directory. The given string or strings specify the name(s) of the index file to look for. If true, looks for 'index.html'. Any falsy value disables index file lookup. Defaults to true. */ index?: boolean | string | string[]; /** listing - optional boolean, determines if directory listing is generated when a directory is requested without an index document. Defaults to false. */ @@ -65,23 +68,47 @@ declare module 'hapi' { defaultExtension?: string; } - interface IRouteConfiguration { + interface RouteHandlerPlugins { /** * The file handler * * Generates a static file endpoint for serving a single file. file can be set to: * * a relative or absolute file path string (relative paths are resolved based on the route files configuration). * * a function with the signature function(request) which returns the relative or absolute file path. - * * an object with one or more of the following options: + * * an object with one or more of the following options @see IFileHandler * @see {@link https://github.com/hapijs/inert#the-file-handler} */ - file?: string | IRequestHandler | IFileHandler; + file?: string | RequestHandler | FileHandlerObject; /** * The directory handler * * Generates a directory endpoint for serving static content from a directory. Routes using the directory handler must include a path parameter at the end of the path string (e.g. /path/to/somewhere/{param} where the parameter name does not matter). The path parameter can use any of the parameter options (e.g. {param} for one level files only, {param?} for one level files or the directory root, {param*} for any level, or {param*3} for a specific level). If additional path parameters are present, they are ignored for the purpose of selecting the file system resource. The directory handler is an object with the following options: * @see {@link https://github.com/hapijs/inert#the-directory-handler} */ - directory?: IDirectoryHandler; + directory?: DirectoryHandlerObject; } + + interface Base_Reply { + /** + * Transmits a file from the file system. The 'Content-Type' header defaults to the matching mime type based on filename extension. + * @see {@link https://github.com/hapijs/inert#replyfilepath-options} + */ + file: (path: string, options?: FileHandlerOptions) => Response; + } + } + +/** + * inert accepts the following registration options + * @see {@link https://github.com/hapijs/inert#registration-options} + */ +interface OptionalRegistrationOptions { + /** + * sets the maximum number of file etag hash values stored in the etags cache. Defaults to 10000. + */ + etagsCacheMaxSize?: number; +} + +declare var inertPlugin: hapi.PluginFunction; + +export default inertPlugin; diff --git a/types/inert/inert-tests.ts b/types/inert/inert-tests.ts index 38830694cd..177808817c 100644 --- a/types/inert/inert-tests.ts +++ b/types/inert/inert-tests.ts @@ -1,28 +1,43 @@ import * as HapiES6 from 'hapi'; -import * as InertES6 from 'inert'; +import InertES6 from 'inert'; const server = new HapiES6.Server({}); -server.register(InertES6, () => {}); +server.register(InertES6, {}, (err) => {}); + +// added in addition to code from docs +server.register({ + register: InertES6, + options: {etagsCacheMaxSize: 400}, +}, (err) => {}); + +// added in addition to code from docs +server.register({ + register: InertES6, + once: true, +}, (err) => {}); server.route({ path: '', method: 'GET', - file: { - path: '', - confine: true, + handler: { + file: { + path: '', + confine: true, + }, + directory: { + path: '', + listing: true + }, }, - directory: { - path: '', - listing: true - } + config: { files: { relativeTo: __dirname } } }) -var fileHandler: HapiES6.IFileHandler = { +var fileHandler: HapiES6.FileHandlerObject = { path: '', confine: true, } -var directoryHandler: HapiES6.IDirectoryHandler = { +var directoryHandler: HapiES6.DirectoryHandlerObject = { path: function(){ if(Math.random() > 0.5) { return ''; @@ -34,3 +49,29 @@ var directoryHandler: HapiES6.IDirectoryHandler = { }, listing: true, } + +server.route({ + method: 'GET', + path: '/file', + handler: function (request, reply) { + + let path = 'plain.txt'; + if (request.headers['x-magic'] === 'sekret') { + path = 'awesome.png'; + } + + return reply.file(path).vary('x-magic'); + } +}); + +server.ext('onPostHandler', function (request: HapiES6.Request, reply: HapiES6.ReplyWithContinue) { + + const response = request.response; + if (response.isBoom && + response.output!.statusCode === 404) { + + return reply.file('404.html').code(404); + } + + return reply.continue(); +}); From ae60b8ca46d277d558d74afe2e03ab55f57d16b5 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 15:04:37 +0100 Subject: [PATCH 02/70] Move hapi dependencies to own modules catbox, h2o2, mime-db, mimos, podium, shot, vision Add tests where possible. Add note regarding apparent failure of some nested object literals to enforce typings --- types/boom/index.d.ts | 2 - types/boom/tsconfig.json | 4 +- types/{hapi => }/catbox/index.d.ts | 2 - types/catbox/tsconfig.json | 21 +++ types/h2o2/h2o2-tests.ts | 165 ++++++++++++++++++ types/h2o2/index.d.ts | 89 ++++++++++ types/h2o2/tsconfig.json | 22 +++ types/hapi/h2o2/h2o2-tests.ts | 64 ------- types/hapi/h2o2/index.d.ts | 75 -------- types/hapi/index.d.ts | 56 +++++- types/hapi/json/index.d.ts | 17 -- types/hapi/json/json-tests.ts | 8 - types/hapi/shot/index.d.ts | 109 ------------ .../tests/response/error-representation.ts | 4 +- types/hapi/tests/response/events.ts | 2 +- types/hapi/tsconfig.json | 15 +- types/inert/index.d.ts | 47 ++--- types/inert/inert-tests.ts | 129 ++++++++++---- types/inert/tsconfig.json | 2 +- types/{hapi => }/mime-db/index.d.ts | 2 - types/mime-db/tsconfig.json | 21 +++ types/{hapi => }/mimos/index.d.ts | 4 +- types/mimos/tsconfig.json | 21 +++ types/{hapi => }/podium/index.d.ts | 14 +- types/podium/podium-tests.ts | 33 ++++ types/podium/tsconfig.json | 22 +++ types/shot/index.d.ts | 113 ++++++++++++ types/shot/shot-tests.ts | 29 +++ types/shot/tsconfig.json | 22 +++ types/{hapi => }/vision/index.d.ts | 5 + types/vision/tsconfig.json | 22 +++ types/{hapi => }/vision/vision-tests.ts | 0 32 files changed, 768 insertions(+), 373 deletions(-) rename types/{hapi => }/catbox/index.d.ts (99%) create mode 100644 types/catbox/tsconfig.json create mode 100644 types/h2o2/h2o2-tests.ts create mode 100644 types/h2o2/index.d.ts create mode 100644 types/h2o2/tsconfig.json delete mode 100644 types/hapi/h2o2/h2o2-tests.ts delete mode 100644 types/hapi/h2o2/index.d.ts delete mode 100644 types/hapi/json/index.d.ts delete mode 100644 types/hapi/json/json-tests.ts delete mode 100644 types/hapi/shot/index.d.ts rename types/{hapi => }/mime-db/index.d.ts (93%) create mode 100644 types/mime-db/tsconfig.json rename types/{hapi => }/mimos/index.d.ts (91%) create mode 100644 types/mimos/tsconfig.json rename types/{hapi => }/podium/index.d.ts (97%) create mode 100644 types/podium/podium-tests.ts create mode 100644 types/podium/tsconfig.json create mode 100644 types/shot/index.d.ts create mode 100644 types/shot/shot-tests.ts create mode 100644 types/shot/tsconfig.json rename types/{hapi => }/vision/index.d.ts (98%) create mode 100644 types/vision/tsconfig.json rename types/{hapi => }/vision/vision-tests.ts (100%) diff --git a/types/boom/index.d.ts b/types/boom/index.d.ts index bb2f5e4bc0..4d9d0b3a5b 100644 --- a/types/boom/index.d.ts +++ b/types/boom/index.d.ts @@ -3,8 +3,6 @@ // Definitions by: Igor Rogatty , AJP // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/// - export = Boom; declare namespace Boom { diff --git a/types/boom/tsconfig.json b/types/boom/tsconfig.json index d64d51130b..1ad2b9c1f3 100644 --- a/types/boom/tsconfig.json +++ b/types/boom/tsconfig.json @@ -6,12 +6,12 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" ], - "types": [], + "types": ["node"], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/hapi/catbox/index.d.ts b/types/catbox/index.d.ts similarity index 99% rename from types/hapi/catbox/index.d.ts rename to types/catbox/index.d.ts index 013997cfaf..e832f58446 100644 --- a/types/hapi/catbox/index.d.ts +++ b/types/catbox/index.d.ts @@ -1,5 +1,3 @@ -// TODO needs tests -// TODO move to own definition // Type definitions for catbox 7.1 // Project: https://github.com/hapijs/catbox // Definitions by: Jason Swearingen , AJP diff --git a/types/catbox/tsconfig.json b/types/catbox/tsconfig.json new file mode 100644 index 0000000000..3bc13b0278 --- /dev/null +++ b/types/catbox/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts" + ] +} \ No newline at end of file diff --git a/types/h2o2/h2o2-tests.ts b/types/h2o2/h2o2-tests.ts new file mode 100644 index 0000000000..f8e88c5c9b --- /dev/null +++ b/types/h2o2/h2o2-tests.ts @@ -0,0 +1,165 @@ +import http = require("http"); +import * as Boom from 'boom'; +import * as Hapi from 'hapi'; +import * as Wreck from 'wreck'; +import h2o2 = require('h2o2'); + +// https://github.com/hapijs/h2o2#manual-loading + +const server = new Hapi.Server({}); + +server.register({ + register: h2o2 +}, function (err) { + + if (err) { + console.log('Failed to load h2o2'); + } + + server.start(function (err) { + + console.log('Server started at: ' + server.info!.uri); + }); +}); + +// https://github.com/hapijs/h2o2#replyproxyoptions + +const handler: Hapi.RouteHandler = function (request, reply) { + + return reply.proxy({ host: 'example.com', port: 80, protocol: 'http' }); +}; + +// https://github.com/hapijs/h2o2#using-the-host-port-protocol-options + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + host: '10.33.33.1', + port: '443', + protocol: 'https' + } + } +}); + +// https://github.com/hapijs/h2o2#using-the-uri-option + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + uri: 'https://some.upstream.service.com/that/has?what=you&want=todo' + } + } +}); + +// https://github.com/hapijs/h2o2#custom-uri-template-values + +server.route({ + method: 'GET', + path: '/foo', + handler: { + proxy: { + uri: '{protocol}://{host}:{port}/go/to/{path}' + } + } +}); + +server.route({ + method: 'GET', + path: '/foo/{bar}', + handler: { + proxy: { + uri: 'https://some.upstream.service.com/some/path/to/{bar}' + } + } +}); + +// https://github.com/hapijs/h2o2#using-the-mapuri-and-onresponse-options + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + mapUri: function (request, callback) { + + console.log('doing some aditional stuff before redirecting'); + callback(null, 'https://some.upstream.service.com/'); + }, + onResponse: function (err, res, request, reply, settings, ttl) { + + console.log('receiving the response from the upstream.'); + Wreck.read(res, { json: true }, function (err, payload) { + + console.log('some payload manipulation if you want to.') + reply(payload).headers = res.headers; + }); + } + } + } +}); + +/** + * test code added in additional to code in docs. Demonstrates that for the moment + * you need flat + * objects with typing along the way to benefit from typescript catching + * misspelt, or unsupported keys. + * This is because of an unknown reason. Expecting this to work because: + * "Object literals get special treatment and undergo excess + * property checking when assigning them to other variables, or passing them + * as arguments", see github.com/Microsoft/TypeScript + */ + +var proxyOptions: h2o2.ProxyHandlerOptions = { + host: '10.33.33.1', + port: '443', + protocol: 'https' // errors correctly if misspelt +} + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + host: '10.33.33.1', + port: '443', + BAD_protocol: 'https' // TODO change typings to fix this / submit bug report + } + } +}) + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + uri: 'https://some.upstream.service.com/that/has?what=you&want=todo' + } + } +}) + +server.route({ + method: 'GET', + path: '/', + handler: { + proxy: { + mapUri: function (request: Hapi.Request, callback: (err: null | Boom.BoomError, value: string) => void) { + + console.log('doing some aditional stuff before redirecting'); + callback(null, 'https://some.upstream.service.com/'); + }, + onResponse: function (err: null | Boom.BoomError, res: http.IncomingMessage, request: Hapi.Request, reply: Hapi.ReplyWithContinue, settings: h2o2.ProxyHandlerOptions, ttl: number) { + + console.log('receiving the response from the upstream.'); + Wreck.read(res, { json: true }, function (err: null | Boom.BoomError, payload: any) { + + console.log('some payload manipulation if you want to.') + reply(payload).headers = res.headers; + }); + } + } + } +}); diff --git a/types/h2o2/index.d.ts b/types/h2o2/index.d.ts new file mode 100644 index 0000000000..d15eb90cec --- /dev/null +++ b/types/h2o2/index.d.ts @@ -0,0 +1,89 @@ +// Type definitions for h2o2 5.4 +// Project: https://github.com/hapijs/catbox +// Definitions by: Jason Swearingen , AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import http = require("http"); +import * as hapi from 'hapi'; +import * as Boom from 'boom'; + +declare namespace H2o2 { + /** Proxy handler options */ + export interface ProxyHandlerOptions { + /** host - upstream service host to proxy requests to. It will have the same path as the client request. */ + host?: string; + /** port - upstream service port. */ + port?: number | string; + /** protocol - protocol to use when making the request to the proxied host: */ + protocol?: 'http' | 'https'; + /** uri - absolute URI used instead of host, port, protocol, path, and query. Cannot be used with host, port, protocol, or mapUri. */ + uri?: string; + /** passThrough - if set to true, it forwards the headers from the client to the upstream service, headers sent from the upstream service will also be forwarded to the client. Defaults to false. */ + passThrough?: boolean; + /** localStatePassThrough - if set tofalse, any locally defined state is removed from incoming requests before being sent to the upstream service. This value can be overridden on a per state basis via the server.state()``passThrough option. Defaults to false */ + localStatePassThrough?: boolean; + /** acceptEncoding - if set to false, does not pass-through the 'Accept-Encoding' HTTP header which is useful for the onResponse post-processing to avoid receiving an encoded response. Can only be used together with passThrough. Defaults to true (passing header). */ + acceptEncoding?: boolean; + /** rejectUnauthorized - sets the rejectUnauthorized property on the https agent making the request. This value is only used when the proxied server uses TLS/SSL. If set it will override the node.js rejectUnauthorized property. If false then ssl errors will be ignored. When true the server certificate is verified and an 500 response will be sent when verification fails. This shouldn't be used alongside the agent setting as the agent will be used instead. Defaults to the https agent default value of true. */ + rejectUnauthorized?: boolean; + /** xforward - if set to true, sets the 'X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto', 'X-Forwarded-Host' headers when making a request to the proxied upstream endpoint. Defaults to false. */ + xforward?: boolean; + /** redirects - the maximum number of HTTP redirections allowed to be followed automatically by the handler. Set to false or 0 to disable all redirections (the response will contain the redirection received from the upstream service). If redirections are enabled, no redirections (301, 302, 307, 308) will be passed along to the client, and reaching the maximum allowed redirections will return an error response. Defaults to false. */ + redirects?: number | false; + /** timeout - number of milliseconds before aborting the upstream request. Defaults to 180000 (3 minutes). */ + timeout?: number; + /** mapUri - a function used to map the request URI to the proxied URI. Cannot be used together with host, port, protocol, or uri. The function signature is function (request, callback) where: + * @param request - is the incoming request object. + * @param callback - is function (err, uri, headers) where: + * @param err - internal error condition. TODO: check this is of type BoomError or just Error. + * @param uri - the absolute proxy URI. + * @param headers - optional object where each key is an HTTP request header and the value is the header content. + */ + mapUri?: (request: hapi.Request, callback: (err: null | Boom.BoomError, uri: string, headers?: { [key: string]: string }) => void) => void; + /** + * onResponse - a custom function for processing the response from the upstream service before sending to the client. Useful for custom error handling of responses from the proxied endpoint or other payload manipulation. Function signature is function (err, res, request, reply, settings, ttl) where: + * @param err - internal or upstream error returned from attempting to contact the upstream proxy. TODO: check this is of type BoomError or just Error. + * @param res - the node response object received from the upstream service. res is a readable stream (use the wreck module read method to easily convert it to a Buffer or string). + * @param request - is the incoming request object. + * @param reply - the reply interface function. + * @param settings - the proxy handler configuration. + * @param ttl - the upstream TTL in milliseconds if proxy.ttl it set to 'upstream' and the upstream response included a valid 'Cache-Control' header with 'max-age'. + */ + onResponse?: (err: null | Boom.BoomError, + res: http.IncomingMessage, + req: hapi.Request, + reply: hapi.ReplyWithContinue, // TODO, check it has continue + settings: ProxyHandlerOptions, + ttl: number) => void; + /** ttl - if set to 'upstream', applies the upstream response caching policy to the response using the response.ttl() method (or passed as an argument to the onResponse method if provided). */ + ttl?: 'upstream'; + /** agent - a node http(s) agent to be used for connections to upstream server. @see {@link https://nodejs.org/api/http.html#http_class_http_agent} */ + agent?: http.Agent; + /** maxSockets - sets the maximum number of sockets available per outgoing proxy host connection. false means use the wreck module default value (Infinity). Does not affect non-proxy outgoing client connections. Defaults to Infinity. */ + maxSockets?: false | number; + } +} + +declare module 'hapi' { + /** + * As one of the handlers for hapi, it is used through the route configuration object. + * [see docs](https://github.com/hapijs/h2o2#usage) + */ + interface RouteHandlerPlugins { + proxy?: H2o2.ProxyHandlerOptions; + } + + interface Base_Reply { + /** + * Proxies the request to an upstream endpoint + * @param options an object including the same keys and restrictions defined by the [route proxy handler options](https://github.com/hapijs/h2o2#options). + * [see docs](https://github.com/hapijs/h2o2#replyproxyoptions) + */ + proxy(options: H2o2.ProxyHandlerOptions): void; + } +} + +declare var H2o2: hapi.PluginFunction<{}>; + +export = H2o2; diff --git a/types/h2o2/tsconfig.json b/types/h2o2/tsconfig.json new file mode 100644 index 0000000000..1abbac7fb0 --- /dev/null +++ b/types/h2o2/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "h2o2-tests.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/h2o2/h2o2-tests.ts b/types/hapi/h2o2/h2o2-tests.ts deleted file mode 100644 index 981f712593..0000000000 --- a/types/hapi/h2o2/h2o2-tests.ts +++ /dev/null @@ -1,64 +0,0 @@ -import http = require("http"); -import * as Boom from 'boom'; -import * as Hapi from 'hapi'; -import * as Wreck from 'wreck'; -import * as h2o2 from './index'; - -// const handler = function (request: Hapi.Request, reply: Hapi.IReply) { -// return reply.proxy({ host: 'example.com', port: 80, protocol: 'http' }); -// }; - -const server = new Hapi.Server({}); - -var proxyOptions: h2o2.ProxyHandlerOptions = { - host: '10.33.33.1', - port: '443', - protocol: 'https' -}; -var routeConfig: Hapi.RouteConfiguration = { - method: 'GET', - path: '/', - handler: { - proxy: proxyOptions - } -}; -server.route({ - method: 'GET', - path: '/', - handler: { - proxy: proxyOptions - } -}); - -server.route({ - method: 'GET', - path: '/', - handler: { - proxy: { - uri: 'https://some.upstream.service.com/that/has?what=you&want=todo' - } - } -}); - -server.route({ - method: 'GET', - path: '/', - handler: { - proxy: { - mapUri: function (request: Hapi.Request, callback: (err: null | Boom.BoomError, value: string) => void) { - - console.log('doing some aditional stuff before redirecting'); - callback(null, 'https://some.upstream.service.com/'); - }, - onResponse: function (err: null | Boom.BoomError, res: http.IncomingMessage, request: Hapi.Request, reply: Hapi.ReplyWithContinue, settings: h2o2.ProxyHandlerOptions, ttl: number) { - - console.log('receiving the response from the upstream.'); - Wreck.read(res, { json: true }, function (err: null | Boom.BoomError, payload: any) { - - console.log('some payload manipulation if you want to.') - reply(payload).headers = res.headers; - }); - } - } - } -}); diff --git a/types/hapi/h2o2/index.d.ts b/types/hapi/h2o2/index.d.ts deleted file mode 100644 index 9ff4bd1f70..0000000000 --- a/types/hapi/h2o2/index.d.ts +++ /dev/null @@ -1,75 +0,0 @@ -// TODO move to own definition -// Type definitions for h2o2 5.4 -// Project: https://github.com/hapijs/catbox -// Definitions by: Jason Swearingen , AJP -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.2 - -import http = require("http"); -import * as hapi from 'hapi'; -import * as Boom from 'boom'; - -/** Proxy handler options */ -export interface ProxyHandlerOptions { - /** host - upstream service host to proxy requests to. It will have the same path as the client request. */ - host?: string; - /** port - upstream service port. */ - port?: string; - /** protocol - protocol to use when making the request to the proxied host: */ - protocol?: 'http' | 'https'; - /** uri - absolute URI used instead of host, port, protocol, path, and query. Cannot be used with host, port, protocol, or mapUri. */ - uri?: string; - /** passThrough - if set to true, it forwards the headers from the client to the upstream service, headers sent from the upstream service will also be forwarded to the client. Defaults to false. */ - passThrough?: boolean; - /** localStatePassThrough - if set tofalse, any locally defined state is removed from incoming requests before being sent to the upstream service. This value can be overridden on a per state basis via the server.state()``passThrough option. Defaults to false */ - localStatePassThrough?: boolean; - /** acceptEncoding - if set to false, does not pass-through the 'Accept-Encoding' HTTP header which is useful for the onResponse post-processing to avoid receiving an encoded response. Can only be used together with passThrough. Defaults to true (passing header). */ - acceptEncoding?: boolean; - /** rejectUnauthorized - sets the rejectUnauthorized property on the https agent making the request. This value is only used when the proxied server uses TLS/SSL. If set it will override the node.js rejectUnauthorized property. If false then ssl errors will be ignored. When true the server certificate is verified and an 500 response will be sent when verification fails. This shouldn't be used alongside the agent setting as the agent will be used instead. Defaults to the https agent default value of true. */ - rejectUnauthorized?: boolean; - /** xforward - if set to true, sets the 'X-Forwarded-For', 'X-Forwarded-Port', 'X-Forwarded-Proto', 'X-Forwarded-Host' headers when making a request to the proxied upstream endpoint. Defaults to false. */ - xforward?: boolean; - /** redirects - the maximum number of HTTP redirections allowed to be followed automatically by the handler. Set to false or 0 to disable all redirections (the response will contain the redirection received from the upstream service). If redirections are enabled, no redirections (301, 302, 307, 308) will be passed along to the client, and reaching the maximum allowed redirections will return an error response. Defaults to false. */ - redirects?: number | false; - /** timeout - number of milliseconds before aborting the upstream request. Defaults to 180000 (3 minutes). */ - timeout?: number; - /** mapUri - a function used to map the request URI to the proxied URI. Cannot be used together with host, port, protocol, or uri. The function signature is function (request, callback) where: - * @param request - is the incoming request object. - * @param callback - is function (err, uri, headers) where: - * @param err - internal error condition. TODO: check this is of type BoomError or just Error. - * @param uri - the absolute proxy URI. - * @param headers - optional object where each key is an HTTP request header and the value is the header content. - */ - mapUri?: (request: hapi.Request, callback: (err: null | Boom.BoomError, uri: string, headers?: { [key: string]: string }) => void) => void; - /** - * onResponse - a custom function for processing the response from the upstream service before sending to the client. Useful for custom error handling of responses from the proxied endpoint or other payload manipulation. Function signature is function (err, res, request, reply, settings, ttl) where: - * @param err - internal or upstream error returned from attempting to contact the upstream proxy. TODO: check this is of type BoomError or just Error. - * @param res - the node response object received from the upstream service. res is a readable stream (use the wreck module read method to easily convert it to a Buffer or string). - * @param request - is the incoming request object. - * @param reply - the reply interface function. - * @param settings - the proxy handler configuration. - * @param ttl - the upstream TTL in milliseconds if proxy.ttl it set to 'upstream' and the upstream response included a valid 'Cache-Control' header with 'max-age'. - */ - onResponse?: (err: null | Boom.BoomError, - res: http.IncomingMessage, - req: hapi.Request, - reply: hapi.ReplyWithContinue, // TODO, check it has continue - settings: ProxyHandlerOptions, - ttl: number) => void; - /** ttl - if set to 'upstream', applies the upstream response caching policy to the response using the response.ttl() method (or passed as an argument to the onResponse method if provided). */ - ttl?: 'upstream'; - /** agent - a node http(s) agent to be used for connections to upstream server. @see {@link https://nodejs.org/api/http.html#http_class_http_agent} */ - agent?: http.Agent; - /** maxSockets - sets the maximum number of sockets available per outgoing proxy host connection. false means use the wreck module default value (Infinity). Does not affect non-proxy outgoing client connections. Defaults to Infinity. */ - maxSockets?: false | number; -} - -declare module 'hapi' { - interface RouteHandlerPlugins { - /** - * the Proxy Handler - * @see {@link https://github.com/hapijs/h2o2#replyproxyoptions} - */ - proxy?: ProxyHandlerOptions; - } -} diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 2f555f68d2..2ef76367dd 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -22,7 +22,6 @@ * Renaming of all interfaces to remove preceding I in preparation of dtslint */ - import Events = require("events"); import stream = require("stream"); import http = require("http"); @@ -37,11 +36,10 @@ import { Schema as JoiValidationObject, } from 'joi'; -import * as Catbox from './catbox'; -import {MimosOptions} from './mimos'; -import * as Podium from './podium'; -import * as Json from './json'; -import * as Shot from './shot'; +import * as Catbox from 'catbox'; +import {MimosOptions} from 'mimos'; +import * as Podium from 'podium'; +import * as Shot from 'shot'; export interface Dictionary { [key: string]: T; @@ -1018,8 +1016,9 @@ interface ApplicationEventOptionsObject { * The route configuration object * * [See docs](https://hapijs.com/api/16.1.1#route-configuration) + * + * TODO typings check that the following refers to RouteAdditionalConfigurationOptions "Note that the options object is deeply cloned (with the exception of bind which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on." */ -// TODO check that the following refers to RouteAdditionalConfigurationOptions "Note that the options object is deeply cloned (with the exception of bind which is shallowly copied) and cannot contain any values that are unsafe to perform deep copy on." export interface RouteConfiguration { /** the absolute path used to match incoming requests (must begin with '/'). Incoming requests are compared to the configured paths based on the connection router configuration option. The path can include named parameters enclosed in {} which will be matched against literal values in the request as described in Path parameters. */ path: string; @@ -2535,3 +2534,46 @@ export interface PluginRegistrationOptions { routes?: {prefix?: string, vhost?: string | string[]}; select?: string | string[]; } + +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JSON + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */ +// This was in a seperate file and perhaps should move to some of the lib typings? +// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/16065#issuecomment-299443673 +// +// json/json-tests.ts +// +// import * as JSON from './index'; +// +// var a: JSON.StringifyReplacer = function(key, value) { +// if (key === "do not include") { +// return undefined; +// } +// return value; +// }; +// + +export module Json { + /** + * @see {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter} + */ + export type StringifyReplacer = ((key: string, value: any) => any) | (string | number)[] | undefined; + + /** + * Any value greater than 10 is truncated. + */ + export type StringifySpace = number | string; + + export interface StringifyArguments { + /** the replacer function or array. Defaults to no action. */ + replacer?: StringifyReplacer; + /** number of spaces to indent nested object keys. Defaults to no indentation. */ + space?: StringifySpace; + } +} diff --git a/types/hapi/json/index.d.ts b/types/hapi/json/index.d.ts deleted file mode 100644 index 6febf05c6a..0000000000 --- a/types/hapi/json/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ - -/** - * @see {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter} - */ -export type StringifyReplacer = ((key: string, value: any) => any) | (string | number)[] | undefined; - -/** - * Any value greater than 10 is truncated. - */ -export type StringifySpace = number | string; - -export interface StringifyArguments { - /** the replacer function or array. Defaults to no action. */ - replacer?: StringifyReplacer; - /** number of spaces to indent nested object keys. Defaults to no indentation. */ - space?: StringifySpace; -} diff --git a/types/hapi/json/json-tests.ts b/types/hapi/json/json-tests.ts deleted file mode 100644 index cbe9529b83..0000000000 --- a/types/hapi/json/json-tests.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as JSON from './index'; - -var a: JSON.StringifyReplacer = function(key, value) { - if (key === "do not include") { - return undefined; - } - return value; -}; diff --git a/types/hapi/shot/index.d.ts b/types/hapi/shot/index.d.ts deleted file mode 100644 index 8bace851f1..0000000000 --- a/types/hapi/shot/index.d.ts +++ /dev/null @@ -1,109 +0,0 @@ -// TODO needs tests -// TODO move to own definition -// Type definitions for shot 3.4 -// Project: https://github.com/hapijs/shot -// Definitions by: AJP -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.2 - -import * as Http from 'http'; -import * as Stream from 'stream'; - -export interface Shot { - /** - * Injects a fake request into an HTTP server. - * @param dispatchFunc listener function. The same as you would pass to Http.createServer when making a node HTTP server. @see IListener - * @param options request options object @see RequestOptions - * @param callback the callback function @see Callback - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} - */ - inject(dispatchFunc: Listener, options: RequestOptions, callback: (res: ResponseObject) => void): void; - - /** - * Checks if given object obj is a Shot Request object. - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotisinjectionobj} - */ - isInjection(obj: any): boolean; -} - -/** - * listener function. The same as you would pass to Http.createServer when making a node HTTP server. Has the signature function (req, res) where: - * * req - a simulated request object. Inherits from Stream.Readable. - * * res - a simulated response object. Inherits from node's Http.ServerResponse. - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} - */ -export interface Listener { - (req: SimulatedRequestObject, res: SimulatedResponseObject): void; -} - -/** - * a simulated request object. Inherits from Stream.Readable. - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} - */ -interface SimulatedRequestObject extends Stream.Readable {} - -/** - * a simulated response object. Inherits from node's Http.ServerResponse. - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} - */ -interface SimulatedResponseObject extends Http.ServerResponse {} - -/** - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} - */ -export interface RequestOptions { - /** a string specifying the request URL. */ - url: string; - /** a string specifying the HTTP request method, defaulting to 'GET'. */ - method?: string; - /** a string specifying the HTTP HOST header value to be used if no header is provided, and the url does not include an authority component. Defaults to 'localhost'. */ - authority?: string; - /** an optional object containing request headers. */ - headers?: Headers; - /** an optional string specifying the client remote address. Defaults to '127.0.0.1'. */ - remoteAddress?: string; - /** an optional request payload. Can be a string, Buffer, Stream or object. */ - payload?: string | Buffer | Stream.Stream | {[key: string]: any}; - /** an object containing flags to simulate various conditions: */ - simulate?: { - /** indicates whether the request will fire an end event. Defaults to undefined, meaning an end event will fire. */ - end?: boolean; - /** indicates whether the request payload will be split into chunks. Defaults to `undefined`, meaning payload will not be chunked. */ - split?: boolean; - /** whether the request will emit an error event. Defaults to undefined, meaning no error event will be emitted. If set to true, the emitted error will have a message of 'Simulated'. */ - error?: boolean; - /** whether the request will emit a close event. Defaults to undefined, meaning no close event will be emitted. */ - close?: boolean; - } - /** Optional flag to validate this options object. Defaults to true. */ - validate?: boolean; -} - -interface Headers { - [header: string]: string; -} - -/** - * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} - */ -export interface ResponseObject { - /** an object containing the raw request and response objects where: */ - raw: { - /** the simulated request object. */ - req: SimulatedRequestObject; - /** the simulated response object. */ - res: SimulatedResponseObject; - }; - /** an object containing the response headers. */ - headers: Headers; - /** the HTTP status code. */ - statusCode: number; - /** the HTTP status message. */ - statusMessage: string; - /** the payload as a UTF-8 encoded string. */ - payload: string; - /** the raw payload as a Buffer. */ - rawPayload: Buffer; - /** an object containing the response trailers. */ - trailers: {[index: string]: any}; -} diff --git a/types/hapi/tests/response/error-representation.ts b/types/hapi/tests/response/error-representation.ts index 8b9b1099f9..f0fb62eb30 100644 --- a/types/hapi/tests/response/error-representation.ts +++ b/types/hapi/tests/response/error-representation.ts @@ -2,7 +2,7 @@ // From https://hapijs.com/api/16.1.1#error-transformation import * as Hapi from 'hapi'; -import Vision from '../../vision'; +import Vision from 'vision'; const server = new Hapi.Server(); server.register(Vision, {}, (err) => { server.views({ @@ -15,7 +15,7 @@ server.connection({ port: 80 }); const preResponse: Hapi.ServerExtRequestHandler = function (request, reply) { - const response = request.response; + const response = request.response!; if (!response.isBoom) { return reply.continue(); } diff --git a/types/hapi/tests/response/events.ts b/types/hapi/tests/response/events.ts index 6f927ce5f7..2d1658087b 100644 --- a/types/hapi/tests/response/events.ts +++ b/types/hapi/tests/response/events.ts @@ -8,7 +8,7 @@ server.connection({ port: 80 }); const preResponse: Hapi.ServerExtRequestHandler = function (request, reply) { - const response = request.response; + const response = request.response!; if (response.isBoom) { return reply(); } diff --git a/types/hapi/tsconfig.json b/types/hapi/tsconfig.json index d6604cb6b5..9996053227 100644 --- a/types/hapi/tsconfig.json +++ b/types/hapi/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": [], + "types": ["node"], "noEmit": true, "forceConsistentCasingInFileNames": true }, @@ -87,17 +87,6 @@ "tests/server/state.ts", "tests/server/stop.ts", "tests/server/table.ts", - "tests/server/version.ts", - "catbox/index.d.ts", - "h2o2/index.d.ts", - "h2o2/h2o2-tests.ts", - "json/index.d.ts", - "json/json-tests.ts", - "mime-db/index.d.ts", - "mimos/index.d.ts", - "podium/index.d.ts", - "shot/index.d.ts", - "vision/index.d.ts", - "vision/vision-tests.ts" + "tests/server/version.ts" ] } \ No newline at end of file diff --git a/types/inert/index.d.ts b/types/inert/index.d.ts index 5e27881a3f..a54841eac7 100644 --- a/types/inert/index.d.ts +++ b/types/inert/index.d.ts @@ -5,8 +5,8 @@ import * as hapi from 'hapi'; -declare module 'hapi' { - interface FileHandlerOptions { +declare namespace inert { + export interface ReplyFileHandlerOptions { /** confine - serve file relative to this directory and returns 403 Forbidden if the path resolves outside the confine directory. Defaults to true which uses the relativeTo route option as the confine. Set to false to disable this security feature. */ confine?: boolean; /** filename - an optional filename to specify if sending a 'Content-Disposition' header, defaults to the basename of path */ @@ -35,18 +35,18 @@ declare module 'hapi' { end?: number; } - interface FileHandlerObject extends FileHandlerOptions { + export interface FileHandlerRouteObject extends ReplyFileHandlerOptions { /** path - a path string or function as described above (required). */ - path: string | RequestHandler; + path: string | hapi.RequestHandler; } - interface DirectoryHandlerObject { + export interface DirectoryHandlerRouteObject { /** path - (required) the directory root path (relative paths are resolved based on the route files configuration). Value can be: * * a single path string used as the prefix for any resources requested by appending the request path parameter to the provided string. * * an array of path strings. Each path will be attempted in order until a match is found (by following the same process as the single path string). * * a function with the signature function(request) which returns the path string or an array of path strings. If the function returns an error, the error is passed back to the client in the response. */ - path: string | string[] | RequestHandler; + path: string | string[] | hapi.RequestHandler; /** index - optional boolean|string|string[], determines if an index file will be served if found in the folder when requesting a directory. The given string or strings specify the name(s) of the index file to look for. If true, looks for 'index.html'. Any falsy value disables index file lookup. Defaults to true. */ index?: boolean | string | string[]; /** listing - optional boolean, determines if directory listing is generated when a directory is requested without an index document. Defaults to false. */ @@ -68,6 +68,19 @@ declare module 'hapi' { defaultExtension?: string; } + /** + * inert accepts the following registration options + * @see {@link https://github.com/hapijs/inert#registration-options} + */ + interface OptionalRegistrationOptions { + /** + * sets the maximum number of file etag hash values stored in the etags cache. Defaults to 10000. + */ + etagsCacheMaxSize?: number; + } +} + +declare module 'hapi' { interface RouteHandlerPlugins { /** * The file handler @@ -78,14 +91,14 @@ declare module 'hapi' { * * an object with one or more of the following options @see IFileHandler * @see {@link https://github.com/hapijs/inert#the-file-handler} */ - file?: string | RequestHandler | FileHandlerObject; + file?: string | RequestHandler | inert.FileHandlerRouteObject; /** * The directory handler * * Generates a directory endpoint for serving static content from a directory. Routes using the directory handler must include a path parameter at the end of the path string (e.g. /path/to/somewhere/{param} where the parameter name does not matter). The path parameter can use any of the parameter options (e.g. {param} for one level files only, {param?} for one level files or the directory root, {param*} for any level, or {param*3} for a specific level). If additional path parameters are present, they are ignored for the purpose of selecting the file system resource. The directory handler is an object with the following options: * @see {@link https://github.com/hapijs/inert#the-directory-handler} */ - directory?: DirectoryHandlerObject; + directory?: inert.DirectoryHandlerRouteObject; } interface Base_Reply { @@ -93,22 +106,10 @@ declare module 'hapi' { * Transmits a file from the file system. The 'Content-Type' header defaults to the matching mime type based on filename extension. * @see {@link https://github.com/hapijs/inert#replyfilepath-options} */ - file: (path: string, options?: FileHandlerOptions) => Response; + file: (path: string, options?: inert.ReplyFileHandlerOptions) => Response; } - } -/** - * inert accepts the following registration options - * @see {@link https://github.com/hapijs/inert#registration-options} - */ -interface OptionalRegistrationOptions { - /** - * sets the maximum number of file etag hash values stored in the etags cache. Defaults to 10000. - */ - etagsCacheMaxSize?: number; -} +declare var inert: hapi.PluginFunction; -declare var inertPlugin: hapi.PluginFunction; - -export default inertPlugin; +export = inert; diff --git a/types/inert/inert-tests.ts b/types/inert/inert-tests.ts index 177808817c..9062e13f6b 100644 --- a/types/inert/inert-tests.ts +++ b/types/inert/inert-tests.ts @@ -1,54 +1,67 @@ -import * as HapiES6 from 'hapi'; -import InertES6 from 'inert'; +// Copied from: https://github.com/hapijs/inert#examples -const server = new HapiES6.Server({}); -server.register(InertES6, {}, (err) => {}); +import Path = require('path'); +import Hapi = require('hapi'); +import Inert = require('inert'); + +const server = new Hapi.Server({ + connections: { + routes: { + files: { + relativeTo: Path.join(__dirname, 'public') + } + } + } +}); +server.connection({ port: 3000 }); + +server.register(Inert, () => {}); // added in addition to code from docs +const options: Inert.OptionalRegistrationOptions = {etagsCacheMaxSize: 400}; server.register({ - register: InertES6, - options: {etagsCacheMaxSize: 400}, + register: Inert, + options, }, (err) => {}); // added in addition to code from docs server.register({ - register: InertES6, + register: Inert, once: true, }, (err) => {}); server.route({ - path: '', method: 'GET', + path: '/{param*}', handler: { - file: { - path: '', - confine: true, - }, directory: { - path: '', - listing: true - }, - }, - config: { files: { relativeTo: __dirname } } -}) - -var fileHandler: HapiES6.FileHandlerObject = { - path: '', - confine: true, -} - -var directoryHandler: HapiES6.DirectoryHandlerObject = { - path: function(){ - if(Math.random() > 0.5) { - return ''; + path: '.', + redirectToSlash: true, + index: true } - else if(Math.random() > 0) { - return ['']; - } - return new Error(''); - }, - listing: true, -} + } +}); + +server.start((err) => { + + if (err) { + throw err; + } + + console.log('Server running at:', server.info!.uri); +}); + +// https://github.com/hapijs/inert#serving-a-single-file + +server.route({ + method: 'GET', + path: '/{path*}', + handler: { + file: 'page.html' + } +}); + +// https://github.com/hapijs/inert#customized-file-response server.route({ method: 'GET', @@ -64,9 +77,9 @@ server.route({ } }); -server.ext('onPostHandler', function (request: HapiES6.Request, reply: HapiES6.ReplyWithContinue) { +const handler: Hapi.ServerExtRequestHandler = function (request, reply) { - const response = request.response; + const response = request.response!; if (response.isBoom && response.output!.statusCode === 404) { @@ -74,4 +87,44 @@ server.ext('onPostHandler', function (request: HapiES6.Request, reply: HapiES6.R } return reply.continue(); -}); +} + +server.ext('onPostHandler', handler); + +// additional code added in addition to doc example code + +var file: Inert.FileHandlerRouteObject = { + path: '', + confine: true, +}; +var directory: Inert.DirectoryHandlerRouteObject = { + path: '', + listing: true +}; + +file = { + path: '', + confine: true, +}; + +server.route({ + path: '', + method: 'GET', + handler: { + file, + directory: { + path: function(){ + if(Math.random() > 0.5) { + return ''; + } + else if(Math.random() > 0) { + return ['']; + } + return new Error(''); + }, + BAD_listing: true, // TODO change typings to make this error + }, + }, + config: { files: { relativeTo: __dirname } } +}) + diff --git a/types/inert/tsconfig.json b/types/inert/tsconfig.json index 5b805cfc2d..7c74dcc2e7 100644 --- a/types/inert/tsconfig.json +++ b/types/inert/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": [], + "types": ["node"], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/hapi/mime-db/index.d.ts b/types/mime-db/index.d.ts similarity index 93% rename from types/hapi/mime-db/index.d.ts rename to types/mime-db/index.d.ts index 536a4c9e27..cf46a0c593 100644 --- a/types/hapi/mime-db/index.d.ts +++ b/types/mime-db/index.d.ts @@ -1,5 +1,3 @@ -// TODO needs tests -// TODO move to own definition // Type definitions for mime-db 1.27 // Project: https://github.com/jshttp/mime-db // Definitions by: AJP diff --git a/types/mime-db/tsconfig.json b/types/mime-db/tsconfig.json new file mode 100644 index 0000000000..3bc13b0278 --- /dev/null +++ b/types/mime-db/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/mimos/index.d.ts b/types/mimos/index.d.ts similarity index 91% rename from types/hapi/mimos/index.d.ts rename to types/mimos/index.d.ts index 386c3db589..9d000b0ce9 100644 --- a/types/hapi/mimos/index.d.ts +++ b/types/mimos/index.d.ts @@ -1,12 +1,10 @@ -// TODO needs tests -// TODO move to own definition // Type definitions for mimos 3.0 // Project: https://github.com/hapijs/mimos // Definitions by: AJP // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 -import {DataStructure as MimeDbDataStructure} from '../mime-db'; +import {DataStructure as MimeDbDataStructure} from 'mime-db'; /** * diff --git a/types/mimos/tsconfig.json b/types/mimos/tsconfig.json new file mode 100644 index 0000000000..3bc13b0278 --- /dev/null +++ b/types/mimos/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/podium/index.d.ts b/types/podium/index.d.ts similarity index 97% rename from types/hapi/podium/index.d.ts rename to types/podium/index.d.ts index 30df7b2ed9..0d62740479 100644 --- a/types/hapi/podium/index.d.ts +++ b/types/podium/index.d.ts @@ -1,17 +1,17 @@ -// TODO needs tests -// TODO move to own definition // Type definitions for podium 1.0 // Project: https://github.com/hapijs/podium // Definitions by: AJP // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 + /** * Podium * Node (semi) compatible event emitter with extra features. * podium is an event emitter with support for tags, filters, channels, event update cloning, arguments spreading, and other features useful when building large scale applications. While node's native EventEmitter is strictly focused on maximum performance, it lacks many features that do not belong in the core implementation. podium is not restricted by node's performance requirement as it is designed for application layer needs where it's overhead is largely insignificant as implementing these features will have similar cost on top of the native emitter. * @see {@link https://github.com/hapijs/podium} */ +// declare class Podium { export class Podium { /** * Creates a new podium emitter @@ -160,7 +160,7 @@ export interface CriteriaObject { /** * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} */ -interface CriteriaFilterOptionsObject { +export interface CriteriaFilterOptionsObject { /** a tag string or array of tag strings. */ tags?: string | string[]; /** if true, all tags must be present for the event update to match the subscription. Defaults to false (at least one matching tag). */ @@ -176,7 +176,13 @@ export type Criteria = string | CriteriaObject; * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} */ export interface Listener { - (data: any, tags?: Tags, callback?: () => void): void; +(data: any, tags?: Tags, callback?: () => void): void; } export type Tags = {[tag: string]: boolean}; + +// export = Podium; + +// declare namespace Podium { +// type Tags = {[tag: string]: boolean}; +// } diff --git a/types/podium/podium-tests.ts b/types/podium/podium-tests.ts new file mode 100644 index 0000000000..f5cee6bbec --- /dev/null +++ b/types/podium/podium-tests.ts @@ -0,0 +1,33 @@ +/* +import Podium = require('podium'); +const podiumObject = new Podium(); // new emitter + +const podiumObject2 = new Podium('event1');// creates new event and calls registerEvent() + +podiumObject.registerEvent('event1'); + +//with optional parameters +podiumObject.registerEvent({ + name: 'event1', + shared: true +}); + +podiumObject.registerEvent('event1'); + +podiumObject.on('event1',function(update){ // Way 1 + console.log('inside autonomous listener without name! data:', update); +}); + +const listener1 = function() { // normal function object + console.log('listener1 called'); +} +podiumObject.on('event1',listener1); // Way 2 + +// podium.addListener(criteria, listener) Same as podium.on(). + +podiumObject.addListener('event1',listener1); + +// podium.once(criteria, listener) Same as calling podium.on() with the count option set to 1. Whenever we call emit(), listener1 will get fired but also get removed, so that it won't get fired on call to emit(). + +podiumObject.once('event1',listener1); +*/ diff --git a/types/podium/tsconfig.json b/types/podium/tsconfig.json new file mode 100644 index 0000000000..267d05537f --- /dev/null +++ b/types/podium/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "podium-tests.ts" + ] +} \ No newline at end of file diff --git a/types/shot/index.d.ts b/types/shot/index.d.ts new file mode 100644 index 0000000000..4fdaff2688 --- /dev/null +++ b/types/shot/index.d.ts @@ -0,0 +1,113 @@ +// Type definitions for shot 3.4 +// Project: https://github.com/hapijs/shot +// Definitions by: AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import stream = require("stream"); +import http = require("http"); + +interface ShotAPI { + /** + * Injects a fake request into an HTTP server. + * @param dispatchFunc listener function. The same as you would pass to Http.createServer when making a node HTTP server. @see IListener + * @param options request options object @see RequestOptions + * @param callback the callback function @see Callback + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + inject(dispatchFunc: Shot.Listener, options: Shot.RequestOptions, callback: (res: Shot.ResponseObject) => void): void; + + /** + * Checks if given object obj is a Shot Request object. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotisinjectionobj} + */ + isInjection(obj: any): boolean; +} + +declare namespace Shot { + /** + * listener function. The same as you would pass to Http.createServer when making a node HTTP server. Has the signature function (req, res) where: + * * req - a simulated request object. Inherits from Stream.Readable. + * * res - a simulated response object. Inherits from node's Http.ServerResponse. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + export interface Listener { + (req: SimulatedRequestObject, res: SimulatedResponseObject): void; + } + + /** + * a simulated request object. Inherits from Stream.Readable. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + interface SimulatedRequestObject extends stream.Readable {} + + /** + * a simulated response object. Inherits from node's Http.ServerResponse. + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + interface SimulatedResponseObject extends http.ServerResponse {} + + /** + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + export interface RequestOptions { + /** a string specifying the request URL. */ + url: string; + /** a string specifying the HTTP request method, defaulting to 'GET'. */ + method?: string; + /** a string specifying the HTTP HOST header value to be used if no header is provided, and the url does not include an authority component. Defaults to 'localhost'. */ + authority?: string; + /** an optional object containing request headers. */ + headers?: Headers; + /** an optional string specifying the client remote address. Defaults to '127.0.0.1'. */ + remoteAddress?: string; + /** an optional request payload. Can be a string, Buffer, Stream or object. */ + payload?: string | Buffer | stream.Stream | {[key: string]: any}; + /** an object containing flags to simulate various conditions: */ + simulate?: { + /** indicates whether the request will fire an end event. Defaults to undefined, meaning an end event will fire. */ + end?: boolean; + /** indicates whether the request payload will be split into chunks. Defaults to `undefined`, meaning payload will not be chunked. */ + split?: boolean; + /** whether the request will emit an error event. Defaults to undefined, meaning no error event will be emitted. If set to true, the emitted error will have a message of 'Simulated'. */ + error?: boolean; + /** whether the request will emit a close event. Defaults to undefined, meaning no close event will be emitted. */ + close?: boolean; + } + /** Optional flag to validate this options object. Defaults to true. */ + validate?: boolean; + } + + interface Headers { + [header: string]: string; + } + + /** + * @see {@link https://github.com/hapijs/shot/blob/master/API.md#shotinjectdispatchfunc-options-callback} + */ + export interface ResponseObject { + /** an object containing the raw request and response objects where: */ + raw: { + /** the simulated request object. */ + req: SimulatedRequestObject; + /** the simulated response object. */ + res: SimulatedResponseObject; + }; + /** an object containing the response headers. */ + headers: Headers; + /** the HTTP status code. */ + statusCode: number; + /** the HTTP status message. */ + statusMessage: string; + /** the payload as a UTF-8 encoded string. */ + payload: string; + /** the raw payload as a Buffer. */ + rawPayload: Buffer; + /** an object containing the response trailers. */ + trailers: {[index: string]: any}; + } +} + +declare var Shot: ShotAPI; + +export = Shot; diff --git a/types/shot/shot-tests.ts b/types/shot/shot-tests.ts new file mode 100644 index 0000000000..1c6749915b --- /dev/null +++ b/types/shot/shot-tests.ts @@ -0,0 +1,29 @@ +// From: https://github.com/hapijs/shot#example + +// Load modules + +import Http = require('http'); +import Shot = require('shot'); + +// Declare internals + +const internals: any = {}; + +internals.main = function () { + + const dispatch = function (req: Http.IncomingMessage, res: Http.ServerResponse) { + + const reply = 'Hello World'; + res.writeHead(200, { 'Content-Type': 'text/plain', 'Content-Length': reply.length }); + res.end(reply); + }; + + const server = Http.createServer(dispatch); + + Shot.inject(dispatch, { method: 'get', url: '/' }, (res) => { + + console.log(res.payload); + }); +}; + +internals.main(); diff --git a/types/shot/tsconfig.json b/types/shot/tsconfig.json new file mode 100644 index 0000000000..12dbee6598 --- /dev/null +++ b/types/shot/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": ["node"], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "shot-tests.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/vision/index.d.ts b/types/vision/index.d.ts similarity index 98% rename from types/hapi/vision/index.d.ts rename to types/vision/index.d.ts index cee02fc56c..2b0164cc0f 100644 --- a/types/hapi/vision/index.d.ts +++ b/types/vision/index.d.ts @@ -1,3 +1,8 @@ +// Type definitions for vision 4.1 +// Project: https://github.com/hapijs/vision +// Definitions by: Jason Swearingen , AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 import * as Hapi from 'hapi'; diff --git a/types/vision/tsconfig.json b/types/vision/tsconfig.json new file mode 100644 index 0000000000..428d9c2764 --- /dev/null +++ b/types/vision/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": ["node"], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "vision-tests.ts" + ] +} \ No newline at end of file diff --git a/types/hapi/vision/vision-tests.ts b/types/vision/vision-tests.ts similarity index 100% rename from types/hapi/vision/vision-tests.ts rename to types/vision/vision-tests.ts From 22d7c1dbcf8154db3578c5db5f2254ae3c39c3d8 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 15:06:09 +0100 Subject: [PATCH 03/70] Move hapi tests directory from tests to test --- types/hapi/{tests => test}/connection/table.ts | 0 .../hapi/{tests => test}/getting-started/01-creating-a-server.ts | 0 types/hapi/{tests => test}/getting-started/02-adding-routes.ts | 0 .../{tests => test}/getting-started/03-serving-static-content.ts | 0 types/hapi/{tests => test}/getting-started/04-using-plugins.ts | 0 types/hapi/{tests => test}/path/catch-all.ts | 0 types/hapi/{tests => test}/path/parameters.ts | 0 types/hapi/{tests => test}/plugins/options.ts | 0 types/hapi/{tests => test}/reply/continue.ts | 0 types/hapi/{tests => test}/reply/entity.ts | 0 types/hapi/{tests => test}/reply/redirect.ts | 0 types/hapi/{tests => test}/reply/reply.ts | 0 types/hapi/{tests => test}/reply/state_cookie.ts | 0 types/hapi/{tests => test}/request/event-types.ts | 0 types/hapi/{tests => test}/request/generate-response.ts | 0 types/hapi/{tests => test}/request/get-log.ts | 0 types/hapi/{tests => test}/request/log.ts | 0 types/hapi/{tests => test}/request/set-method.ts | 0 types/hapi/{tests => test}/request/set-url.ts | 0 types/hapi/{tests => test}/request/tail.ts | 0 types/hapi/{tests => test}/response/error-representation.ts | 0 types/hapi/{tests => test}/response/error.ts | 0 types/hapi/{tests => test}/response/events.ts | 0 types/hapi/{tests => test}/response/flow-control.ts | 0 types/hapi/{tests => test}/route/additional-options.ts | 0 types/hapi/{tests => test}/route/auth.ts | 0 types/hapi/{tests => test}/route/config.ts | 0 types/hapi/{tests => test}/route/handler.ts | 0 types/hapi/{tests => test}/route/prerequisites.ts | 0 types/hapi/{tests => test}/route/public-interface.ts | 0 types/hapi/{tests => test}/server/app.ts | 0 types/hapi/{tests => test}/server/auth.ts | 0 types/hapi/{tests => test}/server/bind.ts | 0 types/hapi/{tests => test}/server/cache.ts | 0 types/hapi/{tests => test}/server/connection-options.ts | 0 types/hapi/{tests => test}/server/connections.ts | 0 types/hapi/{tests => test}/server/decoder.ts | 0 types/hapi/{tests => test}/server/decorate.ts | 0 types/hapi/{tests => test}/server/dependency.ts | 0 types/hapi/{tests => test}/server/emit.ts | 0 types/hapi/{tests => test}/server/encoder.ts | 0 types/hapi/{tests => test}/server/event.ts | 0 types/hapi/{tests => test}/server/expose.ts | 0 types/hapi/{tests => test}/server/ext.ts | 0 types/hapi/{tests => test}/server/handler.ts | 0 types/hapi/{tests => test}/server/info.ts | 0 types/hapi/{tests => test}/server/initialize.ts | 0 types/hapi/{tests => test}/server/inject.ts | 0 types/hapi/{tests => test}/server/listener.ts | 0 types/hapi/{tests => test}/server/load.ts | 0 types/hapi/{tests => test}/server/log.ts | 0 types/hapi/{tests => test}/server/lookup.ts | 0 types/hapi/{tests => test}/server/match.ts | 0 types/hapi/{tests => test}/server/method.ts | 0 types/hapi/{tests => test}/server/methods.ts | 0 types/hapi/{tests => test}/server/mime.ts | 0 types/hapi/{tests => test}/server/new.ts | 0 types/hapi/{tests => test}/server/on.ts | 0 types/hapi/{tests => test}/server/once.ts | 0 types/hapi/{tests => test}/server/path.ts | 0 types/hapi/{tests => test}/server/plugins.ts | 0 types/hapi/{tests => test}/server/realm.ts | 0 types/hapi/{tests => test}/server/register.ts | 0 types/hapi/{tests => test}/server/route.ts | 0 types/hapi/{tests => test}/server/select.ts | 0 types/hapi/{tests => test}/server/settings.ts | 0 types/hapi/{tests => test}/server/start.ts | 0 types/hapi/{tests => test}/server/state.ts | 0 types/hapi/{tests => test}/server/stop.ts | 0 types/hapi/{tests => test}/server/table.ts | 0 types/hapi/{tests => test}/server/version.ts | 0 71 files changed, 0 insertions(+), 0 deletions(-) rename types/hapi/{tests => test}/connection/table.ts (100%) rename types/hapi/{tests => test}/getting-started/01-creating-a-server.ts (100%) rename types/hapi/{tests => test}/getting-started/02-adding-routes.ts (100%) rename types/hapi/{tests => test}/getting-started/03-serving-static-content.ts (100%) rename types/hapi/{tests => test}/getting-started/04-using-plugins.ts (100%) rename types/hapi/{tests => test}/path/catch-all.ts (100%) rename types/hapi/{tests => test}/path/parameters.ts (100%) rename types/hapi/{tests => test}/plugins/options.ts (100%) rename types/hapi/{tests => test}/reply/continue.ts (100%) rename types/hapi/{tests => test}/reply/entity.ts (100%) rename types/hapi/{tests => test}/reply/redirect.ts (100%) rename types/hapi/{tests => test}/reply/reply.ts (100%) rename types/hapi/{tests => test}/reply/state_cookie.ts (100%) rename types/hapi/{tests => test}/request/event-types.ts (100%) rename types/hapi/{tests => test}/request/generate-response.ts (100%) rename types/hapi/{tests => test}/request/get-log.ts (100%) rename types/hapi/{tests => test}/request/log.ts (100%) rename types/hapi/{tests => test}/request/set-method.ts (100%) rename types/hapi/{tests => test}/request/set-url.ts (100%) rename types/hapi/{tests => test}/request/tail.ts (100%) rename types/hapi/{tests => test}/response/error-representation.ts (100%) rename types/hapi/{tests => test}/response/error.ts (100%) rename types/hapi/{tests => test}/response/events.ts (100%) rename types/hapi/{tests => test}/response/flow-control.ts (100%) rename types/hapi/{tests => test}/route/additional-options.ts (100%) rename types/hapi/{tests => test}/route/auth.ts (100%) rename types/hapi/{tests => test}/route/config.ts (100%) rename types/hapi/{tests => test}/route/handler.ts (100%) rename types/hapi/{tests => test}/route/prerequisites.ts (100%) rename types/hapi/{tests => test}/route/public-interface.ts (100%) rename types/hapi/{tests => test}/server/app.ts (100%) rename types/hapi/{tests => test}/server/auth.ts (100%) rename types/hapi/{tests => test}/server/bind.ts (100%) rename types/hapi/{tests => test}/server/cache.ts (100%) rename types/hapi/{tests => test}/server/connection-options.ts (100%) rename types/hapi/{tests => test}/server/connections.ts (100%) rename types/hapi/{tests => test}/server/decoder.ts (100%) rename types/hapi/{tests => test}/server/decorate.ts (100%) rename types/hapi/{tests => test}/server/dependency.ts (100%) rename types/hapi/{tests => test}/server/emit.ts (100%) rename types/hapi/{tests => test}/server/encoder.ts (100%) rename types/hapi/{tests => test}/server/event.ts (100%) rename types/hapi/{tests => test}/server/expose.ts (100%) rename types/hapi/{tests => test}/server/ext.ts (100%) rename types/hapi/{tests => test}/server/handler.ts (100%) rename types/hapi/{tests => test}/server/info.ts (100%) rename types/hapi/{tests => test}/server/initialize.ts (100%) rename types/hapi/{tests => test}/server/inject.ts (100%) rename types/hapi/{tests => test}/server/listener.ts (100%) rename types/hapi/{tests => test}/server/load.ts (100%) rename types/hapi/{tests => test}/server/log.ts (100%) rename types/hapi/{tests => test}/server/lookup.ts (100%) rename types/hapi/{tests => test}/server/match.ts (100%) rename types/hapi/{tests => test}/server/method.ts (100%) rename types/hapi/{tests => test}/server/methods.ts (100%) rename types/hapi/{tests => test}/server/mime.ts (100%) rename types/hapi/{tests => test}/server/new.ts (100%) rename types/hapi/{tests => test}/server/on.ts (100%) rename types/hapi/{tests => test}/server/once.ts (100%) rename types/hapi/{tests => test}/server/path.ts (100%) rename types/hapi/{tests => test}/server/plugins.ts (100%) rename types/hapi/{tests => test}/server/realm.ts (100%) rename types/hapi/{tests => test}/server/register.ts (100%) rename types/hapi/{tests => test}/server/route.ts (100%) rename types/hapi/{tests => test}/server/select.ts (100%) rename types/hapi/{tests => test}/server/settings.ts (100%) rename types/hapi/{tests => test}/server/start.ts (100%) rename types/hapi/{tests => test}/server/state.ts (100%) rename types/hapi/{tests => test}/server/stop.ts (100%) rename types/hapi/{tests => test}/server/table.ts (100%) rename types/hapi/{tests => test}/server/version.ts (100%) diff --git a/types/hapi/tests/connection/table.ts b/types/hapi/test/connection/table.ts similarity index 100% rename from types/hapi/tests/connection/table.ts rename to types/hapi/test/connection/table.ts diff --git a/types/hapi/tests/getting-started/01-creating-a-server.ts b/types/hapi/test/getting-started/01-creating-a-server.ts similarity index 100% rename from types/hapi/tests/getting-started/01-creating-a-server.ts rename to types/hapi/test/getting-started/01-creating-a-server.ts diff --git a/types/hapi/tests/getting-started/02-adding-routes.ts b/types/hapi/test/getting-started/02-adding-routes.ts similarity index 100% rename from types/hapi/tests/getting-started/02-adding-routes.ts rename to types/hapi/test/getting-started/02-adding-routes.ts diff --git a/types/hapi/tests/getting-started/03-serving-static-content.ts b/types/hapi/test/getting-started/03-serving-static-content.ts similarity index 100% rename from types/hapi/tests/getting-started/03-serving-static-content.ts rename to types/hapi/test/getting-started/03-serving-static-content.ts diff --git a/types/hapi/tests/getting-started/04-using-plugins.ts b/types/hapi/test/getting-started/04-using-plugins.ts similarity index 100% rename from types/hapi/tests/getting-started/04-using-plugins.ts rename to types/hapi/test/getting-started/04-using-plugins.ts diff --git a/types/hapi/tests/path/catch-all.ts b/types/hapi/test/path/catch-all.ts similarity index 100% rename from types/hapi/tests/path/catch-all.ts rename to types/hapi/test/path/catch-all.ts diff --git a/types/hapi/tests/path/parameters.ts b/types/hapi/test/path/parameters.ts similarity index 100% rename from types/hapi/tests/path/parameters.ts rename to types/hapi/test/path/parameters.ts diff --git a/types/hapi/tests/plugins/options.ts b/types/hapi/test/plugins/options.ts similarity index 100% rename from types/hapi/tests/plugins/options.ts rename to types/hapi/test/plugins/options.ts diff --git a/types/hapi/tests/reply/continue.ts b/types/hapi/test/reply/continue.ts similarity index 100% rename from types/hapi/tests/reply/continue.ts rename to types/hapi/test/reply/continue.ts diff --git a/types/hapi/tests/reply/entity.ts b/types/hapi/test/reply/entity.ts similarity index 100% rename from types/hapi/tests/reply/entity.ts rename to types/hapi/test/reply/entity.ts diff --git a/types/hapi/tests/reply/redirect.ts b/types/hapi/test/reply/redirect.ts similarity index 100% rename from types/hapi/tests/reply/redirect.ts rename to types/hapi/test/reply/redirect.ts diff --git a/types/hapi/tests/reply/reply.ts b/types/hapi/test/reply/reply.ts similarity index 100% rename from types/hapi/tests/reply/reply.ts rename to types/hapi/test/reply/reply.ts diff --git a/types/hapi/tests/reply/state_cookie.ts b/types/hapi/test/reply/state_cookie.ts similarity index 100% rename from types/hapi/tests/reply/state_cookie.ts rename to types/hapi/test/reply/state_cookie.ts diff --git a/types/hapi/tests/request/event-types.ts b/types/hapi/test/request/event-types.ts similarity index 100% rename from types/hapi/tests/request/event-types.ts rename to types/hapi/test/request/event-types.ts diff --git a/types/hapi/tests/request/generate-response.ts b/types/hapi/test/request/generate-response.ts similarity index 100% rename from types/hapi/tests/request/generate-response.ts rename to types/hapi/test/request/generate-response.ts diff --git a/types/hapi/tests/request/get-log.ts b/types/hapi/test/request/get-log.ts similarity index 100% rename from types/hapi/tests/request/get-log.ts rename to types/hapi/test/request/get-log.ts diff --git a/types/hapi/tests/request/log.ts b/types/hapi/test/request/log.ts similarity index 100% rename from types/hapi/tests/request/log.ts rename to types/hapi/test/request/log.ts diff --git a/types/hapi/tests/request/set-method.ts b/types/hapi/test/request/set-method.ts similarity index 100% rename from types/hapi/tests/request/set-method.ts rename to types/hapi/test/request/set-method.ts diff --git a/types/hapi/tests/request/set-url.ts b/types/hapi/test/request/set-url.ts similarity index 100% rename from types/hapi/tests/request/set-url.ts rename to types/hapi/test/request/set-url.ts diff --git a/types/hapi/tests/request/tail.ts b/types/hapi/test/request/tail.ts similarity index 100% rename from types/hapi/tests/request/tail.ts rename to types/hapi/test/request/tail.ts diff --git a/types/hapi/tests/response/error-representation.ts b/types/hapi/test/response/error-representation.ts similarity index 100% rename from types/hapi/tests/response/error-representation.ts rename to types/hapi/test/response/error-representation.ts diff --git a/types/hapi/tests/response/error.ts b/types/hapi/test/response/error.ts similarity index 100% rename from types/hapi/tests/response/error.ts rename to types/hapi/test/response/error.ts diff --git a/types/hapi/tests/response/events.ts b/types/hapi/test/response/events.ts similarity index 100% rename from types/hapi/tests/response/events.ts rename to types/hapi/test/response/events.ts diff --git a/types/hapi/tests/response/flow-control.ts b/types/hapi/test/response/flow-control.ts similarity index 100% rename from types/hapi/tests/response/flow-control.ts rename to types/hapi/test/response/flow-control.ts diff --git a/types/hapi/tests/route/additional-options.ts b/types/hapi/test/route/additional-options.ts similarity index 100% rename from types/hapi/tests/route/additional-options.ts rename to types/hapi/test/route/additional-options.ts diff --git a/types/hapi/tests/route/auth.ts b/types/hapi/test/route/auth.ts similarity index 100% rename from types/hapi/tests/route/auth.ts rename to types/hapi/test/route/auth.ts diff --git a/types/hapi/tests/route/config.ts b/types/hapi/test/route/config.ts similarity index 100% rename from types/hapi/tests/route/config.ts rename to types/hapi/test/route/config.ts diff --git a/types/hapi/tests/route/handler.ts b/types/hapi/test/route/handler.ts similarity index 100% rename from types/hapi/tests/route/handler.ts rename to types/hapi/test/route/handler.ts diff --git a/types/hapi/tests/route/prerequisites.ts b/types/hapi/test/route/prerequisites.ts similarity index 100% rename from types/hapi/tests/route/prerequisites.ts rename to types/hapi/test/route/prerequisites.ts diff --git a/types/hapi/tests/route/public-interface.ts b/types/hapi/test/route/public-interface.ts similarity index 100% rename from types/hapi/tests/route/public-interface.ts rename to types/hapi/test/route/public-interface.ts diff --git a/types/hapi/tests/server/app.ts b/types/hapi/test/server/app.ts similarity index 100% rename from types/hapi/tests/server/app.ts rename to types/hapi/test/server/app.ts diff --git a/types/hapi/tests/server/auth.ts b/types/hapi/test/server/auth.ts similarity index 100% rename from types/hapi/tests/server/auth.ts rename to types/hapi/test/server/auth.ts diff --git a/types/hapi/tests/server/bind.ts b/types/hapi/test/server/bind.ts similarity index 100% rename from types/hapi/tests/server/bind.ts rename to types/hapi/test/server/bind.ts diff --git a/types/hapi/tests/server/cache.ts b/types/hapi/test/server/cache.ts similarity index 100% rename from types/hapi/tests/server/cache.ts rename to types/hapi/test/server/cache.ts diff --git a/types/hapi/tests/server/connection-options.ts b/types/hapi/test/server/connection-options.ts similarity index 100% rename from types/hapi/tests/server/connection-options.ts rename to types/hapi/test/server/connection-options.ts diff --git a/types/hapi/tests/server/connections.ts b/types/hapi/test/server/connections.ts similarity index 100% rename from types/hapi/tests/server/connections.ts rename to types/hapi/test/server/connections.ts diff --git a/types/hapi/tests/server/decoder.ts b/types/hapi/test/server/decoder.ts similarity index 100% rename from types/hapi/tests/server/decoder.ts rename to types/hapi/test/server/decoder.ts diff --git a/types/hapi/tests/server/decorate.ts b/types/hapi/test/server/decorate.ts similarity index 100% rename from types/hapi/tests/server/decorate.ts rename to types/hapi/test/server/decorate.ts diff --git a/types/hapi/tests/server/dependency.ts b/types/hapi/test/server/dependency.ts similarity index 100% rename from types/hapi/tests/server/dependency.ts rename to types/hapi/test/server/dependency.ts diff --git a/types/hapi/tests/server/emit.ts b/types/hapi/test/server/emit.ts similarity index 100% rename from types/hapi/tests/server/emit.ts rename to types/hapi/test/server/emit.ts diff --git a/types/hapi/tests/server/encoder.ts b/types/hapi/test/server/encoder.ts similarity index 100% rename from types/hapi/tests/server/encoder.ts rename to types/hapi/test/server/encoder.ts diff --git a/types/hapi/tests/server/event.ts b/types/hapi/test/server/event.ts similarity index 100% rename from types/hapi/tests/server/event.ts rename to types/hapi/test/server/event.ts diff --git a/types/hapi/tests/server/expose.ts b/types/hapi/test/server/expose.ts similarity index 100% rename from types/hapi/tests/server/expose.ts rename to types/hapi/test/server/expose.ts diff --git a/types/hapi/tests/server/ext.ts b/types/hapi/test/server/ext.ts similarity index 100% rename from types/hapi/tests/server/ext.ts rename to types/hapi/test/server/ext.ts diff --git a/types/hapi/tests/server/handler.ts b/types/hapi/test/server/handler.ts similarity index 100% rename from types/hapi/tests/server/handler.ts rename to types/hapi/test/server/handler.ts diff --git a/types/hapi/tests/server/info.ts b/types/hapi/test/server/info.ts similarity index 100% rename from types/hapi/tests/server/info.ts rename to types/hapi/test/server/info.ts diff --git a/types/hapi/tests/server/initialize.ts b/types/hapi/test/server/initialize.ts similarity index 100% rename from types/hapi/tests/server/initialize.ts rename to types/hapi/test/server/initialize.ts diff --git a/types/hapi/tests/server/inject.ts b/types/hapi/test/server/inject.ts similarity index 100% rename from types/hapi/tests/server/inject.ts rename to types/hapi/test/server/inject.ts diff --git a/types/hapi/tests/server/listener.ts b/types/hapi/test/server/listener.ts similarity index 100% rename from types/hapi/tests/server/listener.ts rename to types/hapi/test/server/listener.ts diff --git a/types/hapi/tests/server/load.ts b/types/hapi/test/server/load.ts similarity index 100% rename from types/hapi/tests/server/load.ts rename to types/hapi/test/server/load.ts diff --git a/types/hapi/tests/server/log.ts b/types/hapi/test/server/log.ts similarity index 100% rename from types/hapi/tests/server/log.ts rename to types/hapi/test/server/log.ts diff --git a/types/hapi/tests/server/lookup.ts b/types/hapi/test/server/lookup.ts similarity index 100% rename from types/hapi/tests/server/lookup.ts rename to types/hapi/test/server/lookup.ts diff --git a/types/hapi/tests/server/match.ts b/types/hapi/test/server/match.ts similarity index 100% rename from types/hapi/tests/server/match.ts rename to types/hapi/test/server/match.ts diff --git a/types/hapi/tests/server/method.ts b/types/hapi/test/server/method.ts similarity index 100% rename from types/hapi/tests/server/method.ts rename to types/hapi/test/server/method.ts diff --git a/types/hapi/tests/server/methods.ts b/types/hapi/test/server/methods.ts similarity index 100% rename from types/hapi/tests/server/methods.ts rename to types/hapi/test/server/methods.ts diff --git a/types/hapi/tests/server/mime.ts b/types/hapi/test/server/mime.ts similarity index 100% rename from types/hapi/tests/server/mime.ts rename to types/hapi/test/server/mime.ts diff --git a/types/hapi/tests/server/new.ts b/types/hapi/test/server/new.ts similarity index 100% rename from types/hapi/tests/server/new.ts rename to types/hapi/test/server/new.ts diff --git a/types/hapi/tests/server/on.ts b/types/hapi/test/server/on.ts similarity index 100% rename from types/hapi/tests/server/on.ts rename to types/hapi/test/server/on.ts diff --git a/types/hapi/tests/server/once.ts b/types/hapi/test/server/once.ts similarity index 100% rename from types/hapi/tests/server/once.ts rename to types/hapi/test/server/once.ts diff --git a/types/hapi/tests/server/path.ts b/types/hapi/test/server/path.ts similarity index 100% rename from types/hapi/tests/server/path.ts rename to types/hapi/test/server/path.ts diff --git a/types/hapi/tests/server/plugins.ts b/types/hapi/test/server/plugins.ts similarity index 100% rename from types/hapi/tests/server/plugins.ts rename to types/hapi/test/server/plugins.ts diff --git a/types/hapi/tests/server/realm.ts b/types/hapi/test/server/realm.ts similarity index 100% rename from types/hapi/tests/server/realm.ts rename to types/hapi/test/server/realm.ts diff --git a/types/hapi/tests/server/register.ts b/types/hapi/test/server/register.ts similarity index 100% rename from types/hapi/tests/server/register.ts rename to types/hapi/test/server/register.ts diff --git a/types/hapi/tests/server/route.ts b/types/hapi/test/server/route.ts similarity index 100% rename from types/hapi/tests/server/route.ts rename to types/hapi/test/server/route.ts diff --git a/types/hapi/tests/server/select.ts b/types/hapi/test/server/select.ts similarity index 100% rename from types/hapi/tests/server/select.ts rename to types/hapi/test/server/select.ts diff --git a/types/hapi/tests/server/settings.ts b/types/hapi/test/server/settings.ts similarity index 100% rename from types/hapi/tests/server/settings.ts rename to types/hapi/test/server/settings.ts diff --git a/types/hapi/tests/server/start.ts b/types/hapi/test/server/start.ts similarity index 100% rename from types/hapi/tests/server/start.ts rename to types/hapi/test/server/start.ts diff --git a/types/hapi/tests/server/state.ts b/types/hapi/test/server/state.ts similarity index 100% rename from types/hapi/tests/server/state.ts rename to types/hapi/test/server/state.ts diff --git a/types/hapi/tests/server/stop.ts b/types/hapi/test/server/stop.ts similarity index 100% rename from types/hapi/tests/server/stop.ts rename to types/hapi/test/server/stop.ts diff --git a/types/hapi/tests/server/table.ts b/types/hapi/test/server/table.ts similarity index 100% rename from types/hapi/tests/server/table.ts rename to types/hapi/test/server/table.ts diff --git a/types/hapi/tests/server/version.ts b/types/hapi/test/server/version.ts similarity index 100% rename from types/hapi/tests/server/version.ts rename to types/hapi/test/server/version.ts From cacacaa38aa0b28fbbaf323476f5c88840753eb1 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 15:13:09 +0100 Subject: [PATCH 04/70] Update tsconfig files to reflect new location of tests --- types/hapi/tsconfig.json | 142 +++++++++++++++++++-------------------- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/types/hapi/tsconfig.json b/types/hapi/tsconfig.json index 9996053227..c891abdc9c 100644 --- a/types/hapi/tsconfig.json +++ b/types/hapi/tsconfig.json @@ -17,76 +17,76 @@ }, "files": [ "index.d.ts", - "tests/connection/table.ts", - "tests/getting-started/01-creating-a-server.ts", - "tests/getting-started/02-adding-routes.ts", - "tests/getting-started/03-serving-static-content.ts", - "tests/getting-started/04-using-plugins.ts", - "tests/path/catch-all.ts", - "tests/path/parameters.ts", - "tests/plugins/options.ts", - "tests/reply/continue.ts", - "tests/reply/entity.ts", - "tests/reply/redirect.ts", - "tests/reply/reply.ts", - "tests/reply/state_cookie.ts", - "tests/request/event-types.ts", - "tests/request/generate-response.ts", - "tests/request/get-log.ts", - "tests/request/log.ts", - "tests/request/set-method.ts", - "tests/request/set-url.ts", - "tests/request/tail.ts", - "tests/response/error-representation.ts", - "tests/response/error.ts", - "tests/response/events.ts", - "tests/response/flow-control.ts", - "tests/route/additional-options.ts", - "tests/route/auth.ts", - "tests/route/config.ts", - "tests/route/handler.ts", - "tests/route/prerequisites.ts", - "tests/route/public-interface.ts", - "tests/server/app.ts", - "tests/server/auth.ts", - "tests/server/bind.ts", - "tests/server/cache.ts", - "tests/server/connection-options.ts", - "tests/server/connections.ts", - "tests/server/decoder.ts", - "tests/server/decorate.ts", - "tests/server/dependency.ts", - "tests/server/emit.ts", - "tests/server/encoder.ts", - "tests/server/event.ts", - "tests/server/expose.ts", - "tests/server/ext.ts", - "tests/server/handler.ts", - "tests/server/info.ts", - "tests/server/initialize.ts", - "tests/server/inject.ts", - "tests/server/listener.ts", - "tests/server/load.ts", - "tests/server/log.ts", - "tests/server/lookup.ts", - "tests/server/match.ts", - "tests/server/method.ts", - "tests/server/methods.ts", - "tests/server/mime.ts", - "tests/server/new.ts", - "tests/server/on.ts", - "tests/server/once.ts", - "tests/server/path.ts", - "tests/server/plugins.ts", - "tests/server/realm.ts", - "tests/server/register.ts", - "tests/server/route.ts", - "tests/server/select.ts", - "tests/server/settings.ts", - "tests/server/start.ts", - "tests/server/state.ts", - "tests/server/stop.ts", - "tests/server/table.ts", - "tests/server/version.ts" + "test/connection/table.ts", + "test/getting-started/01-creating-a-server.ts", + "test/getting-started/02-adding-routes.ts", + "test/getting-started/03-serving-static-content.ts", + "test/getting-started/04-using-plugins.ts", + "test/path/catch-all.ts", + "test/path/parameters.ts", + "test/plugins/options.ts", + "test/reply/continue.ts", + "test/reply/entity.ts", + "test/reply/redirect.ts", + "test/reply/reply.ts", + "test/reply/state_cookie.ts", + "test/request/event-types.ts", + "test/request/generate-response.ts", + "test/request/get-log.ts", + "test/request/log.ts", + "test/request/set-method.ts", + "test/request/set-url.ts", + "test/request/tail.ts", + "test/response/error-representation.ts", + "test/response/error.ts", + "test/response/events.ts", + "test/response/flow-control.ts", + "test/route/additional-options.ts", + "test/route/auth.ts", + "test/route/config.ts", + "test/route/handler.ts", + "test/route/prerequisites.ts", + "test/route/public-interface.ts", + "test/server/app.ts", + "test/server/auth.ts", + "test/server/bind.ts", + "test/server/cache.ts", + "test/server/connection-options.ts", + "test/server/connections.ts", + "test/server/decoder.ts", + "test/server/decorate.ts", + "test/server/dependency.ts", + "test/server/emit.ts", + "test/server/encoder.ts", + "test/server/event.ts", + "test/server/expose.ts", + "test/server/ext.ts", + "test/server/handler.ts", + "test/server/info.ts", + "test/server/initialize.ts", + "test/server/inject.ts", + "test/server/listener.ts", + "test/server/load.ts", + "test/server/log.ts", + "test/server/lookup.ts", + "test/server/match.ts", + "test/server/method.ts", + "test/server/methods.ts", + "test/server/mime.ts", + "test/server/new.ts", + "test/server/on.ts", + "test/server/once.ts", + "test/server/path.ts", + "test/server/plugins.ts", + "test/server/realm.ts", + "test/server/register.ts", + "test/server/route.ts", + "test/server/select.ts", + "test/server/settings.ts", + "test/server/start.ts", + "test/server/state.ts", + "test/server/stop.ts", + "test/server/table.ts", + "test/server/version.ts" ] } \ No newline at end of file From 7503dd0bd304052e5ea0d0e96ea0d06ccba3633f Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 18:40:20 +0100 Subject: [PATCH 05/70] Add paths to v16.0 tsconfig to fix tests --- types/hapi/v16.0/tsconfig.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/types/hapi/v16.0/tsconfig.json b/types/hapi/v16.0/tsconfig.json index b6bca23ab6..47cd935a2b 100644 --- a/types/hapi/v16.0/tsconfig.json +++ b/types/hapi/v16.0/tsconfig.json @@ -12,6 +12,11 @@ "../../" ], "types": [], + "paths": { + "hapi": [ + "hapi/v16.0" + ] + }, "noEmit": true, "forceConsistentCasingInFileNames": true }, From ca36987882fd9ff55fbf7a1afe9d3f28a35de434 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 18:47:21 +0100 Subject: [PATCH 06/70] Try moving v16.0 code to v16 directory Maybe that will fix "types/hapi/v16.0 has unused file hapi-tests.ts" error --- types/hapi/{v16.0 => v16}/hapi-tests.ts | 0 types/hapi/{v16.0 => v16}/index.d.ts | 0 types/hapi/{v16.0 => v16}/tsconfig.json | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename types/hapi/{v16.0 => v16}/hapi-tests.ts (100%) rename types/hapi/{v16.0 => v16}/index.d.ts (100%) rename types/hapi/{v16.0 => v16}/tsconfig.json (94%) diff --git a/types/hapi/v16.0/hapi-tests.ts b/types/hapi/v16/hapi-tests.ts similarity index 100% rename from types/hapi/v16.0/hapi-tests.ts rename to types/hapi/v16/hapi-tests.ts diff --git a/types/hapi/v16.0/index.d.ts b/types/hapi/v16/index.d.ts similarity index 100% rename from types/hapi/v16.0/index.d.ts rename to types/hapi/v16/index.d.ts diff --git a/types/hapi/v16.0/tsconfig.json b/types/hapi/v16/tsconfig.json similarity index 94% rename from types/hapi/v16.0/tsconfig.json rename to types/hapi/v16/tsconfig.json index 47cd935a2b..dc9efa3519 100644 --- a/types/hapi/v16.0/tsconfig.json +++ b/types/hapi/v16/tsconfig.json @@ -14,7 +14,7 @@ "types": [], "paths": { "hapi": [ - "hapi/v16.0" + "hapi/v16" ] }, "noEmit": true, From f902f7f1fb22359690e51f199b3aefababe42973 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 18:51:57 +0100 Subject: [PATCH 07/70] Temporarily move v16 code to v15 directory To "fix" the error: "The latest major version is 16, but a directory v16 exists." --- types/hapi/{v16 => v15}/hapi-tests.ts | 0 types/hapi/{v16 => v15}/index.d.ts | 0 types/hapi/{v16 => v15}/tsconfig.json | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename types/hapi/{v16 => v15}/hapi-tests.ts (100%) rename types/hapi/{v16 => v15}/index.d.ts (100%) rename types/hapi/{v16 => v15}/tsconfig.json (95%) diff --git a/types/hapi/v16/hapi-tests.ts b/types/hapi/v15/hapi-tests.ts similarity index 100% rename from types/hapi/v16/hapi-tests.ts rename to types/hapi/v15/hapi-tests.ts diff --git a/types/hapi/v16/index.d.ts b/types/hapi/v15/index.d.ts similarity index 100% rename from types/hapi/v16/index.d.ts rename to types/hapi/v15/index.d.ts diff --git a/types/hapi/v16/tsconfig.json b/types/hapi/v15/tsconfig.json similarity index 95% rename from types/hapi/v16/tsconfig.json rename to types/hapi/v15/tsconfig.json index dc9efa3519..4a54b80605 100644 --- a/types/hapi/v16/tsconfig.json +++ b/types/hapi/v15/tsconfig.json @@ -14,7 +14,7 @@ "types": [], "paths": { "hapi": [ - "hapi/v16" + "hapi/v15" ] }, "noEmit": true, From 5e7881120c375575549e702bb53894b0c1f58259 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 18:58:22 +0100 Subject: [PATCH 08/70] Change version at top of index.d.ts --- types/hapi/v15/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/hapi/v15/index.d.ts b/types/hapi/v15/index.d.ts index 6fdef94dec..2a59422c69 100644 --- a/types/hapi/v15/index.d.ts +++ b/types/hapi/v15/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for hapi 16.0 +// Type definitions for hapi 15.0 // Project: http://github.com/spumko/hapi // Definitions by: Jason Swearingen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From dc6224ad1c5e0a5dfd339d1996d03078848e25a0 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 19:10:40 +0100 Subject: [PATCH 09/70] Follow instructions from failed test to set tsconfig types to empty array --- types/boom/tsconfig.json | 2 +- types/h2o2/index.d.ts | 2 ++ types/hapi/index.d.ts | 2 ++ types/hapi/tsconfig.json | 2 +- types/inert/inert-tests.ts | 2 ++ types/inert/tsconfig.json | 2 +- types/shot/index.d.ts | 2 ++ types/shot/tsconfig.json | 2 +- types/vision/tsconfig.json | 2 +- types/vision/vision-tests.ts | 4 +++- 10 files changed, 16 insertions(+), 6 deletions(-) diff --git a/types/boom/tsconfig.json b/types/boom/tsconfig.json index 1ad2b9c1f3..c3bee46396 100644 --- a/types/boom/tsconfig.json +++ b/types/boom/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": ["node"], + "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/h2o2/index.d.ts b/types/h2o2/index.d.ts index d15eb90cec..a1a3680e5c 100644 --- a/types/h2o2/index.d.ts +++ b/types/h2o2/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 +/// + import http = require("http"); import * as hapi from 'hapi'; import * as Boom from 'boom'; diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 2ef76367dd..97ce0cc386 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -22,6 +22,8 @@ * Renaming of all interfaces to remove preceding I in preparation of dtslint */ +/// + import Events = require("events"); import stream = require("stream"); import http = require("http"); diff --git a/types/hapi/tsconfig.json b/types/hapi/tsconfig.json index c891abdc9c..f8d5b055e2 100644 --- a/types/hapi/tsconfig.json +++ b/types/hapi/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": ["node"], + "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/inert/inert-tests.ts b/types/inert/inert-tests.ts index 9062e13f6b..82cd1f1295 100644 --- a/types/inert/inert-tests.ts +++ b/types/inert/inert-tests.ts @@ -1,5 +1,7 @@ // Copied from: https://github.com/hapijs/inert#examples +/// + import Path = require('path'); import Hapi = require('hapi'); import Inert = require('inert'); diff --git a/types/inert/tsconfig.json b/types/inert/tsconfig.json index 7c74dcc2e7..5b805cfc2d 100644 --- a/types/inert/tsconfig.json +++ b/types/inert/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": ["node"], + "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/shot/index.d.ts b/types/shot/index.d.ts index 4fdaff2688..323fb5137f 100644 --- a/types/shot/index.d.ts +++ b/types/shot/index.d.ts @@ -4,6 +4,8 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 +/// + import stream = require("stream"); import http = require("http"); diff --git a/types/shot/tsconfig.json b/types/shot/tsconfig.json index 12dbee6598..eb876b2143 100644 --- a/types/shot/tsconfig.json +++ b/types/shot/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": ["node"], + "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/vision/tsconfig.json b/types/vision/tsconfig.json index 428d9c2764..9d1c80a15c 100644 --- a/types/vision/tsconfig.json +++ b/types/vision/tsconfig.json @@ -11,7 +11,7 @@ "typeRoots": [ "../" ], - "types": ["node"], + "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true }, diff --git a/types/vision/vision-tests.ts b/types/vision/vision-tests.ts index 0dbe51ca40..74f8f432b0 100644 --- a/types/vision/vision-tests.ts +++ b/types/vision/vision-tests.ts @@ -1,6 +1,8 @@ +/// + import * as Hapi from 'hapi'; -import Vision from './index'; +import Vision from 'vision'; const server = new Hapi.Server(); server.connection({ port: 80 }); From 9fc3c9cd4017b8c8938082a51bc7370947de9dca Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 20:43:03 +0100 Subject: [PATCH 10/70] Fix some tslint errors and temporarily remove tslint.json --- types/hapi/index.d.ts | 76 ++++++++++--------- .../getting-started/01-creating-a-server.ts | 5 +- .../test/getting-started/02-adding-routes.ts | 4 +- .../03-serving-static-content.ts | 9 ++- .../test/getting-started/04-using-plugins.ts | 4 +- types/hapi/tslint.json | 15 ---- 6 files changed, 53 insertions(+), 60 deletions(-) delete mode 100644 types/hapi/tslint.json diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 97ce0cc386..a4159770f1 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -87,7 +87,7 @@ export class Server extends Podium.Podium { heapUsed: number; /** RSS memory usage. */ rss: number; - } + }; /** * When the server contains exactly one connection, listener is the node HTTP server object of the sole connection. * When the server contains more than one connection, each server.connections array member provides its own connection.listener. @@ -103,7 +103,7 @@ export class Server extends Podium.Podium { * Provides access to the server MIME database used for setting content-type information. The object must not be modified directly but only through the mime server setting. * [See docs](https://hapijs.com/api/16.1.1#servermime) */ - readonly mime: {path: (path: string) => {type: string}}; + readonly mime: {path(path: string): {type: string}}; /** * An object containing the values exposed by each plugin registered where each key is a plugin name and the values are the exposed properties by each plugin using server.expose(). Plugins may set the value of the server.plugins[name] object directly or via the server.expose() method. * [See docs](https://hapijs.com/api/16.1.1#serverplugins) @@ -235,7 +235,7 @@ export class Server extends Podium.Podium { * @param encoding the encoder name string. * @param encoder a function using the signature function(options) where options are the encoding specific options configured in the route compression configuration option, and the return value is an object compatible with the output of node's zlib.createGzip(). */ - encoder(encoding: string, encoder:((options: CompressionEncoderSettings) => zlib.Gzip)): void; + encoder(encoding: string, encoder: ((options: CompressionEncoderSettings) => zlib.Gzip)): void; /** * Register custom application events * [See docs](https://hapijs.com/api/16.1.1#servereventevents) @@ -405,17 +405,19 @@ export class Server extends Podium.Podium { * @param plugins * @param options * @param callback with signature function(err) where err an error returned from the registration function. Note that exceptions thrown by the registration function are not handled by the framework. - * A note on typings: Common use case is register(Plugin, (err) => {// do more stuff}), so these typings - * save passing empty `options` object or having to explicity type the Error in the Callback e.g.: - * register(Plugin, {}, (err) => {// do more stuff}) or - * register(Plugin, (err: Error) => {// do more stuff}) + * A note on typings. Common use case is: + * register(Plugin, (err) => {// do more stuff}) + * so these typings save passing empty `options` object or having to + * explicity type the Error in the Callback e.g.: + * register(Plugin, {}, (err) => {// do more stuff}) or + * register(Plugin, (err: Error) => {// do more stuff}) */ - register(plugins: (PluginFunction | PluginRegistrationObject)[], callback: (err: Error) => void): void; - register(plugins: (PluginFunction | PluginRegistrationObject)[]): Promise; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, callback: (err: Error) => void): void; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>): Promise; register(plugins: PluginFunction | PluginRegistrationObject, callback: (err: Error) => void): void; register(plugins: PluginFunction | PluginRegistrationObject): Promise; - register(plugins: (PluginFunction | PluginRegistrationObject)[], options: PluginRegistrationOptions, callback: (err: Error) => void): void; - register(plugins: (PluginFunction | PluginRegistrationObject)[], options: PluginRegistrationOptions): Promise; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, options: PluginRegistrationOptions, callback: (err: Error) => void): void; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, options: PluginRegistrationOptions): Promise; register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions, callback: (err: Error) => void): void; register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions): Promise; /** @@ -641,7 +643,7 @@ export interface ServerMethodConfigurationObject { * shared?: boolean; * } */ -type CatboxServerOptionsCacheConfiguration = CatboxServerCacheConfiguration; +export type CatboxServerOptionsCacheConfiguration = CatboxServerCacheConfiguration; /** * Server cache method configuration for Catbox cache @@ -758,13 +760,13 @@ export interface ServerConnectionOptions extends ConnectionConfigurationServerDe * For context see RouteAdditionalConfigurationOptions > compression * For context [See docs](https://hapijs.com/api/16.1.1#serverencoderencoding-encoder) */ -type CompressionEncoderSettings = any; +export type CompressionEncoderSettings = any; /** * For context see RouteAdditionalConfigurationOptions > payload > compression * For context [See docs](https://hapijs.com/api/16.1.1#serverdecoderencoding-decoder) */ -type CompressionDecoderSettings = any; +export type CompressionDecoderSettings = any; /** * an optional function called after all the specified dependencies have been registered and before the server starts. The function is only called if the server is initialized or started. If a circular dependency is detected, an exception is thrown (e.g. two plugins each has an after function to be called after the other). The function signature is function(server, next) where: @@ -876,12 +878,12 @@ export interface ServerExtConfigurationObject { /** * [See docs](https://hapijs.com/api/16.1.1#serverextevents) > events > method */ -type ServerExtMethod = ServerExtFunction | ServerExtRequestHandler; +export type ServerExtMethod = ServerExtFunction | ServerExtRequestHandler; /** * [See docs](https://hapijs.com/api/16.1.1#serverextevents) > events > options */ -interface ServerExtOptions { +export interface ServerExtOptions { /** before - a string or array of strings of plugin names this method must execute before (on the same event). Otherwise, extension methods are executed in the order added. */ before: string | string[]; /** after - a string or array of strings of plugin names this method must execute after (on the same event). Otherwise, extension methods are executed in the order added. */ @@ -947,7 +949,7 @@ export interface RoutePayloadConfigurationObject { */ multipart?: false | { output: PayLoadOutputOption | 'annotated'; - } + }; /** a string or an array of strings with the allowed mime types for the endpoint. Defaults to any of the supported mime types listed above. Note that allowing other mime types not listed will not enable them to be parsed, and that if parsing mode is 'parse', the request will result in an error response. */ allow?: string | string[]; /** a mime type string overriding the 'Content-Type' header value received. Defaults to no override. */ @@ -987,7 +989,7 @@ export type ApplicationEvent = string | ApplicationEventOptionsObject | Podium.P * For context see ApplicationEvent * For context [See docs](https://hapijs.com/api/16.1.1#servereventevents) > events parameter */ -interface ApplicationEventOptionsObject { +export interface ApplicationEventOptionsObject { /** the event name string (required). */ name: string; /** a string or array of strings specifying the event channels available. Defaults to no channel restrictions (event updates can specify a channel or not). */ @@ -1159,11 +1161,11 @@ export interface RoutePublicInterface { /** route authentication utilities: */ auth: { /** authenticates the passed request argument against the route's authentication access configuration. Returns true if the request would have passed the route's access requirements. Note that the route's authentication mode and strategies are ignored. The only match is made between the request.auth.credentials scope and entity information and the route access configuration. Also, if the route uses dynamic scopes, the scopes are constructed against the request.query and request.params which may or may not match between the route and the request's route. If this method is called using a request that has not been authenticated (yet or at all), it will return false if the route requires any authentication. */ - access: (request: Request) => boolean; - } + access(request: Request): boolean; + }; } -type RouteHandlerConfig = any; +export type RouteHandlerConfig = any; /** * For context [See docs](https://hapijs.com/api/16.1.1#serverhandlername-method) @@ -1171,7 +1173,7 @@ type RouteHandlerConfig = any; * For source [See docs](https://github.com/hapijs/hapi/blob/v16.1.1/lib/route.js#L56-L60) * TODO check the type of `RouteHandlerConfig` is correct for `defaults`. */ -interface MakeRouteHandler { +export interface MakeRouteHandler { (route: RoutePublicInterface, options: RouteHandlerConfig): RouteHandler; defaults?: RouteHandlerConfig | ((method: HTTP_METHODS_PARTIAL_lowercase) => RouteHandlerConfig); } @@ -1413,7 +1415,7 @@ export interface ServerStateCookieConfiguationObject { /** sets the 'Secure' flag. Defaults to true. */ isSecure?: boolean; /** sets the 'HttpOnly' flag. Defaults to true. */ - isHttpOnly?: boolean + isHttpOnly?: boolean; /** * sets the 'SameSite' flag where the value must be one of: * * false - no flag. @@ -1567,7 +1569,7 @@ export interface ServerRealm { relativeTo: string; }; bind: any; - } + }; } /** @@ -1594,7 +1596,7 @@ export interface ServerRegisteredPlugin { attributes: PluginAttributes; } -interface ServerAuth { +export interface ServerAuth { /** * server.auth.api * An object where each key is a strategy name and the value is the exposed strategy API. Available on when the authentication scheme exposes an API by returning an api key in the object returned from its implementation function. @@ -1641,8 +1643,8 @@ interface ServerAuth { test(strategy: string, request: Request, next: (err: Error | null, credentials: AuthenticatedCredentials) => void): void; } -type Strategy = any; -type SchemeSettings = any; +export type Strategy = any; +export type SchemeSettings = any; /** * the method implementing the scheme with signature function(server, options) where: @@ -1650,7 +1652,7 @@ type SchemeSettings = any; * @param server a reference to the server object the scheme is added to. * @param options optional scheme settings used to instantiate a strategy. */ -interface ServerAuthScheme { +export interface ServerAuthScheme { (server: Server, options: SchemeSettings): SchemeMethodResult; } @@ -1688,7 +1690,7 @@ export interface SchemeMethodResult { }; } -interface ServerCacheMethod { +export interface ServerCacheMethod { /** * Provisions a cache segment within the server cache facility * [See docs](https://hapijs.com/api/16.1.1#servercacheoptions) @@ -1953,7 +1955,7 @@ export interface RouteHandler { * "the function to call, the function signature is identical to a route handler as described in Route handler." * [See docs](https://hapijs.com/api/16.1.1#route-prerequisites) Route prerequisites */ -type RoutePrerequisiteRequestHandler = RouteHandler; +export type RoutePrerequisiteRequestHandler = RouteHandler; /** * request extension points: function(request, reply) where @@ -2013,7 +2015,7 @@ export interface ContinuationValueFunction { * Typings also described in part here [See docs](https://hapijs.com/api/16.1.1#response-object) */ export type ReplyValue = _ReplyValue | Promise<_ReplyValue>; -type _ReplyValue = null | undefined | string | number | boolean | Buffer | Error | stream.Stream | Object; //| array; +export type _ReplyValue = null | undefined | string | number | boolean | Buffer | Error | stream.Stream | Object; // | array; /** * Reply interface @@ -2026,7 +2028,7 @@ type _ReplyValue = null | undefined | string | number | boolean | Buffer | Error * * NOTE: modules should extend this interface to expose reply.Nnn methods */ -interface Base_Reply { +export interface Base_Reply { (err?: ReplyValue): Response; (err: null, result?: ReplyValue): Response; /** the active realm associated with the route. */ @@ -2097,7 +2099,7 @@ interface Base_Reply { * [See docs](https://hapijs.com/api/16.1.1#replyerr-result) "With the exception of the handler function, all other methods provide the reply.continue() method which instructs the framework to continue processing the request without setting a response." * @param result if called in the handler, prerequisites, or extension points other than the 'onPreHandler' and 'onPreResponse', the result argument is not allowed and will throw an exception if present. If called within an authentication strategy, it sets the authenticated credentials. If called by the 'onPreHandler' or 'onPreResponse' extensions, the result argument overrides the current response including all headers, and returns control back to the framework to continue processing any remaining extensions. */ -interface Continue_Reply { +export interface Continue_Reply { continue(result?: ReplyValue): Response | undefined; } @@ -2440,7 +2442,7 @@ export interface ResponseRedirect extends Response { /** * [See docs](https://hapijs.com/api/16.1.1#response-object) under "response object provides the following methods" > header > options */ -interface ResponseHeaderOptionsObject { +export interface ResponseHeaderOptionsObject { /** if true, the value is appended to any existing header value using separator. Defaults to false. */ append?: boolean; /** string used as separator when appending to an existing value. Defaults to ','. */ @@ -2482,7 +2484,7 @@ export interface PluginFunction { * see Plugin * [See docs](https://hapijs.com/api/16.1.1#plugins) */ -interface PluginAttributes { +export interface PluginAttributes { /** * required plugin name string. The name is used as a unique key. Published plugins should use the same name as the name field in the 'package.json' file. Names must be unique within each application. * NOTE: marked as optional as `pkg` can be used instead. @@ -2515,7 +2517,7 @@ export interface PluginsStates { * once, select, routes - optional plugin-specific registration options as defined see PluginRegistrationOptions * [See docs](https://hapijs.com/api/16.1.1#serverregisterplugins-options-callback) */ -interface PluginRegistrationObject extends PluginRegistrationOptions { +export interface PluginRegistrationObject extends PluginRegistrationOptions { /** the plugin registration function. */ register: PluginFunction; /** optional options passed to the registration function when called. */ @@ -2561,7 +2563,7 @@ export interface PluginRegistrationOptions { // }; // -export module Json { +export namespace Json { /** * @see {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter} */ diff --git a/types/hapi/test/getting-started/01-creating-a-server.ts b/types/hapi/test/getting-started/01-creating-a-server.ts index ce159b39a4..819ab5108e 100644 --- a/types/hapi/test/getting-started/01-creating-a-server.ts +++ b/types/hapi/test/getting-started/01-creating-a-server.ts @@ -1,11 +1,12 @@ +// From https://hapijs.com/tutorials/getting-started#creating-a-server + 'use strict'; -import * as Hapi from 'hapi'; +import Hapi = require('hapi'); const server = new Hapi.Server(); server.connection({ port: 3000, host: 'localhost' }); -// TODO check error can be of type string server.start((err) => { if (err) { diff --git a/types/hapi/test/getting-started/02-adding-routes.ts b/types/hapi/test/getting-started/02-adding-routes.ts index d52916fdf9..db4805366c 100644 --- a/types/hapi/test/getting-started/02-adding-routes.ts +++ b/types/hapi/test/getting-started/02-adding-routes.ts @@ -1,6 +1,8 @@ +// from https://hapijs.com/tutorials/getting-started#adding-routes + 'use strict'; -import * as Hapi from 'hapi'; +import Hapi = require('hapi'); const server = new Hapi.Server(); server.connection({ port: 3000, host: 'localhost' }); diff --git a/types/hapi/test/getting-started/03-serving-static-content.ts b/types/hapi/test/getting-started/03-serving-static-content.ts index 4990c3aa40..06200f2b07 100644 --- a/types/hapi/test/getting-started/03-serving-static-content.ts +++ b/types/hapi/test/getting-started/03-serving-static-content.ts @@ -1,10 +1,11 @@ 'use strict'; -import * as Hapi from 'hapi'; -import Inert from 'inert'; +import Hapi = require('hapi'); +import Inert = require('inert'); const server = new Hapi.Server(); -server.connection({ port: 3000, host: 'localhost' }); + +// from https://hapijs.com/tutorials/getting-started#creating-static-pages-and-content server.register(Inert, (err) => { @@ -19,4 +20,4 @@ server.register(Inert, (err) => { reply.file('./public/hello.html'); } }); -}); +}); \ No newline at end of file diff --git a/types/hapi/test/getting-started/04-using-plugins.ts b/types/hapi/test/getting-started/04-using-plugins.ts index 8260b1a4ab..28d1a1b576 100644 --- a/types/hapi/test/getting-started/04-using-plugins.ts +++ b/types/hapi/test/getting-started/04-using-plugins.ts @@ -1,6 +1,8 @@ +// from https://hapijs.com/tutorials/getting-started#using-plugins + 'use strict'; -import * as Hapi from 'hapi'; +import Hapi = require('hapi'); const Good = require('good'); const server = new Hapi.Server(); diff --git a/types/hapi/tslint.json b/types/hapi/tslint.json deleted file mode 100644 index 56c322f9d7..0000000000 --- a/types/hapi/tslint.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "dtslint/dt.json", - "rules": { - "indent": [true, "tabs"], - - // All TODOs - "ban-types": false, - "callable-types": false, - "interface-name": false, - "jsdoc-format": false, - "max-line-length": false, - "no-empty-interface": false, - "unified-signatures": false - } -} From 02389001d7c7b09d69798e29ca49f95c6cac9874 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 20:57:39 +0100 Subject: [PATCH 11/70] Fix hapi-auth-jwt2 to work with hapi-v16.1 typings --- types/hapi-auth-jwt2/index.d.ts | 208 ++++++++++++++++---------------- types/hapi/index.d.ts | 3 +- 2 files changed, 108 insertions(+), 103 deletions(-) diff --git a/types/hapi-auth-jwt2/index.d.ts b/types/hapi-auth-jwt2/index.d.ts index c12a1f8c04..69a8032bc5 100644 --- a/types/hapi-auth-jwt2/index.d.ts +++ b/types/hapi-auth-jwt2/index.d.ts @@ -2,125 +2,129 @@ // Project: http://github.com/dwyl/hapi-auth-jwt2 // Definitions by: Warren Seymour // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -import {Request, Response} from 'hapi'; +import {Request, Response, PluginFunction} from 'hapi'; -/** - * A key lookup function - * - * @param decoded the *decoded* but *unverified* JWT received from client - * @param callback the key lookup callback - */ -export type KeyLookup = (decoded: any, callback: KeyLookupCallback) => void; - -/** - * Called when key lookup function has completed - * - * @param err an internal error - * @param key the secret key - * @param extraInfo any additional information that you would like - * to use in `validateFunc` which can be accessed via - * `request.plugins['hapi-auth-jwt2'].extraInfo` - */ -export type KeyLookupCallback = (err: any, key: string, extraInfo?: any) => void; - -/** - * Called when Validation has completed - * - * @param err an internal error - * @param valid `true` if the JWT was valid, otherwise `false` - * @param credentials alternative credentials to be set instead of `decoded` - */ -export type ValidateCallback = (err: any, valid: boolean, credentials?: any) => void; - -/** - * Options passed to `hapi.auth.strategy` when this plugin is used - */ -export interface Options { - /** - * The secret key used to check the signature of the token *or* a *key lookup function* - */ - key?: string | KeyLookup; - - /** - * The function which is run once the Token has been decoded - * - * @param decoded the *decoded* and *verified* JWT received from the client in *request.headers.authorization* - * @param request the original *request* received from the client - * @param callback the validation callback - */ - validateFunc(decoded: {}, request: Request, callback: ValidateCallback): void; - - /** - * Settings to define how tokens are verified by the jsonwebtoken library - */ - verifyOptions?: { +declare namespace hapiAuthJwt2 { /** - * Ignore expired tokens + * A key lookup function + * + * @param decoded the *decoded* but *unverified* JWT received from client + * @param callback the key lookup callback */ - ignoreExpiration?: boolean; + export type KeyLookup = (decoded: any, callback: KeyLookupCallback) => void; /** - * Do not enforce token audience + * Called when key lookup function has completed + * + * @param err an internal error + * @param key the secret key + * @param extraInfo any additional information that you would like + * to use in `validateFunc` which can be accessed via + * `request.plugins['hapi-auth-jwt2'].extraInfo` */ - audience?: boolean; + export type KeyLookupCallback = (err: any, key: string, extraInfo?: any) => void; /** - * Do not require the issuer to be valid + * Called when Validation has completed + * + * @param err an internal error + * @param valid `true` if the JWT was valid, otherwise `false` + * @param credentials alternative credentials to be set instead of `decoded` */ - issuer?: boolean; + export type ValidateCallback = (err: any, valid: boolean, credentials?: any) => void; /** - * List of allowed algorithms + * Options passed to `hapi.auth.strategy` when this plugin is used */ - algorithms?: string[]; - }; + export interface Options { + /** + * The secret key used to check the signature of the token *or* a *key lookup function* + */ + key?: string | KeyLookup; - /** - * function called to decorate the response with authentication headers - * before the response headers or payload is written - * - * @param request the Request object - * @param reply is called if an error occurred - */ - responseFunc?(request: Request, reply: (err: any, response: Response) => void): void; + /** + * The function which is run once the Token has been decoded + * + * @param decoded the *decoded* and *verified* JWT received from the client in *request.headers.authorization* + * @param request the original *request* received from the client + * @param callback the validation callback + */ + validateFunc(decoded: {}, request: Request, callback: ValidateCallback): void; - /** - * If you prefer to pass your token via url, simply add a token url - * parameter to your request or use a custom parameter by setting `urlKey. - * To disable the url parameter set urlKey to `false` or ''. - * @default 'token' - */ - urlKey?: string | boolean; + /** + * Settings to define how tokens are verified by the jsonwebtoken library + */ + verifyOptions?: { + /** + * Ignore expired tokens + */ + ignoreExpiration?: boolean; - /** - * If you prefer to set your own cookie key or your project has a cookie - * called 'token' for another purpose, you can set a custom key for your - * cookie by setting `options.cookieKey='yourkeyhere'`. To disable cookies - * set cookieKey to `false` or ''. - * @default 'token' - */ - cookieKey?: string | boolean; + /** + * Do not enforce token audience + */ + audience?: boolean; - /** - * If you want to set a custom key for your header token use the - * `headerKey` option. To disable header token set headerKey to `false` or - * ''. - * @default 'authorization' - */ - headerKey?: string | boolean; + /** + * Do not require the issuer to be valid + */ + issuer?: boolean; - /** - * Allow custom token type, e.g. `Authorization: 12345678` - */ - tokenType?: string; + /** + * List of allowed algorithms + */ + algorithms?: string[]; + }; - /** - * Set to `true` to receive the complete token (`decoded.header`, - * `decoded.payload` and `decoded.signature`) as decoded argument to key - * lookup and `verifyFunc` callbacks (*not `validateFunc`*) - * @default false - */ - complete?: boolean; + /** + * function called to decorate the response with authentication headers + * before the response headers or payload is written + * + * @param request the Request object + * @param reply is called if an error occurred + */ + responseFunc?(request: Request, reply: (err: any, response: Response) => void): void; + + /** + * If you prefer to pass your token via url, simply add a token url + * parameter to your request or use a custom parameter by setting `urlKey. + * To disable the url parameter set urlKey to `false` or ''. + * @default 'token' + */ + urlKey?: string | boolean; + + /** + * If you prefer to set your own cookie key or your project has a cookie + * called 'token' for another purpose, you can set a custom key for your + * cookie by setting `options.cookieKey='yourkeyhere'`. To disable cookies + * set cookieKey to `false` or ''. + * @default 'token' + */ + cookieKey?: string | boolean; + + /** + * If you want to set a custom key for your header token use the + * `headerKey` option. To disable header token set headerKey to `false` or + * ''. + * @default 'authorization' + */ + headerKey?: string | boolean; + + /** + * Allow custom token type, e.g. `Authorization: 12345678` + */ + tokenType?: string; + + /** + * Set to `true` to receive the complete token (`decoded.header`, + * `decoded.payload` and `decoded.signature`) as decoded argument to key + * lookup and `verifyFunc` callbacks (*not `validateFunc`*) + * @default false + */ + complete?: boolean; + } } -export default function hapiAuthJwt2(): void; +declare var hapiAuthJwt2: PluginFunction<{}>; + +export = hapiAuthJwt2; diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index a4159770f1..c2bf0ae3f5 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -1629,7 +1629,8 @@ export interface ServerAuth { * @param mode if set to true (which is the same as 'required') or to a valid authentication mode ('required', 'optional', 'try'), the scheme is automatically assigned as the default strategy for any route without an auth config. Can only be assigned to a single server strategy. Defaults to false (no default settings). * @param options scheme options based on the scheme requirements. */ - strategy(name: string, scheme: string, mode?: boolean | 'required' | 'optional' | 'try', options?: any): void; + strategy(name: string, scheme: string, options?: any): void; + strategy(name: string, scheme: string, mode: boolean | 'required' | 'optional' | 'try', options?: any): void; /** * Tests a request against an authentication strategy * Note that the test() method does not take into account the route authentication configuration. It also does not perform payload authentication. It is limited to the basic strategy authentication execution. It does not include verifying scope, entity, or other route properties. From 92c0981ea3682229aa13e3175f4d2ddd8f8dd08d Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Sun, 7 May 2017 21:16:40 +0100 Subject: [PATCH 12/70] Fix hapi-auth-jwt2 and hapi-decorators Remove redundant `export`s inside hapi-auth-jw2 and remove repeated hapi definitions in hapi-decorators --- types/hapi-auth-jwt2/index.d.ts | 8 +-- .../hapi-decorators/hapi-decorators-tests.ts | 12 ++-- types/hapi-decorators/index.d.ts | 61 ++----------------- 3 files changed, 15 insertions(+), 66 deletions(-) diff --git a/types/hapi-auth-jwt2/index.d.ts b/types/hapi-auth-jwt2/index.d.ts index 69a8032bc5..2e5826e044 100644 --- a/types/hapi-auth-jwt2/index.d.ts +++ b/types/hapi-auth-jwt2/index.d.ts @@ -11,7 +11,7 @@ declare namespace hapiAuthJwt2 { * @param decoded the *decoded* but *unverified* JWT received from client * @param callback the key lookup callback */ - export type KeyLookup = (decoded: any, callback: KeyLookupCallback) => void; + type KeyLookup = (decoded: any, callback: KeyLookupCallback) => void; /** * Called when key lookup function has completed @@ -22,7 +22,7 @@ declare namespace hapiAuthJwt2 { * to use in `validateFunc` which can be accessed via * `request.plugins['hapi-auth-jwt2'].extraInfo` */ - export type KeyLookupCallback = (err: any, key: string, extraInfo?: any) => void; + type KeyLookupCallback = (err: any, key: string, extraInfo?: any) => void; /** * Called when Validation has completed @@ -31,12 +31,12 @@ declare namespace hapiAuthJwt2 { * @param valid `true` if the JWT was valid, otherwise `false` * @param credentials alternative credentials to be set instead of `decoded` */ - export type ValidateCallback = (err: any, valid: boolean, credentials?: any) => void; + type ValidateCallback = (err: any, valid: boolean, credentials?: any) => void; /** * Options passed to `hapi.auth.strategy` when this plugin is used */ - export interface Options { + interface Options { /** * The secret key used to check the signature of the token *or* a *key lookup function* */ diff --git a/types/hapi-decorators/hapi-decorators-tests.ts b/types/hapi-decorators/hapi-decorators-tests.ts index 49a112152a..2a6f2df5b3 100644 --- a/types/hapi-decorators/hapi-decorators-tests.ts +++ b/types/hapi-decorators/hapi-decorators-tests.ts @@ -4,7 +4,7 @@ import { controller, get, post, put, cache, config, route, validate, Controller @controller('/test') class TestController implements Controller { baseUrl: string; - routes: () => hapi.IRouteConfiguration[]; + routes: () => hapi.RouteConfiguration[]; @get('/') @config({ @@ -16,22 +16,22 @@ class TestController implements Controller { @validate({ payload: false }) - getHandler(request: hapi.Request, reply: hapi.IReply) { + getHandler(request: hapi.Request, reply: hapi.ReplyNoContinue) { reply({ success: true }); } @post('/') - postHandler(request: hapi.Request, reply: hapi.IReply) { + postHandler(request: hapi.Request, reply: hapi.ReplyNoContinue) { reply({ success: true }); } @put('/{id}') - putHandler(request: hapi.Request, reply: hapi.IReply) { + putHandler(request: hapi.Request, reply: hapi.ReplyNoContinue) { reply({ success: true }); } @route('delete', '/{id}') - deleteHandler(request: hapi.Request, reply: hapi.IReply) { + deleteHandler(request: hapi.Request, reply: hapi.ReplyNoContinue) { reply({ success: true }); } } @@ -50,7 +50,7 @@ class SimpleTestController implements Controller { } baseUrl: string; - routes: () => hapi.IRouteConfiguration[]; + routes: () => hapi.RouteConfiguration[]; } server.route(new SimpleTestController('bar').routes()); diff --git a/types/hapi-decorators/index.d.ts b/types/hapi-decorators/index.d.ts index fc32ae8ad5..2933945e64 100644 --- a/types/hapi-decorators/index.d.ts +++ b/types/hapi-decorators/index.d.ts @@ -4,12 +4,13 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import * as hapi from 'hapi'; +import * as Joi from 'joi'; interface ControllerStatic { new (...args: any[]): Controller; } export interface Controller { baseUrl: string; - routes: () => hapi.IRouteConfiguration[]; + routes: () => hapi.RouteConfiguration[]; } export function controller(baseUrl: string): (target: ControllerStatic) => void; interface IRouteSetup { @@ -28,61 +29,9 @@ export const put: IRouteConfig; // export const delete: IRouteConfig; export const patch: IRouteConfig; export const all: IRouteConfig; -export function config(config: hapi.IRouteAdditionalConfigurationOptions): (target: any, key: any, descriptor: any) => any; -interface IValidateConfig { - /** validation rules for incoming request headers.Values allowed: - * trueany headers allowed (no validation performed).This is the default. - falseno headers allowed (this will cause all valid HTTP requests to fail). - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the request headers. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. - */ - headers?: boolean | hapi.IJoi | hapi.IValidationFunction; - /** validation rules for incoming request path parameters, after matching the path against the route and extracting any parameters then stored in request.params.Values allowed: - trueany path parameters allowed (no validation performed).This is the default. - falseno path variables allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the path parameters. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. */ - params?: boolean | hapi.IJoi | hapi.IValidationFunction; - /** validation rules for an incoming request URI query component (the key- value part of the URI between '?' and '#').The query is parsed into its individual key- value pairs (using the qs module) and stored in request.query prior to validation.Values allowed: - trueany query parameters allowed (no validation performed).This is the default. - falseno query parameters allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the query parameters. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. */ - query?: boolean | hapi.IJoi | hapi.IValidationFunction; - /** validation rules for an incoming request payload (request body).Values allowed: - trueany payload allowed (no validation performed).This is the default. - falseno payload allowed. - a Joi validation object. - a validation function using the signature function(value, options, next) where: - valuethe object containing the payload object. - optionsthe server validation options. - next(err, value)the callback function called when validation is completed. */ - payload?: boolean | hapi.IJoi | hapi.IValidationFunction; - /** an optional object with error fields copied into every validation error response. */ - errorFields?: any; - /** determines how to handle invalid requests.Allowed values are: - 'error'return a Bad Request (400) error response.This is the default value. - 'log'log the error but continue processing the request. - 'ignore'take no action. - OR a custom error handler function with the signature 'function(request, reply, source, error)` where: - requestthe request object. - replythe continuation reply interface. - sourcethe source of the invalid field (e.g. 'path', 'query', 'payload'). - errorthe error object prepared for the client response (including the validation function error under error.data). */ - failAction?: string | hapi.IRouteFailFunction; - /** options to pass to Joi.Useful to set global options such as stripUnknown or abortEarly (the complete list is available here: https://github.com/hapijs/joi#validatevalue-schema-options-callback ).Defaults to no options. */ - options?: any; -} -export function validate(config: IValidateConfig): (target: any, key: any, descriptor: any) => any; +export function config(config: hapi.RouteAdditionalConfigurationOptions): (target: any, key: any, descriptor: any) => any; + +export function validate(config: hapi.RouteValidationConfigurationObject): (target: any, key: any, descriptor: any) => any; interface ICacheConfig { privacy?: string; expiresIn?: number; From 97ff039dc53e6a10397743181cf5fdd645dd6d37 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 00:41:29 +0100 Subject: [PATCH 13/70] Add hapi-auth-basic to enable fixing nes properly --- .../hapi-auth-basic/hapi-auth-basic-tests.ts | 40 +++++++++++++++++++ types/hapi-auth-basic/index.d.ts | 21 ++++++++++ types/hapi-auth-basic/tsconfig.json | 22 ++++++++++ 3 files changed, 83 insertions(+) create mode 100644 types/hapi-auth-basic/hapi-auth-basic-tests.ts create mode 100644 types/hapi-auth-basic/index.d.ts create mode 100644 types/hapi-auth-basic/tsconfig.json diff --git a/types/hapi-auth-basic/hapi-auth-basic-tests.ts b/types/hapi-auth-basic/hapi-auth-basic-tests.ts new file mode 100644 index 0000000000..13dd159377 --- /dev/null +++ b/types/hapi-auth-basic/hapi-auth-basic-tests.ts @@ -0,0 +1,40 @@ +import Bcrypt = require('bcrypt'); +import Basic = require('hapi-auth-basic'); +import * as Hapi from 'hapi'; + +const server = new Hapi.Server(); + +interface User { + username: string; + password: string; + name: string; + id: string; +} + +const users: {[index: string]: User} = { + john: { + username: 'john', + password: '$2a$10$iqJSHD.BGr0E2IxQwYgJmeP3NvhPrXAeLSaGCj6IR/XU5QtjVu5Tm', // 'secret' + name: 'John Doe', + id: '2133d32a' + } +}; + +const validate: Basic.ValidateFunc = function (request, username, password, callback) { + + const user = users[username]; + if (!user) { + return callback(null, false); + } + + Bcrypt.compare(password, user.password, (err, isValid) => { + + callback(err, isValid, { id: user.id, name: user.name }); + }); +}; + +server.register(Basic, (err) => { + + server.auth.strategy('simple', 'basic', { validateFunc: validate }); + server.route({ method: 'GET', path: '/', config: { auth: 'simple' } }); +}); diff --git a/types/hapi-auth-basic/index.d.ts b/types/hapi-auth-basic/index.d.ts new file mode 100644 index 0000000000..23b06de111 --- /dev/null +++ b/types/hapi-auth-basic/index.d.ts @@ -0,0 +1,21 @@ +// Type definitions for hapi 4.2 +// Project: https://github.com/hapijs/hapi-auth-basic +// Definitions by: AJP +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +import * as Hapi from 'hapi'; + +declare namespace Basic { + interface ValidateFuncCallback { + (err: Error | null, isValid: boolean, userCredentials?: any): void; + } + + interface ValidateFunc { + (request: Hapi.Request, username: string, password: string, callback: ValidateFuncCallback): void; + } +} + +declare var Basic: Hapi.PluginFunction<{}>; + +export = Basic; diff --git a/types/hapi-auth-basic/tsconfig.json b/types/hapi-auth-basic/tsconfig.json new file mode 100644 index 0000000000..de57117fd5 --- /dev/null +++ b/types/hapi-auth-basic/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "hapi-auth-basic-tests" + ] +} From 8006e24a6489abd26cda06eff43fd2b2bfb5618a Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 00:42:01 +0100 Subject: [PATCH 14/70] POTENTIAL REGRESSION. Fix nes and add multiple tests * Potential regression due to not supporting require('nes/client') however no working tests to test this against yet. Added a blank test in nes/test/client-require.ts --- types/nes/index.d.ts | 162 +++++++++++------- types/nes/test/broadcast-client.ts | 12 ++ types/nes/test/broadcast-server.ts | 15 ++ types/nes/test/client-require.ts | 7 + types/nes/{ => test}/nes-tests.ts | 4 +- types/nes/test/route-authentication-client.ts | 12 ++ types/nes/test/route-authentication-server.ts | 61 +++++++ types/nes/test/route-invocation-client.ts | 12 ++ types/nes/test/route-invocation-server.ts | 24 +++ types/nes/test/subscription-filter-client.ts | 18 ++ types/nes/test/subscription-filter-server.ts | 60 +++++++ types/nes/test/subscriptions-client.ts | 15 ++ types/nes/test/subscriptions-server.ts | 18 ++ types/nes/tsconfig.json | 13 +- 14 files changed, 371 insertions(+), 62 deletions(-) create mode 100644 types/nes/test/broadcast-client.ts create mode 100644 types/nes/test/broadcast-server.ts create mode 100644 types/nes/test/client-require.ts rename types/nes/{ => test}/nes-tests.ts (93%) create mode 100644 types/nes/test/route-authentication-client.ts create mode 100644 types/nes/test/route-authentication-server.ts create mode 100644 types/nes/test/route-invocation-client.ts create mode 100644 types/nes/test/route-invocation-server.ts create mode 100644 types/nes/test/subscription-filter-client.ts create mode 100644 types/nes/test/subscription-filter-server.ts create mode 100644 types/nes/test/subscriptions-client.ts create mode 100644 types/nes/test/subscriptions-server.ts diff --git a/types/nes/index.d.ts b/types/nes/index.d.ts index 6ebc9ee1c0..95c3dd0835 100644 --- a/types/nes/index.d.ts +++ b/types/nes/index.d.ts @@ -3,38 +3,70 @@ // Definitions by: Ivo Stratev // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/// +import * as Hapi from 'hapi'; -declare module 'nes' { - import Hapi = require('hapi'); +declare module 'hapi' { + interface Server { + broadcast(message: any, options?: nes.ServerBroadcastOptions): void; + subscription(path: string, options?: nes.ServerSubscriptionOptions): void; + publish(path: string, message: any, options?: nes.ServerPublishOptions): void; + eachSocket(each: (socket: SocketClass) => void, options?: nes.ServerEachSocketOptions): void; + } +} - export interface SocketAuthObject { +declare class SocketClass { + id: any; + app: Object; + auth: nes.SocketAuthObject; + disconect(callback?: () => void): void; + send(message: any, callback?: (err?: any) => void): void; + publish(path: string, message: any, callback?: (err?: any) => void): void; + revoke(path: string, message: any, callback?: (err?: any) => void): void; +} + +declare class RequestClass extends Hapi.Request { + socket: SocketClass; +} + +declare class ClientClass { + onError: (err: any) => void; + onConnect: () => void; + onDisconnect: () => void; + onUpdate: (message: any) => void; + connect(options: nes.ClientConnectOptions, callback: (err?: any) => void): void; + connect(callback: (err?: any) => void): void; + disconnect(): void; + id: any; + request(options: string | nes.ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; + message(message: any, callback: (err: any, message: any) => void): void; + subscribe(path: string, handler: nes.Handler, callback: (err?: any) => void): void; + unsubscribe(path: string, handler: nes.Handler, callback: (err?: any) => void): void; + subscriptions(): string[]; + overrideReconnectionAuth(auth: any): void; +} + +declare module nes { + interface Handler { + (message: any, flags: nes.ClientSubscribeFlags): void; + } + + interface SocketAuthObject { isAuthenticated: boolean; credentials: any; artifacts: any; } - export class Socket { - id: any; - app: Object; - auth: SocketAuthObject; - disconect(callback?: () => void): void; - send(message: any, callback?: (err?: any) => void): void; - publish(path: string, message: any, callback?: (err?: any) => void): void; - revoke(path: string, message: any, callback?: (err?: any) => void): void; - } - - export interface ServerBroadcastOptions { + interface ServerBroadcastOptions { user: any } - export interface ServerSubscriptionOptionsFilterOptions { + interface ServerSubscriptionOptionsFilterOptions { socket: Socket; credentials?: any; params?: any; } - export interface ServerSubscriptionOptionsAuthOptions { + interface ServerSubscriptionOptionsAuthOptions { mode?: 'required' | 'optional'; scope?: string | string[]; entity?: 'user' | 'app' | 'any'; @@ -49,40 +81,29 @@ declare module 'nes' { export type ServerOnUnSubscribeWithoutParams = (socket: Socket, path: string, next: () => void) => void; export type ServerOnUnSubscribe = ServerOnUnSubscribeWithParams | ServerOnUnSubscribeWithoutParams; - export interface ServerSubscriptionOptions { - filter?: (path: string, message: any, options: ServerSubscriptionOptionsFilterOptions, next: (isMatch: boolean, override: any) => void) => void; + interface ServerSubscriptionOptions { + filter?: (path: string, message: any, options: ServerSubscriptionOptionsFilterOptions, next: (isMatch: boolean, override?: any) => void) => void; auth?: boolean | ServerSubscriptionOptionsAuthOptions; onSubscribe?: ServerOnSubscribe; onUnsubscribe?: ServerOnUnSubscribe; } - export interface ServerPublishOptions { + interface ServerPublishOptions { internal?: any; user?: any; } - export interface ServerEachSocketOptions { + interface ServerEachSocketOptions { subscription?: string; user?: any; } - export class Server extends Hapi.Server { - broadcast(message: any, options?: ServerBroadcastOptions): void; - subscription(path: string, options?: ServerSubscriptionOptions): void; - publish(path: string, message: any, options?: ServerPublishOptions): void; - eachSocket(each: (socket: Socket) => void, options?: ServerEachSocketOptions): void; - } - - export class Request extends Hapi.Request { - socket: Socket; - } - - export interface ClientOptions { + interface ClientOptions { ws?: any; timeout?: number | boolean; } - export interface ClientConnectOptions { + interface ClientConnectOptions { auth?: any; delay?: number; maxDelay?: number; @@ -90,41 +111,64 @@ declare module 'nes' { timeout?: number; } - export interface ClientRequestOptions { + interface ClientRequestOptions { path: string; method?: string; headers?: Object; payload?: any; } - export interface ClientSubscribeFlags { + interface ClientSubscribeFlags { revoked?: boolean; } - export class Client { - constructor(url: string, options?: ClientOptions); - onError: (err: any) => void; - onConnect: () => void; - onDisconnect: () => void; - onUpdate: (message: any) => void; - connect(options: ClientConnectOptions, callback: (err?: any) => void): void; - connect(callback: (err?: any) => void): void; - disconnect(): void; - id: any; - request(options: string | ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; - message(message: any, callback: (err: any, message: any) => void): void; - subscribe(path: string, handler: (message: any, flags: ClientSubscribeFlags) => void, callback: (err?: any) => void): void; - unsubscribe(path: string, handler: (message: any, flags: ClientSubscribeFlags) => void, callback: (err?: any) => void): void; - subscriptions(): string[]; - overrideReconnectionAuth(auth: any): void; + interface Socket extends SocketClass { + } + + interface Server extends Hapi.Server { + } + + interface Request extends RequestClass { + } + + interface Client extends ClientClass { } } -declare module 'nes/client' { - export { - Client, - ClientConnectOptions, - ClientRequestOptions, - ClientSubscribeFlags - } from 'nes'; +interface NesResources { + Socket: { + new(): SocketClass; + }; + + Server: { + new(): Hapi.Server; + }; + + Request: { + new(): RequestClass; + }; + + Client: { + new(url: string, options?: nes.ClientOptions): ClientClass; + }; } + +// TODO fix this. See test/client-require.ts test case. +declare module 'nes/client' { + var nesClient: NesResources; + + export = nesClient; + + // export { + // ClientClass, + // // ClientConnectOptions, + // // ClientRequestOptions, + // // ClientSubscribeFlags + // }; +} + +interface NesExports extends NesResources, Hapi.PluginFunction<{}> {} + +declare var nes: NesExports; + +export = nes; diff --git a/types/nes/test/broadcast-client.ts b/types/nes/test/broadcast-client.ts new file mode 100644 index 0000000000..1cf8797365 --- /dev/null +++ b/types/nes/test/broadcast-client.ts @@ -0,0 +1,12 @@ +// from https://github.com/hapijs/nes#broadcast + +import Nes = require('nes'); + +var client = new Nes.Client('ws://localhost'); +client.connect(function (err) { + + client.onUpdate = function (update) { + + // update -> 'welcome!' + }; +}); diff --git a/types/nes/test/broadcast-server.ts b/types/nes/test/broadcast-server.ts new file mode 100644 index 0000000000..dcfcb3400e --- /dev/null +++ b/types/nes/test/broadcast-server.ts @@ -0,0 +1,15 @@ +// from https://github.com/hapijs/nes#broadcast + +import Hapi = require('hapi'); +import Nes = require('nes'); + +var server = new Hapi.Server(); +server.connection(); + +server.register(Nes, function (err) { + + server.start(function (err) { + + server.broadcast('welcome!'); + }); +}); diff --git a/types/nes/test/client-require.ts b/types/nes/test/client-require.ts new file mode 100644 index 0000000000..90bce07d33 --- /dev/null +++ b/types/nes/test/client-require.ts @@ -0,0 +1,7 @@ +// from https://github.com/hapijs/nes/#browser-client +// When you require('nes') it loads the full module and adds a lot of extra code +// that is not needed for the browser. The browser will only need the nes client. +// If you are using CommonJS you can load the client with require('nes/client'). + +// TODO fix this +// import nes = require('nes/client'); diff --git a/types/nes/nes-tests.ts b/types/nes/test/nes-tests.ts similarity index 93% rename from types/nes/nes-tests.ts rename to types/nes/test/nes-tests.ts index effe4e6c94..9dd12ae99a 100644 --- a/types/nes/nes-tests.ts +++ b/types/nes/test/nes-tests.ts @@ -1,7 +1,7 @@ import Hapi = require('hapi'); import Nes = require('nes'); -let server: Hapi.Server = new Hapi.Server(); +var server: Hapi.Server = new Hapi.Server(); server.connection({port: 8080}); server.register(Nes, (regErr: any) => { @@ -15,7 +15,7 @@ server.register(Nes, (regErr: any) => { method: 'GET', path: '/test', config: { - handler: (request: Hapi.Request, reply: Hapi.IReply) => { + handler: (request: Hapi.Request, reply: Hapi.ReplyNoContinue) => { reply({test: 'passes'}); } } diff --git a/types/nes/test/route-authentication-client.ts b/types/nes/test/route-authentication-client.ts new file mode 100644 index 0000000000..b3fd33fe95 --- /dev/null +++ b/types/nes/test/route-authentication-client.ts @@ -0,0 +1,12 @@ +// from https://github.com/hapijs/nes#route-authentication + +import Nes = require('nes'); + +var client = new Nes.Client('ws://localhost'); +client.connect({ auth: { headers: { authorization: 'Basic am9objpzZWNyZXQ=' } } }, function (err) { + + client.request('hello', function (err, payload) { // Can also request '/h' + + // payload -> 'Hello John Doe' + }); +}); diff --git a/types/nes/test/route-authentication-server.ts b/types/nes/test/route-authentication-server.ts new file mode 100644 index 0000000000..5b4634d77d --- /dev/null +++ b/types/nes/test/route-authentication-server.ts @@ -0,0 +1,61 @@ +// from https://github.com/hapijs/nes#route-authentication + +import Hapi = require('hapi'); +import Basic = require('hapi-auth-basic'); +import Bcrypt = require('bcrypt'); +import Nes = require('nes'); + +var server = new Hapi.Server(); +server.connection(); + +server.register([Basic, Nes], function (err) { + + // Set up HTTP Basic authentication + + interface User { + username: string; + password: string; + name: string; + id: string; + } + + var users: {[index: string]: User} = { + john: { + username: 'john', + password: '$2a$10$iqJSHD.BGr0E2IxQwYgJmeP3NvhPrXAeLSaGCj6IR/XU5QtjVu5Tm', // 'secret' + name: 'John Doe', + id: '2133d32a' + } + }; + + var validate: Basic.ValidateFunc = function (request, username, password, callback) { + + var user = users[username]; + if (!user) { + return callback(null, false); + } + + Bcrypt.compare(password, user.password, function (err, isValid) { + + callback(err, isValid, { id: user.id, name: user.name }); + }); + }; + + server.auth.strategy('simple', 'basic', 'required', { validateFunc: validate }); + + // Configure route with authentication + + server.route({ + method: 'GET', + path: '/h', + config: { + id: 'hello', + handler: function (request, reply) { + + return reply('Hello ' + request.auth.credentials.name); + } + } + }); + + server.start(function (err) { /* ... */ }); +}); diff --git a/types/nes/test/route-invocation-client.ts b/types/nes/test/route-invocation-client.ts new file mode 100644 index 0000000000..e25e64e349 --- /dev/null +++ b/types/nes/test/route-invocation-client.ts @@ -0,0 +1,12 @@ +// from https://github.com/hapijs/nes#route-invocation + +import Nes = require('nes'); + +var client = new Nes.Client('ws://localhost'); +client.connect(function (err) { + + client.request('hello', function (err, payload) { // Can also request '/h' + + // payload -> 'world!' + }); +}); diff --git a/types/nes/test/route-invocation-server.ts b/types/nes/test/route-invocation-server.ts new file mode 100644 index 0000000000..c32780baa9 --- /dev/null +++ b/types/nes/test/route-invocation-server.ts @@ -0,0 +1,24 @@ +// from https://github.com/hapijs/nes#route-invocation + +import Hapi = require('hapi'); +import Nes = require('nes'); + +var server = new Hapi.Server(); +server.connection(); + +server.register(Nes, function (err) { + + server.route({ + method: 'GET', + path: '/h', + config: { + id: 'hello', + handler: function (request, reply) { + + return reply('world!'); + } + } + }); + + server.start(function (err) { /* ... */ }); +}); diff --git a/types/nes/test/subscription-filter-client.ts b/types/nes/test/subscription-filter-client.ts new file mode 100644 index 0000000000..bd5c9c88f5 --- /dev/null +++ b/types/nes/test/subscription-filter-client.ts @@ -0,0 +1,18 @@ +// from https://github.com/hapijs/nes#subscription-filter + +import Nes = require('nes'); + +var client = new Nes.Client('ws://localhost'); + +// Authenticate as 'john' + +client.connect({ auth: { headers: { authorization: 'Basic am9objpzZWNyZXQ=' } } }, function (err) { + + var handler: Nes.Handler = function (err, update) { + + // First publish is not received (filtered due to updater key) + // update -> { id: 6, status: 'initial', updater: 'steve' } + }; + + client.subscribe('/items', handler, function (err) { }); +}); diff --git a/types/nes/test/subscription-filter-server.ts b/types/nes/test/subscription-filter-server.ts new file mode 100644 index 0000000000..be2dda8d7f --- /dev/null +++ b/types/nes/test/subscription-filter-server.ts @@ -0,0 +1,60 @@ +// from https://github.com/hapijs/nes#subscription-filter + +import Hapi = require('hapi'); +import Basic = require('hapi-auth-basic'); +import Bcrypt = require('bcrypt'); +import Nes = require('nes'); + +var server = new Hapi.Server(); +server.connection(); + +server.register([Basic, Nes], function (err) { + + // Set up HTTP Basic authentication + + interface User { + username: string; + password: string; + name: string; + id: string; + } + + var users: {[index: string]: User} = { + john: { + username: 'john', + password: '$2a$10$iqJSHD.BGr0E2IxQwYgJmeP3NvhPrXAeLSaGCj6IR/XU5QtjVu5Tm', // 'secret' + name: 'John Doe', + id: '2133d32a' + } + }; + + var validate: Basic.ValidateFunc = function (request, username, password, callback) { + + var user = users[username]; + if (!user) { + return callback(null, false); + } + + Bcrypt.compare(password, user.password, function (err, isValid) { + + callback(err, isValid, { id: user.id, name: user.name, username: user.username }); + }); + }; + + server.auth.strategy('simple', 'basic', 'required', { validateFunc: validate }); + + // Set up subscription + + server.subscription('/items', { + filter: function (path, message, options, next) { + + return next(message.updater !== options.credentials.username); + } + }); + + server.start(function (err) { + + server.publish('/items', { id: 5, status: 'complete', updater: 'john' }); + server.publish('/items', { id: 6, status: 'initial', updater: 'steve' }); + }); +}); diff --git a/types/nes/test/subscriptions-client.ts b/types/nes/test/subscriptions-client.ts new file mode 100644 index 0000000000..1e33eac40f --- /dev/null +++ b/types/nes/test/subscriptions-client.ts @@ -0,0 +1,15 @@ +// from https://github.com/hapijs/nes#subscriptions + +import Nes = require('nes'); + +var client = new Nes.Client('ws://localhost'); +client.connect(function (err) { + + var handler: Nes.Handler = function (update, flags) { + + // update -> { id: 5, status: 'complete' } + // Second publish is not received (doesn't match) + }; + + client.subscribe('/item/5', handler, function (err) { }); +}); diff --git a/types/nes/test/subscriptions-server.ts b/types/nes/test/subscriptions-server.ts new file mode 100644 index 0000000000..23212f21ea --- /dev/null +++ b/types/nes/test/subscriptions-server.ts @@ -0,0 +1,18 @@ +// from https://github.com/hapijs/nes#subscriptions + +import Hapi = require('hapi'); +import Nes = require('nes'); + +var server = new Hapi.Server(); +server.connection(); + +server.register(Nes, function (err) { + + server.subscription('/item/{id}'); + + server.start(function (err) { + + server.publish('/item/5', { id: 5, status: 'complete' }); + server.publish('/item/6', { id: 6, status: 'initial' }); + }); +}); diff --git a/types/nes/tsconfig.json b/types/nes/tsconfig.json index 74c7bfef19..a2cd55a5db 100644 --- a/types/nes/tsconfig.json +++ b/types/nes/tsconfig.json @@ -17,6 +17,17 @@ }, "files": [ "index.d.ts", - "nes-tests.ts" + "test/client-require.ts", + "test/nes-tests.ts", + "test/broadcast-client.ts", + "test/broadcast-server.ts", + "test/route-authentication-client.ts", + "test/route-authentication-server.ts", + "test/route-invocation-client.ts", + "test/route-invocation-server.ts", + "test/subscription-filter-client.ts", + "test/subscription-filter-server.ts", + "test/subscriptions-client.ts", + "test/subscriptions-server.ts" ] } \ No newline at end of file From 89f08736f0993af9797e3b3de02b8a35f4e711fe Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 00:43:40 +0100 Subject: [PATCH 15/70] Fix Podium tests --- types/hapi/index.d.ts | 12 +-- types/podium/index.d.ts | 176 +++++++++++++++++------------------ types/podium/podium-tests.ts | 4 +- 3 files changed, 95 insertions(+), 97 deletions(-) diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index c2bf0ae3f5..6922f65bd8 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -40,7 +40,7 @@ import { import * as Catbox from 'catbox'; import {MimosOptions} from 'mimos'; -import * as Podium from 'podium'; +import Podium = require('podium'); import * as Shot from 'shot'; export interface Dictionary { @@ -54,7 +54,7 @@ export interface Dictionary { * [See docs](https://hapijs.com/api/16.1.1#server-properties) * [See docs](https://hapijs.com/api/16.1.1#server-events) */ -export class Server extends Podium.Podium { +export class Server extends Podium { /** * Creates a new Server object */ @@ -982,7 +982,7 @@ export type PayLoadOutputOption = 'data' | 'stream' | 'file'; * * a podium [See docs](https://github.com/hapijs/podium) emitter object. * For context [See docs](https://hapijs.com/api/16.1.1#servereventevents) > events parameter */ -export type ApplicationEvent = string | ApplicationEventOptionsObject | Podium.Podium; +export type ApplicationEvent = string | ApplicationEventOptionsObject | Podium; /** * an event options object @@ -1727,7 +1727,7 @@ export interface ServerCacheMethod { * [See docs](https://hapijs.com/api/16.1.1#request-object) * [See docs](https://hapijs.com/api/16.1.1#request-properties) */ -export class Request extends Podium.Podium { +export class Request extends Podium { /** application-specific state. Provides a safe place to store application data without potential conflicts with the framework. Should not be used by plugins which should use plugins[name]. */ app: any; /** authentication information */ @@ -2228,11 +2228,11 @@ export interface ReplyNoContinue extends Base_Reply {} * Response object * [See docs](https://hapijs.com/api/16.1.1#response-object) * - * TODO, check extending from Podium.Podium is correct. Extending because of "The response object supports the following events" [See docs](https://hapijs.com/api/16.1.1#response-events) + * TODO, check extending from Podium is correct. Extending because of "The response object supports the following events" [See docs](https://hapijs.com/api/16.1.1#response-events) * * 'peek' - emitted for each chunk of data written back to the client connection. The event method signature is function(chunk, encoding). * * 'finish' - emitted when the response finished writing but before the client response connection is ended. The event method signature is function (). */ -export interface Response extends Podium.Podium { +export interface Response extends Podium { /** the HTTP response status code. Defaults to 200 (except for errors). */ statusCode: number; /** an object containing the response headers where each key is a header field name. Note that this is an incomplete list of headers to be included with the response. Additional headers will be added once the response is prepared for transmission. */ diff --git a/types/podium/index.d.ts b/types/podium/index.d.ts index 0d62740479..cf89d57f82 100644 --- a/types/podium/index.d.ts +++ b/types/podium/index.d.ts @@ -4,29 +4,27 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 - /** * Podium * Node (semi) compatible event emitter with extra features. * podium is an event emitter with support for tags, filters, channels, event update cloning, arguments spreading, and other features useful when building large scale applications. While node's native EventEmitter is strictly focused on maximum performance, it lacks many features that do not belong in the core implementation. podium is not restricted by node's performance requirement as it is designed for application layer needs where it's overhead is largely insignificant as implementing these features will have similar cost on top of the native emitter. * @see {@link https://github.com/hapijs/podium} */ -// declare class Podium { -export class Podium { +interface Podium { /** * Creates a new podium emitter * @param events if present, the value is passed to podium.registerEvent(). */ - constructor(events?: Events[]); - constructor(events?: Events); + new(events?: Podium.Events[]): Podium; + new(events?: Podium.Events): Podium; /** * podium.registerEvent(events) * Register the specified events and their optional configuration. Events must be registered before they can be emitted or subscribed to. This is done to detect event name mispelling and invalid event activities. * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} */ - registerEvent(events: Events[]): void; - registerEvent(events: Events): void; + registerEvent(events: Podium.Events[]): void; + registerEvent(events: Podium.Events): void; /** * podium.registerPodium(podiums) @@ -54,7 +52,7 @@ export class Podium { * @param listener the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} */ - on(criteria: string | Criteria, listener: Listener): void; + on(criteria: string | Podium.Criteria, listener: Podium.Listener): void; /** * podium.addListener(criteria, listener) @@ -63,7 +61,7 @@ export class Podium { * @param listener the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} */ - addListener(criteria: string | Criteria, listener: Listener): void; + addListener(criteria: string | Podium.Criteria, listener: Podium.Listener): void; /** * podium.once(criteria, listener) @@ -72,7 +70,7 @@ export class Podium { * @param listener the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} */ - once(criteria: string | Criteria, listener: Listener): void; + once(criteria: string | Podium.Criteria, listener: Podium.Listener): void; /** * podium.removeListener(name, listener) @@ -82,7 +80,7 @@ export class Podium { * Returns a reference to the current emitter. * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumremovelistenername-listener} */ - removeListener(name: string, listener: Listener): Podium; + removeListener(name: string, listener: Podium.Listener): Podium; /** * podium.removeAllListeners(name) @@ -103,86 +101,86 @@ export class Podium { hasListeners(name: string): boolean; } -/** - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} - */ -export type Events = string | EventOptionsObject | Podium; - -/** - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} - */ -export interface EventOptionsObject { - /** the event name string (required). */ - name: string; - /** a string or array of strings specifying the event channels available. Defaults to no channel restrictions (event updates can specify a channel or not). */ - channels?: string | string[]; - /** if true, the data object passed to podium.emit() is cloned before it is passed to the listeners (unless an override specified by each listener). Defaults to false (data is passed as-is). */ - clone?: boolean; - /** if true, the data object passed to podium.emit() must be an array and the listener method is called with each array element passed as a separate argument (unless an override specified by each listener). This should only be used when the emitted data structure is known and predictable. Defaults to false (data is emitted as a single argument regardless of its type). */ - spread?: boolean; - /** if true and the criteria object passed to podium.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). A configuration override can be set by each listener. Defaults to false. */ - tags?: boolean; - /** if true, the same event name can be registered multiple times where the second registration is ignored. Note that if the registration config is changed between registrations, only the first configuration is used. Defaults to false (a duplicate registration will throw an error). */ - shared?: boolean; -} - -/** - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumaddlistenercriteria-listener} - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncecriteria-listener} - */ -export interface CriteriaObject { - /** the event name string (required). */ - name: string; - /** if true, the listener method receives an additional callback argument which must be called when the method completes. No other event will be emitted until the callback methods is called. The method signature is function(). If block is set to a positive integer, the value is used to set a timeout after which any pending events will be emitted, ignoring the eventual call to callback. Defaults to false (non blocking). */ - block?: boolean | number; - /** a string or array of strings specifying the event channels to subscribe to. If the event registration specified a list of allowed channels, the channels array must match the allowed channels. If channels are specified, event updates without any channel designation will not be included in the subscription. Defaults to no channels filter. */ - channels?: string | string[]; - /** if true, the data object passed to podium.emit() is cloned before it is passed to the listener method. Defaults to the event registration option (which defaults to false). */ - clone?: boolean; - /** a positive integer indicating the number of times the listener can be called after which the subscription is automatically removed. A count of 1 is the same as calling podium.once(). Defaults to no limit. */ - count?: number; +declare namespace Podium { /** - * the event tags (if present) to subscribe to which can be one of: - * * a tag string. - * * an array of tag strings. - * * an object with the following: + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} */ - filter?: string | string[] | CriteriaFilterOptionsObject; - /** if true, and the data object passed to podium.emit() is an array, the listener method is called with each array element passed as a separate argument. This should only be used when the emitted data structure is known and predictable. Defaults to the event registration option (which defaults to false). */ - spread?: boolean; - /** if true and the criteria object passed to podium.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). Defaults to the event registration option (which defaults to false). */ - tags?: boolean; - /** the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. */ - listener?: Listener; + export type Events = string | EventOptionsObject | Podium; + + /** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumregistereventevents} + */ + export interface EventOptionsObject { + /** the event name string (required). */ + name: string; + /** a string or array of strings specifying the event channels available. Defaults to no channel restrictions (event updates can specify a channel or not). */ + channels?: string | string[]; + /** if true, the data object passed to podium.emit() is cloned before it is passed to the listeners (unless an override specified by each listener). Defaults to false (data is passed as-is). */ + clone?: boolean; + /** if true, the data object passed to podium.emit() must be an array and the listener method is called with each array element passed as a separate argument (unless an override specified by each listener). This should only be used when the emitted data structure is known and predictable. Defaults to false (data is emitted as a single argument regardless of its type). */ + spread?: boolean; + /** if true and the criteria object passed to podium.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). A configuration override can be set by each listener. Defaults to false. */ + tags?: boolean; + /** if true, the same event name can be registered multiple times where the second registration is ignored. Note that if the registration config is changed between registrations, only the first configuration is used. Defaults to false (a duplicate registration will throw an error). */ + shared?: boolean; + } + + /** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumaddlistenercriteria-listener} + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncecriteria-listener} + */ + export interface CriteriaObject { + /** the event name string (required). */ + name: string; + /** if true, the listener method receives an additional callback argument which must be called when the method completes. No other event will be emitted until the callback methods is called. The method signature is function(). If block is set to a positive integer, the value is used to set a timeout after which any pending events will be emitted, ignoring the eventual call to callback. Defaults to false (non blocking). */ + block?: boolean | number; + /** a string or array of strings specifying the event channels to subscribe to. If the event registration specified a list of allowed channels, the channels array must match the allowed channels. If channels are specified, event updates without any channel designation will not be included in the subscription. Defaults to no channels filter. */ + channels?: string | string[]; + /** if true, the data object passed to podium.emit() is cloned before it is passed to the listener method. Defaults to the event registration option (which defaults to false). */ + clone?: boolean; + /** a positive integer indicating the number of times the listener can be called after which the subscription is automatically removed. A count of 1 is the same as calling podium.once(). Defaults to no limit. */ + count?: number; + /** + * the event tags (if present) to subscribe to which can be one of: + * * a tag string. + * * an array of tag strings. + * * an object with the following: + */ + filter?: string | string[] | CriteriaFilterOptionsObject; + /** if true, and the data object passed to podium.emit() is an array, the listener method is called with each array element passed as a separate argument. This should only be used when the emitted data structure is known and predictable. Defaults to the event registration option (which defaults to false). */ + spread?: boolean; + /** if true and the criteria object passed to podium.emit() includes tags, the tags are mapped to an object (where each tag string is the key and the value is true) which is appended to the arguments list at the end (but before the callback argument if block is set). Defaults to the event registration option (which defaults to false). */ + tags?: boolean; + /** the handler method set to receive event updates. The function signature depends on the block, spread, and tags options. */ + listener?: Listener; + } + + /** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ + export interface CriteriaFilterOptionsObject { + /** a tag string or array of tag strings. */ + tags?: string | string[]; + /** if true, all tags must be present for the event update to match the subscription. Defaults to false (at least one matching tag). */ + all?: boolean; + } + + /** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ + export type Criteria = string | CriteriaObject; + + /** + * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} + */ + export interface Listener { + (data: any, tags?: Tags, callback?: () => void): void; + } + + export type Tags = {[tag: string]: boolean}; } -/** - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} - */ -export interface CriteriaFilterOptionsObject { - /** a tag string or array of tag strings. */ - tags?: string | string[]; - /** if true, all tags must be present for the event update to match the subscription. Defaults to false (at least one matching tag). */ - all?: boolean; -} +declare var Podium: Podium; -/** - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} - */ -export type Criteria = string | CriteriaObject; - -/** - * @see {@link https://github.com/hapijs/podium/blob/master/API.md#podiumoncriteria-listener} - */ -export interface Listener { -(data: any, tags?: Tags, callback?: () => void): void; -} - -export type Tags = {[tag: string]: boolean}; - -// export = Podium; - -// declare namespace Podium { -// type Tags = {[tag: string]: boolean}; -// } +export = Podium; diff --git a/types/podium/podium-tests.ts b/types/podium/podium-tests.ts index f5cee6bbec..1717d2af1a 100644 --- a/types/podium/podium-tests.ts +++ b/types/podium/podium-tests.ts @@ -1,4 +1,5 @@ -/* +/// + import Podium = require('podium'); const podiumObject = new Podium(); // new emitter @@ -30,4 +31,3 @@ podiumObject.addListener('event1',listener1); // podium.once(criteria, listener) Same as calling podium.on() with the count option set to 1. Whenever we call emit(), listener1 will get fired but also get removed, so that it won't get fired on call to emit(). podiumObject.once('event1',listener1); -*/ From cde29f0e172e627b818d3ded3b8b91dce303d90d Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 00:46:34 +0100 Subject: [PATCH 16/70] Fix hapi-auth-basic tsconfig --- types/hapi-auth-basic/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/hapi-auth-basic/tsconfig.json b/types/hapi-auth-basic/tsconfig.json index de57117fd5..9e26f11c47 100644 --- a/types/hapi-auth-basic/tsconfig.json +++ b/types/hapi-auth-basic/tsconfig.json @@ -17,6 +17,6 @@ }, "files": [ "index.d.ts", - "hapi-auth-basic-tests" + "hapi-auth-basic-tests.ts" ] } From 8ce61979e5d3e3620ae8fce0f477187ca763bbb3 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 00:54:12 +0100 Subject: [PATCH 17/70] Move v15 hapi code back to v16 now that all tests are passing --- types/hapi/{v15 => v16}/hapi-tests.ts | 0 types/hapi/{v15 => v16}/index.d.ts | 2 +- types/hapi/{v15 => v16}/tsconfig.json | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename types/hapi/{v15 => v16}/hapi-tests.ts (100%) rename types/hapi/{v15 => v16}/index.d.ts (99%) rename types/hapi/{v15 => v16}/tsconfig.json (95%) diff --git a/types/hapi/v15/hapi-tests.ts b/types/hapi/v16/hapi-tests.ts similarity index 100% rename from types/hapi/v15/hapi-tests.ts rename to types/hapi/v16/hapi-tests.ts diff --git a/types/hapi/v15/index.d.ts b/types/hapi/v16/index.d.ts similarity index 99% rename from types/hapi/v15/index.d.ts rename to types/hapi/v16/index.d.ts index 2a59422c69..6fdef94dec 100644 --- a/types/hapi/v15/index.d.ts +++ b/types/hapi/v16/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for hapi 15.0 +// Type definitions for hapi 16.0 // Project: http://github.com/spumko/hapi // Definitions by: Jason Swearingen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/hapi/v15/tsconfig.json b/types/hapi/v16/tsconfig.json similarity index 95% rename from types/hapi/v15/tsconfig.json rename to types/hapi/v16/tsconfig.json index 4a54b80605..dc9efa3519 100644 --- a/types/hapi/v15/tsconfig.json +++ b/types/hapi/v16/tsconfig.json @@ -14,7 +14,7 @@ "types": [], "paths": { "hapi": [ - "hapi/v15" + "hapi/v16" ] }, "noEmit": true, From 7894a7eb25f17802302a98a65453a505daa40e4b Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 00:57:09 +0100 Subject: [PATCH 18/70] Move v16 hapi code to v16.0 --- types/hapi/{v16 => v16.0}/hapi-tests.ts | 0 types/hapi/{v16 => v16.0}/index.d.ts | 0 types/hapi/{v16 => v16.0}/tsconfig.json | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename types/hapi/{v16 => v16.0}/hapi-tests.ts (100%) rename types/hapi/{v16 => v16.0}/index.d.ts (100%) rename types/hapi/{v16 => v16.0}/tsconfig.json (94%) diff --git a/types/hapi/v16/hapi-tests.ts b/types/hapi/v16.0/hapi-tests.ts similarity index 100% rename from types/hapi/v16/hapi-tests.ts rename to types/hapi/v16.0/hapi-tests.ts diff --git a/types/hapi/v16/index.d.ts b/types/hapi/v16.0/index.d.ts similarity index 100% rename from types/hapi/v16/index.d.ts rename to types/hapi/v16.0/index.d.ts diff --git a/types/hapi/v16/tsconfig.json b/types/hapi/v16.0/tsconfig.json similarity index 94% rename from types/hapi/v16/tsconfig.json rename to types/hapi/v16.0/tsconfig.json index dc9efa3519..47cd935a2b 100644 --- a/types/hapi/v16/tsconfig.json +++ b/types/hapi/v16.0/tsconfig.json @@ -14,7 +14,7 @@ "types": [], "paths": { "hapi": [ - "hapi/v16" + "hapi/v16.0" ] }, "noEmit": true, From 91fe980714f0a2274e915de18b057dc453f06c30 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 01:06:20 +0100 Subject: [PATCH 19/70] Revert "Move v15 hapi code to v16.0" This reverts commit 7894a7eb25f17802302a98a65453a505daa40e4b. and commit 8ce61979e5d3e3620ae8fce0f477187ca763bbb3 --- types/hapi/{v16.0 => v15}/hapi-tests.ts | 0 types/hapi/{v16.0 => v15}/index.d.ts | 2 +- types/hapi/{v16.0 => v15}/tsconfig.json | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename types/hapi/{v16.0 => v15}/hapi-tests.ts (100%) rename types/hapi/{v16.0 => v15}/index.d.ts (99%) rename types/hapi/{v16.0 => v15}/tsconfig.json (94%) diff --git a/types/hapi/v16.0/hapi-tests.ts b/types/hapi/v15/hapi-tests.ts similarity index 100% rename from types/hapi/v16.0/hapi-tests.ts rename to types/hapi/v15/hapi-tests.ts diff --git a/types/hapi/v16.0/index.d.ts b/types/hapi/v15/index.d.ts similarity index 99% rename from types/hapi/v16.0/index.d.ts rename to types/hapi/v15/index.d.ts index 6fdef94dec..2a59422c69 100644 --- a/types/hapi/v16.0/index.d.ts +++ b/types/hapi/v15/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for hapi 16.0 +// Type definitions for hapi 15.0 // Project: http://github.com/spumko/hapi // Definitions by: Jason Swearingen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped diff --git a/types/hapi/v16.0/tsconfig.json b/types/hapi/v15/tsconfig.json similarity index 94% rename from types/hapi/v16.0/tsconfig.json rename to types/hapi/v15/tsconfig.json index 47cd935a2b..4a54b80605 100644 --- a/types/hapi/v16.0/tsconfig.json +++ b/types/hapi/v15/tsconfig.json @@ -14,7 +14,7 @@ "types": [], "paths": { "hapi": [ - "hapi/v16.0" + "hapi/v15" ] }, "noEmit": true, From 10f421bb830163ddb6c1d9c6adfb5abb7a93f5db Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 12:35:40 +0100 Subject: [PATCH 20/70] Fix importing nes/client --- .../hapi-auth-basic/hapi-auth-basic-tests.ts | 4 +- types/nes/client.d.ts | 57 +++++++++++ types/nes/index.d.ts | 95 +++++-------------- types/nes/test/broadcast-client.ts | 13 +++ types/nes/test/client-require.ts | 9 +- types/nes/test/nes-tests.ts | 4 +- types/nes/test/route-authentication-client.ts | 13 +++ types/nes/test/route-invocation-client.ts | 13 +++ types/nes/test/subscription-filter-client.ts | 19 ++++ types/nes/test/subscriptions-client.ts | 16 ++++ types/nes/tsconfig.json | 1 + 11 files changed, 168 insertions(+), 76 deletions(-) create mode 100644 types/nes/client.d.ts diff --git a/types/hapi-auth-basic/hapi-auth-basic-tests.ts b/types/hapi-auth-basic/hapi-auth-basic-tests.ts index 13dd159377..7f78fe9f65 100644 --- a/types/hapi-auth-basic/hapi-auth-basic-tests.ts +++ b/types/hapi-auth-basic/hapi-auth-basic-tests.ts @@ -1,3 +1,5 @@ +// from https://github.com/hapijs/hapi-auth-basic#hapi-auth-basic + import Bcrypt = require('bcrypt'); import Basic = require('hapi-auth-basic'); import * as Hapi from 'hapi'; @@ -14,7 +16,7 @@ interface User { const users: {[index: string]: User} = { john: { username: 'john', - password: '$2a$10$iqJSHD.BGr0E2IxQwYgJmeP3NvhPrXAeLSaGCj6IR/XU5QtjVu5Tm', // 'secret' + password: '$2a$10$iqJSHD.BGr0E2IxQwYgJmeP3NvhPrXAeLSaGCj6IR/XU5QtjVu5Tm', // 'secret' name: 'John Doe', id: '2133d32a' } diff --git a/types/nes/client.d.ts b/types/nes/client.d.ts new file mode 100644 index 0000000000..d41f5a608a --- /dev/null +++ b/types/nes/client.d.ts @@ -0,0 +1,57 @@ +// Type definitions for nes 6.4.2 +// Project: https://github.com/hapijs/nes +// Definitions by: Ivo Stratev +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module 'nes/client' { + + class Client { + constructor(url: string, options?: Client.ClientOptions); + onError: (err: any) => void; + onConnect: () => void; + onDisconnect: () => void; + onUpdate: (message: any) => void; + connect(options: Client.ClientConnectOptions, callback: (err?: any) => void): void; + connect(callback: (err?: any) => void): void; + disconnect(): void; + id: any; + request(options: string | Client.ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; + message(message: any, callback: (err: any, message: any) => void): void; + subscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; + unsubscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; + subscriptions(): string[]; + overrideReconnectionAuth(auth: any): void; + } + + namespace Client { + interface Handler { + (message: any, flags: Client.ClientSubscribeFlags): void; + } + + interface ClientOptions { + ws?: any; + timeout?: number | boolean; + } + + interface ClientConnectOptions { + auth?: any; + delay?: number; + maxDelay?: number; + retries?: number; + timeout?: number; + } + + interface ClientRequestOptions { + path: string; + method?: string; + headers?: Object; + payload?: any; + } + + interface ClientSubscribeFlags { + revoked?: boolean; + } + } + + export = Client; +} diff --git a/types/nes/index.d.ts b/types/nes/index.d.ts index 95c3dd0835..fa33e53ba4 100644 --- a/types/nes/index.d.ts +++ b/types/nes/index.d.ts @@ -4,6 +4,7 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import * as Hapi from 'hapi'; +import NesClient = require('nes/client'); declare module 'hapi' { interface Server { @@ -12,6 +13,10 @@ declare module 'hapi' { publish(path: string, message: any, options?: nes.ServerPublishOptions): void; eachSocket(each: (socket: SocketClass) => void, options?: nes.ServerEachSocketOptions): void; } + + interface Request { + socket: SocketClass; + } } declare class SocketClass { @@ -24,32 +29,7 @@ declare class SocketClass { revoke(path: string, message: any, callback?: (err?: any) => void): void; } -declare class RequestClass extends Hapi.Request { - socket: SocketClass; -} - -declare class ClientClass { - onError: (err: any) => void; - onConnect: () => void; - onDisconnect: () => void; - onUpdate: (message: any) => void; - connect(options: nes.ClientConnectOptions, callback: (err?: any) => void): void; - connect(callback: (err?: any) => void): void; - disconnect(): void; - id: any; - request(options: string | nes.ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; - message(message: any, callback: (err: any, message: any) => void): void; - subscribe(path: string, handler: nes.Handler, callback: (err?: any) => void): void; - unsubscribe(path: string, handler: nes.Handler, callback: (err?: any) => void): void; - subscriptions(): string[]; - overrideReconnectionAuth(auth: any): void; -} - declare module nes { - interface Handler { - (message: any, flags: nes.ClientSubscribeFlags): void; - } - interface SocketAuthObject { isAuthenticated: boolean; credentials: any; @@ -98,44 +78,29 @@ declare module nes { user?: any; } - interface ClientOptions { - ws?: any; - timeout?: number | boolean; - } + interface Socket extends SocketClass {} - interface ClientConnectOptions { - auth?: any; - delay?: number; - maxDelay?: number; - retries?: number; - timeout?: number; - } + interface Server extends Hapi.Server {} - interface ClientRequestOptions { - path: string; - method?: string; - headers?: Object; - payload?: any; - } + interface Request extends Hapi.Request {} - interface ClientSubscribeFlags { - revoked?: boolean; - } + interface Client extends NesClient {} - interface Socket extends SocketClass { - } + interface Handler extends NesClient.Handler {} - interface Server extends Hapi.Server { - } + interface ClientOptions extends NesClient.ClientOptions {} - interface Request extends RequestClass { - } + interface ClientConnectOptions extends NesClient.ClientConnectOptions {} - interface Client extends ClientClass { - } + interface ClientRequestOptions extends NesClient.ClientRequestOptions {} + + interface ClientSubscribeFlags extends NesClient.ClientSubscribeFlags {} } -interface NesResources { +// TODO there must be a drier cleaner way of doing this that allows for the +// export to have be of type Hapi.PluginFunction whilst also exposing the +// type and class of Client, Request, etc. +interface NesClassExports { Socket: { new(): SocketClass; }; @@ -145,30 +110,16 @@ interface NesResources { }; Request: { - new(): RequestClass; + new(): Hapi.Request; }; Client: { - new(url: string, options?: nes.ClientOptions): ClientClass; + new(url: string, options?: NesClient.ClientOptions): NesClient; }; } -// TODO fix this. See test/client-require.ts test case. -declare module 'nes/client' { - var nesClient: NesResources; +interface NesAllExports extends NesClassExports, Hapi.PluginFunction<{}> {} - export = nesClient; - - // export { - // ClientClass, - // // ClientConnectOptions, - // // ClientRequestOptions, - // // ClientSubscribeFlags - // }; -} - -interface NesExports extends NesResources, Hapi.PluginFunction<{}> {} - -declare var nes: NesExports; +declare var nes: NesAllExports; export = nes; diff --git a/types/nes/test/broadcast-client.ts b/types/nes/test/broadcast-client.ts index 1cf8797365..4c94b8c575 100644 --- a/types/nes/test/broadcast-client.ts +++ b/types/nes/test/broadcast-client.ts @@ -10,3 +10,16 @@ client.connect(function (err) { // update -> 'welcome!' }; }); + +// Added in addition to nes doc example code + +import NesClient = require('nes/client'); + +var client = new NesClient('ws://localhost'); +client.connect(function (err) { + + client.onUpdate = function (update) { + + // update -> 'welcome!' + }; +}); diff --git a/types/nes/test/client-require.ts b/types/nes/test/client-require.ts index 90bce07d33..f5a07ea1d3 100644 --- a/types/nes/test/client-require.ts +++ b/types/nes/test/client-require.ts @@ -3,5 +3,10 @@ // that is not needed for the browser. The browser will only need the nes client. // If you are using CommonJS you can load the client with require('nes/client'). -// TODO fix this -// import nes = require('nes/client'); +import Client = require('nes/client'); + +var options: Client.ClientConnectOptions = { + delay: 3 +} + +var client: Client = new Client('ws://localhost', options); diff --git a/types/nes/test/nes-tests.ts b/types/nes/test/nes-tests.ts index 9dd12ae99a..36e8af65bb 100644 --- a/types/nes/test/nes-tests.ts +++ b/types/nes/test/nes-tests.ts @@ -34,7 +34,9 @@ server.register(Nes, (regErr: any) => { } }); -let wsClient: Nes.Client = new Nes.Client('ws://localhost:8080'); +let options: Nes.ClientConnectOptions = {delay: 3}; + +let wsClient: Nes.Client = new Nes.Client('ws://localhost:8080', options); wsClient.connect((err: any) => { if(err) { console.log('start err'); diff --git a/types/nes/test/route-authentication-client.ts b/types/nes/test/route-authentication-client.ts index b3fd33fe95..fe57eb8d56 100644 --- a/types/nes/test/route-authentication-client.ts +++ b/types/nes/test/route-authentication-client.ts @@ -10,3 +10,16 @@ client.connect({ auth: { headers: { authorization: 'Basic am9objpzZWNyZXQ=' } } // payload -> 'Hello John Doe' }); }); + +// Added in addition to nes doc example code + +import NesClient = require('nes/client'); + +var client = new NesClient('ws://localhost'); +client.connect({ auth: { headers: { authorization: 'Basic am9objpzZWNyZXQ=' } } }, function (err) { + + client.request('hello', function (err, payload) { // Can also request '/h' + + // payload -> 'Hello John Doe' + }); +}); diff --git a/types/nes/test/route-invocation-client.ts b/types/nes/test/route-invocation-client.ts index e25e64e349..7b144e3a9c 100644 --- a/types/nes/test/route-invocation-client.ts +++ b/types/nes/test/route-invocation-client.ts @@ -10,3 +10,16 @@ client.connect(function (err) { // payload -> 'world!' }); }); + +// Added in addition to nes doc example code + +import NesClient = require('nes/client'); + +var client = new NesClient('ws://localhost'); +client.connect(function (err) { + + client.request('hello', function (err, payload) { // Can also request '/h' + + // payload -> 'world!' + }); +}); diff --git a/types/nes/test/subscription-filter-client.ts b/types/nes/test/subscription-filter-client.ts index bd5c9c88f5..3f8d3ffb8b 100644 --- a/types/nes/test/subscription-filter-client.ts +++ b/types/nes/test/subscription-filter-client.ts @@ -16,3 +16,22 @@ client.connect({ auth: { headers: { authorization: 'Basic am9objpzZWNyZXQ=' } } client.subscribe('/items', handler, function (err) { }); }); + +// Added in addition to nes doc example code + +import NesClient = require('nes/client'); + +var client = new NesClient('ws://localhost'); + +// Authenticate as 'john' + +client.connect({ auth: { headers: { authorization: 'Basic am9objpzZWNyZXQ=' } } }, function (err) { + + var handler: NesClient.Handler = function (err, update) { + + // First publish is not received (filtered due to updater key) + // update -> { id: 6, status: 'initial', updater: 'steve' } + }; + + client.subscribe('/items', handler, function (err) { }); +}); diff --git a/types/nes/test/subscriptions-client.ts b/types/nes/test/subscriptions-client.ts index 1e33eac40f..a9ac55fc6d 100644 --- a/types/nes/test/subscriptions-client.ts +++ b/types/nes/test/subscriptions-client.ts @@ -13,3 +13,19 @@ client.connect(function (err) { client.subscribe('/item/5', handler, function (err) { }); }); + +// Added in addition to nes doc example code + +import NesClient = require('nes/client'); + +var client = new NesClient('ws://localhost'); +client.connect(function (err) { + + var handler: NesClient.Handler = function (update, flags) { + + // update -> { id: 5, status: 'complete' } + // Second publish is not received (doesn't match) + }; + + client.subscribe('/item/5', handler, function (err) { }); +}); diff --git a/types/nes/tsconfig.json b/types/nes/tsconfig.json index a2cd55a5db..cb28129b71 100644 --- a/types/nes/tsconfig.json +++ b/types/nes/tsconfig.json @@ -17,6 +17,7 @@ }, "files": [ "index.d.ts", + "client.d.ts", "test/client-require.ts", "test/nes-tests.ts", "test/broadcast-client.ts", From 51b1eeb7377ceb47872111a94e3021739bf49eac Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 12:44:56 +0100 Subject: [PATCH 21/70] Add test for request.socket --- types/nes/client.d.ts | 2 +- types/nes/index.d.ts | 2 +- types/nes/test/nes-tests.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/types/nes/client.d.ts b/types/nes/client.d.ts index d41f5a608a..698237e500 100644 --- a/types/nes/client.d.ts +++ b/types/nes/client.d.ts @@ -14,7 +14,7 @@ declare module 'nes/client' { connect(options: Client.ClientConnectOptions, callback: (err?: any) => void): void; connect(callback: (err?: any) => void): void; disconnect(): void; - id: any; + id: any; // can be `null | number` but also the "socket" value from websocket message data. request(options: string | Client.ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; message(message: any, callback: (err: any, message: any) => void): void; subscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; diff --git a/types/nes/index.d.ts b/types/nes/index.d.ts index fa33e53ba4..a8b2939025 100644 --- a/types/nes/index.d.ts +++ b/types/nes/index.d.ts @@ -20,7 +20,7 @@ declare module 'hapi' { } declare class SocketClass { - id: any; + id: string; app: Object; auth: nes.SocketAuthObject; disconect(callback?: () => void): void; diff --git a/types/nes/test/nes-tests.ts b/types/nes/test/nes-tests.ts index 36e8af65bb..6d80ae150e 100644 --- a/types/nes/test/nes-tests.ts +++ b/types/nes/test/nes-tests.ts @@ -16,7 +16,7 @@ server.register(Nes, (regErr: any) => { path: '/test', config: { handler: (request: Hapi.Request, reply: Hapi.ReplyNoContinue) => { - reply({test: 'passes'}); + reply({test: 'passes ' + request.socket.id}); } } }); From 634461eb2311d6f6a57c423eba5976fc217c3f71 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 14:29:20 +0100 Subject: [PATCH 22/70] DRY nes exported types and remove absent Server and Request class exports * Put in backwards incompatibility warning and a note regarding not needing to use Nes.Server or Nes.Request * Move SocketClass to interface as it is not mentioned in docs as a public class for instantiating --- types/nes/index.d.ts | 71 +++++++++++++++++++++---------------- types/nes/test/nes-tests.ts | 10 +++--- 2 files changed, 46 insertions(+), 35 deletions(-) diff --git a/types/nes/index.d.ts b/types/nes/index.d.ts index a8b2939025..87e428bc29 100644 --- a/types/nes/index.d.ts +++ b/types/nes/index.d.ts @@ -3,6 +3,24 @@ // Definitions by: Ivo Stratev // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WARNING: BACKWARDS INCOMPATIBLE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + * + * Removal of Nes.Server. No longer need to cast to Nes.Server as Hapi.Server + * has been modified directly. + * Removal of Nes.Request. Same reason as Nes.Server + * Move Nes.Socket from class to just an interface as it is not mentioned + * publically in docs. Perhaps this should be included though? Add + * failing test demonstrating use if so. + */ + import * as Hapi from 'hapi'; import NesClient = require('nes/client'); @@ -11,24 +29,14 @@ declare module 'hapi' { broadcast(message: any, options?: nes.ServerBroadcastOptions): void; subscription(path: string, options?: nes.ServerSubscriptionOptions): void; publish(path: string, message: any, options?: nes.ServerPublishOptions): void; - eachSocket(each: (socket: SocketClass) => void, options?: nes.ServerEachSocketOptions): void; + eachSocket(each: (socket: nes.Socket) => void, options?: nes.ServerEachSocketOptions): void; } interface Request { - socket: SocketClass; + socket: nes.Socket; } } -declare class SocketClass { - id: string; - app: Object; - auth: nes.SocketAuthObject; - disconect(callback?: () => void): void; - send(message: any, callback?: (err?: any) => void): void; - publish(path: string, message: any, callback?: (err?: any) => void): void; - revoke(path: string, message: any, callback?: (err?: any) => void): void; -} - declare module nes { interface SocketAuthObject { isAuthenticated: boolean; @@ -78,11 +86,27 @@ declare module nes { user?: any; } - interface Socket extends SocketClass {} + interface Socket { + id: string; + app: Object; + auth: nes.SocketAuthObject; + disconect(callback?: () => void): void; + send(message: any, callback?: (err?: any) => void): void; + publish(path: string, message: any, callback?: (err?: any) => void): void; + revoke(path: string, message: any, callback?: (err?: any) => void): void; + } - interface Server extends Hapi.Server {} - - interface Request extends Hapi.Request {} + /** + * TODO (if possible) use a drier, more robust way of doing this that + * allows for: + * * the export to have be of type Hapi.PluginFunction whilst + * * also exposing the Client type + * * exporting the NesClient as the Client class without having to + * duplicate the constructor definition + * * and all the type exports from the NesClient namespace (Handler, + * ClientOptions, ClientConnectOptions, ClientRequestOptions, + * ClientSubscribeFlags) + */ interface Client extends NesClient {} @@ -97,22 +121,7 @@ declare module nes { interface ClientSubscribeFlags extends NesClient.ClientSubscribeFlags {} } -// TODO there must be a drier cleaner way of doing this that allows for the -// export to have be of type Hapi.PluginFunction whilst also exposing the -// type and class of Client, Request, etc. interface NesClassExports { - Socket: { - new(): SocketClass; - }; - - Server: { - new(): Hapi.Server; - }; - - Request: { - new(): Hapi.Request; - }; - Client: { new(url: string, options?: NesClient.ClientOptions): NesClient; }; diff --git a/types/nes/test/nes-tests.ts b/types/nes/test/nes-tests.ts index 6d80ae150e..90afe68f3e 100644 --- a/types/nes/test/nes-tests.ts +++ b/types/nes/test/nes-tests.ts @@ -4,18 +4,20 @@ import Nes = require('nes'); var server: Hapi.Server = new Hapi.Server(); server.connection({port: 8080}); -server.register(Nes, (regErr: any) => { +server.register(Nes, (regErr) => { if(regErr) { console.log('register err'); console.log(regErr); } else { - let wsServer: Nes.Server = server as Nes.Server; + // No longer need to cast to Nes.Server as Hapi.Server has been modified directly. + // let wsServer: Nes.Server = server as Nes.Server; + let wsServer: Hapi.Server = server; wsServer.subscription('/item/{id}'); wsServer.route( { method: 'GET', path: '/test', config: { - handler: (request: Hapi.Request, reply: Hapi.ReplyNoContinue) => { + handler: (request, reply) => { reply({test: 'passes ' + request.socket.id}); } } @@ -43,7 +45,7 @@ wsClient.connect((err: any) => { console.log(err); } else { wsClient.subscribe('/item/5', (update) => { - wsClient.request('/test', (reqErr: any, payload: any, statusCode: number) => { + wsClient.request('/test', (reqErr, payload, statusCode) => { if(reqErr) { console.log('request err'); console.log(reqErr); From c69e614bc129c05a45ae6d0f54c5c392313062e0 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 14:31:32 +0100 Subject: [PATCH 23/70] Make error passed to Hapi.Server.register callback possible to be null --- types/hapi/index.d.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 6922f65bd8..3ff8dc7e10 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -412,14 +412,14 @@ export class Server extends Podium { * register(Plugin, {}, (err) => {// do more stuff}) or * register(Plugin, (err: Error) => {// do more stuff}) */ - register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, callback: (err: Error) => void): void; - register(plugins: Array<(PluginFunction | PluginRegistrationObject)>): Promise; - register(plugins: PluginFunction | PluginRegistrationObject, callback: (err: Error) => void): void; - register(plugins: PluginFunction | PluginRegistrationObject): Promise; - register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, options: PluginRegistrationOptions, callback: (err: Error) => void): void; - register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, options: PluginRegistrationOptions): Promise; - register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions, callback: (err: Error) => void): void; - register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions): Promise; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, callback: (err: Error | null) => void): void; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>): Promise; + register(plugins: PluginFunction | PluginRegistrationObject, callback: (err: Error | null) => void): void; + register(plugins: PluginFunction | PluginRegistrationObject): Promise; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, options: PluginRegistrationOptions, callback: (err: Error | null) => void): void; + register(plugins: Array<(PluginFunction | PluginRegistrationObject)>, options: PluginRegistrationOptions): Promise; + register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions, callback: (err: Error | null) => void): void; + register(plugins: PluginFunction | PluginRegistrationObject, options: PluginRegistrationOptions): Promise; /** * Adds a connection route * [See docs](https://hapijs.com/api/16.1.1#serverrouteoptions) From 88cec253a81a85994457b3aec44edf9b262587be Mon Sep 17 00:00:00 2001 From: huhuanming Date: Tue, 9 May 2017 01:09:42 +0800 Subject: [PATCH 24/70] add jpush-react-native --- types/jpush-react-native/index.d.ts | 120 ++++++++++++++++++ .../jpush-react-native-tests.ts | 70 ++++++++++ types/jpush-react-native/tsconfig.json | 22 ++++ types/jpush-react-native/tslint.json | 3 + 4 files changed, 215 insertions(+) create mode 100644 types/jpush-react-native/index.d.ts create mode 100644 types/jpush-react-native/jpush-react-native-tests.ts create mode 100644 types/jpush-react-native/tsconfig.json create mode 100644 types/jpush-react-native/tslint.json diff --git a/types/jpush-react-native/index.d.ts b/types/jpush-react-native/index.d.ts new file mode 100644 index 0000000000..21397e6aaa --- /dev/null +++ b/types/jpush-react-native/index.d.ts @@ -0,0 +1,120 @@ +// Type definitions for jpush-react-native 1.6 +// Project: https://github.com/jpush/jpush-react-native +// Definitions by: HuHuanming +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export default class JPush { + /** + * Android only + * 初始化JPush 必须先初始化才能执行其他操作 + */ + static initPush(): void; + + /** + * Android + */ + static stopPush(): void; + + /** + * Android + */ + static resumePush(): void; + + /** + * Android + */ + static clearAllNotifications(): void; + + /** + * Android + */ + static clearNotificationById(id: string): void; + + /** + * Android + */ + static getInfo(cb: (map: any) => void): void; + + static setTags(tags: string[], successCallback: (resultCode: number[]) => void, failedCallback: () => void): void; + + static setAlias(alias: string, successCallback: (resultCode: number[]) => void, failedCallback: () => void): void; + + /** + * Android + */ + static setStyleBasic(): void; + + /** + * Android + */ + static setStyleCustom(): void; + + /** + * Android + */ + static addReceiveCustomMsgListener(cb: (message: string) => void): void; + + /** + * Android + */ + static removeReceiveCustomMsgListener(cb: any): void; + + /** + * Android + */ + static addReceiveNotificationListener(cb: (map: any) => void): void; + + /** + * Android + */ + static removeReceiveNotificationListener(cb: any): void; + + /** + * Android + */ + static addReceiveOpenNotificationListener(cb: (message: string) => void): void; + + /** + * Android + */ + static removeReceiveOpenNotificationListener(cb: any): void; + + /** + * Android + * If device register succeed, the server will return registrationId + */ + static addGetRegistrationIdListener(cb: (registrationId: string) => void): void; + + static removeGetRegistrationIdListener(cb: any): void; + + /** + * iOS, Android + */ + static getRegistrationID(cb: (registrationId: string) => void): void; + + /** + * iOS + */ + static setupPush(): void; + + /** + * iOS + */ + static getAppkeyWithcallback(cb: (appKey: string) => void): void; + + // iOS Only + static setLocalNotification( + date: Date, + alertBody: string, + badge?: number, + alertAction?: string, + notificationKey?: string, + userInfo?: any, + soundName?: string + ): void; + + /** + * iOS + */ + static setBadge(badge: number, callback: (badges: number[]) => void): void; +} diff --git a/types/jpush-react-native/jpush-react-native-tests.ts b/types/jpush-react-native/jpush-react-native-tests.ts new file mode 100644 index 0000000000..44fc834b62 --- /dev/null +++ b/types/jpush-react-native/jpush-react-native-tests.ts @@ -0,0 +1,70 @@ +import JPush from 'jpush-react-native'; + +JPush.initPush(); + +JPush.stopPush(); + +JPush.resumePush(); + +JPush.clearAllNotifications(); + +JPush.clearNotificationById('id'); + +JPush.getInfo((map) => {}); + +JPush.setTags( + ['tag1', 'tag2'], + () => {}, + () => {}, +); + +JPush.setAlias( + 'alias', + () => {}, + () => {}, +); + +JPush.setStyleBasic(); + +JPush.setStyleCustom(); + +JPush.addReceiveCustomMsgListener(() => {}); + +JPush.removeReceiveCustomMsgListener(() => {}); + +JPush.addReceiveNotificationListener(() => {}); + +JPush.removeReceiveNotificationListener(() => {}); + +JPush.addReceiveOpenNotificationListener(() => {}); + +JPush.removeReceiveOpenNotificationListener(() => {}); + +JPush.addGetRegistrationIdListener((registrationId) => {}); + +JPush.removeGetRegistrationIdListener(() => {}); + +JPush.getRegistrationID((registrationId) => {}); + +JPush.setupPush(); + +JPush.getAppkeyWithcallback((appKey) => {}); + +JPush.setLocalNotification( + new Date(), + 'body', +); + +JPush.setLocalNotification( + new Date(), + 'body', + 2, + 'action', + 'key', + { + name: 'name', + }, + 'sound', +); + +JPush.setBadge(1, () => {}); diff --git a/types/jpush-react-native/tsconfig.json b/types/jpush-react-native/tsconfig.json new file mode 100644 index 0000000000..a789df247c --- /dev/null +++ b/types/jpush-react-native/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "jpush-react-native-tests.ts" + ] +} diff --git a/types/jpush-react-native/tslint.json b/types/jpush-react-native/tslint.json new file mode 100644 index 0000000000..d88586e5bd --- /dev/null +++ b/types/jpush-react-native/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +} From d20f912c7799d7f52447b83afea3664f91f39a88 Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 20:28:19 +0100 Subject: [PATCH 25/70] Add scope and entity to route.options.auth --- types/hapi/index.d.ts | 4 ++++ types/hapi/test/route/auth.ts | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 3ff8dc7e10..d2619acef1 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -801,6 +801,10 @@ export interface AuthOptions { payload?: false | 'required' | 'optional'; /** specifying the route access rules. */ access?: RouteAuthAccessConfiguationObject | RouteAuthAccessConfiguationObject[]; + /** (undocumented) Convenience way of setting access.scope, will over write all values in `access` */ + scope?: false | string | string[]; + /** (undocumented) Convenience way of setting access.entity, will over write all values in `access` */ + entity?: 'any' | 'user' | 'app'; } /** diff --git a/types/hapi/test/route/auth.ts b/types/hapi/test/route/auth.ts index b57507eb8c..e5239322da 100644 --- a/types/hapi/test/route/auth.ts +++ b/types/hapi/test/route/auth.ts @@ -17,6 +17,9 @@ routeMoreConfig = { access: { scope: false, entity: 'any', - } + }, + // Will over write values in access + scope: false, + entity: 'any', } } From b5143b18190ecab15f4e3466a60132c88dce762c Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Mon, 8 May 2017 20:31:18 +0100 Subject: [PATCH 26/70] Remove unnecessary module wrapper --- types/nes/client.d.ts | 99 +++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 51 deletions(-) diff --git a/types/nes/client.d.ts b/types/nes/client.d.ts index 698237e500..8314894683 100644 --- a/types/nes/client.d.ts +++ b/types/nes/client.d.ts @@ -3,55 +3,52 @@ // Definitions by: Ivo Stratev // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare module 'nes/client' { - - class Client { - constructor(url: string, options?: Client.ClientOptions); - onError: (err: any) => void; - onConnect: () => void; - onDisconnect: () => void; - onUpdate: (message: any) => void; - connect(options: Client.ClientConnectOptions, callback: (err?: any) => void): void; - connect(callback: (err?: any) => void): void; - disconnect(): void; - id: any; // can be `null | number` but also the "socket" value from websocket message data. - request(options: string | Client.ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; - message(message: any, callback: (err: any, message: any) => void): void; - subscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; - unsubscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; - subscriptions(): string[]; - overrideReconnectionAuth(auth: any): void; - } - - namespace Client { - interface Handler { - (message: any, flags: Client.ClientSubscribeFlags): void; - } - - interface ClientOptions { - ws?: any; - timeout?: number | boolean; - } - - interface ClientConnectOptions { - auth?: any; - delay?: number; - maxDelay?: number; - retries?: number; - timeout?: number; - } - - interface ClientRequestOptions { - path: string; - method?: string; - headers?: Object; - payload?: any; - } - - interface ClientSubscribeFlags { - revoked?: boolean; - } - } - - export = Client; +declare class Client { + constructor(url: string, options?: Client.ClientOptions); + onError: (err: any) => void; + onConnect: () => void; + onDisconnect: () => void; + onUpdate: (message: any) => void; + connect(options: Client.ClientConnectOptions, callback: (err?: any) => void): void; + connect(callback: (err?: any) => void): void; + disconnect(): void; + id: any; // can be `null | number` but also the "socket" value from websocket message data. + request(options: string | Client.ClientRequestOptions, callback: (err: any, payload: any, statusCode?: number, headers?: Object) => void): void; + message(message: any, callback: (err: any, message: any) => void): void; + subscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; + unsubscribe(path: string, handler: Client.Handler, callback: (err?: any) => void): void; + subscriptions(): string[]; + overrideReconnectionAuth(auth: any): void; } + +declare namespace Client { + interface Handler { + (message: any, flags: Client.ClientSubscribeFlags): void; + } + + interface ClientOptions { + ws?: any; + timeout?: number | boolean; + } + + interface ClientConnectOptions { + auth?: any; + delay?: number; + maxDelay?: number; + retries?: number; + timeout?: number; + } + + interface ClientRequestOptions { + path: string; + method?: string; + headers?: Object; + payload?: any; + } + + interface ClientSubscribeFlags { + revoked?: boolean; + } +} + +export = Client; From 52cebc2f1ef844fc7130124c44c433f213f505d7 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 9 May 2017 07:30:26 +0900 Subject: [PATCH 27/70] remove string indexer from JQuery interface --- types/jquery/index.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/types/jquery/index.d.ts b/types/jquery/index.d.ts index 80db74ee9f..f0a5aabb00 100644 --- a/types/jquery/index.d.ts +++ b/types/jquery/index.d.ts @@ -3355,7 +3355,6 @@ interface JQuery { * @see {@link https://api.jquery.com/selector/} */ selector: string; - [index: string]: any; [index: number]: HTMLElement; /** From 67e164481f186fd93224a3fef5c048a687cc9581 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Tue, 9 May 2017 07:55:40 +0900 Subject: [PATCH 28/70] fix tslint errors --- .../ui-router-extras/ui-router-extras-tests.ts | 18 +++++++++--------- types/uikit/index.d.ts | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/types/ui-router-extras/ui-router-extras-tests.ts b/types/ui-router-extras/ui-router-extras-tests.ts index df560356aa..5cc3ed122a 100644 --- a/types/ui-router-extras/ui-router-extras-tests.ts +++ b/types/ui-router-extras/ui-router-extras-tests.ts @@ -29,13 +29,13 @@ myApp.config(($stateProvider: angular.ui.IStateProvider, $stickyStateProvider: a $previousState.get('test-memo1'); $deepstateRedirect.reset('statename1', { - 'stateParam1': ['value1', 'value2'], - 'stateParam2': 'value' + stateParam1: ['value1', 'value2'], + stateParam2: 'value' }); }, views: { // named views are mandatory - 'name1': {} + name1: {} } }; @@ -69,13 +69,13 @@ myApp.config(($stateProvider: angular.ui.IStateProvider, $stickyStateProvider: a $previousState.get('test-memo1'); $deepstateRedirect.reset('statename1', { - 'stateParam1': ['value1', 'value2'], - 'stateParam2': 'value' + stateParam1: ['value1', 'value2'], + stateParam2: 'value' }); }, views: { // named views are mandatory - 'name1': {} + name1: {} } }); @@ -106,13 +106,13 @@ myApp.config(($stateProvider: angular.ui.IStateProvider, $stickyStateProvider: a $previousState.get('test-memo1'); $deepstateRedirect.reset('statename1', { - 'stateParam1': ['value1', 'value2'], - 'stateParam2': 'value' + stateParam1: ['value1', 'value2'], + stateParam2: 'value' }); }, views: { // named views are mandatory - 'name1': {} + name1: {} } }); }); diff --git a/types/uikit/index.d.ts b/types/uikit/index.d.ts index de14822d28..ea881f23ce 100644 --- a/types/uikit/index.d.ts +++ b/types/uikit/index.d.ts @@ -1332,7 +1332,7 @@ declare namespace UIkit { *

Possible value

* integer */ - filelimit?: number; + filelimit?: number; /** * Response type from server * @default text From a85d25104b842412899783380d997aac92423335 Mon Sep 17 00:00:00 2001 From: Bastien Date: Tue, 9 May 2017 12:16:51 +0200 Subject: [PATCH 29/70] Providers extends IServiceProvider --- types/angular-ui-bootstrap/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/angular-ui-bootstrap/index.d.ts b/types/angular-ui-bootstrap/index.d.ts index 1e4d15d282..c09d8cfbb6 100644 --- a/types/angular-ui-bootstrap/index.d.ts +++ b/types/angular-ui-bootstrap/index.d.ts @@ -311,7 +311,7 @@ declare module 'angular' { openClass?: string; } - interface IModalProvider { + interface IModalProvider extends IServiceProvider { /** * Default options all modals will use. */ @@ -875,7 +875,7 @@ declare module 'angular' { useContentExp?: boolean; } - interface ITooltipProvider { + interface ITooltipProvider extends IServiceProvider { /** * Provide a set of defaults for certain tooltip and popover attributes. */ From 3e3496ef299cc511ed05fdf924092aa0c47594ce Mon Sep 17 00:00:00 2001 From: Syncfusion-JavaScript Date: Tue, 9 May 2017 16:23:35 +0530 Subject: [PATCH 30/70] 15.2 version changes merged to Defintely Typed --- types/ej.web.all/index.d.ts | 129567 +++++++++++++++++---------------- 1 file changed, 65569 insertions(+), 63998 deletions(-) diff --git a/types/ej.web.all/index.d.ts b/types/ej.web.all/index.d.ts index 0a715f52bf..e9f023c805 100644 --- a/types/ej.web.all/index.d.ts +++ b/types/ej.web.all/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for ej.web.all 15.1 +// Type definitions for ej.web.all 15.2 // Project: http://help.syncfusion.com/js/typescript // Definitions by: Syncfusion // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -7,435 +7,469 @@ /*! * filename: ej.web.all.d.ts -* version : 15.1.0.41 +* version : 15.2.0.40 * Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. * Use of this code is subject to the terms of our license. * A copy of the current license can be obtained at any time by e-mailing * licensing@syncfusion.com. Any infringement will be prosecuted under -* applicable laws. +* applicable laws. */ -declare namespace ej { - const dataUtil: dataUtil; - function isMobile(): boolean; - function isIOS(): boolean; - function isAndroid(): boolean; - function isFlat(): boolean; - function isWindows(): boolean; - function isCssCalc(): boolean; - function getCurrentPage(): JQuery; - function isLowerResolution(): boolean; - function browserInfo(): browserInfoOptions; - function isTouchDevice(): boolean; - function addPrefix(style: string): string; - function animationEndEvent(): string; - function blockDefaultActions(e: any): void; - function buildTag(tag: string, innerHtml?: string, styles?: any, attrs?: any): JQuery; - function cancelEvent(): string; - function copyObject(): string; - function createObject(nameSpace: string, value: any, initIn: any): JQuery; - function createObject(element: any, eventEmitter: any, model: any): any; - function setCulture(culture: string): void; - function getObject(element: string, model: any): T; - function getObject(nameSpace: string, fromdata?: any): any; - function defineClass(className: string, constructor: any, proto: any, replace: boolean): any; - function destroyWidgets(element: any): void; - function endEvent(): string; - function event(type: string, data: any, eventProp: any): any; - function getAndroidVersion(): any; - function getAttrVal(ele: any, val: string, option: any): any; - function getBooleanVal(ele: any, val: string, option: any): any; - function getClearString(): string; - function getDimension(element: any, method: string): any; - function getFontString(fontObj: any): string; - function getFontStyle(style: string): string; - function getMaxZindex(): number; - function getNameSpace(className: string): string; - function getOffset(ele: string): any; - function getRenderMode(): string; - function getScrollableParents(element: any): void; - function getTheme(): string; - function getZindexPartial(element: any, popupEle: string): number; - function hasRenderMode(element: string): void; - function hasStyle(prop: string): boolean; - function hasTheme(element: string): string; - function hexFromRGB(color: string): string; - function ieClearRemover(element: string): void; - function isAndroidWebView(): string; - function isDevice(): boolean; - function isIOS7(): boolean; - function isIOSWebView(): boolean; - function isLowerAndroid(): boolean; - function isNullOrUndefined(value: any): boolean; - function isPlainObject(): JQuery; - function isPortrait(): any; - function isTablet(): boolean; - function isWindowsWebView(): string; - function listenEvents(selectors: any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; - function listenTouchEvent(selectors: any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; - function logBase(val: string, base: string): number; - function measureText(text: string, maxwidth: number, font: string): string; - function moveEvent(): string; - function print(element: string, printWindow: any): void; - function proxy(fn: any, context?: string, arg?: string): any; - function round(value: string, div: string, up: string): any; - function sendAjaxRequest(ajaxOptions: any): void; - function setCaretToPos(nput: string, pos1: string, pos2: string): void; - function setRenderMode(element: string): void; - function setTheme(): any; - function startEvent(): string; - function tapEvent(): string; - function tapHoldEvent(): string; - function throwError(): any; - function transitionEndEvent(): any; - function userAgent(): boolean; - function widget(pluginName: string, className: string, proto: any): any; - function avg(json: any, filedName: string): any; - function getGuid(prefix: string): number; - function group(jsonArray: any, field: string, agg: string, level: number, groupDs: string): any; - function isJson(jsonData: string): string; - function max(jsonArray: any, fieldName?: string, comparer?: string): any; - function min(jsonArray: any, fieldName: string, comparer: string): any; - function merge(first: string, second: string): any; - function mergeshort(jsonArray: any, fieldName: string, comparer: string): any; - function parseJson(jsonText: string): string; - function parseTable(table: number, headerOption: string, headerRowIndex: string): any; - function select(jsonArray: any, fields: string): any; - function setTransition(): boolean; - function sum(json: string, fieldName: string): string; - function swap(array: any, x: string, y: string): any; - const cssUA: string; - const serverTimezoneOffset: number; - const transform: string; - const transformOrigin: string; - const transformStyle: string; - const transition: string; - const transitionDelay: string; - const transitionDuration: string; - const transitionProperty: string; - const transitionTimingFunction: string; - const template: any; - const util: { - valueFunction(val: string): any; - }; - export namespace device { - function isAndroid(): boolean; - function isIOS(): boolean; - function isFlat(): boolean; - function isIOS7(): boolean; - function isWindows(): boolean; - } - export namespace widget { - const autoInit: boolean; - const registeredInstances: any[]; - const registeredWidgets: any[]; - function register(pluginName: string, className: string, prototype: any): void; - function destroyAll(elements: Element): void; - function init(element: Element): void; - function registerInstance(element: Element, pluginName: string, className: string, prototype: any): void; - } +declare module ej { + + var dataUtil: dataUtil; + function isMobile(): boolean; + function isIOS(): boolean; + function isAndroid(): boolean; + function isFlat(): boolean; + function isWindows(): boolean; + function isCssCalc(): boolean; + function getCurrentPage(): JQuery; + function isLowerResolution(): boolean; + function browserInfo(): browserInfoOptions; + function isTouchDevice(): boolean; + function addPrefix(style: string): string; + function animationEndEvent(): string; + function blockDefaultActions(e: Object): void; + function buildTag(tag: string, innerHtml?: string, styles?: Object, attrs?: Object): JQuery; + function cancelEvent(): string; + function copyObject(): string; + function createObject(nameSpace: string, value: Object, initIn: any): JQuery; + function createObject(element: any, eventEmitter: any, model: any): any; + function setCulture(culture: string): void; + function getObject(element :string, model :any ): T; + function defineClass(className: string, constructor:any, proto: Object, replace: boolean): Object; + function destroyWidgets(element: Object): void; + function endEvent(): string; + function event(type: string, data: any, eventProp: Object): Object; + function getAndroidVersion(): Object; + function getAttrVal(ele: Object, val: string, option: Object): Object; + function getBooleanVal(ele: Object, val: string, option: Object): Object; + function getClearString(): string; + function getDimension(element: Object, method: string): Object; + function getFontString(fontObj: Object): string; + function getFontStyle(style: string): string; + function getMaxZindex(): number; + function getNameSpace(className: string): string; + function getObject(nameSpace: string, fromdata?: any): Object; + function getOffset(ele: string): Object; + function getRenderMode(): string; + function getScrollableParents(element: Object): void; + function getTheme(): string; + function getZindexPartial(element: Object, popupEle: string): number; + function hasRenderMode(element: string): void; + function hasStyle(prop: string): boolean; + function hasTheme(element: string): string; + function hexFromRGB(color: string): string; + function ieClearRemover(element: string): void; + function isAndroidWebView(): string; + function isDevice(): boolean; + function isIOS7(): boolean; + function isIOSWebView(): boolean; + function isLowerAndroid(): boolean; + function isNullOrUndefined(value: Object): boolean; + function isPlainObject(): JQuery; + function isPortrait(): any; + function isTablet(): boolean; + function isWindowsWebView(): string; + function listenEvents(selectors:any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; + function listenTouchEvent(selectors:any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; + function logBase(val: string, base: string): number; + function measureText(text: string, maxwidth: number, font: string): string; + function moveEvent(): string; + function print(element: string, printWindow: any): void; + function proxy(fn: Object, context?: string, arg?: string): any; + function round(value: string, div: string, up: string): any; + function sendAjaxRequest(ajaxOptions: Object): void; + function setCaretToPos(nput: string, pos1: string, pos2: string): void; + function setRenderMode(element: string): void; + function setTheme(): Object; + function startEvent(): string; + function tapEvent(): string; + function tapHoldEvent(): string; + function throwError(): Object; + function transitionEndEvent(): Object; + function userAgent(): boolean; + function widget(pluginName: string, className: string, proto: Object): Object; + function avg(json: Object, filedName: string): any; + function getGuid(prefix: string): number; + function group(jsonArray: any, field: string, agg: string, level: number, groupDs: string): Object; + function isJson(jsonData: string): string; + function max(jsonArray: any, fieldName?: string, comparer?: string): any; + function min(jsonArray: any, fieldName: string, comparer: string): any; + function merge(first: string, second: string): any; + function mergeshort(jsonArray: any, fieldName: string, comparer: string): any; + function parseJson(jsonText: string): string; + function parseTable(table: number, headerOption: string, headerRowIndex: string): Object; + function select(jsonArray: any, fields: string): any; + function setTransition(): boolean; + function sum(json: string, fieldName: string): string; + function swap(array: any, x: string, y: string): any; + var cssUA: string; + var serverTimezoneOffset: number; + var transform: string; + var transformOrigin: string; + var transformStyle: string; + var transition: string; + var transitionDelay: string; + var transitionDuration: string; + var transitionProperty: string; + var transitionTimingFunction: string; + var template: any; + var util: { + valueFunction(val: string): any; + } + export module device { + function isAndroid(): boolean; + function isIOS(): boolean; + function isFlat(): boolean; + function isIOS7(): boolean; + function isWindows(): boolean; + } + export module widget { + var autoInit: boolean; + var registeredInstances: Array; + var registeredWidgets: Array; + function register(pluginName: string, className: string, prototype: any): void; + function destroyAll(elements: Element): void; + function init(element: Element): void; + function registerInstance(element: Element, pluginName: string, className: string, prototype: any):void; + } + interface browserInfoOptions { name: string; version: string; - culture: any; + culture: Object; isMSPointerEnabled: boolean; } class WidgetBase { - destroy(): void; - element: JQuery; - setModel(options: any, forceSet?: boolean): any; - option(prop?: any, value?: any, forceSet?: boolean): any; - _trigger(eventName?: string, eventProp?: any): any; - _on(element: JQuery, eventType?: string, handler?: (eventObject: JQueryEventObject) => any): any; - _on(element: JQuery, eventType?: string, selector?: string, handler?: (eventObject: JQueryEventObject) => any): any; - _off(element: JQuery, eventName: string, handler?: (eventObject: JQueryEventObject) => any): any; - _off(element: JQuery, eventType?: string, selector?: string, handler?: (eventObject: JQueryEventObject) => any): any; - persistState(): void; - restoreState(silent: boolean): void; - } + destroy(): void; + element: JQuery; + setModel(options: Object, forceSet?: boolean):any; + option(prop?: Object, value?: Object, forceSet?: boolean): any; + _trigger(eventName?: string, eventProp?: Object): any; + _on(element: JQuery, eventType?: string, handler?: (eventObject: JQueryEventObject) => any): any; + _on(element: JQuery, eventType ?: string, selector ?: string, handler ?: (eventObject: JQueryEventObject) => any): any; + _off(element: JQuery, eventName: string, handler ?: (eventObject: JQueryEventObject) => any): any; + _off(element: JQuery, eventType ?: string, selector ?: string, handler ?: (eventObject: JQueryEventObject) => any): any; + persistState(): void; + restoreState(silent: boolean): void; + } - class Widget extends WidgetBase { - constructor(pluginName: string, className: string, proto: any); - static fn: Widget; - static extend(widget: Widget): any; - register(pluginName: string, className: string, prototype: any): void; - destroyAll(elements: Element): void; - model: any; - } + class Widget extends WidgetBase { + constructor(pluginName: string, className: string, proto: any); + static fn: Widget; + static extend(widget: Widget): any; + register(pluginName: string, className: string, prototype: any): void; + destroyAll(elements: Element): void; + model: any; + } - interface BaseEvent { - cancel: boolean; - type: string; - } - class DataManager { - constructor(dataSource?: any, query?: ej.Query, adaptor?: any); - setDefaultQuery(query: ej.Query): void; - executeQuery(query?: ej.Query, done?: any, fail?: any, always?: any): JQueryPromise; - executeLocal(query?: ej.Query): ej.DataManager; - saveChanges(changes?: Changes, key?: string, tableName?: string): JQueryDeferred; - insert(data: any, tableName?: string): JQueryPromise; - remove(keyField: string, value: any, tableName?: string): any; - update(keyField: string, value: any, tableName?: string): any; - } + interface BaseEvent { + cancel: boolean; + type: string; + } + class DataManager { + constructor(dataSource?: any, query?: ej.Query, adaptor?: any); + setDefaultQuery(query: ej.Query): void; + executeQuery(query?: ej.Query, done?: any, fail?: any, always?: any): JQueryPromise; + executeLocal(query?: ej.Query): ej.DataManager; + saveChanges(changes?: Changes, key?: string, tableName?: string): JQueryDeferred; + insert(data: Object, tableName?: string): JQueryPromise; + remove(keyField: string, value: any, tableName?: string): Object; + update(keyField: string, value: any, tableName?: string): Object; + } - class Query { - constructor(); - static fn: Query; - static extend(prototype: any): Query; - key(field: string): ej.Query; - using(dataManager: ej.DataManager): ej.Query; - execute(dataManager: ej.DataManager, done: any, fail?: string, always?: string): any; - executeLocal(dataManager: ej.DataManager): ej.DataManager; - clone(): ej.Query; - from(tableName: any): ej.Query; - addParams(key: string, value: string): ej.Query; - expand(tables: any): ej.Query; - where(fieldName: string, operator: ej.FilterOperators, value: any, ignoreCase?: boolean): ej.Query; - where(predicate: ej.Predicate): ej.Query; - search(searchKey: any, fieldNames?: any, operator?: string, ignoreCase?: boolean): ej.Query; - sortBy(fieldName: string, comparer?: ej.SortOrder, isFromGroup?: boolean): ej.Query; - sortByDesc(fieldName: string): ej.Query; - group(fieldName: string): ej.Query; - page(pageIndex: number, pageSize: number): ej.Query; - take(nos: number): ej.Query; - skip(nos: number): ej.Query; - select(fieldNames: any): ej.Query; - hierarchy(query: ej.Query, selectorFn: any): ej.Query; - foreignKey(key: string): ej.Query; - requiresCount(): ej.Query; - range(start: number, end: number): ej.Query; - } + class Query { + constructor(); + static fn: Query; + static extend(prototype: Object): Query; + key(field: string): ej.Query; + using(dataManager: ej.DataManager): ej.Query; + execute(dataManager: ej.DataManager, done: any, fail?: string, always?: string): any; + executeLocal(dataManager: ej.DataManager): ej.DataManager; + clone(): ej.Query; + from(tableName: any): ej.Query; + addParams(key: string, value: string): ej.Query; + expand(tables: any): ej.Query; + where(fieldName: string, operator: ej.FilterOperators, value: any, ignoreCase?: boolean): ej.Query; + where(predicate:ej.Predicate):ej.Query; + search(searchKey: any, fieldNames?: any, operator?: string, ignoreCase?: boolean): ej.Query; + sortBy(fieldName: string, comparer?: ej.SortOrder, isFromGroup?: boolean): ej.Query; + sortByDesc(fieldName: string): ej.Query; + group(fieldName: string): ej.Query; + page(pageIndex: number, pageSize: number): ej.Query; + take(nos: number): ej.Query; + skip(nos: number): ej.Query; + select(fieldNames: any): ej.Query; + hierarchy(query: ej.Query, selectorFn: any): ej.Query; + foreignKey(key: string): ej.Query; + requiresCount(): ej.Query; + range(start:number, end:number): ej.Query; + } - class Adaptor { - constructor(ds: any); - pvt: any; - type: ej.Adaptor; - options: AdaptorOptions; - extend(overrides: any): ej.Adaptor; - processQuery(dm: ej.DataManager, query: ej.Query): any; - processResponse(data: any, ds: any, query: ej.Query, xhr: JQueryXHR, request?: any, changes?: Changes): any; - convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; - } + class Adaptor { + constructor(ds: any); + pvt: Object; + type: ej.Adaptor; + options: AdaptorOptions; + extend(overrides: any): ej.Adaptor; + processQuery(dm: ej.DataManager, query: ej.Query):any; + processResponse(data: Object, ds: any, query: ej.Query, xhr: JQueryXHR, request?: Object, changes?: Changes): Object; + convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; + } - interface AdaptorOptions { - from?: string; - requestType?: string; - sortBy?: string; - select?: string; - skip?: string; - group?: string; - take?: string; - search?: string; - count?: string; - where?: string; - aggregates?: string; - } + interface AdaptorOptions { + from?: string; + requestType?: string; + sortBy?: string; + select?: string; + skip?: string; + group?: string; + take?: string; + search?: string; + count?: string; + where?: string; + aggregates?: string; + } - class UrlAdaptor extends ej.Adaptor { - constructor(); - processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: any): { - type: string; url: string; ejPvtData: any; contentType?: string; data?: any; - }; - convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; - processResponse(data: any, ds: any, query: ej.Query, xhr: JQueryXHR, request?: any, changes?: Changes): any; - onGroup(e: any): void; - batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any }; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; - getFiltersFrom(data: any, query: ej.Query): ej.Predicate; - } - - class ODataAdaptor extends ej.UrlAdaptor { - constructor(); - options: UrlAdaptorOptions; - onEachWhere(filter: any, requiresCast: boolean): any; - onPredicate(pred: ej.Predicate, query: ej.Query, requiresCast: boolean): string; - onComplexPredicate(pred: ej.Predicate, requiresCast: boolean): string; - onWhere(filters: string[]): string; - onEachSearch(e: any): void; - onSearch(e: any): string; - onEachSort(e: any): string; - onSortBy(e: any): string; - onGroup(e: any): string; - onSelect(e: any): string; - onCount(e: any): string; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { - result: any; count: number - }; - convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; - insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any; }; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; data: any; accept: string; }; - batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: any; contentType: string; }; - generateDeleteRequest(arr: any[], e: any): string; - generateInsertRequest(arr: any[], e: any): string; - generateUpdateRequest(arr: any[], e: any): string; - } - interface UrlAdaptorOptions { - requestType?: string; - accept?: string; - multipartAccept?: string; - sortBy?: string; - select?: string; - skip?: string; - take?: string; - count?: string; - where?: string; - expand?: string; - batch?: string; - changeSet?: string; - batchPre?: string; - contentId?: string; - batchContent?: string; - changeSetContent?: string; - batchChangeSetContentType?: string; - } + class UrlAdaptor extends ej.Adaptor { + constructor(); + processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: Object): { + type: string; url: string; ejPvtData: Object; contentType?: string; data?: Object; + } + convertToQueryString(req: Object, query: ej.Query, dm: ej.DataManager): JQueryParam; + processResponse(data: Object, ds: any, query: ej.Query, xhr: JQueryXHR, request?: Object, changes?: Changes): Object; + onGroup(e: any): void; + onAggregates(e :any) : void; + batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; + beforeSend(dm: ej.DataManager, request: any, settings?:any): void; + insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: any }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; + getFiltersFrom(data: Object, query: ej.Query): ej.Predicate; + } + class WebMethodAdaptor extends ej.UrlAdaptor { + constructor(); + processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: Object): { + type: string; url: string; ejPvtData: Object; contentType?: string; data?: Object; + }; + } + class CacheAdaptor extends ej.UrlAdaptor { + constructor(); + init (adaptor: Object, timeStamp: number, pageSize: number): void; + generateKey (url: string, query: ej.Query) : string; + processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: Object): any; + processResponse(data: Object, ds: any, query: ej.Query, xhr: JQueryXHR, request?: Object, changes?: Changes): Object; + insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: any }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; + batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: Object; contentType: string }; + + } + class ODataAdaptor extends ej.UrlAdaptor { + constructor(); + options: UrlAdaptorOptions; + onEachWhere(filter: any, requiresCast: boolean): any; + onPredicate(pred: ej.Predicate, query: ej.Query, requiresCast: boolean): string; + onComplexPredicate(pred: ej.Predicate, requiresCast: boolean): string; + onWhere(filters: Array): string; + onEachSearch(e: Object): void; + onSearch(e: Object): string; + onEachSort(e: Object): string; + onSortBy(e: Object): string; + onGroup(e: Object): string; + onSelect(e: Object): string; + onAggregates(e: Object): string; + onCount(e: Object): string; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + processResponse(data: Object, ds: Object, query: ej.Query, xhr:any, request: any, changes: Changes): { + result: Object; count: number + }; + convertToQueryString(req: Object, query: ej.Query, dm: ej.DataManager): JQueryParam; + insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: Object; } + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; } + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; data: Object; accept: string; } + batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: Object; contentType: string; } + generateDeleteRequest(arr: Array, e: any): string; + generateInsertRequest(arr: Array, e: any): string; + generateUpdateRequest(arr: Array, e: any): string; + } + interface UrlAdaptorOptions { + requestType?: string; + accept?: string; + multipartAccept?: string; + sortBy?: string; + select?: string; + skip?: string; + take?: string; + count?: string; + where?: string; + expand?: string; + batch?: string; + changeSet?: string; + batchPre?: string; + contentId?: string; + batchContent?: string; + changeSetContent?: string; + batchChangeSetContentType?: string; + } + class WebApiAdaptor extends ej.ODataAdaptor { - constructor(); - insert(dm: ej.DataManager, data: any, tableName?: string): { url: string; type: string; data: any; }; - remove(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: any; }; - update(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: any; accept: string; }; - processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { - result: any; count: number - }; - } - class ODataV4Adaptor extends ej.ODataAdaptor { - constructor(); - options: ODataAdaptorOptions; - onCount(e: any): string; - onEachSearch(e: any): void; - onSearch(e: any): string; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { - result: any; count: number - }; - } - interface ODataAdaptorOptions { - requestType?: string; - accept?: string; - multipartAccept?: string; - sortBy?: string; - select?: string; - skip?: string; - take?: string; - count?: string; - search?: string; - where?: string; - expand?: string; - batch?: string; - changeSet?: string; - batchPre?: string; - contentId?: string; - batchContent?: string; - changeSetContent?: string; - batchChangeSetContentType?: string; - } + constructor(); + insert(dm: ej.DataManager, data: Object, tableName?: string): { url: string; type: string; data: Object; } + remove(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: Object; } + update(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: Object; accept: string; } + processResponse(data: Object, ds: Object, query: ej.Query, xhr: any, request: any, changes: Changes): { + result: Object; count: number + }; + } + + class ODataV4Adaptor extends ej.ODataAdaptor { + constructor(); + options: ODataAdaptorOptions; + onCount(e: Object): string; + onEachSearch(e: Object): void; + onSearch(e: Object): string; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + processQuery(ds: Object, query: ej.Query):{ + type: string; url: string; ejPvtData: Object; contentType?: string; data?: Object; + }; + processResponse(data: Object, ds: Object, query: ej.Query, xhr:any, request: any, changes: Changes): { + result: Object; count: number + }; + + } + interface ODataAdaptorOptions { + requestType?: string; + accept?: string; + multipartAccept?: string; + sortBy?: string; + select?: string; + skip?: string; + take?: string; + count?: string; + search?: string; + where?: string; + expand?: string; + batch?: string; + changeSet?: string; + batchPre?: string; + contentId?: string; + batchContent?: string; + changeSetContent?: string; + batchChangeSetContentType?: string; + } - class JsonAdaptor extends ej.Adaptor { + class JsonAdaptor extends ej.Adaptor { + constructor(); + processQuery(ds: Object, query: ej.Query): string; + batchRequest(dm: ej.DataManager, changes: Changes, e:any): Changes; + onWhere(ds: Object, e: any): any; + onAggregates(ds: Object, e: any): any; + onSearch(ds: Object, e: any): any + onSortBy(ds: Object, e: any, query: ej.Query): Object; + onGroup(ds: Object, e: any, query: ej.Query): Object; + onPage(ds: Object, e: any, query: ej.Query): Object; + onRange(ds: Object, e: any): Object; + onTake(ds: Object, e: any): Object; + onSkip(ds: Object, e: any): Object; + onSelect(ds: Object, e: any): Object; + insert(dm: ej.DataManager, data: any, tableName? : string): Object; + remove(dm: ej.DataManager, keyField: string, value:any, tableName: string): Object; + update(dm: ej.DataManager, keyField: string, value:any, tableName: string): Object; + } + class ForeignKeyAdaptor extends ej.JsonAdaptor{ constructor(); - processQuery(ds: any, query: ej.Query): string; - batchRequest(dm: ej.DataManager, changes: Changes, e: any): Changes; - onWhere(ds: any, e: any): any; - onSearch(ds: any, e: any): any; - onSortBy(ds: any, e: any, query: ej.Query): any; - onGroup(ds: any, e: any, query: ej.Query): any; - onPage(ds: any, e: any, query: ej.Query): any; - onRange(ds: any, e: any): any; - onTake(ds: any, e: any): any; - onSkip(ds: any, e: any): any; - onSelect(ds: any, e: any): any; - insert(dm: ej.DataManager, data: any): any; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): any; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): any; - } + processQuery(ds: Object, query: ej.Query): any; + insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: Object }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; data: Object }; + } class remoteSaveAdaptor extends ej.UrlAdaptor { - constructor(); - batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any }; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; - } - class TableModel { - constructor(name: string, jsonArray: any[], dataManager: ej.DataManager, modelComputed: any); - on(eventName: string, handler: any): void; - off(eventName: string, handler: any): void; - setDataManager(dataManager: DataManager): void; - saveChanges(): void; - rejectChanges(): void; - insert(json: any): void; - update(value: any): void; - remove(key: string): void; - isDirty(): boolean; - getChanges(): Changes; - toArray(): any[]; - setDirty(dirty: any, model: any): void; - get(index: number): void; - length(): number; - bindTo(element: any): void; - } - class Model { - constructor(json: any, table: string, name: string); - formElements: string[]; - computes(value: any): void; - on(eventName: string, handler: any): void; - off(eventName: string, handler: any): void; - set(field: string, value: any): void; - get(field: string): any; - revert(suspendEvent: any): void; - save(dm: ej.DataManager, key: string): void; - markCommit(): void; - markDelete(): void; - changeState(state: boolean, args: any): void; - properties(): any; - bindTo(element: any): void; - unbind(element: any): void; - } - interface Changes { - changed?: any[]; - added?: any[]; - deleted?: any[]; - } - class Predicate { - constructor(); - constructor(field: string, operator: ej.FilterOperators, value: any, ignoreCase: boolean); - and(field: string, operator: any, value: any, ignoreCase: boolean): ej.Predicate; - or(field: string, operator: any, value: any, ignoreCase: boolean): ej.Predicate; - or(predicate: any[]): any; - validate(record: any): boolean; - toJSON(): { - isComplex: boolean; - field: string; - operator: string; - value: any; - ignoreCase: boolean; - condition: string; - predicates: any; - }; - } - interface dataUtil { - swap(array: any[], x: number, y: number): void; - mergeSort(jsonArray: any[], fieldName?: string, comparer?: any): any[]; - max(jsonArray: any[], fieldName?: string, comparer?: string): any[]; - min(jsonArray: any[], fieldName: string, comparer: string): any[]; - distinct(jsonArray: any[], fieldName?: string, requiresCompleteRecord?: any): any[]; - sum(json: any, fieldName: string): number; - avg(json: any, fieldName: string): number; - select(jsonArray: any[], fieldName: string, fields: string): any[]; - group(jsonArray: any[], field: string, /* internal */ level: number): any[]; - parseTable(table: string, headerOption: ej.headerOption, headerRowIndex: number): any; - } - interface AjaxSettings { - type?: string; - cache: boolean; - data?: any; - dataType?: string; - contentType?: any; - async?: boolean; - } + constructor(); + batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: any }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; + } + class TableModel { + constructor(name: string, jsonArray: Array, dataManager: ej.DataManager, modelComputed: any); + on(eventName: string, handler: any): void; + off(eventName: string, handler: any): void; + setDataManager(dataManager: DataManager): void; + saveChanges(): void; + rejectChanges(): void; + insert(json: any): void; + update(value: any): void; + remove(key: string): void; + isDirty(): boolean; + getChanges(): Changes; + toArray(): Array; + setDirty(dirty:any, model:any): void; + get(index: number): void; + length(): number; + bindTo(element: any): void; + } + class Model { + constructor(json: any, table: string, name: string); + formElements: Array; + computes(value: any): void; + on(eventName: string, handler: any): void; + off(eventName: string, handler: any): void; + set(field: string, value: any): void; + get(field: string): any; + revert(suspendEvent: any): void; + save(dm: ej.DataManager, key: string): void; + markCommit(): void; + markDelete(): void; + changeState(state: boolean, args: any): void; + properties(): any; + bindTo(element: any): void; + unbind(element: any): void; + } + interface Changes { + changed?: Array; + added?: Array; + deleted?: Array; + } + class Predicate { + constructor(); + constructor(field: string, operator: ej.FilterOperators, value: any, ignoreCase: boolean); + and(field: string, operator: any, value:any, ignoreCase:boolean): ej.Predicate; + or(field: string, operator: any, value: any, ignoreCase: boolean): ej.Predicate; + or(predicate: Array): any; + validate(record: Object): boolean; + toJSON(): { + isComplex: boolean; + field: string; + operator: string; + value: any; + ignoreCase: boolean; + condition: string; + predicates: any; + }; + } + interface dataUtil { + swap(array: Array, x: number, y: number): void; + mergeSort(jsonArray: Array, fieldName?: string, comparer?:any): Array; + max(jsonArray: Array, fieldName?: string, comparer?: string): Array; + min(jsonArray: Array, fieldName: string, comparer: string): Array; + distinct(jsonArray: Array, fieldName?: string, requiresCompleteRecord?:any): Array; + sum(json:any, fieldName: string): number; + avg(json:any, fieldName: string): number; + select(jsonArray: Array, fieldName: string, fields:string): Array; + group(jsonArray: Array, field: string, /* internal */ level: number): Array; + parseTable(table: string, headerOption: ej.headerOption, headerRowIndex: number): Object; + } + interface AjaxSettings { + type?: string; + cache: boolean; + data?: any; + dataType?: string; + contentType?: any; + async?: boolean; + } enum FilterOperators { contains, endsWith, @@ -486,64803 +520,66340 @@ declare namespace ej { row, tHead } - enum filterType { + + enum filterType{ StartsWith, Contains, EndsWith, LessThan, GreaterThan, - LessThanOrEqual, + LessThanOrEqual , GreaterThanOrEqual, Equal, NotEqual } - enum Animation { + enum Animation{ Fade, None, Slide - } - enum Type { + } + enum Type{ Overlay, Slide } - enum SortOrder { + enum SortOrder{ Ascending, Descending } - class Draggable extends ej.Widget { - static fn: Draggable; - constructor(element: JQuery | Element, options?: Draggable.Model); - static Locale: any; - model: Draggable.Model; - defaults: Draggable.Model; +class Draggable extends ej.Widget { + static fn: Draggable; + constructor(element: JQuery, options?: Draggable.Model); + constructor(element: Element, options?: Draggable.Model); + static Locale: any; + model:Draggable.Model; + defaults:Draggable.Model; + + /** destroy in the draggable. + * @returns {void} + */ + _destroy(): void; +} +export module Draggable{ - /** destroy in the draggable. - * @returns {void} - */ - _destroy(): void; - } - export namespace Draggable { +export interface Model { + + /** If clone is specified. + * @Default {false} + */ + clone?: boolean; + + /** Sets the offset of the dragging helper relative to the mouse cursor. + * @Default {{ top: -1, left: -2 }} + */ + cursorAt?: any; - export interface Model { - - /** If clone is specified. - * @Default {false} - */ - clone?: boolean; - - /** Sets the offset of the dragging helper relative to the mouse cursor. - * @Default {{ top: -1, left: -2 }} - */ - cursorAt?: any; + /** Distance in pixels after mousedown the mouse must move before dragging should start. This option can be used to prevent unwanted drags when clicking on an element. + * @Default {1} + */ + distance?: number; + + /** The drag area is used to restrict the dragging element bounds.Specify the id of the container within which the element should be dragged. + * @Default {null} + */ + dragArea?: boolean; + + /** If specified, restricts drag start click to the specified element(s). + * @Default {null} + */ + handle?: string; - /** Distance in pixels after mousedown the mouse must move before dragging should start. This option can be used to prevent unwanted drags when clicking on an element. - * @Default {1} - */ - distance?: number; + /** Used to group sets of draggable and droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. + * @Default {'default'} + */ + scope?: string; - /** The drag area is used to restrict the dragging element bounds. - * @Default {false} - */ - dragArea?: boolean; - - /** If specified, restricts drag start click to the specified element(s). - * @Default {null} - */ - handle?: string; + /** This event is triggered when dragging element is destroyed. */ + destroy? (e: DestroyEventArgs): void; - /** Used to group sets of draggable and droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. - * @Default {'default'} - */ - scope?: string; + /** This event is triggered when the mouse is moved during the dragging. */ + drag? (e: DragEventArgs): void; - /** This event is triggered when dragging element is destroyed. */ - destroy?(e: DestroyEventArgs): void; + /** Supply a callback function to handle the drag start event as an init option. */ + dragStart? (e: DragStartEventArgs): void; + + /** This event is triggered when the mouse is moved during the dragging. */ + dragStop? (e: DragStopEventArgs): void; - /** This event is triggered when the mouse is moved during the dragging. */ - drag?(e: DragEventArgs): void; + /** This event is triggered when dragged. */ + helper? (e: HelperEventArgs): void; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Draggable.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DragEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the draggable model + */ + model?: ej.Draggable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event model values + */ + event?: any; + + /** returns the exact mouse down target element + */ + target?: any; +} + +export interface DragStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Supply a callback function to handle the drag start event as an init option. */ - dragStart?(e: DragStartEventArgs): void; + /** returns the draggable model + */ + model?: ej.Draggable.Model; - /** This event is triggered when the mouse is moved during the dragging. */ - dragStop?(e: DragStopEventArgs): void; + /** returns the name of the event + */ + type?: string; - /** This event is triggered when dragged. */ - helper?(e: HelperEventArgs): void; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Draggable.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DragEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the draggable model - */ - model?: ej.Draggable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event model values - */ - event?: any; - - /** returns the exact mouse down target element - */ - target?: any; - } - - export interface DragStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event model values + */ + event?: any; - /** returns the draggable model - */ - model?: ej.Draggable.Model; + /** returns the exact mouse down target element + */ + target?: any; +} - /** returns the name of the event - */ - type?: string; +export interface DragStopEventArgs { - /** returns the event model values - */ - event?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the exact mouse down target element - */ - target?: any; - } + /** returns the draggable model + */ + model?: ej.Draggable.Model; - export interface DragStopEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event model values + */ + event?: any; - /** returns the draggable model - */ - model?: ej.Draggable.Model; + /** returns the exact mouse down target element + */ + target?: any; +} - /** returns the name of the event - */ - type?: string; +export interface HelperEventArgs { - /** returns the event model values - */ - event?: any; + /** returns the draggable element object + */ + element?: any; - /** returns the exact mouse down target element - */ - target?: any; - } + /** returns the event model values + */ + sender?: any; +} +} - export interface HelperEventArgs { +class Droppable extends ej.Widget { + static fn: Droppable; + constructor(element: JQuery, options?: Droppable.Model); + constructor(element: Element, options?: Droppable.Model); + static Locale: any; + model:Droppable.Model; + defaults:Droppable.Model; + + /** destroy in the Droppable. + * @returns {void} + */ + _destroy(): void; +} +export module Droppable{ + +export interface Model { + + /** Used to accept the specified draggable items. + * @Default {null} + */ + accept?: any; + + /** Used to group sets of droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. + * @Default {'default'} + */ + scope?: string; + + /** This event is triggered when the mouse up is moved during the dragging. */ + drop? (e: DropEventArgs): void; + + /** This event is triggered when the mouse is moved out. */ + out? (e: OutEventArgs): void; + + /** This event is triggered when the mouse is moved over. */ + over? (e: OverEventArgs): void; +} + +export interface DropEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Droppable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the element which accepts the droppable element. + */ + target?: any; +} + +export interface OutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Droppable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse out over the element + */ + target?: any; +} + +export interface OverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Droppable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse over the element + */ + target?: any; +} +} + +class Resizable extends ej.Widget { + static fn: Resizable; + constructor(element: JQuery, options?: Resizable.Model); + constructor(element: Element, options?: Resizable.Model); + static Locale: any; + model:Resizable.Model; + defaults:Resizable.Model; + + /** destroy in the Resizable. + * @returns {void} + */ + _destroy(): void; +} +export module Resizable{ + +export interface Model { + + /** Sets the offset of the resizing helper relative to the mouse cursor. + * @Default {{ top: -1, left: -2 }} + */ + cursorAt?: any; + + /** Distance in pixels after mousedown the mouse must move before resizing should start. This option can be used to prevent unwanted drags when clicking on an element. + * @Default {1} + */ + distance?: number; + + /** If specified, restricts resize start click to the specified element(s). + * @Default {null} + */ + handle?: string; + + /** Sets the max height for resizing + * @Default {null} + */ + maxHeight?: number; + + /** Sets the max width for resizing + * @Default {null} + */ + maxWidth?: number; + + /** Sets the min Height for resizing + * @Default {10} + */ + minHeight?: number; + + /** Sets the min Width for resizing + * @Default {10} + */ + minWidth?: number; + + /** Used to group sets of resizable items. + * @Default {'default'} + */ + scope?: string; + + /** This event is triggered when the widget destroys. */ + destroy? (e: DestroyEventArgs): void; + + /** This event is triggered when resized. */ + helper? (e: HelperEventArgs): void; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Resizable.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface HelperEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Resizable.Model; + + /** returns the name of the event + */ + type?: string; +} +} + + + var globalize:globalize; + var cultures:culture; + function addCulture(name: string, culture ?: any): void; + function preferredCulture(culture ?: string): culture; + function format(value: any, format: string, culture ?: string): string; + function parseInt(value: string, radix?: any, culture ?: string): number; + function parseFloat(value: string, radix?: any, culture ?: string): number; + function parseDate(value: string, format: string, culture ?: string): Date; + function getLocalizedConstants(controlName: string, culture ?: string): any; + +interface globalize { + addCulture(name: string, culture?: any): void; + preferredCulture(culture?: string): culture; + format(value: any, format: string, culture?: string): string; + parseInt(value: string, radix?: any, culture?: string): number; + parseFloat(value: string, radix?: any, culture?: string): number; + parseDate(value: string, format: string, culture?: string): Date; + getLocalizedConstants(controlName: string, culture?: string): any; + } + interface culture { + name?: string; + englishName?: string; + namtiveName?: string; + language?: string; + isRTL: boolean; + numberFormat?: formatSettings; + calendars?: calendarsSettings; + } + interface formatSettings { + pattern: Array; + decimals: number; + groupSizes: Array; + percent: percentSettings; + currency: currencySettings; + } + interface percentSettings { + pattern: Array; + decimals: number; + groupSizes: Array; + symbol: string; + } + interface currencySettings { + pattern: Array; + decimals: number; + groupSizes: Array; + symbol: string; + } + interface calendarsSettings { + standard: standardSettings; + } + interface standardSettings { + firstDay: number; + days: daySettings; + months: monthSettings; + AM: Array; + PM: Array; + twoDigitYearMax: number; + patterns: patternSettings; + } + interface daySettings { + names: Array; + namesAbbr: Array; + namesShort: Array; + } + interface monthSettings { + names: Array; + namesAbbr: Array; + } + interface patternSettings { + d: string; + D: string; + t: string; + T: string; + f: string; + F: string; + M: string; + Y: string; + S: string; + } +class Scroller extends ej.Widget { + static fn: Scroller; + constructor(element: JQuery, options?: Scroller.Model); + constructor(element: Element, options?: Scroller.Model); + static Locale: any; + model:Scroller.Model; + defaults:Scroller.Model; + + /** destroy the Scroller control, unbind the all ej control related events automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** User disables the Scroller control at any time. + * @returns {void} + */ + disable(): void; + + /** User enables the Scroller control at any time. + * @returns {void} + */ + enable(): void; + + /** Returns true if horizontal scrollbar is shown, else return false. + * @returns {boolean} + */ + isHScroll(): boolean; + + /** Returns true if vertical scrollbar is shown, else return false. + * @returns {boolean} + */ + isVScroll(): boolean; + + /** User refreshes the Scroller control at any time. + * @returns {void} + */ + refresh(): void; + + /** Horizontal scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. + * @param {number|string} Horizontal scroller moves to the specified pixel. + * @param {boolean} Specifies to enable/disable the animation. + * @param {number} Specifies the animation speed when scrolling, if animation is enabled. + * @returns {void} + */ + scrollX(pixel: number|string, disableAnimation: boolean, animationSpeed: number): void; + + /** Vertical scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. + * @param {number|string} Vertical scroller moves to the specified pixel. + * @param {boolean} Specifies to enable/disable the animation. + * @param {number} Specifies the animation speed when scrolling, if animation is enabled. + * @returns {void} + */ + scrollY(pixel: number|string, disableAnimation: boolean, animationSpeed: number): void; +} +export module Scroller{ + +export interface Model { + + /** Specifies the swipe scrolling speed(in millisecond). + * @Default {600} + */ + animationSpeed?: number; + + /** Set true to hides the scrollbar, when mouseout the content area. + * @Default {false} + */ + autoHide?: boolean; + + /** Specifies the height and width of button in the scrollbar. + * @Default {18} + */ + buttonSize?: number; + + /** Specifies to enable or disable the scroller + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Indicates the Right to Left direction to scroller + * @Default {undefined} + */ + enableRTL?: boolean; + + /** Enables or Disable the touch Scroll + * @Default {true} + */ + enableTouchScroll?: boolean; + + /** Specifies the height of Scroll panel and scrollbars. + * @Default {250} + */ + height?: number|string; + + /** If the scrollbar has vertical it set as width, else it will set as height of the handler. + * @Default {18} + */ + scrollerSize?: number; + + /** The Scroller content and scrollbars move left with given value. + * @Default {0} + */ + scrollLeft?: number; + + /** While press on the arrow key the scrollbar position added to the given pixel value. + * @Default {57} + */ + scrollOneStepBy?: number; + + /** The Scroller content and scrollbars move to top position with specified value. + * @Default {0} + */ + scrollTop?: number; + + /** Indicates the target area to which scroller have to appear. + * @Default {null} + */ + targetPane?: string; + + /** Specifies the width of Scroll panel and scrollbars. + * @Default {0} + */ + width?: number|string; + + /** Fires when Scroller control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when Scroller control is destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when a thumb point is moved along the touch surface. */ + thumbMove? (e: ThumbMoveEventArgs): void; + + /** Fires when a thumb point is placed on the touch surface. */ + thumbStart? (e: ThumbStartEventArgs): void; + + /** Fires when a thumb point is removed from the touch surface. */ + thumbEnd? (e: ThumbEndEventArgs): void; + + /** It fires whenever the mouse wheel is rotated either in upwards or downwards. */ + wheelMove? (e: WheelMoveEventArgs): void; + + /** It will fire when mouse trackball has been start to wheel. */ + wheelStart? (e: WheelStartEventArgs): void; + + /** It will fire when mouse trackball has been stop to wheel. */ + wheelStop? (e: WheelStopEventArgs): void; +} - /** returns the draggable element object - */ - element?: any; +export interface CreateEventArgs { - /** returns the event model values - */ - sender?: any; - } - } + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - class Droppable extends ej.Widget { - static fn: Droppable; - constructor(element: JQuery | Element, options?: Droppable.Model); - static Locale: any; - model: Droppable.Model; - defaults: Droppable.Model; - - /** destroy in the Droppable. - * @returns {void} - */ - _destroy(): void; - } - export namespace Droppable { - - export interface Model { - - /** Used to accept the specified draggable items. - * @Default {null} - */ - accept?: any; - - /** Used to group sets of droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. - * @Default {'default'} - */ - scope?: string; - - /** This event is triggered when the mouse up is moved during the dragging. */ - drop?(e: DropEventArgs): void; - - /** This event is triggered when the mouse is moved out. */ - out?(e: OutEventArgs): void; - - /** This event is triggered when the mouse is moved over. */ - over?(e: OverEventArgs): void; - } - - export interface DropEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Droppable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the element which accepts the droppable element. - */ - targetElement?: any; - } - - export interface OutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Droppable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse out over the element - */ - targetElement?: any; - } - - export interface OverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Droppable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse over the element - */ - targetElement?: any; - } - } - - class Resizable extends ej.Widget { - static fn: Resizable; - constructor(element: JQuery | Element, options?: Resizable.Model); - static Locale: any; - model: Resizable.Model; - defaults: Resizable.Model; - - /** destroy in the Resizable. - * @returns {void} - */ - _destroy(): void; - } - export namespace Resizable { - - export interface Model { - - /** Sets the offset of the resizing helper relative to the mouse cursor. - * @Default {{ top: -1, left: -2 }} - */ - cursorAt?: any; - - /** Distance in pixels after mousedown the mouse must move before resizing should start. This option can be used to prevent unwanted drags when clicking on an element. - * @Default {1} - */ - distance?: number; - - /** If specified, restricts resize start click to the specified element(s). - * @Default {null} - */ - handle?: string; - - /** Sets the max height for resizing - * @Default {null} - */ - maxHeight?: number; - - /** Sets the max width for resizing - * @Default {null} - */ - maxWidth?: number; - - /** Sets the min Height for resizing - * @Default {10} - */ - minHeight?: number; - - /** Sets the min Width for resizing - * @Default {10} - */ - minWidth?: number; - - /** Used to group sets of resizable items. - * @Default {'default'} - */ - scope?: string; - - /** This event is triggered when the widget destroys. */ - destroy?(e: DestroyEventArgs): void; - - /** This event is triggered when resized. */ - helper?(e: HelperEventArgs): void; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Resizable.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface HelperEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Resizable.Model; - - /** returns the name of the event - */ - type?: string; - } - } - - - const globalize: globalize; - const cultures: culture; - function addCulture(name: string, culture?: any): void; - function preferredCulture(culture?: string): culture; - function format(value: any, format: string, culture?: string): string; - function parseInt(value: string, radix?: any, culture?: string): number; - function parseFloat(value: string, radix?: any, culture?: string): number; - function parseDate(value: string, format: string, culture?: string): Date; - function getLocalizedConstants(controlName: string, culture?: string): any; - - interface globalize { - addCulture(name: string, culture?: any): void; - preferredCulture(culture?: string): culture; - format(value: any, format: string, culture?: string): string; - parseInt(value: string, radix?: any, culture?: string): number; - parseFloat(value: string, radix?: any, culture?: string): number; - parseDate(value: string, format: string, culture?: string): Date; - getLocalizedConstants(controlName: string, culture?: string): any; - } - interface culture { - name?: string; - englishName?: string; - namtiveName?: string; - language?: string; - isRTL: boolean; - numberFormat?: formatSettings; - calendars?: calendarsSettings; - } - interface formatSettings { - pattern: string[]; - decimals: number; - groupSizes: number[]; - percent: percentSettings; - currency: currencySettings; - } - interface percentSettings { - pattern: string[]; - decimals: number; - groupSizes: number[]; - symbol: string; - } - interface currencySettings { - pattern: string[]; - decimals: number; - groupSizes: number[]; - symbol: string; - } - interface calendarsSettings { - standard: standardSettings; - } - interface standardSettings { - firstDay: number; - days: daySettings; - months: monthSettings; - AM: string[]; - PM: string[]; - twoDigitYearMax: number; - patterns: patternSettings; - } - interface daySettings { - names: string[]; - namesAbbr: string[]; - namesShort: string[]; - } - interface monthSettings { - names: string[]; - namesAbbr: string[]; - } - interface patternSettings { - d: string; - D: string; - t: string; - T: string; - f: string; - F: string; - M: string; - Y: string; - S: string; - } - class Scroller extends ej.Widget { - static fn: Scroller; - constructor(element: JQuery | Element, options?: Scroller.Model); - static Locale: any; - model: Scroller.Model; - defaults: Scroller.Model; - - /** destroy the Scroller control, unbind the all ej control related events automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** User disables the Scroller control at any time. - * @returns {void} - */ - disable(): void; - - /** User enables the Scroller control at any time. - * @returns {void} - */ - enable(): void; - - /** Returns true if horizontal scrollbar is shown, else return false. - * @returns {boolean} - */ - isHScroll(): boolean; - - /** Returns true if vertical scrollbar is shown, else return false. - * @returns {boolean} - */ - isVScroll(): boolean; - - /** User refreshes the Scroller control at any time. - * @returns {void} - */ - refresh(): void; - - /** Horizontal scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. - * @param {number|string} Horizontal scroller moves to the specified pixel. - * @param {boolean} Specifies to enable/disable the animation. - * @param {number} Specifies the animation speed when scrolling, if animation is enabled. - * @returns {void} - */ - scrollX(pixel: number | string, disableAnimation: boolean, animationSpeed: number): void; - - /** Vertical scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. - * @param {number|string} Vertical scroller moves to the specified pixel. - * @param {boolean} Specifies to enable/disable the animation. - * @param {number} Specifies the animation speed when scrolling, if animation is enabled. - * @returns {void} - */ - scrollY(pixel: number | string, disableAnimation: boolean, animationSpeed: number): void; - } - export namespace Scroller { - - export interface Model { - - /** Specifies the swipe scrolling speed(in millisecond). - * @Default {600} - */ - animationSpeed?: number; - - /** Set true to hides the scrollbar, when mouseout the content area. - * @Default {false} - */ - autoHide?: boolean; - - /** Specifies the height and width of button in the scrollbar. - * @Default {18} - */ - buttonSize?: number; - - /** Specifies to enable or disable the scroller - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Indicates the Right to Left direction to scroller - * @Default {undefined} - */ - enableRTL?: boolean; - - /** Enables or Disable the touch Scroll - * @Default {true} - */ - enableTouchScroll?: boolean; - - /** Specifies the height of Scroll panel and scrollbars. - * @Default {250} - */ - height?: number | string; - - /** If the scrollbar has vertical it set as width, else it will set as height of the handler. - * @Default {18} - */ - scrollerSize?: number; - - /** The Scroller content and scrollbars move left with given value. - * @Default {0} - */ - scrollLeft?: number; - - /** While press on the arrow key the scrollbar position added to the given pixel value. - * @Default {57} - */ - scrollOneStepBy?: number; - - /** The Scroller content and scrollbars move to top position with specified value. - * @Default {0} - */ - scrollTop?: number; - - /** Indicates the target area to which scroller have to appear. - * @Default {null} - */ - targetPane?: string; - - /** Specifies the width of Scroll panel and scrollbars. - * @Default {0} - */ - width?: number | string; - - /** Fires when Scroller control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when Scroller control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when a thumb point is moved along the touch surface. */ - thumbMove?(e: ThumbMoveEventArgs): void; - - /** Fires when a thumb point is placed on the touch surface. */ - thumbStart?(e: ThumbStartEventArgs): void; - - /** Fires when a thumb point is removed from the touch surface. */ - thumbEnd?(e: ThumbEndEventArgs): void; - - /** It fires whenever the mouse wheel is rotated either in upwards or downwards. */ - wheelMove?(e: WheelMoveEventArgs): void; - - /** It will fire when mouse trackball has been start to wheel. */ - wheelStart?(e: WheelStartEventArgs): void; - - /** It will fire when mouse trackball has been stop to wheel. */ - wheelStop?(e: WheelStopEventArgs): void; - } + /** returns the scroller model + */ + model?: ej.Scroller.Model; - export interface CreateEventArgs { + /** returns the name of the event. + */ + type?: string; +} - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; +export interface DestroyEventArgs { - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the scroller model + */ + model?: ej.Scroller.Model; - /** returns the name of the event. - */ - type?: string; - } + /** returns the name of the event. + */ + type?: string; +} - export interface DestroyEventArgs { +export interface ThumbMoveEventArgs { - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; - } + /** returns the scroller model + */ + model?: ej.Scroller.Model; - export interface ThumbMoveEventArgs { + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the current data related to the event. + */ + scrollData?: any; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the name of the event. + */ + type?: string; +} - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; +export interface ThumbStartEventArgs { - /** returns the current data related to the event. - */ - scrollData?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; - } + /** returns the scroller model + */ + model?: ej.Scroller.Model; - export interface ThumbStartEventArgs { + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the current data related to the event. + */ + scrollData?: any; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the name of the event. + */ + type?: string; +} - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; +export interface ThumbEndEventArgs { - /** returns the current data related to the event. - */ - scrollData?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; - } + /** returns the scroller model + */ + model?: ej.Scroller.Model; - export interface ThumbEndEventArgs { + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the current data related to the event. + */ + scrollData?: any; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the name of the event. + */ + type?: string; +} + +export interface WheelMoveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the scroller model + */ + model?: ej.Scroller.Model; + + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; +} + +export interface WheelStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the scroller model + */ + model?: ej.Scroller.Model; + + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; + + /** returns the current data related to the event. + */ + scrollData?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface WheelStopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the scroller model + */ + model?: ej.Scroller.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; +} +} + +class Accordion extends ej.Widget { + static fn: Accordion; + constructor(element: JQuery, options?: Accordion.Model); + constructor(element: Element, options?: Accordion.Model); + static Locale: any; + model:Accordion.Model; + defaults:Accordion.Model; + + /** AddItem method is used to add the panel in dynamically. It receives the following parameters + * @param {string} specify the name of the header + * @param {string} content of the new panel + * @param {number} insertion place of the new panel + * @param {boolean} Enable or disable the AJAX request to the added panel + * @returns {void} + */ + addItem(header_name: string, content: string, index: number, isAjaxReq: boolean): void; + + /** This method used to collapse the all the expanded items in accordion at a time. + * @returns {void} + */ + collapseAll(): void; + + /** This method used to Collapses the specified items in accordion at a time. + * @returns {void} + */ + collapsePanel(): void; + + /** destroy the Accordion widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Disables the accordion widget includes all the headers and content panels. + * @returns {void} + */ + disable(): void; + + /** Disable the accordion widget item based on specified header index. + * @param {Array} index values to disable the panels + * @returns {void} + */ + disableItems(index: Array): void; + + /** Enable the accordion widget includes all the headers and content panels. + * @returns {void} + */ + enable(): void; + + /** Enable the accordion widget item based on specified header index. + * @param {Array} index values to enable the panels + * @returns {void} + */ + enableItems(index: Array): void; + + /** To expand all the accordion widget items. + * @returns {void} + */ + expandAll(): void; + + /** This method used to Expand the specified items in accordion at a time. + * @returns {void} + */ + expandPanel(): void; + + /** Returns the total number of panels in the control. + * @returns {number} + */ + getItemsCount(): number; + + /** Hides the visible Accordion control. + * @returns {void} + */ + hide(): void; + + /** The refresh method is used to adjust the control size based on the parent element dimension. + * @returns {void} + */ + refresh(): void; + + /** RemoveItem method is used to remove the specified index panel.It receives the parameter as number. + * @param {number} specify the index value for remove the accordion panel. + * @returns {void} + */ + removeItem(index: number): void; + + /** Shows the hidden Accordion control. + * @returns {void} + */ + show(): void; +} +export module Accordion{ + +export interface Model { + + /** Specifies the ajaxSettings option to load the content to the accordion control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Accordion headers can be expanded and collapsed on keyboard action. + * @Default {true} + */ + allowKeyboardNavigation?: Boolean; + + /** To set the Accordion headers Collapse Speed. + * @Default {300} + */ + collapseSpeed?: number; + + /** Specifies the collapsible state of accordion control. + * @Default {false} + */ + collapsible?: boolean; + + /** Sets the root CSS class for Accordion theme, which is used customize. + */ + cssClass?: String; + + /** Allows you to set the custom header Icon. It accepts two key values “header”, ”selectedHeader”. + * @Default {{ header: e-collapse, selectedHeader: e-expand }} + */ + customIcon?: CustomIcon; + + /** Disables the specified indexed items in accordion. + * @Default {[]} + */ + disabledItems?: number[]; + + /** Specifies the animation behavior in accordion. + * @Default {true} + */ + enableAnimation?: Boolean; + + /** With this enabled property, you can enable or disable the Accordion. + * @Default {true} + */ + enabled?: Boolean; + + /** Used to enable the disabled items in accordion. + * @Default {[]} + */ + enabledItems?: number[]; + + /** Multiple content panels to activate at a time. + * @Default {false} + */ + enableMultipleOpen?: Boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the accordion control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: Boolean; + + /** Display headers and panel text from right-to-left. + * @Default {false} + */ + enableRTL?: Boolean; + + /** The events API binds the action for activating the accordion header. Users can activate the header by using mouse actions such as mouse-over, mouse-up, mouse-down, and soon. + * @Default {click} + */ + events?: String; + + /** To set the Accordion headers Expand Speed. + * @Default {300} + */ + expandSpeed?: number; + + /** Sets the height for Accordion items header. + */ + headerSize?: number|string; + + /** Specifies height of the accordion. + * @Default {null} + */ + height?: number|string; + + /** Adjusts the content panel height based on the given option (content, auto, or fill). By default, the panel heights are adjusted based on the content. + * @Default {content} + */ + heightAdjustMode?: ej.Accordion.HeightAdjustMode|string; + + /** It allows to define the characteristics of the Accordion control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The given index header will activate (open). If collapsible is set to true, and a negative value is given, then all headers are collapsed. Otherwise, the first panel isactivated. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Activate the specified indexed items of the accordion + * @Default {[0]} + */ + selectedItems?: number[]; + + /** Used to determines the close button visibility an each accordion items. This close button helps to remove the accordion item from the control. + * @Default {false} + */ + showCloseButton?: Boolean; + + /** Displays rounded corner borders on the Accordion control's panels and headers. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies width of the accordion. + * @Default {null} + */ + width?: number|string; + + /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ + activate? (e: ActivateEventArgs): void; + + /** Triggered before the AJAX content is loaded in a content panel. Arguments have location of the content (URL) and current model value. */ + ajaxBeforeLoad? (e: AjaxBeforeLoadEventArgs): void; - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; + /** Triggered after AJAX load failed action. Arguments have URL, error message, and current model value. */ + ajaxError? (e: AjaxErrorEventArgs): void; + + /** Triggered after the AJAX content loads. Arguments have current model values. */ + ajaxLoad? (e: AjaxLoadEventArgs): void; + + /** Triggered after AJAX success action. Arguments have URL, content, and current model values. */ + ajaxSuccess? (e: AjaxSuccessEventArgs): void; - /** returns the current data related to the event. - */ - scrollData?: any; + /** Triggered before a tab item is active. Arguments have active index and model values. */ + beforeActivate? (e: BeforeActivateEventArgs): void; + + /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ + beforeInactivate? (e: BeforeInactivateEventArgs): void; - /** returns the name of the event. - */ - type?: string; - } - - export interface WheelMoveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the scroller model - */ - model?: ej.Scroller.Model; - - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; - } - - export interface WheelStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the scroller model - */ - model?: ej.Scroller.Model; - - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; - - /** returns the current data related to the event. - */ - scrollData?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface WheelStopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the scroller model - */ - model?: ej.Scroller.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; - } - } - - class Accordion extends ej.Widget { - static fn: Accordion; - constructor(element: JQuery | Element, options?: Accordion.Model); - static Locale: any; - model: Accordion.Model; - defaults: Accordion.Model; - - /** AddItem method is used to add the panel in dynamically. It receives the following parameters - * @param {string} specify the name of the header - * @param {string} content of the new panel - * @param {number} insertion place of the new panel - * @param {boolean} Enable or disable the AJAX request to the added panel - * @returns {void} - */ - addItem(header_name: string, content: string, index: number, isAjaxReq: boolean): void; - - /** This method used to collapse the all the expanded items in accordion at a time. - * @returns {void} - */ - collapseAll(): void; - - /** This method used to Collapses the specified items in accordion at a time. - * @returns {void} - */ - collapsePanel(): void; - - /** destroy the Accordion widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Disables the accordion widget includes all the headers and content panels. - * @returns {void} - */ - disable(): void; - - /** Disable the accordion widget item based on specified header index. - * @param {Array} index values to disable the panels - * @returns {void} - */ - disableItems(index: any[]): void; - - /** Enable the accordion widget includes all the headers and content panels. - * @returns {void} - */ - enable(): void; - - /** Enable the accordion widget item based on specified header index. - * @param {Array} index values to enable the panels - * @returns {void} - */ - enableItems(index: any[]): void; - - /** To expand all the accordion widget items. - * @returns {void} - */ - expandAll(): void; - - /** This method used to Expand the specified items in accordion at a time. - * @returns {void} - */ - expandPanel(): void; - - /** Returns the total number of panels in the control. - * @returns {number} - */ - getItemsCount(): number; - - /** Hides the visible Accordion control. - * @returns {void} - */ - hide(): void; - - /** The refresh method is used to adjust the control size based on the parent element dimension. - * @returns {void} - */ - refresh(): void; - - /** RemoveItem method is used to remove the specified index panel.It receives the parameter as number. - * @param {number} specify the index value for remove the accordion panel. - * @returns {void} - */ - removeItem(index: number): void; - - /** Shows the hidden Accordion control. - * @returns {void} - */ - show(): void; - } - export namespace Accordion { - - export interface Model { - - /** Specifies the ajaxSettings option to load the content to the accordion control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Accordion headers can be expanded and collapsed on keyboard action. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** To set the Accordion headers Collapse Speed. - * @Default {300} - */ - collapseSpeed?: number; - - /** Specifies the collapsible state of accordion control. - * @Default {false} - */ - collapsible?: boolean; - - /** Sets the root CSS class for Accordion theme, which is used customize. - */ - cssClass?: string; - - /** Allows you to set the custom header Icon. It accepts two key values “header”, ”selectedHeader”. - * @Default {{ header: e-collapse, selectedHeader: e-expand }} - */ - customIcon?: CustomIcon; - - /** Disables the specified indexed items in accordion. - * @Default {[]} - */ - disabledItems?: number[]; - - /** Specifies the animation behavior in accordion. - * @Default {true} - */ - enableAnimation?: boolean; - - /** With this enabled property, you can enable or disable the Accordion. - * @Default {true} - */ - enabled?: boolean; - - /** Used to enable the disabled items in accordion. - * @Default {[]} - */ - enabledItems?: number[]; - - /** Multiple content panels to activate at a time. - * @Default {false} - */ - enableMultipleOpen?: boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the accordion control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Display headers and panel text from right-to-left. - * @Default {false} - */ - enableRTL?: boolean; - - /** The events API binds the action for activating the accordion header. Users can activate the header by using mouse actions such as mouse-over, mouse-up, mouse-down, and soon. - * @Default {click} - */ - events?: string; - - /** To set the Accordion headers Expand Speed. - * @Default {300} - */ - expandSpeed?: number; - - /** Sets the height for Accordion items header. - */ - headerSize?: number | string; - - /** Specifies height of the accordion. - * @Default {null} - */ - height?: number | string; - - /** Adjusts the content panel height based on the given option (content, auto, or fill). By default, the panel heights are adjusted based on the content. - * @Default {content} - */ - heightAdjustMode?: ej.Accordion.HeightAdjustMode | string; - - /** It allows to define the characteristics of the Accordion control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The given index header will activate (open). If collapsible is set to true, and a negative value is given, then all headers are collapsed. Otherwise, the first panel isactivated. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Activate the specified indexed items of the accordion - * @Default {[0]} - */ - selectedItems?: number[]; - - /** Used to determines the close button visibility an each accordion items. This close button helps to remove the accordion item from the control. - * @Default {false} - */ - showCloseButton?: boolean; - - /** Displays rounded corner borders on the Accordion control's panels and headers. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies width of the accordion. - * @Default {null} - */ - width?: number | string; - - /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ - activate?(e: ActivateEventArgs): void; - - /** Triggered before the AJAX content is loaded in a content panel. Arguments have location of the content (URL) and current model value. */ - ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; + /** Triggered after Accordion control creation. */ + create? (e: CreateEventArgs): void; - /** Triggered after AJAX load failed action. Arguments have URL, error message, and current model value. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** Triggered after the AJAX content loads. Arguments have current model values. */ - ajaxLoad?(e: AjaxLoadEventArgs): void; - - /** Triggered after AJAX success action. Arguments have URL, content, and current model values. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; + /** Triggered after Accordion control destroy. */ + destroy? (e: DestroyEventArgs): void; - /** Triggered before a tab item is active. Arguments have active index and model values. */ - beforeActivate?(e: BeforeActivateEventArgs): void; - - /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ - beforeInactivate?(e: BeforeInactivateEventArgs): void; + /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ + inActivate? (e: InActivateEventArgs): void; +} - /** Triggered after Accordion control creation. */ - create?(e: CreateEventArgs): void; +export interface ActivateEventArgs { - /** Triggered after Accordion control destroy. */ - destroy?(e: DestroyEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ - inActivate?(e: InActivateEventArgs): void; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface ActivateEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns active index + */ + activeIndex?: number; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns current active header + */ + activeHeader?: any; - /** returns the name of the event - */ - type?: string; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; +} - /** returns active index - */ - activeIndex?: number; +export interface AjaxBeforeLoadEventArgs { - /** returns current active header - */ - activeHeader?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface AjaxBeforeLoadEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns current AJAX content location + */ + URL?: string; +} - /** returns the accordion model - */ - model?: ej.Accordion.Model; +export interface AjaxErrorEventArgs { - /** returns the name of the event - */ - type?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns current AJAX content location - */ - URL?: string; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface AjaxErrorEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns current AJAX content location + */ + URL?: string; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the failed data sent. + */ + data?: string; +} - /** returns the name of the event - */ - type?: string; +export interface AjaxLoadEventArgs { - /** returns current AJAX content location - */ - URL?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the failed data sent. - */ - data?: string; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface AjaxLoadEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the URL + */ + URL?: string; +} - /** returns the accordion model - */ - model?: ej.Accordion.Model; +export interface AjaxSuccessEventArgs { - /** returns the name of the event - */ - type?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the URL - */ - URL?: string; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface AjaxSuccessEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns current AJAX content location + */ + URL?: string; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the successful data sent. + */ + data?: string; - /** returns the name of the event - */ - type?: string; + /** returns the AJAX content. + */ + content?: string; +} - /** returns current AJAX content location - */ - URL?: string; +export interface BeforeActivateEventArgs { - /** returns the successful data sent. - */ - data?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the AJAX content. - */ - content?: string; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface BeforeActivateEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns active index + */ + activeIndex?: number; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; +} - /** returns the name of the event - */ - type?: string; +export interface BeforeInactivateEventArgs { - /** returns active index - */ - activeIndex?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface BeforeInactivateEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns active index + */ + inActiveIndex?: number; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; +} - /** returns the name of the event - */ - type?: string; +export interface CreateEventArgs { - /** returns active index - */ - inActiveIndex?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface CreateEventArgs { + /** returns the name of the event + */ + type?: string; +} - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; +export interface DestroyEventArgs { - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface DestroyEventArgs { + /** returns the name of the event + */ + type?: string; +} - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; +export interface InActivateEventArgs { - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; - } + /** returns the accordion model + */ + model?: ej.Accordion.Model; - export interface InActivateEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns active index + */ + inActiveIndex?: number; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns in active element + */ + inActiveHeader?: any; - /** returns the name of the event - */ - type?: string; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; +} - /** returns active index - */ - inActiveIndex?: number; +export interface AjaxSettings { - /** returns in active element - */ - inActiveHeader?: any; + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: Boolean; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; - } + /** It specifies the page will be cached in the web browser. + */ + cache?: Boolean; - export interface AjaxSettings { + /** It specifies the type of data is send in the query string. + */ + contentType?: String; - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: String; - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; - } - - export interface CustomIcon { - - /** This class name set to collapsing header. - */ - header?: string; - - /** This class name set to expanded (active) header. - */ - selectedHeader?: string; - } - - enum HeightAdjustMode { - - ///Height fit to the content in the panel - Content, - - ///Height set to the largest content in the panel - Auto, - - ///Height filled to the content of the panel - Fill - } - - } - - class Autocomplete extends ej.Widget { - static fn: Autocomplete; - constructor(element: JQuery | Element, options?: Autocomplete.Model); - static Locale: any; - model: Autocomplete.Model; - defaults: Autocomplete.Model; - - /** Clears the text in the Autocomplete textbox. - * @returns {void} - */ - clearText(): void; - - /** Destroys the Autocomplete widget. - * @returns {void} - */ - destroy(): void; - - /** Disables the autocomplete widget. - * @returns {void} - */ - disable(): void; - - /** Enables the autocomplete widget. - * @returns {void} - */ - enable(): void; - - /** Returns objects (data object) of all the selected items in the autocomplete textbox. - * @returns {any} - */ - getSelectedItems(): any; - - /** Returns the current selected value from the Autocomplete textbox. - * @returns {string} - */ - getValue(): string; - - /** Returns the current active text value in the Autocomplete suggestion list. - * @returns {string} - */ - getActiveText(): string; - - /** Search the entered text and show it in the suggestion list if available. - * @returns {void} - */ - search(): void; - - /** Open up the autocomplete suggestion popup with all list items. - * @returns {void} - */ - open(): void; - - /** Sets the value of the Autocomplete textbox based on the given key value. - * @param {string} The key value of the specific suggestion item. - * @returns {void} - */ - selectValueByKey(Key: string): void; - - /** Sets the value of the Autocomplete textbox based on the given input text value. - * @param {string} The text (label) value of the specific suggestion item. - * @returns {void} - */ - selectValueByText(Text: string): void; - } - export namespace Autocomplete { - - export interface Model { - - /** Customize "Add New" text (label) to be added in the autocomplete popup list for the entered text when there are no suggestions for it. - * @Default {Add New} - */ - addNewText?: boolean; - - /** Allows new values to be added to the autocomplete input other than the values in the suggestion list. - * Normally, when there are no suggestions it will display “No suggestions” label in the popup. - * @Default {false} - */ - allowAddNew?: boolean; - - /** Enables or disables the sorting of suggestion list item. The default sort order is ascending order. You customize sort order. - * @Default {true} - */ - allowSorting?: boolean; - - /** Enables or disables selecting the animation style for the popup list. Animation types can be selected through either of the following options, - * @Default {slide} - */ - animateType?: ej.Autocomplete.Animation | string; - - /** To focus the items in the suggestion list when the popup is shown. By default first item will be focused. - * @Default {false} - */ - autoFocus?: boolean; - - /** Enables or disables the case sensitive search. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** The root class for the Autocomplete textbox widget which helps in customizing its theme. - * @Default {””} - */ - cssClass?: string; - - /** The data source contains the list of data for the suggestions list. It can be a string array or JSON array. - * @Default {null} - */ - dataSource?: any | any[]; - - /** The time delay (in milliseconds) after which the suggestion popup will be shown. - * @Default {200} - */ - delaySuggestionTimeout?: number; - - /** The special character which acts as a separator for the given words for multi-mode search i.e. the text after the delimiter are considered as a separate word or query for search operation. - * @Default {’,’} - */ - delimiterChar?: string; - - /** The text to be displayed in the popup when there are no suggestions available for the entered text. - * @Default {“No suggestions”} - */ - emptyResultText?: string; - - /** Fills the autocomplete textbox with the first matched item from the suggestion list automatically based on the entered text when enabled. - * @Default {false} - */ - enableAutoFill?: boolean; - - /** Enables or disables the Autocomplete textbox widget. - * @Default {true} - */ - enabled?: boolean; - - /** Enables or disables displaying the duplicate names present in the search result. - * @Default {false} - */ - enableDistinct?: boolean; - - /** Allows the current model values to be saved in local storage or browser cookies for state maintenance - * when it is set to true. - * While refreshing the page, it retains the model value from browser cookies or local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the Autocomplete widget’s content from right to left when enabled. - * @Default {false} - */ - enableRTL?: boolean; - - /** Mapping fields for the suggestion items of the Autocomplete textbox widget. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the search filter type. - * There are several types of search filter available such as ‘startswith’, - * ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, - * ‘greaterthanorequal’, ‘equal’, ‘notequal’. - * @Default {ej.filterType.StartsWith} - */ - filterType?: string; - - /** The height of the Autocomplete textbox. - * @Default {null} - */ - height?: string | number; - - /** The search text can be highlighted in the AutoComplete suggestion list when enabled. - * @Default {false} - */ - highlightSearch?: boolean; - - /** Number of items to be displayed in the suggestion list. - * @Default {0} - */ - itemsCount?: number; - - /** Set the localization culture for Autocomplete Widget. - */ - locale?: string; - - /** Minimum number of character to be entered in the Autocomplete textbox to show the suggestion list. - * @Default {1} - */ - minCharacter?: number; - - /** An Autocomplete column collection can be defined and customized through the multiColumnSettings property.Column's header, field, and stringFormat can be define - * via multiColumnSettings properties. - */ - multiColumnSettings?: MultiColumnSettings; - - /** Enables or disables selecting multiple values from the suggestion list. Multiple values can be selected through either of the following options, - * @Default {ej.MultiSelectMode.None} - */ - multiSelectMode?: ej.Autocomplete.MultiSelectMode | string; - - /** The height of the suggestion list. - * @Default {“152px”} - */ - popupHeight?: string; - - /** The width of the suggestion list. - * @Default {“auto”} - */ - popupWidth?: string; - - /** The query to retrieve the data from the data source. - * @Default {null} - */ - query?: ej.Query; - - /** Indicates that the autocomplete textbox values can only be readable. - * @Default {false} - */ - readOnly?: boolean; - - /** Sets the value for the Autocomplete textbox based on the given input key value. - */ - selectValueByKey?: number; - - /** Enables or disables showing the message when there are no suggestions for the entered text. - * @Default {true} - */ - showEmptyResultText?: boolean; - - /** Enables or disables the loading icon to intimate the searching operation. The loading icon is visible when there is a time delay to perform the search. - * @Default {true} - */ - showLoadingIcon?: boolean; - - /** Enables the showPopup button in autocomplete textbox. When the showPopup button is clicked, it displays all the available data from the data source. - * @Default {false} - */ - showPopupButton?: boolean; - - /** Enables or disables rounded corner. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Enables or disables reset icon to clear the textbox values. - * @Default {false} - */ - showResetIcon?: boolean; - - /** Sort order specifies whether the suggestion list values has to be displayed in ascending or descending order. - * @Default {ej.SortOrder.Ascending} - */ - sortOrder?: ej.Autocomplete.SortOrder | string; - - /** The template to display the suggestion list items with customized appearance. - * @Default {null} - */ - template?: string; - - /** The jQuery validation error message to be displayed on form validation. - * @Default {null} - */ - validationMessage?: any; - - /** The jQuery validation rules for form validation. - * @Default {null} - */ - validationRules?: any; - - /** The value to be displayed in the autocomplete textbox. - * @Default {null} - */ - value?: string; - - /** Enables or disables the visibility of the autocomplete textbox. - * @Default {true} - */ - visible?: boolean; - - /** The text to be displayed when the value of the autocomplete textbox is empty. - * @Default {null} - */ - watermarkText?: string; - - /** The width of the Autocomplete textbox. - * @Default {null} - */ - width?: string | number; - - /** Triggers when the AJAX requests Begins. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggers when the data requested from AJAX will get successfully loaded in the Autocomplete widget. */ - actionSuccess?(e: ActionSuccessEventArgs): void; - - /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggers when the data requested from AJAX get failed. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggers when the text box value is changed. */ - change?(e: ChangeEventArgs): void; - - /** Triggers after the suggestion popup is closed. */ - close?(e: CloseEventArgs): void; - - /** Triggers when Autocomplete widget is created. */ - create?(e: CreateEventArgs): void; - - /** Triggers after the Autocomplete widget is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggers after the autocomplete textbox is focused. */ - focusIn?(e: FocusInEventArgs): void; - - /** Triggers after the Autocomplete textbox gets out of the focus. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Triggers after the suggestion list is opened. */ - open?(e: OpenEventArgs): void; - - /** Triggers when an item has been selected from the suggestion list. */ - select?(e: SelectEventArgs): void; - } - - export interface ActionBeginEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ActionSuccessEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } + /** It specifies the HTTP request type. + */ + type?: String; +} - export interface ActionCompleteEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } +export interface CustomIcon { - export interface ActionFailureEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } + /** This class name set to collapsing header. + */ + header?: String; - export interface ChangeEventArgs { + /** This class name set to expanded (active) header. + */ + selectedHeader?: String; +} - /** Set this option to true to cancel the event. - */ - cancel?: boolean; +enum HeightAdjustMode{ - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + ///Height fit to the content in the panel + Content, - /** Name of the event. - */ - type?: string; + ///Height set to the largest content in the panel + Auto, - /** Value of the autocomplete textbox. - */ - value?: string; - } - - export interface CloseEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - - /** Value of the autocomplete textbox. - */ - value?: string; - } - - export interface FocusOutEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - - /** Value of the autocomplete textbox. - */ - value?: string; - } - - export interface OpenEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface SelectEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; - - /** Name of the event. - */ - type?: string; - - /** Value of the autocomplete textbox. - */ - value?: string; - - /** Text of the selected item. - */ - text?: string; - - /** Key of the selected item. - */ - key?: string; - - /** Data object of the selected item. - */ - Item?: ej.Autocomplete.Model; - } - - export interface Fields { - - /** Used to group the suggestion list items. - */ - groupBy?: string; - - /** Defines the HTML attributes such as id, class, styles for the item. - */ - htmlAttributes?: any; - - /** Defines the specific field name which contains unique key values for the list items. - */ - key?: string; - - /** Defines the specific field name in the data source to load the suggestion list with data. - */ - text?: string; - } - - export interface MultiColumnSettingsColumn { - - /** Get or set a value that indicates to display the columns in the autocomplete mapping with column name of the dataSource. - */ - field?: string; - - /** Get or set a value that indicates to display the title of that particular column. - */ - headerText?: string; - - /** Gets or sets a value that indicates to render the multicolumn with custom theme. - */ - cssClass?: string; - - /** Specifies the search data type. There are four types of data types available such as string, ‘number’, ‘boolean’ and ‘date’. - * @Default {ej.Type.String} - */ - type?: ej.Type | string; - - /** Specifies the search filter type. There are several types of search filter available such as ‘startswith’, - * ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, - * ‘greaterthanorequal’, ‘equal’, ‘notequal’. - * @Default {ej.filterType.StartsWith} - */ - filterType?: ej.filterType | string; - - /** This defines the text alignment of a particular column header cell value. See headerTextAlign - * @Default {ej.TextAlign.Left} - */ - headerTextAlign?: ej.TextAlign | string; - - /** Gets or sets a value that indicates to align the text within the column. See textAlign - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign | string; - } - - export interface MultiColumnSettings { - - /** Allow list of data to be displayed in several columns. - * @Default {false} - */ - enable?: boolean; - - /** Allow header text to be displayed in corresponding columns. - * @Default {true} - */ - showHeader?: boolean; - - /** Displayed selected value and autocomplete search based on mentioned column value specified in that format. - */ - stringFormat?: string; - - /** Field and Header Text collections can be defined and customized through columns field. - */ - columns?: MultiColumnSettingsColumn[]; - } - - enum Animation { - - ///Supports to animation type with none type only. - None, - - ///Supports to animation type with slide type only. - Slide, - - ///Supports to animation type with fade type only. - Fade - } - - - enum MultiSelectMode { - - ///Multiple values are separated using a given special character. - Delimiter, - - ///Each values are displayed in separate box with close button. - VisualMode - } - - - enum SortOrder { - - ///Items to be displayed in the suggestion list in ascending order. - Ascending, - - ///Items to be displayed in the suggestion list in descending order. - Descending - } - - } - - class Button extends ej.Widget { - static fn: Button; - constructor(element: JQuery | Element, options?: Button.Model); - static Locale: any; - model: Button.Model; - defaults: Button.Model; - - /** destroy the button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To disable the button - * @returns {void} - */ - disable(): void; - - /** To enable the button - * @returns {void} - */ - enable(): void; - } - export namespace Button { - - export interface Model { - - /** Specifies the contentType of the Button. See below to know available ContentType - * @Default {ej.ContentType.TextOnly} - */ - contentType?: ej.ContentType | string; - - /** Sets the root CSS class for Button theme, which is used customize. - */ - cssClass?: string; - - /** Specifies the button control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the Right to Left direction to button - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the Button. - * @Default {28} - */ - height?: number; - - /** It allows to define the characteristics of the Button control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the image position of the Button. This image position is applicable - * only with the textandimage contentType property. The images can be positioned in both - * imageLeft and imageRight options. See below to know about available ImagePosition - * @Default {ej.ImagePosition.ImageLeft} - */ - imagePosition?: ej.ImagePosition | string; - - /** Specifies the primary icon for Button. This icon will be displayed from the left margin of the button. - * @Default {null} - */ - prefixIcon?: string; - - /** Convert the button as repeat button. It raises the 'Click' event repeatedly from the it is pressed until it is released. - * @Default {false} - */ - repeatButton?: boolean; - - /** Displays the Button with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the Button. See below to know available ButtonSize - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize | string; - - /** Specifies the secondary icon for Button. This icon will be displayed from the right margin of the button. - * @Default {null} - */ - suffixIcon?: string; - - /** Specifies the text content for Button. - * @Default {null} - */ - text?: string; - - /** Specified the time interval between two consecutive 'click' event on the button. - * @Default {150} - */ - timeInterval?: string; - - /** Specifies the Type of the Button. See below to know available ButtonType - * @Default {ej.ButtonType.Submit} - */ - type?: ej.ButtonType | string; - - /** Specifies the width of the Button. - * @Default {100px} - */ - width?: string | number; - - /** Fires when Button control is clicked successfully.Consider the scenario to perform any validation, - * modification of content or any other operations click on button,we can make use of this click event - * to achieve the scenario. - */ - click?(e: ClickEventArgs): void; - - /** Fires after Button control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ - create?(e: CreateEventArgs): void; - - /** Fires when the button is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ - destroy?(e: DestroyEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the button model - */ - model?: ej.Button.Model; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - - /** return the event model for sever side processing. - */ - e?: any; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the button model - */ - model?: ej.Button.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the button model - */ - model?: ej.Button.Model; - - /** returns the name of the event - */ - type?: string; - } - } - enum ContentType { - //To display the text content only in button - TextOnly, - //To display the image only in button - ImageOnly, - //Supports to display image for both ends of the button - ImageBoth, - //Supports to display image with the text content - TextAndImage, - //Supports to display image with both ends of the text - ImageTextImage, - } - enum ImagePosition { - //support for aligning text in left and image in right - ImageRight, - //support for aligning text in right and image in left - ImageLeft, - //support for aligning text in bottom and image in top. - ImageTop, - //support for aligning text in top and image in bottom - ImageBottom, - } - enum ButtonSize { - //Creates button with Built-in default size height, width specified - Normal, - //Creates button with Built-in mini size height, width specified - Mini, - //Creates button with Built-in small size height, width specified - Small, - //Creates button with Built-in medium size height, width specified - Medium, - //Creates button with Built-in large size height, width specified - Large, - } - enum ButtonType { - //Creates button with Built-in button type specified - Button, - //Creates button with Built-in reset type specified - Reset, - //Creates button with Built-in submit type specified - Submit, - } - - class Captcha extends ej.Widget { - static fn: Captcha; - constructor(element: JQuery | Element, options?: Captcha.Model); - static Locale: any; - model: Captcha.Model; - defaults: Captcha.Model; - } - export namespace Captcha { - - export interface Model { - - /** Specifies the character set of the Captcha that will be used to generate captcha text randomly. - */ - characterSet?: string; - - /** Specifies the error message to be displayed when the Captcha mismatch. - */ - customErrorMessage?: string; - - /** Set the Captcha validation automatically. - */ - enableAutoValidation?: boolean; - - /** Specifies the case sensitivity for the characters typed in the Captcha. - */ - enableCaseSensitivity?: boolean; - - /** Specifies the background patterns for the Captcha. - */ - enablePattern?: boolean; - - /** Sets the Captcha direction as right to left alignment. - */ - enableRTL?: boolean; - - /** Specifies the background appearance for the captcha. - */ - hatchStyle?: ej.HatchStyle | string; - - /** Specifies the height of the Captcha. - */ - height?: number; - - /** Specifies the method with values to be mapped in the Captcha. - */ - mapper?: string; - - /** Specifies the maximum number of characters used in the Captcha. - */ - maximumLength?: number; - - /** Specifies the minimum number of characters used in the Captcha. - */ - minimumLength?: number; - - /** Specifies the method to map values to Captcha. - */ - requestMapper?: string; - - /** Sets the Captcha with audio support, that enables to dictate the captcha text. - */ - showAudioButton?: boolean; - - /** Sets the Captcha with a refresh button. - */ - showRefreshButton?: boolean; - - /** Specifies the target button of the Captcha to validate the entered text and captcha text. - */ - targetButton?: string; - - /** Specifies the target input element that will verify the Captcha. - */ - targetInput?: string; - - /** Specifies the width of the Captcha. - */ - width?: number; - - /** Fires when captcha refresh begins. */ - refreshBegin?(e: RefreshBeginEventArgs): void; - - /** Fires after captcha refresh completed. */ - refreshComplete?(e: RefreshCompleteEventArgs): void; - - /** Fires when captcha refresh fails to load. */ - refreshFailure?(e: RefreshFailureEventArgs): void; - - /** Fires after captcha refresh succeeded. */ - refreshSuccess?(e: RefreshSuccessEventArgs): void; - } - - export interface RefreshBeginEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface RefreshCompleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface RefreshFailureEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface RefreshSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - } - enum HatchStyle { - //Set background as None to Captcha - None, - //Set background as BackwardDiagonal to Captcha - BackwardDiagonal, - //Set background as Cross to Captcha - Cross, - //Set background as DarkDownwardDiagonal to Captcha - DarkDownwardDiagonal, - //Set background as DarkHorizontal to Captcha - DarkHorizontal, - //Set background as DarkUpwardDiagonal to Captcha - DarkUpwardDiagonal, - //Set background as DarkVertical to Captcha - DarkVertical, - //Set background as DashedDownwardDiagonal to Captcha - DashedDownwardDiagonal, - //Set background as DashedHorizontal to Captcha - DashedHorizontal, - //Set background as DashedUpwardDiagonal to Captcha - DashedUpwardDiagonal, - //Set background as DashedVertical to Captcha - DashedVertical, - //Set background as DiagonalBrick to Captcha - DiagonalBrick, - //Set background as DiagonalCross to Captcha - DiagonalCross, - //Set background as Divot to Captcha - Divot, - //Set background as DottedDiamond to Captcha - DottedDiamond, - //Set background as DottedGrid to Captcha - DottedGrid, - //Set background as ForwardDiagonal to Captcha - ForwardDiagonal, - //Set background as Horizontal to Captcha - Horizontal, - //Set background as HorizontalBrick to Captcha - HorizontalBrick, - //Set background as LargeCheckerBoard to Captcha - LargeCheckerBoard, - //Set background as LargeConfetti to Captcha - LargeConfetti, - //Set background as LargeGrid to Captcha - LargeGrid, - //Set background as LightDownwardDiagonal to Captcha - LightDownwardDiagonal, - //Set background as LightHorizontal to Captcha - LightHorizontal, - //Set background as LightUpwardDiagonal to Captcha - LightUpwardDiagonal, - //Set background as LightVertical to Captcha - LightVertical, - //Set background as Max to Captcha - Max, - //Set background as Min to Captcha - Min, - //Set background as NarrowHorizontal to Captcha - NarrowHorizontal, - //Set background as NarrowVertical to Captcha - NarrowVertical, - //Set background as OutlinedDiamond to Captcha - OutlinedDiamond, - //Set background as Percent90 to Captcha - Percent90, - //Set background as Wave to Captcha - Wave, - //Set background as Weave to Captcha - Weave, - //Set background as WideDownwardDiagonal to Captcha - WideDownwardDiagonal, - //Set background as WideUpwardDiagonal to Captcha - WideUpwardDiagonal, - //Set background as ZigZag to Captcha - ZigZag, - } - - class ListBox extends ej.Widget { - static fn: ListBox; - constructor(element: JQuery | Element, options?: ListBox.Model); - static Locale: any; - model: ListBox.Model; - defaults: ListBox.Model; - - /** Adds a given list items in the ListBox widget at a specified index. It accepts two parameters. - * @param {any|string} This can be a list item object (for JSON binding) or a string (for UL and LI rendering). - * Also we can the specify this as an array of list item object or an array of strings to add multiple items. - * @param {number} The index value to add the given items at the specified index. If index is not specified, the given items will be added at the end of the list. - * @returns {void} - */ - addItem(listItem: any | string, index: number): void; - - /** Checks all the list items in the ListBox widget. It is dependent on showCheckbox property. - * @returns {void} - */ - checkAll(): void; - - /** Checks a list item by using its index. It is dependent on showCheckbox property. - * @param {number} Index of the listbox item to be checked. If index is not specified, the given items will be added at the end of the list. - * @returns {void} - */ - checkItemByIndex(index: number): void; - - /** Checks multiple list items by using its index values. It is dependent on showCheckbox property. - * @param {number[]} Index/Indices of the listbox items to be checked. If index is not specified, the given items will be added at the end of the list. - * @returns {void} - */ - checkItemsByIndices(indices: number[]): void; - - /** Disables the ListBox widget. - * @returns {void} - */ - disable(): void; - - /** Disables a list item by passing the item text as parameter. - * @param {string} Text of the listbox item to be disabled. - * @returns {void} - */ - disableItem(text: string): void; - - /** Disables a list Item using its index value. - * @param {number} Index of the listbox item to be disabled. - * @returns {void} - */ - disableItemByIndex(index: number): void; - - /** Disables set of list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be disabled. - * @returns {void} - */ - disableItemsByIndices(Indices: number[] | string): void; - - /** Enables the ListBox widget when it is disabled. - * @returns {void} - */ - enable(): void; - - /** Enables a list Item using its item text value. - * @param {string} Text of the listbox item to be enabled. - * @returns {void} - */ - enableItem(text: string): void; - - /** Enables a list item using its index value. - * @param {number} Index of the listbox item to be enabled. - * @returns {void} - */ - enableItemByIndex(index: number): void; - - /** Enables a set of list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be enabled. - * @returns {void} - */ - enableItemsByIndices(indices: number[] | string): void; - - /** Returns the list of checked items in the ListBox widget. It is dependent on showCheckbox property. - * @returns {any} - */ - getCheckedItems(): any; - - /** Returns the list of selected items in the ListBox widget. - * @returns {any} - */ - getSelectedItems(): any; - - /** Returns an item’s index based on the given text. - * @param {string} The list item text (label) - * @returns {number} - */ - getIndexByText(text: string): number; - - /** Returns an item’s index based on the value given. - * @param {string} The list item’s value - * @returns {number} - */ - getIndexByValue(indices: string): number; - - /** Returns an item’s text (label) based on the index given. - * @returns {string} - */ - getTextByIndex(): string; - - /** Returns a list item’s object using its index. - * @returns {any} - */ - getItemByIndex(): any; - - /** Returns a list item’s object based on the text given. - * @param {string} The list item text. - * @returns {any} - */ - getItemByText(text: string): any; - - /** Merges the given data with the existing data items in the listbox. - * @param {Array} Data to merge in listbox. - * @returns {void} - */ - mergeData(data: any[]): void; - - /** Selects the next item based on the current selection. - * @returns {void} - */ - moveDown(): void; - - /** Selects the previous item based on the current selection. - * @returns {void} - */ - moveUp(): void; - - /** Refreshes the ListBox widget. - * @param {boolean} Refreshes both the datasource and the dimensions of the ListBox widget when the parameter is passed as true, otherwise only the ListBox dimensions will be refreshed. - * @returns {void} - */ - refresh(refreshData: boolean): void; - - /** Removes all the list items from listbox. - * @returns {void} - */ - removeAll(): void; - - /** Removes the selected list items from the listbox. - * @returns {void} - */ - removeSelectedItems(): void; - - /** Removes a list item by using its text. - * @param {string} Text of the listbox item to be removed. - * @returns {void} - */ - removeItemByText(text: string): void; - - /** Removes a list item by using its index value. - * @param {number} Index of the listbox item to be removed. - * @returns {void} - */ - removeItemByIndex(index: number): void; - - /** - * @returns {void} - */ - selectAll(): void; - - /** Selects the list item using its text value. - * @param {string} Text of the listbox item to be selected. - * @returns {void} - */ - selectItemByText(text: string): void; - - /** Selects list item using its value property. - * @param {string} Value of the listbox item to be selected. - * @returns {void} - */ - selectItemByValue(value: string): void; - - /** Selects list item using its index value. - * @param {number} Index of the listbox item to be selected. - * @returns {void} - */ - selectItemByIndex(index: number): void; - - /** Selects a set of list items through its index values. - * @param {number|number[]} Index/Indices of the listbox item to be selected. - * @returns {void} - */ - selectItemsByIndices(Indices: number | number[]): void; - - /** Unchecks all the checked list items in the ListBox widget. To use this method showCheckbox property to be set as true. - * @returns {void} - */ - uncheckAll(): void; - - /** Unchecks a checked list item using its index value. To use this method showCheckbox property to be set as true. - * @param {number} Index of the listbox item to be unchecked. - * @returns {void} - */ - uncheckItemByIndex(index: number): void; - - /** Unchecks the set of checked list items using its index values. To use this method showCheckbox property must be set to true. - * @param {number[]|string} Indices of the listbox item to be unchecked. - * @returns {void} - */ - uncheckItemsByIndices(indices: number[] | string): void; - - /** - * @returns {void} - */ - unselectAll(): void; - - /** Unselects a selected list item using its index value - * @param {number} Index of the listbox item to be unselected. - * @returns {void} - */ - unselectItemByIndex(index: number): void; - - /** Unselects a selected list item using its text value. - * @param {string} Text of the listbox item to be unselected. - * @returns {void} - */ - unselectItemByText(text: string): void; - - /** Unselects a selected list item using its value. - * @param {string} Value of the listbox item to be unselected. - * @returns {void} - */ - unselectItemByValue(value: string): void; - - /** Unselects a set of list items using its index values. - * @param {number[]|string} Indices of the listbox item to be unselected. - * @returns {void} - */ - unselectItemsByIndices(indices: number[] | string): void; - - /** Hides all the checked items in the listbox. - * @returns {void} - */ - hideCheckedItems(): void; - - /** Shows a set of hidden list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be shown. - * @returns {void} - */ - showItemByIndices(indices: number[] | string): void; - - /** Hides a set of list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be hidden. - * @returns {void} - */ - hideItemsByIndices(indices: number[] | string): void; - - /** Shows the hidden list items using its values. - * @param {Array} Values of the listbox items to be shown. - * @returns {void} - */ - showItemsByValues(values: any[]): void; - - /** Hides the list item using its values. - * @param {Array} Values of the listbox items to be hidden. - * @returns {void} - */ - hideItemsByValues(values: any[]): void; - - /** Shows a hidden list item using its value. - * @param {string} Value of the listbox item to be shown. - * @returns {void} - */ - showItemByValue(value: string): void; - - /** Hide a list item using its value. - * @param {string} Value of the listbox item to be hidden. - * @returns {void} - */ - hideItemByValue(value: string): void; - - /** Shows a hidden list item using its index value. - * @param {number} Index of the listbox item to be shown. - * @returns {void} - */ - showItemByIndex(index: number): void; - - /** Hides a list item using its index value. - * @param {number} Index of the listbox item to be hidden. - * @returns {void} - */ - hideItemByIndex(index: number): void; - - /** - * @returns {void} - */ - show(): void; - - /** Hides the listbox. - * @returns {void} - */ - hide(): void; - - /** Hides all the listbox items in the listbox. - * @returns {void} - */ - hideAllItems(): void; - - /** Shows all the listbox items in the listbox. - * @returns {void} - */ - showAllItems(): void; - } - export namespace ListBox { - - export interface Model { - - /** Enables/disables the dragging behavior of the items in ListBox widget. - * @Default {false} - */ - allowDrag?: boolean; - - /** Accepts the items which are dropped in to it, when it is set to true. - * @Default {false} - */ - allowDrop?: boolean; - - /** Enables or disables multiple selection. - * @Default {false} - */ - allowMultiSelection?: boolean; - - /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using “virtualScrollMode” property. - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** Enables or disables the case sensitive search for list item by typing the text (search) value. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** Dynamically populate data of a list box while selecting an item in another list box i.e. - * rendering child list box based on the item selection in parent list box. - * This property accepts the id of the child ListBox widget to populate the data. - * @Default {null} - */ - cascadeTo?: string; - - /** Set of list items to be checked by default using its index. It works only when the showCheckbox property is set to true. - * @Default {null} - */ - checkedIndices?: any[]; - - /** The root class for the ListBox widget to customize the existing theme. - * @Default {“”} - */ - cssClass?: string; - - /** Contains the list of data for generating the list items. - * @Default {null} - */ - dataSource?: any; - - /** Enables or disables the ListBox widget. - * @Default {true} - */ - enabled?: boolean; - - /** Enables or disables the search behavior to find the specific list item by typing the text value. - * @Default {false} - */ - enableIncrementalSearch?: boolean; - - /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the ListBox widget’s content from right to left when enabled. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies ellipsis ("...") representation in an overflowed list item content when it is set to false. - * @Default {true} - */ - enableWordWrap?: boolean; - - /** Mapping fields for the data items of the ListBox widget. - * @Default {null} - */ - fields?: Fields; - - /** Defines the height of the ListBox widget. - * @Default {null} - */ - height?: string; - - /** Defines the height for individual ListBox item. - * @Default {null} - */ - itemHeight?: string; - - /** The number of list items to be shown in the ListBox widget. The remaining list items will be scrollable. - * @Default {null} - */ - itemsCount?: number; - - /** The total number of list items to be rendered in the ListBox widget. - * @Default {null} - */ - totalItemsCount?: number; - - /** The number of list items to be loaded in the list box while enabling virtual scrolling and when virtualScrollMode is set to continuous. - * @Default {5} - */ - itemRequestCount?: number; - - /** Loads data for the listbox by default (i.e. on initialization) when it is set to true. It creates empty ListBox if it is set to false. - */ - loadDataOnInit?: boolean; - - /** The query to retrieve required data from the data source. - * @Default {ej.Query()} - */ - query?: ej.Query; - - /** The list item to be selected by default using its index. - * @Default {null} - */ - selectedIndex?: number; - - /** The list items to be selected by default using its indices. To use this property allowMultiSelection should be enabled. - * @Default {[]} - */ - selectedIndices?: any[]; - - /** Enables/Disables the multi selection option with the help of checkbox control. - * @Default {false} - */ - showCheckbox?: boolean; - - /** To display the ListBox container with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** The template to display the ListBox widget with customized appearance. - * @Default {null} - */ - template?: string; - - /** Holds the selected items values and used to bind value to the list item using AngularJS and KnockoutJS. - * @Default {“”} - */ - value?: number; - - /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. - */ - virtualScrollMode?: ej.VirtualScrollMode | string; - - /** Defines the width of the ListBox widget. - * @Default {null} - */ - width?: string; - - /** Specifies the targetID for the listbox items. - */ - targetID?: string; - - /** Triggers before the AJAX request begins to load data in the ListBox widget. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggers after the data requested via AJAX is successfully loaded in the ListBox widget. */ - actionSuccess?(e: ActionSuccessEventArgs): void; - - /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggers when the data requested from AJAX get failed. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Event will be triggered before the requested data via AJAX once loaded in successfully. */ - actionBeforeSuccess?(e: ActionBeforeSuccessEventArgs): void; - - /** Triggers when the item selection is changed. */ - change?(e: ChangeEventArgs): void; - - /** Triggers when the list item is checked or unchecked. */ - checkChange?(e: CheckChangeEventArgs): void; - - /** Triggers when the ListBox widget is created successfully. */ - create?(e: CreateEventArgs): void; - - /** Triggers when the ListBox widget is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggers when focus the listbox items. */ - focusIn?(e: FocusInEventArgs): void; - - /** Triggers when focus out from listbox items. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Triggers when the list item is being dragged. */ - itemDrag?(e: ItemDragEventArgs): void; - - /** Triggers when the list item is ready to be dragged. */ - itemDragStart?(e: ItemDragStartEventArgs): void; - - /** Triggers when the list item stops dragging. */ - itemDragStop?(e: ItemDragStopEventArgs): void; - - /** Triggers when the list item is dropped. */ - itemDrop?(e: ItemDropEventArgs): void; - - /** Triggers when a list item gets selected. */ - select?(e: SelectEventArgs): void; - - /** Triggers when a list item gets unselected. */ - unselect?(e: UnselectEventArgs): void; - } - - export interface ActionBeginEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ActionSuccessEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ActionCompleteEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ActionFailureEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ActionBeforeSuccessEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** List of actual object. - */ - actual?: any; - - /** Object of ListBox widget which contains DataManager arguments - */ - request?: any; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** List of array object - */ - result?: any[]; - - /** ExecuteQuery object of DataManager - */ - xhr?: any; - } - - export interface ChangeEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** List item object. - */ - item?: any; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface CheckChangeEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** List item object. - */ - item?: any; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface CreateEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - } - - export interface DestroyEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - } - - export interface FocusInEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - } - - export interface FocusOutEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - } - - export interface ItemDragEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface ItemDragStartEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface ItemDragStopEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface ItemDropEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface SelectEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** List item object. - */ - item?: any; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface UnselectEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; - - /** List item object. - */ - item?: any; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; - } - - export interface Fields { - - /** Defines the specific field name which contains Boolean values to specify whether the list items to be checked by default or not. - */ - checkBy?: boolean; - - /** The grouping in the ListBox widget can be defined using this field. - */ - groupBy?: string; - - /** Defines the HTML attributes such as id, class, styles for the specific ListBox item. - */ - htmlAttributes?: any; - - /** Defines the specific field name which contains id values for the list items. - */ - id?: string; - - /** Defines the imageURL for the image to be displayed in the ListBox item. - */ - imageUrl?: string; - - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; - - /** Defines the specific field name which contains Boolean values to specify whether the list items to be selected by default or not. - */ - selectBy?: boolean; - - /** Defines the sprite CSS class for the image to be displayed. - */ - spriteCssClass?: string; - - /** Defines the table name to get the specific set of list items to be loaded in the ListBox widget while rendering with remote data. - */ - tableName?: string; - - /** Defines the specific field name in the data source to load the list with data. - */ - text?: string; - - /** Defines the specific field name in the data source to load the list with data value property. - */ - value?: string; - } - } - - class Calculate { - static fn: Calculate; - constructor(element: JQuery | Element, options?: Calculate.Model); - static Locale: any; - model: Calculate.Model; - defaults: Calculate.Model; - - /** Add the custom formulas with function in CalcEngine library - * @param {string} pass the formula name - * @param {string} pass the custom function name to call - * @returns {void} - */ - addCustomFunction(FormulaName: string, FunctionName: string): void; - - /** Adds a named range to the NamedRanges collection - * @param {string} pass the namedRange's name - * @param {string} pass the cell range of NamedRange - * @returns {void} - */ - addNamedRange(Name: string, cellRange: string): void; - - /** Accepts a possible parsed formula and returns the calculated value without quotes. - * @param {string} pass the cell range to adjust its range - * @returns {string} - */ - adjustRangeArg(Name: string): string; - - /** When a formula cell changes, call this method to clear it from its dependent cells. - * @param {string} pass the changed cell address - * @returns {void} - */ - clearFormulaDependentCells(Cell: string): void; - - /** Call this method to clear whether an exception was raised during the computation of a library function. - * @returns {void} - */ - clearLibraryComputationException(): void; - - /** Get the column index from a cell reference passed in. - * @param {string} pass the cell address - * @returns {void} - */ - colIndex(Cell: string): void; - - /** Evaluates a parsed formula. - * @param {string} pass the parsed formula - * @returns {string} - */ - computedValue(Formula: string): string; - - /** Evaluates a parsed formula. - * @param {string} pass the parsed formula - * @returns {string} - */ - computeFormula(Formula: string): string; - } - export namespace Calculate { - - export interface Model { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - } - - class CheckBox extends ej.Widget { - static fn: CheckBox; - constructor(element: JQuery | Element, options?: CheckBox.Model); - static Locale: any; - model: CheckBox.Model; - defaults: CheckBox.Model; - - /** Destroy the CheckBox widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Disable the CheckBox to prevent all user interactions. - * @returns {void} - */ - disable(): void; - - /** To enable the CheckBox - * @returns {void} - */ - enable(): void; - - /** To Check the status of CheckBox - * @returns {boolean} - */ - isChecked(): boolean; - } - export namespace CheckBox { - - export interface Model { - - /** Specifies whether CheckBox has to be in checked or not. - * We can also specify array of string as value for this property. - * If any of the value in the specified array matches the value of the textbox, - * then it will be considered as checked. It will be useful in MVVM binding, - * specify array type to identify the values of the checked CheckBoxes. - * @Default {false} - */ - checked?: boolean | string[]; - - /** Specifies the State of CheckBox.See below to get available CheckState - * @Default {null} - */ - checkState?: ej.CheckState | string; - - /** Sets the root CSS class for CheckBox theme, which is used customize. - */ - cssClass?: string; - - /** Specifies the checkbox control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the persist property for CheckBox while initialization. - * The persist API save current model value to browser cookies for state maintains. - * While refreshing the CheckBox control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specify the Right to Left direction to Checkbox - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the enable or disable Tri-State for checkbox control. - * @Default {false} - */ - enableTriState?: boolean; - - /** It allows to define the characteristics of the CheckBox control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specified value to be added an id attribute of the CheckBox. - * @Default {null} - */ - id?: string; - - /** Specify the prefix value of id to be added before the current id of the CheckBox. - * @Default {ej} - */ - idPrefix?: string; - - /** Specifies the name attribute of the CheckBox. - * @Default {null} - */ - name?: string; - - /** Displays rounded corner borders to CheckBox - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the CheckBox.See below to know available CheckboxSize - * @Default {small} - */ - size?: ej.CheckboxSize | string; - - /** Specifies the text content to be displayed for CheckBox. - */ - text?: string; - - /** Set the jQuery validation error message in CheckBox. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules in CheckBox. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value attribute of the CheckBox. - * @Default {null} - */ - value?: string; - - /** Fires before the CheckBox is going to changed its state successfully */ - beforeChange?(e: BeforeChangeEventArgs): void; - - /** Fires when the CheckBox state is changed successfully */ - change?(e: ChangeEventArgs): void; - - /** Fires when the CheckBox state is created successfully */ - create?(e: CreateEventArgs): void; - - /** Fires when the CheckBox state is destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - } - - export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event model values - */ - event?: any; - - /** returns the status whether the element is checked or not. - */ - isChecked?: boolean; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event arguments - */ - event?: any; - - /** returns the status whether the element is checked or not. - */ - isChecked?: boolean; - - /** returns the state of the checkbox - */ - checkState?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; - } - } - enum CheckState { - //string - Uncheck, - //string - Check, - //string - Indeterminate, - } - enum CheckboxSize { - //Displays the CheckBox in medium size - Medium, - //Displays the CheckBox in small size - Small, - } - - class ColorPicker extends ej.Widget { - static fn: ColorPicker; - constructor(element: JQuery | Element, options?: ColorPicker.Model); - static Locale: any; - model: ColorPicker.Model; - defaults: ColorPicker.Model; - - /** Disables the color picker control - * @returns {void} - */ - disable(): void; - - /** Enable the color picker control - * @returns {void} - */ - enable(): void; - - /** Gets the selected color in RGB format - * @returns {any} - */ - getColor(): any; - - /** Gets the selected color value as string - * @returns {string} - */ - getValue(): string; - - /** To Convert color value from hexCode to RGB - * @param {string} Specified HEX code converted to RGB - * @returns {any} - */ - hexCodeToRGB(colorCode: string): any; - - /** Hides the ColorPicker popup, if in opened state. - * @returns {void} - */ - hide(): void; - - /** Convert color value from HSV to RGB - * @param {any} Specified HSV code converted to RGB - * @returns {any} - */ - HSVToRGB(HSV: any): any; - - /** Convert color value from RGB to HEX - * @param {any} Specified RGB code converted to HEX code - * @returns {string} - */ - RGBToHEX(RGB: any): string; - - /** Convert color value from RGB to HSV - * @param {any} Specified RGB code converted to HSV code - * @returns {any} - */ - RGBToHSV(RGB: any): any; - - /** Open the ColorPicker popup. - * @returns {void} - */ - show(): void; - } - export namespace ColorPicker { - - export interface Model { - - /** The ColorPicker control allows to define the customized text to displayed in button elements. Using the property to achieve the customized culture values. - * @Default {{ apply: Apply, cancel: Cancel, swatches: Swatches }} - */ - buttonText?: ButtonText; - - /** Allows to change the mode of the button. Please refer below to know available button mode - * @Default {ej.ButtonMode.Split} - */ - buttonMode?: ej.ButtonMode | string; - - /** Specifies the number of columns to be displayed color palette model. - * @Default {10} - */ - columns?: number | string; - - /** This property allows you to customize its appearance using user-defined CSS and custom skin options such as colors and backgrounds. - */ - cssClass?: string; - - /** This property allows to define the custom colors in the palette model.Custom palettes are created by passing a comma delimited string of HEX values or an array of colors. - * @Default {empty} - */ - custom?: any[]; - - /** This property allows to embed the popup in the order of DOM element flow . When we set the value as true, the color picker popup is always in visible state. - * @Default {false} - */ - displayInline?: boolean; - - /** This property allows to change the control in enabled or disabled state. - * @Default {true} - */ - enabled?: boolean; - - /** This property allows to enable or disable the opacity slider in the color picker control - * @Default {true} - */ - enableOpacity?: boolean; - - /** It allows to define the characteristics of the ColorPicker control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Defines the localized text values in button and tooltip. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the model type to be rendered initially in the color picker control. See below to get available ModelType - * @Default {ej.ColorPicker.ModelType.Default} - */ - modelType?: ej.ColorPicker.ModelType | string; - - /** This property allows to change the opacity value .The selected color opacity will be adjusted by using this opacity value. - * @Default {100} - */ - opacityValue?: number | string; - - /** Specifies the palette type to be displayed at initial time in palette model.There two types of palette model available in ColorPicker control. See below available Palette - * @Default {ej.ColorPicker.Palette.BasicPalette} - */ - palette?: ej.ColorPicker.Palette | string; - - /** This property allows to define the preset model to be rendered initially in palette type.It consists of 12 different types of presets. Each presets have 50 colors. - * See below available Presets - * @Default {ej.ColorPicker.Presets.Basic} - */ - presetType?: ej.ColorPicker.Presets | string; - - /** Allows to show/hides the apply and cancel buttons in ColorPicker control - * @Default {true} - */ - showApplyCancel?: boolean; - - /** Allows to show/hides the clear button in ColorPicker control - * @Default {true} - */ - showClearButton?: boolean; - - /** This property allows to provides live preview support for current cursor selection color and selected color. - * @Default {true} - */ - showPreview?: boolean; - - /** This property allows to store the color values in custom list.The ColorPicker will keep up to 11 colors in a custom list. - * By clicking the add button, the selected color from picker or palette will get added in the recent color list. - * @Default {false} - */ - showRecentColors?: boolean; - - /** Allows to show/hides the switcher button in ColorPicker control.It helps to switch palette or picker mode in colorpicker. - * @Default {true} - */ - showSwitcher?: boolean; - - /** This property allows to shows tooltip to notify the slider value in color picker control. - * @Default {false} - */ - showTooltip?: boolean; - - /** Specifies the toolIcon to be displayed in dropdown control color area. - * @Default {null} - */ - toolIcon?: string; - - /** This property allows to define the customized text or content to displayed when mouse over the following elements. This property also allows to use the culture values. - * @Default {{ switcher: Switcher, addbutton: Add Color, basic: Basic, monochrome: Mono Chrome, flatcolors: Flat Color, seawolf: Sea Wolf, webcolors: Web Colors, - * sandy: Sandy, pinkshades: Pink Shades, misty: Misty, citrus: Citrus, vintage: Vintage, moonlight: Moon Light, candycrush: Candy Crush, - * currentcolor: Current Color, selectedcolor: Selected Color }} - */ - tooltipText?: TooltipText; - - /** Specifies the color value for color picker control, the value is in hexadecimal form with prefix of "#". - * @Default {null} - */ - value?: string; - - /** Fires after Color value has been changed successfully.If the user want to perform any operation after the color value changed then the user can make use of this change event. */ - change?(e: ChangeEventArgs): void; - - /** Fires after closing the color picker popup. */ - close?(e: CloseEventArgs): void; - - /** Fires after Color picker control is created. If the user want to perform any operation after the color picker control creation then the user can make use of this create event. */ - create?(e: CreateEventArgs): void; - - /** Fires after Color picker control is destroyed. If the user want to perform any operation after the color picker control destroyed then the user can make use of this destroy event. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires after opening the color picker popup */ - open?(e: OpenEventArgs): void; - - /** Fires after Color value has been selected successfully. If the user want to perform any operation after the color value selected then the user can make use of this select event. */ - select?(e: SelectEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** return the changed color value - */ - value?: string; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the color picker model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface SelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** return the selected color value - */ - value?: string; - } - - export interface ButtonText { - - /** Sets the text for the apply button. - */ - apply?: string; - - /** Sets the text for the cancel button. - */ - cancel?: string; - - /** Sets the header text for the swatches area. - */ - swatches?: string; - } - - export interface TooltipText { - - /** Sets the tooltip text for the switcher button. - */ - switcher?: string; - - /** Sets the tooltip text for the add button. - */ - addbutton?: string; - - /** Sets the tooltip text for the basic preset. - */ - basic?: string; - - /** Sets the tooltip text for the mono chrome preset. - */ - monochrome?: string; - - /** Sets the tooltip text for the flat colors preset. - */ - flatcolors?: string; - - /** Sets the tooltip text for the sea wolf preset. - */ - seawolf?: string; - - /** Sets the tooltip text for the web colors preset. - */ - webcolors?: string; - - /** Sets the tooltip text for the sandy preset. - */ - sandy?: string; - - /** Sets the tooltip text for the pink shades preset. - */ - pinkshades?: string; - - /** Sets the tooltip text for the misty preset. - */ - misty?: string; - - /** Sets the tooltip text for the citrus preset. - */ - citrus?: string; - - /** Sets the tooltip text for the vintage preset. - */ - vintage?: string; - - /** Sets the tooltip text for the moon light preset. - */ - moonlight?: string; - - /** Sets the tooltip text for the candy crush preset. - */ - candycrush?: string; - - /** Sets the tooltip text for the current color area. - */ - currentcolor?: string; - - /** Sets the tooltip text for the selected color area. - */ - selectedcolor?: string; - } - - enum ModelType { - - ///support palette type mode in color picker. - Palette, - - ///support palette type mode in color picker. - Picker - } - - - enum Palette { - - ///used to show the basic palette - BasicPalette, - - ///used to show the custompalette - CustomPalette - } - - - enum Presets { - - ///used to show the basic presets - Basic, - - ///used to show the CandyCrush colors presets - CandyCrush, - - ///used to show the Citrus colors presets - Citrus, - - ///used to show the FlatColors presets - FlatColors, - - ///used to show the Misty presets - Misty, - - ///used to show the MoonLight presets - MoonLight, - - ///used to show the PinkShades presets - PinkShades, - - ///used to show the Sandy presets - Sandy, - - ///used to show the Seawolf presets - SeaWolf, - - ///used to show the Vintage presets - Vintage, - - ///used to show the WebColors presets - WebColors - } - - } - enum ButtonMode { - //Displays the button in split mode - Split, - //Displays the button in Dropdown mode - Dropdown, - } - - class FileExplorer extends ej.Widget { - static fn: FileExplorer; - constructor(element: JQuery | Element, options?: FileExplorer.Model); - static Locale: any; - model: FileExplorer.Model; - defaults: FileExplorer.Model; - - /** Refresh the size of FileExplorer control. - * @returns {void} - */ - adjustSize(): void; - - /** Disable the particular context menu item. - * @param {string|HTMLElement} Id of the menu item/ Menu element to be disabled - * @returns {void} - */ - disableMenuItem(item: string | HTMLElement): void; - - /** Disable the particular toolbar item. - * @param {string|HTMLElement} Id of the toolbar item/ Tool item element to be disabled - * @returns {void} - */ - disableToolbarItem(item: string | HTMLElement): void; - - /** Enable the particular context menu item. - * @param {string|HTMLElement} Id of the menu item/ Menu element to be Enabled - * @returns {void} - */ - enableMenuItem(item: string | HTMLElement): void; - - /** Enable the particular toolbar item - * @param {string|HTMLElement} Id of the tool item/ Tool item element to be Enabled - * @returns {void} - */ - enableToolbarItem(item: string | HTMLElement): void; - - /** Refresh the content of the selected folder in FileExplorer control. - * @returns {void} - */ - refresh(): void; - - /** Remove the particular toolbar item. - * @param {string|HTMLElement} Id of the tool item/ tool item element to be removed - * @returns {void} - */ - removeToolbarItem(item: string | HTMLElement): void; - } - export namespace FileExplorer { - - export interface Model { - - /** Sets the URL of server side AJAX handling method that handles file operation like Read, Remove, Rename, Create, Upload, Download, Copy and Move in FileExplorer. - */ - ajaxAction?: string; - - /** Specifies the data type of server side AJAX handling method. - * @Default {json} - */ - ajaxDataType?: string; - - /** By using ajaxSettings property, you can customize the AJAX configurations. Normally you can customize the following option in AJAX handling data, URL, type, async, contentType, dataType and - * success. For upload, download and getImage API, you can only customize URL. - * @Default {{ read: {}, createFolder: {}, remove: {}, rename: {}, paste: {}, getDetails: {}, download: {}, upload: {}, getImage: {}, search: {}}} - */ - ajaxSettings?: any; - - /** The FileExplorer allows to move the files from one folder to another folder of FileExplorer by using drag and drop option. Also it supports to upload a file by dragging it - * from windows explorer to the necessary folder of ejFileExplorer. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for FileExplorer actions. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** The FileExplorer allows to select multiple files by enabling the allowMultiSelection property. You can perform multi selection by pressing the Ctrl key or Shift key. - * @Default {true} - */ - allowMultiSelection?: boolean; - - /** By using the contextMenuSettings property, you can customize the ContextMenu in the FileExplorer control. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Sets the root class for FileExplorer theme. This cssClass API allows to use custom skinning option for File Explorer control. - * By defining the root class by using this API, you have to include this root class in CSS. - */ - cssClass?: string; - - /** Specify the enablePersistence to FileExplorer to save the current model value in browser cookies for state maintains. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Enables or disables the resize support in FileExplorer control. - * @Default {false} - */ - enableResize?: boolean; - - /** Enables or disables the Right to Left alignment support in FileExplorer control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Enables or disables the thumbnail image compression option in FileExplorer control. By enabling this option, you can reduce the thumbnail image size while loading. - * @Default {false} - */ - enableThumbnailCompress?: boolean; - - /** Allows specified type of files only to display in FileExplorer control. - * @Default {.} - */ - fileTypes?: string; - - /** By using filterSettings property, you can customize the search functionality of the search bar in FileExplorer control. - */ - filterSettings?: FilterSettings; - - /** By using the gridSettings property, you can customize the grid behavior in the FileExplorer control. - */ - gridSettings?: GridSettings; - - /** Specifies the height of FileExplorer control. - * @Default {400} - */ - height?: string | number; - - /** Enables or disables the responsive support for FileExplorer control during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Sets the file view type. There are three view types available such as Grid, Tile and Large icons. See layoutType. - * @Default {ej.FileExplorer.layoutType.Grid} - */ - layout?: ej.FileExplorer.layoutType | string; - - /** Sets the culture in FileExplorer. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum height of FileExplorer control. - * @Default {null} - */ - maxHeight?: string | number; - - /** Sets the maximum width of FileExplorer control. - * @Default {null} - */ - maxWidth?: string | number; - - /** Sets the minimum height of FileExplorer control. - * @Default {250px} - */ - minHeight?: string | number; - - /** Sets the minimum width of FileExplorer control. - * @Default {400px} - */ - minWidth?: string | number; - - /** The property path denotes the filesystem path that are to be explored. The path for the filesystem can be physical path or relative path, - * but it has to be relevant to where the Web API is hosted. - */ - path?: string; - - /** The selectedFolder is used to select the specified folder of FileExplorer control. - */ - selectedFolder?: string; - - /** The selectedItems is used to select the specified items (file, folder) of FileExplorer control. - */ - selectedItems?: string | any[]; - - /** Enables or disables the checkbox option in FileExplorer control. - * @Default {true} - */ - showCheckbox?: boolean; - - /** Enables or disables the context menu option in FileExplorer control. - * @Default {true} - */ - showContextMenu?: boolean; - - /** Enables or disables the footer in FileExplorer control. The footer element displays the details of the current selected files and folders. - * And also the footer having the switcher to change the layout view. - * @Default {true} - */ - showFooter?: boolean; - - /** FileExplorer control is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** FileExplorer control is rendered with thumbnail preview of images in Tile and LargeIcons layout when this property set to true. - * @Default {true} - */ - showThumbnail?: boolean; - - /** Shows or disables the toolbar in FileExplorer control. - * @Default {true} - */ - showToolbar?: boolean; - - /** Enables or disables the navigation pane in FileExplorer control. The navigation pane contains a tree view element that displays all the folders from the filesystem in a hierarchical manner. - * This is useful to a quick navigation of any folder in the filesystem. - * @Default {true} - */ - showNavigationPane?: boolean; - - /** The tools property is used to configure and group required toolbar items in FileExplorer control. - * @Default {{ creation: [NewFolder], navigation: [Back, Forward, Upward], addressBar: [Addressbar], editing: [Refresh, Upload, Delete, Rename, Download], copyPaste: [Cut, Copy, Paste], - * getProperties: [Details], searchBar: [Searchbar], layout: [Layout], sortBy: [SortBy]}} - */ - tools?: any; - - /** The toolsList property is used to arrange the toolbar items in the FileExplorer control. - * @Default {[layout, creation, navigation, addressBar, editing, copyPaste, sortBy, getProperties, searchBar]} - */ - toolsList?: any[]; - - /** Gets or sets an object that indicates whether to customize the upload behavior in the FileExplorer. - */ - uploadSettings?: UploadSettings; - - /** Specifies the width of FileExplorer control. - * @Default {850} - */ - width?: string | number; - - /** Fires before the AJAX request is performed. */ - beforeAjaxRequest?(e: BeforeAjaxRequestEventArgs): void; - - /** Fires before downloading the files. */ - beforeDownload?(e: BeforeDownloadEventArgs): void; - - /** Fires before getting a requested image from server. Also this event will be triggered when you have enabled thumbnail image compression option in FileExplorer. - * Using this event, you can customize the image compression size. - */ - beforeGetImage?(e: BeforeGetImageEventArgs): void; - - /** Fires before files or folders open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires before uploading the files. */ - beforeUpload?(e: BeforeUploadEventArgs): void; - - /** Fires when FileExplorer control was created */ - create?(e: CreateEventArgs): void; - - /** Fires when file or folder is copied successfully. */ - copy?(e: CopyEventArgs): void; - - /** Fires when new folder is created successfully in file system. */ - createFolder?(e: CreateFolderEventArgs): void; - - /** Fires when file or folder is cut successfully. */ - cut?(e: CutEventArgs): void; - - /** Fires when the FileExplorer is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the files or directory has been started to drag over on the FileExplorer */ - dragStart?(e: DragStartEventArgs): void; - - /** Fires when the files or directory is dragging over on the FileExplorer. */ - drag?(e: DragEventArgs): void; - - /** Fires when the files or directory has been stopped to drag over on FileExplorer */ - dragStop?(e: DragStopEventArgs): void; - - /** Fires when the files or directory is dropped to the target folder of FileExplorer */ - drop?(e: DropEventArgs): void; - - /** Fires after loading the requested image from server. Using this event, you can get the details of loaded image. */ - getImage?(e: GetImageEventArgs): void; - - /** Fires when keydown in FileExplorer control. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when the file view type is changed. */ - layoutChange?(e: LayoutChangeEventArgs): void; - - /** Fires when before the ContextMenu opening. */ - menuBeforeOpen?(e: MenuBeforeOpenEventArgs): void; - - /** Fires when click the ContextMenu item. */ - menuClick?(e: MenuClickEventArgs): void; - - /** Fires when ContextMenu is successfully opened. */ - menuOpen?(e: MenuOpenEventArgs): void; - - /** Fires when files are successfully opened. */ - open?(e: OpenEventArgs): void; - - /** Fires when a file or folder is pasted successfully. */ - paste?(e: PasteEventArgs): void; - - /** Fires when file or folder is deleted successfully. */ - remove?(e: RemoveEventArgs): void; - - /** Fires when resizing is performed for FileExplorer. */ - resize?(e: ResizeEventArgs): void; - - /** Fires when resizing is started for FileExplorer. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Fires this event when the resizing is stopped for FileExplorer. */ - resizeStop?(e: ResizeStopEventArgs): void; - - /** Fires when the items from grid view or tile view of FileExplorer control is selected. */ - select?(e: SelectEventArgs): void; - - /** Triggered when refresh the template column elements in the grid view of FileExplorer control. */ - templateRefresh?(e: TemplateRefreshEventArgs): void; - - /** Fires when the items from grid view or tile view or large icons view of FileExplorer control is unselected. */ - unselect?(e: UnselectEventArgs): void; - } - - export interface BeforeAjaxRequestEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the AJAX request data - */ - data?: any; - - /** returns the FileExplorer model - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface BeforeDownloadEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the downloaded file names. - */ - files?: string[]; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the path of currently opened item. - */ - path?: string; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface BeforeGetImageEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** enable or disable the image compress option. - */ - canCompress?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the expected image size. - */ - size?: any; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface BeforeOpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the opened item type. - */ - itemType?: string; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the path of currently opened item. - */ - path?: string; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface BeforeUploadEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the path of currently opened item. - */ - path?: string; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the upload item details. - */ - uploadItemDetails?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CopyEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of copied file/folder. - */ - name?: string[]; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the source path. - */ - sourcePath?: string; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CreateFolderEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the AJAX response data - */ - data?: any; - - /** returns the FileExplorer model - */ - model?: ej.FileExplorer.Model; - - /** returns the selected item details - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CutEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of moved file or folder. - */ - name?: string[]; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the source path. - */ - sourcePath?: string; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DragStartEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the dragging element. - */ - target?: any; - - /** returns the path of dragging element. - */ - targetPath?: string; - - /** returns the dragging file details. - */ - selectedItems?: any; - } - - export interface DragEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the target element. - */ - target?: any; - - /** returns the name of target element. - */ - targetElementName?: string; - - /** returns the path of target element. - */ - targetPath?: string; - } - - export interface DragStopEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the target element. - */ - target?: any; - - /** returns the path of target element. - */ - targetPath?: string; - - /** returns the name of target element - */ - targetElementName?: string; - - /** returns the action, which is performed after dropping the files (upload/ move). - */ - dropAction?: string; - - /** returns the dragging file details - */ - fileInfo?: any; - } - - export interface DropEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the target element. - */ - target?: any; - - /** returns the name of target folder. - */ - targetFolder?: string; - - /** returns the path of target folder. - */ - targetPath?: string; - - /** returns the dragging element details. - */ - fileInfo?: any; - - /** returns the action, which is performed after dropping the files (upload/ move). - */ - dropAction?: string; - } - - export interface GetImageEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** loaded image path. - */ - path?: string; - - /** loaded image element - */ - element?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** original arguments of image load or error event - */ - originalArgs?: any; - - /** returns the action type, which specifies thumbnail preview or opening image. - */ - action?: string; - - /** returns the name of the event. - */ - type?: string; - } - - export interface KeydownEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the downed key keyCode value - */ - keyCode?: number; - - /** returns altKey value. - */ - altKey?: boolean; - - /** returns shiftKey value. - */ - shiftKey?: boolean; - - /** returns ctrlKey value. - */ - ctrlKey?: boolean; - - /** returns the event object. - */ - originalArgs?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface LayoutChangeEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** return true when we change the layout via interaction, else false. - */ - isInteraction?: boolean; - - /** returns the current view type. - */ - layoutType?: string; - - /** returns the FileExplorer model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface MenuBeforeOpenEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the name of ContextMenu items group. - */ - contextMenu?: string; - - /** returns the dataSource of ContextMenu. - */ - dataSource?: any[]; - - /** returns the element of ContextMenu. - */ - element?: any; - - /** returns the event of ContextMenu. - */ - events?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the target element. - */ - target?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface MenuClickEventArgs { - - /** returns the ID of clicked ContextMenu item. - */ - ID?: string; - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the name of ContextMenu items group. - */ - contextMenu?: string; - - /** returns the element of clicked ContextMenu item. - */ - element?: any; - - /** returns the event of ContextMenu. - */ - event?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the parent element ID of clicked ContextMenu item. - */ - parentId?: string; - - /** returns the parent element text of clicked ContextMenu item. - */ - parentText?: string; - - /** returns the text of clicked ContextMenu item. - */ - text?: string; - - /** returns the name of the event. - */ - type?: string; - } - - export interface MenuOpenEventArgs { - - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the name of ContextMenu items group. - */ - contextMenu?: string; - - /** returns the element of ContextMenu. - */ - element?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the target element. - */ - target?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface OpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the opened item type. - */ - itemType?: string; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the path of currently opened item. - */ - path?: string; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface PasteEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of moved/copied file or folder. - */ - name?: string[]; - - /** returns the selected item details. - */ - selectedItems?: any; - - /** returns the target folder item details. - */ - targetFolder?: any; - - /** returns the target path. - */ - targetPath?: string; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RemoveEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the AJAX response data. - */ - data?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the names of deleted items. - */ - name?: string; - - /** returns the path of deleted item. - */ - path?: string; - - /** returns the removed item details. - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ResizeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mouse move event args. - */ - event?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ResizeStartEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the mouse down event args. - */ - event?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ResizeStopEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the mouse leave event args. - */ - event?: any; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface SelectEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** returns the name of selected items. - */ - name?: string[]; - - /** returns the path of selected items. - */ - path?: string; - - /** returns the selected item details - */ - selectedItems?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface TemplateRefreshEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** Returns the cell object. - */ - cell?: ej.FileExplorer.Model; - - /** Returns the column object. - */ - column?: any; - - /** Returns the current row data. - */ - data?: any; - - /** Returns the grid model of FileExplorer. - */ - model?: any; - - /** Returns the current row index. - */ - rowIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } - - export interface UnselectEventArgs { - - /** Returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; - - /** Returns the name of unselected item. - */ - name?: string; - - /** Returns the name of unselected items. - */ - names?: string[]; - - /** Returns the type of unselected item. - */ - nodeType?: string; - - /** Returns the path of unselected item. - */ - path?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the unselected item details. - */ - unselectedItem?: any; - - /** Returns the unselected items details. - */ - unselectedItems?: any[]; - } - - export interface ContextMenuSettings { - - /** The items property is used to configure and group the required ContextMenu items in FileExplorer control. - * @Default {{% highlight javascript %}{navbar: [NewFolder, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, Getinfo],cwd: [Refresh, Paste,|, SortBy, |, NewFolder, Upload, |, - * Getinfo],files: [Open, Download, |, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, OpenFolderLocation, Getinfo]}{% endhighlight %}} - */ - items?: any; - - /** The customMenuFields property is used to define custom functionality for custom ContextMenu item's which are defined in items property. - * @Default {[]} - */ - customMenuFields?: any[]; - } - - export interface FilterSettings { - - /** It allows to search the text given in search Textbox in every keyup event. When this property was set as false, searching will works only on Enter key and searchbar blur. - * @Default {true} - */ - allowSearchOnTyping?: boolean; - - /** Enables or disables to perform the filter operation with case sensitive. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** Sets the search filter type. There are several filter types available such as "startswith", "contains", "endswith". See filterType. - * @Default {ej.FileExplorer.filterType.Contains} - */ - filterType?: ej.FilterType | string; - } - - export interface GridSettings { - - /** Allows to Resize the width of the columns by simply click and move the particular column header line. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets an object that indicates to render the grid with specified columns. You can use this property same as the column property in Grid control. - * @Default {[{ field: name, headerText: Name, width: 30% }, { field: dateModified, headerText: Date Modified, width: 30% }, { field: type, headerText: Type, width: 15% }, - * { field: size, headerText: Size, width: 12%, textAlign: right, headerTextAlign: left }]} - */ - columns?: any[]; - } - - export interface UploadSettings { - - /** Specifies the maximum file size allowed to upload. It accepts the value in bytes. - * @Default {31457280} - */ - maxFileSize?: number; - - /** Enables or disables the multiple files upload. When it is enabled, you can upload multiple files at a time and when disabled, you can upload only one file at a time. - * @Default {true} - */ - allowMultipleFile?: boolean; - - /** Enables or disables the auto upload option while uploading files in FileExplorer control. - * @Default {false} - */ - autoUpload?: boolean; - } - - enum layoutType { - - ///Supports to display files in tile view - Tile, - - ///Supports to display files in grid view - Grid, - - ///Supports to display files as large icons - LargeIcons - } - - } - - class DatePicker extends ej.Widget { - static fn: DatePicker; - constructor(element: JQuery | Element, options?: DatePicker.Model); - static Locale: any; - model: DatePicker.Model; - defaults: DatePicker.Model; - - /** Disables the DatePicker control. - * @returns {void} - */ - disable(): void; - - /** Enable the DatePicker control, if it is in disabled state. - * @returns {void} - */ - enable(): void; - - /** Returns the current date value in the DatePicker control. - * @returns {string} - */ - getValue(): string; - - /** Close the DatePicker popup, if it is in opened state. - * @returns {void} - */ - hide(): void; - - /** Opens the DatePicker popup. - * @returns {void} - */ - show(): void; - } - export namespace DatePicker { - - export interface Model { - - /** Used to allow or restrict the editing in DatePicker input field directly. By setting false to this API, You can only pick the date from DatePicker popup. - * @Default {true} - */ - allowEdit?: boolean; - - /** allow or restrict the drill down to multiple levels of view (month/year/decade) in DatePicker calendar - * @Default {true} - */ - allowDrillDown?: boolean; - - /** Disable the list of specified date value. - * @Default {{}} - */ - blackoutDates?: any; - - /** Sets the specified text value to the today button in the DatePicker calendar. - * @Default {Today} - */ - buttonText?: string; - - /** Sets the root CSS class for DatePicker theme, which is used customize. - */ - cssClass?: string; - - /** Formats the value of the DatePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DatePicker. - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Specifies the header format of days in DatePicker calendar. See below to get available Headers options - * @Default {ej.DatePicker.Header.Short} - */ - dayHeaderFormat?: string | ej.DatePicker.Header; - - /** Specifies the navigation depth level in DatePicker calendar. This option is not applied when start level view option is lower than depth level view. - * See below to know available levels in DatePicker Calendar - */ - depthLevel?: string | ej.DatePicker.Level; - - /** Allows to embed the DatePicker calendar in the page. Also associates DatePicker with div element instead of input. - * @Default {false} - */ - displayInline?: boolean; - - /** Enables or disables the animation effect with DatePicker calendar. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Enable or disable the DatePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Sustain the entire widget model of DatePicker even after form post or browser refresh - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays DatePicker calendar along with DatePicker input field in Right to Left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows to enter valid or invalid date in input textbox and indicate as error if it is invalid value, when this API value is set to true. For false value, invalid date is not allowed - * to input field and corrected to valid date automatically, even if invalid date is given. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Used the required fields for special Dates in DatePicker in order to customize the special dates in a calendar. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the header format to be displayed in the DatePicker calendar. - * @Default {MMMM yyyy} - */ - headerFormat?: string; - - /** Specifies the height of the DatePicker input text. - * @Default {28px} - */ - height?: string; - - /** HighlightSection is used to highlight currently selected date's month/week/workdays. See below to get available HighlightSection options - * @Default {none} - */ - highlightSection?: string | ej.DatePicker.HighlightSection; - - /** Weekend dates will be highlighted when this property is set to true. - * @Default {false} - */ - highlightWeekend?: boolean; - - /** Specifies the HTML Attributes of the DatePicker. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Change the DatePicker calendar and date format based on given culture. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the maximum date in the calendar that the user can select. - * @Default {new Date(2099, 11, 31)} - */ - maxDate?: string | Date; - - /** Specifies the minimum date in the calendar that the user can select. - * @Default {new Date(1900, 00, 01)} - */ - minDate?: string | Date; - - /** Allows to toggles the read only state of the DatePicker. When the widget is readOnly, it doesn't allow your input. - * @Default {false} - */ - readOnly?: boolean; - - /** It allow to show/hide the disabled date ranges - * @Default {true} - */ - showDisabledRange?: boolean; - - /** It allows to display footer in DatePicker calendar. - * @Default {true} - */ - showFooter?: boolean; - - /** It allows to display/hides the other months days from the current month calendar in a DatePicker. - * @Default {true} - */ - showOtherMonths?: boolean; - - /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DatePicker calendar popup. - * @Default {true} - */ - showPopupButton?: boolean; - - /** DatePicker input is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Used to show the tooltip when hovering on the days in the DatePicker calendar. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the special dates in DatePicker. - * @Default {null} - */ - specialDates?: any; - - /** Specifies the start day of the week in DatePicker calendar. - * @Default {0} - */ - startDay?: number; - - /** Specifies the start level view in DatePicker calendar. See below available Levels - * @Default {ej.DatePicker.Level.Month} - */ - startLevel?: string | ej.DatePicker.Level; - - /** Specifies the number of months to be navigate for one click of next and previous button in a DatePicker Calendar. - * @Default {1} - */ - stepMonths?: number; - - /** Provides option to customize the tooltip format. - * @Default {ddd MMM dd yyyy} - */ - tooltipFormat?: string; - - /** Sets the jQuery validation support to DatePicker Date value. See validation - * @Default {null} - */ - validationMessage?: any; - - /** Sets the jQuery validation custom rules to the DatePicker. see validation - * @Default {null} - */ - validationRules?: any; - - /** sets or returns the current value of DatePicker - * @Default {null} - */ - value?: string | Date; - - /** Specifies the water mark text to be displayed in input text. - * @Default {Select date} - */ - watermarkText?: string; - - /** Specifies the width of the DatePicker input text. - * @Default {160px} - */ - width?: string; - - /** Fires before closing the DatePicker popup. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** Fires when each date is created in the DatePicker popup calendar. */ - beforeDateCreate?(e: BeforeDateCreateEventArgs): void; - - /** Fires before opening the DatePicker popup. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when the DatePicker input value is changed. */ - change?(e: ChangeEventArgs): void; - - /** Fires when DatePicker popup is closed. */ - close?(e: CloseEventArgs): void; - - /** Fires when the DatePicker is created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when the DatePicker is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when DatePicker input gets focus. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires when DatePicker input loses the focus. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when calender view navigates to month/year/decade/century. */ - navigate?(e: NavigateEventArgs): void; - - /** Fires when DatePicker popup is opened. */ - open?(e: OpenEventArgs): void; - - /** Fires when a date is selected from the DatePicker popup. */ - select?(e: SelectEventArgs): void; - } - - export interface BeforeCloseEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the event parameters from DatePicker. - */ - events?: any; - - /** returns the DatePicker popup. - */ - element?: HTMLElement; - } - - export interface BeforeDateCreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the currently created date object. - */ - date?: any; - - /** returns the current DOM object of the date from the Calendar. - */ - element?: HTMLElement; - - /** returns the currently created date as string type. - */ - value?: string; - } - - export interface BeforeOpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the event parameters from DatePicker. - */ - events?: any; - - /** returns the DatePicker popup. - */ - element?: HTMLElement; - } - - export interface ChangeEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the DatePicker input value. - */ - value?: string; - - /** returns the previously selected value. - */ - prevDate?: string; - } - - export interface CloseEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the current date object. - */ - date?: any; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the current date value. - */ - value?: string; - - /** returns the previously selected value. - */ - prevDate?: string; - } - - export interface CreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the currently selected date value. - */ - value?: string; - } - - export interface FocusOutEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the currently selected date value. - */ - value?: string; - - /** returns the previously selected date value. - */ - prevDate?: string; - } - - export interface NavigateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the current date object. - */ - date?: any; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the previous view state of calendar. - */ - navigateFrom?: string; - - /** returns the current view state of calendar. - */ - navigateTo?: string; - - /** returns the name of the event - */ - type?: string; - - /** returns the current date value. - */ - value?: string; - } - - export interface OpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the current date object. - */ - date?: any; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the current date value. - */ - value?: string; - - /** returns the previously selected value. - */ - prevDate?: string; - } - - export interface SelectEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the selected date object. - */ - date?: any; - - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the current date value. - */ - value?: string; - - /** returns the previously selected value. - */ - prevDate?: string; - - /** returns whether the currently selected date is special date or not. - */ - isSpecialDay?: string; - } - - export interface Fields { - - /** Specifies the specials dates - */ - date?: string; - - /** Specifies the icon class to special dates. - */ - iconClass?: string; - - /** Specifies the tooltip to special dates. - */ - tooltip?: string; - - /** Specifies the CSS class to customize the date. - */ - cssClass?: string; - } - - enum Header { - - ///Removes day header in DatePicker - None, - - ///sets the short format of day name (like Sun) in header in DatePicker - Short, - - ///sets the Min format of day name (like su) in header format DatePicker - Min - } - - - enum Level { - - ///allow navigation upto year level in DatePicker - Year, - - ///allow navigation upto decade level in DatePicker - Decade, - - ///allow navigation upto Century level in DatePicker - Century - } - - - enum HighlightSection { - - ///Highlight the week of the currently selected date in DatePicker popup calendar - Week, - - ///Highlight the workdays in a currently selected date's week in DatePicker popup calendar - WorkDays, - - ///Nothing will be highlighted, remove highlights from DatePicker popup calendar if already exists - None - } - - } - - class DateTimePicker extends ej.Widget { - static fn: DateTimePicker; - constructor(element: JQuery | Element, options?: DateTimePicker.Model); - static Locale: any; - model: DateTimePicker.Model; - defaults: DateTimePicker.Model; - - /** Disables the DateTimePicker control. - * @returns {void} - */ - disable(): void; - - /** Enables the DateTimePicker control. - * @returns {void} - */ - enable(): void; - - /** Returns the current datetime value in the DateTimePicker. - * @returns {string} - */ - getValue(): string; - - /** Hides or closes the DateTimePicker popup. - * @returns {void} - */ - hide(): void; - - /** Updates the current system date value and time value to the DateTimePicker. - * @returns {void} - */ - setCurrentDateTime(): void; - - /** Shows or opens the DateTimePicker popup. - * @returns {void} - */ - show(): void; - } - export namespace DateTimePicker { - - export interface Model { - - /** Used to allow or restrict the editing in DateTimePicker input field directly. By setting false to this API, You can only pick the date and time values from DateTimePicker popup. - * @Default {true} - */ - allowEdit?: boolean; - - /** Displays the custom text for the buttons inside the DateTimePicker popup. when the culture value changed, we can change the buttons text based on the culture. - * @Default {{ today: Today, timeNow: Time Now, done: Done, timeTitle: Time }} - */ - buttonText?: ButtonText; - - /** Set the root class for DateTimePicker theme. This cssClass API helps to use custom skinning option for DateTimePicker control. - */ - cssClass?: string; - - /** Defines the datetime format displayed in the DateTimePicker. The value should be a combination of date format and time format. - * @Default {M/d/yyyy h:mm tt} - */ - dateTimeFormat?: string; - - /** Specifies the header format of the datepicker inside the DateTimePicker popup. See DatePicker.Header - * @Default {ej.DatePicker.Header.Short} - */ - dayHeaderFormat?: ej.DatePicker.Header | string; - - /** Specifies the navigation depth level in DatePicker calendar inside DateTimePicker popup. This option is not applied - * when start level view option is lower than depth level view. See ej.DatePicker.Level - */ - depthLevel?: ej.DatePicker.Level | string; - - /** Enable or disable the animation effect in DateTimePicker. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the DateTimePicker control. - * @Default {false} - */ - enabled?: boolean; - - /** Enables or disables the state maintenance of DateTimePicker. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Sets the DateTimePicker direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class, otherwise it internally changed to the correct value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Specifies the header format to be displayed in the DatePicker calendar inside the DateTimePicker popup. - * @Default {MMMM yyyy} - */ - headerFormat?: string; - - /** Defines the height of the DateTimePicker textbox. - * @Default {30} - */ - height?: string | number; - - /** Specifies the HTML Attributes of the ejDateTimePicker - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the time interval between the two adjacent time values in the time popup. - * @Default {30} - */ - interval?: number; - - /** Defines the localization culture for DateTimePicker. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum value to the DateTimePicker. Beyond the maximum value an error class is added to the wrapper element when we set true to enableStrictMode. - * @Default {new Date(12/31/2099 11:59:59 PM)} - */ - maxDateTime?: string | Date; - - /** Sets the minimum value to the DateTimePicker. Behind the minimum value an error class is added to the wrapper element. - * @Default {new Date(1/1/1900 12:00:00 AM)} - */ - minDateTime?: string | Date; - - /** Specifies the popup position of DateTimePicker.See below to know available popup positions - * @Default {ej.DateTimePicker.Bottom} - */ - popupPosition?: string | ej.popupPosition; - - /** Indicates that the DateTimePicker value can only be read and can’t change. - * @Default {false} - */ - readOnly?: boolean; - - /** It allows showing days in other months of DatePicker calendar inside the DateTimePicker popup. - * @Default {true} - */ - showOtherMonths?: boolean; - - /** Shows or hides the arrow button from the DateTimePicker textbox. When the button disabled, the DateTimePicker popup opens while focus in the textbox and hides while focus out from the textbox. - * @Default {true} - */ - showPopupButton?: boolean; - - /** Changes the sharped edges into rounded corner for the DateTimePicker textbox and popup. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the start day of the week in datepicker inside the DateTimePicker popup. - * @Default {1} - */ - startDay?: number; - - /** Specifies the start level view in datepicker inside the DateTimePicker popup. See DatePicker.Level - * @Default {ej.DatePicker.Level.Month or month} - */ - startLevel?: ej.DatePicker.Level | string; - - /** Specifies the number of months to navigate at one click of next and previous button in datepicker inside the DateTimePicker popup. - * @Default {1} - */ - stepMonths?: number; - - /** Defines the time format displayed in the time dropdown inside the DateTimePicker popup. - * @Default {h:mm tt} - */ - timeDisplayFormat?: string; - - /** We can drill down up to time interval on selected date with meridian details. - * @Default {{ enabled: false, interval: 5, showMeridian: false, autoClose: true }} - */ - timeDrillDown?: TimeDrillDown; - - /** Defines the width of the time dropdown inside the DateTimePicker popup. - * @Default {100} - */ - timePopupWidth?: string | number; - - /** Set the jQuery validation error message in DateTimePicker. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules in DateTimePicker. - * @Default {null} - */ - validationRules?: any; - - /** Sets the DateTime value to the control. - */ - value?: string | Date; - - /** Specifies the water mark text to be displayed in input text. - * @Default {Select date and time} - */ - watermarkText?: string; - - /** Defines the width of the DateTimePicker textbox. - * @Default {143} - */ - width?: string | number; - - /** Fires before the datetime popup closed in the DateTimePicker. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** Fires before the datetime popup open in the DateTimePicker. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when the datetime value changed in the DateTimePicker textbox. */ - change?(e: ChangeEventArgs): void; - - /** Fires when DateTimePicker popup closes. */ - close?(e: CloseEventArgs): void; - - /** Fires after DateTimePicker control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the DateTimePicker is destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the focus-in happens in the DateTimePicker textbox. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires when the focus-out happens in the DateTimePicker textbox. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when DateTimePicker popup opens. */ - open?(e: OpenEventArgs): void; - } - - export interface BeforeCloseEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateTimePicker model. - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the event parameters from DateTimePicker. - */ - events?: any; - - /** returns the DateTimePicker popup. - */ - element?: HTMLElement; - } - - export interface BeforeOpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateTimePicker model. - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the event parameters from DateTimePicker. - */ - events?: any; - - /** returns the DateTimePicker popup. - */ - element?: HTMLElement; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value is valid or not - */ - isValidState?: boolean; - - /** returns the modified datetime value - */ - value?: string; - - /** returns the previously selected date time value - */ - prevDateTime?: string; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the modified datetime value - */ - value?: string; - - /** returns the previously selected date time value - */ - prevDateTime?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DateTimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DateTimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the datetime value, which is in text box - */ - value?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the datetime value, which is in text box - */ - value?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the modified datetime value - */ - value?: string; - - /** returns the previously selected date time value - */ - prevDateTime?: string; - } - - export interface ButtonText { - - /** Sets the text for the Done button inside the datetime popup. - */ - done?: string; - - /** Sets the text for the Now button inside the datetime popup. - */ - timeNow?: string; - - /** Sets the header text for the Time dropdown. - */ - timeTitle?: string; - - /** Sets the text for the Today button inside the datetime popup. - */ - today?: string; - } - - export interface TimeDrillDown { - - /** This is the field to show/hide the timeDrillDown in DateTimePicker. - */ - enabled?: boolean; - - /** Sets the interval time of minutes on selected date. - */ - interval?: number; - - /** Allows the user to show or hide the meridian with time in DateTimePicker. - */ - showMeridian?: boolean; - - /** After choosing the time, the popup will close automatically if we set it as true, otherwise we focus out the DateTimePicker or choose timeNow button for closing the popup. - */ - autoClose?: boolean; - } - } - enum popupPosition { - //Opens the DateTimePicker popup below to the DateTimePicker input box - Bottom, - //Opens the DateTimePicker popup above to the DateTimePicker input box - Top, - } - - class DateRangePicker extends ej.Widget { - static fn: DateRangePicker; - constructor(element: JQuery | Element, options?: DateRangePicker.Model); - static Locale: any; - model: DateRangePicker.Model; - defaults: DateRangePicker.Model; - - /** Add the preset ranges to DateRangePicker popup. - * @param {string} Display name - * @param {Array} StartDate and endDate of range. - * @returns {void} - */ - addRanges(label: string, range: any[]): void; - - /** Clears the all ranges selections in DateRangePicker popup - * @returns {void} - */ - clearRanges(): void; - - /** Disables the DateRangePicker control. - * @returns {void} - */ - disable(): void; - - /** Enable the DateRangePicker control, if it is in disabled state. - * @returns {void} - */ - enable(): void; - - /** Returns the startDate and endDate values in the selected ranges in the DateRangePicker control. - * @returns {string} - */ - getSelectedValue(): string; - - /** Close the DateRangePicker popup, if it is in opened state. - * @returns {void} - */ - popupHide(): void; - - /** Opens the DateRangePicker popup. - * @returns {void} - */ - popupShow(): void; - - /** set the preset ranges to DateRangePicker popup. - * @returns {void} - */ - setRange(): void; - } - export namespace DateRangePicker { - - export interface Model { - - /** Used to allow or restrict the editing in DateRangePicker input field directly. By setting false to this API, You can only pick the date ranges from DateRangePicker popup. - * @Default {true} - */ - allowEdit?: boolean; - - /** Sets the specified text value to the available buttons (Reset, Cancel, Apply) in the DateRangePicker popup. - * @Default {{ reset: Reset, cancel: Cancel, apply: Apply}} - */ - buttonText?: any; - - /** Sets the root CSS class for DateRangePicker theme, which is used to customize. - */ - cssClass?: string; - - /** Formats the date value of the DateRangePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DateRangePicker. - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Allows to embed the Timepicker align with the calendars in the page, two timepicker will be render, for selecting start and end date. - * @Default {false} - */ - enableTimePicker?: boolean; - - /** Enable or disable the DateRangePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Sustain the entire widget model of DateRangePicker even after form post or browser refresh - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the end date of the date ranges. - * @Default {null} - */ - endDate?: string | Date; - - /** Specifies the height of the DateRangePicker input. - * @Default {28px} - */ - height?: string | number; - - /** Change the DateRangePicker calendar and date format based on given culture. - * @Default {en-US} - */ - locale?: string; - - /** Used to add the preset ranges. Added ranges using this, will show in popup in right side for easy selection of different preset ranges. - * @Default {null} - */ - ranges?: any; - - /** Specifies the start date of the date ranges - * @Default {null} - */ - startDate?: string | Date; - - /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DateRangePicker calendar popup. - * @Default {true} - */ - showPopupButton?: boolean; - - /** DateRangePicker input and popup is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Formats the date value of the DateRangePicker in to the specified time format. If this API is not specified, timeFormat will be set based on the current culture of DateRangePicker. - * @Default {HH:mm tt} - */ - timeFormat?: string; - - /** Separated two date values in string format to sets the date ranges in calendars. - * @Default {null} - */ - value?: string; - - /** Specifies the water mark text to be displayed in input text. - * @Default {Select Range} - */ - watermarkText?: string; - - /** Specifies the width of the DateRangePicker input text. - * @Default {160px} - */ - width?: string | number; - - /** Fires before closing the DateRangePicker popup. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** Fires before opening the DateRangePicker popup. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when the DateRangePicker values get changed. */ - onChange?(e: OnChangeEventArgs): void; - - /** Fires when DateRangePicker popup is closed. */ - close?(e: CloseEventArgs): void; - - /** Fires when the DateRangePicker is created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when the DateRangePicker is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when DateRangePicker popup is opened. */ - open?(e: OpenEventArgs): void; - - /** Fires when a date ranges is selected from the DateRangePicker popup. */ - select?(e: SelectEventArgs): void; - } - - export interface BeforeCloseEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateRangePicker model - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the event parameters from DateRangePicker. - */ - events?: any; - - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; - } - - export interface BeforeOpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the event parameters from DateRangePicker. - */ - events?: any; - - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; - } - - export interface OnChangeEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the DateRangePicker input value. - */ - value?: string; - - /** returns the startDate of DateRangePicker. - */ - startDate?: any; - - /** returns the endDate of the DateRangePicker popup. - */ - endDate?: any; - } - - export interface CloseEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the current date object. - */ - date?: any; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; - } - - export interface CreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface OpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the current date object. - */ - date?: any; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; - } - - export interface SelectEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the selected date object. - */ - startDate?: any; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the current date value. - */ - endDate?: any; - } - } - - class Dialog extends ej.Widget { - static fn: Dialog; - constructor(element: JQuery | Element, options?: Dialog.Model); - static Locale: any; - model: Dialog.Model; - defaults: Dialog.Model; - - /** Closes the dialog widget dynamically. - * @returns {any} - */ - close(): any; - - /** Collapses the content area when it is expanded. - * @returns {any} - */ - collapse(): any; - - /** Destroys the Dialog widget. - * @returns {void} - */ - destroy(): void; - - /** Expands the content area when it is collapsed. - * @returns {any} - */ - expand(): any; - - /** Checks whether the Dialog widget is opened or not. This methods returns Boolean value. - * @returns {boolean} - */ - isOpen(): boolean; - - /** Maximizes the Dialog widget. - * @returns {any} - */ - maximize(): any; - - /** Minimizes the Dialog widget. - * @returns {any} - */ - minimize(): any; - - /** Opens the Dialog widget. - * @returns {any} - */ - open(): any; - - /** Pins the dialog in its current position. - * @returns {any} - */ - pin(): any; - - /** Refreshes the dialog content dynamically. - * @returns {void} - */ - refresh(): void; - - /** Restores the dialog. - * @returns {any} - */ - restore(): any; - - /** Unpins the Dialog widget. - * @returns {any} - */ - unpin(): any; - - /** Sets the title for the Dialog widget. - * @param {string} The title for the dialog widget. - * @returns {any} - */ - setTitle(Title: string): any; - - /** Sets the content for the Dialog widget dynamically. - * @param {string} The content for the dialog widget. It accepts both string and HTML string. - * @returns {any} - */ - setContent(content: string): any; - - /** Sets the focus on the Dialog widget. - * @returns {any} - */ - focus(): any; - } - export namespace Dialog { - - export interface Model { - - /** Adds action buttons like close, minimize, pin, maximize in the dialog header. - */ - actionButtons?: string[]; - - /** Specifies the ajaxSettings option to load the content to the Dialog control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Enables or disables draggable. - */ - allowDraggable?: boolean; - - /** Enables or disables keyboard interaction. - */ - allowKeyboardNavigation?: boolean; - - /** Customizes the Dialog widget animations. The Dialog widget can be animated while opening and closing the dialog. - * In order to customize animation effects, you need to set “enableAnimation” as true. It contains the following sub properties. - */ - animation?: any; - - /** Closes the dialog widget on pressing the ESC key when it is set to true. - */ - closeOnEscape?: boolean; - - /** The selector for the container element. If the property is set, then dialog will append to the selected element and it is restricted to move only within the specified container element. - */ - containment?: string; - - /** The content type to load the dialog content at run time. The possible values are null, AJAX, iframe and image. When it is null (default value), - * the content inside dialog element will be displayed as content and when it is not null, the content will be loaded from the URL specified in the contentUrl property. - */ - contentType?: string; - - /** The URL to load the dialog content (such as AJAX, image, and iframe). In order to load content from URL, you need to set contentType as ‘ajax’ or ‘iframe’ or ‘image’. - */ - contentUrl?: string; - - /** The root class for the Dialog widget to customize the existing theme. - */ - cssClass?: string; - - /** Enable or disables animation when the dialog is opened or closed. - */ - enableAnimation?: boolean; - - /** Enables or disables the Dialog widget. - */ - enabled?: boolean; - - /** Enable or disables modal dialog. The modal dialog acts like a child window that is displayed on top of the main window/screen and disables the main window interaction until it is closed. - */ - enableModal?: boolean; - - /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. - */ - enablePersistence?: boolean; - - /** Allows the dialog to be resized. The dialog cannot be resized less than the minimum height, width values and greater than the maximum height and width. - */ - enableResize?: boolean; - - /** Displays dialog content from right to left when set to true. - */ - enableRTL?: boolean; - - /** The CSS class name to display the favicon in the dialog header. In order to display favicon, you need to set showHeader as true since the favicon will be displayed in the dialog header. - */ - faviconCSS?: string; - - /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, “100px” as string type - * and “100”, “500” as integer type. - */ - height?: string | number; - - /** Specifies the HTML Attributes of the Dialog. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Enable or disables responsive behavior. - */ - isResponsive?: boolean; - - /** Default Value:{:.param}“en-US” - */ - locale?: number; - - /** Sets the maximum height for the dialog widget. - */ - maxHeight?: number; - - /** Sets the maximum width for the dialog widget. - */ - maxWidth?: number; - - /** Sets the minimum height for the dialog widget. - */ - minHeight?: number; - - /** Sets the minimum width for the dialog widget. - */ - minWidth?: number; - - /** Displays the Dialog widget at the given X and Y position. - */ - position?: any; - - /** Shows or hides the dialog header. - */ - showHeader?: boolean; - - /** The Dialog widget can be opened by default i.e. on initialization, when it is set to true. - */ - showOnInit?: boolean; - - /** Enables or disables the rounder corner. - */ - showRoundedCorner?: boolean; - - /** The selector for the container element. If this property is set, the dialog will be displayed (positioned) based on its container. - */ - target?: string; - - /** The title text to be displayed in the dialog header. In order to set title, you need to set showHeader as true since the title will be displayed in the dialog header. - */ - title?: string; - - /** Add or configure the tooltip text for actionButtons in the dialog header. - */ - tooltip?: any; - - /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, - * “100px” as string type and “100”, “500” as integer type. - */ - width?: string | number; - - /** Sets the z-index value for the Dialog widget. - */ - zIndex?: number; - - /** Sets the Footer for the Dialog widget. - */ - showFooter?: boolean; - - /** Sets the FooterTemplate for the Dialog widget. - */ - footerTemplateId?: string; - - /** This event is triggered before the dialog widgets gets open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** This event is triggered whenever the AJAX request fails to retrieve the dialog content. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** This event is triggered whenever the AJAX request to retrieve the dialog content, gets succeed. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; - - /** This event is triggered before the dialog widgets get closed. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** This event is triggered after the dialog widget is closed. */ - close?(e: CloseEventArgs): void; - - /** Triggered after the dialog content is loaded in DOM. */ - contentLoad?(e: ContentLoadEventArgs): void; - - /** Triggered after the dialog is created successfully */ - create?(e: CreateEventArgs): void; - - /** Triggered after the dialog widget is destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered while the dialog is dragged. */ - drag?(e: DragEventArgs): void; - - /** Triggered when the user starts dragging the dialog. */ - dragStart?(e: DragStartEventArgs): void; - - /** Triggered when the user stops dragging the dialog. */ - dragStop?(e: DragStopEventArgs): void; - - /** Triggered after the dialog is opened. */ - open?(e: OpenEventArgs): void; - - /** Triggered while the dialog is resized. */ - resize?(e: ResizeEventArgs): void; - - /** Triggered when the user starts resizing the dialog. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggered when the user stops resizing the dialog. */ - resizeStop?(e: ResizeStopEventArgs): void; - - /** Triggered when the dialog content is expanded. */ - expand?(e: ExpandEventArgs): void; - - /** Triggered when the dialog content is collapsed. */ - collapse?(e: CollapseEventArgs): void; - - /** Triggered when the custom action button clicked. */ - actionButtonClick?(e: ActionButtonClickEventArgs): void; - } - - export interface BeforeOpenEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event - */ - type?: string; - } - - export interface AjaxErrorEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** URL of the content. - */ - URL?: string; - - /** Error page content. - */ - responseText?: string; - - /** Error code. - */ - status?: number; - - /** The corresponding error description. - */ - statusText?: string; - } - - export interface AjaxSuccessEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** URL of the content. - */ - URL?: string; - - /** Response content. - */ - data?: string; - } - - export interface BeforeCloseEventArgs { - - /** Current event object. - */ - event?: any; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface CloseEventArgs { - - /** Current event object. - */ - event?: any; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event - */ - type?: string; - } - - export interface ContentLoadEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** URL of the content. - */ - URL?: string; - - /** Content type - */ - contentType?: any; - } - - export interface CreateEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface DragEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** Current event object. - */ - event?: any; - } - - export interface DragStartEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** Current event object. - */ - event?: any; - } - - export interface DragStopEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** Current event object. - */ - event?: any; - } - - export interface OpenEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface ResizeEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - - /** Current event object. - */ - event?: any; - } - - export interface ResizeStartEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event - */ - type?: string; - - /** Current event object. - */ - event?: any; - } - - export interface ResizeStopEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event - */ - type?: string; - - /** Current event object. - */ - event?: any; - } - - export interface ExpandEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface CollapseEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; - } - - export interface ActionButtonClickEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Name of the event target attribute. - */ - buttonID?: string; - - /** Name of the event. - */ - type?: string; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event current target title. - */ - currentTarget?: string; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; - } - } - - class DropDownList extends ej.Widget { - static fn: DropDownList; - constructor(element: JQuery | Element, options?: DropDownList.Model); - static Locale: any; - model: DropDownList.Model; - defaults: DropDownList.Model; - - /** Adding a single item or an array of items into the DropDownList allows you to specify all the field attributes such as value, template, image URL, and HTML attributes for those items. - * @param {any|Array} this parameter should have field attributes with respect to mapped field attributes and it's corresponding values to fields - * @returns {void} - */ - addItem(data: any | any[]): void; - - /** This method is used to select all the items in the DropDownList. - * @returns {void} - */ - checkAll(): void; - - /** Clears the text in the DropDownList textbox. - * @returns {void} - */ - clearText(): void; - - /** Destroys the DropDownList widget. - * @returns {void} - */ - destroy(): void; - - /** This property is used to disable the DropDownList widget. - * @returns {void} - */ - disable(): void; - - /** This property disables the set of items in the DropDownList. - * @param {string|number|Array} disable the given index list items - * @returns {void} - */ - disableItemsByIndices(index: string | number | any[]): void; - - /** This property enables the DropDownList control. - * @returns {void} - */ - enable(): void; - - /** Enables an Item or set of Items that are disabled in the DropDownList - * @param {string|number|Array} enable the given index list items if it's disabled - * @returns {void} - */ - enableItemsByIndices(index: string | number | any[]): void; - - /** This method retrieves the items using given value. - * @param {string|number|any} Return the whole object of data based on given value - * @returns {Array} - */ - getItemDataByValue(value: string | number | any): any[]; - - /** This method is used to retrieve the items that are bound with the DropDownList. - * @returns {any} - */ - getListData(): any; - - /** This method is used to get the selected items in the DropDownList. - * @returns {Array} - */ - getSelectedItem(): any[]; - - /** This method is used to retrieve the items value that are selected in the DropDownList. - * @returns {string} - */ - getSelectedValue(): string; - - /** This method hides the suggestion popup in the DropDownList. - * @returns {void} - */ - hidePopup(): void; - - /** This method is used to select the list of items in the DropDownList through the Index of the items. - * @param {string|number|Array} select the given index list items - * @returns {void} - */ - selectItemsByIndices(index: string | number | any[]): void; - - /** This method is used to select an item in the DropDownList by using the given text value. - * @param {string|number|Array} select the list items relates to given text - * @returns {void} - */ - selectItemByText(index: string | number | any[]): void; - - /** This method is used to select an item in the DropDownList by using the given value. - * @param {string|number|Array} select the list items relates to given values - * @returns {void} - */ - selectItemByValue(index: string | number | any[]): void; - - /** This method shows the DropDownList control with the suggestion popup. - * @returns {void} - */ - showPopup(): void; - - /** This method is used to unselect all the items in the DropDownList. - * @returns {void} - */ - unCheckAll(): void; - - /** This method is used to unselect the list of items in the DropDownList through Index of the items. - * @param {string|number|Array} unselect the given index list items - * @returns {void} - */ - unselectItemsByIndices(index: string | number | any[]): void; - - /** This method is used to unselect an item in the DropDownList by using the given text value. - * @param {string|number|Array} unselect the list items relates to given text - * @returns {void} - */ - unselectItemByText(index: string | number | any[]): void; - - /** This method is used to unselect an item in the DropDownList by using the given value. - * @param {string|number|Array} unselect the list items relates to given values - * @returns {void} - */ - unselectItemByValue(index: string | number | any[]): void; - } - export namespace DropDownList { - - export interface Model { - - /** The Virtual Scrolling(lazy loading) feature is used to display a large amount of data that you require without buffering the entire load of a huge database records in the DropDownList, - * that is, when scrolling, an AJAX request is sent to fetch some amount of data from the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** The cascading DropDownLists is a series of two or more DropDownLists in which each DropDownList is filtered according to the previous DropDownList’s value. - * @Default {null} - */ - cascadeTo?: string; - - /** Sets the case sensitivity of the search operation. It supports both enableFilterSearch and enableIncrementalSearch property. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** Dropdown widget's style and appearance can be controlled based on 13 different default built-in themes.You can customize the appearance of the dropdown by using the cssClass property. - * You need to specify a class name in the cssClass property and the same class name is used before the class definitions wherever the custom styles are applied. - */ - cssClass?: string; - - /** This property is used to serve data from the data services based on the query provided. To bind the data to the dropdown widget, - * the dataSource property is assigned with the instance of the ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Sets the separator when the multiSelectMode with delimiter option or checkbox is enabled with the dropdown. When you enter the delimiter value,the texts after the delimiter are considered - * as a separate word or query. The delimiter string is a single character and must be a symbol. Mostly, the delimiter symbol is used as comma (,) or semi-colon (;) or any other special character. - * @Default {','} - */ - delimiterChar?: string; - - /** The enabled Animation property uses the easeOutQuad animation to SlideDown and SlideUp the Popup list in 200 and 100 milliseconds, respectively. - * @Default {false} - */ - enableAnimation?: boolean; - - /** This property is used to indicate whether the DropDownList control responds to the user interaction or not. By default, the control is in the enabled mode - * and you can disable it by setting it to false. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies to perform incremental search for the selection of items from the DropDownList with the help of this property. This helps in selecting the item by using the typed character. - * @Default {true} - */ - enableIncrementalSearch?: boolean; - - /** This property selects the item in the DropDownList when the item is entered in the Search textbox. - * @Default {false} - */ - enableFilterSearch?: boolean; - - /** Saves the current model value to the browser cookies for state maintenance. While refreshing the DropDownList control page, it retains the model value and - * it is applied from the browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** This enables the resize handler to resize the popup to any size. - * @Default {false} - */ - enablePopupResize?: boolean; - - /** Sets the DropDownList textbox direction from right to left align. - * @Default {false} - */ - enableRTL?: boolean; - - /** This property is used to sort the Items in the DropDownList. By default, it sorts the items in an ascending order. - * @Default {false} - */ - enableSorting?: boolean; - - /** Specifies the mapping fields for the data items of the DropDownList. - * @Default {null} - */ - fields?: Fields; - - /** When the enableFilterSearch property value is set to true, the values in the DropDownList shows the items starting with or containing the key word/letter typed in the Search textbox. - * @Default {ej.FilterType.Contains} - */ - filterType?: ej.FilterType | string; - - /** Used to create visualized header for dropdown items - * @Default {null} - */ - headerTemplate?: string; - - /** Defines the height of the DropDownList textbox. - * @Default {null} - */ - height?: string | number; - - /** It sets the given HTML attributes for the DropDownList control such as ID, name, disabled, etc. - * @Default {null} - */ - htmlAttributes?: any; - - /** Data can be fetched in the DropDownList control by using the DataSource, specifying the number of items. - * @Default {5} - */ - itemsCount?: number; - - /** Allows the user to set the particular country or region language for the DropDownList. - * @Default {en-US} - */ - locale?: string; - - /** Defines the maximum height of the suggestion box. This property restricts the maximum height of the popup when resize is enabled. - * @Default {null} - */ - maxPopupHeight?: string | number; - - /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. - * @Default {null} - */ - minPopupHeight?: string | number; - - /** Defines the maximum width of the suggestion box. This property restricts the maximum width of the popup when resize is enabled. - * @Default {null} - */ - maxPopupWidth?: string | number; - - /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. - * @Default {0} - */ - minPopupWidth?: string | number; - - /** With the help of this property, you can make a single or multi selection with the DropDownList and display the text in two modes, delimiter and visual mode. - * In delimiter mode, you can separate the items by using the delimiter character such as comma (,) or semi-colon (;) or any other special character. - * In the visual mode, the items are showcased like boxes with close icon in the textbox. - * @Default {ej.MultiSelectMode.None} - */ - multiSelectMode?: ej.MultiSelectMode | string; - - /** Defines the height of the suggestion popup box in the DropDownList control. - * @Default {152px} - */ - popupHeight?: string | number; - - /** Defines the width of the suggestion popup box in the DropDownList control. - * @Default {auto} - */ - popupWidth?: string | number; - - /** Specifies the query to retrieve the data from the DataSource. - * @Default {null} - */ - query?: any; - - /** Specifies that the DropDownList textbox values should be read-only. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies an item to be selected in the DropDownList. - * @Default {null} - */ - selectedIndex?: number; - - /** Specifies the selectedItems for the DropDownList. - * @Default {[]} - */ - selectedIndices?: any[]; - - /** Selects multiple items in the DropDownList with the help of the checkbox control. To achieve this, enable the showCheckbox option to true. - * @Default {false} - */ - showCheckbox?: boolean; - - /** DropDownList control is displayed with the popup seen. - * @Default {false} - */ - showPopupOnLoad?: boolean; - - /** DropDownList textbox displayed with the rounded corner style. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** When the enableSorting property value is set to true, this property helps to sort the items either in ascending or descending order - * @Default {ej.SortOrder.Ascending} - */ - sortOrder?: ej.SortOrder | string; - - /** Specifies the targetID for the DropDownList’s items. - * @Default {null} - */ - targetID?: string; - - /** By default, you can add any text or image to the DropDownList item. To customize the item layout or to create your own visualized elements, you can use this template support. - * @Default {null} - */ - template?: string; - - /** Defines the text value that is displayed in the DropDownList textbox. - * @Default {null} - */ - text?: string | number; - - /** Sets the jQuery validation error message in the DropDownList - * @Default {null} - */ - validationMessage?: any; - - /** Sets the jQuery validation rules in the Dropdownlist. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value (text content) for the DropDownList control. - * @Default {null} - */ - value?: string | number; - - /** Specifies a short hint that describes the expected value of the DropDownList control. - * @Default {null} - */ - watermarkText?: string; - - /** Defines the width of the DropDownList textbox. - * @Default {null} - */ - width?: string | number; - - /** The Virtual Scrolling feature is used to display a large amount of records in the DropDownList, that is, when scrolling, an AJAX request is sent to fetch some amount of data from - * the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. - * You can set the itemsCount property that represents the number of items to be fetched from the server on every AJAX request. - * @Default {normal} - */ - virtualScrollMode?: ej.VirtualScrollMode | string; - - /** Fires the action before the XHR request. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Fires the action when the list of items is bound to the DropDownList by xhr post calling */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Fires the action when the xhr post calling failed on remote data binding with the DropDownList control. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Fires the action when the xhr post calling succeed on remote data binding with the DropDownList control */ - actionSuccess?(e: ActionSuccessEventArgs): void; - - /** Fires the action before the popup is ready to hide. */ - beforePopupHide?(e: BeforePopupHideEventArgs): void; - - /** Fires the action before the popup is ready to be displayed. */ - beforePopupShown?(e: BeforePopupShownEventArgs): void; - - /** Fires when the cascading happens between two DropDownList exactly after the value changes in the first dropdown and before filtering in the second Dropdown. */ - cascade?(e: CascadeEventArgs): void; - - /** Fires the action when the DropDownList control’s value is changed. */ - change?(e: ChangeEventArgs): void; - - /** Fires the action when the list item checkbox value is changed. */ - checkChange?(e: CheckChangeEventArgs): void; - - /** Fires the action once the DropDownList is created. */ - create?(e: CreateEventArgs): void; - - /** Fires the action when the list items is bound to the DropDownList. */ - dataBound?(e: DataBoundEventArgs): void; - - /** Fires the action when the DropDownList is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires the action when the DropDownList is focused. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires the action when the DropDownList is about to lose focus. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires the action, once the popup is closed */ - popupHide?(e: PopupHideEventArgs): void; - - /** Fires the action, when the popup is resized. */ - popupResize?(e: PopupResizeEventArgs): void; - - /** Fires the action, once the popup is opened. */ - popupShown?(e: PopupShownEventArgs): void; - - /** Fires the action, when resizing a popup starts. */ - popupResizeStart?(e: PopupResizeStartEventArgs): void; - - /** Fires the action, when the popup resizing is stopped. */ - popupResizeStop?(e: PopupResizeStopEventArgs): void; - - /** Fires the action before filtering the list items that starts in the DropDownList when the enableFilterSearch is enabled. */ - search?(e: SearchEventArgs): void; - - /** Fires the action, when the list of item is selected. */ - select?(e: SelectEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface ActionCompleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns number of times trying to fetch the data - */ - count?: number; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the query for data retrieval - */ - query?: any; - - /** Returns the query for data retrieval from the Database - */ - request?: any; - - /** returns the name of the event - */ - type?: string; - - /** Returns the number of items fetched from remote data - */ - result?: any[]; - - /** Returns the requested data - */ - xhr?: any; - } - - export interface ActionFailureEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the error message - */ - error?: any; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the query for data retrieval - */ - query?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface ActionSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns number of times trying to fetch the data - */ - count?: number; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the query for data retrieval - */ - query?: any; - - /** Returns the query for data retrieval from the Database - */ - request?: any; - - /** returns the name of the event - */ - type?: string; - - /** Returns the number of items fetched from remote data - */ - result?: any[]; - - /** Returns the requested data - */ - xhr?: any; - } - - export interface BeforePopupHideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the selected text - */ - text?: string; - - /** returns the selected value - */ - value?: string; - } - - export interface BeforePopupShownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the selected text - */ - text?: string; - - /** returns the selected value - */ - value?: string; - } - - export interface CascadeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the cascading dropdown model. - */ - cascadeModel?: any; - - /** returns the current selected value in first dropdown. - */ - cascadeValue?: string; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the default filter action for second dropdown data should happen or not. - */ - requiresDefaultFilter?: boolean; - - /** returns the name of the event - */ - type?: string; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the selected item with checkbox checked or not. - */ - isChecked?: boolean; - - /** Returns the selected item ID. - */ - itemId?: string; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the selected item text. - */ - selectedText?: string; - - /** returns the name of the event - */ - type?: string; - - /** Returns the selected text. - */ - text?: string; - - /** Returns the selected value. - */ - value?: string; - } - - export interface CheckChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the selected item with checkbox checked or not. - */ - isChecked?: boolean; - - /** Returns the selected item ID. - */ - itemId?: string; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the selected item text. - */ - selectedText?: string; - - /** returns the name of the event - */ - type?: string; - - /** Returns the selected text. - */ - text?: string; - - /** Returns the selected value. - */ - value?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface DataBoundEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the data that is bound to DropDownList - */ - data?: any; - } - - export interface DestroyEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusOutEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface PopupHideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the selected text - */ - text?: string; - - /** returns the selected value - */ - value?: string; - } - - export interface PopupResizeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** Returns the data from the resizable plugin. - */ - event?: any; - } - - export interface PopupShownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the selected text - */ - text?: string; - - /** returns the selected value - */ - value?: string; - } - - export interface PopupResizeStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** Returns the data from the resizable plugin. - */ - event?: any; - } - - export interface PopupResizeStopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the DropDownList model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** Returns the data from the resizable plugin. - */ - event?: any; - } - - export interface SearchEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the data bound to the DropDownList. - */ - items?: any; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the selected item text. - */ - selectedText?: string; - - /** returns the name of the event - */ - type?: string; - - /** Returns the search string typed in search box. - */ - searchString?: string; - } - - export interface SelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the selected item with checkbox checked or not. - */ - isChecked?: boolean; - - /** Returns the selected item ID. - */ - itemId?: string; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the selected item text. - */ - selectedText?: string; - - /** returns the name of the event - */ - type?: string; - - /** Returns the selected text. - */ - text?: string; - - /** Returns the selected value. - */ - value?: string; - } - - export interface Fields { - - /** Used to group the items. - */ - groupBy?: string; - - /** Defines the HTML attributes such as ID, class, and styles for the item. - */ - htmlAttributes?: any; - - /** Defines the ID for the tag. - */ - id?: string; - - /** Defines the image attributes such as height, width, styles, and so on. - */ - imageAttributes?: string; - - /** Defines the imageURL for the image location. - */ - imageUrl?: string; - - /** Defines the tag value to be selected initially. - */ - selected?: boolean; - - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; - - /** Defines the table name for tag value or display text while rendering remote data. - */ - tableName?: string; - - /** Defines the text content for the tag. - */ - text?: string; - - /** Defines the tag value. - */ - value?: string; - } - } - enum FilterType { - //filter the data wherever contains search key - Contains, - //filter the data based on search key present at start position - StartsWith, - } - enum MultiSelectMode { - // can select only single item in DropDownList - None, - //can select multiple items and it's separated by delimiterChar - Delimiter, - // can select multiple items and it's show's like visual box in textbox - VisualMode, - } - enum VirtualScrollMode { - // The data is loaded only to the corresponding page (display items). When scrolling some other position, it enables the load on demand with the DropDownList. - Normal, - //The data items are loaded from the remote when scroll handle reaches the end of the scrollbar like infinity scrolling. - Continuous, - } - - class Tooltip extends ej.Widget { - static fn: Tooltip; - constructor(element: JQuery | Element, options?: Tooltip.Model); - static Locale: any; - model: Tooltip.Model; - defaults: Tooltip.Model; - - /** Destroys the Tooltip control. - * @returns {void} - */ - destroy(): void; - - /** Disables the Tooltip control. - * @returns {void} - */ - disable(): void; - - /** Enables the Tooltip control. - * @returns {void} - */ - enable(): void; - - /** Hide the Tooltip popup. - * @param {string} optional Determines the type of effect that takes place when hiding the tooltip. - * @param {Function} optional custom effect takes place when hiding the tooltip. - * @returns {void} - */ - hide(effect?: string, func?: any): void; - - /** Shows the Tooltip popup for the given target element with the specified effect. - * @param {string} optional Determines the type of effect that takes place when showing the tooltip. - * @param {Function} optional custom effect takes place when showing the tooltip. - * @param {JQuery} optional Tooltip will be shown for the given element - * @returns {void} - */ - show(effect?: string, func?: any, target?: JQuery): void; - } - export namespace Tooltip { - - export interface Model { - - /** Tooltip control can be accessed through the keyboard shortcut keys. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specifies the animation behavior in Tooltip. It contains the following sub properties. - */ - animation?: Animation; - - /** Sets the position related to target element, window, mouse or (x,y) co-ordinates. - * @Default {ej.Tooltip.Associate.Target} - */ - associate?: ej.Tooltip.Associate | string; - - /** Specified the delay to hide Tooltip when closeMode is auto. - * @Default {4000} - */ - autoCloseTimeout?: number; - - /** Specifies the closing behavior of Tooltip popup. - * @Default {ej.Tooltip.CloseMode.None} - */ - closeMode?: ej.Tooltip.CloseMode | string; - - /** Sets the Tooltip in alternate position when collision occurs. - * @Default {ej.Tooltip.Collision.FlipFit} - */ - collision?: ej.Tooltip.Collision | string; - - /** Specified the selector for the container element. - * @Default {body} - */ - containment?: string; - - /** Specifies the text for Tooltip. - * @Default {null} - */ - content?: string; - - /** Sets the root CSS class for Tooltip for the customization. - * @Default {null} - */ - cssClass?: string; - - /** Enables or disables the Tooltip. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the Tooltip direction from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines the height of the Tooltip popup. - * @Default {auto} - */ - height?: string | number; - - /** Enables the arrow in Tooltip. - * @Default {true} - */ - isBalloon?: boolean; - - /** defines various attributes of the Tooltip position - */ - position?: Position; - - /** Enables or disables rounded corner. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Enables or disables shadow effect. - * @Default {false} - */ - showShadow?: boolean; - - /** Specified a selector for elements, within the container. - * @Default {null} - */ - target?: string; - - /** The title text to be displayed in the Tooltip header. - * @Default {null} - */ - title?: string; - - /** Specified the event action to show case the Tooltip. - * @Default {ej.Tooltip.Trigger.Hover} - */ - trigger?: ej.Tooltip.Trigger | string; - - /** Defines the width of the Tooltip popup. - * @Default {auto} - */ - width?: string | number; - - /** This event is triggered before the Tooltip widget get closed. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** This event is triggered before the Tooltip widget gets open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires on clicking to the target element. */ - click?(e: ClickEventArgs): void; - - /** This event is triggered after the Tooltip widget is closed. */ - close?(e: CloseEventArgs): void; - - /** This event is triggered after the Tooltip is created successfully. */ - create?(e: CreateEventArgs): void; - - /** This event is triggered after the Tooltip widget is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** This event is triggered while hovering the target element, when tooltip positioning relates to target element. */ - hover?(e: HoverEventArgs): void; - - /** This event is triggered after the Tooltip is opened. */ - open?(e: OpenEventArgs): void; - - /** This event is triggered while hover the target element, when the tooltip positioning is relates to the mouse. */ - tracking?(e: TrackingEventArgs): void; - } - - export interface BeforeCloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the Tooltip's content - */ - content?: string; - } - - export interface BeforeOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the Tooltip's content - */ - content?: string; - } - - export interface ClickEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the Tooltip's content - */ - content?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface HoverEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the Tooltip's content - */ - content?: string; - } - - export interface TrackingEventArgs { - - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Tooltip model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - } - - export interface Animation { - - /** Determines the type of effect. - * @Default {ej.Tooltip.Effect.None} - */ - effect?: ej.Tooltip.effect | string; - - /** Sets the animation speed in milliseconds. - * @Default {4000} - */ - speed?: number; - } - - export interface PositionTarget { - - /** Sets the Tooltip position against target based on horizontal(x) value. - * @Default {center} - */ - horizontal?: string | number; - - /** Sets the Tooltip position against target based on vertical(y) value. - * @Default {top} - */ - vertical?: string | number; - } - - export interface PositionStem { - - /** Sets the arrow position again popup based on horizontal(x) value - * @Default {center} - */ - horizontal?: string; - - /** Sets the arrow position again popup based on vertical(y) value - * @Default {bottom} - */ - vertical?: string; - } - - export interface Position { - - /** Sets the Tooltip position against target. - */ - target?: PositionTarget; - - /** Sets the arrow position again popup. - */ - stem?: PositionStem; - } - - enum effect { - - ///No animation takes place when showing/hiding the Tooltip - None, - - ///Sliding effect takes place when showing/hiding the Tooltip - Slide, - - ///Fade the Tooltip in and out of visibility. - Fade - } - - - enum Associate { - - ///Sets the position related to target element. - Target, - - ///Sets the position related to mouse. - MouseFollow, - - ///Sets the position related to mouse, first entry to the target element. - MouseEnter, - - ///Sets the position related to (x,y) co-ordinates. - Axis, - - ///Sets the position related to browser window. - Window - } - - - enum CloseMode { - - ///Enables close button in Tooltip. - Sticky, - - ///Sets the delay for Tooltip close - Auto, - - ///The Tooltip will be display normally. - None - } - - - enum Collision { - - ///Flips the Tooltip to the opposite side of the target, if collision is occurs. - Flip, - - ///Shift the Tooltip popup away from the edge of the window(collision side) that means adjacent position. - Fit, - - ///Ensure as much of the element is visible as possible to showcase. - FlipFit, - - ///No collision detection is take place - None - } - - - enum Trigger { - - ///The Tooltip to be shown when the target element is clicked. - Click, - - ///Enables the Tooltip when hover on the target element. - Hover, - - ///Enables the Tooltip when focus is set to target element. - Focus - } - - } - - class Editor extends ej.Widget { - static fn: Editor; - constructor(element: JQuery | Element, options?: Editor.Model); - static Locale: any; - model: Editor.Model; - defaults: Editor.Model; - - /** destroy the editor widgets all events are unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To disable the corresponding Editors - * @returns {void} - */ - disable(): void; - - /** To enable the corresponding Editors - * @returns {void} - */ - enable(): void; - - /** To get value from corresponding Editors - * @returns {number} - */ - getValue(): number; - } - - class NumericTextbox extends Editor { - } - - class CurrencyTextbox extends Editor { - } - - class PercentageTextbox extends Editor { - } - export namespace Editor { - - export interface Model { - - /** Specifies the currency symbol of currency textbox, used when the user wants to overwrite the currency symbol commonly instead of the current culture symbol. - * @Default {Based on the culture} - */ - currencySymbol?: string; - - /** Sets the root CSS class for Editors which allow us to customize the appearance. - */ - cssClass?: string; - - /** Specifies the number of digits that should be allowed after the decimal point. - * @Default {0} - */ - decimalPlaces?: number; - - /** Specifies the editor control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the enablePersistence to editor to save current editor control value to browser cookies for state maintenance. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the Right to Left Direction to editor. - * @Default {false} - */ - enableRTL?: boolean; - - /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class,otherwise it internally changed to the correct value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Specifies the number of digits in each group to the editor. - * @Default {Based on the culture.} - */ - groupSize?: string; - - /** It provides the options to get the customized character to separate the digits. If not set, the separator defined by the current culture. - * @Default {Based on the culture} - */ - groupSeparator?: string; - - /** Specifies the height of the editor. - * @Default {30} - */ - height?: string; - - /** It allows to define the characteristics of the Editors control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The Editor value increment or decrement based an incrementStep value. - * @Default {1} - */ - incrementStep?: number; - - /** Defines the localization culture for editor. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the maximum value of the editor. - * @Default {Number.MAX_VALUE} - */ - maxValue?: number; - - /** Specifies the minimum value of the editor. - * @Default {-(Number.MAX_VALUE) and 0 for Currency Textbox.} - */ - minValue?: number; - - /** Specifies the name of the editor. - * @Default {Sets id as name if it is null.} - */ - name?: string; - - /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the negative pattern. - * you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. - * @Default {Based on the culture} - */ - negativePattern?: string; - - /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the positive pattern. - * you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. - * @Default {Based on the culture} - */ - positivePattern?: string; - - /** Toggles the readonly state of the editor. When the Editor is readonly it doesn't allow user interactions. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies to Change the sharped edges into rounded corner for the Editor. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies whether the up and down spin buttons should be displayed in editor. - * @Default {true} - */ - showSpinButton?: boolean; - - /** Enables decimal separator position validation on type . - * @Default {false} - */ - validateOnType?: boolean; - - /** Set the jQuery validation error message in editor. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules to the editor. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value of the editor. - * @Default {null} - */ - value?: number | string; - - /** Specifies the watermark text to editor. - * @Default {Based on the culture.} - */ - watermarkText?: string; - - /** Specifies the width of the editor. - * @Default {143} - */ - width?: string; - - /** Fires after Editor control value is changed. */ - change?(e: ChangeEventArgs): void; - - /** Fires after Editor control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the Editor is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires after Editor control is focused. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires after Editor control is loss the focus. */ - focusOut?(e: FocusOutEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the corresponding editor model. - */ - model?: ej.Editor.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the corresponding editor control value. - */ - value?: number; - - /** returns true when the value changed by user interaction otherwise returns false - */ - isInteraction?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the editor model - */ - model?: ej.Editor.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the editor model - */ - model?: ej.Editor.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the corresponding editor model. - */ - model?: ej.Editor.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the corresponding editor control value. - */ - value?: number; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the corresponding editor model. - */ - model?: ej.Editor.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the corresponding editor control value. - */ - value?: number; - } - } - - class ListView extends ej.Widget { - static fn: ListView; - constructor(element: JQuery | Element, options?: ListView.Model); - static Locale: any; - model: ListView.Model; - defaults: ListView.Model; - - /** To add item in the given index. If you have enabled grouping in ListView then you need to pass the corresponding group list title to add item in it. - * @param {any} Specifies the item to be added in ListView - * @param {number} Specifies the index where item to be added - * @param {string} optionalThis is an optional parameter. You must pass the group list title here if grouping is enabled in the ListView - * @returns {void} - */ - addItem(item: any, index: number, groupid: string): void; - - /** To check all the items. - * @returns {void} - */ - checkAllItem(): void; - - /** To check item in the given index. - * @param {number} Specifies the index of the item to be checked - * @returns {void} - */ - checkItem(index: number): void; - - /** To clear all the list item in the control before updating with new datasource. - * @returns {void} - */ - clear(): void; - - /** To make the item in the given index to be default state. - * @param {number} Specifies the index to make the item to be in default state. - * @returns {void} - */ - deActive(index: number): void; - - /** To disable item in the given index. - * @param {number} Specifies the index value to be disabled. - * @returns {void} - */ - disableItem(index: number): void; - - /** To enable item in the given index. - * @param {number} Specifies the index value to be enabled. - * @returns {void} - */ - enableItem(index: number): void; - - /** To get the active item. - * @returns {HTMLElement} - */ - getActiveItem(): HTMLElement; - - /** To get the text of the active item. - * @returns {string} - */ - getActiveItemText(): string; - - /** To get all the checked items. - * @returns {Array} - */ - getCheckedItems(): any[]; - - /** To get the text of all the checked items. - * @returns {Array} - */ - getCheckedItemsText(): any[]; - - /** To get the total item count. - * @returns {number} - */ - getItemsCount(): number; - - /** To get the text of the item in the given index. - * @param {string|number} Specifies the index value to get the text value. - * @returns {string} - */ - getItemText(index: string | number): string; - - /** To check whether the item in the given index has child item. - * @param {number} Specifies the index value to check the item has child or not. - * @returns {boolean} - */ - hasChild(index: number): boolean; - - /** To hide the list. - * @returns {void} - */ - hide(): void; - - /** To hide item in the given index. - * @param {number} Specifies the index value to hide the item. - * @returns {void} - */ - hideItem(index: number): void; - - /** To check whether item in the given index is checked. - * @returns {boolean} - */ - isChecked(): boolean; - - /** To load the AJAX content while selecting the item. - * @param {string} Specifies the item to load the AJAX content. - * @returns {void} - */ - loadAjaxContent(item: string): void; - - /** To remove the check mark either for specific item in the given index or for all items. - * @param {number} Specifies the index value to remove the checkbox. - * @returns {void} - */ - removeCheckMark(index: number): void; - - /** To remove item in the given index. - * @param {number} Specifies the index value to remove the item. - * @returns {void} - */ - removeItem(index: number): void; - - /** To select item in the given index. - * @param {number} Specifies the index value to select the item. - * @returns {void} - */ - selectItem(index: number): void; - - /** To make the item in the given index to be active state. - * @param {number} Specifies the index value to make the item in active state. - * @returns {void} - */ - setActive(index: number): void; - - /** To show the list. - * @returns {void} - */ - show(): void; - - /** To show item in the given index. - * @param {number} Specifies the index value to show the hided item. - * @returns {void} - */ - showItem(index: number): void; - - /** To uncheck all the items. - * @returns {void} - */ - unCheckAllItem(): void; - - /** To uncheck item in the given index. - * @param {number} Specifies the index value to uncheck the item. - * @returns {void} - */ - unCheckItem(index: number): void; - } - export namespace ListView { - - export interface Model { - - /** Specifies the ajaxSettings option to load the items to the ListView control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Set the index values to be selected on initial loading. This works only when enableCheckMark is set true. - * @Default {[]} - */ - checkedIndices?: any[]; - - /** Sets the root class for ListView theme. This cssClass API helps to use custom skinning option for ListView control. By defining the root class using this API, - * we need to include this root class in CSS. - */ - cssClass?: string; - - /** Contains the list of data for generating the ListView items. - * @Default {[]} - */ - dataSource?: any[]; - - /** Specifies whether to load AJAX content while selecting item. - * @Default {false} - */ - enableAjax?: boolean; - - /** Specifies whether to enable caching the content. - * @Default {false} - */ - enableCache?: boolean; - - /** Specifies whether to enable check mark for the item. - * @Default {false} - */ - enableCheckMark?: boolean; - - /** Specifies whether to enable the filtering feature to filter the item. - * @Default {false} - */ - enableFiltering?: boolean; - - /** Specifies whether to group the list item. - * @Default {false} - */ - enableGroupList?: boolean; - - /** Specifies to maintain the current model value to browser cookies for state maintenance. While refresh the page, the model value will get apply to the control from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the field settings to map the datasource. - */ - fieldSettings?: any; - - /** Contains the array of items to be added in ListView. - * @Default {[]} - */ - items?: any[]; - - /** Specifies the text of the back button in the header. - * @Default {null} - */ - headerBackButtonText?: string; - - /** Specifies the title of the header. - * @Default {Title} - */ - headerTitle?: string; - - /** Specifies the height. - * @Default {null} - */ - height?: string | number; - - /** Set the localization culture for ListView Widget. - */ - locale?: string; - - /** Specifies whether to retain the selection of the item. - * @Default {false} - */ - persistSelection?: boolean; - - /** Specifies whether to prevent the selection of the item. - * @Default {false} - */ - preventSelection?: boolean; - - /** Specifies the query to execute with the datasource. - * @Default {null} - */ - query?: any; - - /** Specifies whether need to render the control with the template contents. - * @Default {false} - */ - renderTemplate?: boolean; - - /** Specifies the index of item which need to be in selected state initially while loading. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Specifies whether to show the header. - * @Default {true} - */ - showHeader?: boolean; - - /** Specifies whether to show the back button header. - * @Default {false} - */ - showHeaderBackButton?: boolean; - - /** Specifies ID of the element contains template contents. - * @Default {null} - */ - templateId?: string; - - /** Specifies the width. - * @Default {null} - */ - width?: string | number; - - /** Event triggers before the AJAX request happens. */ - ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; - - /** Event triggers after the AJAX content loaded completely. */ - ajaxComplete?(e: AjaxCompleteEventArgs): void; - - /** Event triggers when the AJAX request failed. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** Event triggers after the AJAX content loaded successfully. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; - - /** Event triggers before the items loaded. */ - load?(e: LoadEventArgs): void; - - /** Event triggers after the items loaded. */ - loadComplete?(e: LoadCompleteEventArgs): void; - - /** Event triggers when mouse down happens on the item. */ - mouseDown?(e: MouseDownEventArgs): void; - - /** Event triggers when mouse up happens on the item. */ - mouseUp?(e: MouseUpEventArgs): void; - } - - export interface AjaxBeforeLoadEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the AJAX settings. - */ - ajaxData?: any; - } - - export interface AjaxCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - } - - export interface AjaxErrorEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the error thrown in the AJAX post. - */ - errorThrown?: any; - - /** returns the status. - */ - textStatus?: any; - - /** returns the current list item. - */ - item?: any; - - /** returns the current item text. - */ - text?: string; - - /** returns the current item index. - */ - index?: number; - } - - export interface AjaxSuccessEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the AJAX current content. - */ - content?: string; - - /** returns the current list item. - */ - item?: any; - - /** returns the current item text. - */ - text?: string; - - /** returns the current item index. - */ - index?: number; - - /** returns the current URL of the AJAX post. - */ - URL?: string; - } - - export interface LoadEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - } - - export interface LoadCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - } - - export interface MouseDownEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** If the child element exist return true; otherwise, false. - */ - hasChild?: boolean; - - /** returns the current list item. - */ - item?: string; - - /** returns the current text of item. - */ - text?: string; - - /** returns the current Index of the item. - */ - index?: number; - - /** If checked return true; otherwise, false. - */ - isChecked?: boolean; - - /** returns the list of checked items. - */ - checkedItems?: number; - - /** returns the current checked item text. - */ - checkedItemsText?: string; - } - - export interface MouseUpEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** If the child element exist return true; otherwise, false. - */ - hasChild?: boolean; - - /** returns the current list item. - */ - item?: string; - - /** returns the current text of item. - */ - text?: string; - - /** returns the current Index of the item. - */ - index?: number; - - /** If checked return true; otherwise, false. - */ - isChecked?: boolean; - - /** returns the list of checked items. - */ - checkedItems?: number; - - /** returns the current checked item text. - */ - checkedItemsText?: string; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; - } - } - - class MaskEdit extends ej.Widget { - static fn: MaskEdit; - constructor(element: JQuery | Element, options?: MaskEdit.Model); - static Locale: any; - model: MaskEdit.Model; - defaults: MaskEdit.Model; - - /** To clear the text in mask edit textbox control. - * @returns {void} - */ - clear(): void; - - /** To disable the mask edit textbox control. - * @returns {void} - */ - disable(): void; - - /** To enable the mask edit textbox control. - * @returns {void} - */ - enable(): void; - - /** To obtained the pure value of the text value, removes all the symbols in mask edit textbox control. - * @returns {string} - */ - get_StrippedValue(): string; - - /** To obtained the textbox value as such that, Just replace all '_' to ' '(space) in mask edit textbox control. - * @returns {string} - */ - get_UnstrippedValue(): string; - } - export namespace MaskEdit { - - export interface Model { - - /** Specify the cssClass to achieve custom theme. - * @Default {null} - */ - cssClass?: string; - - /** Specify the custom character allowed to entered in mask edit textbox control. - * @Default {null} - */ - customCharacter?: string; - - /** Specify the state of the mask edit textbox control. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the enablePersistence to mask edit textbox to save current model value to browser cookies for state maintains. - */ - enablePersistence?: boolean; - - /** Specifies the height for the mask edit textbox control. - * @Default {28 px} - */ - height?: string; - - /** Specifies whether hide the prompt characters with spaces on blur. Prompt chars will be shown again on focus the textbox. - * @Default {false} - */ - hidePromptOnLeave?: boolean; - - /** Specifies the list of HTML attributes to be added to mask edit textbox. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specify the inputMode for mask edit textbox control. See InputMode - * @Default {ej.InputMode.Text} - */ - inputMode?: ej.InputMode | string; - - /** Specifies the input mask. - * @Default {null} - */ - maskFormat?: string; - - /** Specifies the name attribute value for the mask edit textbox. - * @Default {null} - */ - name?: string; - - /** Toggles the readonly state of the mask edit textbox. When the mask edit textbox is readonly, it doesn't allow your input. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies whether the error will show until correct value entered in the mask edit textbox control. - * @Default {false} - */ - showError?: boolean; - - /** when showPromptChar is true, the hide the prompt characters are shown in focus of the control and hides in focus out of the control. - * @Default {true} - */ - showPromptChar?: boolean; - - /** MaskEdit input is displayed in rounded corner style when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specify the text alignment for mask edit textbox control.See TextAlign - * @Default {left} - */ - textAlign?: ej.TextAlign | string; - - /** Sets the jQuery validation error message in mask edit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. - * @Default {null} - */ - validationMessage?: any; - - /** Sets the jQuery validation rules to the MaskEdit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value for the mask edit textbox control. - * @Default {null} - */ - value?: string; - - /** Specifies the water mark text to be displayed in input text. - * @Default {null} - */ - watermarkText?: string; - - /** Specifies the width for the mask edit textbox control. - * @Default {143pixel} - */ - width?: string; - - /** Fires when value changed in mask edit textbox control. */ - change?(e: ChangeEventArgs): void; - - /** Fires after MaskEdit control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the MaskEdit is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when focused in mask edit textbox control. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires when focused out in mask edit textbox control. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when keydown in mask edit textbox control. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when key press in mask edit textbox control. */ - keyPress?(e: KeyPressEventArgs): void; - - /** Fires when keyup in mask edit textbox control. */ - keyup?(e: KeyupEventArgs): void; - - /** Fires when mouse out in mask edit textbox control. */ - mouseOut?(e: MouseOutEventArgs): void; - - /** Fires when mouse over in mask edit textbox control. */ - mouseOver?(e: MouseOverEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the MaskEdit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the MaskEdit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface KeydownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface KeyPressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface KeyupEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface MouseOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface MouseOverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - } - enum InputMode { - //string - Password, - //string - Text, - } - enum TextAlign { - //string - Center, - //string - Justify, - //string - Left, - //string - Right, - } - - class Menu extends ej.Widget { - static fn: Menu; - constructor(element: JQuery | Element, options?: Menu.Model); - static Locale: any; - model: Menu.Model; - defaults: Menu.Model; - - /** Disables the Menu control. - * @returns {void} - */ - disable(): void; - - /** Specifies the Menu Item to be disabled by using the Menu Item Text. - * @param {string} Specifies the Menu Item Text to be disabled. - * @returns {void} - */ - disableItem(itemtext: string): void; - - /** Specifies the Menu Item to be disabled by using the Menu Item Id. - * @param {string|number} Specifies the Menu Item id to be disabled - * @returns {void} - */ - disableItemByID(itemid: string | number): void; - - /** Enables the Menu control. - * @returns {void} - */ - enable(): void; - - /** Specifies the Menu Item to be enabled by using the Menu Item Text. - * @param {string} Specifies the Menu Item Text to be enabled. - * @returns {void} - */ - enableItem(itemtext: string): void; - - /** Specifies the Menu Item to be enabled by using the Menu Item Id. - * @param {string|number} Specifies the Menu Item id to be enabled. - * @returns {void} - */ - enableItemByID(itemid: string | number): void; - - /** Hides the Context Menu control. - * @returns {void} - */ - hide(): void; - - /** Hides the specific items in Menu control. - * @returns {void} - */ - hideItems(): void; - - /** Insert the menu item as child of target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insert(item: any, target: string | any): void; - - /** Insert the menu item after the target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insertAfter(item: any, target: string | any): void; - - /** Insert the menu item before the target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insertBefore(item: any, target: string | any): void; - - /** Remove Menu item. - * @param {any|Array} Selector of target node or Object of target node. - * @returns {void} - */ - remove(target: any | any[]): void; - - /** To show the Menu control. - * @param {number} x co-ordinate position of context menu. - * @param {number} y co-ordinate position of context menu. - * @param {any} target element - * @param {any} name of the event - * @returns {void} - */ - show(locationX: number, locationY: number, targetElement: any, event: any): void; - - /** Show the specific items in Menu control. - * @returns {void} - */ - showItems(): void; - } - export namespace Menu { - - export interface Model { - - /** To enable or disable the Animation while hover or click an menu items.See AnimationType - * @Default {ej.AnimationType.Default} - */ - animationType?: ej.AnimationType | string; - - /** Specifies the target id of context menu. On right clicking the specified contextTarget element, context menu gets shown. - * @Default {null} - */ - contextMenuTarget?: string; - - /** Specify the CSS class to achieve custom theme. - */ - cssClass?: string; - - /** To enable or disable the Animation effect while hover or click an menu items. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the root menu items to be aligned center in horizontal menu. - * @Default {false} - */ - enableCenterAlign?: boolean; - - /** Enable / Disable the Menu control. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the menu items to be displayed in right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** When this property sets to false, the menu items is displayed without any separators. - * @Default {true} - */ - enableSeparator?: boolean; - - /** Specifies the target which needs to be excluded. i.e., The context menu will not be displayed in those specified targets. - * @Default {null} - */ - excludeTarget?: string; - - /** Fields used to bind the data source and it includes following field members to make data bind easier. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the height of the root menu. - * @Default {auto} - */ - height?: string | number; - - /** Specifies the list of HTML attributes to be added to menu control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Enables/disables responsive support for the Menu control during the window resizing time. - * @Default {true} - */ - isResponsive?: boolean; - - /** Specifies the type of the menu. Essential JavaScript Menu consists of two type of menu, they are Normal Menu and Context Menu mode.See MenuType - * @Default {ej.MenuType.NormalMenu} - */ - menuType?: string | ej.MenuType; - - /** Specifies the sub menu items to be show or open only on click. - * @Default {false} - */ - openOnClick?: boolean; - - /** Specifies the orientation of normal menu. Normal menu can rendered in horizontal or vertical direction by using this API. See Orientation - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the main menu items arrows only to be shown if it contains child items. - * @Default {true} - */ - showRootLevelArrows?: boolean; - - /** Specifies the sub menu items arrows only to be shown if it contains child items. - * @Default {true} - */ - showSubLevelArrows?: boolean; - - /** Specifies position of pull down submenu that will appear on mouse over.See Direction - * @Default {ej.Direction.Right} - */ - subMenuDirection?: string | ej.Direction; - - /** Specifies the title to responsive menu. - * @Default {Menu} - */ - titleText?: string; - - /** Specifies the width of the main menu. - * @Default {auto} - */ - width?: string | number; - - /** Specifies the popup menu height. - * @Default {auto} - */ - overflowHeight?: string | number; - - /** Specifies the popup menu width. - * @Default {auto} - */ - overflowWidth?: string | number; - - /** Fires before context menu gets open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when mouse click on menu items. */ - click?(e: ClickEventArgs): void; - - /** Fire when context menu on close. */ - close?(e: CloseEventArgs): void; - - /** Fires when context menu on open. */ - open?(e: OpenEventArgs): void; - - /** Fires to create menu items. */ - create?(e: CreateEventArgs): void; - - /** Fires to destroy menu items. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when key down on menu items. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when mouse out from menu items. */ - mouseout?(e: MouseoutEventArgs): void; - - /** Fires when mouse over the Menu items. */ - mouseover?(e: MouseoverEventArgs): void; - - /** Fires when overflow popup menu opens. */ - overflowOpen?(e: OverflowOpenEventArgs): void; - - /** Fires when overflow popup menu closes. */ - overflowClose?(e: OverflowCloseEventArgs): void; - } - - export interface BeforeOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; - } - - export interface ClickEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - - /** returns the selected item - */ - selectedItem?: number; - } - - export interface CloseEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; - } - - export interface OpenEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; - } - - export interface CreateEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface KeydownEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - menuText?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - } - - export interface MouseoutEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - } - - export interface MouseoverEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - } - - export interface OverflowOpenEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - e?: any; - - /** if the event should be cancelled ; otherwise ,false - */ - cancel?: boolean; - } - - export interface OverflowCloseEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - e?: any; - - /** if the event should be cancelled ; otherwise ,false - */ - cancel?: boolean; - } - - export interface Fields { - - /** It receives the child data for the inner level. - */ - child?: any; - - /** It receives datasource as Essential DataManager object and JSON object. - */ - dataSource?: any; - - /** Specifies the HTML attributes to “LI” item list. - */ - htmlAttribute?: string; - - /** Specifies the id to menu items list - */ - id?: string; - - /** Specifies the image attribute to “img” tag inside items list. - */ - imageAttribute?: string; - - /** Specifies the image URL to “img” tag inside item list. - */ - imageUrl?: string; - - /** Adds custom attributes like "target" to the anchor tag of the menu items. - */ - linkAttribute?: string; - - /** Specifies the parent id of the table. - */ - parentId?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - */ - query?: any; - - /** Specifies the sprite CSS class to “LI” item list. - */ - spriteCssClass?: string; - - /** It receives table name to execute query on the corresponding table. - */ - tableName?: string; - - /** Specifies the text of menu items list. - */ - text?: string; - - /** Specifies the URL to the anchor tag in menu item list. - */ - url?: string; - } - } - enum AnimationType { - //string - Default, - //string - None, - } - enum MenuType { - //string - ContextMenu, - //string - NormalMenu, - } - enum Direction { - //string - Left, - //string - None, - //string - Right, - } - - class Pager extends ej.Widget { - static fn: Pager; - constructor(element: JQuery | Element, options?: Pager.Model); - static Locale: any; - model: Pager.Model; - defaults: Pager.Model; - - /** Send a paging request to specified page through the pager control. - * @param {number} Specifies the index to be navigated - * @returns {void} - */ - gotoPage(pageIndex: number): void; - - /** refreshPager() helps to refresh the model value of pager control. - * @returns {void} - */ - refreshPager(): void; - } - export namespace Pager { - - export interface Model { - - /** Gets or sets a value that indicates whether to display the custom text message in Pager. - */ - customText?: string; - - /** Gets or sets a value that indicates whether to define which page to display currently in pager. - * @Default {1} - */ - currentPage?: number; - - /** Gets or sets a value that indicates whether to display the external Message in Pager. - * @Default {false} - */ - enableExternalMessage?: boolean; - - /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. - * @Default {false} - */ - enableQueryString?: boolean; - - /** Align content in the pager control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** Gets or sets a value that indicates whether to display the external Message in Pager. - */ - externalMessage?: string; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. - * in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation. - * @Default {10} - */ - pageCount?: number; - - /** Gets or sets a value that indicates whether to define the number of records displayed per page. - * @Default {12} - */ - pageSize?: number; - - /** Get or sets a value of total number of pages in the pager. The totalPages value is calculated based on page size and total records. - * @Default {null} - */ - totalPages?: number; - - /** Get the value of total number of records which is bound to a data item. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Shows or hides the current page information in pager footer. - * @Default {true} - */ - showPageInfo?: boolean; - - /** Triggered when pager numeric item is clicked in pager control. */ - click?(e: ClickEventArgs): void; - } - - export interface ClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current page index. - */ - currentPage?: number; - - /** Returns the pager model. - */ - model?: any; - - /** Returns the name of event - */ - type?: string; - - /** Returns current action event type and its target. - */ - event?: any; - } - } - - class ProgressBar extends ej.Widget { - static fn: ProgressBar; - constructor(element: JQuery | Element, options?: ProgressBar.Model); - static Locale: any; - model: ProgressBar.Model; - defaults: ProgressBar.Model; - - /** Destroy the progressbar widget - * @returns {void} - */ - destroy(): void; - - /** Disables the progressbar control - * @returns {void} - */ - disable(): void; - - /** Enables the progressbar control - * @returns {void} - */ - enable(): void; - - /** Returns the current progress value in percent. - * @returns {number} - */ - getPercentage(): number; - - /** Returns the current progress value - * @returns {number} - */ - getValue(): number; - } - export namespace ProgressBar { - - export interface Model { - - /** Sets the root CSS class for ProgressBar theme, which is used customize. - * @Default {null} - */ - cssClass?: string; - - /** When this property sets to false, it disables the ProgressBar control - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for state maintains. While refresh the progressBar control page retains the model value apply from browser cookies - * @Default {false} - */ - enablePersistence?: boolean; - - /** Sets the ProgressBar direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines the height of the ProgressBar. - * @Default {null} - */ - height?: number | string; - - /** It allows to define the characteristics of the progressBar control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the maximum value of the ProgressBar. - * @Default {100} - */ - maxValue?: number; - - /** Sets the minimum value of the ProgressBar. - * @Default {0} - */ - minValue?: number; - - /** Sets the ProgressBar value in percentage. The value should be in between 0 to 100. - * @Default {0} - */ - percentage?: number; - - /** Displays rounded corner borders on the progressBar control. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Sets the custom text for the ProgressBar. The text placed in the middle of the ProgressBar and it can be customizable using the class 'e-progress-text'. - * @Default {null} - */ - text?: string; - - /** Sets the ProgressBar value. The value should be in between min and max values. - * @Default {0} - */ - value?: number; - - /** Defines the width of the ProgressBar. - * @Default {null} - */ - width?: number | string; - - /** Event triggers when the progress value changed */ - change?(e: ChangeEventArgs): void; - - /** Event triggers when the process completes (at 100%) */ - complete?(e: CompleteEventArgs): void; - - /** Event triggers when the progressbar are created */ - create?(e: CreateEventArgs): void; - - /** Event triggers when the progressbar are destroyed */ - destroy?(e: DestroyEventArgs): void; - - /** Event triggers when the process starts (from 0%) */ - start?(e: StartEventArgs): void; - } - - export interface ChangeEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; - - /** returns the current progress percentage - */ - percentage?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current progress value - */ - value?: string; - } - - export interface CompleteEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; - - /** returns the current progress percentage - */ - percentage?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current progress value - */ - value?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the progressbar model - */ - model?: ej.ProgressBar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the progressbar model - */ - model?: ej.ProgressBar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface StartEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; - - /** returns the current progress percentage - */ - percentage?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current progress value - */ - value?: string; - } - } - - class RadioButton extends ej.Widget { - static fn: RadioButton; - constructor(element: JQuery | Element, options?: RadioButton.Model); - static Locale: any; - model: RadioButton.Model; - defaults: RadioButton.Model; - - /** To disable the RadioButton - * @returns {void} - */ - disable(): void; - - /** To enable the RadioButton - * @returns {void} - */ - enable(): void; - } - export namespace RadioButton { - - export interface Model { - - /** Specifies the check attribute of the Radio Button. - * @Default {false} - */ - checked?: boolean; - - /** Specify the CSS class to RadioButton to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the RadioButton control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the enablePersistence property for RadioButton while initialization. The enablePersistence API save current model value to browser cookies for state maintains. - * While refreshing the radio button control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specify the Right to Left direction to RadioButton - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the HTML Attributes of the Checkbox - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the id attribute for the Radio Button while initialization. - * @Default {null} - */ - id?: string; - - /** Specify the idPrefix value to be added before the current id of the RadioButton. - * @Default {ej} - */ - idPrefix?: string; - - /** Specifies the name attribute for the Radio Button while initialization. - * @Default {Sets id as name if it is null} - */ - name?: string; - - /** Specifies the size of the RadioButton. - * @Default {small} - */ - size?: ej.RadioButtonSize | string; - - /** Specifies the text content for RadioButton. - */ - text?: string; - - /** Set the jQuery validation error message in radio button. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules in radio button. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value attribute of the Radio Button. - * @Default {null} - */ - value?: string; - - /** Fires before the RadioButton is going to changed its state successfully */ - beforeChange?(e: BeforeChangeEventArgs): void; - - /** Fires when the RadioButton state is changed successfully */ - change?(e: ChangeEventArgs): void; - - /** Fires when the RadioButton created successfully */ - create?(e: CreateEventArgs): void; - - /** Fires when the RadioButton destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - } - - export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true if element is checked, otherwise returns false - */ - isChecked?: boolean; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true if element is checked, otherwise returns false - */ - isChecked?: boolean; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - } - } - enum RadioButtonSize { - //Shows small size radio button - Small, - //Shows medium size radio button - Medium, - } - - class Rating extends ej.Widget { - static fn: Rating; - constructor(element: JQuery | Element, options?: Rating.Model); - static Locale: any; - model: Rating.Model; - defaults: Rating.Model; - - /** Destroy the Rating widget all events bound will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To get the current value of rating control. - * @returns {number} - */ - getValue(): number; - - /** To hide the rating control. - * @returns {void} - */ - hide(): void; - - /** User can refresh the rating control to identify changes. - * @returns {void} - */ - refresh(): void; - - /** To reset the rating value. - * @returns {void} - */ - reset(): void; - - /** To set the rating value. - * @param {string|number} Specifies the rating value. - * @returns {void} - */ - setValue(value: string | number): void; - - /** To show the rating control - * @returns {void} - */ - show(): void; - } - export namespace Rating { - - export interface Model { - - /** Enables the rating control with reset button.It can be used to reset the rating control value. - * @Default {true} - */ - allowReset?: boolean; - - /** Specify the CSS class to achieve custom theme. - */ - cssClass?: string; - - /** When this property is set to false, it disables the rating control. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the height of the Rating control wrapper. - * @Default {null} - */ - height?: string; - - /** Specifies the list of HTML attributes to be added to rating control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the value to be increased while navigating between shapes(stars) in Rating control. - * @Default {1} - */ - incrementStep?: number; - - /** Allow to render the maximum number of Rating shape(star). - * @Default {5} - */ - maxValue?: number; - - /** Allow to render the minimum number of Rating shape(star). - * @Default {0} - */ - minValue?: number; - - /** Specifies the orientation of Rating control. See Orientation - * @Default {ej.Rating.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Helps to provide more precise ratings.Rating control supports three precision modes - full, half, and exact. See Precision - * @Default {full} - */ - precision?: ej.Rating.Precision | string; - - /** Interaction with Rating control can be prevented by enabling this API. - * @Default {false} - */ - readOnly?: boolean; - - /** To specify the height of each shape in Rating control. - * @Default {23} - */ - shapeHeight?: number; - - /** To specify the width of each shape in Rating control. - * @Default {23} - */ - shapeWidth?: number; - - /** Enables the tooltip option.Currently selected value will be displayed in tooltip. - * @Default {true} - */ - showTooltip?: boolean; - - /** To specify the number of stars to be selected while rendering. - * @Default {1} - */ - value?: number; - - /** Specifies the width of the Rating control wrapper. - * @Default {null} - */ - width?: string; - - /** Fires when Rating value changes. */ - change?(e: ChangeEventArgs): void; - - /** Fires when Rating control is clicked successfully. */ - click?(e: ClickEventArgs): void; - - /** Fires when Rating control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when Rating control is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when mouse hover is removed from Rating control. */ - mouseout?(e: MouseoutEventArgs): void; - - /** Fires when mouse hovered over the Rating control. */ - mouseover?(e: MouseoverEventArgs): void; - } - - export interface ChangeEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - } - - export interface ClickEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface MouseoutEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - } - - export interface MouseoverEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - - /** returns the current index value. - */ - index?: any; - } - - enum Precision { - - ///string - Exact, - - ///string - Full, - - ///string - Half - } - - } - - class Ribbon extends ej.Widget { - static fn: Ribbon; - constructor(element: JQuery | Element, options?: Ribbon.Model); - static Locale: any; - model: Ribbon.Model; - defaults: Ribbon.Model; - - /** Adds contextual tab or contextual tab set dynamically in the ribbon control with contextual tabs object and index position. - * When index is null, ribbon contextual tab or contextual tab set is added at the last index. - * @param {any} contextual tab or contextual tab set object. - * @param {number} index of the contextual tab or contextual tab set, this is optional. - * @returns {void} - */ - addContextualTabs(contextualTabSet: any, index?: number): void; - - /** Add new option to Backstage page. - * @param {any} select the object to add the backstage item - * @param {number} index to the backstage item this is optional. - * @returns {void} - */ - addBackStageItem(item: any, index?: number): void; - - /** Adds tab dynamically in the ribbon control with given name, tab group array and index position. When index is null, ribbon tab is added at the last index. - * @param {string} ribbon tab display text. - * @param {Array} groups to be displayed in ribbon tab . - * @param {number} index of the ribbon tab,this is optional. - * @returns {void} - */ - addTab(tabText: string, ribbonGroups: any[], index?: number): void; - - /** Adds tab group dynamically in the ribbon control with given tab index, tab group object and group index position. When group index is null, ribbon group is added at the last index. - * @param {number} ribbon tab index. - * @param {any} group to be displayed in ribbon tab . - * @param {number} index of the ribbon group,this is optional. - * @returns {void} - */ - addTabGroup(tabIndex: number, tabGroup: any, groupIndex?: number): void; - - /** Adds group content dynamically in the ribbon control with given tab index, group index, sub group index, content and content index position. - * When content index is null, content is added at the last index. - * @param {number} ribbon tab index. - * @param {number} ribbon group index. - * @param {any} content to be displayed in the ribbon group. - * @param {number} ribbon content index. This is optional. If the value is not given, then by default contentIndex will be considered as 0. - * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, then by default contentIndex will be considered as 0. - * @returns {void} - */ - addTabGroupContent(tabIndex: number, groupIndex: number, content: any, contentIndex?: number, subGroupIndex?: number): void; - - /** Hides the ribbon backstage page. - * @returns {void} - */ - hideBackstage(): void; - - /** Collapses the ribbon tab content. - * @returns {void} - */ - collapse(): void; - - /** Destroys the ribbon widget. All the events bound using this._on are unbound automatically and the ribbon control is moved to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Expands the ribbon tab content. - * @returns {void} - */ - expand(): void; - - /** Gets text of the given index tab in the ribbon control. - * @param {number} index of the tab item. - * @returns {String} - */ - getTabText(index: number): string; - - /** Hides the given text tab in the ribbon control. - * @param {string} text of the tab item. - * @returns {void} - */ - hideTab(text: string): void; - - /** Checks whether the given text tab in the ribbon control is enabled or not. - * @param {string} text of the tab item. - * @returns {Boolean} - */ - isEnable(text: string): boolean; - - /** Checks whether the given text tab in the ribbon control is visible or not. - * @param {string} text of the tab item. - * @returns {Boolean} - */ - isVisible(text: string): boolean; - - /** Removes the given index tab item from the ribbon control. - * @param {number} index of tab item. - * @returns {void} - */ - removeTab(index: number): void; - - /** Sets new text to the given text tab in the ribbon control. - * @param {string} current text of the tab item. - * @param {string} new text of the tab item. - * @returns {void} - */ - setTabText(tabText: string, newText: string): void; - - /** Displays the ribbon backstage page. - * @returns {void} - */ - showBackstage(): void; - - /** Displays the given text tab in the ribbon control. - * @param {string} text of the tab item. - * @returns {void} - */ - showTab(text: string): void; - - /** To customize Group alone in the inside content. - * @param {number} ribbon tab index. - * @param {string} group id to be displayed in ribbon tab . - * @param {any} contentGroup is used in the object - * @returns {void} - */ - updateGroup(tabIndex: number, groupId: string, contentGroup?: any): void; - - /** Update option in existing Backstage. - * @param {number} index to the backstage item - * @param {any} select the object to add the backstage item - * @returns {void} - */ - updateBackStageItem(index: number, item?: any): void; - - /** To customize whole content from Tab Group. - * @param {number} ribbon tab index. - * @param {string} ribbon group text. - * @param {number} ribbon content index. This is optional. If the value is not given, all content groups will be removed. - * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, all content groups will be removed. - * @returns {void} - */ - removeTabGroupContent(tabIndex: number, groupText: string, contentIndex?: number, subGroupIndex?: number): void; - - /** Remove option from Backstage. - * @param {number} index to the backstage item - * @returns {void} - */ - removeBackStageItem(index: number): void; - } - export namespace Ribbon { - - export interface Model { - - /** Enables the ribbon resize feature.allowResizing is a deprecated property of isResponsive. - * @Default {false} - */ - allowResizing?: boolean; - - /** When set to true, adapts the Ribbon layout to fit the screen size of devices on which it renders. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the height, width, enableRTL, showRoundedCorner,enabled,cssClass property to the controls in the ribbon commonly andit will work only when those properties - * are not defined in buttonSettings and content defaults. - * @Default {Object} - */ - buttonDefaults?: any; - - /** Property to enable the ribbon quick access toolbar. - * @Default {false} - */ - showQAT?: boolean; - - /** Sets custom setting to the collapsible pin in the ribbon. - * @Default {Object} - */ - collapsePinSettings?: CollapsePinSettings; - - /** Set enableOnDemand as true to load ribbon tab and backstage contents while corresponding item clicked. - * @Default {false} - */ - enableOnDemand?: boolean; - - /** Set collapsible property as true to render ribbon in initially collapsed state. - * @Default {false} - */ - collapsible?: boolean; - - /** Align content in the ribbon control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets custom setting to the expandable pin in the ribbon. - * @Default {Object} - */ - expandPinSettings?: ExpandPinSettings; - - /** Specifies the application tab to contain application menu or backstage page in the ribbon control. - * @Default {Object} - */ - applicationTab?: ApplicationTab; - - /** Specifies the contextual tabs and tab set to the ribbon control with the background color and border color. Refer to the tabs section for adding tabs - * into the contextual tab and contextual tab set. - * @Default {Array} - */ - contextualTabs?: ContextualTab[]; - - /** Specifies the index or indexes to disable the given index tab or indexes tabs in the ribbon control. - * @Default {0} - */ - disabledItemIndex?: any[]; - - /** Specifies the index or indexes to enable the given index tab or indexes tabs in the ribbon control. - * @Default {null} - */ - enabledItemIndex?: any[]; - - /** Specifies the index of the ribbon tab to select the given index tab item in the ribbon control. - * @Default {1} - */ - selectedItemIndex?: number; - - /** Specifies the tabs and its groups. Also specifies the control details that has to be placed in the tab area in the ribbon control. - * @Default {Array} - */ - tabs?: Tab[]; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific - * to a particular country or region and it will need to use the user's preference. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the width to the ribbon control. You can set width in string or number format. - * @Default {null} - */ - width?: string | number; - - /** Triggered before the ribbon tab item is removed. */ - beforeTabRemove?(e: BeforeTabRemoveEventArgs): void; - - /** Triggered before the ribbon control is created. */ - create?(e: CreateEventArgs): void; - - /** Triggered before the ribbon control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered when the control in the group is clicked successfully. */ - groupClick?(e: GroupClickEventArgs): void; - - /** Triggered when the group expander in the group is clicked successfully. */ - groupExpand?(e: GroupExpandEventArgs): void; - - /** Triggered when an item in the Gallery control is clicked successfully. */ - galleryItemClick?(e: GalleryItemClickEventArgs): void; - - /** Triggered when a tab or button in the backstage page is clicked successfully. */ - backstageItemClick?(e: BackstageItemClickEventArgs): void; - - /** Triggered when the ribbon control is collapsed. */ - collapse?(e: CollapseEventArgs): void; - - /** Triggered when the ribbon control is expanded. */ - expand?(e: ExpandEventArgs): void; - - /** Triggered before the ribbon control is load. */ - load?(e: LoadEventArgs): void; - - /** Triggered after adding the new ribbon tab item. */ - tabAdd?(e: TabAddEventArgs): void; - - /** Triggered when tab is clicked successfully in the ribbon control. */ - tabClick?(e: TabClickEventArgs): void; - - /** Triggered before the ribbon tab is created. */ - tabCreate?(e: TabCreateEventArgs): void; - - /** Triggered after the tab item is removed from the ribbon control. */ - tabRemove?(e: TabRemoveEventArgs): void; - - /** Triggered after the ribbon tab item is selected in the ribbon control. */ - tabSelect?(e: TabSelectEventArgs): void; - - /** Triggered when the expand/collapse button is clicked successfully . */ - toggleButtonClick?(e: ToggleButtonClickEventArgs): void; - - /** Triggered when the QAT menu item is clicked successfully . */ - qatMenuItemClick?(e: QatMenuItemClickEventArgs): void; - } - - export interface BeforeTabRemoveEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns current tab item index in the ribbon control. - */ - index?: number; - } - - export interface CreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns current ribbon tab item index - */ - deleteIndex?: number; - } - - export interface GroupClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the control clicked in the group. - */ - target?: number; - } - - export interface GroupExpandEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the clicked group expander. - */ - target?: number; - } - - export interface GalleryItemClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the gallery model. - */ - galleryModel?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the item clicked in the gallery. - */ - target?: number; - } - - export interface BackstageItemClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the item clicked in the gallery. - */ - target?: number; - - /** returns the id of the target item. - */ - id?: string; - - /** returns the text of the target item. - */ - text?: string; - } - - export interface CollapseEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ExpandEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface LoadEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface TabAddEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns new added tab header. - */ - tabHeader?: any; - - /** returns new added tab content panel. - */ - tabContent?: any; - } - - export interface TabClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: any; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: any; - - /** returns current active index. - */ - activeIndex?: number; - } - - export interface TabCreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns current ribbon tab item index - */ - deleteIndex?: number; - } - - export interface TabRemoveEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the removed index. - */ - removedIndex?: number; - } - - export interface TabSelectEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: any; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: any; - - /** returns current active index. - */ - activeIndex?: number; - } - - export interface ToggleButtonClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the expand/collapse button. - */ - target?: number; - } - - export interface QatMenuItemClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the clicked menu item text. - */ - text?: string; - } - - export interface CollapsePinSettings { - - /** Sets tooltip for the collapse pin . - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for collapse pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - } - - export interface ExpandPinSettings { - - /** Sets tooltip for the expand pin. - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for expand pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - } - - export interface ApplicationTabBackstageSettingsPage { - - /** Specifies the id for ribbon backstage page's tab and button elements. - * @Default {null} - */ - id?: string; - - /** Specifies the text for ribbon backstage page's tab header and button elements. - * @Default {null} - */ - text?: string; - - /** Specifies the type for ribbon backstage page's contents. Set "ej.Ribbon.BackStageItemType.Tab" to render the tab or " - * ej.Ribbon.BackStageItemType.Button" to render the button. - * @Default {ej.Ribbon.ItemType.Tab} - */ - itemType?: ej.Ribbon.ItemType | string; - - /** Specifies the id of HTML elements like div,ul, etc., as ribbon backstage page's tab content. - * @Default {null} - */ - contentID?: string; - - /** Specifies the separator between backstage page's tab and button elements. - * @Default {false} - */ - enableSeparator?: boolean; - } - - export interface ApplicationTabBackstageSettings { - - /** Specifies the display text of application tab. - * @Default {null} - */ - text?: string; - - /** Specifies the height of ribbon backstage page. - * @Default {null} - */ - height?: string | number; - - /** Specifies the width of ribbon backstage page. - * @Default {null} - */ - width?: string | number; - - /** Specifies the ribbon backstage page with its tab and button elements. - * @Default {Array} - */ - pages?: ApplicationTabBackstageSettingsPage[]; - - /** Specifies the width of backstage page header that contains tabs and buttons. - * @Default {null} - */ - headerWidth?: string | number; - } - - export interface ApplicationTab { - - /** Specifies the ribbon backstage page items. - * @Default {Object} - */ - backstageSettings?: ApplicationTabBackstageSettings; - - /** Specifies the ID of ul list to create application menu in the ribbon control. - * @Default {null} - */ - menuItemID?: string; - - /** Specifies the menu members, events by using the menu settings for the menu in the application tab. - * @Default {Object} - */ - menuSettings?: any; - - /** Specifies the application menu or backstage page. Specify the type of application tab as "ej.Ribbon.ApplicationTabType.Menu" to render the application menu or - * "ej.Ribbon.ApplicationTabType.Backstage" to render backstage page in the ribbon control. - * @Default {ej.Ribbon.ApplicationTabType.Menu} - */ - type?: ej.Ribbon.ApplicationTabType | string; - } - - export interface ContextualTab { - - /** Specifies the backgroundColor of the contextual tabs and tab set in the ribbon control. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the borderColor of the contextual tabs and tab set in the ribbon control. - * @Default {null} - */ - borderColor?: string; - - /** Specifies the tabs to present in the contextual tabs and tab set. Refer to the tabs section for adding tabs into the contextual tabs and tab set. - * @Default {Array} - */ - tabs?: any[]; - } - - export interface TabsGroupsContentDefaults { - - /** Specifies the controls height such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {null} - */ - height?: string | number; - - /** Specifies the controls width such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {null} - */ - width?: string | number; - - /** Specifies the controls type such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {ej.Ribbon.Type.Button} - */ - type?: string; - - /** Specifies the controls size such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {false} - */ - isBig?: boolean; - } - - export interface TabsGroupsContentGroupsCustomGalleryItem { - - /** Specifies the Syncfusion button members, events by using buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** Specifies the type as ej.Ribbon.CustomItemType.Menu or ej.Ribbon.CustomItemType.Button to render Syncfusion button and menu. - * @Default {ej.Ribbon.CustomItemType.Button} - */ - customItemType?: ej.Ribbon.CustomItemType | string; - - /** Specifies the custom tooltip for gallery extra item's button. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - - /** Specifies the UL list id to render menu as gallery extra item. - * @Default {null} - */ - menuId?: string; - - /** Specifies the Syncfusion menu members, events by using menuSettings. - * @Default {Object} - */ - menuSettings?: any; - - /** Specifies the text for gallery extra item's button. - * @Default {null} - */ - text?: string; - - /** Specifies the tooltip for gallery extra item's button. - * @Default {null} - */ - toolTip?: string; - } - - export interface TabsGroupsContentGroupsCustomToolTip { - - /** Sets content to the custom tooltip. Text and HTML support are provided for content. - * @Default {null} - */ - content?: string; - - /** Sets icon to the custom tooltip content. - * @Default {null} - */ - prefixIcon?: string; - - /** Sets title to the custom tooltip. Text and HTML support are provided for title and the title is in bold for text format. - * @Default {null} - */ - title?: string; - } - - export interface TabsGroupsContentGroupsGalleryItem { - - /** Specifies the Syncfusion button members, events by using buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** Specifies the custom tooltip for gallery content. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - - /** Sets text for the gallery content. - * @Default {null} - */ - text?: string; - - /** Sets tooltip for the gallery content. - * @Default {null} - */ - toolTip?: string; - } - - export interface TabsGroupsContentGroup { - - /** When isMobileOnly is true,its shows in mobile toolbar.isResponsive should be true for using this property. - * @Default {false} - */ - isMobileOnly?: boolean; - - /** Specifies the Syncfusion button members, events by using this buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** It is used to set the count of gallery contents in a row. - * @Default {null} - */ - columns?: number; - - /** Specifies the custom items such as div, table, controls as custom controls with the type "ej.Ribbon.Type.Custom" in the groups. - * @Default {null} - */ - contentID?: string; - - /** Specifies the CSS class property to apply styles to the button, split, dropdown controls in the groups. - * @Default {null} - */ - cssClass?: string; - - /** Specifies the Syncfusion button and menu as gallery extra items. - * @Default {Array} - */ - customGalleryItems?: TabsGroupsContentGroupsCustomGalleryItem[]; - - /** Provides custom tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. Text and HTML support are also provided for title and content. - * @Default {Object} - */ - customToolTip?: TabsGroupsContentGroupsCustomToolTip; - - /** Specifies the Syncfusion dropdown list members, events by using this dropdownSettings. - * @Default {Object} - */ - dropdownSettings?: any; - - /** Specifies the separator to the control that is in row type group. The separator separates the control from the next control in the group. Set "true" to enable the separator. - * @Default {false} - */ - enableSeparator?: boolean; - - /** Sets the count of gallery contents in a row, when the gallery is in expanded state. - * @Default {null} - */ - expandedColumns?: number; - - /** Defines each gallery content. - * @Default {Array} - */ - galleryItems?: TabsGroupsContentGroupsGalleryItem[]; - - /** Specifies the Id for button, split button, dropdown list, toggle button, gallery, custom controls in the sub groups. - * @Default {null} - */ - id?: string; - - /** Specifies the size for button, split button controls. Set "true" for big size and "false" for small size. - * @Default {null} - */ - isBig?: boolean; - - /** Sets the height of each gallery content. - * @Default {null} - */ - itemHeight?: string | number; - - /** Sets the width of each gallery content. - * @Default {null} - */ - itemWidth?: string | number; - - /** Specifies the Syncfusion split button members, events by using this splitButtonSettings. - * @Default {Object} - */ - splitButtonSettings?: any; - - /** Specifies the text for button, split button, toggle button controls in the sub groups. - * @Default {null} - */ - text?: string; - - /** Specifies the Syncfusion toggle button members, events by using toggleButtonSettings. - * @Default {Object} - */ - toggleButtonSettings?: any; - - /** Specifies the tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. - * @Default {null} - */ - toolTip?: string; - - /** To add,show and hide controls in Quick Access toolbar. - * @Default {ej.Ribbon.QuickAccessMode.None} - */ - quickAccessMode?: ej.Ribbon.QuickAccessMode | string; - - /** Specifies the type as "ej.Ribbon.Type.Button" or "ej.Ribbon.Type.SplitButton" or "ej.Ribbon.Type.DropDownList" or "ej.Ribbon.Type.ToggleButton" - * or "ej.Ribbon.Type.Custom" or "ej.Ribbon.Type.Gallery" to render button, split, dropdown, toggle button, gallery, custom controls. - * @Default {ej.Ribbon.Type.Button} - */ - type?: ej.Ribbon.Type | string; - } - - export interface TabsGroupsContent { - - /** Specifies the height, width, type, isBig property to the controls in the group commonly. - * @Default {Object} - */ - defaults?: TabsGroupsContentDefaults; - - /** Specifies the controls such as Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls in the subgroup of the ribbon tab . - * @Default {Array} - */ - groups?: TabsGroupsContentGroup[]; - } - - export interface TabsGroupsGroupExpanderSettings { - - /** Sets tooltip for the group expander of the group. - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for group expander.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - } - - export interface TabsGroup { - - /** Specifies the alignment of controls in the groups in 'row' type or 'column' type. Value for row type is "ej.Ribbon.AlignType.Rows" - * and for column type is "ej.Ribbon.alignType.columns". - * @Default {ej.Ribbon.AlignType.Rows} - */ - alignType?: ej.Ribbon.AlignType | string; - - /** Specifies the Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls to the groups in the ribbon control. - * @Default {Array} - */ - content?: TabsGroupsContent[]; - - /** Specifies the ID of custom items to be placed in the groups. - * @Default {null} - */ - contentID?: string; - - /** Specifies the HTML contents to place into the groups. - * @Default {null} - */ - customContent?: string; - - /** Specifies the group expander for groups in the ribbon control. Set "true" to enable the group expander. - * @Default {false} - */ - enableGroupExpander?: boolean; - - /** Sets custom setting to the groups in the ribbon control. - * @Default {Object} - */ - groupExpanderSettings?: TabsGroupsGroupExpanderSettings; - - /** Specifies the text to the groups in the ribbon control. - * @Default {null} - */ - text?: string; - - /** Specifies the custom items such as div, table, controls by using the "custom" type. - * @Default {null} - */ - type?: string; - } - - export interface Tab { - - /** Specifies single group or multiple groups and its contents to each tab in the ribbon control. - * @Default {Array} - */ - groups?: TabsGroup[]; - - /** Specifies the ID for each tab's content panel. - * @Default {null} - */ - id?: string; - - /** Specifies the text of the tab in the ribbon control. - * @Default {null} - */ - text?: string; - } - - enum ItemType { - - ///To render the button for ribbon backstage page’s contents - Button, - - ///To render the tab for ribbon backstage page’s contents - Tab - } - - - enum ApplicationTabType { - - ///applicationTab display as menu - Menu, - - ///applicationTab display as backstage - Backstage - } - - - enum AlignType { - - ///To align the group content's in row - Rows, - - ///To align group content's in columns - Columns - } - - - enum CustomItemType { - - ///Specifies the button type in customGalleryItems - Button, - - ///Specifies the menu type in customGalleryItems - Menu - } - - - enum QuickAccessMode { - - ///Controls are hidden in Quick Access toolbar - None, - - ///Add controls in toolBar - ToolBar, - - ///Add controls in menu - Menu - } - - - enum Type { - - ///Specifies the button control - Button, - - ///Specifies the split button - SplitButton, - - ///Specifies the dropDown - DropDownList, - - ///To append external element's - Custom, - - ///Specifies the toggle button - ToggleButton, - - ///Specifies the ribbon gallery - Gallery - } - - } - - class Kanban extends ej.Widget { - static fn: Kanban; - constructor(element: JQuery | Element, options?: Kanban.Model); - static Locale: any; - model: Kanban.Model; - defaults: Kanban.Model; - - /** Add or remove columns in Kanban columns collections.Default action is add. - * @param {Array|string} Pass array of columns or string of headerText to add/remove the column in Kanban - * @param {Array|string} Pass array of columns or string of key value to add/remove the column in Kanban - * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform - * @returns {void} - */ - columns(columndetails: any[] | string, keyvalue: any[] | string, action?: string): void; - - /** Destroy the Kanban widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Refresh the Kanban with new data source. - * @param {Array} Pass new data source to the Kanban - * @returns {void} - */ - dataSource(datasource: any[]): void; - - /** toggleColumn based on the headerText in Kanban. - * @param {any} Pass the header text of the column to get the corresponding column object - * @returns {void} - */ - toggleColumn(headerText: any): void; - - /** Expand or collapse the card based on the state of target "div" - * @param {string|number} Pass the id of card to be toggle - * @returns {void} - */ - toggleCard(key: string | number): void; - - /** Used for get the names of all the visible column name collections in Kanban. - * @returns {Array} - */ - getVisibleColumnNames(): any[]; - - /** Get the scroller object of Kanban. - * @returns {ej.Scroller} - */ - getScrollObject(): ej.Scroller; - - /** Get the column details based on the given header text in Kanban. - * @param {string} Pass the header text of the column to get the corresponding column object - * @returns {String} - */ - getColumnByHeaderText(headerText: string): string; - - /** Get the table details based on the given header table in Kanban. - * @returns {String} - */ - getHeaderTable(): string; - - /** Hide columns from the Kanban based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide - * @returns {void} - */ - hideColumns(headerText: any[] | string): void; - - /** Print the Kanban Board - * @returns {void} - */ - print(): void; - - /** Refresh the template of the Kanban - * @returns {void} - */ - refreshTemplate(): void; - - /** Refresh the Kanban contents.The template refreshment is based on the argument passed along with this method - * @param {boolean} optional When templateRefresh is set true, template and Kanban contents both are refreshed in Kanban else only Kanban content is refreshed - * @returns {void} - */ - refresh(templateRefresh?: boolean): void; - - /** Show columns in the Kanban based on the header text. - * @param {Array|string} You can pass either array of header text of various columns or a header text of a column to show - * @returns {void} - */ - showColumns(headerText: any[] | string): void; - - /** Update a card in Kanban control based on key and JSON data given. - * @param {string} Pass the key field Name of the column - * @param {Array} Pass the edited JSON data of card need to be update. - * @returns {void} - */ - updateCard(key: string, data: any[]): void; - - KanbanSelection: Kanban.KanbanSelection; - - KanbanSwimlane: Kanban.KanbanSwimlane; - - KanbanFilter: Kanban.KanbanFilter; - - KanbanEdit: Kanban.KanbanEdit; - } - export namespace Kanban { - - export interface KanbanSelection { - - /** It is used to clear all the card selection. - * @returns {void} - */ - clear(): void; - } - - export interface KanbanSwimlane { - - /** Expand all the swimlane rows in Kanban. - * @returns {void} - */ - expandAll(): void; - - /** Collapse all the swimlane rows in Kanban. - * @returns {void} - */ - collapseAll(): void; - - /** Expand or collapse the swimlane row based on the state of target "div" - * @param {any} Pass the div object to toggleSwimlane row based on its row state - * @returns {void} - */ - toggle($div: any): void; - } - - export interface KanbanFilter { - - /** Method used for send a clear search request to Kanban. - * @returns {void} - */ - clearSearch(): void; - - /** Send a search request to Kanban with specified string passed in it. - * @param {string} Pass the string to search in Kanban card - * @returns {void} - */ - searchCards(searchString: string): void; - - /** Send a clear request to filter cards in the kanban. - * @returns {void} - */ - clearFilter(): void; - - /** Send a filtering request to cards in the kanban. - * @returns {void} - */ - filterCards(): void; - } - - export interface KanbanEdit { - - /** Add a new card in Kanban control when allowAdding is set as true. If parameters are not given default dialog will be open. - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the edited JSON data of card need to be add. - * @returns {void} - */ - addCard(primaryKey: string, card: any[]): void; - - /** Send a cancel request of add/edit card in Kanban when allowEditing/allowAdding is set as true. - * @returns {void} - */ - cancelEdit(): void; - - /** Delete a card in Kanban control when allowAdding/allowEditing is set as true. - * @param {string|number} Pass the key of card to be delete - * @returns {void} - */ - deleteCard(Key: string | number): void; - - /** Send a save request in Kanban when any card is in edit/new add card state and allowEditing/allowAdding is set as true. - * @returns {void} - */ - endEdit(): void; - - /** Send an edit card request in Kanban when allowEditing is set as true. Parameter will be HTML element or primary key - * @param {any} Pass the div selected row element to be edited in Kanban - * @returns {void} - */ - startEdit($div: any): void; - - /** Method used for set validation to a field during editing. - * @param {string} Specify the name of the column to set validation rules - * @param {any} Specify the validation rules for the field - * @returns {void} - */ - setValidationToField(name: string, rules: any): void; - } - - export interface Model { - - /** Gets or sets a value that indicates whether to enable allowDragAndDrop behavior on Kanban. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** To enable or disable the title of the card. - * @Default {false} - */ - allowTitle?: boolean; - - /** Customize the settings for swim lane. - * @Default {Object} - */ - swimlaneSettings?: SwimlaneSettings; - - /** To enable or disable the column expand /collapse. - * @Default {false} - */ - allowToggleColumn?: boolean; - - /** To enable Searching operation in Kanban. - * @Default {false} - */ - allowSearching?: boolean; - - /** To enable filtering behavior on Kanban.User can specify query in filterSettings collection after enabling allowFiltering. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable allowSelection behavior on Kanban.User can select card and the selected card will be highlighted on Kanban. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether to allow card hover actions. - * @Default {true} - */ - allowHover?: boolean; - - /** To allow keyboard navigation actions. - * @Default {false} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable the scrollbar in the Kanban and view the card by scroll through the Kanban manually. - * @Default {false} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable printing option. - * @Default {false} - */ - allowPrinting?: boolean; - - /** Gets or sets an object that indicates whether to customize the context menu behavior of the Kanban. - * @Default {Object} - */ - contextMenuSettings?: ContextMenuSettings; - - /** Gets or sets an object that indicates to render the Kanban with specified columns. - * @Default {Array} - */ - columns?: Column[]; - - /** Gets or sets an object that indicates whether to Customize the card settings. - * @Default {Object} - */ - cardSettings?: CardSettings; - - /** Gets or sets a value that indicates whether to add customToolbarItems within the toolbar to perform any action in the Kanban. - * @Default {[]} - */ - customToolbarItems?: CustomToolbarItem[]; - - /** Gets or sets a value that indicates to render the Kanban with custom theme. - */ - cssClass?: string; - - /** Gets or sets the data to render the Kanban with cards. - * @Default {null} - */ - dataSource?: any; - - /** To perform kanban functionalities with touch interaction. - * @Default {true} - */ - enableTouch?: boolean; - - /** Align content in the Kanban control align from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** To show total count of cards in each column. - * @Default {false} - */ - enableTotalCount?: boolean; - - /** Get or sets an object that indicates whether to customize the editing behavior of the Kanban. - * @Default {Object} - */ - editSettings?: EditSettings; - - /** To customize field mappings for card , editing title and control key parameters - * @Default {Object} - */ - fields?: Fields; - - /** To map datasource field for column values mapping - * @Default {null} - */ - keyField?: string; - - /** When set to true, adapts the Kanban layout to fit the screen size of devices on which it renders. - * @Default {false} - */ - isResponsive?: boolean; - - /** Gets or sets a value that indicates whether to set the minimum width of the responsive Kanban while isResponsive property is true. - * @Default {0} - */ - minWidth?: number; - - /** To customize the filtering behavior based on queries given. - * @Default {Array} - */ - filterSettings?: FilterSetting[]; - - /** ej Query to query database of Kanban. - * @Default {null} - */ - query?: any; - - /** To change the key in keyboard interaction to Kanban control. - * @Default {null} - */ - keySettings?: any; - - /** Gets or sets an object that indicates whether to customize the scrolling behavior of the Kanban. - * @Default {Object} - */ - scrollSettings?: ScrollSettings; - - /** To customize the searching behavior of the Kanban. - * @Default {Object} - */ - searchSettings?: SearchSettings; - - /** To allow customize selection type. Accepting types are "single" and "multiple". - * @Default {ej.Kanban.SelectionType.Single} - */ - selectionType?: ej.Kanban.SelectionType | string; - - /** Gets or sets an object that indicates to managing the collection of stacked header rows for the Kanban. - * @Default {Array} - */ - stackedHeaderRows?: StackedHeaderRow[]; - - /** The tooltip allows to display card details in a tooltip while hovering on it. - */ - tooltipSettings?: TooltipSettings; - - /** Gets or sets an object that indicates to render the Kanban with specified workflows. - * @Default {Array} - */ - workflows?: Workflow[]; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific - * to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Triggered for every Kanban action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every Kanban action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered for every Kanban action server failure event. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggered before the task is going to be edited. */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered before the card is going to be added */ - beginAdd?(e: BeginAddEventArgs): void; - - /** Triggered before the card is selected. */ - beforeCardSelect?(e: BeforeCardSelectEventArgs): void; - - /** Trigger after the card is clicked. */ - cardClick?(e: CardClickEventArgs): void; - - /** Triggered when the card is being dragged. */ - cardDrag?(e: CardDragEventArgs): void; - - /** Triggered when card dragging start. */ - cardDragStart?(e: CardDragStartEventArgs): void; - - /** Triggered when card dragging stops. */ - cardDragStop?(e: CardDragStopEventArgs): void; - - /** Triggered when the card is Dropped. */ - cardDrop?(e: CardDropEventArgs): void; - - /** Triggered after the card is selected. */ - cardSelect?(e: CardSelectEventArgs): void; - - /** Triggered when card is double clicked. */ - cardDoubleClick?(e: CardDoubleClickEventArgs): void; - - /** Triggered before the card is selected. */ - cardSelecting?(e: CardSelectingEventArgs): void; - - /** Triggered when the Kanban is rendered completely */ - create?(e: CreateEventArgs): void; - - /** Triggers after the cell is clicked. */ - cellClick?(e: CellClickEventArgs): void; - - /** Triggered before the context menu is opened. */ - contextOpen?(e: ContextOpenEventArgs): void; - - /** Triggered when context menu item is clicked in Kanban */ - contextClick?(e: ContextClickEventArgs): void; - - /** Triggered the Kanban is bound with data during initial rendering. */ - dataBound?(e: DataBoundEventArgs): void; - - /** Triggered when Kanban going to destroy. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered after the card is deleted. */ - endDelete?(e: EndDeleteEventArgs): void; - - /** Triggered after the card is edited. */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggers after the header is clicked. */ - headerClick?(e: HeaderClickEventArgs): void; - - /** Triggered initial load. */ - load?(e: LoadEventArgs): void; - - /** Triggered every time a single card rendered request is made to access particular card information. */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered when toolbar item is clicked in Kanban. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current action event type. - */ - originalEventType?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the card object (JSON). - */ - data?: any; - - /** Returns current filtering object field name. - */ - currentFilteringobject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns Kanban element. - */ - target?: any; - - /** Returns the card object (JSON). - */ - data?: any; - - /** Returns the selectedRow index. - */ - selectedRow?: number; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface ActionFailureEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the error return by server. - */ - error?: any; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns Kanban element. - */ - target?: any; - - /** Returns the card object (JSON). - */ - data?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns begin edit data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeginAddEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns beginAdd data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeCardSelectEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the select card index value. - */ - cardIndex?: number; - - /** Returns the select cell element - */ - currentCell?: any; - - /** Returns the previously select the card element - */ - previousCard?: any; - - /** Returns the previously select card indexes - */ - previousRowcellindex?: any[]; - - /** Returns the Target item. - */ - Target?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns select card data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the current card to the Kanban. - */ - currentCard?: string; - - /** Returns Kanban element. - */ - target?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the Header text of the column corresponding to the selected card. - */ - columnName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns drag data. - */ - data?: any; - - /** Returns drag start element. - */ - dragtarget?: any; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns card drag start data. - */ - data?: any; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns drag start element. - */ - dragtarget?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDragStopEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns drag stop element. - */ - droptarget?: any; - - /** Returns drag stop data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns previous parent of dragged element - */ - draggedParent?: any; - - /** Returns dragged data. - */ - data?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns drop element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardSelectEventArgs { - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the select card index value. - */ - cardIndex?: number; - - /** Returns the select cell element - */ - currentCell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the previously select the card element - */ - previousCard?: any; - - /** Returns the previously select card indexes - */ - previousRowcellindex?: any[]; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns select card data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDoubleClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current card object (JSON). - */ - data?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardSelectingEventArgs { - - /** Returns the selecting cell index value. - */ - cellIndex?: number; - - /** Returns the selecting card index value. - */ - cardIndex?: number; - - /** Returns the selecting cell element - */ - currentCell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the previously selecting the card element - */ - previousCard?: any; - - /** Returns the previously rowcell is selecting card indexes - */ - previousRowcellindex?: any[]; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns added data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the edited row index. - */ - rowIndex?: number; - } - - export interface ContextOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the status of contextmenu item which denotes its enabled state. - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - } - - export interface ContextClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the status of contextmenu item which denotes its enabled state. - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - } - - export interface DataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Returns the kanban model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndDeleteEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Current action name - */ - action?: string; - } - - export interface EndEditEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns modified data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Current Action name - */ - action?: string; - } - - export interface HeaderClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the column object. - */ - columnData?: any; - } - - export interface LoadEventArgs { - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns Kanban card. - */ - card?: any; - - /** Returns Kanban card. - */ - cell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the column object. - */ - column?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the item id of that current element. - */ - itemId?: string; - - /** Returns the item index of that current element. - */ - itemIndex?: number; - - /** Returns the item name of that current element. - */ - itemName?: string; - - /** Returns the item text of that current element. - */ - itemText?: string; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the toolbar object of the Kanban. - */ - toolbarData?: any; - } - - export interface SwimlaneSettingsUnassignedGroup { - - /** To enable or disable unassigned category change with swim lane key values. - * @Default {true} - */ - enable?: boolean; - - /** To set the user defined values which are need to categorized as unassigned category swim lane groups. - * @Default {[null,undefined,]} - */ - keys?: any[]; - } - - export interface SwimlaneSettings { - - /** To enable or disable items count in swim lane. - * @Default {true} - */ - showCount?: boolean; - - /** To enable or disable DragAndDrop across swim lane. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Customize the settings for unassigned category of swim lane. - * @Default {Object} - */ - unassignedGroup?: SwimlaneSettingsUnassignedGroup; - } - - export interface ContextMenuSettingsCustomMenuItem { - - /** Its sets target element to custom context menu item. - * @Default {ej.Kanban.Target.All} - */ - target?: ej.Kanban.Target | string; - - /** Gets the display name to custom menu item. - * @Default {null} - */ - text?: string; - - /** Gets the template to render custom context menu item. - * @Default {null} - */ - template?: string; - } - - export interface ContextMenuSettings { - - /** To enable context menu.All default context menu will show. - * @Default {false} - */ - enable?: boolean; - - /** Gets or sets a value that indicates the list of items needs to be disable from default context menu items. - * @Default {Array} - */ - disableDefaultItems?: any[]; - - /** Its used to add specific default context menu items. - * @Default {Array} - */ - menuItems?: any[]; - - /** Gets or sets a value that indicates whether to add custom contextMenu items. - * @Default {Array} - */ - customMenuItems?: ContextMenuSettingsCustomMenuItem[]; - } - - export interface ColumnsTotalCount { - - /** To customize the totalCount text properties. - * @Default {null} - */ - text?: string; - } - - export interface ColumnsConstraints { - - /** It is used to specify the type of constraints as column or swimlane. - * @Default {null} - */ - type?: string; - - /** It is used to specify the minimum amount of card in particular column cell or swimlane cell can hold. - * @Default {null} - */ - min?: number; - - /** It is used to specify the maximum amount of card in particular column cell or swimlane cell can hold. - * @Default {null} - */ - max?: number; - } - - export interface Column { - - /** Gets or sets an object that indicates to render the Kanban with specified columns header text. - * @Default {null} - */ - headerText?: string; - - /** To customize the totalCount properties. - * @Default {Object} - */ - totalCount?: ColumnsTotalCount; - - /** Gets or sets an object that indicates to render the Kanban with specified columns key. - * @Default {null} - */ - key?: string | number; - - /** To enable/disable allowDrop for specific column wise. - * @Default {true} - */ - allowDrop?: boolean; - - /** To enable/disable allowDrag for specific column wise. - * @Default {true} - */ - allowDrag?: boolean; - - /** To set column collapse or expand state - * @Default {false} - */ - isCollapsed?: boolean; - - /** To customize the column level constraints with minimum ,maximum limit validation. - * @Default {Object} - */ - constraints?: ColumnsConstraints; - - /** Gets or sets a value that indicates to add the template within the header element. - * @Default {null} - */ - headerTemplate?: string; - - /** Gets or sets an object that indicates to render the Kanban with specified columns width. - * @Default {null} - */ - width?: string | number; - - /** Gets or sets an object that indicates to set specific column visibility. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets an object that indicates whether to show add new button. - * @Default {false} - */ - showAddButton?: boolean; - } - - export interface CardSettings { - - /** Gets or sets a value that indicates to add the template for card . - * @Default {null} - */ - template?: string; - - /** To customize the card border color based on assigned task. Colors and corresponding values defined here will be mapped with colorField mapped data source column. - * @Default {Object} - */ - colorMapping?: any; - } - - export interface CustomToolbarItem { - - /** Gets the template to render customToolbarItems. - * @Default {null} - */ - template?: string; - } - - export interface EditSettingsEditItem { - - /** It is used to map editing field from the data source. - * @Default {null} - */ - field?: string; - - /** It is used to set the particular editType in the card for editing. - * @Default {ej.Kanban.EditingType.String} - */ - editType?: ej.Kanban.EditingType | string; - - /** Gets or sets a value that indicates to define constraints for saving data to the database. - * @Default {Object} - */ - validationRules?: any; - - /** It is used to set the particular editparams in the card for editing. - * @Default {Object} - */ - editParams?: any; - - /** It is used to specify defaultValue for the fields while adding new card. - * @Default {null} - */ - defaultValue?: string | number; - } - - export interface EditSettings { - - /** Gets or sets a value that indicates whether to enable the editing action in cards of Kanban. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable the adding action in cards behavior on Kanban. - * @Default {false} - */ - allowAdding?: boolean; - - /** This specifies the id of the template which is require to be edited using the Dialog Box. - * @Default {null} - */ - dialogTemplate?: string; - - /** Get or sets an object that indicates whether to customize the editMode of the Kanban. - * @Default {ej.Kanban.EditMode.Dialog} - */ - editMode?: ej.Kanban.EditMode | string; - - /** Get or sets an object that indicates whether to customize the editing fields of Kanban card. - * @Default {Array} - */ - editItems?: EditSettingsEditItem[]; - - /** This specifies the id of the template which is require to be edited using the External edit form. - * @Default {null} - */ - externalFormTemplate?: string; - - /** This specifies to set the position of an External edit form either in the right or bottom of the Kanban. - * @Default {ej.Kanban.FormPosition.Bottom} - */ - formPosition?: ej.Kanban.FormPosition | string; - } - - export interface Fields { - - /** The primarykey field is mapped to data source field. And this will used for Drag and drop and editing mainly. - * @Default {null} - */ - primaryKey?: string; - - /** To enable swimlane grouping based on the given key field from datasource mapping. - * @Default {null} - */ - swimlaneKey?: string; - - /** Priority field has been mapped data source field to maintain cards priority. - * @Default {null} - */ - priority?: string; - - /** Content field has been Mapped into card text. - * @Default {null} - */ - content?: string; - - /** Tag field has been Mapped into card tag. - * @Default {null} - */ - tag?: string; - - /** Title field has been Mapped to field in datasource for title content. If title field specified , card expand/collapse will be enabled with header and content section. - * @Default {null} - */ - title?: string; - - /** To customize the card has been Mapped into card color field. - * @Default {null} - */ - color?: string; - - /** ImageUrl field has been Mapped into card image. - * @Default {null} - */ - imageUrl?: string; - } - - export interface FilterSetting { - - /** Gets or sets an object of display name to filter queries. - * @Default {null} - */ - text?: string; - - /** Gets or sets an object that Queries to perform filtering - * @Default {Object} - */ - query?: any; - - /** Gets or sets an object of tooltip to filter buttons. - * @Default {null} - */ - description?: string; - } - - export interface ScrollSettings { - - /** Gets or sets an object that indicates to render the Kanban with specified scroll height. - * @Default {0} - */ - height?: string | number; - - /** Gets or sets an object that indicates to render the Kanban with specified scroll width. - * @Default {auto} - */ - width?: string | number; - - /** To allow the Kanban to freeze particular swimlane at the time of scrolling , until scroll reaches next swimlane and it continues. - * @Default {false} - */ - allowFreezeSwimlane?: boolean; - } - - export interface SearchSettings { - - /** To customize the fields the searching operation can be perform. - * @Default {Array} - */ - fields?: any[]; - - /** To customize the searching string. - */ - key?: string; - - /** To customize the operator based on searching. - * @Default {contains} - */ - operator?: string; - - /** To customize the ignore case based on searching. - * @Default {true} - */ - ignoreCase?: boolean; - } - - export interface StackedHeaderRowsStackedHeaderColumn { - - /** Gets or sets a value that indicates the headerText for the particular stacked header column. - * @Default {null} - */ - headerText?: string; - - /** Gets or sets a value that indicates the column for the particular stacked header column. - * @Default {null} - */ - column?: string; - } - - export interface StackedHeaderRow { - - /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows. - * @Default {Array} - */ - stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; - } - - export interface TooltipSettings { - - /** To enable or disable the tooltip display. - * @Default {false} - */ - enable?: boolean; - - /** To customize the tooltip display based on your requirements. - * @Default {null} - */ - template?: string; - } - - export interface Workflow { - - /** Gets or sets an object that indicates to render the Kanban with specified workflows key. - * @Default {null} - */ - key?: string | number; - - /** Gets or sets an object that indicates to render the Kanban with specified workflows allowed Transitions. - * @Default {null} - */ - allowedTransitions?: string; - } - - enum Target { - - ///Sets context menu to Kanban header - Header, - - ///Sets context menu to Kanban content - Content, - - ///Sets context menu to Kanban card - Card, - - ///Sets context menu to Kanban - All - } - - - enum EditMode { - - ///Creates Kanban with editMode as Dialog - Dialog, - - ///Creates Kanban with editMode as DialogTemplate - DialogTemplate, - - ///Creates Kanban with editMode as ExternalForm - ExternalForm, - - ///Creates Kanban with editMode as ExternalFormTemplate - ExternalFormTemplate - } - - - enum EditingType { - - ///Allows to set edit type as string edit type - String, - - ///Allows to set edit type as numeric edit type - Numeric, - - ///Allows to set edit type as drop down edit type - Dropdown, - - ///Allows to set edit type as date picker edit type - DatePicker, - - ///Allows to set edit type as date time picker edit type - DateTimePicker, - - ///Allows to set edit type as text area edit type - TextArea, - - ///Allows to set edit type as RTE edit type - RTE - } - - - enum FormPosition { - - ///Form position is bottom. - Bottom, - - ///Form position is right. - Right - } - - - enum SelectionType { - - ///Support for Single selection in Kanban - Single, - - ///Support for multiple selections in Kanban - Multiple - } - - } - - class Rotator extends ej.Widget { - static fn: Rotator; - constructor(element: JQuery | Element, options?: Rotator.Model); - static Locale: any; - model: Rotator.Model; - defaults: Rotator.Model; - - /** Disables the Rotator control. - * @returns {void} - */ - disable(): void; - - /** Enables the Rotator control. - * @returns {void} - */ - enable(): void; - - /** This method is used to get the current slide index. - * @returns {number} - */ - getIndex(): number; - - /** This method is used to move a slide to the specified index. - * @param {number} index of an slide - * @returns {void} - */ - gotoIndex(index: number): void; - - /** This method is used to pause autoplay. - * @returns {void} - */ - pause(): void; - - /** This method is used to move slides continuously (or start autoplay) in the specified autoplay direction. - * @returns {void} - */ - play(): void; - - /** This method is used to move to the next slide from the current slide. If the current slide is the last slide, then the first slide will be treated as the next slide. - * @returns {void} - */ - slideNext(): void; - - /** This method is used to move to the previous slide from the current slide. If the current slide is the first slide, then the last slide will be treated as the previous slide. - * @returns {void} - */ - slidePrevious(): void; - - /** This method is used to update/modify the slide content of template rotator by using id based on index value. - * @param {number} index of an slide - * @param {string} id of a new updated slide - * @returns {void} - */ - updateTemplateById(index: number, id: string): void; - } - export namespace Rotator { - - export interface Model { - - /** Turns on keyboard interaction with the Rotator items. You must set this property to true to access the following keyboard shortcuts: - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Sets the animationSpeed of slide transition. - * @Default {600} - */ - animationSpeed?: string | number; - - /** Specifies the animationType type for the Rotator Item. animationType options include slide, fastSlide, slowSlide, and other custom easing animationTypes. - * @Default {slide} - */ - animationType?: string; - - /** Enables the circular mode item rotation. - * @Default {true} - */ - circularMode?: boolean; - - /** Specify the CSS class to Rotator to achieve custom theme. - */ - cssClass?: string; - - /** Specify the list of data which contains a set of data fields. Each data value is used to render an item for the Rotator. - * @Default {null} - */ - dataSource?: any; - - /** Sets the delay between the Rotator Items move after the slide transition. - * @Default {500} - */ - delay?: number; - - /** Specifies the number of Rotator Items to be displayed. - * @Default {1} - */ - displayItemsCount?: string | number; - - /** Rotates the Rotator Items continuously without user interference. - * @Default {false} - */ - enableAutoPlay?: boolean; - - /** Enables or disables the Rotator control. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies right to left transition of slides. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines mapping fields for the data items of the Rotator. - * @Default {null} - */ - fields?: Fields; - - /** Sets the space between the Rotator Items. - */ - frameSpace?: string | number; - - /** Resizes the Rotator when the browser is resized. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the number of Rotator Items to navigate on a single click (next/previous/play buttons). - * The navigateSteps property value must be less than or equal to the displayItemsCount property value. - * @Default {1} - */ - navigateSteps?: string | number; - - /** Specifies the orientation for the Rotator control, that is, whether it must be rendered horizontally or vertically. See Orientation - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the position of the showPager in the Rotator Item. See PagerPosition - * @Default {outside} - */ - pagerPosition?: string | ej.Rotator.PagerPosition; - - /** Retrieves data from remote data. This property is applicable only when a remote data source is used. - * @Default {null} - */ - query?: string; - - /** If the Rotator Item is an image, you can specify a caption for the Rotator Item. The caption text for each Rotator Item must be set by using the title attribute of the respective tag. - * The caption cannot be displayed if multiple Rotator Items are present. - * @Default {false} - */ - showCaption?: boolean; - - /** Turns on or off the slide buttons (next and previous) in the Rotator Items. Slide buttons are used to navigate the Rotator Items. - * @Default {true} - */ - showNavigateButton?: boolean; - - /** Turns on or off the pager support in the Rotator control. The Pager is used to navigate the Rotator Items. - * @Default {true} - */ - showPager?: boolean; - - /** Enable play / pause button on rotator. - * @Default {false} - */ - showPlayButton?: boolean; - - /** Turns on or off thumbnail support in the Rotator control. Thumbnail is used to navigate between slides. Thumbnail supports only single slide transition - * You must specify the source for thumbnail elements through the thumbnailSourceID property. - * @Default {false} - */ - showThumbnail?: boolean; - - /** Sets the height of a Rotator Item. - */ - slideHeight?: string | number; - - /** Sets the width of a Rotator Item. - */ - slideWidth?: string | number; - - /** Sets the index of the slide that must be displayed first. - * @Default {0} - */ - startIndex?: string | number; - - /** Pause the auto play while hover on the rotator content. - * @Default {false} - */ - stopOnHover?: boolean; - - /** The template to display the Rotator widget with customized appearance. - * @Default {null} - */ - template?: string; - - /** The templateId enables to bind multiple customized template items in Rotator. - * @Default {null} - */ - templateId?: any[]; - - /** Specifies the source for thumbnail elements. - * @Default {null} - */ - thumbnailSourceID?: any; - - /** This event is fired when the Rotator slides are changed. */ - change?(e: ChangeEventArgs): void; - - /** This event is fired when the Rotator control is initialized. */ - create?(e: CreateEventArgs): void; - - /** This event is fired when the Rotator control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** This event is fired when a pager is clicked. */ - pagerClick?(e: PagerClickEventArgs): void; - - /** This event is fired when enableAutoPlay is started. */ - start?(e: StartEventArgs): void; - - /** This event is fired when autoplay is stopped or paused. */ - stop?(e: StopEventArgs): void; - - /** This event is fired when a thumbnail pager is clicked. */ - thumbItemClick?(e: ThumbItemClickEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface PagerClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface ThumbItemClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface Fields { - - /** Specifies a link for the image. - */ - linkAttribute?: string; - - /** Specifies where to open a given link. - */ - targetAttribute?: string; - - /** Specifies a caption for the image. - */ - text?: string; - - /** Specifies a caption for the thumbnail image. - */ - thumbnailText?: string; - - /** Specifies the URL for an thumbnail image. - */ - thumbnailUrl?: string; - - /** Specifies the URL for an image. - */ - url?: string; - } - - enum PagerPosition { - - ///string - BottomLeft, - - ///string - BottomRight, - - ///string - Outside, - - ///string - TopCenter, - - ///string - TopLeft, - - ///string - TopRight - } - - } - - class RTE extends ej.Widget { - static fn: RTE; - constructor(element: JQuery | Element, options?: RTE.Model); - static Locale: any; - model: RTE.Model; - defaults: RTE.Model; - - /** Returns the range object. - * @returns {any} - */ - createRange(): any; - - /** Disables the RTE control. - * @returns {void} - */ - disable(): void; - - /** Disables the corresponding tool in the RTE ToolBar. - * @returns {void} - */ - disableToolbarItem(): void; - - /** Enables the RTE control. - * @returns {void} - */ - enable(): void; - - /** Enables the corresponding tool in the toolbar when the tool is disabled. - * @returns {void} - */ - enableToolbarItem(): void; - - /** Performs the action value based on the given command. - * @returns {void} - */ - executeCommand(): void; - - /** Focuses the RTE control. - * @returns {void} - */ - focus(): void; - - /** Gets the command status of the selected text based on the given comment in the RTE control. - * @returns {boolean} - */ - getCommandStatus(): boolean; - - /** Gets the Document from the RTE control. - * @returns {Document} - */ - getDocument(): Document; - - /** Gets the HTML string from the RTE control. - * @returns {HTMLElement} - */ - getHtml(): HTMLElement; - - /** Gets the selected HTML string from the RTE control. - * @returns {HTMLElement} - */ - getSelectedHtml(): HTMLElement; - - /** Gets the content as string from the RTE control. - * @returns {string} - */ - getText(): string; - - /** Hides the RTE control. - * @returns {void} - */ - hide(): void; - - /** Inserts new item to the target contextmenu node. - * @returns {void} - */ - insertMenuOption(): void; - - /** Add a table column at the right or left of the specified cell - * @param {boolean} If it’s true, add a column at the left of the cell, otherwise add a column at the right of the cell - * @param {JQuery} Column will be added based on the given cell element - * @returns {HTMLElement} - */ - insertColumn(before?: boolean, cell?: JQuery): HTMLElement; - - /** To add a table row below or above the specified cell. - * @param {boolean} If it’s true, add a row before the cell, otherwise add a row after the cell - * @param {JQuery} Row will be added based on the given cell element - * @returns {HTMLElement} - */ - insertRow(before?: boolean, cell?: JQuery): HTMLElement; - - /** This method helps to insert/paste the content at the current cursor (caret) position or the selected content to be replaced with our text by passing the value as parameter to the - * pasteContent method in the Editor. - * @returns {void} - */ - pasteContent(): void; - - /** Refreshes the RTE control. - * @returns {void} - */ - refresh(): void; - - /** Removes the specified table column. - * @param {JQuery} Remove the given column element - * @returns {void} - */ - removeColumn(cell?: JQuery): void; - - /** Removes the specified table row. - * @param {JQuery} Remove the given row element - * @returns {void} - */ - removeRow(cell?: JQuery): void; - - /** Deletes the specified table. - * @param {JQuery} Remove the given table - * @returns {void} - */ - removeTable(table?: JQuery): void; - - /** Removes the target menu item from the RTE contextmenu. - * @returns {void} - */ - removeMenuOption(): void; - - /** Removes the given tool from the RTE Toolbar. - * @returns {void} - */ - removeToolbarItem(): void; - - /** Selects all the contents within the RTE. - * @returns {void} - */ - selectAll(): void; - - /** Selects the contents in the given range. - * @returns {void} - */ - selectRange(): void; - - /** Sets the color picker model type rendered initially in the RTE control. - * @returns {void} - */ - setColorPickerType(): void; - - /** Sets the HTML string from the RTE control. - * @returns {void} - */ - setHtml(): void; - - /** Displays the RTE control. - * @returns {void} - */ - show(): void; - } - export namespace RTE { - - export interface Model { - - /** Enables/disables the editing of the content. - * @Default {True} - */ - allowEditing?: boolean; - - /** RTE control can be accessed through the keyboard shortcut keys. - * @Default {True} - */ - allowKeyboardNavigation?: boolean; - - /** When the property is set to true, it focuses the RTE at the time of rendering. - * @Default {false} - */ - autoFocus?: boolean; - - /** Based on the content size, its height is adjusted instead of adding the scrollbar. - * @Default {false} - */ - autoHeight?: boolean; - - /** Sets the colorCode to display the color of the fontColor and backgroundColor in the font tools of the RTE. - * @Default {[000000, FFFFFF, C4C4C4, ADADAD, 595959, 262626, 4f81bd, dbe5f1, b8cce4, 95b3d7, 366092, 244061, c0504d, f2dcdb, e5b9b7, d99694, 953734,632423, 9bbb59, - * ebf1dd, d7e3bc, c3d69b, 76923c, 4f6128, 8064a2, e5e0ec, ccc1d9, b2a2c7, 5f497a, 3f3151, f79646, fdeada, fbd5b5, fac08f,e36c09, 974806]} - */ - colorCode?: any; - - /** The number of columns given are rendered in the color palate popup. - * @Default {6} - */ - colorPaletteColumns?: number; - - /** The number of rows given are rendered in the color palate popup. - * @Default {6} - */ - colorPaletteRows?: number; - - /** Sets the root class for the RTE theme. This cssClass API helps the usage of custom skinning option for the RTE control by including this root class in CSS. - */ - cssClass?: string; - - /** Enables/disables the RTE control’s accessibility or interaction. - * @Default {True} - */ - enabled?: boolean; - - /** When the property is set to true, it returns the encrypted text. - * @Default {false} - */ - enableHtmlEncode?: boolean; - - /** Maintain the values of the RTE after page reload. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Shows the resize icon and enables the resize option in the RTE. - * @Default {True} - */ - enableResize?: boolean; - - /** Shows the RTE in the RTL direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Formats the contents based on the XHTML rules. - * @Default {false} - */ - enableXHTML?: boolean; - - /** Enables the tab key action with the RichTextEditor content. - * @Default {True} - */ - enableTabKeyNavigation?: boolean; - - /** This API allows to enable url and fileName for pdf export. - * @Default {null} - */ - exportToPdfSettings?: ExportToPdfSettings; - - /** This API allows to enable url and fileName for word export. - * @Default {null} - */ - exportToWordSettings?: ExportToWordSettings; - - /** Load the external CSS file inside Iframe. - * @Default {null} - */ - externalCSS?: string; - - /** This API allows to enable the file browser support in the RTE control to browse, create, delete and upload the files in the specified current directory. - * @Default {null} - */ - fileBrowser?: FileBrowser; - - /** Sets the fontName in the RTE. - * @Default {{text: Segoe UI, value: Segoe UI },{text: Arial, value: Arial,Helvetica,sans-serif },{text: Courier New, value: Courier New,Courier,Monospace }, - * {text: Georgia, value: Georgia,serif },{text: Impact, value: Impact,Charcoal,sans-serif },{text: Lucida Console, value: Lucida Console,Monaco,Monospace }, - * {text: Tahoma, value: Tahoma,Geneva,sans-serif },{text: Times New Roman, value: Times New Roman },{text: Trebuchet MS, value: Trebuchet MS,Helvetica,sans-serif }, - * {text: Verdana, value: Verdana,Geneva,sans-serif}} - */ - fontName?: any; - - /** Sets the fontSize in the RTE. - * @Default {{ text: 1, value: 1 },{ text: 2 (10pt), value: 2 },{ text: 3 (12pt), value: 3 },{ text: 4 (14pt), value: 4 },{ text: 5 (18pt), value: 5 }, - * { text: 6 (24pt), value: 6 },{ text: 7 (36pt), value: 7 }} - */ - fontSize?: any; - - /** Sets the format in the RTE. - * @Default {{ text: Paragraph, value: <p>, spriteCssClass: e-paragraph },{ text: Quotation, value: <blockquote>, spriteCssClass: e-quotation }, - * { text: Heading 1, value: <h1>, spriteCssClass: e-h1 },{ text: Heading 2, value: <h2>, spriteCssClass: e-h2 },{ text: Heading 3, value: <h3>, spriteCssClass: e-h3 }, - * { text: Heading 4, value: <h4>, spriteCssClass: e-h4 },{ text: Heading 5, value: <h5>, spriteCssClass: e-h5 },{ text: Heading 6, value: <h6>, spriteCssClass: e-h6}} - */ - format?: string; - - /** Defines the height of the RTE textbox. - * @Default {370} - */ - height?: string | number; - - /** Specifies the HTML Attributes of the ejRTE. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the given attributes to the iframe body element. - * @Default {{}} - */ - iframeAttributes?: any; - - /** This API allows the image browser to support in the RTE control to browse, create, delete, and upload the image files to the specified current directory. - * @Default {null} - */ - imageBrowser?: ImageBrowser; - - /** This API allows to enable the url for connecting to RTE import. - * @Default {null} - */ - importSettings?: ImportSettings; - - /** Enables/disables responsive support for the RTE control toolbar items during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Sets the culture in the RTE when you set the localization values are needs to be assigned to the corresponding text as follows. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum height for the RTE outer wrapper element. - * @Default {null} - */ - maxHeight?: string | number; - - /** Sets the maximum length for the RTE outer wrapper element. - * @Default {7000} - */ - maxLength?: number; - - /** Sets the maximum width for the RTE outer wrapper element. - * @Default {null} - */ - maxWidth?: string | number; - - /** Sets the minimum height for the RTE outer wrapper element. - * @Default {280} - */ - minHeight?: string | number; - - /** Sets the minimum width for the RTE outer wrapper element. - * @Default {400} - */ - minWidth?: string | number; - - /** Sets the name in the RTE. When the name value is not initialized, the ID value is assigned to the name. - */ - name?: string; - - /** Shows ClearAll icon in the RTE footer. - * @Default {false} - */ - showClearAll?: boolean; - - /** Shows the clear format in the RTE footer. - * @Default {true} - */ - showClearFormat?: boolean; - - /** Shows the Custom Table in the RTE. - * @Default {True} - */ - showCustomTable?: boolean; - - /** The showContextMenu property helps to enable custom context menu within editor area. - * @Default {True} - */ - showContextMenu?: boolean; - - /** This API is used to set the default dimensions for the image and video. When this property is set to true, the image and video dialog displays the dimension option. - * @Default {false} - */ - showDimensions?: boolean; - - /** Shows the FontOption in the RTE. - * @Default {True} - */ - showFontOption?: boolean; - - /** Shows footer in the RTE. When the footer is enabled, it displays the HTML tag, word Count, character count, clear format, resize icon and clear all the content icons, by default. - * @Default {false} - */ - showFooter?: boolean; - - /** Shows the HtmlSource in the RTE footer. - * @Default {false} - */ - showHtmlSource?: boolean; - - /** When the cursor is placed or when the text is selected in the RTE, it displays the tag info in the footer. - * @Default {True} - */ - showHtmlTagInfo?: boolean; - - /** Shows the toolbar in the RTE. - * @Default {True} - */ - showToolbar?: boolean; - - /** Counts the total characters and displays it in the RTE footer. - * @Default {True} - */ - showCharCount?: boolean; - - /** Enables or disables rounded corner UI look for RTE. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Counts the total words and displays it in the RTE footer. - * @Default {True} - */ - showWordCount?: boolean; - - /** The given number of columns render the insert table pop. - * @Default {10} - */ - tableColumns?: number; - - /** The given number of rows render the insert table pop. - * @Default {8} - */ - tableRows?: number; - - /** Sets the tools in the RTE and gets the inner display order of the corresponding group element. Tools are dependent on the toolsList property. - * @Default {formatStyle: [format],style: [bold, italic, underline, strikethrough],alignment: [justifyLeft, justifyCenter, justifyRight, justifyFull],lists: [unorderedList, orderedList], - * indenting: [outdent, indent],doAction: [undo, redo],links: [createLink,removeLink],images: [image],media: [video],tables: [createTable, addRowAbove, addRowBelow, - * addColumnLeft, addColumnRight, deleteRow, deleteColumn, deleteTable]],view:[“fullScreen”,zoomIn,zoomOut],print:[print]} - */ - tools?: Tools; - - /** Specifies the list of groups and order of those groups displayed in the RTE toolbar. The toolsList property is used to get the root group order and tools property is used to get the - * inner order of the corresponding groups displayed. When the value is not specified, it gets its default display order and tools. - * @Default {[formatStyle, font, style, effects, alignment, lists, indenting, clipboard, doAction, clear, links, images, media, tables, casing,view, customTools,print,edit]} - */ - toolsList?: any[]; - - /** Display the hints for the tools in the Toolbar. - * @Default {{ associate: mouseenter, showShadow: true, position: { stem: { horizontal: left, vertical: top } }, tip: { size: { width: 5, height: 5 }, isBalloon: false }} - */ - tooltipSettings?: any; - - /** Gets the undo stack limit. - * @Default {50} - */ - undoStackLimit?: number; - - /** The given string value is displayed in the editable area. - * @Default {null} - */ - value?: string; - - /** Sets the jQuery validation rules to the Rich Text Editor. - * @Default {null} - */ - validationRules?: any; - - /** Sets the jQuery validation error message to the Rich Text Editor. - * @Default {null} - */ - validationMessage?: any; - - /** Defines the width of the RTE textbox. - * @Default {786} - */ - width?: string | number; - - /** Increases and decreases the contents zoom range in percentage - * @Default {0.05} - */ - zoomStep?: string | number; - - /** Fires when changed successfully. */ - change?(e: ChangeEventArgs): void; - - /** Fires when the RTE is created successfully */ - create?(e: CreateEventArgs): void; - - /** Fires when mouse click on menu items. */ - contextMenuClick?(e: ContextMenuClickEventArgs): void; - - /** Fires before the RTE is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the commands are executed successfully. */ - execute?(e: ExecuteEventArgs): void; - - /** Fires when the keydown action is successful. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when the keyup action is successful. */ - keyup?(e: KeyupEventArgs): void; - - /** Fires before the RTE Edit area is rendered and after the toolbar is rendered. */ - preRender?(e: PreRenderEventArgs): void; - - /** Fires when the text is selected in the text area */ - select?(e: SelectEventArgs): void; - } - - export interface ChangeEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RTE model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface ContextMenuClickEventArgs { - - /** returns clicked menu item text. - */ - text?: string; - - /** returns clicked menu item element. - */ - element?: any; - - /** returns the selected item. - */ - selectedItem?: number; - } - - export interface DestroyEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface ExecuteEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface KeydownEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface KeyupEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface PreRenderEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface SelectEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the event object - */ - event?: any; - } - - export interface ExportToPdfSettings { - - /** This API is used to receive the server-side handler for export related operations. - */ - url?: string; - - /** Specifies the file name for the exported pdf file. - */ - fileName?: string; - } - - export interface ExportToWordSettings { - - /** This API is used to receive the server-side handler for export related operations. - */ - url?: string; - - /** Specifies the file name for the exported word file. - */ - fileName?: string; - } - - export interface FileBrowser { - - /** This API is used to receive the server-side handler for file related operations. - */ - ajaxAction?: string; - - /** Specifies the file type extension shown in the file browser window. - */ - extensionAllow?: string; - - /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected files to the current directory. - */ - filePath?: string; - } - - export interface ImageBrowser { - - /** This API is used to receive the server-side handler for the file related operations. - */ - ajaxAction?: string; - - /** Specifies the file type extension shown in the image browser window. - */ - extensionAllow?: string; - - /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected images to the current directory. - */ - filePath?: string; - } - - export interface ImportSettings { - - /** This API is used to receive the server-side handler for import operations. - */ - url?: string; - } - - export interface ToolsCustomOrderedList { - - /** Specifies the name for customOrderedList item. - */ - name?: string; - - /** Specifies the title for customOrderedList item. - */ - tooltip?: string; - - /** Specifies the styles for customOrderedList item. - */ - css?: string; - - /** Specifies the text for customOrderedList item. - */ - text?: string; - - /** Specifies the list style for customOrderedList item. - */ - listStyle?: string; - - /** Specifies the image for customOrderedList item. - */ - listImage?: string; - } - - export interface ToolsCustomUnorderedList { - - /** Specifies the name for customUnorderedList item. - */ - name?: string; - - /** Specifies the title for customUnorderedList item. - */ - tooltip?: string; - - /** Specifies the styles for customUnorderedList item. - */ - css?: string; - - /** Specifies the text for customUnorderedList item. - */ - text?: string; - - /** Specifies the list style for customUnorderedList item. - */ - listStyle?: string; - - /** Specifies the image for customUnorderedList item. - */ - listImage?: string; - } - - export interface Tools { - - /** Specifies the alignment tools and the display order of this tool in the RTE toolbar. - */ - alignment?: any; - - /** Specifies the casing tools and the display order of this tool in the RTE toolbar. - */ - casing?: any[]; - - /** Specifies the clear tools and the display order of this tool in the RTE toolbar. - */ - clear?: any[]; - - /** Specifies the clipboard tools and the display order of this tool in the RTE toolbar. - */ - clipboard?: any[]; - - /** Specifies the edit tools and the displays tool in the RTE toolbar. - */ - edit?: any[]; - - /** Specifies the doAction tools and the display order of this tool in the RTE toolbar. - */ - doAction?: any[]; - - /** Specifies the effect of tools and the display order of this tool in RTE toolbar. - */ - effects?: any[]; - - /** Specifies the font tools and the display order of this tool in the RTE toolbar. - */ - font?: any[]; - - /** Specifies the formatStyle tools and the display order of this tool in the RTE toolbar. - */ - formatStyle?: any[]; - - /** Specifies the image tools and the display order of this tool in the RTE toolbar. - */ - images?: any[]; - - /** Specifies the indent tools and the display order of this tool in the RTE toolbar. - */ - indenting?: any[]; - - /** Specifies the link tools and the display order of this tool in the RTE toolbar. - */ - links?: any[]; - - /** Specifies the list tools and the display order of this tool in the RTE toolbar. - */ - lists?: any[]; - - /** Specifies the media tools and the display order of this tool in the RTE toolbar. - */ - media?: any[]; - - /** Specifies the style tools and the display order of this tool in the RTE toolbar. - */ - style?: any[]; - - /** Specifies the table tools and the display order of this tool in the RTE toolbar. - */ - tables?: any[]; - - /** Specifies the view tools and the display order of this tool in the RTE toolbar. - */ - view?: any[]; - - /** Specifies the print tools and the display order of this tool in the RTE toolbar. - */ - print?: any[]; - - /** Specifies the importExport tools and the display order of this tool in the RTE toolbar. - */ - importExport?: any[]; - - /** Specifies the customOrderedList tools and the display order of this tool in the RTE toolbar. - */ - customOrderedList?: ToolsCustomOrderedList[]; - - /** Specifies the customUnOrderedList tools and the display order of this tool in the RTE toolbar. - */ - customUnorderedList?: ToolsCustomUnorderedList[]; - } - } - - class Slider extends ej.Widget { - static fn: Slider; - constructor(element: JQuery | Element, options?: Slider.Model); - static Locale: any; - model: Slider.Model; - defaults: Slider.Model; - - /** To disable the slider - * @returns {void} - */ - disable(): void; - - /** To enable the slider - * @returns {void} - */ - enable(): void; - - /** To get value from slider handle - * @returns {number} - */ - getValue(): number; - - /** To set value to slider handle.By default animation is false while set the value. If you want to enable the animation, pass the enableAnimation as true to this method. - * @returns {void} - */ - setValue(): void; - } - export namespace Slider { - - export interface Model { - - /** Specifies the allowMouseWheel of the slider. - * @Default {false} - */ - allowMouseWheel?: boolean; - - /** Specifies the animationSpeed of the slider. - * @Default {500} - */ - animationSpeed?: number; - - /** Specify the CSS class to slider to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the animation behavior of the slider. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the state of the slider. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the enablePersistence to slider to save current model value to browser cookies for state maintains - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the Right to Left Direction of the slider. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the slider. - * @Default {14} - */ - height?: string; - - /** Specifies the HTML Attributes of the ejSlider. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the incremental step value of the slider. - * @Default {1} - */ - incrementStep?: number; - - /** Specifies the distance between two major (large) ticks from the scale of the slider. - * @Default {10} - */ - largeStep?: number; - - /** Specifies the ending value of the slider. - * @Default {100} - */ - maxValue?: number; - - /** Specifies the starting value of the slider. - * @Default {0} - */ - minValue?: number; - - /** Specifies the orientation of the slider. - * @Default {ej.orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the readOnly of the slider. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies the rounded corner behavior for slider. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Shows/Hide the major (large) and minor (small) ticks in the scale of the slider. - * @Default {false} - */ - showScale?: boolean; - - /** Specifies the small ticks from the scale of the slider. - * @Default {true} - */ - showSmallTicks?: boolean; - - /** Specifies the showTooltip to shows the current Slider value, while moving the Slider handle or clicking on the slider handle of the slider. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the sliderType of the slider. - * @Default {ej.SliderType.Default} - */ - sliderType?: ej.slider.sliderType | string; - - /** Specifies the distance between two minor (small) ticks from the scale of the slider. - * @Default {1} - */ - smallStep?: number; - - /** Specifies the value of the slider. But it's not applicable for range slider. To range slider we can use values property. - * @Default {0} - */ - value?: number; - - /** Specifies the values of the range slider. But it's not applicable for default and minRange sliders. we can use value property for default and minRange sliders. - * @Default {[minValue,maxValue]} - */ - values?: any[]; - - /** Specifies the width of the slider. - * @Default {100%} - */ - width?: string; - - /** Fires once Slider control value is changed successfully. */ - change?(e: ChangeEventArgs): void; - - /** Fires once Slider control has been created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when Slider control has been destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires once Slider control is sliding successfully. */ - slide?(e: SlideEventArgs): void; - - /** Fires once Slider control is started successfully. */ - start?(e: StartEventArgs): void; - - /** Fires when Slider control is stopped successfully. */ - stop?(e: StopEventArgs): void; - - /** Fires when display the custom tooltip */ - tooltipChange?(e: TooltipChangeEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id. - */ - id?: string; - - /** returns the slider model. - */ - model?: ej.Slider.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the slider value. - */ - value?: number; - - /** returns true if event triggered by interaction else returns false. - */ - isInteraction?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface SlideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; - } - - export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; - } - - export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; - } - - export interface TooltipChangeEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - } - namespace slider { - enum sliderType { - //Shows default slider - Default, - //Shows minRange slider - MinRange, - //Shows Range slider - Range, - } - } - - class SplitButton extends ej.Widget { - static fn: SplitButton; - constructor(element: JQuery | Element, options?: SplitButton.Model); - static Locale: any; - model: SplitButton.Model; - defaults: SplitButton.Model; - - /** Destroy the split button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To disable the split button - * @returns {void} - */ - disable(): void; - - /** To Enable the split button - * @returns {void} - */ - enable(): void; - - /** To hide the list content of the split button. - * @returns {void} - */ - hide(): void; - - /** To show the list content of the split button. - * @returns {void} - */ - show(): void; - } - export namespace SplitButton { - - export interface Model { - - /** Specifies the arrowPosition of the Split or Dropdown Button.See arrowPosition - * @Default {ej.ArrowPosition.Right} - */ - arrowPosition?: string | ej.ArrowPosition; - - /** Specifies the buttonMode like Split or Dropdown Button.See ButtonMode - * @Default {ej.ButtonMode.Split} - */ - buttonMode?: string | ej.ButtonMode; - - /** Specifies the contentType of the Split Button.See ContentType - * @Default {ej.ContentType.TextOnly} - */ - contentType?: string | ej.ContentType; - - /** Set the root class for Split Button control theme - */ - cssClass?: string; - - /** Specifies the disabling of Split Button if enabled is set to false. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the enableRTL property for Split Button while initialization. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the Split Button. - * @Default {“”} - */ - height?: string | number; - - /** Specifies the HTML Attributes of the Split Button. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the imagePosition of the Split Button.See imagePositions - * @Default {ej.ImagePosition.ImageRight} - */ - imagePosition?: string | ej.ImagePosition; - - /** Specifies the image content for Split Button while initialization. - */ - prefixIcon?: string; - - /** Specifies the showRoundedCorner property for Split Button while initialization. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the Button. See ButtonSize - * @Default {ej.ButtonSize.Normal} - */ - size?: string | ej.ButtonSize; - - /** Specifies the image content for Split Button while initialization. - */ - suffixIcon?: string; - - /** Specifies the list content for Split Button while initialization - */ - targetID?: string; - - /** Specifies the text content for Split Button while initialization. - */ - text?: string; - - /** Specifies the width of the Split Button. - * @Default {“”} - */ - width?: string | number; - - /** Fires before menu of the split button control is opened. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when Button control is clicked successfully */ - click?(e: ClickEventArgs): void; - - /** Fires before the list content of Button control is closed */ - close?(e: CloseEventArgs): void; - - /** Fires after Split Button control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the Split Button is destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when a menu item is Hovered out successfully */ - itemMouseOut?(e: ItemMouseOutEventArgs): void; - - /** Fires when a menu item is Hovered in successfully */ - itemMouseOver?(e: ItemMouseOverEventArgs): void; - - /** Fires when a menu item is clicked successfully */ - itemSelected?(e: ItemSelectedEventArgs): void; - - /** Fires before the list content of Button control is opened */ - open?(e: OpenEventArgs): void; - } - - export interface BeforeOpenEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ClickEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** return the button state - */ - status?: boolean; - } - - export interface CloseEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemMouseOutEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** return the menu item id - */ - ID?: string; - - /** return the clicked menu item text - */ - Text?: string; - } - - export interface ItemMouseOverEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** return the menu item id - */ - ID?: string; - - /** return the clicked menu item text - */ - Text?: string; - } - - export interface ItemSelectedEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** returns the selected item - */ - selectedItem?: any; - - /** return the menu id - */ - menuId?: string; - - /** return the clicked menu item text - */ - menuText?: string; - } - - export interface OpenEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - } - enum ArrowPosition { - //To set Left arrowPosition of the split button - Left, - //To set Right arrowPosition of the split button - Right, - //To set Top arrowPosition of the split button - Top, - //To set Bottom arrowPosition of the split button - Bottom, - } - - class Splitter extends ej.Widget { - static fn: Splitter; - constructor(element: JQuery | Element, options?: Splitter.Model); - static Locale: any; - model: Splitter.Model; - defaults: Splitter.Model; - - /** To add a new pane to splitter control. - * @param {string} content of pane. - * @param {any} pane properties. - * @param {number} index of pane. - * @returns {HTMLElement} - */ - addItem(content: string, property: any, index: number): HTMLElement; - - /** To collapse the splitter control pane. - * @param {number} index number of pane. - * @returns {void} - */ - collapse(paneIndex: number): void; - - /** To expand the splitter control pane. - * @param {number} index number of pane. - * @returns {void} - */ - expand(paneIndex: number): void; - - /** To refresh the splitter control pane resizing. - * @returns {void} - */ - refresh(): void; - - /** To remove a specified pane from the splitter control. - * @param {number} index of pane. - * @returns {void} - */ - removeItem(index: number): void; - } - export namespace Splitter { - - export interface Model { - - /** Turns on keyboard interaction with the Splitter panes. You must set this property to true to access the keyboard shortcuts of ejSplitter. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specify animation speed for the Splitter pane movement, while collapsing and expanding. - * @Default {300} - */ - animationSpeed?: number; - - /** Specify the CSS class to splitter control to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Specifies the animation behavior of the splitter. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the splitter control to be displayed in right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specify height for splitter control. - * @Default {null} - */ - height?: string; - - /** Specifies the HTML Attributes of the Splitter. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specify window resizing behavior for splitter control. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specify the orientation for splitter control. See orientation - * @Default {ej.orientation.Horizontal or “horizontal”} - */ - orientation?: ej.Orientation | string; - - /** Specify properties for each pane like paneSize, minSize, maxSize, collapsible, expandable, resizable. - * @Default {[]} - */ - properties?: any[]; - - /** Specify width for splitter control. - * @Default {null} - */ - width?: string; - - /** Fires before expanding / collapsing the split pane of splitter control. */ - beforeExpandCollapse?(e: BeforeExpandCollapseEventArgs): void; - - /** Fires when splitter control pane has been created. */ - create?(e: CreateEventArgs): void; - - /** Fires when splitter control pane has been destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when expand / collapse operation in splitter control pane has been performed successfully. */ - expandCollapse?(e: ExpandCollapseEventArgs): void; - - /** Fires when resize in splitter control pane. */ - resize?(e: ResizeEventArgs): void; - } - - export interface BeforeExpandCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns collapsed pane details. - */ - collapsed?: any; - - /** returns expanded pane details. - */ - expanded?: any; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the current split bar index. - */ - splitbarIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ExpandCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns collapsed pane details. - */ - collapsed?: any; - - /** returns expanded pane details. - */ - expanded?: any; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the current split bar index. - */ - splitbarIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ResizeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns previous pane details. - */ - prevPane?: any; - - /** returns next pane details. - */ - nextPane?: any; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the current split bar index. - */ - splitbarIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } - } - - class Tab extends ej.Widget { - static fn: Tab; - constructor(element: JQuery | Element, options?: Tab.Model); - static Locale: any; - model: Tab.Model; - defaults: Tab.Model; - - /** Add new tab items with given name, URL and given index position, if index null it’s add last item. - * @param {string} URL name / tab id. - * @param {string} Tab Display name. - * @param {number} Index position to placed , this is optional. - * @param {string} specifies cssClass, this is optional. - * @param {string} specifies id of tab, this is optional. - * @returns {void} - */ - addItem(URL: string, displayLabel: string, index: number, cssClass: string, id: string): void; - - /** To disable the tab control. - * @returns {void} - */ - disable(): void; - - /** To enable the tab control. - * @returns {void} - */ - enable(): void; - - /** This function get the number of tab rendered - * @returns {number} - */ - getItemsCount(): number; - - /** This function hides the tab control. - * @returns {void} - */ - hide(): void; - - /** This function hides the specified item tab in tab control. - * @param {number} index of tab item. - * @returns {void} - */ - hideItem(index: number): void; - - /** Remove the given index tab item. - * @param {number} index of tab item. - * @returns {void} - */ - removeItem(index: number): void; - - /** This function is to show the tab control. - * @returns {void} - */ - show(): void; - - /** This function helps to show the specified hidden tab item in tab control. - * @param {number} index of tab item. - * @returns {void} - */ - showItem(index: number): void; - } - export namespace Tab { - - export interface Model { - - /** Specifies the ajaxSettings option to load the content to the Tab control. - */ - ajaxSettings?: AjaxSettings; - - /** Tab items interaction with keyboard keys, like headers active navigation. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Allow to collapsing the active item, while click on the active header. - * @Default {false} - */ - collapsible?: boolean; - - /** Set the root class for Tab theme. This cssClass API helps to use custom skinning option for Tab control. - */ - cssClass?: string; - - /** Disables the given tab headers and content panels. - * @Default {[]} - */ - disabledItemIndex?: number[]; - - /** Specifies the animation behavior of the tab. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the tab control. - * @Default {true} - */ - enabled?: boolean; - - /** Enables the given tab headers and content panels. - * @Default {[]} - */ - enabledItemIndex?: number[]; - - /** Save current model value to browser cookies for state maintains. While refresh the Tab control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Display Right to Left direction for headers and panels text of tab. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specify to enable scrolling for Tab header. - * @Default {false} - */ - enableTabScroll?: boolean; - - /** The event API to bind the action for active the tab items. - * @Default {click} - */ - events?: string; - - /** Specifies the position of Tab header as top, bottom, left or right. See below to get available Position - * @Default {top} - */ - headerPosition?: string | ej.Tab.Position; - - /** Set the height of the tab header element. Default this property value is null, so height take content height. - * @Default {null} - */ - headerSize?: string | number; - - /** Height set the outer panel element. Default this property value is null, so height take content height. - * @Default {null} - */ - height?: string | number; - - /** Adjust the content panel height for given option (content, auto and fill), by default panels height adjust based on the content.See below to get available HeightAdjustMode - * @Default {content} - */ - heightAdjustMode?: string | ej.Tab.HeightAdjustMode; - - /** Specifies to hide a pane of Tab control. - * @Default {[]} - */ - hiddenItemIndex?: any[]; - - /** Specifies the HTML Attributes of the Tab. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The idPrefix property appends the given string on the added tab item id’s in runtime. - * @Default {ej-tab-} - */ - idPrefix?: string; - - /** Specifies the Tab header in active for given index value. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Display the close button for each tab items. While clicking on the close icon, particular tab item will be removed. - * @Default {false} - */ - showCloseButton?: boolean; - - /** Display the Reload button for each tab items. - * @Default {false} - */ - showReloadIcon?: boolean; - - /** Tab panels and headers to be displayed in rounded corner style. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Set the width for outer panel element, if not it’s take parent width. - * @Default {null} - */ - width?: string | number; - - /** Triggered after a tab item activated. */ - itemActive?(e: ItemActiveEventArgs): void; - - /** Triggered before AJAX content has been loaded. */ - ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; - - /** Triggered if error occurs in AJAX request. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** Triggered after AJAX content load action. */ - ajaxLoad?(e: AjaxLoadEventArgs): void; - - /** Triggered after a tab item activated. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; - - /** Triggered before a tab item activated. */ - beforeActive?(e: BeforeActiveEventArgs): void; - - /** Triggered before a tab item remove. */ - beforeItemRemove?(e: BeforeItemRemoveEventArgs): void; - - /** Triggered before a tab item Create. */ - create?(e: CreateEventArgs): void; - - /** Triggered before a tab item destroy. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered after new tab item add */ - itemAdd?(e: ItemAddEventArgs): void; - - /** Triggered after tab item removed. */ - itemRemove?(e: ItemRemoveEventArgs): void; - } - - export interface ItemActiveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface AjaxBeforeLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns the URL of AJAX request - */ - URL?: string; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface AjaxErrorEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns AJAX data details. - */ - data?: any; - - /** returns the URL of AJAX request. - */ - URL?: string; - } - - export interface AjaxLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns the URL of AJAX request - */ - URL?: string; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface AjaxSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** return AJAX data. - */ - data?: any; - - /** returns AJAX URL - */ - URL?: string; - - /** returns content of AJAX request. - */ - content?: any; - } - - export interface BeforeActiveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface BeforeItemRemoveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns current tab item index - */ - index?: number; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ItemAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns new added tab header. - */ - tabHeader?: HTMLElement; - - /** returns new added tab content panel. - */ - tabContent?: any; - } - - export interface ItemRemoveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns removed tab header. - */ - removedTab?: HTMLElement; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - * @Default {true} - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - * @Default {false} - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - * @Default {html} - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - * @Default {{}} - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - * @Default {html} - */ - dataType?: string; - - /** It specifies the HTTP request type. - * @Default {get} - */ - type?: string; - } - - enum Position { - - ///Tab headers display to top position - Top, - - ///Tab headers display to bottom position - Bottom, - - ///Tab headers display to left position. - Left, - - ///Tab headers display to right position. - Right - } - - - enum HeightAdjustMode { - - ///string - None, - - ///string - Content, - - ///string - Auto, - - ///string - Fill - } - - } - - class TagCloud extends ej.Widget { - static fn: TagCloud; - constructor(element: JQuery | Element, options?: TagCloud.Model); - static Locale: any; - model: TagCloud.Model; - defaults: TagCloud.Model; - - /** Inserts a new item into the TagCloud - * @param {string} Insert new item into the TagCloud - * @returns {void} - */ - insert(name: string): void; - - /** Inserts a new item into the TagCloud at a particular position. - * @param {string} Inserts a new item into the TagCloud - * @param {number} Inserts a new item into the TagCloud with the specified position - * @returns {void} - */ - insertAt(name: string, position: number): void; - - /** Removes the item from the TagCloud based on the name. It removes all the tags which have the corresponding name - * @param {string} name of the tag. - * @returns {void} - */ - remove(name: string): void; - - /** Removes the item from the TagCloud based on the position. It removes the tags from the the corresponding position only. - * @param {number} position of tag item. - * @returns {void} - */ - removeAt(position: number): void; - } - export namespace TagCloud { - - export interface Model { - - /** Specify the CSS class to button to achieve custom theme. - */ - cssClass?: string; - - /** The dataSource contains the list of data to display in a cloud format. Each data contains a link URL, frequency to categorize the font size and a display text. - * @Default {null} - */ - dataSource?: any; - - /** Sets the TagCloud and tag items direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines the mapping fields for the data items of the TagCloud. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the list of HTML attributes to be added to TagCloud control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Defines the format for the TagCloud to display the tag items.See Format - * @Default {ej.Format.Cloud} - */ - format?: string | ej.Format; - - /** Sets the maximum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. - * @Default {40px} - */ - maxFontSize?: string | number; - - /** Sets the minimum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. - * @Default {10px} - */ - minFontSize?: string | number; - - /** Define the query to retrieve the data from online server. The query is used only when the online dataSource is used. - * @Default {null} - */ - query?: any; - - /** Shows or hides the TagCloud title. When this set to false, it hides the TagCloud header. - * @Default {true} - */ - showTitle?: boolean; - - /** Sets the title image for the TagCloud. To show the title image, the showTitle property should be enabled. - * @Default {null} - */ - titleImage?: string; - - /** Sets the title text for the TagCloud. To show the title text, the showTitle property should be enabled. - * @Default {Title} - */ - titleText?: string; - - /** Event triggers when the TagCloud items are clicked */ - click?(e: ClickEventArgs): void; - - /** Event triggers when the TagCloud are created */ - create?(e: CreateEventArgs): void; - - /** Event triggers when the TagCloud are destroyed */ - destroy?(e: DestroyEventArgs): void; - - /** Event triggers when the cursor leaves out from a tag item */ - mouseout?(e: MouseoutEventArgs): void; - - /** Event triggers when the cursor hovers on a tag item */ - mouseover?(e: MouseoverEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface MouseoutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; - } - - export interface MouseoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; - } - - export interface Fields { - - /** Defines the frequency column number to categorize the font size. - */ - frequency?: string; - - /** Defines the HTML attributes column for the anchor elements inside the each tag items. - */ - htmlAttributes?: string; - - /** Defines the tag value or display text. - */ - text?: string; - - /** Defines the URL link to navigate while click the tag. - */ - url?: string; - } - } - enum Format { - //To render the TagCloud items in cloud format - Cloud, - //To render the TagCloud items in list format - List, - } - - class TimePicker extends ej.Widget { - static fn: TimePicker; - constructor(element: JQuery | Element, options?: TimePicker.Model); - static Locale: any; - model: TimePicker.Model; - defaults: TimePicker.Model; - - /** Allows you to disable the TimePicker. - * @returns {void} - */ - disable(): void; - - /** Allows you to enable the TimePicker. - * @returns {void} - */ - enable(): void; - - /** It returns the current time value. - * @returns {string} - */ - getValue(): string; - - /** This method will hide the TimePicker control popup. - * @returns {void} - */ - hide(): void; - - /** Updates the current system time in TimePicker. - * @returns {void} - */ - setCurrentTime(): void; - - /** This method will show the TimePicker control popup. - * @returns {void} - */ - show(): void; - } - export namespace TimePicker { - - export interface Model { - - /** Sets the root CSS class for the TimePicker theme, which is used to customize. - */ - cssClass?: string; - - /** Specifies the list of time range to be disabled. - * @Default {{}} - */ - disableTimeRanges?: any; - - /** Specifies the animation behavior in TimePicker. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the TimePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the TimePicker control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the TimePicker as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** When the enableStrictMode is set as true it allows the value outside of the range and also indicate with red color border, - * otherwise it internally changed to the min or max range value based an input value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Defines the height of the TimePicker textbox. - */ - height?: string | number; - - /** Sets the step value for increment an hour value through arrow keys or mouse scroll. - * @Default {1} - */ - hourInterval?: number; - - /** It allows to define the characteristics of the TimePicker control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the time interval between the two adjacent time values in the popup. - * @Default {30} - */ - interval?: number; - - /** Defines the localization info used by the TimePicker. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum time value to the TimePicker. - * @Default {11:59:59 PM} - */ - maxTime?: string; - - /** Sets the minimum time value to the TimePicker. - * @Default {12:00:00 AM} - */ - minTime?: string; - - /** Sets the step value for increment the minute value through arrow keys or mouse scroll. - * @Default {1} - */ - minutesInterval?: number; - - /** Defines the height of the TimePicker popup. - * @Default {191px} - */ - popupHeight?: string | number; - - /** Defines the width of the TimePicker popup. - * @Default {auto} - */ - popupWidth?: string | number; - - /** Toggles the readonly state of the TimePicker - * @Default {false} - */ - readOnly?: boolean; - - /** Sets the step value for increment the seconds value through arrow keys or mouse scroll. - * @Default {1} - */ - secondsInterval?: number; - - /** shows or hides the drop down button in TimePicker. - * @Default {true} - */ - showPopupButton?: boolean; - - /** TimePicker is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Defines the time format displayed in the TimePicker. - * @Default {h:mm tt} - */ - timeFormat?: string; - - /** Sets a specified time value on the TimePicker. - * @Default {null} - */ - value?: string | Date; - - /** Defines the width of the TimePicker textbox. - */ - width?: string | number; - - /** Fires when the time value changed in the TimePicker. */ - beforeChange?(e: BeforeChangeEventArgs): void; - - /** Fires when the TimePicker popup before opened. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when the time value changed in the TimePicker. */ - change?(e: ChangeEventArgs): void; - - /** Fires when the TimePicker popup closed. */ - close?(e: CloseEventArgs): void; - - /** Fires when create TimePicker successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when the TimePicker is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the TimePicker control gets focus. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires when the TimePicker control get lost focus. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when the TimePicker popup opened. */ - open?(e: OpenEventArgs): void; - - /** Fires when the value is selected from the TimePicker dropdown list. */ - select?(e: SelectEventArgs): void; - } - - export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the modified time value - */ - value?: string; - } - - export interface BeforeOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the time value - */ - value?: string; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true when the value changed by user interaction otherwise returns false - */ - isInteraction?: boolean; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the modified time value - */ - value?: string; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the time value - */ - value?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the current time value - */ - value?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the current time value - */ - value?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the time value - */ - value?: string; - } - - export interface SelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the selected time value - */ - value?: string; - } - } - - class ToggleButton extends ej.Widget { - static fn: ToggleButton; - constructor(element: JQuery | Element, options?: ToggleButton.Model); - static Locale: any; - model: ToggleButton.Model; - defaults: ToggleButton.Model; - - /** Allows you to destroy the ToggleButton widget. - * @returns {void} - */ - destroy(): void; - - /** To disable the ToggleButton to prevent all user interactions. - * @returns {void} - */ - disable(): void; - - /** To enable the ToggleButton. - * @returns {void} - */ - enable(): void; - } - export namespace ToggleButton { - - export interface Model { - - /** Specify the icon in active state to the toggle button and it will be aligned from left margin of the button. - */ - activePrefixIcon?: string; - - /** Specify the icon in active state to the toggle button and it will be aligned from right margin of the button. - */ - activeSuffixIcon?: string; - - /** Sets the text when ToggleButton is in active state i.e.,checked state. - * @Default {null} - */ - activeText?: string; - - /** Specifies the contentType of the ToggleButton. See ContentType as below - * @Default {ej.ContentType.TextOnly} - */ - contentType?: ej.ContentType | string; - - /** Specify the CSS class to the ToggleButton to achieve custom theme. - */ - cssClass?: string; - - /** Specify the icon in default state to the toggle button and it will be aligned from left margin of the button. - */ - defaultPrefixIcon?: string; - - /** Specify the icon in default state to the toggle button and it will be aligned from right margin of the button. - */ - defaultSuffixIcon?: string; - - /** Specifies the text of the ToggleButton, when the control is a default state. i.e., unChecked state. - * @Default {null} - */ - defaultText?: string; - - /** Specifies the state of the ToggleButton. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the ToggleButton control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specify the Right to Left direction of the ToggleButton. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the ToggleButton. - * @Default {28pixel} - */ - height?: number | string; - - /** It allows to define the characteristics of the ToggleButton control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the image position of the ToggleButton. - * @Default {ej.ImagePosition.ImageLeft} - */ - imagePosition?: ej.ImagePosition | string; - - /** Allows to prevents the control switched to checked (active) state. - * @Default {false} - */ - preventToggle?: boolean; - - /** Displays the ToggleButton with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the ToggleButton. See ButtonSize as below - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize | string; - - /** It allows to define the ToggleButton state to checked(Active) or unchecked(Default) at initial time. - * @Default {false} - */ - toggleState?: boolean; - - /** Specifies the type of the ToggleButton. See ButtonType as below - * @Default {ej.ButtonType.Button} - */ - type?: ej.ButtonType | string; - - /** Specifies the width of the ToggleButton. - * @Default {100pixel} - */ - width?: number | string; - - /** Fires when ToggleButton control state is changed successfully. */ - change?(e: ChangeEventArgs): void; - - /** Fires when ToggleButton control is clicked successfully. */ - click?(e: ClickEventArgs): void; - - /** Fires when ToggleButton control is created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when ToggleButton control is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** return the toggle button checked state - */ - isChecked?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** return the toggle button checked state - */ - isChecked?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** return the toggle button state - */ - status?: boolean; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** returns the name of the event - */ - type?: string; - } - } - - class Toolbar extends ej.Widget { - static fn: Toolbar; - constructor(element: JQuery | Element, options?: Toolbar.Model); - static Locale: any; - model: Toolbar.Model; - defaults: Toolbar.Model; - - /** Deselect the specified Toolbar item. - * @param {any} The element need to be deselected - * @returns {void} - */ - deselectItem(element: any): void; - - /** Deselect the Toolbar item based on specified id. - * @param {string} The ID of the element need to be deselected - * @returns {void} - */ - deselectItemByID(ID: string): void; - - /** Allows you to destroy the Toolbar widget. - * @returns {void} - */ - destroy(): void; - - /** To disable all items in the Toolbar control. - * @returns {void} - */ - disable(): void; - - /** Disable the specified Toolbar item. - * @param {any} The element need to be disabled - * @returns {void} - */ - disableItem(element: any): void; - - /** Disable the Toolbar item based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be disabled - * @returns {void} - */ - disableItemByID(ID: string): void; - - /** Enable the Toolbar if it is in disabled state. - * @returns {void} - */ - enable(): void; - - /** Enable the Toolbar item based on specified item. - * @param {any} The element need to be enabled - * @returns {void} - */ - enableItem(element: any): void; - - /** Enable the Toolbar item based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be enabled - * @returns {void} - */ - enableItemByID(ID: string): void; - - /** To hide the Toolbar - * @returns {void} - */ - hide(): void; - - /** Remove the item from toolbar, based on specified item. - * @param {any} The element need to be removed - * @returns {void} - */ - removeItem(element: any): void; - - /** Remove the item from toolbar, based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be removed - * @returns {void} - */ - removeItemByID(ID: string): void; - - /** Selects the item from toolbar, based on specified item. - * @param {any} The element need to be selected - * @returns {void} - */ - selectItem(element: any): void; - - /** Selects the item from toolbar, based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be selected - * @returns {void} - */ - selectItemByID(ID: string): void; - - /** To show the Toolbar. - * @returns {void} - */ - show(): void; - } - export namespace Toolbar { - - export interface Model { - - /** Sets the root CSS class for Toolbar control to achieve the custom theme. - */ - cssClass?: string; - - /** Specifies dataSource value for the Toolbar control during initialization. - * @Default {null} - */ - dataSource?: any; - - /** Disables an Item or set of Items that are enabled in the Toolbar - * @Default {[]} - */ - disabledItemIndices?: any[]; - - /** Specifies the Toolbar control state. - * @Default {true} - */ - enabled?: boolean; - - /** Enables an Item or set of Items that are disabled in the Toolbar - * @Default {[]} - */ - enabledItemIndices?: any[]; - - /** Specifies enableRTL property to align the Toolbar control from right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows to separate the each UL items in the Toolbar control. - * @Default {false} - */ - enableSeparator?: boolean; - - /** Specifies the mapping fields for the data items of the Toolbar - * @Default {null} - */ - fields?: string; - - /** Specifies the height of the Toolbar. - * @Default {28} - */ - height?: number | string; - - /** Specifies the list of HTML attributes to be added to toolbar control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies whether the Toolbar control is need to be show or hide. - * @Default {false} - */ - hide?: boolean; - - /** Enables/Disables the responsive support for Toolbar items during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the items of Toolbar - * @Default {null} - */ - Items?: Items; - - /** Specifies the Toolbar orientation. See orientation - * @Default {Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the query to retrieve the data from the online server. The query is used only when the online dataSource is used. - * @Default {null} - */ - query?: any; - - /** Specifies the Toolbar responsive type. - * @Default {Popup} - */ - responsiveType?: ej.Toolbar.ResponsiveType | string; - - /** Displays the Toolbar with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the width of the Toolbar. - */ - width?: number | string; - - /** Fires after Toolbar control is clicked. */ - click?(e: ClickEventArgs): void; - - /** Fires after Toolbar control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires after Toolbar control is focused. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when the Toolbar is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires after Toolbar control item is hovered. */ - itemHover?(e: ItemHoverEventArgs): void; - - /** Fires after mouse leave from Toolbar control item. */ - itemLeave?(e: ItemLeaveEventArgs): void; - - /** Fires when the overflow popup of toolbar is opened. */ - overflowOpen?(e: OverflowOpenEventArgs): void; - - /** Fires when the overflow popup of toolbar is closed. */ - overflowClose?(e: OverflowCloseEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** returns the target of the current object. - */ - currentTarget?: any; - - /** return the Toolbar state - */ - status?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemHoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** returns the target of the current object. - */ - currentTarget?: any; - - /** return the Toolbar state - */ - status?: boolean; - } - - export interface ItemLeaveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** returns the target of the current object. - */ - currentTarget?: any; - - /** return the Toolbar state - */ - status?: boolean; - } - - export interface OverflowOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** Returns the current X position of the target . - */ - clientX?: number; - - /** Returns the current Y position of the target . - */ - clientY?: number; - - /** returns the target of the current object. - */ - currentTarget?: any; - } - - export interface OverflowCloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** Returns the current X position of the target . - */ - clientX?: number; - - /** Returns the current Y position of the target . - */ - clientY?: number; - - /** returns the target of the current object. - */ - currentTarget?: any; - } - - export interface Fields { - - /** Defines the group name for the item. - */ - group?: string; - - /** Defines the HTML attributes such as id, class, styles for the item to extend the capability. - */ - htmlAttributes?: any; - - /** Defines id for the tag. - */ - id?: string; - - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; - - /** Defines the imageURL for the image location. - */ - imageUrl?: string; - - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; - - /** Defines the text content for the tag. - */ - text?: string; - - /** Defines the tooltip text for the tag. - */ - tooltipText?: string; - - /** Allows you to add template as toolbar item - */ - template?: string; - } - - export interface Items { - - /** Defines the group name for the item. - */ - group?: string; - - /** Defines the HTML attributes such as id, class, styles for the item . - */ - htmlAttributes?: any; - - /** Defines id for the tag. - */ - id?: string; - - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; - - /** Defines the imageURL for the image location. - */ - imageUrl?: string; - - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; - - /** Defines the text content for the tag. - */ - text?: string; - - /** Defines the tooltip text for the tag. - */ - tooltipText?: string; - - /** Allows to add template as toolbar item. - */ - template?: string; - } - - enum ResponsiveType { - - ///To display the toolbar overflow items as popup - Popup, - - ///To display the toolbar overflow items as inline toolbar - Inline - } - - } - - class TreeView extends ej.Widget { - static fn: TreeView; - constructor(element: JQuery | Element, options?: TreeView.Model); - static Locale: any; - model: TreeView.Model; - defaults: TreeView.Model; - - /** To add a Node or collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - addNode(newNodeText: string | any, target: string | any): void; - - /** To add a collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {any|Array} New node details in JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - addNodes(collection: any | any[], target: string | any): void; - - /** To check all the nodes in TreeView. - * @returns {void} - */ - checkAll(): void; - - /** To check a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - checkNode(element: string | any | any[]): void; - - /** This method is used to collapse all nodes in TreeView control. If you want to collapse all nodes up to the specific level in - * TreeView control then we need to pass levelUntil as argument to this method. - * @param {number} TreeView nodes will collapse until the given level - * @param {boolean} Weather exclude the hidden nodes of TreeView while collapse all nodes - * @returns {void} - */ - collapseAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; - - /** To collapse a particular node in TreeView. - * @param {string|any|Array} ID of TreeView node|object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - collapseNode(element: string | any | any[]): void; - - /** To disable the node in the TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - disableNode(element: string | any | any[]): void; - - /** To enable the node in the TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - enableNode(element: string | any | any[]): void; - - /** To ensure that the TreeView node is visible in the TreeView. This method is useful if we need select a TreeView node dynamically. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - ensureVisible(element: string | any): boolean; - - /** This method is used to expand all nodes in TreeView control. If you want to expand all nodes up to the specific level in TreeView control - * then we need to pass levelUntil as argument to this method. - * @param {number} TreeView nodes will expand until the given level - * @param {boolean} Weather exclude the hidden nodes of TreeView while expand all nodes - * @returns {void} - */ - expandAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; - - /** To expandNode particular node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - expandNode(element: string | any | any[]): void; - - /** To get currently checked nodes in TreeView. - * @returns {any} - */ - getCheckedNodes(): any; - - /** To get currently checked nodes indexes in TreeView. - * @returns {Array} - */ - getCheckedNodesIndex(): any[]; - - /** This method is used to get immediate child nodes of a node in TreeView control. If you want to get the all child nodes include nested - * child nodes then we need to pass includeNestedChild as true along with element arguments to this method. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {boolean} Weather include nested child nodes of TreeView node - * @returns {Array} - */ - getChildren(element: string | any, includeNestedChild?: boolean): any[]; - - /** To get number of nodes in TreeView. - * @returns {number} - */ - getNodeCount(): number; - - /** To get currently expanded nodes in TreeView. - * @returns {any} - */ - getExpandedNodes(): any; - - /** To get currently expanded nodes indexes in TreeView. - * @returns {Array} - */ - getExpandedNodesIndex(): any[]; - - /** To get TreeView node by using index position in TreeView. - * @param {number} Index position of TreeView node - * @returns {any} - */ - getNodeByIndex(index: number): any; - - /** To get TreeView node data such as id, text, parentId, selected, checked, expanded, level, childes and index. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {any} - */ - getNode(element: string | any): any; - - /** To get current index position of TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {number} - */ - getNodeIndex(element: string | any): number; - - /** To get immediate parent TreeView node of particular TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {any} - */ - getParent(element: string | any): any; - - /** To get the currently selected node in TreeView. - * @returns {any} - */ - getSelectedNode(): any; - - /** To get the currently selected nodes in TreeView. - * @returns {Array} - */ - getSelectedNodes(): any[]; - - /** To get the index position of currently selected node in TreeView. - * @returns {number} - */ - getSelectedNodeIndex(): number; - - /** To get the index positions of currently selected nodes in TreeView. - * @returns {Array} - */ - getSelectedNodesIndex(): any[]; - - /** To get the text of a node in TreeView. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {string} - */ - getText(element: string | any): string; - - /** To get the updated datasource of TreeView after performing some operation like drag and drop, node editing, adding and removing node. - * @param {string|number} ID of TreeView node - * @returns {Array} - */ - getTreeData(id?: string | number): any[]; - - /** To get currently visible nodes in TreeView. - * @returns {any} - */ - getVisibleNodes(): any; - - /** To check a node having child or not. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - hasChildNode(element: string | any): boolean; - - /** To show nodes in TreeView. - * @returns {void} - */ - hide(): void; - - /** To hide particular node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - hideNode(element: string | any | any[]): void; - - /** To add a Node or collection of nodes after the particular TreeView node. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - insertAfter(newNodeText: string | any, target: string | any): void; - - /** To add a Node or collection of nodes before the particular TreeView node. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - insertBefore(newNodeText: string | any, target: string | any): void; - - /** To check the given TreeView node is checked or unchecked. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isNodeChecked(element: string | any): boolean; - - /** To check whether the child nodes are loaded of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isChildLoaded(element: string | any): boolean; - - /** To check the given TreeView node is disabled or enabled. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isDisabled(element: string | any): boolean; - - /** To check the given node is exist in TreeView. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isExist(element: string | any): boolean; - - /** To get the expand status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isExpanded(element: string | any): boolean; - - /** To get the select status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isSelected(element: string | any): boolean; - - /** To get the visibility status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isVisible(element: string | any): boolean; - - /** To load the TreeView nodes from the particular URL. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {string} URL location, the data returned from the URL will be loaded in TreeView - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - loadData(URL: string, target: string | any): void; - - /** To move the TreeView node with in same TreeView. The new position of given TreeView node will be based on destination node and index position. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {number} New index position of given source node - * @returns {void} - */ - moveNode(sourceNode: string | any, destinationNode: string | any, index: number): void; - - /** To refresh the TreeView - * @returns {void} - */ - refresh(): void; - - /** To remove all the nodes in TreeView. - * @returns {void} - */ - removeAll(): void; - - /** To remove a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - removeNode(element: string | any | any[]): void; - - /** To select all the TreeView nodes when enable allowMultiSelection property. - * @returns {void} - */ - selectAll(): void; - - /** This method is used to select a node in TreeView control. If you want to select the collection of nodes in TreeView control then we need to enable allowMultiSelection property. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes - * @returns {void} - */ - selectNode(element: string | any | any[]): void; - - /** To show nodes in TreeView. - * @returns {void} - */ - show(): void; - - /** To show a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - showNode(element: string | any | any[]): void; - - /** To uncheck all the nodes in TreeView. - * @returns {void} - */ - unCheckAll(): void; - - /** To uncheck a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - uncheckNode(element: string | any | any[]): void; - - /** To unselect all the TreeView nodes when enable allowMultiSelection property. - * @returns {void} - */ - unselectAll(): void; - - /** This method is used to unselect a node in TreeView control. If you want to unselect the collection of nodes in TreeView control then we need to enable allowMultiSelection property. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes - * @returns {void} - */ - unselectNode(element: string | any | any[]): void; - - /** To edit or update the text of the TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {string} New text - * @returns {void} - */ - updateText(target: string | any, newText: string): void; - } - export namespace TreeView { - - export interface Model { - - /** Gets or sets a value that indicates whether to enable drag and drop a node within the same tree. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable drag and drop a node in inter ej.TreeView. - * @Default {true} - */ - allowDragAndDropAcrossControl?: boolean; - - /** Gets or sets a value that indicates whether to drop a node to a sibling of particular node. - * @Default {true} - */ - allowDropSibling?: boolean; - - /** Gets or sets a value that indicates whether to drop a node to a child of particular node. - * @Default {true} - */ - allowDropChild?: boolean; - - /** Gets or sets a value that indicates whether to enable node editing support for TreeView. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for TreeView actions like nodeSelection, nodeEditing, nodeExpand, nodeCollapse, nodeCut and Paste. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable multi selection support for TreeView. - * @Default {false} - */ - allowMultiSelection?: boolean; - - /** Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node. - * @Default {true} - */ - autoCheck?: boolean; - - /** Allow us to specify the parent node to be retain in checked or unchecked state instead of going for indeterminate state. - * @Default {false} - */ - autoCheckParentNode?: boolean; - - /** Gets or sets a value that indicates the checkedNodes index collection as an array. The given array index position denotes the nodes, that are checked while rendering TreeView. - * @Default {[]} - */ - checkedNodes?: any[]; - - /** Sets the root CSS class for TreeView which allow us to customize the appearance. - */ - cssClass?: string; - - /** Gets or sets a value that indicates whether to enable or disable the animation effect while expanding or collapsing a node. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Gets or sets a value that indicates whether a TreeView can be enabled or disabled. No actions can be performed while this property is set as false - * @Default {true} - */ - enabled?: boolean; - - /** Allow us to prevent multiple nodes to be in expanded state. If it set to false, previously expanded node will be collapsed automatically, while we expand a node. - * @Default {true} - */ - enableMultipleExpand?: boolean; - - /** Sets a value that indicates whether to persist the TreeView model state in page using applicable medium i.e., HTML5 localStorage or cookies - * @Default {false} - */ - enablePersistence?: boolean; - - /** Gets or sets a value that indicates to align content in the TreeView control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** Gets or sets a array of value that indicates the expandedNodes index collection as an array. The given array index position denotes the nodes, that are expanded while rendering TreeView. - * @Default {[]} - */ - expandedNodes?: any[]; - - /** Gets or sets a value that indicates the TreeView node can be expand or collapse by using the specified action. - * @Default {dblclick} - */ - expandOn?: string; - - /** Gets or sets a fields object that allow us to map the data members with field properties in order to make the data binding easier. - * @Default {null} - */ - fields?: Fields; - - /** Gets or sets a value that indicates whether to enable full row selection support for TreeView. - * @Default {false} - */ - fullRowSelect?: boolean; - - /** Defines the height of the TreeView. - * @Default {Null} - */ - height?: string | number; - - /** Specifies the HTML Attributes for the TreeView. Using this API we can add custom attributes in TreeView control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the child nodes to be loaded on demand - * @Default {false} - */ - loadOnDemand?: boolean; - - /** Gets or Sets a value that indicates the index position of a tree node. The particular index tree node will be selected while rendering the TreeView. - * @Default {-1} - */ - selectedNode?: number; - - /** Gets or sets a value that indicates the selectedNodes index collection as an array. The given array index position denotes the nodes, that are selected while rendering TreeView. - * @Default {[]} - */ - selectedNodes?: any[]; - - /** Gets or sets a value that indicates whether to display or hide checkbox for all TreeView nodes. - * @Default {false} - */ - showCheckbox?: boolean; - - /** By using sortSettings property, you can customize the sorting option in TreeView control. - */ - sortSettings?: SortSettings; - - /** Allow us to use custom template in order to create TreeView. - * @Default {null} - */ - template?: string; - - /** Defines the width of the TreeView. - * @Default {Null} - */ - width?: string | number; - - /** Fires before adding node to TreeView. */ - beforeAdd?(e: BeforeAddEventArgs): void; - - /** Fires before collapse a node. */ - beforeCollapse?(e: BeforeCollapseEventArgs): void; - - /** Fires before cut node in TreeView. */ - beforeCut?(e: BeforeCutEventArgs): void; - - /** Fires before deleting node in TreeView. */ - beforeDelete?(e: BeforeDeleteEventArgs): void; - - /** Fires before editing the node in TreeView. */ - beforeEdit?(e: BeforeEditEventArgs): void; - - /** Fires before expanding the node. */ - beforeExpand?(e: BeforeExpandEventArgs): void; - - /** Fires before loading nodes to TreeView. */ - beforeLoad?(e: BeforeLoadEventArgs): void; - - /** Fires before paste node in TreeView. */ - beforePaste?(e: BeforePasteEventArgs): void; - - /** Fires before selecting node in TreeView. */ - beforeSelect?(e: BeforeSelectEventArgs): void; - - /** Fires when TreeView created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when TreeView destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires before nodeEdit Successful. */ - inlineEditValidation?(e: InlineEditValidationEventArgs): void; - - /** Fires when key pressed successfully. */ - keyPress?(e: KeyPressEventArgs): void; - - /** Fires when data load fails. */ - loadError?(e: LoadErrorEventArgs): void; - - /** Fires when data loaded successfully. */ - loadSuccess?(e: LoadSuccessEventArgs): void; - - /** Fires once node added successfully. */ - nodeAdd?(e: NodeAddEventArgs): void; - - /** Fires once node checked successfully. */ - nodeCheck?(e: NodeCheckEventArgs): void; - - /** Fires when node clicked successfully. */ - nodeClick?(e: NodeClickEventArgs): void; - - /** Fires when node collapsed successfully. */ - nodeCollapse?(e: NodeCollapseEventArgs): void; - - /** Fires when node cut successfully. */ - nodeCut?(e: NodeCutEventArgs): void; - - /** Fires when node deleted successfully. */ - nodeDelete?(e: NodeDeleteEventArgs): void; - - /** Fires when node dragging. */ - nodeDrag?(e: NodeDragEventArgs): void; - - /** Fires once node drag start successfully. */ - nodeDragStart?(e: NodeDragStartEventArgs): void; - - /** Fires before the dragged node to be dropped. */ - nodeDragStop?(e: NodeDragStopEventArgs): void; - - /** Fires once node dropped successfully. */ - nodeDropped?(e: NodeDroppedEventArgs): void; - - /** Fires once node edited successfully. */ - nodeEdit?(e: NodeEditEventArgs): void; - - /** Fires once node expanded successfully. */ - nodeExpand?(e: NodeExpandEventArgs): void; - - /** Fires once node pasted successfully. */ - nodePaste?(e: NodePasteEventArgs): void; - - /** Fires when node selected successfully. */ - nodeSelect?(e: NodeSelectEventArgs): void; - - /** Fires once node unchecked successfully. */ - nodeUncheck?(e: NodeUncheckEventArgs): void; - - /** Fires once node unselected successfully. */ - nodeUnselect?(e: NodeUnselectEventArgs): void; - - /** Fires when TreeView nodes are loaded successfully */ - ready?(e: ReadyEventArgs): void; - } - - export interface BeforeAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the given new node data - */ - data?: string | any; - - /** returns the parent element, the given new nodes to be appended to the given parent element - */ - targetParent?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - } - - export interface BeforeCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the child nodes are loaded or not - */ - isChildLoaded?: boolean; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface BeforeCutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be cut - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface BeforeDeleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be deleted - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the current parent element of the target node - */ - parentElement?: any; - - /** returns the parent node values - */ - parentDetails?: any; - - /** returns the currently removed nodes - */ - removedNodes?: any[]; - } - - export interface BeforeEditEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - } - - export interface BeforeExpandEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** if the child node is ready to expanded state; otherwise, false. - */ - isChildLoaded?: boolean; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface BeforeLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the AJAX settings object - */ - AjaxOptions?: any; - } - - export interface BeforePasteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be pasted - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface BeforeSelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element, the given node to be selected - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface InlineEditValidationEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the new entered text for the node - */ - newText?: string; - - /** returns the current node element id - */ - id?: any; - - /** returns the old node text - */ - oldText?: string; - } - - export interface KeyPressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns node path from root element - */ - path?: string; - - /** returns the key pressed key code value - */ - keyCode?: number; - - /** it returns when the current node is in expanded state; otherwise, false. - */ - isExpanded?: boolean; - - /** returns the id of current TreeView node - */ - id?: string; - - /** returns the parentId of current TreeView node - */ - parentId?: string; - } - - export interface LoadErrorEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the AJAX error object - */ - error?: any; - } - - export interface LoadSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the success data from the URL - */ - data?: any; - - /** returns the target parent element, the data returned from the URL to be appended to the given parent element, else in TreeView - */ - targetParent?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - } - - export interface NodeAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the added data, that are given initially - */ - data?: any; - - /** returns the newly added elements - */ - nodes?: any; - - /** returns the target parent element of the added element - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - } - - export interface NodeCheckEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns the id of the current element of the node clicked - */ - id?: string; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** it returns true when the node checkbox is checked; otherwise, false. - */ - isChecked?: boolean; - - /** it returns the currently checked node name - */ - currentNode?: any[]; - - /** it returns the currently checked and its child node details - */ - currentCheckedNodes?: any[]; - } - - export interface NodeClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked TreeView node - */ - id?: string; - - /** returns the parentId of currently clicked TreeView node - */ - parentId?: string; - } - - export interface NodeCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the id of the current element of the node clicked - */ - id?: string; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: string; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the child nodes are loaded or not - */ - isChildLoaded?: boolean; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface NodeCutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current parent element of the cut node - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface NodeDeleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current parent element of the deleted node - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - - /** returns the currently removed nodes - */ - removedNodes?: any[]; - } - - export interface NodeDragEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drag target - */ - dragTarget?: any; - - /** returns the current target TreeView node - */ - target?: any; - - /** returns the current target details - */ - targetElementData?: any; - - /** returns the current parent element of the target node - */ - draggedElement?: any; - - /** returns the given parent node details - */ - draggedElementData?: any; - - /** returns the event object - */ - event?: any; - } - - export interface NodeDragStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drag target - */ - dragTarget?: any; - - /** returns the current dragging parent TreeView node - */ - parentElement?: any; - - /** returns the current dragging parent TreeView node details - */ - parentElementData?: any; - - /** returns the current parent element of the dragging node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the event object - */ - event?: any; - } - - export interface NodeDragStopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drop target - */ - dropTarget?: any; - - /** returns the current dragged TreeView node - */ - draggedElement?: any; - - /** returns the current dragged TreeView node details - */ - draggedElementData?: any; - - /** returns the current parent element of the dragged node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the drop position such as before, after or over - */ - position?: string; - - /** returns the event object - */ - event?: any; - } - - export interface NodeDroppedEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drop target - */ - dropTarget?: any; - - /** returns the current dropped TreeView node - */ - droppedElement?: any; - - /** returns the current dropped TreeView node details - */ - droppedElementData?: any; - - /** returns the current parent element of the dropped node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the drop position such as before, after or over - */ - position?: string; - - /** returns the event object - */ - event?: any; - } - - export interface NodeEditEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the element - */ - id?: string; - - /** returns the oldText of the element - */ - oldText?: string; - - /** returns the newText of the element - */ - newText?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be cut - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - } - - export interface NodeExpandEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** if the child node is ready to expanded state; otherwise, false. - */ - isChildLoaded?: boolean; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface NodePasteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the pasted element - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface NodeSelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the current element of the node clicked - */ - id?: any; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: any; - - /** returns the current selected nodes index of TreeView - */ - selectedNodes?: any[]; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - } - - export interface NodeUncheckEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the id of the current element of the node clicked - */ - id?: any; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** it returns true when the node checkbox is checked; otherwise, false. - */ - isChecked?: boolean; - - /** it returns currently unchecked node name - */ - currentNode?: string; - - /** it returns currently unchecked node and its child node details. - */ - currentUncheckedNodes?: any[]; - } - - export interface NodeUnselectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the current element of the node unselected - */ - currentElement?: any; - - /** returns the id of the current element of the node unselected - */ - id?: string; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the id of the parent element of current element of the node unselected - */ - parentId?: string; - - /** returns the current selected nodes index of TreeView - */ - selectedNodes?: any[]; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - } - - export interface ReadyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface Fields { - - /** It receives the child level or inner level data source such as Essential DataManager object and JSON object. - */ - child?: any; - - /** It receives Essential DataManager object and JSON object. - */ - dataSource?: any; - - /** Specifies the node to be in expanded state. - */ - expanded?: string; - - /** Its allow us to indicate whether the node has child or not in load on demand - */ - hasChild?: string; - - /** Specifies the HTML Attributes to "li" item list. - */ - htmlAttribute?: any; - - /** Specifies the id to TreeView node items list. - */ - id?: string; - - /** Specifies the image attribute to “img” tag inside items list - */ - imageAttribute?: any; - - /** Specifies the HTML Attributes to "li" item list. - */ - imageUrl?: string; - - /** If its true Checkbox node will be checked when rendered with checkbox. - */ - isChecked?: string; - - /** Specifies the link attribute to “a” tag in item list. - */ - linkAttribute?: any; - - /** Specifies the parent id of the node. The nodes are listed as child nodes of the specified parent node by using its parent id. - */ - parentId?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - */ - query?: any; - - /** Allow us to specify the node to be in selected state - */ - selected?: string; - - /** Specifies the sprite CSS class to "li" item list. - */ - spriteCssClass?: string; - - /** It receives the table name to execute query on the corresponding table. - */ - tableName?: string; - - /** Specifies the text of TreeView node items list. - */ - text?: string; - } - - export interface SortSettings { - - /** Enables or disables the sorting option in TreeView control - * @Default {false} - */ - allowSorting?: boolean; - - /** Sets the sorting order type. There are two sorting types available, such as "ascending", "descending". - * @Default {ej.sortOrder.Ascending} - */ - sortOrder?: ej.sortOrder | string; - } - } - enum sortOrder { - //Enum for Ascending sort order - Ascending, - //Enum for Descending sort order - Descending, - } - - class Uploadbox extends ej.Widget { - static fn: Uploadbox; - constructor(element: JQuery | Element, options?: Uploadbox.Model); - static Locale: any; - model: Uploadbox.Model; - defaults: Uploadbox.Model; - - /** The destroy method destroys the control and brings the control to a pre-init state. All the events of the Upload control is bound by using this._on unbinds automatically. - * @returns {void} - */ - destroy(): void; - - /** Disables the Uploadbox control - * @returns {void} - */ - disable(): void; - - /** Enables the Uploadbox control - * @returns {void} - */ - enable(): void; - - /** Refresh the Uploadbox control - * @returns {void} - */ - refresh(): void; - } - export namespace Uploadbox { - - export interface Model { - - /** Enables the file drag and drop support to the Uploadbox control. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Uploadbox supports both synchronous and asynchronous upload. This can be achieved by using the asyncUpload property. - * @Default {true} - */ - asyncUpload?: boolean; - - /** Uploadbox supports auto uploading of files after the file selection is done. - * @Default {false} - */ - autoUpload?: boolean; - - /** Sets the text for each action button. - * @Default {{browse: Browse, upload: Upload, cancel: Cancel, close: Close}} - */ - buttonText?: ButtonText; - - /** Sets the root class for the Uploadbox control theme. This cssClass API helps to use custom skinning option for the Uploadbox button and dialog content. - */ - cssClass?: string; - - /** Specifies the custom file details in the dialog popup on initialization. - * @Default {{ title:true, name:true, size:true, status:true, action:true}} - */ - customFileDetails?: CustomFileDetails; - - /** Specifies the actions for dialog popup while initialization. - * @Default {{ modal:false, closeOnComplete:false, content:null, drag:true}} - */ - dialogAction?: DialogAction; - - /** Displays the Uploadbox dialog at the given X and Y positions. X: Dialog sets the left position value. Y: Dialog sets the top position value. - * @Default {null} - */ - dialogPosition?: any; - - /** Property for applying the text to the Dialog title and content headers. - * @Default {{ title: Upload Box, name: Name, size: Size, status: Status}} - */ - dialogText?: DialogText; - - /** The dropAreaText is displayed when the drag and drop support is enabled in the Uploadbox control. - * @Default {Drop files or click to upload} - */ - dropAreaText?: string; - - /** Specifies the dropAreaHeight when the drag and drop support is enabled in the Uploadbox control. - * @Default {100%} - */ - dropAreaHeight?: number | string; - - /** Specifies the dropAreaWidth when the drag and drop support is enabled in the Uploadbox control. - * @Default {100%} - */ - dropAreaWidth?: number | string; - - /** Based on the property value, Uploadbox is enabled or disabled. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the right-to-left direction property for the Uploadbox control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Only the files with the specified extension is allowed to upload. This is mentioned in the string format. - */ - extensionsAllow?: string; - - /** Only the files with the specified extension is denied for upload. This is mentioned in the string format. - */ - extensionsDeny?: string; - - /** Sets the maximum size limit for uploading the file. This is mentioned in the number format. - * @Default {31457280} - */ - fileSize?: number; - - /** Sets the height of the browse button. - * @Default {35px} - */ - height?: string; - - /** Specifies the list of HTML attributes to be added to uploadbox control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Configures the culture data and sets the culture to the Uploadbox. - * @Default {en-US} - */ - locale?: string; - - /** Enables multiple file selection for upload. - * @Default {true} - */ - multipleFilesSelection?: boolean; - - /** You can push the file to the Uploadbox in the client-side of the XHR supported browsers alone. - * @Default {null} - */ - pushFile?: any; - - /** Specifies the remove action to be performed after the file uploading is completed. Here, mention the server address for removal. - */ - removeUrl?: string; - - /** Specifies the save action to be performed after the file is pushed for uploading. Here, mention the server address to be saved. - */ - saveUrl?: string; - - /** Enables the browse button support to the Uploadbox control. - * @Default {true} - */ - showBrowseButton?: boolean; - - /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. - * @Default {true} - */ - showFileDetails?: boolean; - - /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. - * @Default {true} - */ - showRoundedCorner?: boolean; - - /** Sets the name for the Uploadbox control. This API helps to Map the action in code behind to retrieve the files. - */ - uploadName?: string; - - /** Sets the width of the browse button. - * @Default {100px} - */ - width?: string; - - /** Fires when the upload progress beforeSend. */ - beforeSend?(e: BeforeSendEventArgs): void; - - /** Fires when the upload progress begins. */ - begin?(e: BeginEventArgs): void; - - /** Fires when the upload progress is cancelled. */ - cancel?(e: CancelEventArgs): void; - - /** Fires when the file upload progress is completed. */ - complete?(e: CompleteEventArgs): void; - - /** Fires when the file upload progress is succeeded. */ - success?(e: SuccessEventArgs): void; - - /** Fires when the Uploadbox control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the Uploadbox control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the Upload process ends in Error. */ - error?(e: ErrorEventArgs): void; - - /** Fires when the file is selected for upload successfully. */ - fileSelect?(e: FileSelectEventArgs): void; - - /** Fires when the file is uploading. */ - inProgress?(e: InProgressEventArgs): void; - - /** Fires when the uploaded file is removed successfully. */ - remove?(e: RemoveEventArgs): void; - } - - export interface BeforeSendEventArgs { - - /** Selected FileList Object. - */ - files?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Uploadbox model - */ - model?: any; - - /** XHR-AJAX Object for reference. - */ - xhr?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface BeginEventArgs { - - /** To pass additional information to the server. - */ - data?: any; - - /** Selected FileList Object. - */ - files?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CancelEventArgs { - - /** Canceled FileList Object. - */ - fileStatus?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CompleteEventArgs { - - /** AJAX event argument for reference. - */ - e?: any; - - /** Uploaded file list. - */ - files?: any; - - /** response from the server. - */ - responseText?: string; - - /** XHR-AJAX Object for reference. - */ - xhr?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface SuccessEventArgs { - - /** response from the server. - */ - responseText?: string; - - /** AJAX event argument for reference. - */ - e?: any; - - /** successfully uploaded files list. - */ - success?: any; - - /** Uploaded file list. - */ - files?: any; - - /** XHR-AJAX Object for reference. - */ - xhr?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ErrorEventArgs { - - /** details about the error information. - */ - error?: string; - - /** returns the name of the event. - */ - type?: string; - - /** error event action details. - */ - action?: string; - - /** returns the file details of the file uploaded - */ - files?: any; - } - - export interface FileSelectEventArgs { - - /** returns Selected FileList objects - */ - files?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface InProgressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** AJAX event argument for reference. - */ - e?: any; - - /** returns Selected FileList objects - */ - files?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the current progress percentage. - */ - percentage?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RemoveEventArgs { - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the file details of the file object - */ - fileStatus?: any; - } - - export interface ButtonText { - - /** Sets the text for the browse button. - */ - browse?: string; - - /** Sets the text for the cancel button. - */ - cancel?: string; - - /** Sets the text for the close button. - */ - Close?: string; - - /** Sets the text for the Upload button inside the dialog popup. - */ - upload?: string; - } - - export interface CustomFileDetails { - - /** Enables the file upload interactions like remove/cancel in File details of the dialog popup. - */ - action?: boolean; - - /** Enables the name in the File details of the dialog popup. - */ - name?: boolean; - - /** Enables or disables the File size details of the dialog popup. - */ - size?: boolean; - - /** Enables or disables the file uploading status visibility in the dialog file details content. - */ - status?: boolean; - - /** Enables the title in File details for the dialog popup. - */ - title?: boolean; - } - - export interface DialogAction { - - /** Once uploaded successfully, the dialog popup closes immediately. - */ - closeOnComplete?: boolean; - - /** Sets the content container option to the Uploadbox dialog popup. - */ - content?: string; - - /** Enables the drag option to the dialog popup. - */ - drag?: boolean; - - /** Enables or disables the Uploadbox dialog’s modal property to the dialog popup. - */ - modal?: boolean; - } - - export interface DialogText { - - /** Sets the uploaded file’s Name (header text) to the Dialog popup. - */ - name?: string; - - /** Sets the upload file Size (header text) to the dialog popup. - */ - size?: string; - - /** Sets the upload file Status (header text) to the dialog popup. - */ - status?: string; - - /** Sets the title text of the dialog popup. - */ - title?: string; - } - } - - class WaitingPopup extends ej.Widget { - static fn: WaitingPopup; - constructor(element: JQuery | Element, options?: WaitingPopup.Model); - static Locale: any; - model: WaitingPopup.Model; - defaults: WaitingPopup.Model; - - /** To hide the waiting popup - * @returns {void} - */ - hide(): void; - - /** Refreshes the WaitingPopup control by resetting the pop-up panel position and content position - * @returns {void} - */ - refresh(): void; - - /** To show the waiting popup - * @returns {void} - */ - show(): void; - } - export namespace WaitingPopup { - - export interface Model { - - /** Sets the root class for the WaitingPopup control theme - * @Default {null} - */ - cssClass?: string; - - /** Specifies the list of HTML attributes to be added to waitingpopup control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Enables or disables the default loading icon. - * @Default {true} - */ - showImage?: boolean; - - /** Enables the visibility of the WaitingPopup control - * @Default {false} - */ - showOnInit?: boolean; - - /** Specified a selector for elements, within the container. - * @Default {null} - */ - target?: string; - - /** Waitingpopup element append to given container element. - * @Default {null} - */ - appendTo?: string; - - /** Loads HTML content inside the popup panel instead of the default icon - * @Default {null} - */ - template?: any; - - /** Sets the custom text in the pop-up panel to notify the waiting process - * @Default {null} - */ - text?: string; - - /** Fires after Create WaitingPopup successfully */ - create?(e: CreateEventArgs): void; - - /** Fires after Destroy WaitingPopup successfully */ - destroy?(e: DestroyEventArgs): void; - } - - export interface CreateEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the WaitingPopup model - */ - model?: ej.WaitingPopup.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the WaitingPopup model - */ - model?: ej.WaitingPopup.Model; - - /** returns the name of the event - */ - type?: string; - } - } - - class Grid extends ej.Widget { - static fn: Grid; - constructor(element: JQuery | Element, options?: Grid.Model); - static Locale: any; - model: Grid.Model; - defaults: Grid.Model; - - /** Adds a grid model property which is to be ignored upon exporting. - * @param {Array} Pass the array of parameters which need to be ignored on exporting - * @returns {void} - */ - addIgnoreOnExport(propertyNames: any[]): void; - - /** Add a new record in grid control when allowAdding is set as true. - * @returns {void} - */ - //addRecord(): void; - - /** Add a new record in grid control when allowAdding is set as true. - * @param {Array} Pass the array of added Records - * @param {Array} optionalIf we pass serverChange as true, send post to server side for server action. - * @returns {void} - */ - addRecord(data: any[], serverChange?: any[]): void; - - /** Cancel the modified changes in grid control when edit mode is "batch". - * @returns {void} - */ - batchCancel(): void; - - /** Save the modified changes to data source in grid control when edit mode is "batch". - * @returns {void} - */ - batchSave(): void; - - /** Send a cancel request in grid. - * @returns {void} - */ - cancelEdit(): void; - - /** Send a cancel request to the edited cell in grid. - * @returns {void} - */ - cancelEditCell(): void; - - /** It is used to clear all the cell selection. - * @returns {Boolean} - */ - clearCellSelection(): boolean; - - /** It is used to clear specified cell selection based on the rowIndex and columnIndex provided. - * @param {number} It is used to pass the row index of the cell - * @param {number} It is used to pass the column index of the cell. - * @returns {Boolean} - */ - clearCellSelection(rowIndex: number, columnIndex: number): boolean; - - /** It is used to clear all the row selection or at specific row selection based on the index provided. - * @param {number} optional If index of the column is specified then it will remove the selection from the particular column else it will clears all of the column selection - * @returns {Boolean} - */ - clearColumnSelection(index?: number): boolean; - - /** It is used to clear all the filtering done. - * @param {string} If field of the column is specified then it will clear the particular filtering column - * @returns {void} - */ - clearFiltering(field: string): void; - - /** Clear the searching from the grid - * @returns {void} - */ - clearSearching(): void; - - /** Clear all the row selection or at specific row selection based on the index provided - * @param {number} optional If index of the row is specified then it will remove the selection from the particular row else it will clears all of the row selection - * @returns {Boolean} - */ - clearSelection(index?: number): boolean; - - /** Clear the sorting from columns in the grid - * @returns {void} - */ - clearSorting(): void; - - /** Collapse all the group caption rows in grid - * @returns {void} - */ - collapseAll(): void; - - /** Collapse the group drop area in grid - * @returns {void} - */ - collapseGroupDropArea(): void; - - /** Add or remove columns in grid column collections - * @param {Array|string} Pass array of columns or string of field name to add/remove the column in grid - * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform - * @returns {void} - */ - columns(columnDetails: any[] | string, action?: string): void; - - /** Refresh the grid with new data source - * @param {Array} Pass new data source to the grid - * @param {boolean} optional When templateRefresh is set true, both header and contents get refreshed - * @returns {void} - */ - dataSource(datasource: any[], templateRefresh?: boolean): void; - - /** Delete a record in grid control when allowDeleting is set as true - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the JSON data of record need to be delete. - * @returns {void} - */ - deleteRecord(fieldName: string, data: any[]): void; - - /** Delete the row based on the given tr element in grid. - * @param {JQuery} Pass the tr element in grid content to get its row index - * @returns {HTMLElement} - */ - deleteRow($tr: JQuery): HTMLElement; - - /** Destroy the grid widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Edit a particular cell based on the row index and field name provided in "batch" edit mode. - * @param {number} Pass row index to edit particular cell - * @param {string} Pass the field name of the column to perform batch edit - * @returns {void} - */ - editCell(index: number, fieldName: string): void; - - /** It returns a value and if the input field values of edit form is not based on the validation rules then it will show the validation message. - * @returns {Boolean} - */ - editFormValidate(): boolean; - - /** Send a save request in grid. - * @returns {void} - */ - endEdit(): void; - - /** Expand all the group caption rows in grid. - * @returns {void} - */ - expandAll(): void; - - /** Expand or collapse the row based on the row state in grid - * @param {JQuery} Pass the target object to expand/collapse the row based on its row state - * @returns {void} - */ - expandCollapse($target: JQuery): void; - - /** Expand the group drop area in grid. - * @returns {void} - */ - expandGroupDropArea(): void; - - /** Export the grid content to excel, word or PDF document. - * @param {string} Pass the controller action name corresponding to exporting - * @param {string} optionalASP server event name corresponding to exporting - * @param {boolean} optionalPass the multiple exporting value as true/false - * @param {Array} optionalPass the array of the gridIds to be filtered - * @returns {void} - */ - export(action: string, serverEvent?: string, multipleExport?: boolean, gridIds?: any[]): void; - - /** Send a filtering request to filter one column in grid. - * @param {Array} Pass the field name of the column - * @param {string} string/integer/dateTime operator - * @param {string} Pass the value to be filtered in a column - * @param {string} Pass the predicate as and/or - * @param {boolean} optional Pass the match case value as true/false - * @param {any} optionalactualFilterValue denote the filter object of current filtered columns.Pass the value to filtered in a column - * @returns {void} - */ - filterColumn(fieldName: any[], filterOperator: string, filterValue: string, predicate: string, matchcase?: boolean, actualFilterValue?: any): void; - - /** Send a filtering request to filter single or multiple column in grid. - * @param {Array} Pass array of filterColumn query for performing filter operation - * @returns {void} - */ - filterColumn(filterQueries: any[]): void; - - /** Get the batch changes of edit, delete and add operations of grid. - * @returns {any} - */ - getBatchChanges(): any; - - /** Get the browser details - * @returns {any} - */ - getBrowserDetails(): any; - - /** Get the column details based on the given field in grid - * @param {string} Pass the field name of the column to get the corresponding column object - * @returns {any} - */ - getColumnByField(fieldName: string): any; - - /** Get the column details based on the given header text in grid. - * @param {string} Pass the header text of the column to get the corresponding column object - * @returns {any} - */ - getColumnByHeaderText(headerText: string): any; - - /** Get the column details based on the given column index in grid - * @param {number} Pass the index of the column to get the corresponding column object - * @returns {any} - */ - getColumnByIndex(columnIndex: number): any; - - /** Get the list of field names from column collection in grid. - * @returns {Array} - */ - getColumnFieldNames(): any[]; - - /** Get the column index of the given field in grid. - * @param {string} Pass the field name of the column to get the corresponding column index - * @returns {number} - */ - getColumnIndexByField(fieldName: string): number; - - /** Get the column index of the given headerText of column in grid. - * @param {string} Pass the headerText of the column to get that column index - * @param {string} optionalOptional Pass the field name of the column. - * @returns {number} - */ - getColumnIndexByHeaderText(headerText: string, field?: string): number; - - /** Get the content div element of grid. - * @returns {HTMLElement} - */ - getContent(): HTMLElement; - - /** Get the content table element of grid - * @returns {Array} - */ - getContentTable(): HTMLTableElement[]; - - /** Get the data of currently edited cell value in "batch" edit mode - * @returns {any} - */ - getCurrentEditCellData(): any; - - /** Get the current page index in grid pager. - * @returns {number} - */ - getCurrentIndex(): number; - - /** Get the current page data source of grid. - * @returns {Array} - */ - getCurrentViewData(): any[]; - - /** Get the data of given row index in grid. - * @returns {any} - */ - getDataByIndex(): any; - - /** Get the column field name from the given header text in grid. - * @param {string} Pass header text of the column to get its corresponding field name - * @returns {String} - */ - getFieldNameByHeaderText(headerText: string): string; - - /** Get the filter bar of grid - * @returns {HTMLElement} - */ - getFilterBar(): HTMLElement; - - /** Get the records filtered or searched in Grid - * @returns {Array} - */ - getFilteredRecords(): any[]; - - /** Get the footer content of grid. - * @returns {HTMLElement} - */ - getFooterContent(): HTMLElement; - - /** Get the footer table element of grid. - * @returns {HTMLElement} - */ - getFooterTable(): HTMLElement; - - /** Get the header content div element of grid. - * @returns {HTMLElement} - */ - getHeaderContent(): HTMLElement; - - /** Get the header table element of grid - * @returns {HTMLElement} - */ - getHeaderTable(): HTMLElement; - - /** Get the column header text from the given field name in grid. - * @param {string} Pass field name of the column to get its corresponding header text - * @returns {String} - */ - getHeaderTextByFieldName(field: string): string; - - /** Get the names of all the hidden column collections in grid. - * @returns {Array} - */ - getHiddenColumnNames(): any[]; - - /** Get the row index based on the given tr element in grid. - * @param {JQuery} Pass the tr element in grid content to get its row index - * @returns {number} - */ - getIndexByRow($tr: JQuery): number; - - /** Get the pager of grid. - * @returns {HTMLElement} - */ - getPager(): HTMLElement; - - /** Get the names of primary key columns in Grid - * @returns {Array} - */ - getPrimaryKeyFieldNames(): any[]; - - /** Get the rows(tr element) from the given from and to row index in grid - * @param {number} Pass the from index from which the rows to be returned - * @param {number} Pass the to index to which the rows to be returned - * @returns {HTMLElement} - */ - getRowByIndex(from: number, to: number): HTMLElement; - - /** Get the row height of grid. - * @returns {number} - */ - getRowHeight(): number; - - /** Get the rows(tr element)of grid which is displayed in the current page. - * @returns {HTMLElement} - */ - getRows(): HTMLElement; - - /** Get the scroller object of grid. - * @returns {ej.Scroller} - */ - getScrollObject(): ej.Scroller; - - /** Get the selected records details in grid. - * @returns {Array} - */ - getSelectedRecords(): any[]; - - /** Get the selected row element details in grid. - * @returns {Array} - */ - getSelectedRows(): any[]; - - /** It accepts the string value and returns the field and sorted direction of the column in grid. - * @param {string} Pass the field of the column to get the sorted direction of the corresponding column in Grid. - * @returns {number} - */ - getsortColumnByField(field: string): number; - - /** Get the calculated summary values of JSON data passed to it - * @param {any} Pass Summary Column details - * @param {any} Pass JSON Array for which its field values to be calculated - * @returns {Number} - */ - getSummaryValues(summaryCol: any, summaryData: any): number; - - /** Get the names of all the visible column collections in grid - * @returns {Array} - */ - getVisibleColumnNames(): any[]; - - /** Send a paging request to specified page in grid - * @param {number} Pass the page index to perform paging at specified page index - * @returns {void} - */ - gotoPage(pageIndex: number): void; - - /** Send a column grouping request in grid. - * @param {string} Pass the field Name of the column to be grouped in grid control - * @returns {void} - */ - groupColumn(fieldName: string): void; - - /** Hide columns from the grid based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide - * @returns {void} - */ - hideColumns(headerText: any[] | string): void; - - /** Print the grid control - * @returns {void} - */ - print(): void; - - /** It is used to refresh and reset the changes made in "batch" edit mode - * @returns {void} - */ - refreshBatchEditChanges(): void; - - /** It is used to refresh the grid header. - * @returns {void} - */ - refreshHeader(): void; - - /** Refresh the grid contents. The template refreshment is based on the argument passed along with this method - * @param {boolean} optional When templateRefresh is set true, template and grid contents both are refreshed in grid else only grid content is refreshed - * @returns {void} - */ - refreshContent(templateRefresh?: boolean): void; - - /** Refresh the template of the grid - * @returns {void} - */ - refreshTemplate(): void; - - /** Refresh the toolbar items in grid. - * @returns {void} - */ - refreshToolbar(): void; - - /** Remove a column or collection of columns from a sorted column collections in grid. - * @param {Array|string} Pass array of field names of the columns to remove a collection of sorted columns or pass a string of field name to remove a column from sorted column collections - * @returns {void} - */ - removeSortedColumns(fieldName: any[] | string): void; - - /** Creates a grid control - * @returns {void} - */ - render(): void; - - /** Re-order the column in grid - * @param {string} Pass the from field name of the column needs to be changed - * @param {string} Pass the to field name of the column needs to be changed - * @returns {void} - */ - reorderColumns(fromFieldName: string, toFieldName: string): void; - - /** Re-order the row in grid - * @param {Array} Pass the indexes of the rows needs to reorder. - * @param {number} Pass the index of a row where to be reordered. - * @returns {void} - */ - reorderRows(indexes: any[], toindex: number): void; - - /** Reset the model collections like pageSettings, groupSettings, filterSettings, sortSettings and summaryRows. - * @returns {void} - */ - resetModelCollections(): void; - - /** Resize the columns by giving column name and width for the corresponding one. - * @param {string} Pass the column name that needs to be changed - * @param {string} Pass the width to resize the particular columns - * @returns {void} - */ - resizeColumns(column: string, width: string): void; - - /** Resolves row height issue when unbound column is used with FrozenColumn - * @returns {void} - */ - rowHeightRefresh(): void; - - /** Save the particular edited cell in grid. - * @returns {void} - */ - //saveCell(): void; - - /** We can prevent the client side cellSave event triggering by passing the preventSaveEvent argument as true. - * @param {boolean} optionalIf we pass preventSaveEvent as true, it prevents the client side cellSave event triggering - * @returns {void} - */ - saveCell(preventSaveEvent: boolean): void; - - /** Set dimension for grid with corresponding to grid parent. - * @param {number} Pass the height of the grid container - * @param {number} Pass the width of the grid container - * @returns {void} - */ - setDimension(height: number, width: number): void; - - /** Send a request to grid to refresh the width set to columns - * @returns {void} - */ - setWidthToColumns(): void; - - /** Send a search request to grid with specified string passed in it - * @param {string} Pass the string to search in Grid records - * @returns {void} - */ - search(searchString: string): void; - - /** Select cells in grid. - * @param {any} It is used to set the starting index of row and indexes of cells for that corresponding row for selecting cells. - * @returns {void} - */ - selectCells(rowCellIndexes: any): void; - - /** Select columns in grid. - * @param {number} It is used to set the starting index of column for selecting columns. - * @returns {void} - */ - selectColumns(fromIndex: number): void; - - /** Select the specified columns in grid based on Index provided. - * @param {number} It is used to set the starting index of column for selecting columns. - * @param {number} optionalIt is used to set the ending index of column for selecting columns. - * @returns {Boolean} - */ - selectColumns(columnIndex: number, toIndex?: number): boolean; - - /** Select rows in grid. - * @param {number} It is used to set the starting index of row for selecting rows. - * @param {number} It is used to set the ending index of row for selecting rows. - * @returns {void} - */ - selectRows(fromIndex: number, toIndex: number): void; - - /** Select specified rows in grid based on Index provided. - * @param {Array|number} It is used to set the starting index of row for selecting rows. - * @param {number} optionalIt is used to set the ending index of row for selecting rows. - * @param {any} optionalTarget element which is clicked. - * @returns {void} - */ - selectRows(from: any[] | number, to: number, target?: any): void; - - /** Select rows in grid. - * @param {Array} Pass array of rowIndexes for selecting rows - * @returns {void} - */ - selectRows(rowIndexes: any[]): void; - - /** Used to update a particular cell value. - * @returns {void} - */ - setCellText(): void; - - /** Used to update a particular cell value based on specified row Index and the fieldName. - * @param {number} It is used to set the index for selecting the row. - * @param {string} It is used to set the field name for selecting column. - * @param {any} It is used to set the value for the selected cell. - * @returns {void} - */ - setCellValue(Index: number, fieldName: string, value: any): void; - - /** It sets the default data to the column in grid during adding record in batch edit mode. - * @returns {void} - */ - setDefaultData(): void; - - /** The grid rows has to be rendered as detail view in mobile mode based on given value. - * @param {number} It is used to render grid rows as details view in mobile mode. - * @returns {void} - */ - setPhoneModeMaxWidth(Index: number): void; - - /** Set validation to edit form in the grid. - * @returns {void} - */ - setValidation(): void; - - /** Set validation to a particular input field in a edit form dynamically. - * @param {string} Specify the field name of the column to set validation rules - * @param {any} Specify the validation rules for the field - * @returns {void} - */ - setValidationToField(fieldName: string, rules: any): void; - - /** Show columns in the grid based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to show - * @returns {void} - */ - showColumns(headerText: any[] | string): void; - - /** Send a sorting request in grid. - * @param {string} Pass the field name of the column as columnName for which sorting have to be performed - * @param {string} optional Pass the sort direction ascending/descending by which the column have to be sort. By default it is sorting in an ascending order - * @returns {void} - */ - sortColumn(columnName: string, sortingDirection?: string): void; - - /** Send an edit record request in grid - * @param {JQuery} Pass the tr- selected row element to be edited in grid - * @returns {void} - */ - startEdit($tr: JQuery): void; - - /** Un-group a column from grouped columns collection in grid - * @param {string} Pass the field Name of the column to be ungrouped from grouped column collection - * @returns {void} - */ - ungroupColumn(fieldName: string): void; - - /** Update a edited record in grid control when allowEditing is set as true. - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the edited JSON data of record need to be update. - * @returns {void} - */ - updateRecord(fieldName: string, data: any[]): void; - - /** It adapts grid to its parent element or to the browsers window. - * @returns {void} - */ - windowonresize(): void; - } - export namespace Grid { - - export interface Model { - - /** Gets or sets a value that indicates whether to customizing cell based on our needs. - * @Default {false} - */ - allowCellMerging?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic grouping behavior. Grouping can be done by drag on drop desired columns to grid’s GroupDropArea. - * This can be further customized through “groupSettings” property. - * @Default {false} - */ - allowGrouping?: boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for performing grid actions. selectionType – Gets or sets a value that indicates whether to enable single - * row or multiple rows selection behavior in grid. Multiple selection can be done through by holding CTRL and clicking the grid rows - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic filtering behavior on grid. Filtering can be used to limit the records displayed using required criteria and - * this can be further customized through “filterSettings” property - * @Default {false} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. - * @Default {false} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable multi columns sorting behavior in grid. Sort multiple columns by holding CTRL and click on the corresponding column header. - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** This specifies the grid to show the paginated data. Also enables pager control at the bottom of grid for dynamic navigation through data source. - * Paging can be further customized through “pageSettings” property. - * @Default {false} - */ - allowPaging?: boolean; - - /** Gets or sets a value that indicates whether to enable the columns reordering behavior in the grid. Reordering can be done through by drag and drop the particular column - * from one index to another index within the grid. - * @Default {false} - */ - allowReordering?: boolean; - - /** Gets or sets a value that indicates whether the column is non resizable. Column width is set automatically based on the content or header text which is large. - * @Default {false} - */ - allowResizeToFit?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic resizable of columns. Resize the width of the columns by simply click and move the particular column header line - * @Default {false} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable the rows reordering in Grid and drag & drop rows between multiple Grid. - * @Default {false} - */ - allowRowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable the scrollbar in the grid and view the records by scroll through the grid manually - * @Default {false} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic searching behavior in grid. Currently search box can be enabled through “toolbarSettings” - * @Default {false} - */ - allowSearching?: boolean; - - /** Gets or sets a value that indicates whether user can select rows on grid. On enabling feature, selected row will be highlighted. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether the Content will wrap to the next line if the content exceeds the boundary of the Column Cells. - * @Default {false} - */ - allowTextWrap?: boolean; - - /** Gets or sets a value that indicates whether to enable the multiple exporting behavior on grid data. - * @Default {false} - */ - allowMultipleExporting?: boolean; - - /** Gets or sets a value that indicates to define common width for all the columns in the grid. - */ - commonWidth?: number; - - /** Gets or sets a value that indicates to enable the visibility of the grid lines. - * @Default {ej.Grid.GridLines.Both} - */ - gridLines?: ej.Grid.GridLines | string; - - /** This specifies the grid to add the grid control inside the grid row of the parent with expand/collapse options - * @Default {null} - */ - childGrid?: any; - - /** Used to enable or disable static width settings for column. If the columnLayout is set as fixed, then column width will be static. - * @Default {ej.Grid.ColumnLayout.Auto} - */ - columnLayout?: ej.Grid.ColumnLayout | string; - - /** Gets or sets an object that indicates to render the grid with specified columns - * @Default {[]} - */ - columns?: Column[]; - - /** Gets or sets an object that indicates whether to customize the context menu behavior of the grid. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Gets or sets a value that indicates to render the grid with custom theme. - */ - cssClass?: string; - - /** Gets or sets the data to render the grid with records - * @Default {null} - */ - dataSource?: any; - - /** Default Value: - * @Default {null} - */ - detailsTemplate?: string; - - /** Gets or sets an object that indicates whether to customize the editing behavior of the grid. - */ - editSettings?: EditSettings; - - /** Gets or sets a value that indicates whether to enable the alternative rows differentiation in the grid records based on corresponding theme. - * @Default {true} - */ - enableAltRow?: boolean; - - /** Gets or sets a value that indicates whether to enable the save action in the grid through row selection - * @Default {true} - */ - enableAutoSaveOnSelectionChange?: boolean; - - /** Gets or sets a value that indicates whether to enable mouse over effect on the corresponding column header cell of the grid - * @Default {false} - */ - enableHeaderHover?: boolean; - - /** Gets or sets a value that indicates whether to persist the grid model state in page using applicable medium i.e., HTML5 localStorage or cookies - * @Default {false} - */ - enablePersistence?: boolean; - - /** Gets or sets a value that indicates whether the grid rows has to be rendered as detail view in mobile mode - * @Default {false} - */ - enableResponsiveRow?: boolean; - - /** Gets or sets a value that indicates whether to enable mouse over effect on corresponding grid row. - * @Default {true} - */ - enableRowHover?: boolean; - - /** Align content in the grid control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** To Disable the mouse swipe property as false. - * @Default {true} - */ - enableTouch?: boolean; - - /** It sets a value that indicates whether to enable toolbar items, when allowEditing, allowAdding and allowDeleting property set as false in the grid. - * @Default {false} - */ - enableToolbarItems?: boolean; - - /** Act as mapper for the excel exporting URL. - * @Default {ExportToExcel} - */ - exportToExcelAction?: string; - - /** Act as mapper for the PDF exporting URL. - * @Default {ExportToPdf} - */ - exportToPdfAction?: string; - - /** Act as mapper for the Word exporting URL. - * @Default {ExportToWord} - */ - exportToWordAction?: string; - - /** Gets or sets an object that indicates whether to customize the filtering behavior of the grid - */ - filterSettings?: FilterSettings; - - /** Gets or sets an object that indicates whether to customize the grouping behavior of the grid. - */ - groupSettings?: GroupSettings; - - /** Gets or sets a value that indicates whether the grid design has be to made responsive. - * @Default {false} - */ - isResponsive?: boolean; - - /** This specifies to change the key in keyboard interaction to grid control - * @Default {null} - */ - keySettings?: any; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and - * culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets a value that indicates whether to set the minimum width of the responsive grid while isResponsive property is true and enableResponsiveRow property is set as false. - * @Default {0} - */ - minWidth?: number; - - /** Gets or sets an object that indicates whether to modify the pager default configuration. - */ - pageSettings?: PageSettings; - - /** Query the dataSource from the table for Grid. - * @Default {null} - */ - query?: any; - - /** Gets or sets an object that indicates whether to modify the resizing behavior. - */ - resizeSettings?: ResizeSettings; - - /** Gets or sets a value that indicates to render the grid with template rows. The template row must be a table row. That table row must have the JavaScript render binding format ({{:columnName}}) - * then the grid data source binds the data to the corresponding table row of the template. - * @Default {null} - */ - rowTemplate?: string; - - /** Gets or sets an object that indicates whether to customize the drag and drop behavior of the grid rows - */ - rowDropSettings?: RowDropSettings; - - /** Gets or sets an object that indicates whether to customize the searching behavior of the grid - */ - searchSettings?: SearchSettings; - - /** Gets a value that indicates whether the grid model to hold multiple selected records . selectedRecords can be used to displayed hold the single - * or multiple selected records using “selectedRecords” property - * @Default {null} - */ - selectedRecords?: any[]; - - /** Gets or sets a value that indicates to select the row while initializing the grid - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Gets or sets a value that indicates the selected rows in grid - * @Default {[]} - */ - selectedRowIndices?: any[]; - - /** This property is used to configure the selection behavior of the grid. - */ - selectionSettings?: SelectionSettings; - - /** The row selection behavior of grid. Accepting types are "single" and "multiple". - * @Default {ej.Grid.SelectionType.Single} - */ - selectionType?: ej.Grid.SelectionType | string; - - /** Gets or sets an object that indicates whether to customize the scrolling behavior of the grid. - */ - scrollSettings?: ScrollSettings; - - /** Default Value: - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Gets or sets a value that indicates stacked header should be shown on grid layout when the property “stackedHeaderRows” is set. - * @Default {false} - */ - showStackedHeader?: boolean; - - /** Gets or sets a value that indicates summary rows should be shown on grid layout when the property “summaryRows” is set - * @Default {false} - */ - showSummary?: boolean; - - /** Gets or sets a value that indicates whether to customize the sorting behavior of the grid. - */ - sortSettings?: SortSettings; - - /** Gets or sets an object that indicates to managing the collection of stacked header rows for the grid. - * @Default {[]} - */ - stackedHeaderRows?: StackedHeaderRow[]; - - /** Gets or sets an object that indicates to managing the collection of summary rows for the grid. - * @Default {[]} - */ - summaryRows?: SummaryRow[]; - - /** Gets or sets an object that indicates whether to auto wrap the grid header or content or both - */ - textWrapSettings?: TextWrapSettings; - - /** Gets or sets an object that indicates whether to enable the toolbar in the grid and add toolbar items - */ - toolbarSettings?: ToolbarSettings; - - /** Triggered for every grid action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every grid action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered for every grid action server failure event. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggered when record batch add. */ - batchAdd?(e: BatchAddEventArgs): void; - - /** Triggered when record batch delete. */ - batchDelete?(e: BatchDeleteEventArgs): void; - - /** Triggered before the batch add. */ - beforeBatchAdd?(e: BeforeBatchAddEventArgs): void; - - /** Triggered before the batch delete. */ - beforeBatchDelete?(e: BeforeBatchDeleteEventArgs): void; - - /** Triggered before the batch save. */ - beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; - - /** Triggered before the print. */ - beforePrint?(e: BeforePrintEventArgs): void; - - /** Triggered before row drop in the grid */ - beforeRowDrop?(e: BeforeRowDropEventArgs): void; - - /** Triggered before the record is going to be edited. */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered when record cell edit. */ - cellEdit?(e: CellEditEventArgs): void; - - /** Triggered when record cell save. */ - cellSave?(e: CellSaveEventArgs): void; - - /** Triggered after the cell is selected. */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered before the cell is going to be selected. */ - cellSelecting?(e: CellSelectingEventArgs): void; - - /** Triggered after the cell is deselected. */ - cellDeselected?(e: CellDeselectedEventArgs): void; - - /** Triggered before the cell is going to be deselected. */ - cellDeselecting?(e: CellDeselectingEventArgs): void; - - /** Triggered when the column is being dragged. */ - columnDrag?(e: ColumnDragEventArgs): void; - - /** Triggered when column dragging begins. */ - columnDragStart?(e: ColumnDragStartEventArgs): void; - - /** Triggered when the column is dropped. */ - columnDrop?(e: ColumnDropEventArgs): void; - - /** Triggered when the row is being dragged. */ - rowDrag?(e: RowDragEventArgs): void; - - /** Triggered when row dragging begins. */ - rowDragStart?(e: RowDragStartEventArgs): void; - - /** Triggered when the row is dropped. */ - rowDrop?(e: RowDropEventArgs): void; - - /** Triggered after the column is selected. */ - columnSelected?(e: ColumnSelectedEventArgs): void; - - /** Triggered before the column is going to be selected. */ - columnSelecting?(e: ColumnSelectingEventArgs): void; - - /** Triggered after the column is deselected. */ - columnDeselected?(e: ColumnDeselectedEventArgs): void; - - /** Triggered before the column is going to be deselected. */ - columnDeselecting?(e: ColumnDeselectingEventArgs): void; - - /** Triggered when context menu item is clicked */ - contextClick?(e: ContextClickEventArgs): void; - - /** Triggered before the context menu is opened. */ - contextOpen?(e: ContextOpenEventArgs): void; - - /** Triggered when the grid is rendered completely. */ - create?(e: CreateEventArgs): void; - - /** Triggered when the grid is bound with data during initial rendering. */ - dataBound?(e: DataBoundEventArgs): void; - - /** Triggered when grid going to destroy. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered when detail template row is clicked to collapse. */ - detailsCollapse?(e: DetailsCollapseEventArgs): void; - - /** Triggered detail template row is initialized. */ - detailsDataBound?(e: DetailsDataBoundEventArgs): void; - - /** Triggered when detail template row is clicked to expand. */ - detailsExpand?(e: DetailsExpandEventArgs): void; - - /** Triggered after the record is added. */ - endAdd?(e: EndAddEventArgs): void; - - /** Triggered after the record is deleted. */ - endDelete?(e: EndDeleteEventArgs): void; - - /** Triggered after the record is edited. */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggered initial load. */ - load?(e: LoadEventArgs): void; - - /** Triggered every time a request is made to access particular cell information, element and data. */ - mergeCellInfo?(e: MergeCellInfoEventArgs): void; - - /** Triggered every time a request is made to access particular cell information, element and data. */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered when record is clicked. */ - recordClick?(e: RecordClickEventArgs): void; - - /** Triggered when record is double clicked. */ - recordDoubleClick?(e: RecordDoubleClickEventArgs): void; - - /** Triggered after column resized. */ - resized?(e: ResizedEventArgs): void; - - /** Triggered when column resize end. */ - resizeEnd?(e: ResizeEndEventArgs): void; - - /** Triggered when column resize start. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggered when right clicked on grid element. */ - rightClick?(e: RightClickEventArgs): void; - - /** Triggered every time a request is made to access row information, element and data. */ - rowDataBound?(e: RowDataBoundEventArgs): void; - - /** Triggered after the row is selected. */ - rowSelected?(e: RowSelectedEventArgs): void; - - /** Triggered before the row is going to be selected. */ - rowSelecting?(e: RowSelectingEventArgs): void; - - /** Triggered after the row is deselected. */ - rowDeselected?(e: RowDeselectedEventArgs): void; - - /** Triggered before the row is going to be deselected. */ - rowDeselecting?(e: RowDeselectingEventArgs): void; - - /** Triggered when refresh the template column elements in the Grid. */ - templateRefresh?(e: TemplateRefreshEventArgs): void; - - /** Triggered when toolbar item is clicked in grid. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current selected page number. - */ - currentPage?: number; - - /** Returns the previous selected page number. - */ - previousPage?: number; - - /** Returns the end row index of that current page. - */ - endIndex?: number; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the start row index of that current page. - */ - startIndex?: number; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns the column sort direction. - */ - columnSortDirection?: string; - - /** Returns current edited row. - */ - row?: any; - - /** Returns the current action event type. - */ - originalEventType?: string; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the record object (JSON). - */ - data?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the selected row index. - */ - selectedRow?: number; - - /** Returns selected row for delete. - */ - tr?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: any; - - /** Returns current filtering object. - */ - currentFilterObject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - - /** Returns type of the column like number, string and so on. - */ - columnType?: string; - - /** Returns the excel filter model. - */ - filtermodel?: any; - - /** Returns the dataSource. - */ - dataSource?: any; - - /** Returns the query manager. - */ - query?: any; - - /** Returns the customfilter option value. - */ - isCustomFilter?: boolean; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current selected page number. - */ - currentPage?: number; - - /** Returns the previous selected page number. - */ - previousPage?: number; - - /** Returns the end row index of that current page. - */ - endIndex?: number; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns the start row index of the current page. - */ - startIndex?: number; - - /** Returns grid element. - */ - target?: any; - - /** Returns the current sorted column field name. - */ - columnName?: string; - - /** Returns the column sort direction. - */ - columnSortDirection?: string; - - /** Returns current edited row. - */ - row?: any; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the record object (JSON). - */ - data?: any; - - /** Returns the selectedRow index. - */ - selectedRow?: number; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns selected row for delete. - */ - tr?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns current filtering object. - */ - currentFilterObject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - - /** Returns the dataSource. - */ - dataSource?: any; - - /** Returns the excel filter model. - */ - filtermodel?: any; - - /** Returns type of the column like number, string and so on. - */ - columnType?: string; - - /** Returns the customfilter option value. - */ - isCustomFilter?: boolean; - } - - export interface ActionFailureEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the error return by server. - */ - error?: any; - - /** Returns the current selected page number. - */ - currentPage?: number; - - /** Returns the previous selected page number. - */ - previousPage?: number; - - /** Returns the end row index of that current page. - */ - endIndex?: number; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns the start row index of the current page. - */ - startIndex?: number; - - /** Returns grid element. - */ - target?: any; - - /** Returns the current sorted column field name. - */ - columnName?: string; - - /** Returns the column sort direction. - */ - columnSortDirection?: string; - - /** Returns current edited row. - */ - row?: any; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the record object (JSON). - */ - data?: any; - - /** Returns the selectedRow index. - */ - selectedRow?: number; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns selected row for delete. - */ - tr?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns current filtering object. - */ - currentFilterObject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface BatchAddEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column object. - */ - columnObject?: any; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the row element. - */ - row?: any; - - /** Returns the primaryKey. - */ - primaryKey?: any; - - /** Returns the cell object. - */ - cell?: any; - } - - export interface BatchDeleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the primary key. - */ - primaryKey?: any; - - /** Returns the row Index. - */ - rowIndex?: number; - } - - export interface BeforeBatchAddEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the default data object. - */ - defaultData?: any; - - /** Returns the primaryKey. - */ - primaryKey?: any; - } - - export interface BeforeBatchDeleteEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the primaryKey. - */ - primaryKey?: any; - - /** Returns the row index. - */ - rowIndex?: number; - - /** Returns the row data. - */ - rowData?: any; - - /** Returns the row element. - */ - row?: any; - } - - export interface BeforeBatchSaveEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the changed record object. - */ - batchChanges?: any; - } - - export interface BeforePrintEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Grid element. - */ - element?: any; - - /** Returns the selected records. - */ - selectedRows?: any; - } - - export interface BeforeRowDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the targeted row. - */ - target?: any; - - /** Returns the targeted row index. - */ - targetIndex?: any; - - /** Returns the dragged record details - */ - draggedRecords?: any; - - /** Returns the drop details - */ - dropDetails?: any; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current edited row. - */ - row?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the primary key. - */ - primaryKey?: any; - - /** Returns the primary key value. - */ - primaryKeyValue?: any; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellEditEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the validation rules. - */ - validationRules?: any; - - /** Returns the column name. - */ - columnName?: string; - - /** Returns the cell value. - */ - value?: string; - - /** Returns the row data object. - */ - rowData?: any; - - /** Returns the previous value of the cell. - */ - previousValue?: string; - - /** Returns the column object. - */ - columnObject?: any; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns isForeignKey option value. - */ - isForeignKey?: boolean; - } - - export interface CellSaveEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column name. - */ - columnName?: string; - - /** Returns the cell value. - */ - value?: string; - - /** Returns the row data object. - */ - rowData?: any; - - /** Returns the previous value of the cell. - */ - previousValue?: string; - - /** Returns the column object. - */ - columnObject?: any; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns isForeignKey option value. - */ - isForeignKey?: boolean; - } - - export interface CellSelectedEventArgs { - - /** Returns the selected cell index value. - */ - cellIndex?: number; - - /** Returns the previous selected cell index value. - */ - previousRowCellIndex?: number; - - /** Returns the selected cell element. - */ - currentCell?: any; - - /** Returns the previous selected cell element. - */ - previousRowCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the selected row cell index values. - */ - selectedRowCellIndex?: any[]; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellSelectingEventArgs { - - /** Returns the selected cell index value. - */ - cellIndex?: number; - - /** Returns the previous selected cell index value. - */ - previousRowCellIndex?: number; - - /** Returns the selected cell element. - */ - currentCell?: any; - - /** Returns the previous selected cell element. - */ - previousRowCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns whether the ctrl key is pressed while selecting cell - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while selecting cell - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellDeselectedEventArgs { - - /** Returns the deselected cell index value. - */ - cellIndex?: number; - - /** Returns the deselected cell element. - */ - currentCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellDeselectingEventArgs { - - /** Returns the deselecting cell index value. - */ - cellIndex?: number; - - /** Returns the deselecting cell element. - */ - currentCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns whether the ctrl key is pressed while deselecting cell - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while deselecting cell - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable column object. - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns target elements based on mouse move position. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable column object. - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns drag start element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: string; - - /** Returns the draggable column object. - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns dropped dragged element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable row object. - */ - target?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns target elements based on mouse move position. - */ - currentTarget?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns JSON data of dragged rows. - */ - data?: any; - } - - export interface RowDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable row object. - */ - target?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns drag start element cell. - */ - currentTarget?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the JSON data of dragged rows. - */ - data?: any; - } - - export interface RowDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: string; - - /** Returns the draggable row object. - */ - rows?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the current mouse position cell element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the JSON data of dragged rows. - */ - data?: any; - } - - export interface ColumnSelectedEventArgs { - - /** Returns the selected cell index value. - */ - columnIndex?: number; - - /** Returns the previous selected column index value. - */ - previousColumnIndex?: number; - - /** Returns the selected header cell element. - */ - headerCell?: any; - - /** Returns the previous selected header cell element. - */ - prevColumnHeaderCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns the selected columns values. - */ - selectedColumnsIndex?: any[]; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnSelectingEventArgs { - - /** Returns the selected column index value. - */ - columnIndex?: number; - - /** Returns the previous selected column index value. - */ - previousColumnIndex?: number; - - /** Returns the selected header cell element. - */ - headerCell?: any; - - /** Returns the previous selected header cell element. - */ - prevColumnHeaderCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns whether the ctrl key is pressed while selecting cell - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while selecting cell - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDeselectedEventArgs { - - /** Returns the Deselected column index value. - */ - columnIndex?: number; - - /** Returns the Deselected column header element. - */ - headerCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDeselectingEventArgs { - - /** Returns the deselecting column index value. - */ - columnIndex?: number; - - /** Returns the deselecting column header element. - */ - headerCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns whether the ctrl key is pressed while deselecting column - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while deselecting column - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the status of contextmenu item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the status of contextmenu item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DetailsCollapseEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns detail row element. - */ - detailsRow?: any; - - /** Returns master row of detail row record object (JSON). - */ - masterData?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns master row element. - */ - masterRow?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DetailsDataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns details row element. - */ - detailsElement?: any; - - /** Returns the details row data. - */ - data?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DetailsExpandEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns detail row element. - */ - detailsRow?: any; - - /** Returns master row of detail row record object (JSON). - */ - masterData?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns master row element. - */ - masterRow?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndAddEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns added data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndDeleteEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndEditEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns modified data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface LoadEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface MergeCellInfoEventArgs { - - /** Returns grid cell. - */ - cell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the text value in the cell. - */ - text?: string; - - /** Returns the column object. - */ - column?: any; - - /** Method to merge Grid rows. - */ - rowMerge?: any; - - /** Method to merge Grid columns. - */ - colMerge?: any; - - /** Method to merge Grid rows and columns. - */ - merge?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns grid cell. - */ - cell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the text value in the cell. - */ - text?: string; - - /** Returns the column object. - */ - column?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RecordClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the jQuery object of the current selected row. - */ - row?: any; - - /** Returns the current selected cell. - */ - cell?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the cell index value. - */ - cellIndex?: number; - - /** Returns the corresponding cell value. - */ - cellValue?: string; - - /** Returns the Header text of the column corresponding to the selected cell. - */ - columnName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RecordDoubleClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the jQuery object of the current selected row. - */ - row?: any; - - /** Returns the current selected cell. - */ - cell?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the selected cell index value. - */ - cellIndex?: number; - - /** Returns the corresponding cell value. - */ - cellValue?: string; - - /** Returns the Header text of the column corresponding to the selected cell. - */ - columnName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ResizedEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the column object. - */ - column?: any; - - /** Returns the grid object. - */ - target?: any; - - /** Returns the old width value. - */ - oldWidth?: number; - - /** Returns the new width value. - */ - newWidth?: number; - } - - export interface ResizeEndEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the column object. - */ - column?: any; - - /** Returns the grid object. - */ - target?: any; - - /** Returns the old width value. - */ - oldWidth?: number; - - /** Returns the new width value. - */ - newWidth?: number; - - /** Returns the extra width value. - */ - extra?: number; - } - - export interface ResizeStartEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the column object. - */ - column?: any; - - /** Returns the grid object. - */ - target?: any; - - /** Returns the old width value. - */ - oldWidth?: number; - } - - export interface RightClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - currentData?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the current selected row. - */ - row?: any; - - /** Returns the selected row data object. - */ - data?: any; - - /** Returns the cell index of the selected cell. - */ - cellIndex?: number; - - /** Returns the cell value. - */ - cellValue?: string; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDataBoundEventArgs { - - /** Returns grid row. - */ - row?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the current selected row. - */ - row?: any; - - /** Returns the previous selected row element. - */ - prevRow?: any; - - /** Returns the previous selected row index. - */ - prevRowIndex?: number; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowSelectingEventArgs { - - /** Returns the selected row index value. - */ - rowIndex?: number; - - /** Returns the selected row element. - */ - row?: any; - - /** Returns the previous selected row element. - */ - prevRow?: any; - - /** Returns the previous selected row index. - */ - prevRowIndex?: number; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDeselectedEventArgs { - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the row index of the deselected row. - */ - rowIndex?: number; - - /** Returns the current deselected row element. - */ - row?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDeselectingEventArgs { - - /** Returns the deselecting row index value. - */ - rowIndex?: number; - - /** Returns the deselecting row element. - */ - row?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns whether the ctrl key is pressed while deselecting row - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while deselecting row - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface TemplateRefreshEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns the column object. - */ - column?: any; - - /** Returns the current row data. - */ - data?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the current row index. - */ - rowIndex?: number; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the status of toolbar item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the grid model. - */ - gridModel?: any; - - /** Returns the toolbar object of the selected toolbar element. - */ - toolbarData?: any; - - /** Returns the Id of the current toolbar element. - */ - itemId?: string; - - /** Returns the index of the current toolbar element. - */ - itemIndex?: number; - - /** Returns the name of the current toolbar element. - */ - itemName?: string; - } - - export interface ColumnsCommand { - - /** Gets or sets an object that indicates to define all the button options which are available in ejButton. - */ - buttonOptions?: any; - - /** Gets or sets a value that indicates to add the command column button. See unboundType - */ - type?: ej.Grid.UnboundType | string; - } - - export interface Column { - - /** Sets the clip mode for Grid cell as ellipsis or clipped content(both header and content) - * @Default {ej.Grid.ClipMode.Clip} - */ - clipMode?: ej.Grid.ClipMode | string; - - /** Gets or sets a value that indicates whether to enable editing behavior for particular column. - * @Default {true} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic filtering behavior for particular column. - * @Default {true} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic grouping behavior for particular column. - * @Default {true} - */ - allowGrouping?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic sorting behavior for particular column. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic resizable for particular column. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets an object that indicates to define a command column in the grid. - * @Default {[]} - */ - commands?: ColumnsCommand[]; - - /** Gets or sets a value that indicates to provide custom CSS for an individual column. - */ - cssClass?: string; - - /** Gets or sets a value that indicates the attribute values to the td element of a particular column - */ - customAttributes?: any; - - /** Gets or sets a value that indicates to bind the external datasource to the particular column when column editType as dropdownedit and also it is used to bind the datasource - * to the foreign key column while editing the grid. //Where data is array of JSON objects of text and value for the drop-down and array of JSON objects for foreign key column. - * @Default {null} - */ - dataSource?: any[]; - - /** Gets or sets a value that indicates to display the specified default value while adding a new record to the grid - */ - defaultValue?: string | number | boolean | Date; - - /** Gets or sets a value that indicates to render the grid content and header with an HTML elements - * @Default {false} - */ - disableHtmlEncode?: boolean; - - /** Gets or sets a value that indicates to display a column value as checkbox or string - * @Default {true} - */ - displayAsCheckBox?: boolean; - - /** Gets or sets a value that indicates to customize ejNumericTextbox of an editable column. See editingType - */ - editParams?: any; - - /** Gets or sets a template that displays a custom editor used to edit column values. See editTemplate - * @Default {null} - */ - editTemplate?: any; - - /** Gets or sets a value that indicates to render the element(based on edit type) for editing the grid record. See editingType - * @Default {ej.Grid.EditingType.String} - */ - editType?: ej.Grid.EditingType | string; - - /** Gets or sets a value that indicates to groups the column based on its column format. - * @Default {false} - */ - enableGroupByFormat?: boolean; - - /** Gets or sets a value that indicates to display the columns in the grid mapping with column name of the dataSource. - */ - field?: string; - - /** Gets or sets a template that customize the filter control from default . See filterBarTemplate - * @Default {null} - */ - filterBarTemplate?: any; - - /** Gets or sets a value that indicates to render the excel or menu filter dialog to the grid columns. See filterType - * @Default {null} - */ - filterType?: ej.Grid.FilterType | string; - - /** Gets or sets a value that indicates to define foreign key field name of the grid datasource. - * @Default {null} - */ - foreignKeyField?: string; - - /** Gets or sets a value that indicates to bind the field which is in foreign column datasource based on the foreignKeyField - * @Default {null} - */ - foreignKeyValue?: string; - - /** Gets or sets a value that indicates the format for the text applied on the column - */ - format?: string; - - /** Gets or sets a value that indicates to add the template within the header element of the particular column. - * @Default {null} - */ - headerTemplateID?: string; - - /** Gets or sets a value that indicates to display the title of that particular column. - */ - headerText?: string; - - /** This defines the text alignment of a particular column header cell value. See headerTextAlign - * @Default {null} - */ - headerTextAlign?: ej.TextAlign | string; - - /** It accepts the string value and shows the tooltip for the Grid column header. - * @Default {null} - */ - headerTooltip?: string; - - /** You can use this property to freeze selected columns in grid at the time of scrolling. - * @Default {false} - */ - isFrozen?: boolean; - - /** Gets or sets a value that indicates the column has an identity in the database. - * @Default {false} - */ - isIdentity?: boolean; - - /** Gets or sets a value that indicates the column is act as a primary key(read-only) of the grid. The editing is performed based on the primary key column - * @Default {false} - */ - isPrimaryKey?: boolean; - - /** Gets or sets a value that indicates the order of Column that are to be hidden or visible when Grid element is in responsive mode and could not occupy all columns. - * @Default {-1} - */ - priority?: number; - - /** Used to hide the particular column in column chooser by giving value as false. - * @Default {true} - */ - showInColumnChooser?: boolean; - - /** Gets or sets a value that indicates whether to enables column template for a particular column. - * @Default {false} - */ - template?: boolean | string; - - /** Gets or sets a value that indicates to align the text within the column. See textAlign - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign | string; - - /** Sets the template for Tooltip in Grid Columns(both header and content) - */ - tooltip?: string; - - /** Gets or sets a value that indicates to specify the data type of the specified columns. - */ - type?: string; - - /** Gets or sets a value that indicates to define constraints for saving data to the database. - */ - validationRules?: any; - - /** Gets or sets a value that indicates whether this column is visible in the grid. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets a value that indicates to define the width for a particular column in the grid. - */ - width?: number; - } - - export interface ContextMenuSettingsSubContextMenu { - - /** Used to get or set the corresponding custom context menu item to which the submenu to be appended. - * @Default {null} - */ - contextMenuItem?: string; - - /** Used to get or set the sub menu items to the custom context menu item. - * @Default {[]} - */ - subMenu?: any[]; - } - - export interface ContextMenuSettings { - - /** Gets or sets a value that indicates whether to add the default context menu actions as a context menu items If enableContextMenu is true it will show all the items related to the target, - * if you want selected items from contextmenu you have to mention in the contextMenuItems - * @Default {[]} - */ - contextMenuItems?: any[]; - - /** Gets or sets a value that indicates whether to add custom contextMenu items within the toolbar to perform any action in the grid - * @Default {[]} - */ - customContextMenuItems?: any[]; - - /** Gets or sets a value that indicates whether to enable the context menu action in the grid. - * @Default {false} - */ - enableContextMenu?: boolean; - - /** Used to get or set the subMenu to the corresponding custom context menu item. - */ - subContextMenu?: ContextMenuSettingsSubContextMenu[]; - - /** Gets or sets a value that indicates whether to disable the default context menu items in the grid. - * @Default {false} - */ - disableDefaultItems?: boolean; - } - - export interface EditSettings { - - /** Gets or sets a value that indicates whether to enable insert action in the editing mode. - * @Default {false} - */ - allowAdding?: boolean; - - /** Gets or sets a value that indicates whether to enable the delete action in the editing mode. - * @Default {false} - */ - allowDeleting?: boolean; - - /** Gets or sets a value that indicates whether to enable the edit action in the editing mode. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable the editing action while double click on the record - * @Default {true} - */ - allowEditOnDblClick?: boolean; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Dialog Box - * @Default {null} - */ - dialogEditorTemplateID?: string; - - /** Gets or sets a value that indicates whether to define the mode of editing See editMode - * @Default {ej.Grid.EditMode.Normal} - */ - editMode?: ej.Grid.EditMode | string; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the External edit form - * @Default {null} - */ - externalFormTemplateID?: string; - - /** This specifies to set the position of an External edit form either in the top-right or bottom-left of the grid - * @Default {ej.Grid.FormPosition.BottomLeft} - */ - formPosition?: ej.Grid.FormPosition | string; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Inline edit form - * @Default {null} - */ - inlineFormTemplateID?: string; - - /** This specifies to set the position of an adding new row either in the top or bottom of the grid - * @Default {ej.Grid.RowPosition.Top} - */ - rowPosition?: ej.Grid.RowPosition | string; - - /** Gets or sets a value that indicates whether the confirm dialog has to be shown while saving or discarding the batch changes - * @Default {true} - */ - showConfirmDialog?: boolean; - - /** Gets or sets a value that indicates whether the confirm dialog has to be shown while deleting record - * @Default {false} - */ - showDeleteConfirmDialog?: boolean; - - /** Gets or sets a value that indicates whether the title for edit form is different from the primarykey column. - * @Default {null} - */ - titleColumn?: string; - - /** Gets or sets a value that indicates whether to display the add new form by default in the grid. - * @Default {false} - */ - showAddNewRow?: boolean; - } - - export interface FilterSettingsFilteredColumn { - - /** Gets or sets a value that indicates whether to define the field name of the column to be filter. - */ - field?: string; - - /** Gets or sets a value that indicates whether to define the matchCase of given value to be filter. - */ - matchCase?: boolean; - - /** Gets or sets a value that indicates whether to define the filter condition to filtered column. See operator - */ - operator?: ej.FilterOperators | string; - - /** Gets or sets a value that indicates whether to define the predicate as and/or. - */ - predicate?: string; - - /** Gets or sets a value that indicates whether to define the value to be filtered in a column. - */ - value?: string | number; - } - - export interface FilterSettings { - - /** Gets or sets a value that indicates to perform the filter operation with case sensitive in excel styled filter menu mode - * @Default {false} - */ - enableCaseSensitivity?: boolean; - - /** Gets or sets a value that indicates to define the interDeterminateState of checkbox in excel filter dialog. - * @Default {true} - */ - enableInterDeterminateState?: boolean; - - /** This specifies the grid to starts the filter action while typing in the filterBar or after pressing the enter key. based on the filterBarMode. See filterBarMode. - * @Default {ej.Grid.FilterBarMode.Immediate} - */ - filterBarMode?: ej.Grid.FilterBarMode | string; - - /** Gets or sets a value that indicates whether to define the filtered columns details programmatically at initial load - * @Default {[]} - */ - filteredColumns?: FilterSettingsFilteredColumn[]; - - /** This specifies the grid to show the filterBar or filterMenu to the grid records. See filterType - * @Default {ej.Grid.FilterType.FilterBar} - */ - filterType?: ej.Grid.FilterType | string; - - /** This specifies the grid to delay the filter action while typing in the filterBar. - * @Default {1500} - */ - immediateModeDelay?: number; - - /** Gets or sets a value that indicates the maximum number of filter choices that can be showed in the excel styled filter menu. - * @Default {1000} - */ - maxFilterChoices?: number; - - /** This specifies the grid to show the filter text within the grid pager itself. - * @Default {true} - */ - showFilterBarMessage?: boolean; - - /** Gets or sets a value that indicates whether to enable the predicate options in the filtering menu - * @Default {false} - */ - showPredicate?: boolean; - } - - export interface GroupSettings { - - /** Gets or sets a value that customize the group caption format. - * @Default {null} - */ - captionFormat?: string; - - /** Gets or sets a value that indicates whether to enable animation button option in the group drop area of the grid. - * @Default {false} - */ - enableDropAreaAutoSizing?: boolean; - - /** Gets or sets a value that indicates whether to add grouped columns programmatically at initial load - * @Default {[]} - */ - groupedColumns?: any[]; - - /** Gets or sets a value that indicates whether to show the group drop area just above the column header. It can be used to avoid ungrouping the already grouped column using groupSettings. - * @Default {true} - */ - showDropArea?: boolean; - - /** Gets or sets a value that indicates whether to hide the grouped columns from the grid - * @Default {false} - */ - showGroupedColumn?: boolean; - - /** Gets or sets a value that indicates whether to show the group button image(toggle button)in the column header and also in the grouped column in the group drop area. - * It can be used to group/ungroup the columns by click on the toggle button. - * @Default {false} - */ - showToggleButton?: boolean; - - /** Gets or sets a value that indicates whether to enable the close button in the grouped column which is in the group drop area to ungroup the grouped column - * @Default {false} - */ - showUngroupButton?: boolean; - } - - export interface PageSettings { - - /** Gets or sets a value that indicates whether to define which page to display currently in the grid - * @Default {1} - */ - currentPage?: number; - - /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. - * @Default {false} - */ - enableQueryString?: boolean; - - /** Gets or sets a value that indicates whether to enables pager template for the grid. - * @Default {false} - */ - enableTemplates?: boolean; - - /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation - * @Default {8} - */ - pageCount?: number; - - /** Gets or sets a value that indicates whether to define the number of records displayed per page - * @Default {12} - */ - pageSize?: number; - - /** Gets or sets a value that indicates whether to enables default pager for the grid. - * @Default {false} - */ - showDefaults?: boolean; - - /** Gets or sets a value that indicates to add the template as a pager template for grid. - * @Default {null} - */ - template?: string; - - /** Get the value of total number of pages in the grid. The totalPages value is calculated based on page size and total records of grid - * @Default {null} - */ - totalPages?: number; - - /** Get the value of total number of records which is bound to the grid. The totalRecordsCount value is calculated based on dataSource bound to the grid. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Gets or sets a value that indicates whether to define the number of pages to print - * @Default {ej.Grid.PrintMode.AllPages} - */ - printMode?: ej.Grid.PrintMode | string; - } - - export interface ResizeSettings { - - /** Gets or sets a value that indicates whether to define the mode of resizing. - * @Default {ej.Grid.ResizeMode.Normal} - */ - resizeMode?: ej.Grid.ResizeMode | string; - } - - export interface RowDropSettings { - - /** This specifies the grid to drop the grid rows only at particular target element. - * @Default {null} - */ - dropTargetID?: any; - - /** This helps in mapping server-side action when rows are dragged from Grid. - * @Default {null} - */ - dragMapper?: string; - - /** This helps in mapping server-side action when rows are dropped in Grid. - * @Default {null} - */ - dropMapper?: string; - } - - export interface SearchSettings { - - /** This specify the grid to search for the value in particular columns that is mentioned in the field. - * @Default {[]} - */ - fields?: any; - - /** This specifies the grid to search the particular data that is mentioned in the key. - */ - key?: string; - - /** It specifies the grid to search the records based on operator. - * @Default {contains} - */ - operator?: string; - - /** It enables or disables case-sensitivity while searching the search key in grid. - * @Default {true} - */ - ignoreCase?: boolean; - } - - export interface SelectionSettings { - - /** Gets or sets a value that indicates the cell selection actions based on the cell selection mode. - * @Default {flow} - */ - cellSelectionMode?: string; - - /** Gets or sets a value that indicates whether to enable the toggle selection behavior for row, cell and column. - * @Default {false} - */ - enableToggle?: boolean; - - /** Gets or sets a value that indicates whether to add the default selection actions as a selection mode.See selectionMode - * @Default {[row]} - */ - selectionMode?: any[]; - } - - export interface ScrollSettings { - - /** This specify the grid to to view data that you require without buffering the entire load of a huge database - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** It accepts the boolean value and shows or hides the scrollbar while focus in or focus out of the Grid. - * @Default {false} - */ - autoHide?: boolean; - - /** Specifies the height and width of button in the scrollbar. - * @Default {18} - */ - buttonSize?: number; - - /** This specify the grid to enable/disable touch control for scrolling. - * @Default {true} - */ - enableTouchScroll?: boolean; - - /** This specify the grid to freeze particular columns at the time of scrolling. - * @Default {0} - */ - frozenColumns?: number; - - /** This specify the grid to freeze particular rows at the time of scrolling. - * @Default {0} - */ - frozenRows?: number; - - /** This specify the grid to show the vertical scroll bar, to scroll and view the grid contents. - * @Default {0} - */ - height?: string | number; - - /** It accepts the integer value and sets the width of scrollbar. - * @Default {18} - */ - scrollerSize?: number; - - /** This is used to define the mode of virtual scrolling in grid. See virtualScrollMode - * @Default {ej.Grid.VirtualScrollMode.Normal} - */ - virtualScrollMode?: ej.Grid.VirtualScrollMode | string; - - /** This is used to enable the enhanced virtual scrolling in Grid. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** This specify the grid to show the horizontal scroll bar, to scroll and view the grid contents - * @Default {250} - */ - width?: string | number; - - /** This specify the scroll down pixel of mouse wheel, to scroll mouse wheel and view the grid contents. - * @Default {57} - */ - scrollOneStepBy?: number; - } - - export interface SortSettingsSortedColumn { - - /** Gets or sets a value that indicates whether to define the direction to sort the column. - */ - direction?: string; - - /** Gets or sets a value that indicates whether to define the field name of the column to be sort - */ - field?: string; - } - - export interface SortSettings { - - /** Gets or sets a value that indicates whether to define the direction and field to sort the column. - */ - sortedColumns?: SortSettingsSortedColumn[]; - } - - export interface StackedHeaderRowsStackedHeaderColumn { - - /** Gets or sets a value that indicates the header text for the particular stacked header column. - * @Default {null} - */ - column?: any; - - /** Gets or sets a value that indicates class to the corresponding stackedHeaderColumn. - * @Default {null} - */ - cssClass?: string; - - /** Gets or sets a value that indicates the header text for the particular stacked header column. - * @Default {null} - */ - headerText?: string; - - /** Gets or sets a value that indicates the text alignment of the corresponding headerText. - * @Default {ej.TextAlign.Left} - */ - textAlign?: string; - - /** Sets the template for tooltip for the Grid stackedHeaderColumns. - * @Default {null} - */ - tooltip?: string; - } - - export interface StackedHeaderRow { - - /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows - * @Default {[]} - */ - stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; - } - - export interface SummaryRowsSummaryColumn { - - /** Gets or sets a value that indicates the text displayed in the summary column as a value - * @Default {null} - */ - customSummaryValue?: string; - - /** This specifies summary column used to perform the summary calculation - * @Default {null} - */ - dataMember?: string; - - /** Gets or sets a value that indicates to define the target column at which to display the summary. - * @Default {null} - */ - displayColumn?: string; - - /** Gets or sets a value that indicates the format for the text applied on the column - * @Default {null} - */ - format?: string; - - /** Gets or sets a value that indicates the text displayed before the summary column value - * @Default {null} - */ - prefix?: string; - - /** Gets or sets a value that indicates the text displayed after the summary column value - * @Default {null} - */ - suffix?: string; - - /** Gets or sets a value that indicates the type of calculations to be performed for the corresponding summary column - * @Default {[]} - */ - summaryType?: ej.Grid.SummaryType | string; - - /** Gets or sets a value that indicates to add the template for the summary value of dataMember given. - * @Default {null} - */ - template?: string; - } - - export interface SummaryRow { - - /** Gets or sets a value that indicates whether to show the summary value within the group caption area for the corresponding summary column while grouping the column - * @Default {false} - */ - showCaptionSummary?: boolean; - - /** Gets or sets a value that indicates whether to show the group summary value for the corresponding summary column while grouping a column - * @Default {false} - */ - showGroupSummary?: boolean; - - /** Gets or sets a value that indicates whether to show the total summary value the for the corresponding summary column. The summary row is added after the grid content. - * @Default {true} - */ - showTotalSummary?: boolean; - - /** Gets or sets a value that indicates whether to add summary columns into the summary rows. - * @Default {[]} - */ - summaryColumns?: SummaryRowsSummaryColumn[]; - - /** This specifies the grid to show the title for the summary rows. - */ - title?: string; - - /** This specifies the grid to show the title of summary row in the specified column. - * @Default {null} - */ - titleColumn?: string; - } - - export interface TextWrapSettings { - - /** This specifies the grid to apply the auto wrap for grid content or header or both. - * @Default {ej.Grid.WrapMode.Both} - */ - wrapMode?: ej.Grid.WrapMode | string; - } - - export interface ToolbarSettings { - - /** Gets or sets a value that indicates whether to add custom toolbar items within the toolbar to perform any action in the grid - * @Default {[]} - */ - customToolbarItems?: any[]; - - /** Gets or sets a value that indicates whether to enable toolbar in the grid. - * @Default {false} - */ - showToolbar?: boolean; - - /** Gets or sets a value that indicates whether to add the default editing actions as a toolbar items - * @Default {[]} - */ - toolbarItems?: Array; - } - - enum GridLines { - - ///Displays both the horizontal and vertical grid lines. - Both, - - ///Displays the horizontal grid lines only. - Horizontal, - - ///Displays the vertical grid lines only. - Vertical, - - ///No grid lines are displayed. - None - } - - - enum ClipMode { - - ///Shows ellipsis for the overflown cell. - Ellipsis, - - ///Truncate the text in the cell - Clip, - - ///Shows ellipsis and tooltip for the overflown cell. - EllipsisWithTooltip - } - - - enum ColumnLayout { - - ///Column layout is auto(based on width). - Auto, - - ///Column layout is fixed(based on width). - Fixed - } - - - enum UnboundType { - - ///Unbound type is edit. - Edit, - - ///Unbound type is save. - Save, - - ///Unbound type is delete. - Delete, - - ///Unbound type is cancel. - Cancel - } - - - enum EditingType { - - ///Specifies editing type as string edit. - String, - - ///Specifies editing type as boolean edit. - Boolean, - - ///Specifies editing type as numeric edit. - Numeric, - - ///Specifies editing type as dropdown edit. - Dropdown, - - ///Specifies editing type as datepicker. - DatePicker, - - ///Specifies editing type as datetime picker. - DateTimePicker - } - - - enum FilterType { - - ///Specifies the filter type as menu. - Menu, - - ///Specifies the filter type as excel. - Excel - } - - - enum EditMode { - - ///Edit mode is normal. - Normal, - - ///Edit mode is dialog. - Dialog, - - ///Edit mode is dialog template. - DialogTemplate, - - ///Edit mode is batch. - Batch, - - ///Edit mode is inline form. - InlineForm, - - ///Edit mode is inline template form. - InlineTemplateForm, - - ///Edit mode is external form. - ExternalForm, - - ///Edit mode is external form template. - ExternalFormTemplate - } - - - enum FormPosition { - - ///Form position is bottomleft. - BottomLeft, - - ///Form position is topright. - TopRight - } - - - enum RowPosition { - - ///Specifies position of add new row as top. - Top, - - ///Specifies position of add new row as bottom. - Bottom - } - - - enum FilterBarMode { - - ///Initiate filter operation on typing the filter query. - Immediate, - - ///Initiate filter operation after Enter key is pressed. - OnEnter - } - - - enum PrintMode { - - ///Prints all pages. - AllPages, - - ///Prints current page. - CurrentPage - } - - - enum ResizeMode { - - ///New column size will be adjusted by all other Columns - Normal, - - ///New column Size will be adjusted using next column. - NextColumn, - - ///New column Size will be adjusted using entire control - Control - } - - - enum SelectionType { - - ///Specifies the selection type as single. - Single, - - ///Specifies the selection type as multiple. - Multiple - } - - - enum VirtualScrollMode { - - ///virtual scroll mode is normal. - Normal, - - ///virtual scroll mode is continuous. - Continuous - } - - - enum SummaryType { - - ///Summary type is average. - Average, - - ///Summary type is minimum. - Minimum, - - ///Summary type is maximum. - Maximum, - - ///Summary type is count. - Count, - - ///Summary type is sum. - Sum, - - ///Summary type is custom. - Custom, - - ///Summary type is true count. - TrueCount, - - ///Summary type is false count. - FalseCount - } - - - enum WrapMode { - - ///Auto wrap is applied for both content and header. - Both, - - ///Auto wrap is applied only for content. - Content, - - ///Auto wrap is applied only for header. - Header - } - - - enum ToolBarItems { - - ///Toolbar item is add. - Add, - - ///Toolbar item is edit. - Edit, - - ///Toolbar item is delete. - Delete, - - ///Toolbar item is update. - Update, - - ///Toolbar item is cancel. - Cancel, - - ///Toolbar item is search. - Search, - - ///Toolbar item is pdfExport. - PdfExport, - - ///Toolbar item is printGrid. - PrintGrid, - - ///Toolbar item is wordExport. - WordExport - } - - } - - class Sparkline extends ej.Widget { - static fn: Sparkline; - constructor(element: JQuery | Element, options?: Sparkline.Model); - static Locale: any; - model: Sparkline.Model; - defaults: Sparkline.Model; - - /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - } - export namespace Sparkline { - - export interface Model { - - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; - - /** Fill color for the sparkline series. - * @Default {#33ccff} - */ - fill?: string; - - /** Border color of the series. - * @Default {null} - */ - stroke?: string; - - /** Options for customizing the color, opacity and width of the sparkline border. - */ - border?: Border; - - /** Border width of the series. - * @Default {1} - */ - width?: number; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Color for series high point. - * @Default {null} - */ - highPointColor?: string; - - /** Color for series low point. - * @Default {null} - */ - lowPointColor?: string; - - /** Color for series start point. - * @Default {null} - */ - startPointColor?: string; - - /** Color for series end point. - * @Default {null} - */ - endPointColor?: string; - - /** Color for series negative point. - * @Default {null} - */ - negativePointColor?: string; - - /** Options for customizing the color, opacity of the sparkline start and end range. - */ - rangeBandSettings?: RangeBandSettings; - - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; - - /** Controls whether sparkline has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. - * @Default {false} - */ - enableCanvasRendering?: boolean; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Gap or padding for sparkline. - * @Default {8} - */ - padding?: number; - - /** Specifies the type of the series to render in sparkline. - * @Default {line. See Type} - */ - type?: ej.datavisualization.Sparkline.Type | string; - - /** Specifies the theme for Sparkline. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sparkline.Theme | string; - - /** Options to customize the tooltip. - */ - tooltip?: Tooltip; - - /** Options for displaying and customizing marker for a data point. - */ - markerSettings?: MarkerSettings; - - /** Options to customize the Sparkline size. - */ - size?: Size; - - /** Options for customizing the color,dashArray and width of the axisLine. - */ - axisLineSettings?: AxisLineSettings; - - /** Fires before loading the sparkline. */ - load?(e: LoadEventArgs): void; - - /** Fires after loaded the sparkline. */ - loaded?(e: LoadedEventArgs): void; - - /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ - tooltipInitialize?(e: TooltipInitializeEventArgs): void; - - /** Fires before rendering a series. This event is fired for each series in Sparkline. */ - seriesRendering?(e: SeriesRenderingEventArgs): void; - - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - - /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ - pointRegionMouseClick?(e: PointRegionMouseClickEventArgs): void; - - /** Fires on moving mouse over the sparkline. */ - sparklineMouseMove?(e: SparklineMouseMoveEventArgs): void; - - /** Fires on moving mouse outside the sparkline. */ - sparklineMouseLeave?(e: SparklineMouseLeaveEventArgs): void; - } - - export interface LoadEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface LoadedEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface TooltipInitializeEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X Location of the trackball tooltip in pixels - */ - locationX?: any; - - /** Y Location of the trackball tooltip in pixels - */ - locationY?: any; - - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; - - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; - } - - export interface SeriesRenderingEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** Minimum x value of the data point - */ - minX?: any; - - /** Minimum y value of the data point - */ - minY?: any; - - /** Maximum x value of the data point - */ - maxX?: any; - - /** Maximum y value of the data point - */ - maxY?: any; - } - - export interface PointRegionMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; - } - - export interface PointRegionMouseClickEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; - } - - export interface SparklineMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface SparklineMouseLeaveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of the sparkline. - * @Default {transparent} - */ - color?: string; - - /** Width of the Sparkline border. - * @Default {1} - */ - width?: number; - } - - export interface RangeBandSettings { - - /** Start value of the range band. - * @Default {null} - */ - startRange?: number; - - /** End value of the range band. - * @Default {null} - */ - endRange?: number; - - /** Range band opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Range band color of the series. - * @Default {transparent} - */ - color?: string; - } - - export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {transparent} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; - } - - export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {#111111} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sparkline.FontStyle | string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sparkline.FontWeight | string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {8px} - */ - size?: string; - } - - export interface Tooltip { - - /** Show/hides the tooltip visibility. - * @Default {false} - */ - visible?: boolean; - - /** Fill color for the sparkline tooltip. - * @Default {white} - */ - fill?: string; - - /** Custom template to the tooltip. - */ - template?: string; - - /** Options for customizing the border of the tooltip. - */ - border?: TooltipBorder; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - } - - export interface MarkerSettingsBorder { - - /** Border color of the marker shape. - * @Default {transparent} - */ - color?: string; - - /** Controls the opacity of the marker border. - * @Default {1} - */ - opacity?: number; - - /** Border width of the marker shape. - * @Default {null} - */ - width?: number; - } - - export interface MarkerSettings { - - /** Controls the opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - - /** width of the marker shape. - * @Default {2} - */ - width?: number; - - /** Color of the marker shape. - * @Default {white} - */ - fill?: string; - - /** Options for customizing the border of the marker shape. - */ - border?: MarkerSettingsBorder; - } - - export interface Size { - - /** Height of the Sparkline. Height can be specified in either pixel or percentage. - * @Default {''} - */ - height?: string; - - /** Width of the Sparkline. Width can be specified in either pixel or percentage. - * @Default {''} - */ - width?: string; - } - - export interface AxisLineSettings { - - /** Controls the visibility of the axis. - * @Default {false} - */ - visible?: boolean; - - /** Color of the axis line. - * @Default {'#111111'} - */ - color?: string; - - /** Width of the axis line. - * @Default {1} - */ - width?: number; - - /** Dash array of the axis line. - * @Default {1} - */ - dashArray?: number; - } - } - namespace Sparkline { - enum Type { - //string - Area, - //string - Line, - //string - Column, - //string - Pie, - //string - WinLoss, - } - } - namespace Sparkline { - enum Theme { - //string - Azure, - //string - FlatLight, - //string - FlatDark, - //string - Azuredark, - //string - Lime, - //string - LimeDark, - //string - Saffron, - //string - SaffronDark, - //string - GradientLight, - //string - GradientDark, - } - } - namespace Sparkline { - enum FontStyle { - //string - Normal, - //string - Italic, - } - } - namespace Sparkline { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } - } - - class SunburstChart extends ej.Widget { - static fn: SunburstChart; - constructor(element: JQuery | Element, options?: SunburstChart.Model); - static Locale: any; - model: SunburstChart.Model; - defaults: SunburstChart.Model; - - /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - - /** destroy the sunburst - * @returns {void} - */ - _destroy(): void; - } - export namespace SunburstChart { - - export interface Model { - - /** Background color of the plot area. - * @Default {null} - */ - background?: string; - - /** Bind the data field from the data source. - * @Default {null} - */ - valueMemberPath?: string; - - /** Options for customizing the sunburst border. - */ - border?: Border; - - /** Options for customizing the sunburst segment border. - */ - segmentBorder?: SegmentBorder; - - /** Specifies the dataSource to the sunburst. - * @Default {null} - */ - dataSource?: any; - - /** Palette color for the data points. - * @Default {null} - */ - palette?: string; - - /** Parent node of the data points. - * @Default {null} - */ - parentNode?: string; - - /** Name of the property in the datasource that contains x values. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y values. - * @Default {null} - */ - yName?: string; - - /** Controls whether sunburst has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Options to customize the Sunburst size. - */ - size?: Size; - - /** Controls the visibility of sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options to customize the Sunburst tooltip. - */ - tooltip?: Tooltip; - - /** Options for customizing sunburst points. - */ - points?: Points; - - /** Sunburst rendering will start from the specified value - * @Default {null} - */ - startAngle?: number; - - /** Sunburst rendering will end at the specified value - * @Default {null} - */ - endAngle?: number; - - /** Sunburst outer radius value - * @Default {1} - */ - radius?: number; - - /** Sunburst inner radius value - * @Default {0.4} - */ - innerRadius?: number; - - /** Options to customize the Sunburst dataLabel. - */ - dataLabelSettings?: DataLabelSettings; - - /** Options for customizing the title and subtitle of sunburst. - */ - title?: Title; - - /** Options for customizing the appearance of the levels or point while highlighting. - */ - highlightSettings?: HighlightSettings; - - /** Options for customizing the appearance of the levels or data point while selection. - */ - selectionSettings?: SelectionSettings; - - /** Specify levels of sunburst for grouped visualization of data - * @Default {[]} - */ - levels?: Level[]; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; - - /** Specifies the theme for Sunburst. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sunburst.SunburstTheme | string; - - /** Options to customize the left, right, top and bottom margins of sunburst area. - */ - margin?: Margin; - - /** Enable/disable the animation for all the levels. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Opacity of the levels. - * @Default {1} - */ - opacity?: number; - - /** Options for enable zooming feature of chart. - */ - zoomSettings?: ZoomSettings; - - /** Animation type of sunburst - * @Default {rotation. See Alignment} - */ - animationType?: ej.datavisualization.Sunburst.Animation | string; - - /** Fires before loading. */ - load?(e: LoadEventArgs): void; - - /** Fires before rendering sunburst. */ - preRender?(e: PreRenderEventArgs): void; - - /** Fires after rendering sunburst. */ - loaded?(e: LoadedEventArgs): void; - - /** Fires before rendering the datalabel */ - dataLabelRendering?(e: DataLabelRenderingEventArgs): void; - - /** Fires before rendering each segment */ - segmentRendering?(e: SegmentRenderingEventArgs): void; - - /** Fires before rendering sunburst title. */ - titleRendering?(e: TitleRenderingEventArgs): void; - - /** Fires during initialization of tooltip. */ - tooltipInitialize?(e: TooltipInitializeEventArgs): void; - - /** Fires after clicking the point in sunburst */ - pointRegionClick?(e: PointRegionClickEventArgs): void; - - /** Fires while moving the mouse over sunburst points */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - - /** Fires when clicking the point to perform drilldown. */ - drillDownClick?(e: DrillDownClickEventArgs): void; - - /** Fires when resetting drilldown points. */ - drillDownBack?(e: DrillDownBackEventArgs): void; - - /** Fires after resetting the sunburst points */ - drillDownReset?(e: DrillDownResetEventArgs): void; - } - - export interface LoadEventArgs { - - /** Load event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface PreRenderEventArgs { - - /** PreRender event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface LoadedEventArgs { - - /** Loaded event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DataLabelRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface SegmentRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface TitleRenderingEventArgs { - - /** Sunburst title data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface TooltipInitializeEventArgs { - - /** Sunburst tooltip data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface PointRegionClickEventArgs { - - /** Includes clicked points region data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface PointRegionMouseMoveEventArgs { - - /** Includes data of mouse moved region - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DrillDownClickEventArgs { - - /** Clicked point data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DrillDownBackEventArgs { - - /** Drill down data of points - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DrillDownResetEventArgs { - - /** Drill down reset data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst border. - * @Default {2} - */ - width?: number; - } - - export interface SegmentBorder { - - /** Segment Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst segment border. - * @Default {2} - */ - width?: number; - } - - export interface Size { - - /** Height of the Sunburst. - * @Default {''} - */ - height?: string; - - /** Width of the Sunburst. - * @Default {''} - */ - width?: string; - } - - export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {5} - */ - width?: number; - } - - export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {null} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {12px} - */ - size?: string; - } - - export interface Tooltip { - - /** tooltip visibility of the Sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options for customizing the border of the sunburst tooltip. - */ - border?: TooltipBorder; - - /** Fill color for the sunburst tooltip. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - - /** Custom template to the tooltip. - * @Default {null} - */ - template?: string; - } - - export interface Points { - - /** Points x value of the sunburst. - * @Default {null} - */ - x?: string; - - /** Points y value of the sunburst. - * @Default {null} - */ - y?: number; - - /** Points text of the sunburst. - * @Default {null} - */ - text?: string; - - /** Points fill color of the sunburst. - * @Default {null} - */ - fill?: string; - } - - export interface DataLabelSettingsFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; - } - - export interface DataLabelSettings { - - /** Datalabel visibility of the Sunburst. - * @Default {false} - */ - visible?: boolean; - - /** Alignment of sunburst datalabel - * @Default {Angle. See DatalabelAlignment} - */ - labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode | string; - - /** Options for customizing the data label font. - */ - font?: DataLabelSettingsFont; - - /** Custom template for datalabel - * @Default {null} - */ - template?: string; - - /** Fill color for the datalabel - * @Default {null} - */ - fill?: string; - - /** Datalabel overflow mode - * @Default {Trim. See LabelOverflowMode} - */ - labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode | string; - } - - export interface TitleFont { - - /** Font family for Sunburst title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for Sunburst title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for Sunburst title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the Sunburst title. - * @Default {1} - */ - opacity?: number; - - /** Font size for Sunburst title. - * @Default {20px} - */ - size?: string; - } - - export interface TitleSubtitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; - - /** Font size for sub title. - * @Default {12px} - */ - size?: string; - } - - export interface TitleSubtitle { - - /** Subtitle text for sunburst - */ - text?: string; - - /** Sub title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Sub title text alignment - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the font of sub title. - */ - font?: TitleSubtitleFont; - } - - export interface Title { - - /** Title text for sunburst - */ - text?: string; - - /** Title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Title text alignment - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the font of sunburst title. - */ - font?: TitleFont; - - /** Options to customize the sub title of Sunburst. - */ - subtitle?: TitleSubtitle; - } - - export interface HighlightSettings { - - /** Enables/disables the ability to highlight the levels or point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or point has to be highlighted. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; - - /** Color of the levels/point on highlight. - * @Default {red} - */ - color?: string; - - /** Opacity of the levels/point on highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be highlighted. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; - } - - export interface SelectionSettings { - - /** Enables/disables the ability to select the levels or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or data point has to be selected. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; - - /** Color of the levels/point on selection. - * @Default {green} - */ - color?: string; - - /** Opacity of the levels/point on selection. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be selected. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; - } - - export interface Level { - - /** Specifies the group member path - * @Default {null} - */ - groupMemberPath?: string; - } - - export interface LegendBorder { - - /** Border color of the legend. - * @Default {null} - */ - color?: string; - - /** Border width of the legend. - * @Default {1} - */ - width?: number; - } - - export interface LegendFont { - - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; - } - - export interface LegendItemStyle { - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; - } - - export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; - } - - export interface LegendSize { - - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; - } - - export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; - } - - export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Enables or disables the legend title. - * @Default {true} - */ - visible?: string; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - } - - export interface Legend { - - /** Visibility of the legend. - * @Default {false} - */ - visible?: boolean; - - /** Interactive action of legend items. - * @Default {toggleSegmentVisibility. See Alignment} - */ - clickAction?: ej.datavisualization.Sunburst.SunburstClickAction | string; - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Sunburst.SunburstLegendPosition | string; - - /** Shape of the legend items. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Sunburst.SunburstLegendShape | string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; - } - - export interface Margin { - - /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. - * @Default {10} - */ - left?: number; - - /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. - * @Default {10} - */ - right?: number; - - /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. - * @Default {10} - */ - top?: number; - - /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. - * @Default {10} - */ - bottom?: number; - } - - export interface ZoomSettings { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Toolbar horizontal alignment - * @Default {right. See Alignment} - */ - toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment | string; - - /** Toolbar vertical alignment - * @Default {top. See Alignment} - */ - toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment | string; - } - } - namespace Sunburst { - enum FontStyle { - //string - Normal, - //string - Italic, - } - } - namespace Sunburst { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } - } - namespace Sunburst { - enum SunburstLabelRotationMode { - //string - Angle, - //string - Normal, - } - } - namespace Sunburst { - enum SunburstLabelOverflowMode { - //string - Trim, - //string - Hide, - //string - None, - } - } - namespace Sunburst { - enum SunburstAlignment { - //string - Center, - //string - Near, - //string - Far, - } - } - namespace Sunburst { - enum SunburstHighlightMode { - //string - Point, - //string - Parent, - //string - Child, - //string - All, - } - } - namespace Sunburst { - enum SunburstHighlightType { - //string - Opacity, - //string - Color, - } - } - namespace Sunburst { - enum SunburstClickAction { - //string - None, - //string - ToggleSegmentVisibility, - //string - ToggleSegmentSelection, - } - } - namespace Sunburst { - enum SunburstLegendPosition { - //string - Left, - //string - Right, - //string - Top, - //string - Bottom, - } - } - namespace Sunburst { - enum SunburstLegendShape { - //string - Diamond, - //string - Pentagon, - //string - Rectangle, - //string - Circle, - //string - Cross, - //string - Triangle, - } - } - namespace Sunburst { - enum SunburstTheme { - //string - FlatLight, - //string - FlatDark, - } - } - namespace Sunburst { - enum SunburstHorizontalAlignment { - //string - Center, - //string - Left, - //string - Right, - } - } - namespace Sunburst { - enum SunburstVerticalAlignment { - //string - Top, - //string - Bottom, - //string - Middle, - } - } - namespace Sunburst { - enum Animation { - //string - Rotation, - //string - FadeIn, - } - } - - class PivotGrid extends ej.Widget { - static fn: PivotGrid; - constructor(element: JQuery | Element, options?: PivotGrid.Model); - static Locale: any; - model: PivotGrid.Model; - defaults: PivotGrid.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Performs an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ - doPostBack(): void; - - /** Exports the PivotGrid to the specified format. - * @returns {void} - */ - exportPivotGrid(): void; - - /** This function re-renders the PivotGrid on clicking the navigation buttons on PivotPager. - * @returns {void} - */ - refreshPagedPivotGrid(): void; - - /** This function refreshes the PivotGrid with modified data input in client-mode. - * @returns {void} - */ - refreshPivotGrid(): void; - - /** This function re-renders the control with the report available at that instant. - * @returns {void} - */ - refreshControl(): void; - - /** This function returns the height of all rows and width each and every column. - * @returns {any} - */ - calculateCellWidths(): any; - - /** This function creates the conditional formatting dialog to apply conditional formatting for PivotGrid control. - * @returns {void} - */ - createConditionalDialog(): void; - - /** This function saves the current report to the database/local storage. - * @returns {void} - */ - saveReport(): void; - - /** This function loads the specified report from the database/local storage. - * @returns {void} - */ - loadReport(): void; - - /** This function reconstructs the JSON data formed for rendering PivotGrid in excel-like layout format. - * @returns {void} - */ - excelLikeLayout(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records formed to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** This function allows user to change the caption of the Pivot Item (name displayed in UI) on-demand for relational datasource in client-mode. - * @returns {void} - */ - refreshFieldCaption(): void; - - /** This function receives the JSON formatted datasource to render the PivotGrid control. - * @returns {void} - */ - renderControlFromJSON(): void; - } - export namespace PivotGrid { - - export interface Model { - - /** Sets the mode for the PivotGrid widget for binding either OLAP or relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Specifies the CSS class to PivotGrid to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Connects the PivotSchemaDesigner with the specified ID to the PivotGrid Control. - * @Default {“”} - */ - pivotTableFieldListID?: string; - - /** Initializes the data source for the PivotGrid widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Holds the neccessary properties for value sorting. - * @Default {{}} - */ - valueSortSettings?: ValueSortSettings; - - /** Object that holds the settings of frozen headers. - * @Default {{}} - */ - frozenHeaderSettings?: FrozenHeaderSettings; - - /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. - * @Default {null} - */ - customObject?: any; - - /** Allows the user to collapsed the specified members in each field by default. - * @Default {null} - */ - collapsedMembers?: any; - - /** Allows the user to access each cell on mouse right-click. - * @Default {false} - */ - enableCellContext?: boolean; - - /** Enables the cell selection for a specific range of value cells. - * @Default {false} - */ - enableCellSelection?: boolean; - - /** Enables the Drill-Through feature which retrieves the raw items that are used to create the specific cell in PivotGrid. - * @Default {false} - */ - enableDrillThrough?: boolean; - - /** Allows user to get the cell details in JSON format on double clicking the cell. - * @Default {false} - */ - enableCellDoubleClick?: boolean; - - /** Allows user to edit the value cells for write-back support in PivotGrid. This is applicable only for server-mode. - * @Default {false} - */ - enableCellEditing?: boolean; - - /** Collapses the Pivot items along rows and columns by default. It works only for relational data source. - * @Default {false} - */ - enableCollapseByDefault?: boolean; - - /** Enables/Disables the display of grand total for all the columns. - * @Default {true} - */ - enableColumnGrandTotal?: boolean; - - /** Allows the user to format a specific set of cells based on the condition. - * @Default {false} - */ - enableConditionalFormatting?: boolean; - - /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each fields in server mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Allows the user to refresh the control on-demand and not during every UI operation. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Enables the display of GroupingBar allowing you to filter, sort and remove fields obtained from datasource. - * @Default {false} - */ - enableGroupingBar?: boolean; - - /** Enables/Disables the display of grand total for rows and columns. - * @Default {true} - */ - enableGrandTotal?: boolean; - - /** Allows the user to load PivotGrid using JSON data. - * @Default {false} - */ - enableJSONRendering?: boolean; - - /** Enables rendering of PivotGrid widget along with the PivotTable Field List, which allows UI operations. - * @Default {true} - */ - enablePivotFieldList?: boolean; - - /** Enables the display of grand total for all the rows. - * @Default {true} - */ - enableRowGrandTotal?: boolean; - - /** Allows the user to view layout of the PivotGrid from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable ToolTip option. - * @Default {false} - */ - enableToolTip?: boolean; - - /** Allows the user to enable the animation effects in tooltip. - * @Default {false} - */ - enableToolTipAnimation?: boolean; - - /** Allows the user to adjust the width of the columns dynamically. - * @Default {false} - */ - enableColumnResizing?: boolean; - - /** Allows the user to view large amount of data through virtual scrolling. - * @Default {false} - */ - enableVirtualScrolling?: boolean; - - /** Allows the user to view large amount of data by applying paging. - * @Default {false} - */ - enablePaging?: boolean; - - /** Allows the user to configure hyperlink settings of PivotGrid control. - * @Default {{}} - */ - hyperlinkSettings?: HyperlinkSettings; - - /** Allows the user to enable PivotGrid’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Contains the serialized JSON string which renders PivotGrid. - */ - jsonRecords?: string; - - /** Sets the summary layout for PivotGrid.Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. - * @Default {ej.PivotGrid.Layout.Normal} - */ - layout?: ej.PivotGrid.Layout | string; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotGrid widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotGrid to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers before Pivot Engine starts to populate. */ - beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - - /** Triggers when double click action is performed over a cell. */ - cellDoubleClick?(e: CellDoubleClickEventArgs): void; - - /** Triggers when right-click action is performed on a cell. */ - cellContext?(e: CellContextEventArgs): void; - - /** Triggers when a specific range of value cells are selected. */ - cellSelection?(e: CellSelectionEventArgs): void; - - /** Triggers when the hyperlink of column header is clicked. */ - columnHeaderHyperlinkClick?(e: ColumnHeaderHyperlinkClickEventArgs): void; - - /** Triggers after performing drill operation in PivotGrid. */ - drillSuccess?(e: DrillSuccessEventArgs): void; - - /** Triggers while clicking "OK" button in the drill-through dialog. */ - drillThrough?(e: DrillThroughEventArgs): void; - - /** Triggers when PivotGrid loading is initiated. */ - load?(e: LoadEventArgs): void; - - /** Triggers when PivotGrid widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotGrid successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - - /** Triggers when the hyperlink of row header is clicked. */ - rowHeaderHyperlinkClick?(e: RowHeaderHyperlinkClickEventArgs): void; - - /** Triggers when the hyperlink of summary cell is clicked. */ - summaryCellHyperlinkClick?(e: SummaryCellHyperlinkClickEventArgs): void; - - /** Triggers when the hyperlink of value cell is clicked. */ - valueCellHyperlinkClick?(e: ValueCellHyperlinkClickEventArgs): void; - - /** Triggers before saving the current report to database. */ - saveReport?(e: SaveReportEventArgs): void; - - /** Triggers before loading a report from database. */ - loadReport?(e: LoadReportEventArgs): void; - - /** Triggers before performing exporting in pivot grid. */ - beforeExport?(e: BeforeExportEventArgs): void; - - /** Triggers before editing the cells. */ - cellEdit?(e: CellEditEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface BeforePivotEnginePopulateEventArgs { - - /** returns the PivotGrid object - */ - pivotGridObject?: any; - } - - export interface CellDoubleClickEventArgs { - - /** returns the JSON details of the double clicked cell. - */ - selectedData?: any[]; - - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface CellContextEventArgs { - - /** returns the cell position (row index and column index) in table. - */ - cellPosition?: string; - - /** returns the type of the cell. - */ - cellType?: string; - - /** returns the content of the cell. - */ - cellValue?: string; - - /** returns the unique name of levels/members. - */ - uniqueName?: string; - - /** returns the role of the cell in PivotGrid. - */ - role?: string; - - /** returns JSON record corresponding to the selected cell. - */ - rawdata?: any; - - /** returns the original event object. - */ - args?: any; - } - - export interface CellSelectionEventArgs { - - /** returns the JSON records of the selected range of cells. - */ - JSONRecords?: any; - - /** Returns the row headers corresponding to the selected value cells. - */ - rowheader?: any; - - /** Returns the column headers corresponding to the selected value cells. - */ - columnheader?: any; - - /** Returns the information about the measure associated with the selected cell. - */ - measureCount?: string; - } - - export interface ColumnHeaderHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface DrillSuccessEventArgs { - - /** returns the HTML element of the control. - */ - args?: any; - } - - export interface DrillThroughEventArgs { - - /** return the JSON records of the generated cells on drill-through operation. - */ - data?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface LoadEventArgs { - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - - /** returns the error message with error code. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface RowHeaderHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface SummaryCellHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface ValueCellHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface SaveReportEventArgs { - - /** returns the report to be stored in database. - */ - report?: any; - } - - export interface LoadReportEventArgs { - - /** returns the PivotGrid object. - */ - targetControl?: any; - - /** returns whether the control is bound with OLAP or Relational data source. - */ - dataModel?: string; - } - - export interface BeforeExportEventArgs { - - /** contains the url of the service responsible for exporting. - */ - url?: string; - - /** contains the name of the exporting file. - */ - fileName?: string; - } - - export interface CellEditEventArgs { - - /** contains the array of cells selected for editing. - */ - editCellsInfo?: any[]; - } - - export interface DataSourceColumnsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceColumnsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field in PivotGrid. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceRowsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. - * @Default {ej.PivotAnalysis.SummaryType.Sum} - */ - summaryType?: ej.PivotAnalysis.SummaryType | string; - - /** Allows to set the format of the values. - */ - format?: string; - - /** This property sets type of display of date. - */ - formatString?: string; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display name for an item. - */ - fieldCaption?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSourcePagerOptions { - - /** Allows to set the number of categorical columns to be displayed in each page on applying paging. - * @Default {0} - */ - categoricalPageSize?: number; - - /** Allows to set the number of series rows to be displayed in each page on applying paging. - * @Default {0} - */ - seriesPageSize?: number; - - /** Allows to set the page number in categorical axis to be loaded by default. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Allows to set the page number in series axis to be loaded by default. - * @Default {1} - */ - seriesCurrentPage?: number; - } - - export interface DataSource { - - /** Lists out the items to be arranged in columns section of PivotGrid. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be arranged in rows section of PivotGrid. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items which supports calculation in PivotGrid. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGrid. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotGrid. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Sets a name to the report bound to the control. - */ - reportName?: string; - - /** Allows to set the page size and current page number for each axis on applying paging. - * @Default {{}} - */ - pagerOptions?: DataSourcePagerOptions; - } - - export interface ValueSortSettings { - - /** Contains the headers of the specific column to which value sorting is applied. - */ - headerText?: string; - - /** Allows the user to set the string for separating column headers provided in the above property headerText. - */ - headerDelimiters?: string; - - /** Allows the user to set the sorting order of the values of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - } - - export interface FrozenHeaderSettings { - - /** Allows the user to freeze the row headers alone on scrolling the horizontal scroll bar. - * @Default {false} - */ - enableFrozenRowHeaders?: boolean; - - /** Allows the user to freeze the column headers alone on scrolling the vertical scroll bar. - * @Default {false} - */ - enableFrozenColumnHeaders?: boolean; - - /** Allows the user to freeze both the row headers and column headers on scrolling. - * @Default {false} - */ - enableFrozenHeaders?: boolean; - } - - export interface HyperlinkSettings { - - /** Allows the user to enable/disable hyperlink for column header. - * @Default {false} - */ - enableColumnHeaderHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for row header. - * @Default {false} - */ - enableRowHeaderHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for summary cells. - * @Default {false} - */ - enableSummaryCellHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for value cells. - * @Default {false} - */ - enableValueCellHyperlink?: boolean; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for drill up/down operation in PivotGrid. - * @Default {DrillGrid} - */ - drillDown?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotGrid?: string; - - /** Allows the user to set the custom name for the service method responsible for performing server-side actions on defer update. - * @Default {DeferUpdate} - */ - deferUpdate?: string; - - /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. - * @Default {FetchMembers} - */ - fetchMembers?: string; - - /** Allows the user to set the custom name for the service method responsible for filtering operation in PivotGrid. - * @Default {Filtering} - */ - filtering?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotGrid. - * @Default {InitializeGrid} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node from Field List. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. - * @Default {NodeStateModified} - */ - nodeStateModified?: string; - - /** Allows the user to set the custom name for the service method responsible for performing paging operation in PivotGrid. - * @Default {Paging} - */ - paging?: string; - - /** Allows the user to set the custom name for the service method responsible for sorting operation in PivotGrid. - * @Default {Sorting} - */ - sorting?: string; - - /** Allows the user to set the custom name for the service method responsible for expanding members inside member editor. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for editing the cells. - * @Default {CellEditing} - */ - cellEditing?: string; - - /** Allows the user to set the custom name for the service method responsible for saving the current report to database. - * @Default {SaveReport} - */ - saveReport?: string; - - /** Allows the user to set the custom name for the service method responsible for loading a report from database. - * @Default {LoadReportFromDB} - */ - loadReport?: string; - - /** Allows the user to set the custom name for the service method responsible for adding a calculated field to the report. - * @Default {CalculatedField} - */ - calculatedField?: string; - - /** Allows the user to set the custom name for the service method responsible for performing drill through operation. - * @Default {DrillThroughHierarchies} - */ - drillThroughHierarchies?: string; - - /** Allows the user to set the custom name for the service method responsible for performing drill through operation in data table. - * @Default {DrillThroughDataTable} - */ - drillThroughDataTable?: string; - - /** Allows the user to set the custom name for the service method responsible for write-back operation in OLAP Cube. This is only applicable in server-side component. - * @Default {WriteBack} - */ - writeBack?: string; - } - - enum Layout { - - ///To set normal summary layout in PivotGrid. - Normal, - - ///To set layout with summaries at the top in PivotGrid. - NormalTopSummary, - - ///To set layout without summaries in PivotGrid. - NoSummaries, - - ///To set excel-like layout in PivotGrid. - ExcelLikeLayout - } - - } - namespace Pivot { - enum AnalysisMode { - //To bind an OLAP data source to PivotGrid. - OLAP, - //To bind a relational data source to PivotGrid. - Pivot, - } - } - namespace PivotAnalysis { - enum SortOrder { - //Sorts the members of the field in ascending order. - Ascending, - //Sorts the members of the field in descending order. - Descending, - //Displays the members without sorting in any order. - None, - } - } - namespace PivotAnalysis { - enum FilterType { - //Excludes the specified values among the members of the field. - Exclude, - //Includes the specified values alone among the members of the field. - Include, - } - } - namespace PivotAnalysis { - enum SummaryType { - //Calculates the summary as the total of all values. - Sum, - //Displays the average of all values as the summaries. - Average, - //Displays the count of items in summaries. - Count, - //Displays the minimum value of all the items in the summary. - Min, - //Displays the maximum value of all the items in the summary. - Max, - } - } - namespace Pivot { - enum OperationalMode { - //To bind data source completely from client-side. - ClientMode, - //To bind data source completely from server-side. - ServerMode, - } - } - - class PivotSchemaDesigner extends ej.Widget { - static fn: PivotSchemaDesigner; - constructor(element: JQuery | Element, options?: PivotSchemaDesigner.Model); - static Locale: any; - model: PivotSchemaDesigner.Model; - defaults: PivotSchemaDesigner.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Re-renders the control with the data source bound to the pivot control at that instant. - * @returns {void} - */ - refreshControl(): void; - } - export namespace PivotSchemaDesigner { - - export interface Model { - - /** Specifies the CSS class to PivotSchemaDesigner to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end. - * @Default {{}} - */ - customObject?: any; - - /** For ASP.NET and MVC Wrapper, PivotSchemaDesigner will be initialized and rendered empty initially. Once the connected pivot control widget is rendered completely, - * PivotSchemaDesigner will just be populated with data source by setting this property to “true”. - * @Default {false} - */ - enableWrapper?: boolean; - - /** Allows the user to view PivotTable Field List from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the visibility of OLAP elements in PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {null} - */ - olap?: Olap; - - /** Allows the user to enable/disable drag and drop operations within the PivotTable Field List. - * @Default {true} - */ - enableDragDrop?: boolean; - - /** Sets the height for PivotSchemaDesigner. - * @Default {“”} - */ - height?: string; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the Pivot control bound with this PivotSchemaDesigner. - * @Default {null} - */ - pivotControl?: any; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethod?: ServiceMethod; - - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; - - /** Sets the width for PivotSchemaDesigner. - * @Default {“”} - */ - width?: string; - - /** Sets the layout for PivotSchemaDesigner. - * @Default {ej.PivotSchemaDesigner.Layouts.Excel} - */ - layout?: ej.PivotSchemaDesigner.Layouts | string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotSchemaDesigner to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers when we start dragging any field from PivotSchemaDesigner. */ - dragMove?(e: DragMoveEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotSchemaDesigner control. - */ - action?: string; - - /** returns the custom object bound with PivotSchemaDesigner control. - */ - customObject?: any; - - /** returns the HTML element of PivotSchemaDesigner control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotSchemaDesigner control. - */ - action?: string; - - /** returns the custom object bound with PivotSchemaDesigner control. - */ - customObject?: any; - - /** returns the HTML element of PivotSchemaDesigner control. - */ - element?: any; - } - - export interface DragMoveEventArgs { - - /** returns the HTML element of the dragged field from PivotSchemaDesigner. - */ - dragTarget?: any; - - /** return the JSON details of the dragged field. - */ - draggedElementData?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the PivotSchemaDesigner model - */ - model?: any; - } - - export interface Olap { - - /** Allows the user to view the KPI elements in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {false} - */ - showKPI?: boolean; - - /** Allows the user to view the named sets in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {false} - */ - showNamedSets?: boolean; - } - - export interface ServiceMethod { - - /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. - * @Default {FetchMembers} - */ - fetchMembers?: string; - - /** Allows the user to set the custom name for the service method responsible for filtering operation in Field List. - * @Default {Filtering} - */ - filtering?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on expanding members in Field List. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node into Field List. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. - * @Default {NodeStateModified} - */ - nodeStateModified?: string; - - /** Allows the user to set the custom name for the service method responsible for button removing operation in Field List. - * @Default {RemoveButton} - */ - removeButton?: string; - } - - enum Layouts { - - ///To set the layout as same in the Excel. - Excel, - - ///To set normal layout for Field List. - Normal, - - ///To set layout with the axes one above the other. - OneByOne - } - - } - - class PivotPager extends ej.Widget { - static fn: PivotPager; - constructor(element: JQuery | Element, options?: PivotPager.Model); - static Locale: any; - model: PivotPager.Model; - defaults: PivotPager.Model; - - /** This function initializes the page counts and page numbers for the PivotPager. - * @returns {void} - */ - initPagerProperties(): void; - } - export namespace PivotPager { - - export interface Model { - - /** Contains the current page number in categorical axis. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Contains the total page count in categorical axis. - * @Default {1} - */ - categoricalPageCount?: number; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the pager mode (Only Categorical Pager/Only Series Pager/Both) for the PivotPager. - * @Default {ej.PivotPager.Mode.Both} - */ - mode?: ej.PivotPager.Mode | string; - - /** Contains the current page number in series axis. - * @Default {1} - */ - seriesCurrentPage?: number; - - /** Contains the total page count in series axis. - * @Default {1} - */ - seriesPageCount?: number; - - /** Contains the ID of the target element for which paging needs to be done. - * @Default {“”} - */ - targetControlID?: string; - } - - enum Mode { - - ///To set both categorical and series pager for paging. - Both, - - ///To set only categorical pager for paging. - Categorical, - - ///To set only series pager for paging. - Series - } - - } - - class PivotChart extends ej.Widget { - static fn: PivotChart; - constructor(element: JQuery | Element, options?: PivotChart.Model); - static Locale: any; - model: PivotChart.Model; - defaults: PivotChart.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Perform an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ - doPostBack(): void; - - /** Exports the PivotChart to the format specified in the parameter. - * @returns {void} - */ - exportPivotChart(): void; - - /** This function renders the PivotChart control with the JSON formatted datasource. - * @returns {void} - */ - renderChartFromJSON(): void; - - /** This function receives the update from service-end, which would be utilized for rendering the widget. - * @returns {void} - */ - renderControlSuccess(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** Returns the PivotEngine formed to render the control. - * @returns {Array} - */ - getPivotEngine(): any[]; - - /** Sets the PivotEngine required to render the control. - * @returns {void} - */ - setPivotEngine(): void; - - /** Re-renders the control with the data source at the instant. - * @returns {void} - */ - refreshControl(): void; - - /** Renders the control with the pivot engine obtained from olap cube. - * @returns {void} - */ - generateJSON(): void; - - /** Navigates to the specified page number in specified axis. - * @returns {void} - */ - refreshPagedPivotChart(): void; - } - export namespace PivotChart { - - export interface Model { - - /** Sets the mode for the PivotChart widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Specifies the CSS class to PivotChart to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Options for enabling zooming feature of PivotChart. - * @Default {{}} - */ - zooming?: Zooming; - - /** Options available to configure the properties of entire series. You can also override the options for specific series by using series collection. - * @Default {{}} - */ - commonSeriesOptions?: CommonSeriesOptions; - - /** Initializes the data source for the PivotChart widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. - * @Default {{}} - */ - customObject?: any; - - /** Allows the user to enable 3D view of PivotChart. - * @Default {false} - */ - enable3D?: boolean; - - /** Allows the user to view PivotChart from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable PivotChart’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Lets the user to customize the legend items and their labels. - * @Default {{}} - */ - legend?: any; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotChart widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. - * To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s xAxisName property to link both axis and series. - * @Default {{}} - */ - primaryXAxis?: any; - - /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. - * To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s yAxisName property to link both axis and series. - * @Default {{}} - */ - primaryYAxis?: any; - - /** Allows the user to rotate the angle of PivotChart in 3D view. - * @Default {0} - */ - rotation?: number; - - /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Options to customize the size of the PivotChart control. - * @Default {{}} - */ - size?: any; - - /** Connects the service using the specified URL for any server updates on operating the control in server mode. - * @Default {“”} - */ - url?: string; - - /** Triggers when PivotChart starts to render. */ - load?(e: LoadEventArgs): void; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotChart to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers on performing drill up/down in PivotChart control. */ - drillSuccess?(e: DrillSuccessEventArgs): void; - - /** Triggers when PivotChart widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotChart successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - - /** Triggers before performing exporting in pivot chart. */ - beforeExport?(e: BeforeExportEventArgs): void; - } - - export interface LoadEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface DrillSuccessEventArgs { - - /** returns the current instance of PivotChart. - */ - chartObj?: any; - - /** returns the drill action of PivotChart. - */ - drillAction?: string; - - /** contains the name of the member drilled. - */ - drilledMember?: string; - - /** returns the event object. - */ - event?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - - /** returns the error stack trace of the original exception. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the current instance of PivotChart. - */ - args?: any; - } - - export interface BeforeExportEventArgs { - - /** contains the url of the service responsible for exporting. - */ - url?: string; - - /** contains the name of the exporting file. - */ - fileName?: string; - } - - export interface Zooming { - - /** Enables or disables horizontal scrollbar. - * @Default {false} - */ - enableScrollbar?: boolean; - } - - export interface CommonSeriesOptions { - - /** Allows the user to set the specific chart type for PivotChart widget. - * @Default {ej.PivotChart.ChartTypes.Column} - */ - type?: ej.PivotChart.ChartTypes | string; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSource { - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotChart. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to be displayed as series of PivotChart. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be displayed as segments of PivotChart. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items supports calculation in PivotChart. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotChart. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotChart. - * @Default {DrillChart} - */ - drillDown?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotChart?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotChart. - * @Default {InitializeChart} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for navigating between pages in paged PivotChart. - * @Default {Paging} - */ - paging?: string; - } - - enum ChartTypes { - - ///To render a Line type PivotChart. - Line, - - ///To render a Spline type PivotChart. - Spline, - - ///To render a Column type PivotChart. - Column, - - ///To render an Area type PivotChart. - Area, - - ///To render a SplineArea type PivotChart. - SplineArea, - - ///To render a StepLine type PivotChart. - StepLine, - - ///To render a StepArea type PivotChart. - StepArea, - - ///To render a Pie type PivotChart. - Pie, - - ///To render a Bar type PivotChart. - Bar, - - ///To render a StackingArea type PivotChart. - StackingArea, - - ///To render a StackingColumn type PivotChart. - StackingColumn, - - ///To render a StackingBar type PivotChart. - StackingBar, - - ///To render a Pyramid type PivotChart. - Pyramid, - - ///To render a Funnel type PivotChart. - Funnel, - - ///To render a Doughnut type PivotChart. - Doughnut, - - ///To render a Scatter type PivotChart. - Scatter, - - ///To render a Bubble type PivotChart. - Bubble - } - - } - - class PivotClient extends ej.Widget { - static fn: PivotClient; - constructor(element: JQuery | Element, options?: PivotClient.Model); - static Locale: any; - model: PivotClient.Model; - defaults: PivotClient.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Performs an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ - doPostBack(): void; - - /** Navigates to the specified page in specified axis. - * @returns {void} - */ - refreshPagedPivotClient(): void; - - /** Updates the PivotClient component with the JSON data fetched from the service on navigating between pages. - * @returns {void} - */ - refreshPagedPivotClientSuccess(): void; - - /** Renders the PivotChart and PivotGrid with the JSON data provided. - * @returns {void} - */ - generateJSON(): void; - - /** Re-renders the control with the report at that instant. - * @returns {void} - */ - refreshControl(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records formed to render the control to a property. - * @returns {void} - */ - setJSONRecords(): void; - } - export namespace PivotClient { - - export interface Model { - - /** Sets the mode for the PivotClient widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Allows the user to set the specific chart type for PivotChart inside PivotClient widget. - * @Default {ej.PivotChart.ChartTypes.Column} - */ - chartType?: ej.PivotChart.ChartTypes | string; - - /** Allows the user to set the content on exporting the PivotClient widget. - * @Default {ej.PivotClient.ClientExportMode.ChartAndGrid} - */ - clientExportMode?: ej.PivotClient.ClientExportMode | string; - - /** Specifies the CSS class to PivotClient to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end when the control functions in server-mode. - * @Default {{}} - */ - customObject?: any; - - /** Initializes the data source for the PivotClient widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Allows the user to customize the widget's layout and appearance. - * @Default {{}} - */ - displaySettings?: DisplaySettings; - - /** Enables the splitter option for resizing the elements inside the control. - * @Default {false} - */ - enableSplitter?: boolean; - - /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each dimensions on binding OLAP data in server mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Allows the user to refresh the control on-demand and not during every UI operation. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Lets the user to save and load reports in a customized way with the help of events. - * @Default {false} - */ - enableLocalStorage?: boolean; - - /** Allows the user to enable paging for both the PivotChart and PivotGrid components for the ease of viewing large data. - * @Default {false} - */ - enablePaging?: boolean; - - /** Allows the user to include the PivotTreeMap component as one of the chart types. - * @Default {false} - */ - enablePivotTreeMap?: boolean; - - /** Allows the user to view the layout of PivotClient from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Enables/disables the visibility of measure group selector drop-down in Cube Browser. - * @Default {false} - */ - enableMeasureGroups?: boolean; - - /** Allows the user to enable virtual scrolling for both the PivotChart and PivotGrid components for the ease of viewing large data. - * @Default {false} - */ - enableVirtualScrolling?: boolean; - - /** Enables/Disables paging in Member Editor for viewing the large count of members in pages. - * @Default {false} - */ - enableMemberEditorPaging?: boolean; - - /** Allows the user to set the number of members to be displayed in each page of Member Editor on applying paging in it. - * @Default {100} - */ - memberEditorPageSize?: number; - - /** Sets the summary layout for PivotGrid. Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. - * @Default {ej.PivotGrid.Layout.Normal} - */ - gridLayout?: ej.PivotGrid.Layout | string; - - /** Allows the user to enable PivotClient’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotClient widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Sets the title for PivotClient widget. - */ - title?: string; - - /** Connects the service using the specified URL for any server updates. - */ - url?: string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from client-side to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers before saving the current collection of reports. */ - saveReport?(e: SaveReportEventArgs): void; - - /** Triggers before loading a saved collection of reports. */ - loadReport?(e: LoadReportEventArgs): void; - - /** Triggers before fetching the report collection from storage. */ - fetchReport?(e: FetchReportEventArgs): void; - - /** Triggers before exporting the control. */ - beforeExport?(e: BeforeExportEventArgs): void; - - /** Triggers before rendering the PivotChart. */ - chartLoad?(e: ChartLoadEventArgs): void; - - /** Triggers before rendering the PivotTreeMap. */ - treeMapLoad?(e: TreeMapLoadEventArgs): void; - - /** Triggers while we initiate loading of the widget. */ - load?(e: LoadEventArgs): void; - - /** Triggers when PivotClient widget completes all operations at client-end after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotClient successfully completes rendering. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotClient control. - */ - action?: string; - - /** returns the custom object bounds with PivotClient control. - */ - customObject?: any; - - /** returns the HTML element of PivotClient control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotClient control. - */ - action?: string; - - /** returns the custom object bounds with PivotClient control. - */ - customObject?: any; - - /** returns the HTML element of PivotClient control. - */ - element?: any; - } - - export interface SaveReportEventArgs { - - /** returns the current instance of PivotClient control. - */ - targetControl?: any; - - /** returns the object which holds the necessary parameters required for saving the report collection. - */ - saveReportSetting?: any; - } - - export interface LoadReportEventArgs { - - /** returns the current instance of PivotClient control. - */ - targetControl?: any; - - /** returns the object which holds the necessary parameters required for loading a report collection from database. - */ - loadReportSetting?: any; - } - - export interface FetchReportEventArgs { - - /** returns the current instance of PivotClient control. - */ - targetControl?: any; - - /** returns the object which holds the necessary parameters required for fetching the report names stored in database. - */ - fetchReportSetting?: any; - } - - export interface BeforeExportEventArgs { - - /** holds the url of the service method responsible for exporting the PivotClient control. - */ - url?: string; - - /** holds the name of the file to be exported. - */ - fileName?: string; - } - - export interface ChartLoadEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface TreeMapLoadEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface LoadEventArgs { - - /** returns the HTML element of PivotClient component. - */ - element?: any; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the HTML element of PivotClient component. - */ - element?: any; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotClient control. - */ - element?: any; - - /** returns the error message with error code. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the object of PivotClient control at that instant. - */ - args?: any; - } - - export interface DataSourceColumnsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceColumnsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field in PivotGrid. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceRowsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. - * @Default {ej.PivotAnalysis.SummaryType.Sum} - */ - summaryType?: ej.PivotAnalysis.SummaryType | string; - - /** Allows to set the format of the values. - */ - format?: string; - - /** This property sets type of display of date. - */ - formatString?: string; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display name for an item. - */ - fieldCaption?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSourcePagerOptions { - - /** Allows to set the number of categorical columns to be displayed in each page on applying paging. - * @Default {0} - */ - categoricalPageSize?: number; - - /** Allows to set the number of series rows to be displayed in each page on applying paging. - * @Default {0} - */ - seriesPageSize?: number; - - /** Allows to set the page number in categorical axis to be loaded by default. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Allows to set the page number in series axis to be loaded by default. - * @Default {1} - */ - seriesCurrentPage?: number; - } - - export interface DataSource { - - /** Lists out the items to be arranged in columns section of PivotClient. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be arranged in rows section of PivotClient. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items which supports calculation in PivotClient. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotClient. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotClient. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option in client-mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Sets a name to the report bound to the control. - */ - reportName?: string; - - /** Allows to set the page size and current page number for each axis on applying paging. - * @Default {{}} - */ - pagerOptions?: DataSourcePagerOptions; - } - - export interface DisplaySettings { - - /** Lets the user to customize the display of PivotChart and PivotGrid widgets, either in tabs or tiles. - * @Default {ej.PivotClient.ControlPlacement.Tab} - */ - controlPlacement?: ej.PivotClient.ControlPlacement | string; - - /** Lets the user to set either Chart or Grid as the start-up widget. - * @Default {ej.PivotClient.DefaultView.Grid} - */ - defaultView?: ej.PivotClient.DefaultView | string; - - /** Lets the user to have an option for switching to full screen view of PivotChart and PivotGrid from default view in PivotClient. - * @Default {false} - */ - enableFullScreen?: boolean; - - /** Enables an option to enhance the space for PivotGrid and PivotChart by hiding Cube Browser and Axis Element Builder. - * @Default {false} - */ - enableTogglePanel?: boolean; - - /** Sets the display mode (Only Chart/Only Grid/Both) in PivotClient. - * @Default {ej.PivotClient.DisplayMode.ChartAndGrid} - */ - mode?: ej.PivotClient.DisplayMode | string; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for updating the entire report and widget, while changing the Cube. - * @Default {CubeChanged} - */ - cubeChanged?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotClient?: string; - - /** Allows the user to set the custom name for the service method responsible to get the members for the tree-view, inside member-editor dialog. - * @Default {FetchMemberTreeNodes} - */ - fetchMemberTreeNodes?: string; - - /** Allows the user to set the custom name for the service method responsible for fetching the report names from the database. - * @Default {FetchReportListFromDB} - */ - fetchReportList?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while filtering members. - * @Default {FilterElement} - */ - filterElement?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotClient. - * @Default {InitializeClient} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for loading a report collection from the database. - * @Default {LoadReportFromDB} - */ - loadReport?: string; - - /** Allows the user to set the custom name for the service method responsible for retrieving the MDX query for the current report. - * @Default {GetMDXQuery} - */ - mdxQuery?: string; - - /** Allows the user to set the custom name for the service method responsible for updating the tree-view inside Cube Browser, while changing the measure group. - * @Default {MeasureGroupChanged} - */ - measureGroupChanged?: string; - - /** Allows the user to set the custom name for the service method responsible to get the child members, on tree-view node expansion. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while dropping a node/SplitButton inside Axis Element Builder. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while removing SplitButton from Axis Element Builder. - * @Default {RemoveSplitButton} - */ - removeSplitButton?: string; - - /** Allows the user to set the custom name for the service method responsible for saving the report collection to database. - * @Default {SaveReportToDB} - */ - saveReport?: string; - - /** Allows the user to set the custom name for the service method responsible for toggling the elements in row and column axes. - * @Default {ToggleAxis} - */ - toggleAxis?: string; - - /** Allows the user to set the custom name for the service method responsible for all the toolbar operations. - * @Default {ToolbarOperations} - */ - toolbarServices?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report collection. - * @Default {UpdateReport} - */ - updateReport?: string; - - /** Allows the user to set the custom name for the service method responsible on navigating between pages in paged PivotClient. - * @Default {Paging} - */ - paging?: string; - } - - enum ClientExportMode { - - ///Exports both the PivotChart and PivotGrid on exporting. - ChartAndGrid, - - ///Exports the PivotChart control alone on exporting. - ChartOnly, - - ///Exports the PivotGrid control alone on exporting. - GridOnly - } - - - enum ControlPlacement { - - ///Displays PivotChart and PivotGrid widgets in separate tabs. - Tab, - - ///Displays PivotChart and PivotGrid widgets one above the other. - Tile - } - - - enum DefaultView { - - ///To set PivotChart as a default control in view. - Chart, - - ///To set PivotGrid as a default control in view. - Grid - } - - - enum DisplayMode { - - ///To display only PivotChart widget. - ChartOnly, - - ///To display only PivotGrid widget. - GridOnly, - - ///To display both PivotChart and PivotGrid widgets. - ChartAndGrid - } - - } - - class PivotGauge extends ej.Widget { - static fn: PivotGauge; - constructor(element: JQuery | Element, options?: PivotGauge.Model); - static Locale: any; - model: PivotGauge.Model; - defaults: PivotGauge.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** This function is used to refresh the PivotGauge at client-side itself. - * @returns {void} - */ - refresh(): void; - - /** This function removes the KPI related images from PivotGauge on binding OLAP datasource. - * @returns {void} - */ - removeImg(): void; - - /** This function receives the JSON formatted datasource and renders the PivotGauge control. - * @returns {void} - */ - renderControlFromJSON(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** Returns the JSON records required to render the PivotGauge on performing any action with OLAP data source. - * @returns {void} - */ - getJSONData(): void; - } - export namespace PivotGauge { - - export interface Model { - - /** Sets the number of columns to arrange the Pivot Gauges. - * @Default {0} - */ - columnsCount?: number; - - /** Specifies the CSS class to PivotGauge to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end on operating in server mode. - * @Default {{}} - */ - customObject?: any; - - /** Initializes the data source for the PivotGauge widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Enables/disables the animation of pointer in PivotGauge. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Enables/disables tooltip visibility in PivotGauge. - * @Default {false} - */ - enableTooltip?: boolean; - - /** Allows the user to view PivotGauge from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable PivotGauge’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to change the format of the label values in PivotGauge. - * @Default {null} - */ - labelFormatSettings?: LabelFormatSettings; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the number of rows to arrange the Pivot Gauges. - * @Default {0} - */ - rowsCount?: number; - - /** Sets the scale values such as pointers, indicators, etc... for PivotGauge. - * @Default {{}} - */ - scales?: any; - - /** Allows the user to set the custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Enables/disables the header labels in PivotGauge. - * @Default {true} - */ - showHeaderLabel?: boolean; - - /** Connects the service using the specified URL for any server updates on server mode operation. - * @Default {“”} - */ - url?: string; - - /** Sets the mode for the PivotGauge widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Sets the mode for the PivotGauge widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotGauge to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers before populating the pivot engine on operating in client mode. */ - beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - - /** Triggers when PivotGauge started loading at client-side. */ - load?(e: LoadEventArgs): void; - - /** Triggers when PivotGauge widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotGauge successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - } - - export interface BeforePivotEnginePopulateEventArgs { - - /** returns the current instance of PivotGauge control. - */ - gaugeObject?: any; - } - - export interface LoadEventArgs { - - /** returns the current action of PivotGauge control. - */ - action?: string; - - /** returns the model of PivotGauge control. - */ - model?: any; - - /** returns the HTML element of the widget. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the error message with error code. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - - /** returns the custom object bound with the control. - */ - customObject?: any; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSource { - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotGauge. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to bind in columns section. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to bind in rows section. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items supports calculation in PivotGauge. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGauge. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - } - - export interface LabelFormatSettings { - - /** Allows the user to change the number format of the label values in PivotGauge. - * @Default {ej.PivotGauge.NumberFormat.Default} - */ - numberFormat?: ej.PivotGauge.NumberFormat | string; - - /** Allows you to set the number of digits displayed after decimal point. - * @Default {5} - */ - decimalPlaces?: number; - - /** Allows you to add a text at the beginning of the label. - */ - prefixText?: string; - - /** Allows you to add text at the end of the label. - */ - suffixText?: string; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for initializing PivotGauge. - * @Default {InitializeGauge} - */ - initialize?: string; - } - - enum NumberFormat { - - ///To set default format for label values. - Default, - - ///To set currency format for label values. - Currency, - - ///To set percentage format for label values. - Percentage, - - ///To set fraction format for label values. - Fraction, - - ///To set scientific format for label values. - Scientific, - - ///To set text format for label values. - Text, - - ///To set notation format for label values. - Notation - } - - } - - class PivotTreeMap extends ej.Widget { - static fn: PivotTreeMap; - constructor(element: JQuery | Element, options?: PivotTreeMap.Model); - static Locale: any; - model: PivotTreeMap.Model; - defaults: PivotTreeMap.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** Renders the control with the pivot engine obtained from OLAP cube. - * @returns {void} - */ - generateJSON(): void; - - /** This function receives the JSON formatted datasource to render the PivotTreeMap control. - * @returns {void} - */ - renderTreeMapFromJSON(): void; - - /** This function receives the update from service-end, which would be utilized for rendering the widget. - * @returns {void} - */ - renderControlSuccess(): void; - } - export namespace PivotTreeMap { - - export interface Model { - - /** Specifies the CSS class to PivotTreeMap to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Initializes the data source for the PivotTreeMap widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Object utilized to pass additional information between client-end and service-end. - * @Default {{}} - */ - customObject?: any; - - /** Allows the user to enable PivotTreeMap’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotTreeMap widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotTreeMap to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers when PivotTreeMap starts to render. */ - load?(e: LoadEventArgs): void; - - /** Triggers before populating the pivot engine from datasource. */ - beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - - /** Triggers when drill up/down happens in PivotTreeMap control. And it returns the outer HTML of PivotTreeMap control. */ - drillSuccess?(e: DrillSuccessEventArgs): void; - - /** Triggers when PivotTreeMap widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotTreeMap successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface LoadEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface BeforePivotEnginePopulateEventArgs { - - /** returns the current instance of PivotTreeMap control. - */ - treeMapObject?: any; - } - - export interface DrillSuccessEventArgs { - - /** return the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - - /** returns the error stack trace of the original exception. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface DataSourceColumnsFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSource { - - /** Provides the raw data source for the PivotTreeMap. - * @Default {null} - */ - data?: any; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to be displayed as series of PivotTreeMap. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be displayed as segments of PivotTreeMap. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items supports calculation in PivotTreeMap. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotTreeMap. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for initializing PivotTreeMap. - * @Default {InitializeTreemap} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotTreeMap. - * @Default {DrillTreeMap} - */ - drillDown?: string; - } - } - - class Schedule extends ej.Widget { - static fn: Schedule; - constructor(element: JQuery | Element, options?: Schedule.Model); - static Locale: any; - model: Schedule.Model; - defaults: Schedule.Model; - - /** This method is used to delete the appointment based on the guid value or the appointment data passed to it. - * @param {string|any} GUID value of an appointment element or an appointment object - * @returns {void} - */ - deleteAppointment(data: string | any): void; - - /** Destroys the Schedule widget. All the events bound using this._on are unbound automatically and the control is moved to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Exports the appointments from the Schedule control. - * @param {string} It refers the controller action name to redirect. (For MVC) - * @param {string} It refers the server event name.(For ASP) - * @param {string|number} Pass the id of an appointment, in case if a single appointment needs to be exported. Otherwise, it takes the null value. - * @returns {void} - */ - exportSchedule(action: string, serverEvent: string, id: string | number): void; - - /** Searches and filters the appointments from appointment list of Schedule control. - * @param {Array} Holds array of one or more conditional objects for filtering the appointments based on it. - * @returns {Array} - */ - filterAppointments(filterConditions: any[]): any[]; - - /** Gets the complete appointment list of Schedule control. - * @returns {Array} - */ - getAppointments(): any[]; - - /** Prints the entire Scheduler or a single appointment based on the appointment data passed as an argument to it. Simply calling the print() method, - * without passing any argument will print the entire Scheduler. - * @param {any} Either accepts no arguments at all or else accepts an appointment object. - * @returns {void} - */ - print(data: any): void; - - /** Refreshes the Scroller of Scheduler while using it within some other controls or application. - * @returns {void} - */ - refreshScroller(): void; - - /** It is used to save the appointment. The appointment object is based on the argument passed to this method. - * @param {any} appointment object which includes appointment details - * @returns {void} - */ - saveAppointment(appointmentObject: any): void; - - /** Generate the recurrence rule as a string, based on the repeat options selected. - * @returns {string} - */ - getRecurrenceRule(): string; - - /** Retrieves the time slot information (start/end time and resource details) of the given element. - * The parameter is optional - as when no element is passed to it, the currently selected cell information will be retrieved. When multiple cells are selected in the Scheduler, - * it is not necessary to provide the parameter. - * @param {any} TD element object rendered as Scheduler work cell - * @returns {any} - */ - getSlotByElement(element: any): any; - - /** Searches the appointments from the appointment list of Schedule control based on the provided search string in its argument list. - * @param {any|string} Defines the search word or the filter condition, based on which the appointments are filtered from the list. - * @param {string} Defines the field name on which the search is to be made. - * @param {ej.FilterOperators|string} Defines the filterOperator value for the search operation. - * @param {boolean} Defines the ignoreCase value for performing the search operation. - * @returns {Array} - */ - searchAppointments(searchString: any | string, field: string, operator: ej.FilterOperators | string, ignoreCase: boolean): any[]; - - /** Refreshes the entire Schedule control. - * @returns {void} - */ - refresh(): void; - - /** Refreshes only the appointment elements within the Schedule control. - * @returns {void} - */ - refreshAppointments(): void; - - /** Passes the server-side action and data to the client-side for rendering the modified appointment list on the Schedule control. - * @returns {void} - */ - notifyChanges(): void; - } - export namespace Schedule { - - export interface Model { - - /** When set to true, Schedule allows the appointments to be dragged and dropped at required time. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** When set to true, Scheduler allows interaction through keyboard shortcut keys. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** It includes the dataSource option and the fields related to Schedule appointments. The appointment fields within the appointmentSettings can accept both string and object type values. - * To apply validation rules on the appointment window fields, then the appointment fields needs to be defined with object type values. - */ - appointmentSettings?: AppointmentSettings; - - /** Template design that applies on the Schedule appointments. All the field names that are mapped from dataSource - * to the appropriate field properties within the appointmentSettings can be used within the template. - * @Default {null} - */ - appointmentTemplateId?: string; - - /** Accepts the custom CSS class name that defines specific user-defined styles and themes to be applied for partial or complete elements of the Schedule. - */ - cssClass?: string; - - /** Sets various categorize colors to the Schedule appointments to differentiate it. - */ - categorizeSettings?: CategorizeSettings; - - /** Sets the height for Schedule cells. - * @Default {20px} - */ - cellHeight?: string; - - /** Sets the width for Schedule cells. - */ - cellWidth?: string; - - /** Holds all options related to the context menu settings of Scheduler. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Sets current date of the Schedule. The Schedule displays initially with the date that is provided here. - * @Default {new Date()} - */ - currentDate?: any; - - /** Sets current view of the Schedule. Schedule renders initially with the view that is specified here. The available views are day, week, workweek, month, agenda and - * custom view - from which any one of the required view can be set to the Schedule. It accepts both string or enum values. The enum values that are accepted - * by currentView(ej.Schedule.CurrentView) are as follows, - * @Default {ej.Schedule.CurrentView.Week} - */ - currentView?: string | ej.Schedule.CurrentView; - - /** Sets the date format for Schedule. - */ - dateFormat?: string; - - /** When set to true, shows the previous/next appointment navigator button on the Scheduler. - * @Default {true} - */ - showAppointmentNavigator?: boolean; - - /** When set to true, enables the resize behavior of appointments within the Schedule. - * @Default {true} - */ - enableAppointmentResize?: boolean; - - /** When set to true, enables the loading of Schedule appointments based on your demand. With this load on demand concept, the data consumption of the Schedule can be limited. - * @Default {false} - */ - enableLoadOnDemand?: boolean; - - /** Saves the current model value to browser cookies for state maintenance. When the page gets refreshed, Schedule control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** When set to true, the Schedule layout and behavior changes as per the common RTL conventions. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the end hour time limit to be displayed on the Schedule. - * @Default {24} - */ - endHour?: number; - - /** To configure resource grouping on the Schedule. - */ - group?: Group; - - /** Sets the height of the Schedule. Accepts both pixel and percentage values. - * @Default {1120px} - */ - height?: string; - - /** To define the work hours within the Schedule control. - */ - workHours?: WorkHours; - - /** When set to true, enables the Schedule to observe Daylight Saving Time for supported timezones. - * @Default {false} - */ - isDST?: boolean; - - /** When set to true, adapts the Schedule layout to fit the screen size of devices on which it renders. - * @Default {true} - */ - isResponsive?: boolean; - - /** Sets the specific culture to the Schedule. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum date limit to display on the Schedule. Setting maxDate with specific date value disallows the Schedule to navigate beyond that date. - * @Default {new Date(2099, 12, 31)} - */ - maxDate?: any; - - /** Sets the minimum date limit to display on the Schedule. Setting minDate with specific date value disallows the Schedule to navigate beyond that date. - * @Default {new Date(1900, 01, 01)} - */ - minDate?: any; - - /** Sets the mode of Schedule rendering either in a vertical or horizontal direction. It accepts either string("vertical" or "horizontal") or enum values. - * The enum values that are accepted by orientation(ej.Schedule.Orientation) are as follows, - * @Default {ej.Schedule.Orientation.Vertical} - */ - orientation?: string | ej.Schedule.Orientation; - - /** Holds all the options related to priority settings of the Schedule. - */ - prioritySettings?: PrioritySettings; - - /** When set to true, disables the interaction with the Schedule appointments, simply allowing the date and view navigation to occur. - * @Default {false} - */ - readOnly?: boolean; - - /** Holds all the options related to reminder settings of the Schedule. - */ - reminderSettings?: ReminderSettings; - - /** Defines the specific start and end dates to be rendered in the Schedule control. To render such user-specified custom date ranges in the Schedule control, - * set the currentView property to ej.Schedule.CurrentView.CustomView. - * @Default {null} - */ - renderDates?: RenderDates; - - /** Template design that applies on the Schedule resource header. - * @Default {null} - */ - resourceHeaderTemplateId?: string; - - /** Holds all the options related to the resources settings of the Schedule. It is a collection of one or more resource objects, where the levels of resources are rendered on the Schedule - * based on the order of the resource data provided within this collection. - * @Default {null} - */ - resources?: Resource[]; - - /** When set to true, displays the all-day row cells on the Schedule. - * @Default {true} - */ - showAllDayRow?: boolean; - - /** When set to true, displays the current time indicator on the Schedule. - * @Default {true} - */ - showCurrentTimeIndicator?: boolean; - - /** When set to true, displays the header bar on the Schedule. - * @Default {true} - */ - showHeaderBar?: boolean; - - /** When set to true, displays the location field additionally on Schedule appointment window. - * @Default {false} - */ - showLocationField?: boolean; - - /** When set to false, doesn't render the start and end timezone fields on the Schedule appointment window. - * @Default {true} - */ - showTimeZoneFields?: boolean; - - /** When set to true, displays the quick window for every single click made on the Schedule cells or appointments. - * @Default {true} - */ - showQuickWindow?: boolean; - - /** Sets the start hour time range to be displayed on the Schedule. - * @Default {0} - */ - startHour?: number; - - /** Sets either 12 or 24 hour time mode on the Schedule. It accepts either the string value("12" or "24") or the below mentioned enum values. - * The enum values that are accepted by timeMode(ej.Schedule.TimeMode) are as follows, - * @Default {null} - */ - timeMode?: string | ej.Schedule.TimeMode; - - /** Sets the timezone for the Schedule. - * @Default {null} - */ - timeZone?: string; - - /** Sets the collection of timezone items to be bound to the Schedule. Only the items bound to this property gets listed out in the timezone field of the appointment window. - */ - timeZoneCollection?: TimeZoneCollection; - - /** Defines the view collection to be displayed on the Schedule. By default, it displays all the views namely, Day, Week, WorkWeek and Month. - * @Default {[Day, Week, WorkWeek, Month, Agenda]} - */ - views?: any[]; - - /** Sets the width of the Schedule. Accepts both pixel and percentage values. - * @Default {100%} - */ - width?: string; - - /** When set to true, Schedule allows the validation of recurrence pattern to take place before it is being assigned to the appointments. For example, when one of the instance of - * recurrence appointment is dragged beyond the next or previous instance of the same recurrence appointment, a pop-up is displayed with the validation message disallowing the drag functionality. - * @Default {true} - */ - enableRecurrenceValidation?: boolean; - - /** Sets the week to display more than one week appointment summary. - */ - agendaViewSettings?: AgendaViewSettings; - - /** Sets specific day as the starting day of the week. - * @Default {null} - */ - firstDayOfWeek?: string; - - /** Sets different day collection within workWeek view. - * @Default {[Monday, Tuesday, Wednesday, Thursday, Friday]} - */ - workWeek?: any[]; - - /** Allows to pop-up appointment details in a tooltip while hovering over the appointments. - */ - tooltipSettings?: TooltipSettings; - - /** Holds all the options related to the time scale of Scheduler. The timeslots either major or minor slots can be customized with this property. - */ - timeScale?: TimeScale; - - /** When set to true, shows the delete confirmation dialog before deleting an appointment. - * @Default {true} - */ - showDeleteConfirmationDialog?: boolean; - - /** Accepts the id value of the template layout defined for the all-day cells and customizes it. - * @Default {null} - */ - allDayCellsTemplateId?: string; - - /** Accepts the id value of the template layout defined for the work cells and month cells. - * @Default {null} - */ - workCellsTemplateId?: string; - - /** Accepts the id value of the template layout defined for the date header cells and customizes it. - * @Default {null} - */ - dateHeaderTemplateId?: string; - - /** when set to false, allows the height of the work-cells to adjust automatically (either expand or collapse) based on the number of appointment count it has. - * @Default {true} - */ - showOverflowButton?: boolean; - - /** Allows setting draggable area for the Scheduler appointments. Also, turns on the external drag and drop, when set with some specific external drag area name. - */ - appointmentDragArea?: string; - - /** When set to true, displays the other months days from the current month on the Schedule. - * @Default {true} - */ - showNextPrevMonth?: boolean; - - /** Blocks the user-specific time interval on the Scheduler, so that no appointments can be created on that particular time slots. - * It includes the dataSource option and also the fields related to block intervals. - */ - blockoutSettings?: BlockoutSettings; - - /** Triggers on the beginning of every action that starts within the Schedule. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggers after the completion of every action within the Schedule. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggers after an appointment is clicked. */ - appointmentClick?(e: AppointmentClickEventArgs): void; - - /** Triggers before the appointment is being removed from the Scheduler. */ - beforeAppointmentRemove?(e: BeforeAppointmentRemoveEventArgs): void; - - /** Triggers before the edited appointment is being saved. */ - beforeAppointmentChange?(e: BeforeAppointmentChangeEventArgs): void; - - /** Triggers on hovering the mouse over the appointments. */ - appointmentHover?(e: AppointmentHoverEventArgs): void; - - /** Triggers before the new appointment gets saved. */ - beforeAppointmentCreate?(e: BeforeAppointmentCreateEventArgs): void; - - /** Triggers before the appointment window opens. */ - appointmentWindowOpen?(e: AppointmentWindowOpenEventArgs): void; - - /** Triggers before the context menu opens. */ - beforeContextMenuOpen?(e: BeforeContextMenuOpenEventArgs): void; - - /** Triggers after the cell is clicked. */ - cellClick?(e: CellClickEventArgs): void; - - /** Triggers after the cell is clicked twice. */ - cellDoubleClick?(e: CellDoubleClickEventArgs): void; - - /** Triggers on hovering the mouse overs the cells. */ - cellHover?(e: CellHoverEventArgs): void; - - /** Triggers when the Scheduler completely renders on the page. */ - create?(e: CreateEventArgs): void; - - /** Triggers when the Scheduler and all its sub-components gets destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggers while the appointment is being dragged over the work cells. */ - drag?(e: DragEventArgs): void; - - /** Triggers when the appointment dragging begins. */ - dragStart?(e: DragStartEventArgs): void; - - /** Triggers when the appointment is dropped. */ - dragStop?(e: DragStopEventArgs): void; - - /** Triggers after the menu/sub-menu items within the context menu is clicked. */ - menuItemClick?(e: MenuItemClickEventArgs): void; - - /** Triggers after the Schedule view or date is navigated. */ - navigation?(e: NavigationEventArgs): void; - - /** Triggers every time before the elements of the scheduler such as work cells, time cells or header cells and so on renders or re-renders on a page. */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggers when the reminder is raised for an appointment based on the alertBefore value. */ - reminder?(e: ReminderEventArgs): void; - - /** Triggers while resizing the appointment. */ - resize?(e: ResizeEventArgs): void; - - /** Triggers when the appointment resizing begins. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggers when an appointment resizing stops. */ - resizeStop?(e: ResizeStopEventArgs): void; - - /** Triggers when the overflow button is clicked. */ - overflowButtonClick?(e: OverflowButtonClickEventArgs): void; - - /** Triggers while mouse hovering on the overflow button. */ - overflowButtonHover?(e: OverflowButtonHoverEventArgs): void; - - /** Triggers when any of the keyboard keys are pressed. */ - keyDown?(e: KeyDownEventArgs): void; - - /** Triggers after the new appointment is saved. */ - appointmentCreated?(e: AppointmentCreatedEventArgs): void; - - /** Triggers after an existing appointment is edited. */ - appointmentChanged?(e: AppointmentChangedEventArgs): void; - - /** Triggers after the appointment is deleted. */ - appointmentRemoved?(e: AppointmentRemovedEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the current date value. - */ - currentDate?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current view value. - */ - currentView?: string; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the action begin request type. - */ - requestType?: string; - - /** Returns the target of the click. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the save appointment value. - */ - data?: any; - - /** Returns the id of delete appointment. - */ - id?: number; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data about view change action. - */ - data?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the action complete request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the appointment data dropped. - */ - appointment?: any; - } - - export interface AppointmentClickEventArgs { - - /** Returns the object of appointmentClick event. - */ - object?: any; - - /** Returns the clicked appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeAppointmentRemoveEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the deleted appointment object. - */ - appointment?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface BeforeAppointmentChangeEventArgs { - - /** Returns the edited appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentHoverEventArgs { - - /** Returns the object of appointmentHover event. - */ - object?: any; - - /** Returns the hovered appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeAppointmentCreateEventArgs { - - /** Returns the appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentWindowOpenEventArgs { - - /** returns the object of appointmentWindowOpen event while selecting the detail option from quick window or edit appointment or edit series option. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the end time of the double clicked cell. - */ - endTime?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the action name that triggers window open. - */ - originalEventType?: string; - - /** Returns the start time of the double clicked cell. - */ - startTime?: any; - - /** Returns the target of the double clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the edit appointment object. - */ - appointment?: any; - - /** Returns the edit occurrence option value. - */ - edit?: boolean; - } - - export interface BeforeContextMenuOpenEventArgs { - - /** Returns the object of beforeContextMenuOpen event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current cell index value. - */ - cellIndex?: number; - - /** Returns the current date value. - */ - currentDate?: any; - - /** Returns the current resource details, when multiple resources are present, otherwise returns null. - */ - resources?: any; - - /** Returns the current appointment details while opening the menu from appointment. - */ - appointment?: any; - - /** Returns the object of before opening menu target. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellClickEventArgs { - - /** Returns the object of cellClick event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the end time of the clicked cell. - */ - endTime?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the start time of the clicked cell. - */ - startTime?: any; - - /** Returns the target of the clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellDoubleClickEventArgs { - - /** Returns the object of cellDoubleClick event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the end time of the double clicked cell. - */ - endTime?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the start time of the double clicked cell. - */ - startTime?: any; - - /** Returns the target of the double clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellHoverEventArgs { - - /** Returns the object of cellHover event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the index of the hovered cell. - */ - cellIndex?: any; - - /** Returns the current date of the hovered cell. - */ - currentDate?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface DragEventArgs { - - /** Returns the object of dragOver event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the drag over appointment. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DragStartEventArgs { - - /** Returns the object of dragStart event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the dragging appointment. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DragStopEventArgs { - - /** Returns the object of dragDrop event. - */ - object?: any; - - /** Returns the dropped appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface MenuItemClickEventArgs { - - /** Returns the object of menuItemClick event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface NavigationEventArgs { - - /** Returns the current date object. - */ - currentDate?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the current view value. - */ - currentView?: string; - - /** Returns the previous view value. - */ - previousView?: string; - - /** Returns the target of the action. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the previous date of the Schedule. - */ - previousDate?: any; - } - - export interface QueryCellInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the current appointment data. - */ - appointment?: any; - - /** Returns the currently rendering DOM element. - */ - element?: any; - - /** Returns the name of the currently rendering element on the scheduler. - */ - requestType?: string; - - /** Returns the cell type which is currently rendering on the Scheduler. - */ - cellType?: string; - - /** Returns the start date of the currently rendering appointment. - */ - currentAppointmentDate?: any; - - /** Returns the currently rendering cell information. - */ - cell?: any; - - /** Returns the currently rendering resource details. - */ - resource?: any; - - /** Returns the currently rendering date information. - */ - currentDay?: any; - } - - export interface ReminderEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the appointment object for which the reminder is raised. - */ - reminderAppointment?: any; - } - - export interface ResizeEventArgs { - - /** Returns the object of resizing event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the resize element value. - */ - element?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ResizeStartEventArgs { - - /** Returns the object of resizeStart event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the resize element value. - */ - element?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ResizeStopEventArgs { - - /** Returns the object of resizeStop event. - */ - object?: any; - - /** Returns the resized appointment value. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the resized appointment. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OverflowButtonClickEventArgs { - - /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the clicked overflow button is present. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OverflowButtonHoverEventArgs { - - /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the overflow button is currently hovered. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface KeyDownEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface AppointmentCreatedEventArgs { - - /** Returns the appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentChangedEventArgs { - - /** Returns the edited appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentRemovedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the deleted appointment object. - */ - appointment?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentSettings { - - /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule appointments. - * @Default {[]} - */ - dataSource?: any | any[]; - - /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. - * @Default {null} - */ - query?: string; - - /** Assign the table name from where the records are to be fetched for the Schedule. - * @Default {null} - */ - tableName?: string; - - /** When set to false, doesn't consider the time difference offset calculation on appointment time. - * @Default {true} - */ - applyTimeOffset?: boolean; - - /** Binds the id field name in dataSource to the id of Schedule appointments. It denotes the unique id assigned to appointments. - * @Default {null} - */ - id?: string; - - /** Binds the name of startTime field in the dataSource with start time of the Schedule appointments. It indicates the date and Time when Schedule appointment actually starts. - * @Default {null} - */ - startTime?: string; - - /** Binds the name of endTime field in dataSource with the end time of Schedule appointments. It indicates the date and time when Schedule appointment actually ends. - * @Default {null} - */ - endTime?: string; - - /** Binds the name of subject field in the dataSource to appointment Subject. Indicates the Subject or title that gets displayed on Schedule appointments. - * @Default {null} - */ - subject?: string; - - /** Binds the description field name in dataSource. It indicates the appointment description. - * @Default {null} - */ - description?: string; - - /** Binds the name of recurrence field in dataSource. It indicates whether the appointment is a recurrence appointment or not. - * @Default {null} - */ - recurrence?: string; - - /** Binds the name of recurrenceRule field in dataSource. It indicates the recurrence pattern associated with appointments. - * @Default {null} - */ - recurrenceRule?: string; - - /** Binds the name of allDay field in dataSource. It indicates whether the appointment is an all-day appointment or not. - * @Default {null} - */ - allDay?: string; - - /** Binds one or more fields in resource collection dataSource. It maps the resource field names with appointments denoting the resource of appointments actually belongs. - * @Default {null} - */ - resourceFields?: string; - - /** Binds the name of categorize field in dataSource. It indicates the categorize value, red categorize, green, yellow and so on applied to the appointments. - * @Default {null} - */ - categorize?: string; - - /** Binds the name of location field in dataSource. It indicates the appointment location. - * @Default {null} - */ - location?: string; - - /** Binds the name of the priority field in dataSource. It indicates the priority, high, low, medium and none of the appointments. - * @Default {null} - */ - priority?: string; - - /** Binds the name of start timezone field in dataSource. It indicates the timezone of appointment start date. When startTimeZone field is not mentioned, - * the appointment uses the Schedule timeZone or System timeZone. - * @Default {null} - */ - startTimeZone?: string; - - /** Binds the name of end timezone field in dataSource. It indicates the timezone of appointment end date. When the endTimeZone field is not mentioned, - * the appointment uses the Schedule timeZone or System timeZone. - * @Default {null} - */ - endTimeZone?: string; - } - - export interface CategorizeSettings { - - /** When set to true, enables the multiple selection of categories to be applied for the appointments. - * @Default {false} - */ - allowMultiple?: boolean; - - /** When set to true, enables the categories option to be applied for the appointments. - * @Default {false} - */ - enable?: boolean; - - /** The dataSource option accepts either the JSON object collection or DataManager [ej.DataManager] instance that contains the categorize data. - */ - dataSource?: any[] | any; - - /** Binds id field name in the dataSource to id of category data. - * @Default {id} - */ - id?: string; - - /** Binds text field name in the dataSource to category text. - * @Default {text} - */ - text?: string; - - /** Binds color field name in the dataSource to category color. - * @Default {color} - */ - color?: string; - - /** Binds fontColor field name in the dataSource to category font. - * @Default {fontColor} - */ - fontColor?: string; - } - - export interface ContextMenuSettingsMenuItems { - - /** All the appointment related context menu items are grouped under this appointment menu collection. - */ - appointment?: any[]; - - /** All the Scheduler cell related context menu items are grouped under this cells menu item collection. - */ - cells?: any[]; - } - - export interface ContextMenuSettings { - - /** When set to true, enables the context menu options available for the Schedule cells and appointments. - * @Default {false} - */ - enable?: boolean; - - /** Contains all the default context menu options that are applicable for both Schedule cells and appointments. It also supports adding custom menu items to cells or appointment collection. - */ - menuItems?: ContextMenuSettingsMenuItems; - } - - export interface Group { - - /** Holds the array of resource names to be grouped on the Schedule. - */ - resources?: any[]; - } - - export interface WorkHours { - - /** When set to true, highlights the work hours of the Schedule. - * @Default {true} - */ - highlight?: boolean; - - /** Sets the start time to depict the start of working or business hour in a day. - * @Default {9} - */ - start?: number; - - /** Sets the end time to depict the end of working or business hour in a day. - * @Default {18} - */ - end?: number; - } - - export interface PrioritySettings { - - /** When set to true, enables the priority options available for the Schedule appointments. - * @Default {false} - */ - enable?: boolean; - - /** The dataSource option can accept the JSON object collection that contains the priority related data. - * @Default {{% highlight js%}[{ text: None, value: none },{ text: High, value: high },{ text: Medium, value: medium },{ text: Low, value: low }]{% endhighlight %}} - */ - dataSource?: any | any[]; - - /** Binds text field name in the dataSource to prioritySettings text. These text gets listed out in priority field of the appointment window. - * @Default {text} - */ - text?: string; - - /** Binds value field name in the dataSource to prioritySettings value. These field names usually accepts four priority values by default, high, low, medium and none. - * @Default {value} - */ - value?: string; - - /** Allows priority field customization in the appointment window to add custom icons denoting the priority level for the appointments. - * @Default {null} - */ - template?: string; - } - - export interface ReminderSettings { - - /** When set to true, enables the reminder option available for the Schedule appointments. - * @Default {false} - */ - enable?: boolean; - - /** Sets the timing, when the reminders are to be alerted for the Schedule appointments. - * @Default {5} - */ - alertBefore?: number; - } - - export interface RenderDates { - - /** Sets the start of custom date range to be rendered in the Schedule. - * @Default {null} - */ - start?: any; - - /** Sets the end limit of the custom date range. - * @Default {null} - */ - end?: any; - } - - export interface ResourcesResourceSettings { - - /** The dataSource option accepts either JSON object collection or DataManager (ejDataManager) instance that contains the resources related data. - * @Default {[]} - */ - dataSource?: any | any[]; - - /** Binds text field name in the dataSource to resourceSettings text. These text gets listed out in resources field of the appointment window. - * @Default {null} - */ - text?: string; - - /** Binds id field name in the dataSource to resourceSettings id. - * @Default {null} - */ - id?: string; - - /** Binds groupId field name in the dataSource to resourceSettings groupId. - * @Default {null} - */ - groupId?: string; - - /** Binds color field name in the dataSource to resourceSettings color. The color specified here gets applied to the Schedule appointments denoting to the resource it belongs. - * @Default {null} - */ - color?: string; - - /** Binds the starting work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the starting work hour for specific resources. - * @Default {null} - */ - start?: string; - - /** Binds the end work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the end work hour for specific resources. - * @Default {null} - */ - end?: string; - - /** Binds the resources working days field name in the dataSource. It's optional, and accepts the array of strings (week day names). When provided with specific collection of - * days (array of day names), only those days will render for the specific resources. - * @Default {null} - */ - workWeek?: string; - - /** Binds appointmentClass field name in the dataSource. It applies custom CSS class name to appointments depicting to the resource it belongs. - * @Default {null} - */ - appointmentClass?: string; - } - - export interface Resource { - - /** It holds the name of the resource field to be bound to the Schedule appointments that contains the resource Id. - * @Default {null} - */ - field?: string; - - /** It holds the title name of the resource field to be displayed on the Schedule appointment window. - * @Default {null} - */ - title?: string; - - /** A unique resource name that is used for differentiating various resource objects while grouping it in various levels. - * @Default {null} - */ - name?: string; - - /** When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. - * @Default {false} - */ - allowMultiple?: boolean; - - /** It holds the field names of the resources to be bound to the Schedule and also the dataSource. - */ - resourceSettings?: ResourcesResourceSettings; - } - - export interface TimeZoneCollection { - - /** Sets the collection of timezone items to the dataSource that accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule timezones. - */ - dataSource?: any; - - /** Binds text field name in the dataSource to timeZoneCollection text. These text gets listed out in the timezone fields of the appointment window. - * @Default {text} - */ - text?: string; - - /** Binds id field name in the dataSource to timeZoneCollection id. - * @Default {id} - */ - id?: string; - - /** Binds value field name in the dataSource to timeZoneCollection value. - * @Default {value} - */ - value?: string; - } - - export interface AgendaViewSettings { - - /** You can display the summary of multiple week's appointment by setting this value. - * @Default {7} - */ - daysInAgenda?: number; - - /** You can customize the Date column display based on the requirement. - * @Default {null} - */ - dateColumnTemplateId?: string; - - /** You can customize the time column display based on the requirement. - * @Default {null} - */ - timeColumnTemplateId?: string; - } - - export interface TooltipSettings { - - /** Enables or disables the tooltip display. - * @Default {false} - */ - enable?: boolean; - - /** Template design that customizes the tooltip. All the field names that are mapped from dataSource to the appropriate field properties within - * the appointmentSettings can be accessed within the template. - * @Default {null} - */ - templateId?: string; - } - - export interface TimeScale { - - /** When set to true, displays the time slots on the Scheduler. - * @Default {true} - */ - enable?: boolean; - - /** When set with some specific value, defines the number of time divisions split per hour(as per value given for the majorTimeSlot). Those time divisions are meant to be the minor slots. - * @Default {2} - */ - minorSlotCount?: number; - - /** Accepts the value in minutes. When provided with specific value, displays the appropriate time interval on the Scheduler - * @Default {60} - */ - majorSlot?: number; - - /** Template design that customizes the timecells (minor slots) that are partitioned based on minorSlotCount. Accepts id value of the template defined for minor time slots. - * @Default {null} - */ - minorSlotTemplateId?: string; - - /** Template design that customizes the timecells (major slots). Accepts id value of the template defined for major time slots. - * @Default {null} - */ - majorSlotTemplateId?: string; - } - - export interface BlockoutSettings { - - /** When set to true, enables the blockout option to be applied on the Scheduler cells. - * @Default {false} - */ - enable?: boolean; - - /** Template design that applies on the Schedule block intervals. All the field names that are mapped from dataSource to the appropriate field - * properties within the blockoutSettings can be used within the template. - * @Default {null} - */ - templateId?: string; - - /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule block intervals. - * @Default {[]} - */ - dataSource?: any | any[]; - - /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. - * @Default {null} - */ - query?: string; - - /** Assign the table name from where the records are to be fetched for the Schedule. - * @Default {null} - */ - tableName?: string; - - /** Binds the id field name in dataSource to the id of block time interval. It denotes the unique id assigned to each of the block records. - * @Default {null} - */ - id?: string; - - /** Binds the name of startTime field in the dataSource with start time of block time interval. It indicates the date and time, when the block interval actually starts in the Scheduler. - * @Default {null} - */ - startTime?: string; - - /** Binds the name of endTime field in dataSource with the end time of block time interval. It indicates the date and time, when the block interval actually ends in the Scheduler. - * @Default {null} - */ - endTime?: string; - - /** Binds the name of subject field in the dataSource to block time Subject. Indicates the Subject or title that gets displayed on the Schedule block intervals. - * @Default {null} - */ - subject?: string; - - /** Binds the name of isBlockAppointment field in dataSource. When set to true, disables the appointments that lies on the blocked area and restrict to perform CRUD operations in it. - * @Default {null} - */ - isBlockAppointment?: string; - - /** Binds the name of isAllDay field in dataSource. It indicates whether an entire day is blocked or not. - * @Default {null} - */ - isAllDay?: string; - - /** Binds the name of resourceId field in dataSource. Specifies the id of the resources, to which the time intervals are needed to be blocked. - * @Default {null} - */ - resourceId?: string; - - /** Binds the name of customStyle field in dataSource. It applies the custom CSS to the block intervals. - * @Default {null} - */ - customStyle?: string; - } - - enum CurrentView { - - ///Sets currentView of the Scheduler as Day - Day, - - ///Sets currentView of the Scheduler as Week - Week, - - ///Sets currentView of the Scheduler as WorkWeek - Workweek, - - ///Sets currentView of the Scheduler as Month - Month, - - ///Sets currentView of the Scheduler as Agenda - Agenda, - - ///Sets currentView of the Scheduler as CustomView with user-specified date range. - CustomView - } - - - enum Orientation { - - ///Set orientation as vertical to Scheduler - Vertical, - - ///Set orientation as horizontal to Scheduler - Horizontal - } - - - enum TimeMode { - - ///Sets 12 hour time mode to Scheduler - Hour12, - - ///Sets 24 hour time mode to Scheduler - Hour24 - } - - } - - class RecurrenceEditor extends ej.Widget { - static fn: RecurrenceEditor; - constructor(element: JQuery | Element, options?: RecurrenceEditor.Model); - static Locale: any; - model: RecurrenceEditor.Model; - defaults: RecurrenceEditor.Model; - - /** Generates the recurrence rule with the options selected within the Recurrence Editor. - * @returns {String} - */ - getRecurrenceRule(): string; - - /** Generates the collection of date, that lies within the selected recurrence start and end date for which the recurrence pattern applies. - * @param {string} It refers the recurrence rule. - * @param {any} It refers the start date of the recurrence. - * @returns {any} - */ - recurrenceDateGenerator(recurrenceString: string, startDate: any): any; - - /** It splits and returns the recurrence rule string into object collection. - * @param {string} It refers the recurrence rule string. - * @param {any} It refers the appointment dates (ExDate) to be excluded - * @returns {any} - */ - recurrenceRuleSplit(recurrenceRule: string, exDate: any): any; - } - export namespace RecurrenceEditor { - - export interface Model { - - /** Defines the collection of recurrence frequencies within Recurrence Editor such as Never, Daily, Weekly, Monthly, Yearly and Every Weekday. - * @Default {[never, daily, weekly, monthly, yearly, everyweekday]} - */ - frequencies?: any[]; - - /** Sets the starting day of the week. - * @Default {null} - */ - firstDayOfWeek?: string; - - /** When set to true, enables the spin button of numeric textboxes within the Recurrence Editor. - * @Default {true} - */ - enableSpinners?: boolean; - - /** Sets the start date of the recurrence. The Recurrence Editor initially displays the current date as its start date. - * @Default {new Date()} - */ - startDate?: any; - - /** Sets the specific culture to the Recurrence Editor. - * @Default {en-US} - */ - locale?: string; - - /** Sets the date format for the datepickers available within the Recurrence Editor. - */ - dateFormat?: string; - - /** When set to true, renders the Recurrence Editor options from Right-to-Left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the active/current repeat type(frequency) on Recurrence Editor based on the index value provided. For example, setting the value 1 will initially set the repeat type - * as Daily and display its related options. - * @Default {0} - */ - selectedRecurrenceType?: number; - - /** Sets the minimum date limit to display on the datepickers defined within the Recurrence Editor. Setting minDate with specific date value disallows the datepickers within - * Recurrence Editor to navigate beyond that date. - * @Default {new Date(1900, 01, 01)} - */ - minDate?: any; - - /** Sets the maximum date limit to display on the datepickers used within the Recurrence Editor. Setting maxDate with specific date value disallows the - * datepickers within the Recurrence Editor to navigate beyond that date. - * @Default {new Date(2099, 12, 31)} - */ - maxDate?: any; - - /** Accepts the custom CSS class name, that defines user-defined styles and themes to be applied on partial or complete elements of the Recurrence Editor. - */ - cssClass?: string; - - /** Triggers whenever any of the Recurrence Editor's value is changed. */ - change?(e: ChangeEventArgs): void; - } - - export interface ChangeEventArgs { - - /** When set to true, event gets canceled. - */ - cancel?: boolean; - - /** Returns the Recurrence Editor model - */ - model?: ej.RecurrenceEditor.Model; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the recurrence rule value. - */ - recurrenceRule?: string; - } - } - - class Gantt extends ej.Widget { - static fn: Gantt; - constructor(element: JQuery | Element, options?: Gantt.Model); - static Locale: any; - model: Gantt.Model; - defaults: Gantt.Model; - - /** To add a new item in Gantt - * @param {any} Item to add in Gantt row. - * @param {string} Defines in which position the row wants to add - * @returns {void} - */ - addRecord(data: any, rowPosition: string): void; - - /** To select cell based on the cell and row index dynamically. - * @param {Array} array of cell indexes to be select - * @param {boolean} Defines that we need to preserve the previously selected cells of not - * @returns {void} - */ - selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; - - /** Positions the splitter by the specified column index. - * @param {number} Set the splitter position based on column index. - * @returns {void} - */ - setSplitterIndex(index: number): void; - - /** To cancel the edited state of an item in Gantt - * @returns {void} - */ - cancelEdit(): void; - - /** To collapse all the parent items in Gantt - * @returns {void} - */ - collapseAllItems(): void; - - /** To delete a selected item in Gantt - * @returns {void} - */ - deleteItem(): void; - - /** destroy the Gantt widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To Expand all the parent items in Gantt - * @returns {void} - */ - expandAllItems(): void; - - /** To expand and collapse an item in Gantt using item's ID - * @param {number} Expand or Collapse a record based on task id. - * @returns {void} - */ - expandCollapseRecord(taskId: number): void; - - /** To hide the column by using header text - * @param {string} you can pass a header text of a column to hide - * @returns {void} - */ - hideColumn(headerText: string): void; - - /** To indent a selected item in Gantt - * @returns {void} - */ - indentItem(): void; - - /** To Open the dialog to add new task to the Gantt - * @returns {void} - */ - openAddDialog(): void; - - /** To Open the dialog to edit existing task to the Gantt - * @returns {void} - */ - openEditDialog(): void; - - /** To outdent a selected item in Gantt - * @returns {void} - */ - outdentItem(): void; - - /** To save the edited state of an item in Gantt - * @returns {void} - */ - saveEdit(): void; - - /** To search an item with search string provided at the run time - * @param {string} you can pass a text to search in Gantt Control. - * @returns {void} - */ - searchItem(searchString: string): void; - - /** To set the grid width in Gantt - * @param {string} you can give either percentage or pixels value - * @returns {void} - */ - setSplitterPosition(width: string): void; - - /** To show the column by using header text - * @param {string} you can pass a header text of a column to show - * @returns {void} - */ - showColumn(headerText: string): void; - } - export namespace Gantt { - - export interface Model { - - /** Specifies the fields to be included in the add dialog in Gantt - * @Default {[]} - */ - addDialogFields?: any[]; - - /** Enables or disables the ability to resize column. - * @Default {false} - */ - allowColumnResize?: boolean; - - /** Enables or Disables Gantt chart editing in Gantt - * @Default {true} - */ - allowGanttChartEditing?: boolean; - - /** Enables or Disables Keyboard navigation in Gantt - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specifies enabling or disabling multiple sorting for Gantt columns - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** Enables or disables the option for multiple exporting - * @Default {false} - */ - allowMultipleExporting?: boolean; - - /** Enables or disables the interactive selection of a row. - * @Default {true} - */ - allowSelection?: boolean; - - /** Enables or disables sorting. When enabled, we can sort the column by clicking on the column. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables or disables the ability to drag and drop the row interactively to reorder the rows - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Enable or disable predecessor validation. When it is true, all the task's start and end dates are aligned based on its predecessors start and end dates. - * @Default {true} - */ - enablePredecessorValidation?: boolean; - - /** Specifies the baseline background color in Gantt - * @Default {#fba41c} - */ - baselineColor?: string; - - /** Specifies the mapping property path for baseline end date in datasource - */ - baselineEndDateMapping?: string; - - /** Specifies the mapping property path for baseline start date of a task in datasource - */ - baselineStartDateMapping?: string; - - /** Specifies the mapping property path for sub tasks in datasource - */ - childMapping?: string; - - /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. - * @Default {[]} - */ - columnDialogFields?: any[]; - - /** Specifies the background of connector lines in Gantt - */ - connectorLineBackground?: string; - - /** Specifies the width of the connector lines in Gantt - * @Default {1} - */ - connectorlineWidth?: number; - - /** Specify the CSS class for Gantt to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the template for cell tooltip - * @Default {null} - */ - cellTooltipTemplate?: string; - - /** Option for customizing the drag tooltip while reordering the rows. - */ - dragTooltip?: DragTooltip; - - /** Collection of data or hierarchical data to represent in Gantt - * @Default {null} - */ - dataSource?: any[]; - - /** Specifies the dateFormat for Gantt , given format is displayed in tooltip , Grid . - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Specifies the mapping property path for duration of a task in datasource - */ - durationMapping?: string; - - /** Specifies the duration unit for each tasks whether days or hours or minutes - * @Default {ej.Gantt.DurationUnit.Day} - */ - durationUnit?: ej.Gantt.DurationUnit | string; - - /** Specifies the fields to be included in the edit dialog in Gantt - * @Default {[]} - */ - editDialogFields?: any[]; - - /** Enables or disables the responsiveness of Gantt - * @Default {false} - */ - isResponsive?: boolean; - - /** Option to configure the splitter position. - */ - splitterSettings?: SplitterSettings; - - /** Specifies the editSettings options in Gantt. - */ - editSettings?: EditSettings; - - /** Enables or Disables enableAltRow row effect in Gantt - * @Default {true} - */ - enableAltRow?: boolean; - - /** Enables/disables work breakdown structure column. - * @Default {false} - */ - enableWBS?: boolean; - - /** Enables/disables WBS predecessor column. - * @Default {false} - */ - enableWBSPredecessor?: boolean; - - /** Enables or disables the collapse all records when loading the Gantt. - * @Default {false} - */ - enableCollapseAll?: boolean; - - /** Specifies the data source field name to be displayed as left task label - */ - leftTaskLabelMapping?: string; - - /** Specifies the data source field name to be displayed as right task label - */ - rightTaskLabelMapping?: string; - - /** Specifies the template for left task label - */ - leftTaskLabelTemplate?: string; - - /** Specifies the template for right task label - */ - rightTaskLabelTemplate?: string; - - /** Enables or disables the contextmenu for Gantt , when enabled contextmenu appears on right clicking Gantt - * @Default {false} - */ - enableContextMenu?: boolean; - - /** Indicates whether we can edit the progress of a task interactively in Gantt. - * @Default {true} - */ - enableProgressBarResizing?: boolean; - - /** Enables or disables the option for dynamically updating the Gantt size on window resizing - * @Default {false} - */ - enableResize?: boolean; - - /** Enables or disables tooltip while editing (dragging/resizing) the taskbar. - * @Default {true} - */ - enableTaskbarDragTooltip?: boolean; - - /** Enables or disables tooltip for taskbar. - * @Default {true} - */ - enableTaskbarTooltip?: boolean; - - /** Enables/Disables virtualization for rendering Gantt items. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the mapping property path for end Date of a task in datasource - */ - endDateMapping?: string; - - /** Specifies whether to highlight the weekends in Gantt . - * @Default {true} - */ - highlightWeekends?: boolean; - - /** Collection of holidays with date, background and label information to be displayed in Gantt. - * @Default {[]} - */ - holidays?: any[]; - - /** Specifies whether to include weekends while calculating the duration of a task. - * @Default {true} - */ - includeWeekend?: boolean; - - /** Specify the locale for Gantt - * @Default {en-US} - */ - locale?: string; - - /** Specifies the mapping property path for milestone in datasource - */ - milestoneMapping?: string; - - /** Enables/disables the options for inserting , deleting and renaming columns. - * @Default {false} - */ - showColumnOptions?: boolean; - - /** Specifies the template for parent taskbar - */ - parentTaskbarTemplate?: string; - - /** Specifies the nature of a task for calculating the work, and it can fixed duration, fixed work and fixed resource unit - * @Default {ej.Gantt.TaskType.FixedUnit} - */ - taskType?: ej.Gantt.TaskType | string; - - /** Specifies the unit for the work involved in a task and it can be day, hour or minute - * @Default {ej.Gantt.WorkUnit.Hour} - */ - workUnit?: ej.Gantt.WorkUnit | string; - - /** Specifies the task scheduling mode for a project and this will be set to all the tasks available in the project - * @Default {ej.Gantt.TaskSchedulingMode.Auto} - */ - taskSchedulingMode?: ej.Gantt.TaskSchedulingMode | string; - - /** Specifies the row selection type. - * @Default {ej.Gantt.SelectionType.Single} - */ - selectionType?: ej.Gantt.SelectionType | string; - - /** Specifies the background of parent progressbar in Gantt - */ - parentProgressbarBackground?: string; - - /** Specifies the mapping property path for resource's percent effort involved in a task in datasource - */ - resourceUnitMapping?: string; - - /** Specifies the mapping property path for the task description in datasource - */ - notesMapping?: string; - - /** Specifies the mapping property path for the task scheduling mode for a task in datasource - * @Default {auto} - */ - taskSchedulingModeMapping?: string; - - /** Specifies the mapping property path for task duration unit in datasource - */ - durationUnitMapping?: string; - - /** Specifies the background of parent taskbar in Gantt - */ - parentTaskbarBackground?: string; - - /** Specifies the mapping property path for parent task Id in self reference datasource - */ - parentTaskIdMapping?: string; - - /** Specifies the mapping property path for predecessors of a task in datasource - */ - predecessorMapping?: string; - - /** Specifies the background of progressbar in Gantt - */ - progressbarBackground?: string; - - /** Specified the height of the progressbar in taskbar - * @Default {100} - */ - progressbarHeight?: number; - - /** Specifies the template for tooltip on resizing progressbar - * @Default {null} - */ - progressbarTooltipTemplate?: string; - - /** Specifies the template ID for customized tooltip for progressbar editing in Gantt - * @Default {null} - */ - progressbarTooltipTemplateId?: string; - - /** Specifies the mapping property path for progress percentage of a task in datasource - */ - progressMapping?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - * @Default {null} - */ - query?: any; - - /** Enables or Disables rendering baselines in Gantt , when enabled baseline is rendered in Gantt - * @Default {false} - */ - renderBaseline?: boolean; - - /** Enables or disables the schedule date validation while connecting a manually scheduled task with predecessor - * @Default {false} - */ - validateManualTasksOnLinking?: boolean; - - /** Specifies the mapping property name for resource ID in resource Collection in Gantt - */ - resourceIdMapping?: string; - - /** Specifies the mapping property path for resources of a task in datasource - */ - resourceInfoMapping?: string; - - /** Specifies the mapping property path for resource name of a task in Gantt - */ - resourceNameMapping?: string; - - /** Collection of data regarding resources involved in entire project - * @Default {[]} - */ - resources?: any[]; - - /** Specifies whether rounding off the day working time edits - * @Default {true} - */ - roundOffDayworkingTime?: boolean; - - /** Specifies the height of a single row in Gantt. Also, we need to set same height in the CSS style with class name e-rowcell. - * @Default {30} - */ - rowHeight?: number; - - /** Specifies end date of the Gantt schedule. By default, end date will be rounded to its next Saturday. - * @Default {null} - */ - scheduleEndDate?: string; - - /** Specifies the options for customizing schedule header. - */ - scheduleHeaderSettings?: ScheduleHeaderSettings; - - /** Specifies start date of the Gantt schedule. By default, start date will be rounded to its previous Sunday. - * @Default {null} - */ - scheduleStartDate?: string; - - /** Specifies the selected row Index in Gantt , the row with given index will highlighted - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Enables or disables the column chooser. - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Specifies the template for cell tooltip - * @Default {true} - */ - showGridCellTooltip?: boolean; - - /** Specifies whether to show grid cell tooltip over expander cell alone. - * @Default {true} - */ - showGridExpandCellTooltip?: boolean; - - /** Specifies whether display task progress inside taskbar. - * @Default {true} - */ - showProgressStatus?: boolean; - - /** Specifies whether to display resource names for a task beside taskbar. - * @Default {true} - */ - showResourceNames?: boolean; - - /** Specifies whether to display task name beside task bar. - * @Default {true} - */ - showTaskNames?: boolean; - - /** Specifies the size option of Gantt control. - */ - sizeSettings?: SizeSettings; - - /** Specifies the selected cell information on rendering Gantt. - */ - selectedCellIndexes?: SelectedCellIndex[]; - - /** Specifies the sorting options for Gantt. - */ - sortSettings?: SortSettings; - - /** Specifies splitter position in Gantt. - * @Default {null} - */ - splitterPosition?: string; - - /** Specifies the mapping property path for start date of a task in datasource - */ - startDateMapping?: string; - - /** Specifies the options for striplines - * @Default {[]} - */ - stripLines?: any[]; - - /** Specifies the background of the taskbar in Gantt - */ - taskbarBackground?: string; - - /** Specifies the template script for customized tooltip for taskbar editing in Gantt - */ - taskbarEditingTooltipTemplate?: string; - - /** Specifies the template Id for customized tooltip for taskbar editing in Gantt - */ - taskbarEditingTooltipTemplateId?: string; - - /** Specifies the template for tooltip on mouse action on taskbars - */ - taskbarTooltipTemplate?: string; - - /** To Specify the JsRender script Id to customize the task bar with our preference - */ - taskbarTemplate?: string; - - /** To Specify the JsRender script Id to customize the mile stone with our preference - */ - milestoneTemplate?: string; - - /** Enables or disables Gantt to read-only mode - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies the template id for tooltip on mouse action on taskbars - */ - taskbarTooltipTemplateId?: string; - - /** Specifies the mapping property path for task Id in datasource - */ - taskIdMapping?: string; - - /** Specifies the mapping property path for task name in datasource - */ - taskNameMapping?: string; - - /** Specifies the toolbarSettings options. - */ - toolbarSettings?: ToolbarSettings; - - /** Specifies the tree expander column in Gantt - * @Default {0} - */ - treeColumnIndex?: number; - - /** Specifies the type of selection whether to select row or cell. - * @Default {ej.Gantt.SelectionMode.Row} - */ - selectionMode?: ej.Gantt.SelectionMode | string; - - /** Specifies the weekendBackground color in Gantt - * @Default {#F2F2F2} - */ - weekendBackground?: string; - - /** Specifies the working time schedule of day - * @Default {ej.Gantt.workingTimeScale.TimeScale8Hours} - */ - workingTimeScale?: ej.Gantt.workingTimeScale | string; - - /** Triggered for every Gantt action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every Gantt action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered while enter the edit mode in the TreeGrid cell */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered before selecting a cell */ - cellSelecting?(e: CellSelectingEventArgs): void; - - /** Triggered after selected a cell */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered while dragging a row in Gantt control */ - rowDrag?(e: RowDragEventArgs): void; - - /** Triggered while start to drag row in Gantt control */ - rowDragStart?(e: RowDragStartEventArgs): void; - - /** Triggered while drop a row in Gantt control */ - rowDragStop?(e: RowDragStopEventArgs): void; - - /** Triggered after collapsed the Gantt record */ - collapsed?(e: CollapsedEventArgs): void; - - /** Triggered while collapsing the Gantt record */ - collapsing?(e: CollapsingEventArgs): void; - - /** Triggered while Context Menu is rendered in Gantt control */ - contextMenuOpen?(e: ContextMenuOpenEventArgs): void; - - /** Triggered when Gantt is rendered completely. */ - create?(e: CreateEventArgs): void; - - /** Triggered after save the modified cellValue in Gantt. */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggered after expand the record */ - expanded?(e: ExpandedEventArgs): void; - - /** Triggered while expanding the Gantt record */ - expanding?(e: ExpandingEventArgs): void; - - /** Triggered while Gantt is loaded */ - load?(e: LoadEventArgs): void; - - /** Triggered while rendering each cell in the TreeGrid */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered while rendering each taskbar in the Gantt */ - queryTaskbarInfo?(e: QueryTaskbarInfoEventArgs): void; - - /** Triggered while rendering each row */ - rowDataBound?(e: RowDataBoundEventArgs): void; - - /** Triggered after the row is selected. */ - rowSelected?(e: RowSelectedEventArgs): void; - - /** Triggered before the row is going to be selected. */ - rowSelecting?(e: RowSelectingEventArgs): void; - - /** Triggered after completing the editing operation in taskbar */ - taskbarEdited?(e: TaskbarEditedEventArgs): void; - - /** Triggered while editing the Gantt chart (dragging, resizing the taskbar ) */ - taskbarEditing?(e: TaskbarEditingEventArgs): void; - - /** Triggered when taskbar item is clicked in Gantt. */ - taskbarClick?(e: TaskbarClickEventArgs): void; - - /** Triggered when toolbar item is clicked in Gantt. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; - - /** Returns the value of searching element. - */ - keyValue?: string; - - /** Returns the data of deleting element. - */ - data?: string; - - /** Returns selected record index - */ - recordIndex?: number; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; - - /** Returns the value of searched element. - */ - keyValue?: string; - - /** Returns the data of deleted element. - */ - data?: string; - - /** Returns selected record index - */ - recordIndex?: number; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column Index of cell belongs. - */ - columnIndex?: number; - } - - export interface CellSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - } - - export interface CellSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - - /** Returns the previously selected row data - */ - previousData?: any; - - /** Returns the previously selected cell index - */ - previousCellIndex?: any; - - /** Returns the previously selected row index - */ - previousRowIndex?: any; - - /** Returns the previously selected cell element - */ - previousTargetCell?: any; - - /** Returns the previously selected row element - */ - previousTargetRow?: any; - } - - export interface RowDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row on which we are dragging. - */ - targetRow?: any; - - /** Returns the row index on which we are dragging. - */ - targetRowIndex?: number; - - /** Returns that we can drop over that record or not. - */ - canDrop?: boolean; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: boolean; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStopEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row which we are dropped to row. - */ - targetRow?: any; - - /** Returns the row index which we are dropped to row. - */ - targetRowIndex?: number; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CollapsedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsed record. - */ - recordIndex?: number; - - /** Returns the data of collapsed record. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface CollapsingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsing record. - */ - recordIndex?: number; - - /** Returns the data of edited cell record.. - */ - data?: any; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface ContextMenuOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the default context menu items to which we add custom items. - */ - contextMenuItems?: any[]; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Gantt model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of edited cell record. - */ - data?: any; - - /** Returns the column name of edited cell belongs. - */ - columnName?: string; - - /** Returns the column object of edited cell belongs. - */ - columnObject?: any; - } - - export interface ExpandedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of record. - */ - recordIndex?: number; - - /** Returns the data of expanded record. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface ExpandingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of record. - */ - recordIndex?: any; - - /** Returns the data of edited cell record.. - */ - data?: any; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface LoadEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Gantt model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting cell element. - */ - cellElement?: any; - - /** Returns the value of cell. - */ - cellValue?: string; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column of cell belongs. - */ - column?: any; - } - - export interface QueryTaskbarInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the taskbar background of current item. - */ - TaskbarBackground?: string; - - /** Returns the progressbar background of current item. - */ - ProgressbarBackground?: string; - - /** Returns the parent taskbar background of current item. - */ - parentTaskbarBackground?: string; - - /** Returns the parent progressbar background of current item. - */ - parentProgressbarBackground?: string; - - /** Returns the data of the record. - */ - data?: any; - } - - export interface RowDataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of rendering row. - */ - rowElement?: any; - - /** Returns the data of rendering row record.. - */ - data?: any; - } - - export interface RowSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: number; - - /** Returns the data of selected record. - */ - data?: any; - } - - export interface RowSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data selecting record. - */ - data?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: string; - - /** Returns the selecting row chart element. - */ - targetChartRow?: any; - - /** Returns the selecting row grid element. - */ - targetGridRow?: any; - - /** Returns the previous selected data. - */ - previousData?: any; - - /** Returns the previous selected row index. - */ - previousIndex?: string; - - /** Returns the previous selected row chart element. - */ - previousChartRow?: any; - - /** Returns the previous selected row grid element. - */ - previousGridRow?: any; - } - - export interface TaskbarEditedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data of edited record. - */ - data?: any; - - /** Returns the previous data value of edited record. - */ - previousData?: any; - - /** Returns 'true' if taskbar is dragged. - */ - dragging?: boolean; - - /** Returns 'true' if taskbar is left resized. - */ - leftResizing?: boolean; - - /** Returns 'true' if taskbar is right resized. - */ - rightResizing?: boolean; - - /** Returns 'true' if taskbar is progress resized. - */ - progressResizing?: boolean; - - /** Returns the field values of record being edited. - */ - editingFields?: any; - - /** Returns the Gantt model. - */ - model?: any; - } - - export interface TaskbarEditingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the row object being edited. - */ - rowData?: any; - - /** Returns the field values of record being edited. - */ - editingFields?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface TaskbarClickEventArgs { - - /** Returns currently clicked row data - */ - data?: any; - - /** Returns the current item index. - */ - index?: number; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the clicked row element - */ - taskbarElement?: any; - - /** Returns the target element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the name of the toolbar item on which mouse click has been performed - */ - itemName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DragTooltip { - - /** Specifies option to enable/disable tooltip while drag and drop a row. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the data source fields to be displayed in the drag tooltip. - * @Default {[]} - */ - tooltipItems?: any[]; - - /** Specifies the custom template for drag tooltip. - * @Default {null} - */ - tooltipTemplate?: string; - } - - export interface SplitterSettings { - - /** Specifies position of the splitter in Gantt , splitter can be placed either based on percentage values or pixel values. - */ - position?: string; - - /** Specifies the position of splitter in Gantt, based on column index in Gantt. - */ - index?: string; - } - - export interface EditSettings { - - /** Enables or disables add record icon in Gantt toolbar - * @Default {false} - */ - allowAdding?: boolean; - - /** Enables or disables delete icon in Gantt toolbar - * @Default {false} - */ - allowDeleting?: boolean; - - /** Specifies the option for enabling or disabling editing in Gantt grid part - * @Default {false} - */ - allowEditing?: boolean; - - /** Specifies the option for enabling or disabling indent action in Gantt. - * @Default {false} - */ - allowIndent?: boolean; - - /** Specifies the option for enabling or disabling outdent action in Gantt - * @Default {false} - */ - allowOutdent?: boolean; - - /** Specifies the mouse action whether single click or double click to begin the editing - * @Default {ej.Gantt.BeginEditAction.DblClick} - */ - beginEditAction?: ej.Gantt.BeginEditAction | string; - - /** Specifies the edit mode in Gantt, "normal" is for dialog editing ,"cellEditing" is for cell type editing - * @Default {normal} - */ - editMode?: string; - - /** Specifies the position where the new row has to be added. - * @Default {ej.Gantt.RowPosition.BelowSelectedRow} - */ - rowPosition?: ej.Gantt.RowPosition | string; - } - - export interface ScheduleHeaderSettings { - - /** Specified the format for day view in schedule header - * @Default {ddd} - */ - dayHeaderFormat?: string; - - /** Specified the format for Hour view in schedule header - * @Default {HH} - */ - hourHeaderFormat?: string; - - /** Specifies the number of minutes per interval - * @Default {ej.Gantt.minutesPerInterval.Auto} - */ - minutesPerInterval?: ej.Gantt.minutesPerInterval | string; - - /** Specified the format for month view in schedule header - * @Default {MMM} - */ - monthHeaderFormat?: string; - - /** Specifies the schedule mode - * @Default {ej.Gantt.ScheduleHeaderType.Week} - */ - scheduleHeaderType?: ej.Gantt.ScheduleHeaderType | string; - - /** Specifies the round-off mode for the start date in schedule header. - * @Default {ej.Gantt.TimescaleRoundMode.Auto} - */ - timescaleStartDateMode?: ej.Gantt.TimescaleRoundMode | string; - - /** Specified the background for weekends in Gantt - * @Default {#F2F2F2} - */ - weekendBackground?: string; - - /** Specified the format for week view in schedule header - * @Default {ddd} - */ - weekHeaderFormat?: string; - - /** Specified the format for year view in schedule header - * @Default {yyyy} - */ - yearHeaderFormat?: string; - - /** Specifies the size of the lowest time unit along the timescale, with minimum value as "50%" and maximum value as "500%". It is also possible to set the value in pixels. - * @Default {100%} - */ - timescaleUnitSize?: string; - - /** Specifies the start day of the week in week timescale mode - * @Default {0} - */ - weekStartDay?: number; - } - - export interface SizeSettings { - - /** Specifies the height of Gantt control - * @Default {450px} - */ - height?: string; - - /** Specifies the width of Gantt control - * @Default {1000px} - */ - width?: string; - } - - export interface SelectedCellIndex { - - /** Specifies the row index of the cell to be selected Gantt control - */ - rowIndex?: number; - - /** Specifies the cell index to be selected in the row. - * @Default { } - */ - cellIndex?: number; - } - - export interface SortSettings { - - /** Specifies the sorted columns for Gantt - * @Default {[]} - */ - sortedColumns?: any[]; - } - - export interface ToolbarSettings { - - /** Specifies the state of enabling or disabling toolbar - * @Default {true} - */ - showToolbar?: boolean; - - /** Specifies the list of toolbar items to be rendered in Gantt toolbar - * @Default {[]} - */ - toolbarItems?: any[]; - } - - enum DurationUnit { - - ///Sets the Duration Unit as day. - Day, - - ///Sets the Duration Unit as hour. - Hour, - - ///Sets the Duration Unit as minute. - Minute - } - - - enum BeginEditAction { - - ///you can begin the editing at double click - DblClick, - - ///you can begin the editing at single click - Click - } - - - enum RowPosition { - - ///you can add a new row at top. - Top, - - ///you can add a new row at bottom. - Bottom, - - ///you can add a new row to above selected row. - AboveSelectedRow, - - ///you can add a new row to below selected row. - BelowSelectedRow, - - ///you can add a new row as a child for selected row. - Child - } - - - enum TaskType { - - ///Resource unit remains constant while editing the work and duration values. - FixedUnit, - - ///Work value of a task remains constant while editing duration and resource unit values. - FixedWork, - - ///Duration value remains constant while editing work and resource unit values. - FixedDuration - } - - - enum WorkUnit { - - ///Displays the work involved in a task in days. - Day, - - ///Displays the work involved in a task in hours. - Hour, - - ///Displays the work involved in a task in minutes - Minute - } - - - enum TaskSchedulingMode { - - ///All the tasks in the project will be displayed in auto scheduled mode, where the tasks are scheduled automatically over non-working days and holidays. - Auto, - - ///All the tasks in the project will be displayed in manually scheduled mode. - Manual, - - ///Project consists of tasks with both auto and manually scheduled modes, based on the datasource values - Custom - } - - - enum SelectionType { - - ///you can select a single row. - Single, - - ///you can select a multiple row. - Multiple - } - - - enum minutesPerInterval { - - ///Sets the interval automatically according with schedule start and end date. - Auto, - - ///Sets one minute intervals per hour. - OneMinute, - - ///Sets Five minute intervals per hour. - FiveMinutes, - - ///Sets fifteen minute intervals per hour. - FifteenMinutes, - - ///Sets thirty minute intervals per hour. - ThirtyMinutes - } - - - enum ScheduleHeaderType { - - ///Sets year Schedule Mode. - Year, - - ///Sets month Schedule Mode. - Month, - - ///Sets week Schedule Mode. - Week, - - ///Sets day Schedule Mode. - Day, - - ///Sets hour Schedule Mode. - Hour - } - - - enum TimescaleRoundMode { - - ///The round-off value will be automatically calculated based on the data source values. - Auto, - - ///Schedule header start date will round-off to the immediate week. - Week, - - ///Schedule headers start date will round off to the immediate month - Month, - - ///Schedule headers start date will round off to the immediate year - Year - } - - - enum SelectionMode { - - ///you can select a row. - Row, - - ///you can select a cell. - Cell - } - - - enum workingTimeScale { - - ///Sets eight hour timescale. - TimeScale8Hours, - - ///Sets twenty four hour timescale. - TimeScale24Hours - } - - } - - class ReportViewer extends ej.Widget { - static fn: ReportViewer; - constructor(element: JQuery | Element, options?: ReportViewer.Model); - static Locale: any; - model: ReportViewer.Model; - defaults: ReportViewer.Model; - - /** Export the report to the specified format. - * @returns {void} - */ - exportReport(): void; - - /** Fit the report page to the container. - * @returns {void} - */ - fitToPage(): void; - - /** Fit the report page height to the container. - * @returns {void} - */ - fitToPageHeight(): void; - - /** Fit the report page width to the container. - * @returns {void} - */ - fitToPageWidth(): void; - - /** Get the available datasets name of the rdlc report. - * @returns {void} - */ - getDataSetNames(): void; - - /** Get the available parameters of the report. - * @returns {void} - */ - getParameters(): void; - - /** Navigate to first page of report. - * @returns {void} - */ - gotoFirstPage(): void; - - /** Navigate to last page of the report. - * @returns {void} - */ - gotoLastPage(): void; - - /** Navigate to next page from the current page. - * @returns {void} - */ - gotoNextPage(): void; - - /** Go to specific page index of the report. - * @returns {void} - */ - gotoPageIndex(): void; - - /** Navigate to previous page from the current page. - * @returns {void} - */ - gotoPreviousPage(): void; - - /** Print the report. - * @returns {void} - */ - print(): void; - - /** Apply print layout to the report. - * @returns {void} - */ - printLayout(): void; - - /** Refresh the report. - * @returns {void} - */ - refresh(): void; - } - export namespace ReportViewer { - - export interface Model { - - /** Gets or sets the list of data sources for the RDLC report. - * @Default {[]} - */ - dataSources?: DataSource[]; - - /** Enables or disables the page cache of report. - * @Default {false} - */ - enablePageCache?: boolean; - - /** Specifies the export settings. - */ - exportSettings?: ExportSettings; - - /** When set to true, adapts the report layout to fit the screen size of devices on which it renders. - * @Default {true} - */ - isResponsive?: boolean; - - /** Specifies the locale for report viewer. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the page settings. - */ - pageSettings?: PageSettings; - - /** Gets or sets the list of parameters associated with the report. - * @Default {[]} - */ - parameters?: Parameter[]; - - /** Enables and disables the print mode. - * @Default {false} - */ - printMode?: boolean; - - /** Specifies the print option of the report. - * @Default {ej.ReportViewer.PrintOptions.Default} - */ - printOptions?: ej.ReportViewer.PrintOptions | string; - - /** Specifies the processing mode of the report. - * @Default {ej.ReportViewer.ProcessingMode.Remote} - */ - processingMode?: ej.ReportViewer.ProcessingMode | string; - - /** Specifies the render layout. - * @Default {ej.ReportViewer.RenderMode.Default} - */ - renderMode?: ej.ReportViewer.RenderMode | string; - - /** Gets or sets the path of the report file. - * @Default {empty} - */ - reportPath?: string; - - /** Gets or sets the reports server URL. - * @Default {empty} - */ - reportServerUrl?: string; - - /** Specifies the report Web API service URL. - * @Default {empty} - */ - reportServiceUrl?: string; - - /** Specifies the toolbar settings. - */ - toolbarSettings?: ToolbarSettings; - - /** Gets or sets the zoom factor for report viewer. - * @Default {1} - */ - zoomFactor?: number; - - /** Fires when the report viewer is destroyed successfully.If you want to perform any operation after destroying the reportviewer control,you can make use of the destroy event. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires during drill through action done in report.If you want to perform any operation when a drill through action is performed, you can make use of the drillThrough event. */ - drillThrough?(e: DrillThroughEventArgs): void; - - /** Fires before report rendering is completed.If you want to perform any operation before the rendering of report,you can make use of the renderingBegin event. */ - renderingBegin?(e: RenderingBeginEventArgs): void; - - /** Fires after report rendering completed.If you want to perform any operation after the rendering of report,you can make use of this renderingComplete event. */ - renderingComplete?(e: RenderingCompleteEventArgs): void; - - /** Fires when any error occurred while rendering the report.If you want to perform any operation when an error occurs in the report, you can make use of the reportError event. */ - reportError?(e: ReportErrorEventArgs): void; - - /** Fires when the report is being exported.If you want to perform any operation before exporting of report, you can make use of the reportExport event. */ - reportExport?(e: ReportExportEventArgs): void; - - /** Fires when the report is loaded.If you want to perform any operation after the successful loading of report, you can make use of the reportLoaded event. */ - reportLoaded?(e: ReportLoadedEventArgs): void; - - /** Fires when click the View Report Button. */ - viewReportClick?(e: ViewReportClickEventArgs): void; - } - - export interface DestroyEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DrillThroughEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the actionInfo's parameters bookmarkLink, hyperLink, reportName, parameters. - */ - actionInfo?: any; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RenderingBeginEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RenderingCompleteEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the collection of parameters. - */ - reportParameters?: any; - } - - export interface ReportErrorEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the error details. - */ - error?: string; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ReportExportEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ReportLoadedEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ViewReportClickEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the parameter collection. - */ - parameters?: any; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DataSource { - - /** Gets or sets the name of the data source. - * @Default {empty} - */ - name?: string; - - /** Gets or sets the values of data source. - * @Default {[]} - */ - values?: any[]; - } - - export interface ExportSettings { - - /** Specifies the export formats. - * @Default {ej.ReportViewer.ExportOptions.All} - */ - exportOptions?: ej.ReportViewer.ExportOptions | string; - - /** Specifies the excel export format. - * @Default {ej.ReportViewer.ExcelFormats.Excel97to2003} - */ - excelFormat?: ej.ReportViewer.ExcelFormats | string; - - /** Specifies the word export format. - * @Default {ej.ReportViewer.WordFormats.Doc} - */ - wordFormat?: ej.ReportViewer.WordFormats | string; - } - - export interface PageSettings { - - /** Specifies the print layout orientation. - * @Default {null} - */ - orientation?: ej.ReportViewer.Orientation | string; - - /** Specifies the paper size of print layout. - * @Default {null} - */ - paperSize?: ej.ReportViewer.PaperSize | string; - } - - export interface Parameter { - - /** Gets or sets the parameter labels. - * @Default {null} - */ - labels?: any[]; - - /** Gets or sets the name of the parameter. - * @Default {empty} - */ - name?: string; - - /** Gets or sets whether the parameter allows nullable value or not. - * @Default {false} - */ - nullable?: boolean; - - /** Gets or sets the prompt message associated with the specified parameter. - * @Default {empty} - */ - prompt?: string; - - /** Gets or sets the parameter values. - * @Default {[]} - */ - values?: any[]; - } - - export interface ToolbarSettings { - - /** Fires when user click on toolbar item in the toolbar. - * @Default {empty} - */ - click?: string; - - /** Specifies the toolbar items. - * @Default {ej.ReportViewer.ToolbarItems.All} - */ - items?: ej.ReportViewer.ToolbarItems | string; - - /** Shows or hides the toolbar. - * @Default {true} - */ - showToolbar?: boolean; - - /** Shows or hides the tooltip of toolbar items. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the toolbar template ID. - * @Default {empty} - */ - templateId?: string; - } - - enum ExportOptions { - - ///Specifies the All property in ExportOptions to get all available options. - All, - - ///Specifies the PDF property in ExportOptions to get PDF option. - PDF, - - ///Specifies the Word property in ExportOptions to get Word option. - Word, - - ///Specifies the Excel property in ExportOptions to get Excel option. - Excel, - - ///Specifies the HTML property in ExportOptions to get HTML option. - HTML - } - - - enum ExcelFormats { - - ///Specifies the Excel97to2003 property in ExcelFormats to get specified version of exported format. - Excel97to2003, - - ///Specifies the Excel2007 property in ExcelFormats to get specified version of exported format. - Excel2007, - - ///Specifies the Excel2010 property in ExcelFormats to get specified version of exported format. - Excel2010, - - ///Specifies the Excel2013 property in ExcelFormats to get specified version of exported format. - Excel2013 - } - - - enum WordFormats { - - ///Specifies the Doc property in WordFormats to get specified version of exported format. - Doc, - - ///Specifies the Dot property in WordFormats to get specified version of exported format. - Dot, - - ///Specifies the DOCX property in WordFormats to get specified version of exported format. - DOCX, - - ///Specifies the Word2007 property in WordFormats to get specified version of exported format. - Word2007, - - ///Specifies the Word2010 property in WordFormats to get specified version of exported format. - Word2010, - - ///Specifies the Word2013 property in WordFormats to get specified version of exported format. - Word2013, - - ///Specifies the Word2007Dotx property in WordFormats to get specified version of exported format. - Word2007Dotx, - - ///Specifies the Word2010Dotx property in WordFormats to get specified version of exported format. - Word2010Dotx, - - ///Specifies the Word2013Dotx property in WordFormats to get specified version of exported format. - Word2013Dotx, - - ///Specifies the Word2007Docm property in WordFormats to get specified version of exported format. - Word2007Docm, - - ///Specifies the Word2010Docm property in WordFormats to get specified version of exported format. - Word2010Docm, - - ///Specifies the Word2013Docm property in WordFormats to get specified version of exported format. - Word2013Docm, - - ///Specifies the Word2007Dotm property in WordFormats to get specified version of exported format. - Word2007Dotm, - - ///Specifies the Word2010Dotm property in WordFormats to get specified version of exported format. - Word2010Dotm, - - ///Specifies the Word2013Dotm property in WordFormats to get specified version of exported format. - Word2013Dotm, - - ///Specifies the RTF property in WordFormats to get specified version of exported format. - RTF, - - ///Specifies the Txt property in WordFormats to get specified version of exported format. - Txt, - - ///Specifies the EPUB property in WordFormats to get specified version of exported format. - EPUB, - - ///Specifies the HTML property in WordFormats to get specified version of exported format. - HTML, - - ///Specifies the XML property in WordFormats to get specified version of exported format. - XML, - - ///Specifies the Automatic property in WordFormats to get specified version of exported format. - Automatic - } - - - enum Orientation { - - ///Specifies the Landscape property in pageSettings.orientation to get specified layout. - Landscape, - - ///Specifies the portrait property in pageSettings.orientation to get specified layout. - Portrait - } - - - enum PaperSize { - - ///Specifies the A3 as value in pageSettings.paperSize to get specified size. - A3, - - ///Specifies the A4 as value in pageSettings.paperSize to get specified size. - Portrait, - - ///Specifies the B4(JIS) as value in pageSettings.paperSize to get specified size. - B4_JIS, - - ///Specifies the B5(JIS) as value in pageSettings.paperSize to get specified size. - B5_JIS, - - ///Specifies the Envelope #10 as value in pageSettings.paperSize to get specified size. - Envelope_10, - - ///Specifies the Envelope as value in pageSettings.paperSize to get specified size. - Envelope_Monarch, - - ///Specifies the Executive as value in pageSettings.paperSize to get specified size. - Executive, - - ///Specifies the Legal as value in pageSettings.paperSize to get specified size. - Legal, - - ///Specifies the Letter as value in pageSettings.paperSize to get specified size. - Letter, - - ///Specifies the Tabloid as value in pageSettings.paperSize to get specified size. - Tabloid, - - ///Specifies the Custom as value in pageSettings.paperSize to get specified size. - Custom - } - - - enum PrintOptions { - - ///Specifies the Default property in printOptions. - Default, - - ///Specifies the NewTab property in printOptions. - NewTab, - - ///Specifies the None property in printOptions. - None - } - - - enum ProcessingMode { - - ///Specifies the Remote property in processingMode. - Remote, - - ///Specifies the Local property in processingMode. - Local - } - - - enum RenderMode { - - ///Specifies the Default property in RenderMode to get default output. - Default, - - ///Specifies the Mobile property in RenderMode to get specified output. - Mobile, - - ///Specifies the Desktop property in RenderMode to get specified output. - Desktop - } - - - enum ToolbarItems { - - ///Specifies the Print as value in ToolbarItems to get specified item. - Print, - - ///Specifies the Refresh as value in ToolbarItems to get specified item. - Refresh, - - ///Specifies the Zoom as value in ToolbarItems to get specified item. - Zoom, - - ///Specifies the FittoPage as value in ToolbarItems to get specified item. - FittoPage, - - ///Specifies the Export as value in ToolbarItems to get specified item. - Export, - - ///Specifies the PageNavigation as value in ToolbarItems to get specified item. - PageNavigation, - - ///Specifies the Parameters as value in ToolbarItems to get specified item. - Parameters, - - ///Specifies the PrintLayout as value in ToolbarItems to get specified item. - PrintLayout, - - ///Specifies the PageSetup as value in ToolbarItems to get specified item. - PageSetup - } - - } - - class TreeGrid extends ej.Widget { - static fn: TreeGrid; - constructor(element: JQuery | Element, options?: TreeGrid.Model); - static Locale: any; - model: TreeGrid.Model; - defaults: TreeGrid.Model; - - /** Add a new row in TreeGrid, while allowAdding is set to true - * @param {any} Item to add in TreeGrid row. - * @param {string} Defines in which position the row wants to be added - * @returns {void} - */ - addRow(data: any, rowPosition: string): void; - - /** To clear all the selection in TreeGrid - * @param {number} you can pass a row index to clear the row selection. - * @returns {void} - */ - clearSelection(index: number): void; - - /** To select cell based on the cell and row index dynamically. - * @param {Array} array of cell indexes to be select - * @param {boolean} Defines that we need to preserve the previously selected cells or not - * @returns {void} - */ - selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; - - /** To rename a column with the specified name - * @param {number} Index of the column to be renamed - * @param {string} Header text of the column - * @returns {void} - */ - renameColumn(columnIndex: number, name: string): void; - - /** To delete the specified column - * @param {number} Index of the column to be deleted - * @returns {void} - */ - deleteColumn(columnIndex: number): void; - - /** To collapse all the parent items in tree grid - * @returns {void} - */ - collapseAll(): void; - - /** To hide the column by using header text - * @param {string} you can pass a header text of a column to hide. - * @returns {void} - */ - hideColumn(headerText: string): void; - - /** Expands the records at specific hierarchical level - * @param {number} you can pass the level as index number to expand - * @returns {void} - */ - expandAtLevel(index: number): void; - - /** Collapses the records at specific hierarchical level - * @param {number} you can pass the particular level as index. - * @returns {void} - */ - collapseAtLevel(index: number): void; - - /** To refresh the changes in tree grid - * @param {Array} Pass which data source you want to show in tree grid - * @param {any} Pass which data you want to show in tree grid - * @returns {void} - */ - refresh(dataSource: any[], query: any): void; - - /** Freeze all the columns preceding to the column specified by the field name. - * @param {string} Freeze all Columns before this field column. - * @returns {void} - */ - freezePrecedingColumns(field: string): void; - - /** Freeze/unfreeze the specified column. - * @param {string} Freeze/Unfreeze this field column. - * @param {boolean} Decides to Freeze/Unfreeze this field column. - * @returns {void} - */ - freezeColumn(field: string, isFrozen: boolean): void; - - /** To save the edited cell in TreeGrid - * @returns {void} - */ - saveCell(): void; - - /** To search an item with search string provided at the run time - * @param {string} you can pass a searchString to search the tree grid - * @returns {void} - */ - search(searchString: string): void; - - /** To show the column by using header text - * @param {string} you can pass a header text of a column to show. - * @returns {void} - */ - showColumn(headerText: string): void; - - /** To sorting the data based on the particular fields - * @param {string} you can pass a name of column to sort. - * @param {string} you can pass a sort direction to sort the column. - * @returns {void} - */ - sortColumn(columnName: string, columnSortDirection: string): void; - - /** To reorder the column with field name and target index values - * @param {string} you can pass a name of column to reorder. - * @param {string} you can pass a target column index to be inserted. - * @returns {void} - */ - reorderColumn(fieldName: string, targetIndex: string): void; - } - export namespace TreeGrid { - - export interface Model { - - /** Enables or disables the ability to resize the column width interactively. - * @Default {false} - */ - allowColumnResize?: boolean; - - /** Enables or disables the option for column reordering - * @Default {false} - */ - allowColumnReordering?: boolean; - - /** Enables or disables the ability to drag and drop the row interactively to reorder the rows. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Enables or disables the ability to filter the data on all the columns. Enabling this property will display a row with editor controls corresponding to each column. - * You can restrict filtering on particular column by disabling this property directly on that column instance itself. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Enables or disables keyboard navigation. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Enables or disables the ability to sort the rows based on multiple columns/fields by clicking on each column header. Rows will be sorted recursively on clicking the column headers. - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** Enables or disables the ability to select a row interactively. - * @Default {true} - */ - allowSelection?: boolean; - - /** Enables or disables the ability to sort the rows based on a single field/column by clicking on that column header. When enabled, rows can be sorted only by single field/column. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables/disables pagination of rows in TreeGrid - * @Default {false} - */ - allowPaging?: boolean; - - /** Specifies the id of the template that has to be applied for alternate rows. - */ - altRowTemplateID?: string; - - /** Specifies the mapping property path for sub tasks in datasource - */ - childMapping?: string; - - /** Option for adding columns; each column has the option to bind to a field in the dataSource. - */ - columns?: Column[]; - - /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. - * @Default {[]} - */ - columnDialogFields?: any[]; - - /** Options for displaying and customizing context menu items. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Specify the CSS class for TreeGrid to achieve custom theme. - */ - cssClass?: string; - - /** Specifies hierarchical or self-referential data to populate the TreeGrid. - * @Default {null} - */ - dataSource?: any[]; - - /** Specifies whether to wrap the header text when it is overflown i.e., when it exceeds the header width. - * @Default {none} - */ - headerTextOverflow?: string; - - /** Options for displaying and customizing the tooltip. This tooltip will show the preview of the row that is being dragged. - */ - dragTooltip?: DragTooltip; - - /** Options for enabling and configuring the editing related operations. - */ - editSettings?: EditSettings; - - /** Specifies whether to render alternate rows in different background colors. - * @Default {true} - */ - enableAltRow?: boolean; - - /** Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time. - * @Default {false} - */ - enableCollapseAll?: boolean; - - /** Specifies whether to resize TreeGrid whenever window size changes. - * @Default {false} - */ - enableResize?: boolean; - - /** Specifies whether to render only the visual elements that are visible in the UI. When you enable this property, it will reduce the loading time for loading large number of records. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the settings for column resize - */ - columnResizeSettings?: ColumnResizeSettings; - - /** Options for filtering and customizing filter actions. - */ - filterSettings?: FilterSettings; - - /** Specifies the localization information to customize the User Interface (UI) to support regional language and culture - * @Default {en-US} - */ - locale?: string; - - /** Enables or disables internal parsing of a row. When disabled this property, row will be displayed using the defined template without any internal event bindings. - * @Default {true} - */ - parseRowTemplate?: boolean; - - /** Specifies the name of the field in the dataSource, which contains the id of that row. - */ - idMapping?: string; - - /** Enables or disables the responsiveness of TreeGrid - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the name of the field in the dataSource, which contains the parent's id. This is necessary to form a parent-child hierarchy, if the dataSource contains self-referential data. - */ - parentIdMapping?: string; - - /** Specifies the options for customizing the pager. - */ - pageSettings?: PageSettings; - - /** Specifies the template for cell tooltip - * @Default {null} - */ - cellTooltipTemplate?: string; - - /** Specifies ej.Query to select data from the dataSource. This property is applicable only when the dataSource is ej.DataManager. - * @Default {null} - */ - query?: any; - - /** Specifies the height of a single row in tree grid. Also, we need to set same height in the CSS style with class name e-rowcell. - * @Default {30} - */ - rowHeight?: number; - - /** Specifies the id of the template to be applied for all the rows. - */ - rowTemplateID?: string; - - /** Specifies the index of the selected row. - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Specifies the settings for row and cell selection. - */ - selectionSettings?: SelectionSettings; - - /** Enables/disables the options for inserting , deleting and renaming columns. - * @Default {false} - */ - showColumnOptions?: boolean; - - /** Controls the visibility of the menu button, which is displayed on the column header. Clicking on this button will show a popup menu. When you choose Columns item from this popup, - * a list box with column names will be shown, from which you can select/deselect a column name to control the visibility of the respective columns. - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Specifies the visibility of details view - * @Default {false} - */ - showDetailsRow?: boolean; - - /** Specifies the visibility of the expander column which is used to expand or collapse the details view - * @Default {false} - */ - showDetailsRowInfoColumn?: boolean; - - /** Specifies the template for details view - */ - detailsTemplate?: string; - - /** Specifies the row height of the details view - * @Default {100} - */ - detailsRowHeight?: number; - - /** Specifies the visibility of summary row - * @Default {false} - */ - showSummaryRow?: boolean; - - /** Specifies the visibility of total summary row for the corresponding summary column - * @Default {false} - */ - showTotalSummary?: boolean; - - /** Specifies the summary row collection object to be displayed - * @Default {[]} - */ - summaryRows?: any[]; - - /** Specifies whether to show tooltip when mouse is hovered on the cell. - * @Default {true} - */ - showGridCellTooltip?: boolean; - - /** Specifies whether to show tooltip for the cells, which has expander button. - * @Default {true} - */ - showGridExpandCellTooltip?: boolean; - - /** Options for setting width and height for TreeGrid. - */ - sizeSettings?: SizeSettings; - - /** Options for sorting the rows. - */ - sortSettings?: SortSettings; - - /** Options for displaying and customizing the toolbar items. - */ - toolbarSettings?: ToolbarSettings; - - /** Specifies the index of the column that needs to have the expander button. By default, cells in the first column contain the expander button. - * @Default {0} - */ - treeColumnIndex?: number; - - /** Triggered before every success event of TreeGrid action. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every TreeGrid action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered while enter the edit mode in the TreeGrid cell */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered after collapsed the TreeGrid record */ - collapsed?(e: CollapsedEventArgs): void; - - /** Triggered while collapsing the TreeGrid record */ - collapsing?(e: CollapsingEventArgs): void; - - /** Triggered while clicking a row, even when allowSelection property is disabled. */ - recordClick?(e: RecordClickEventArgs): void; - - /** Triggered when you start to drag a column */ - columnDragStart?(e: ColumnDragStartEventArgs): void; - - /** Triggered while dragging a column */ - columnDrag?(e: ColumnDragEventArgs): void; - - /** Triggered when a column is dropped */ - columnDrop?(e: ColumnDropEventArgs): void; - - /** Triggered after a column resized */ - columnResized?(e: ColumnResizedEventArgs): void; - - /** Triggered while start to resize a column */ - columnResizeStart?(e: ColumnResizeStartEventArgs): void; - - /** Triggered when a column has been resized */ - columnResizeEnd?(e: ColumnResizeEndEventArgs): void; - - /** Triggered while Context Menu is rendered in TreeGrid control */ - contextMenuOpen?(e: ContextMenuOpenEventArgs): void; - - /** Triggered when TreeGrid is rendered completely */ - create?(e: CreateEventArgs): void; - - /** Triggered after saved the modified cellValue in TreeGrid */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggered after expand the record */ - expanded?(e: ExpandedEventArgs): void; - - /** Triggered while expanding the TreeGrid record */ - expanding?(e: ExpandingEventArgs): void; - - /** Triggered while Treegrid is loaded */ - load?(e: LoadEventArgs): void; - - /** Triggered while rendering each cell in the TreeGrid */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered while rendering each row */ - rowDataBound?(e: RowDataBoundEventArgs): void; - - /** Triggered while dragging a row in TreeGrid control */ - rowDrag?(e: RowDragEventArgs): void; - - /** Triggered while start to drag row in TreeGrid control */ - rowDragStart?(e: RowDragStartEventArgs): void; - - /** Triggered while drop a row in TreeGrid control */ - rowDragStop?(e: RowDragStopEventArgs): void; - - /** Triggered before selecting a cell */ - cellSelecting?(e: CellSelectingEventArgs): void; - - /** Triggered after selected a cell */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered after the row is selected. */ - rowSelected?(e: RowSelectedEventArgs): void; - - /** Triggered before the row is going to be selected. */ - rowSelecting?(e: RowSelectingEventArgs): void; - - /** Triggered when toolbar item is clicked in TreeGrid. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the direction of sorting ascending or descending. - */ - columnSortDirection?: string; - - /** Returns the value of expanding parent element. - */ - keyValue?: string; - - /** Returns the data or deleting element. - */ - data?: string; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; - - /** Returns the value of searched element. - */ - keyValue?: string; - - /** Returns the data of deleted element. - */ - data?: string; - - /** Returns selected record index - */ - recordIndex?: number; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column Index of cell belongs. - */ - columnIndex?: number; - } - - export interface CollapsedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsed record. - */ - recordIndex?: number; - - /** Returns the data of collapsed record.. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - - /** Returns the event type. - */ - type?: string; - } - - export interface CollapsingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsing record. - */ - recordIndex?: number; - - /** Returns the data of collapsing record.. - */ - data?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns state of a record whether it is in expanded or collapsing state. - */ - expanded?: boolean; - } - - export interface RecordClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the element of clicked cell. - */ - cell?: any; - - /** Returns the index of the clicked cell. - */ - cellIndex?: number; - - /** Returns the data of clicked cell. - */ - cellValue?: any; - - /** Returns the element of the clicked row. - */ - row?: any; - - /** Returns the index of the clicked row. - */ - rowIndex?: number; - - /** Returns the column name of the clicked cell. - */ - columnName?: string; - } - - export interface ColumnDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is dragged - */ - draggedColumn?: any; - - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; - } - - export interface ColumnDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is dragged - */ - draggedColumn?: any; - - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; - - /** Returns the target column data - */ - targetColumn?: any; - - /** Returns the index of the target column - */ - targetColumnIndex?: number; - - /** Returns that we can drop over the column or not. - */ - canDrop?: boolean; - } - - export interface ColumnDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is dragged - */ - draggedColumn?: any; - - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; - - /** Returns the target column data - */ - targetColumn?: any; - - /** Returns the index of the target column - */ - targetColumnIndex?: number; - } - - export interface ColumnResizedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is resized - */ - column?: any; - - /** Returns the index of the column being resized. - */ - columnIndex?: number; - - /** Returns resized column width after resized. - */ - newWidth?: number; - - /** Returns resized column width before resizing - */ - oldWidth?: number; - } - - export interface ColumnResizeStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data in which the resizing started - */ - column?: any; - - /** Returns the column index in which the resizing started - */ - columnIndex?: number; - - /** Returns column width before dragging - */ - oldWidth?: number; - - /** Returns initial column element object. - */ - target?: any; - } - - export interface ColumnResizeEndEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data in which the resizing started - */ - column?: any; - - /** Returns the column index in which the resizing started - */ - columnIndex?: number; - - /** Returns the column width difference, before and after the resizing - */ - extra?: number; - - /** Returns the new column width after resized - */ - newWidth?: number; - - /** Returns column width before dragging - */ - oldWidth?: number; - - /** Returns initial column element object. - */ - target?: any; - } - - export interface ContextMenuOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the default context menu items to which we add custom items. - */ - contextMenuItems?: any[]; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the TreeGrid model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of edited cell record. - */ - data?: any; - - /** Returns the column name of edited cell belongs. - */ - columnName?: string; - - /** Returns the column object of edited cell belongs. - */ - columnObject?: any; - } - - export interface ExpandedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of expanded record. - */ - recordIndex?: number; - - /** Returns the data of expanded record.. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or expanded state. - */ - expanded?: boolean; - - /** Returns the event type. - */ - type?: string; - } - - export interface ExpandingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of expanding record. - */ - recordIndex?: number; - - /** Returns the data of expanding record.. - */ - data?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface LoadEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the TreeGrid model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting cell element. - */ - cellElement?: any; - - /** Returns the value of cell. - */ - cellValue?: string; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column of cell belongs. - */ - column?: any; - } - - export interface RowDataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of rendering row. - */ - rowElement?: any; - - /** Returns the data of rendering row record. - */ - data?: any; - } - - export interface RowDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row on which we are dragging. - */ - targetRow?: any; - - /** Returns the row index on which we are dragging. - */ - targetRowIndex?: number; - - /** Returns that we can drop over that record or not. - */ - canDrop?: boolean; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: boolean; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStopEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row which we are dropped to row. - */ - targetRow?: any; - - /** Returns the row index which we are dropped to row. - */ - targetRowIndex?: number; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - } - - export interface CellSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - - /** Returns the previously selected row data - */ - previousData?: any; - - /** Returns the previously selected cell index - */ - previousCellIndex?: any; - - /** Returns the previously selected row index - */ - previousRowIndex?: any; - - /** Returns the previously selected cell element - */ - previousTargetCell?: any; - - /** Returns the previously selected row element - */ - previousTargetRow?: any; - } - - export interface RowSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: number; - - /** Returns the data of selected record. - */ - data?: any; - - /** Returns the event type. - */ - type?: string; - } - - export interface RowSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data selecting record. - */ - data?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: string; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the previous selected data. - */ - previousData?: any; - - /** Returns the previous selected row index. - */ - previousIndex?: string; - - /** Returns the previous selected row element. - */ - previousTreeGridRow?: any; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns the name of the toolbar item on which mouse click has been performed - */ - itemName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface Column { - - /** Enables or disables the ability to filter the rows based on this column. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Enables or disables the ability to sort the rows based on this column/field. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables/disables cell selection. - * @Default {false} - */ - allowCellSelection?: boolean; - - /** Specifies the edit type of the column. - * @Default {ej.TreeGrid.EditingType.String} - */ - editType?: ej.TreeGrid.EditingType | string; - - /** Specifies the name of the field from the dataSource to bind with this column. - */ - field?: string; - - /** Specifies the type of the editor control to be used to filter the rows. - * @Default {ej.TreeGrid.EditingType.String} - */ - filterEditType?: ej.TreeGrid.EditingType | string; - - /** Header text of the column. - * @Default {null} - */ - headerText?: string; - - /** Enables or disables the checkbox visibility in a column to make it as a checkbox column - * @Default {false} - */ - showCheckbox?: boolean; - - /** Controls the visibility of the column. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets a value for treegrid column width - */ - width?: number; - - /** Specifies the header template value for the column header - */ - headerTemplateID?: string; - - /** Specifies the display format of a column - * @Default {null} - */ - format?: any; - - /** Specifies whether the column is a template column - * @Default {false} - */ - isTemplateColumn?: boolean; - - /** Specifies the alignment of the column header text - * @Default {ej.TextAlign.Left} - */ - headerTextAlign?: ej.TextAlign | string; - - /** Specifies whether the column is frozen - * @Default {false} - */ - isFrozen?: boolean; - - /** Specifies the text alignment for the column - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign | string; - - /** Specifies the template for the TreeGrid column - */ - templateID?: string; - - /** Enables or disables the ability to edit a row or cell. - * @Default {false} - */ - allowEditing?: boolean; - - /** Enables or disables the ability to freeze/unfreeze the columns - * @Default {false} - */ - allowFreezing?: boolean; - } - - export interface ContextMenuSettings { - - /** Option for adding items to context menu. - * @Default {[]} - */ - contextMenuItems?: any[]; - - /** Shows/hides the context menu. - * @Default {false} - */ - showContextMenu?: boolean; - } - - export interface DragTooltip { - - /** Specifies whether to show tooltip while dragging a row. - * @Default {true} - */ - showTooltip?: boolean; - - /** Option to add field names whose corresponding values in the dragged row needs to be shown in the preview tooltip. - * @Default {[]} - */ - tooltipItems?: any[]; - - /** Custom template for that tooltip that is shown while dragging a row. - * @Default {null} - */ - tooltipTemplate?: string; - } - - export interface EditSettings { - - /** Enables or disables the button to add new row in context menu as well as in toolbar. - * @Default {true} - */ - allowAdding?: boolean; - - /** Enables or disables the button to delete the selected row in context menu as well as in toolbar. - * @Default {true} - */ - allowDeleting?: boolean; - - /** Enables or disables the ability to edit a row or cell. - * @Default {false} - */ - allowEditing?: boolean; - - /** Specifies the mouse action whether single click or double click to begin the editing - * @Default {ej.TreeGrid.BeginEditAction.DblClick} - */ - beginEditAction?: ej.TreeGrid.BeginEditAction | string; - - /** specifies the edit mode in TreeGrid , "cellEditing" is for cell type editing and "rowEditing" is for entire row. - * @Default {ej.TreeGrid.EditMode.CellEditing} - */ - editMode?: ej.TreeGrid.EditMode | string; - - /** Specifies the position where the new row has to be added. - * @Default {top} - */ - rowPosition?: ej.TreeGrid.RowPosition | string; - } - - export interface ColumnResizeSettings { - - /** Specifies the mode for column resizing - * @Default {normal} - */ - columnResizeMode?: string; - } - - export interface FilterSettings { - - /** Specifies the mode on which column filtering should start - * @Default {immediate} - */ - filterBarMode?: string; - - /** Specifies the type of column filtering. - * @Default {filterbar} - */ - filterType?: string; - - /** Specifies the column collection for filtering the TreeGrid content on initial load - * @Default {[]} - */ - filteredColumns?: any[]; - } - - export interface PageSettings { - - /** Using this property we can specify the number of pages should pager contains, according to this count TreeGrid height will be updated. - * @Default {8} - */ - pageCount?: number; - - /** This specifies the number of rows to display in each page. - * @Default {12} - */ - pageSize?: number; - - /** Get the value of records which is bound to TreeGrid. The totalRecordsCount value is calculated based on the datasource bound to TreeGrid. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Specifies the current page to display at load time. - * @Default {1} - */ - currentPage?: number; - - /** Specifies the mode of record count in a page, whether it should count all the records or the root to count zero level parent records. - * @Default {ej.TreeGrid.PageSizeMode.All} - */ - pageSizeMode?: ej.TreeGrid.PageSizeMode | string; - - /** Specifies the Custom template for Pager control. - * @Default {null} - */ - template?: string; - } - - export interface SelectionSettings { - - /** Specifies the type of selection whether to select row or cell. - * @Default {ej.TreeGrid.SelectionMode.Row} - */ - selectionMode?: ej.TreeGrid.SelectionMode | string; - - /** Specifies the type of selection whether single, multiple or checkbox. - * @Default {ej.TreeGrid.SelectionType.Single} - */ - selectionType?: ej.TreeGrid.SelectionType | string; - - /** Enables or disables the selection by hierarchy in check box selection - * @Default {true} - */ - enableHierarchySelection?: boolean; - - /** Toggles the visibility of the checkbox in column header, using which all the check boxes can be selected or unselected. - * @Default {true} - */ - enableSelectAll?: boolean; - } - - export interface SizeSettings { - - /** Height of the TreeGrid. - * @Default {null} - */ - height?: string; - - /** Width of the TreeGrid. - * @Default {null} - */ - width?: string; - } - - export interface SortSettings { - - /** Option to add columns based on which the rows have to be sorted recursively. - * @Default {[]} - */ - sortedColumns?: any[]; - } - - export interface ToolbarSettings { - - /** Shows/hides the toolbar. - * @Default {false} - */ - showToolbar?: boolean; - - /** Specifies the list of toolbar items to be rendered in TreeGrid toolbar - * @Default {[]} - */ - toolbarItems?: any[]; - } - - enum EditingType { - - ///It Specifies String edit type. - String, - - ///It Specifies Boolean edit type. - Boolean, - - ///It Specifies Numeric edit type. - Numeric, - - ///It Specifies Dropdown edit type. - Dropdown, - - ///It Specifies DatePicker edit type. - DatePicker, - - ///It Specifies DateTimePicker edit type. - DateTimePicker, - - ///It Specifies Maskedit edit type. - Maskedit - } - - - enum BeginEditAction { - - ///you can begin the editing at double click - DblClick, - - ///you can begin the editing at single click - Click - } - - - enum EditMode { - - ///you can edit a cell. - CellEditing, - - ///you can edit a row. - RowEditing - } - - - enum RowPosition { - - ///you can add a new row at top. - Top, - - ///you can add a new row at bottom. - Bottom, - - ///you can add a new row to above selected row. - Above, - - ///you can add a new row to below selected row. - Below, - - ///you can add a new row as a child for selected row. - Child - } - - - enum PageSizeMode { - - ///To count all the parent and child records. - All, - - ///To count the Zeroth level parent records. - Root - } - - - enum SelectionMode { - - ///you can select a row. - Row, - - ///you can select a cell. - Cell - } - - - enum SelectionType { - - ///you can select a single row. - Single, - - ///you can select a multiple row. - Multiple, - - ///you can select rows using checkbox. - Checkbox - } - - } - - class GroupButton extends ej.Widget { - static fn: GroupButton; - constructor(element: JQuery | Element, options?: GroupButton.Model); - static Locale: any; - model: GroupButton.Model; - defaults: GroupButton.Model; - - /** Remove the selection state of the specified the button element from the GroupButton - * @param {JQuery} Specific button element - * @returns {void} - */ - deselectItem(element: JQuery): void; - - /** Destroy the GroupButton widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Disables the GroupButton control - * @returns {void} - */ - disable(): void; - - /** Disable the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - disableItem(element: JQuery): void; - - /** Enables the disabled ejGroupButton control. - * @returns {void} - */ - enable(): void; - - /** Enable the specified disabled button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - enableItem(element: JQuery): void; - - /** Returns the index value for specified button element in the GroupButton control. - * @param {JQuery} Specific button element - * @returns {number} - */ - getIndex(element: JQuery): number; - - /** This method returns the list of active state button elements from the GroupButton control. - * @returns {any} - */ - getSelectedItem(): any; - - /** Hides the GroupButton control - * @returns {void} - */ - hide(): void; - - /** Hide the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - hideItem(element: JQuery): void; - - /** Returns the disabled state of the specified element button element in GroupButton as Boolean. - * @returns {boolean} - */ - isDisabled(): boolean; - - /** Returns the state of the specified button element as Boolean. - * @returns {boolean} - */ - isSelected(): boolean; - - /** Public method used to select the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - selectItem(element: JQuery): void; - - /** Shows the GroupButton control, if its hide. - * @returns {void} - */ - show(): void; - - /** Show the specified hidden button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - showItem(element: JQuery): void; - } - export namespace GroupButton { - - export interface Model { - - /** Sets the specified class to GroupButton wrapper element, which allows for custom skinning option in ejGroupButton control. - */ - cssClass?: string; - - /** To set the local JSON data, define a JSON array and initialize the GroupButton with dataSource property. Specify the column names in the fields property. - * @Default {null} - */ - dataSource?: any; - - /** Displays the ejGroupButton in Right to Left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Used to enable or disable the ejGroupButton control. - * @Default {true} - */ - enabled?: boolean; - - /** Gets or sets a value that indicates to display the values of the data. - * @Default {null} - */ - fields?: any; - - /** Sets the GroupButton behavior to works as Checkbox mode/ radio button mode based on the specified option. - * @Default {ej.GroupButtonMode.RadioButton} - */ - groupButtonMode?: ej.GroupButtonMode | string; - - /** Used to sets the height of the ejGroupButton control. - * @Default {28} - */ - height?: string | number; - - /** Defines the characteristics of the ejGroupButton control and extend the capability of an HTML element by adding specified attributes to element tag and by performing the related actions - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specify the orientation of the GroupButton. See below to get available orientations - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Query the dataSource from the table for Groupbutton - * @Default {null} - */ - query?: any; - - /** Sets the list of button elements to be selected. To enable this option groupButtonMode should be in “checkbox” mode. - * @Default {[]} - */ - selectedItemIndex?: number[] | string[]; - - /** Sets the rounder corner to the GroupButton, if sets as true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the button. See available size - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize | string; - - /** Defines the width of the ejGroupButton control. - */ - width?: string | number; - - /** Triggered before any button element in the GroupButton get selected. */ - beforeSelect?(e: BeforeSelectEventArgs): void; - - /** Fires after GroupButton control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ - create?(e: CreateEventArgs): void; - - /** Fires when the GroupButton is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered once the key is pressed, when the control is in focused state. */ - keyPress?(e: KeyPressEventArgs): void; - - /** Triggered when the button element get selected. */ - select?(e: SelectEventArgs): void; - } - - export interface BeforeSelectEventArgs { - - /** Boolean value based on whether the button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the button element ID. - */ - id?: string; - - /** Button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the GroupButton model - */ - model?: ej.GroupButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the GroupButton model - */ - model?: ej.GroupButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface KeyPressEventArgs { - - /** Boolean value based on whether the button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the button element ID. - */ - id?: string; - - /** Button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - } - - export interface SelectEventArgs { - - /** Boolean value based on whether the selected button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the selected button element ID. - */ - id?: string; - - /** Selected button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - } - } - enum GroupButtonMode { - //Sets the GroupButton to work as checkbox mode - CheckBox, - //Sets the RadioButton to work as radio button mode - RadioButton, - } - - class NavigationDrawer extends ej.Widget { - static fn: NavigationDrawer; - constructor(element: JQuery | Element, options?: NavigationDrawer.Model); - static Locale: any; - model: NavigationDrawer.Model; - defaults: NavigationDrawer.Model; - - /** To close the navigation drawer control - * @returns {void} - */ - close(): void; - - /** To load AJAX content into NavigationDrawer container. - * @returns {void} - */ - loadContent(): void; - - /** To open the navigation drawer control - * @returns {void} - */ - open(): void; - - /** To Toggle the navigation drawer control - * @returns {void} - */ - toggle(): void; - } - export namespace NavigationDrawer { - - export interface Model { - - /** Specifies the ajaxSettings option to load the content to the NavigationDrawer control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Specifies the contentId for navigation drawer, where the AJAX content need to updated - * @Default {null} - */ - contentId?: string; - - /** Sets the root class for NavigationDrawer theme. This cssClass API helps to use custom skinning option for NavigationDrawer control. - * By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** Sets the Direction for the control. See Direction - * @Default {left} - */ - direction?: ej.Direction | string; - - /** Sets the listview to be enabled or not - * @Default {false} - */ - enableListView?: boolean; - - /** Specifies the listview items as an array of object. - * @Default {[]} - */ - items?: any[]; - - /** Sets all the properties of listview to render in navigation drawer - */ - listViewSettings?: any; - - /** Specifies position whether it is in fixed or relative to the page. See Position - * @Default {normal} - */ - position?: string; - - /** Specifies the targetId for navigation drawer - */ - targetId?: string; - - /** Sets the rendering type of the control. See Type - * @Default {overlay} - */ - type?: string; - - /** Specifies the width of the control - * @Default {auto} - */ - width?: number; - - /** Navigation pane opened initially when isPaneOpen property is true. - * @Default {false} - */ - isPaneOpen?: boolean; - - /** Event triggers after the AJAX content loaded completely. */ - ajaxComplete?(e: AjaxCompleteEventArgs): void; - - /** Event triggers when the AJAX request failed. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** Event triggers after the AJAX content loaded successfully. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; - - /** Event triggers before the control gets closed. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** Event triggers when the control open. */ - open?(e: OpenEventArgs): void; - - /** Event triggers when the Swipe happens. */ - swipe?(e: SwipeEventArgs): void; - } - - export interface AjaxCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; - } - - export interface AjaxErrorEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; - - /** returns the error thrown in the AJAX post. - */ - errorThrown?: any; - - /** returns the status. - */ - textStatus?: any; - } - - export interface AjaxSuccessEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; - - /** returns the AJAX current content. - */ - content?: string; - - /** returns the current URL of the AJAX post. - */ - URL?: string; - } - - export interface BeforeCloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface SwipeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; - } - } - - class RadialMenu extends ej.Widget { - static fn: RadialMenu; - constructor(element: JQuery | Element, options?: RadialMenu.Model); - static Locale: any; - model: RadialMenu.Model; - defaults: RadialMenu.Model; - - /** To hide the radialmenu - * @returns {void} - */ - hide(): void; - - /** To hide the radialmenu items - * @returns {void} - */ - hideMenu(): void; - - /** To Show the radial menu - * @returns {void} - */ - show(): void; - - /** To show menu items - * @returns {void} - */ - showMenu(): void; - - /** To enable menu item using index - * @param {number} Index of the Radialmenu to be enabled. - * @returns {void} - */ - enableItemByIndex(itemIndex: number): void; - - /** To enable menu items using indices - * @param {Array} Index of the Radialmenu to be enabled. - * @returns {void} - */ - enableItemsByIndices(itemIndices: any[]): void; - - /** To disable menu item using index - * @param {number} Index of the Radialmenu to be disabled. - * @returns {void} - */ - disableItemByIndex(itemIndex: number): void; - - /** To disable menu items using indices - * @param {Array} items of the Radialmenu to disable. - * @returns {void} - */ - disableItemsByIndices(itemIndices: any[]): void; - - /** To enable menu item using item text - * @param {string} item of the Radialmenu item to enable. - * @returns {void} - */ - enableItem(item: string): void; - - /** To disable menu item using item text - * @param {string} item of the Radialmenu item to disable. - * @returns {void} - */ - disableItem(item: string): void; - - /** To enable menu items using item texts - * @param {Array} items of the Radialmenu item to enable. - * @returns {void} - */ - enableItems(items: any[]): void; - - /** To disable menu items using item texts - * @param {Array} items of the Radialmenu item to disable. - * @returns {void} - */ - disableItems(items: any[]): void; - - /** To update menu item badge value - * @param {number} The index value to add the given items at the specified index. If index is not specified, the given value will not be updated. - * @param {number} The Value to be updated in the badge. It will be updated based on the given index - * @returns {void} - */ - updateBadgeValue(index: number, value: number): void; - - /** To show menu item badge - * @param {number} Index of the Radialmenu item to be shown badge. - * @returns {void} - */ - showBadge(index: number): void; - - /** To hide menu item badge - * @param {number} Index of the Radialmenu item to hide the badge. - * @returns {void} - */ - hideBadge(index: number): void; - } - export namespace RadialMenu { - - export interface Model { - - /** To show the Radial in initial render. - */ - autoOpen?: boolean; - - /** Renders the back button Image for Radial using class. - */ - backImageClass?: string; - - /** Sets the root class for RadialMenu theme. This cssClass API helps to use custom skinning option for RadialMenu control. By defining the root class using this API, - * we need to include this root class in CSS. - */ - cssClass?: string; - - /** To enable Animation for Radial Menu. - */ - enableAnimation?: boolean; - - /** Renders the Image for Radial using Class. - */ - imageClass?: string; - - /** Specify the items of radial menu - */ - items?: Item[]; - - /** Specifies the radius of radial menu - */ - radius?: number; - - /** To show the Radial while clicking given target element. - */ - targetElementId?: string; - - /** To set radial render position. - */ - position?: any; - - /** Event triggers when we click an item. */ - click?(e: ClickEventArgs): void; - - /** Event triggers when the menu is opened. */ - open?(e: OpenEventArgs): void; - - /** Event triggers when the menu is closed. */ - close?(e: CloseEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialmenu model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the item of element - */ - item?: any; - - /** returns the name of item - */ - itemName?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialmenu model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialmenu model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemsBadge { - - /** Specifies whether to enable radialmenu item badge or not. - */ - enabled?: boolean; - - /** Specifies the value of radial menu item badge. - */ - value?: number; - } - - export interface ItemsSliderSettings { - - /** Specifies the sliderSettings ticks values of nested radial menu items. - */ - ticks?: any[]; - - /** Specifies the sliderSettings stroke Width value. - */ - strokeWidth?: number; - - /** Specifies the value of sliderSettings labelSpace . - */ - labelSpace?: number; - } - - export interface Item { - - /** Specify the URL of the frame background image for radial menu item. - */ - imageUrl?: string; - - /** Specifies the text of RadialMenu item. - */ - text?: string; - - /** Specifies the enable state of RadialMenu item. - */ - enabled?: boolean; - - /** specify the click event to corresponding image/text for performing some specific action. - */ - click?: string; - - /** Specifies radialmenu item badges. - */ - badge?: ItemsBadge; - - /** Specifies the type of nested radial menu item. - */ - type?: string; - - /** Specifies the sliderSettings ticks for nested radial menu items. - */ - sliderSettings?: ItemsSliderSettings; - - /** Specifies to add sub level items . - */ - items?: any[]; - } - } - - class Tile extends ej.Widget { - static fn: Tile; - constructor(element: JQuery | Element, options?: Tile.Model); - static Locale: any; - model: Tile.Model; - defaults: Tile.Model; - - /** Update the image template of tile item to another one. - * @param {string} UpdateTemplate by using id - * @param {number} index of the tile - * @returns {void} - */ - updateTemplate(id: string, index: number): void; - } - export namespace Tile { - - export interface Model { - - /** Section for badge specific functionalities and it represents the notification for tile items. - */ - badge?: Badge; - - /** Section for caption specific functionalities and it represents the notification for tile items. - */ - caption?: Caption; - - /** Sets the root class for Tile theme. This cssClass API helps to use custom skinning option for Tile control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** Saves current model value to browser cookies for state maintains. While refreshing the page retains the model value applies from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Customize the tile size height. - * @Default {null} - */ - height?: number; - - /** Specifies Tile imageClass, using this property we can give images for each tile through CSS classes. - * @Default {null} - */ - imageClass?: string; - - /** Specifies the position of tile image. - * @Default {center} - */ - imagePosition?: ej.Tile.ImagePosition | string; - - /** Specifies the tile image in outside of template content. - * @Default {null} - */ - imageTemplateId?: string; - - /** Specifies the URL of tile image. - * @Default {null} - */ - imageUrl?: string; - - /** Set the localization culture for Tile Widget. - */ - locale?: string; - - /** Section for liveTile specific functionalities. - */ - liveTile?: LiveTile; - - /** Specifies the size of a tile. See tileSize - * @Default {small} - */ - tileSize?: ej.Tile.TileSize | string; - - /** Customize the tile size width. - * @Default {null} - */ - width?: number; - - /** Sets the rounded corner to tile. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Sets allowSelection to tile. - * @Default {false} - */ - allowSelection?: boolean; - - /** Sets the background color to tile. - * @Default {null} - */ - backgroundColor?: string; - - /** Event triggers when the mouseDown happens in the tile */ - mouseDown?(e: MouseDownEventArgs): void; - - /** Event triggers when the mouseUp happens in the tile */ - mouseUp?(e: MouseUpEventArgs): void; - } - - export interface MouseDownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tile model - */ - model?: boolean; - - /** returns the name of the event - */ - type?: boolean; - - /** returns the current tile text - */ - text?: string; - - /** returns the index of current tile item - */ - index?: number; - } - - export interface MouseUpEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tile model - */ - model?: boolean; - - /** returns the name of the event - */ - type?: boolean; - - /** returns the current tile text - */ - text?: boolean; - - /** returns the index of current tile item - */ - index?: number; - } - - export interface Badge { - - /** Specifies whether to enable badge or not. - * @Default {false} - */ - enabled?: boolean; - - /** Specifies maximum value for tile badge. - * @Default {100} - */ - maxValue?: number; - - /** Specifies minimum value for tile badge. - * @Default {1} - */ - minValue?: number; - - /** Specifies text instead of number for tile badge. - * @Default {null} - */ - text?: string; - - /** Sets value for tile badge. - * @Default {1} - */ - value?: number; - - /** Sets position for tile badge. - * @Default {“bottomright”} - */ - position?: ej.Tile.BadgePosition | string; - } - - export interface Caption { - - /** Specifies whether the tile text to be shown or hidden. - * @Default {true} - */ - enabled?: boolean; - - /** Changes the text of a tile. - * @Default {Text} - */ - text?: string; - - /** It is used to align the text of a tile. - * @Default {normal} - */ - alignment?: ej.Tile.CaptionAlignment | string; - - /** It is used to specify the caption position like Inner top, inner bottom and outer. - * @Default {Innerbottom} - */ - position?: ej.Tile.CaptionPosition | string; - - /** sets the icon instead of text. - * @Default {null} - */ - icon?: string; - } - - export interface LiveTile { - - /** Specifies whether to enable liveTile or not. - * @Default {false} - */ - enabled?: boolean; - - /** Specifies liveTile images in CSS classes. - * @Default {null} - */ - imageClass?: any[]; - - /** Specifies liveTile images in templates. - * @Default {null} - */ - imageTemplateId?: any[]; - - /** Specifies liveTile images in CSS classes. - * @Default {null} - */ - imageUrl?: any[]; - - /** Specifies liveTile type for Tile. See orientation - * @Default {flip} - */ - type?: ej.Tile.liveTileType | string; - - /** Specifies time interval between two successive liveTile animation - * @Default {2000} - */ - updateInterval?: number; - - /** Sets the text to each living tile - * @Default {Null} - */ - text?: any[]; - } - - enum BadgePosition { - - ///To set the topright position of tile badge - Topright, - - ///To set the bottomright of tile badge - Bottomright - } - - - enum CaptionAlignment { - - ///To set the normal alignment of text in tile control - Normal, - - ///To set the left alignment of text in tile control - Left, - - ///To set the right alignment of text in tile control - Right, - - ///To set the center alignment of text in tile control - Center - } - - - enum CaptionPosition { - - ///To set the inner top position of the tile text - Innertop, - - ///To set the inner bottom position of the tile text - Innerbottom, - - ///To set the outer position of the tile text - Outer - } - - - enum ImagePosition { - - ///To set the center position of tile image - Center, - - ///To set the top center position of tile image - TopCenter, - - ///To set the bottom center position of tile image - BottomCenter, - - ///To set the right center position of tile image - RightCenter, - - ///To set the left center position of tile image - LeftCenter, - - ///To set the topleft position of tile image - TopLeft, - - ///To set the topright position of tile image - TopRight, - - ///To set the bottomright position of tile image - BottomRight, - - ///To set the bottomleft position of tile image - BottomLeft, - - ///To set the fill position of tile image - Fill - } - - - enum liveTileType { - - ///To set flip type of liveTile for tile control - Flip, - - ///To set slide type of liveTile for tile control - Slide, - - ///To set carousel type of liveTile for tile control - Carousel - } - - - enum TileSize { - - ///To set the medium size for tile control - Medium, - - ///To set the small size for tile control - Small, - - ///To set the large size for tile control - Large, - - ///To set the wide size for tile control - Wide - } - - } - - class Signature extends ej.Widget { - static fn: Signature; - constructor(element: JQuery | Element, options?: Signature.Model); - static Locale: any; - model: Signature.Model; - defaults: Signature.Model; - - /** Clears the strokes in the signature. - * @returns {void} - */ - clear(): void; - - /** Destroys the signature widget. - * @returns {void} - */ - destroy(): void; - - /** Disables the signature widget. - * @returns {void} - */ - disable(): void; - - /** Enables the signature widget. - * @returns {void} - */ - enable(): void; - - /** Hides the signature widget. - * @returns {void} - */ - hide(): void; - - /** redo the last drawn stroke of the signature - * @returns {void} - */ - redo(): void; - - /** used to save the drawn image. - * @returns {void} - */ - save(): void; - - /** Used to Show the signature widget, if it is already hided. - * @returns {void} - */ - show(): void; - - /** undo the last drawn stroke of the signature. - * @returns {void} - */ - undo(): void; - } - export namespace Signature { - - export interface Model { - - /** This property is used to set the background color for the signature. - * @Default {#ffffff} - */ - backgroundColor?: string; - - /** This property is used to set the background image for the signature. - */ - backgroundImage?: string; - - /** Enables or disables the Signature textbox widget. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the height of the Signature control. - * @Default {100%} - */ - height?: string; - - /** Enables/disables responsive support for the signature control (i.e) maintain the signature drawing during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the type of the image format to be saved when the signature image is saved. - */ - saveImageFormat?: ej.Signature.SaveImageFormat | string; - - /** Allows the signature image to be saved along with its background. - * @Default {false} - */ - saveWithBackground?: boolean; - - /** Enables or disables rounded corner. - * @Default {true} - */ - showRoundedCorner?: boolean; - - /** Sets the stroke color for the stroke of the signature. - * @Default {#000000} - */ - strokeColor?: string; - - /** Sets the stroke width for the stroke of the signature. - * @Default {2} - */ - strokeWidth?: number; - - /** Sets the width of the Signature control. - * @Default {100%} - */ - width?: string; - - /** Triggers when the stroke is changed. */ - change?(e: ChangeEventArgs): void; - - /** Triggered when the pointer is clicked or touched in the signature canvas. */ - mouseDown?(e: MouseDownEventArgs): void; - - /** Triggered when the pointer is moved in the signature canvas. */ - mouseMove?(e: MouseMoveEventArgs): void; - - /** Triggered when the pointer is released after click or touch in the signature canvas. */ - mouseUp?(e: MouseUpEventArgs): void; - } - - export interface ChangeEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** Gives the last stored image - */ - lastImage?: string; - } - - export interface MouseDownEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** returns all the event values - */ - value?: any; - } - - export interface MouseMoveEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** returns all the event values - */ - value?: any; - } - - export interface MouseUpEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** returns all the event values - */ - value?: any; - } - - enum SaveImageFormat { - - ///To save the signature image with PNG format only. - PNG, - - ///To save the signature image with JPG format only. - JPG, - - ///To save the signature image with BMP format only. - BMP, - - ///To save the signature image with TIFF format only. - TIFF - } - - } - - class RadialSlider extends ej.Widget { - static fn: RadialSlider; - constructor(element: JQuery | Element, options?: RadialSlider.Model); - static Locale: any; - model: RadialSlider.Model; - defaults: RadialSlider.Model; - - /** To show the radialslider - * @returns {void} - */ - show(): void; - - /** To hide the radialslider - * @returns {void} - */ - hide(): void; - } - export namespace RadialSlider { - - export interface Model { - - /** To show the RadialSlider in initial render. - * @Default {false} - */ - autoOpen?: boolean; - - /** Sets the root class for RadialSlider theme. This cssClass API helps to use custom skinning option for RadialSlider control. - * By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** To enable Animation for Radial Slider. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Enable/Disable the Roundoff property of RadialSlider - * @Default {true} - */ - enableRoundOff?: boolean; - - /** Specifies the endAngle value for radial slider circle. - * @Default {360} - */ - endAngle?: number; - - /** Specifies the inline for label show or not on given radius. - * @Default {false} - */ - inline?: boolean; - - /** Specifies innerCircleImageClass, using this property we can give images for center radial circle through CSS classes. - * @Default {null} - */ - innerCircleImageClass?: string; - - /** Specifies the file name of center circle icon - * @Default {null} - */ - innerCircleImageUrl?: string; - - /** Specifies the Space between the radial slider element and the label. - * @Default {30} - */ - labelSpace?: number; - - /** Specifies the radius of radial slider - * @Default {200} - */ - radius?: number; - - /** To show the RadialSlider inner circle. - * @Default {true} - */ - showInnerCircle?: boolean; - - /** Specifies the endAngle value for radial slider circle. - * @Default {0} - */ - startAngle?: number; - - /** Specifies the strokeWidth for customize the needle, outer circle and inner circle. - * @Default {2} - */ - strokeWidth?: number; - - /** Specifies the ticks value of radial slider - */ - ticks?: any[]; - - /** Specifies the value of radial slider - * @Default {10} - */ - value?: number; - - /** Event triggers when the change occurs. */ - change?(e: ChangeEventArgs): void; - - /** Event triggers when the radial slider is created. */ - create?(e: CreateEventArgs): void; - - /** Event triggers when the mouse pointer is dragged over the radial slider. */ - mouseover?(e: MouseoverEventArgs): void; - - /** Event triggers when the Radial slider slides. */ - slide?(e: SlideEventArgs): void; - - /** Event triggers when the radial slider starts. */ - start?(e: StartEventArgs): void; - - /** Event triggers when the radial slider stops. */ - stop?(e: StopEventArgs): void; - } - - export interface ChangeEventArgs { - - /** returns the Radialslider model - */ - model?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the initial value of Radial slider - */ - oldValue?: number; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value of the Radial slider - */ - value?: number; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface MouseoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the value selected - */ - selectedValue?: number; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value selected in Radial slider - */ - value?: number; - } - - export interface SlideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the value selected in Radial slider - */ - selectedValue?: number; - - /** returns the name of the event - */ - type?: string; - - /** returns the currently selected value - */ - value?: number; - } - - export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value selected in Radial slider - */ - value?: number; - } - - export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value selected in Radial slider - */ - value?: number; - } - } - - class Spreadsheet extends ej.Widget { - static fn: Spreadsheet; - constructor(element: JQuery | Element, options?: Spreadsheet.Model); - static Locale: any; - model: Spreadsheet.Model; - defaults: Spreadsheet.Model; - - /** This method is used to add custom formulas in Spreadsheet. - * @param {string} Pass the name of the formula. - * @param {string} Pass the name of the function. - * @returns {void} - */ - addCustomFormula(formulaName: string, functionName: string): void; - - /** This method is used to add a new sheet in the last position of the sheet container. - * @returns {void} - */ - addNewSheet(): void; - - /** It is used to clear all the data and format in the specified range of cells in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear all content in the specified range else it will use the current selected range. - * @returns {void} - */ - clearAll(range?: string | any[]): void; - - /** This property is used to clear all the formats applied in the specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear all format in the specified range else it will use the current selected range. - * @returns {void} - */ - clearAllFormat(range?: string | any[]): void; - - /** Used to clear the applied border in the specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear border in the specified range else it will use the current selected range. - * @returns {void} - */ - clearBorder(range?: string | any[]): void; - - /** This property is used to clear the contents in the specified range in Spreadsheet. - * @param {string|Array} Optional. If the range is specified, then it will clear the content in the specified range else it will use the current selected range. - * @returns {void} - */ - clearContents(range?: string | any[]): void; - - /** This method is used to remove only the data in the range denoted by the specified range name. - * @param {string} Pass the defined rangeSettings property name. - * @returns {void} - */ - clearRange(rangeName: string): void; - - /** It is used to remove data in the specified range of cells based on the defined property. - * @param {Array|string} Optional. If range is specified, it will clear data for the specified range else it will use the current selected range. - * @param {string} Optional. If property is specified, it will remove the specified property in the range else it will remove default properties - * @param {any} Optional. - * @param {boolean} Optional. pass {{'`true`' | markdownify}}, if you want to skip the hidden rows - * @param {any} Optional. Pass the status to perform undo and redo operation. - * @param {any} Optional. It specifies whether to skip element processing or not. - * @returns {void} - */ - clearRangeData(range?: any[] | string, property?: string, cells?: any, skipHiddenRow?: boolean, status?: any, skipCell?: any): void; - - /** This method is used to clear undo and redo collections in the Spreadsheet. - * @returns {void} - */ - clearUndoRedo(): void; - - /** This method is used to copy or move the sheets in Spreadsheet. - * @param {number} Pass the sheet index that you want to copy or move. - * @param {number} Pass the position index where you want to copy or move. - * @param {boolean} Pass {{'`true`' | markdownify}},If you want to copy sheet or else it will move sheet. - * @returns {void} - */ - copySheet(fromIdx: number, toIdx: number, isCopySheet: boolean): void; - - /** This method is used to delete the entire column which is selected. - * @param {number} Pass the start column index. - * @param {number} Pass the end column index. - * @returns {void} - */ - deleteEntireColumn(startCol: number, endCol: number): void; - - /** This method is used to delete the entire row which is selected. - * @param {number} Pass the start row index. - * @param {number} Pass the end row index. - * @returns {void} - */ - deleteEntireRow(startRow: number, endRow: number): void; - - /** This method is used to delete a particular sheet in the Spreadsheet. - * @param {number} Pass the sheet index to perform delete action. - * @returns {void} - */ - deleteSheet(idx: number): void; - - /** This method is used to delete the selected cells and shift the remaining cells to left. - * @param {any} Row index and column index of the starting cell. - * @param {any} Row index and column index of the ending cell. - * @returns {void} - */ - deleteShiftLeft(startCell: any, endCell: any): void; - - /** This method is used to delete the selected cells and shift the remaining cells up. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ - deleteShiftUp(startCell: any, endCell: any): void; - - /** This method is used to edit data in the specified range of cells based on its corresponding rangeSettings. - * @param {string} Pass the defined rangeSettings property name. - * @param {Function} Pass the function that you want to perform range edit. - * @returns {void} - */ - editRange(rangeName: string, fn: any): void; - - /** This method is used to get the activation panel in the Spreadsheet. - * @returns {HTMLElement} - */ - getActivationPanel(): HTMLElement; - - /** This method is used to get the active cell object in Spreadsheet. It will returns object which contains rowIndex and colIndex of the active cell. - * @param {number} Optional. If sheetIdx is specified, it will return the active cell object in specified sheet index else it will use the current sheet index - * @returns {any} - */ - getActiveCell(sheetIdx?: number): any; - - /** This method is used to get the active cell element based on the given sheet index in the Spreadsheet. - * @param {number} Optional. If sheetIndex is specified, it will return the active cell element in specified sheet index else it will use the current active sheet index. - * @returns {HTMLElement} - */ - getActiveCellElem(sheetIdx?: number): HTMLElement; - - /** This method is used to get the current active sheet index in Spreadsheet. - * @returns {number} - */ - getActiveSheetIndex(): number; - - /** This method is used to get the auto fill element in Spreadsheet. - * @returns {HTMLElement} - */ - getAutoFillElem(): HTMLElement; - - /** This method is used to get the cell element based on specified row and column index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @param {number} Optional. Pass the sheet index that you want to get cell. - * @returns {HTMLElement} - */ - getCell(rowIdx: number, colIdx: number, sheetIdx?: number): HTMLElement; - - /** This method is used to get the data settings in the Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ - getDataSettings(sheetIdx: number): number; - - /** This method is used to get the frozen columns index in the Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ - getFrozenColumns(sheetIdx: number): number; - - /** This method is used to get the frozen row index in Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ - getFrozenRows(sheetIdx: number): number; - - /** This method is used to get the hyperlink data as object from the specified cell in Spreadsheet. - * @param {HTMLElement} Pass the DOM element to get hyperlink - * @returns {any} - */ - getHyperlink(cell: HTMLElement): any; - - /** This method is used to get all cell elements in the specified range. - * @param {string} Pass the range that you want to get the cells. - * @param {number} Pass the index of the sheet. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. - * @returns {HTMLElement} - */ - getRange(range: string, sheetIdx: number, skipHiddenRow?: boolean): HTMLElement; - - /** This method is used to get the data in specified range in Spreadsheet. - * @param {any} Optional. Pass the range, property, sheetIdx, valueOnly in options. - * @returns {Array} - */ - getRangeData(options?: any): any[]; - - /** This method is used to get the range indices array based on the specified alpha range in Spreadsheet. - * @param {string} Pass the alpha range that you want to get range indices. - * @returns {Array} - */ - getRangeIndices(range: string): any[]; - - /** This method is used to get the sheet details based on the given sheet index in Spreadsheet. - * @param {number} Pass the sheet index to get the sheet object. - * @returns {any} - */ - getSheet(sheetIdx: number): any; - - /** This method is used to get the sheet content div element of Spreadsheet. - * @param {number} Pass the sheet index to get the sheet content. - * @returns {HTMLElement} - */ - getSheetElement(sheetIdx: number): HTMLElement; - - /** This method is used to get all the sheets in workbook. - * @returns {Array} - */ - getSheets(): any[]; - - /** This method is used to send a paging request to the specified sheet Index in the Spreadsheet. - * @param {number} Pass the sheet index to perform paging at specified sheet index - * @param {boolean} Pass {{'`true`' | markdownify}} to create a new sheet. If the specified sheet index is already exist, it navigate to that sheet else it create a new sheet. - * @returns {void} - */ - gotoPage(sheetIdx: number, newSheet: boolean): void; - - /** This method is used to hide the entire columns from the specified range (startCol, endCol) in Spreadsheet. - * @param {number} Index of the start column. - * @param {number} Optional. Index of the end column. - * @returns {void} - */ - hideColumn(startCol: number, endCol: number): void; - - /** This method is used to hide the formula bar in Spreadsheet. - * @returns {void} - */ - hideFormulaBar(): void; - - /** This method is used to hide the rows, based on the specified row index in Spreadsheet. - * @param {number} Index of the start row. - * @param {number} Optional. Index of the end row. - * @returns {void} - */ - hideRow(startRow: number, endRow: number): void; - - /** This method is used to hide the sheet based on the specified sheetIndex or sheet name in the Spreadsheet. - * @param {string|number} Pass the sheet name or index that you want to hide. - * @returns {void} - */ - hideSheet(sheetIdx: string | number): void; - - /** This method is used to hide the displayed waiting pop-up in Spreadsheet. - * @returns {void} - */ - hideWaitingPopUp(): void; - - /** This method is used to insert a column before the active cell's column in the Spreadsheet. - * @param {number} Pass start column. - * @param {number} Pass end column. - * @returns {void} - */ - insertEntireColumn(startCol: number, endCol: number): void; - - /** This method is used to insert a row before the active cell's row in the Spreadsheet. - * @param {number} Pass start row. - * @param {number} Pass end row. - * @returns {void} - */ - insertEntireRow(startRow: number, endRow: number): void; - - /** This method is used to insert a new sheet to the left of the current active sheet. - * @returns {void} - */ - insertSheet(): void; - - /** This method is used to insert cells in the selected or specified range and shift remaining cells to bottom. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ - insertShiftBottom(startCell: any, endCell: any): void; - - /** This method is used to insert cells in the selected or specified range and shift remaining cells to right. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ - insertShiftRight(startCell: any, endCell: any): void; - - /** This method is used to import excel file manually by using form data. - * @param {any} Pass the form data object to import files manually. - * @returns {void} - */ - import(importRequest: any): void; - - /** This method is used to load JSON data in Spreadsheet. - * @param {any} Pass the response that you want to load. - * @returns {void} - */ - loadFromJSON(response: any): void; - - /** This method is used to lock/unlock the range of cells in active sheet. Lock cells are activated only after the sheet is protected. Once the sheet is protected it is unable to lock/unlock cells. - * @param {string|Array} Pass the alpha range cells or array range of cells. - * @param {string} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} locked cells are unlocked. - * @returns {void} - */ - lockCells(range: string | any[], isLocked?: string): void; - - /** This method is used to merge cells by across in the Spreadsheet. - * @param {string} Optional. To pass the cell range or selected cells are process. - * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. - * @returns {void} - */ - mergeAcrossCells(range?: string, alertStatus?: boolean): void; - - /** This method is used to merge the selected cells in the Spreadsheet. - * @param {string|Array} Optional. To pass the cell range or selected cells are process. - * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. - * @returns {void} - */ - mergeCells(range?: string | any[], alertStatus?: boolean): void; - - /** This method is used to select a cell or range in the Spreadsheet. - * @param {any} Pass the start cell to perform selection. - * @param {any} Pass the end cell to perform selection. - * @returns {void} - */ - performSelection(startCell: any, endCell: any): void; - - /** This method is used to protect or unprotect active sheet. - * @param {boolean} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} active sheet is unprotected. - * @returns {void} - */ - protectSheet(isProtected?: boolean): void; - - /** This method is used to refresh the content in Spreadsheet. - * @param {number} Pass the index of the sheet. - * @returns {void} - */ - refreshContent(sheetIdx: number): void; - - /** This method is used to refresh the Spreadsheet. - * @returns {void} - */ - refreshSpreadsheet(): void; - - /** This method is used to remove custom formulae in Spreadsheet. - * @param {string} Pass the name of the formula. - * @param {string} Pass the name of the function. - * @returns {void} - */ - removeCustomFormula(formulaName: string, functionName: string): void; - - /** This method is used to remove the hyperlink from selected cells of current sheet. - * @param {string} Hyperlink remove from the specified range. - * @param {boolean} Optional. If it is {{'`true`' | markdownify}}, It will clear link only not format. - * @param {boolean} Optional. Pass the status to perform undo and redo operations. - * @param {any} Optional. Pass the cells that you want to remove hyperlink. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. - * @returns {void} - */ - removeHyperlink(range: string, isClearHLink?: boolean, status?: boolean, cells?: any, skipHiddenRow?: boolean): void; - - /** This method is used to remove the range data and its defined rangeSettings property based on the specified range name. - * @param {string} Pass the defined rangeSetting property name. - * @returns {void} - */ - removeRange(rangeName: string): void; - - /** This method is used to remove the readonly option for the specified range. - * @param {string|Array} Pass the range. - * @returns {void} - */ - removeReadOnly(range?: string | any[]): void; - - /** This method is used to save JSON data in Spreadsheet. - * @returns {any} - */ - saveAsJSON(): any; - - /** This method is used to save batch changes in Spreadsheet. - * @param {number} Pass the sheet index for Spreadsheet. - * @returns {void} - */ - saveBatchChanges(sheetIdx: number): void; - - /** This method is used to set the active cell in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @param {number} Pass the index of the sheet. - * @returns {void} - */ - setActiveCell(rowIdx: number, colIdx: number, sheetIdx: number): void; - - /** This method is used to set active sheet index for the Spreadsheet. - * @param {number} Pass the active sheet index for Spreadsheet. - * @returns {void} - */ - setActiveSheetIndex(sheetIdx: number): void; - - /** This method is used to set border for the specified range of cells in the Spreadsheet. - * @param {any} Pass the border properties that you want to set. - * @param {string} Optional. If range is specified, it will set border for the specified range else it will use the selected range. - * @returns {void} - */ - setBorder(property: any, range?: string): void; - - /** This method is used to set the height for the rows in the Spreadsheet. - * @param {Array|any} Pass the row index and height of the rows. - * @returns {void} - */ - setHeightToRows(heightColl: any[] | any): void; - - /** This method is used to set the hyperlink in selected cells of the current sheet. - * @param {string|Array} If range is specified, it will set the hyperlink in range of the cells. - * @param {any} Pass cellAddress or webAddress - * @param {number} If we pass cellAddress then which sheet to be navigate in the applied link. - * @returns {void} - */ - setHyperlink(range: string | any[], link: any, sheetIdx: number): void; - - /** This method is used to set the readonly option for the specified range. - * @param {string|Array} Pass the range. - * @returns {void} - */ - setReadOnly(range?: string | any[]): void; - - /** This method is used to set the focus to the Spreadsheet. - * @returns {void} - */ - setSheetFocus(): void; - - /** This method is used to set the width for the columns in the Spreadsheet. - * @param {Array|any} Pass the column index and width of the columns. - * @returns {void} - */ - setWidthToColumns(widthColl: any[] | any): void; - - /** This method is used to rename the active sheet. - * @param {string} Pass the sheet name that you want to change the current active sheet name. - * @returns {void} - */ - sheetRename(sheetName: string): void; - - /** This method is used to display the activationPanel for the specified range name. - * @param {string} Pass the range name that you want to display the activation panel. - * @returns {void} - */ - showActivationPanel(rangeName: string): void; - - /** This method is used to show the hidden columns within the specified range in the Spreadsheet. - * @param {number} Index of the start column. - * @param {number} Optional. Index of the end column. - * @returns {void} - */ - showColumn(startColIdx: number, endColIdx: number): void; - - /** This method is used to show the formula bar in Spreadsheet. - * @returns {void} - */ - showFormulaBar(): void; - - /** This method is used to show/hide gridlines in active sheet in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show the gridlines - * @returns {void} - */ - showGridlines(status: boolean): void; - - /** This method is used to show/hide the headers in active sheet in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show the sheet headers. - * @returns {void} - */ - showHeadings(startRow: boolean): void; - - /** This method is used to show/hide pager in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show pager. - * @returns {void} - */ - showPager(status: boolean): void; - - /** This method is used to show the hidden rows in the specified range in the Spreadsheet. - * @param {number} Index of the start row. - * @param {number} Optional. Index of the end row. - * @returns {void} - */ - showRow(startRow: number, endRow: number): void; - - /** This method is used to show waiting pop-up in Spreadsheet. - * @returns {void} - */ - showWaitingPopUp(): void; - - /** This method is used to unhide the sheet based on specified sheet name or sheet index. - * @param {string|number} Pass the sheet name or index that you want to unhide. - * @returns {void} - */ - unhideSheet(sheetInfo: string | number): void; - - /** This method is used to unmerge the selected range of cells in the Spreadsheet. - * @param {string} Optional. If the range is specified, then it will un merge the specified range else it will use the current selected range. - * @returns {void} - */ - unmergeCells(range?: string): void; - - /** This method is used to unwrap the selected range of cells in the Spreadsheet. - * @param {Array|string} Optional. If the range is specified, then it will update unwrap in the specified range else it will use the current selected range. - * @returns {void} - */ - unWrapText(range?: any[] | string): void; - - /** This method is used to update the data for the specified range of cells in the Spreadsheet. - * @param {any} Pass the cells data that you want to update. - * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. - * @returns {void} - */ - updateData(data: any, range?: any[] | string): void; - - /** This method is used to update the formula bar in the Spreadsheet. - * @returns {void} - */ - updateFormulaBar(): void; - - /** This method is used to update the range of cells based on the specified settings which we want to update in the Spreadsheet. - * @param {number} Pass the sheet index that you want to update. - * @param {any} Pass the dataSource, startCell and showHeader values as settings. - * @returns {void} - */ - updateRange(sheetIdx: number, settings: any): void; - - /** This method is used to update the details for custom undo and redo operations. - * @param {any} Pass the details to update undo and redo collection - * @returns {void} - */ - updateUndoRedoCollection(details: any): void; - - /** This method is used to update the unique data for the specified range of cells in Spreadsheet. - * @param {any} Pass the data that you want to update in the particular range - * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. - * @param {any} Optional. It specifies whether to skip element processing or not. - * @returns {void} - */ - updateUniqueData(data: any, range?: any[] | string, skipCell?: any): void; - - /** This method is used to wrap the selected range of cells in the Spreadsheet. - * @param {Array|string} Optional. If the range is specified, then it will update wrap in the specified range else it will use the current selected range. - * @returns {void} - */ - wrapText(range?: any[] | string): void; - - XLCellType: Spreadsheet.XLCellType; - - XLCFormat: Spreadsheet.XLCFormat; - - XLChart: Spreadsheet.XLChart; - - XLClipboard: Spreadsheet.XLClipboard; - - XLComment: Spreadsheet.XLComment; - - XLCMenu: Spreadsheet.XLCMenu; - - XLDragDrop: Spreadsheet.XLDragDrop; - - XLDragFill: Spreadsheet.XLDragFill; - - XLEdit: Spreadsheet.XLEdit; - - XLExport: Spreadsheet.XLExport; - - /** This method is used to get the export properties in the Spreadsheet. - * @returns {any} - */ - getExportProps(): any; - - XLFilter: Spreadsheet.XLFilter; - - XLFormat: Spreadsheet.XLFormat; - - XLFreeze: Spreadsheet.XLFreeze; - - /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. - * @returns {void} - */ - unfreezePanes(): void; - - XLPivot: Spreadsheet.XLPivot; - - XLPrint: Spreadsheet.XLPrint; - - XLResize: Spreadsheet.XLResize; - - XLRibbon: Spreadsheet.XLRibbon; - - XLSearch: Spreadsheet.XLSearch; - - XLSelection: Spreadsheet.XLSelection; - - XLShape: Spreadsheet.XLShape; - - XLSort: Spreadsheet.XLSort; - - XLValidate: Spreadsheet.XLValidate; - } - export namespace Spreadsheet { - - export interface XLCellType { - - /** This method is used to set a cell type from the specified range of cells in the spreadsheet. - * @param {string} Pass the range where you want apply cell type. - * @param {any} Pass type of cell type and its settings. - * @param {number} Optional. Pass sheet index. - * @returns {void} - */ - addCellTypes(range: string, settings: any, sheetIdx: number): void; - - /** This method is used to remove cell type from the specified range of cells in the Spreadsheet. - * @param {string|Array} Pass the range where you want remove cell type. - * @param {number} Optional. Pass sheet index. - * @returns {void} - */ - removeCellTypes(range: string | any[], sheetIdx: number): void; - } - - export interface XLCFormat { - - /** This method is used to clear the applied conditional formatting rules in the Spreadsheet. - * @param {Array|string} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - clearCF(range: any[] | string): void; - - /** This method is used to get the applied conditional formatting rules as array of objects based on the specified row Index and column Index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @returns {Array} - */ - getCFRule(rowIdx: number, colIdx: number): any[]; - - /** This method is used to set the conditional formatting rule in the Spreadsheet. - * @param {any} Pass the rule to set. - * @returns {void} - */ - setCFRule(rule: any): void; - } - - export interface XLChart { - - /** This method is used to change the theme of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {ej.datavisualization.Chart.Theme} Pass the chart theme which want to update. - * @returns {void} - */ - changeTheme(chartId: string, theme: ej.datavisualization.Chart.Theme): void; - - /** This method is used to change the type of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {any} Pass the chart type. - * @returns {void} - */ - changeType(chartId: string, option: any): void; - - /** This method is used to change the data range of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {string} X axis range of chart data. - * @param {string} Y axis range of chart data. - * @param {string} Legend range of chart data. - * @returns {void} - */ - changeDataRange(chartId: string, xRange: string, yRange: string, lRange: string): void; - - /** This method is used to create a chart for specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will create chart for the specified range else it will use the current selected range. - * @param {any} Optional. To pass the type of chart and chart name. - * @returns {void} - */ - createChart(range: string | any[], options: any): void; - - /** This method is used to refresh the chart in the Spreadsheet. - * @param {string} To pass the chart Id. - * @param {any} To pass the type of chart and chart name. - * @returns {void} - */ - refreshChart(id: string, options: any): void; - - /** This method is used to resize the chart of specified id in the Spreadsheet. - * @param {string} To pass the chart id. - * @param {number} To pass height value. - * @param {number} To pass the width value. - * @returns {void} - */ - resizeChart(id: string, height: number, width: number): void; - - /** This method is used to update the chart element, such as axes, titles, data labels, grid lines and legends in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {ej.Spreadsheet.ChartProperties} Pass chart element value which you want to update. - * @returns {void} - */ - updateChartElement(chartId: string, value: ej.Spreadsheet.ChartProperties): void; - - /** This method is used switch row to columns and vice versa for chart in the Spreadsheet. So that the data is displayed in the chart the way you want. - * @param {string} Pass the chart id. - * @returns {void} - */ - switchRowColumn(chartId: string): void; - } - - export interface XLClipboard { - - /** This method is used to copy the selected cells in the Spreadsheet. - * @returns {void} - */ - copy(): void; - - /** This method is used to cut the selected cells in the Spreadsheet. - * @returns {void} - */ - cut(): void; - - /** This method is used to paste the cut or copied cells data in the Spreadsheet. - * @returns {void} - */ - paste(): void; - } - - export interface XLComment { - - /** This method is used to delete the comment in the specified range in Spreadsheet. - * @param {Array|string} Optional. If range is specified, it will delete comments for the specified range else it will use the current selected range. - * @param {number} Optional. If sheetIdx is specified, it will delete comment in specified sheet else it will use active sheet. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows data. - * @returns {void} - */ - deleteComment(range: any[] | string, sheetIdx: number, skipHiddenRow: boolean): void; - - /** This method is used to edit the comment in the target Cell in Spreadsheet. - * @param {any} Optional. Pass the row index and column index of the cell which contains comment. - * @returns {void} - */ - editComment(targetCell: any): void; - - /** This method is used to find the next comment from the active cell in Spreadsheet. - * @returns {boolean} - */ - findNextComment(): boolean; - - /** This method is used to find the previous comment from the active cell in Spreadsheet. - * @returns {boolean} - */ - findPrevComment(): boolean; - - /** This method is used to get comment data for the specified cell. - * @param {HTMLElement} Pass the DOM element to get comment data as object. - * @returns {any} - */ - getComment(cell: HTMLElement): any; - - /** This method is used to set new comment in Spreadsheet. - * @param {string|Array} Optional. If we pass the range comment will set in the range otherwise it will set with selected cells. - * @param {string} Optional. Pass the comment data. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show comment in edit mode - * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show the user name - * @returns {void} - */ - setComment(range: string | any[], data: string, showEditPanel: boolean, showUserName: boolean): void; - - /** This method is used to show all the comments in the Spreadsheet. - * @returns {void} - */ - showAllComments(): void; - - /** This method is used to show or hide the specific comment in the Spreadsheet. - * @param {HTMLElement} Optional. Pass the cell DOM element to show or hide its comment. If pass empty argument active cell will processed. - * @returns {void} - */ - showHideComment(targetCell: HTMLElement): void; - } - - export interface XLCMenu { - - /** This method is used to dynamically add items in the context menu. - * @param {string} Specifies the context menu type in which the item to be inserted. - * @param {Array} Pass the items to be inserted - * @param {string} Specifies the type of operation to be performed - * @returns {void} - */ - addItem(target: string, itemColl: any[], operation: string): void; - - /** This method is used to change data source in the context menu. - * @param {string} Specifies the context menu type to bind the data source. - * @param {Array} Pass the data source to be binded - * @returns {void} - */ - changeDataSource(target: string, data: any[]): void; - - /** This method is used to disable the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be disabled. - * @param {Array} Specifies the Menu Item id collection to be disabled - * @returns {void} - */ - disableItem(target: string, idxColl: any[]): void; - - /** This method is used to enable the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be enabled. - * @param {Array} Specifies the Menu Item id collection to be enabled - * @returns {void} - */ - enableItem(target: string, idxColl: any[]): void; - - /** This method is used to remove the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be removed. - * @param {Array} Specifies the Menu Item id collection to be removed - * @returns {void} - */ - removeItem(target: string, idxColl: any[]): void; - } - - export interface XLDragDrop { - - /** This method is used to drag and drop the selected range of cells to destination range in the Spreadsheet. - * @param {any|Array} Pass the source range to perform drag and drop. - * @param {any|Array} Pass the destination range to drop the dragged cells. - * @returns {void} - */ - moveRangeTo(sourceRange: any | any[], destinationRange: any | any[]): void; - } - - export interface XLDragFill { - - /** This method is used to perform auto fill in Spreadsheet. - * @param {any} Pass the options to perform auto fill in Spreadsheet. - * @returns {void} - */ - autoFill(options: any): void; - - /** This method is used to hide the auto fill element in the Spreadsheet. - * @returns {void} - */ - hideAutoFillElement(): void; - - /** This method is used to hide the auto fill options in the Spreadsheet. - * @returns {void} - */ - hideAutoFillOptions(): void; - - /** This method is used to set position of the auto fill element in the Spreadsheet. - * @param {boolean} Pass the isDragFill option as {{'`boolean`' | markdownify}} value to show auto fill options in Spreadsheet. - * @returns {void} - */ - positionAutoFillElement(isDragFill: boolean): void; - } - - export interface XLEdit { - - /** This method is used to calculate formulas in the specified sheet. - * @param {number} Optional. If sheet index is specified, then it will calculate formulas in the specified sheet only else it will calculate formulas in all sheets. - * @returns {void} - */ - calcNow(sheetIdx: number): void; - - /** This method is used to edit a particular cell based on the row index and column index in the Spreadsheet. - * @param {number} Pass the row index to edit particular cell. - * @param {number} Pass the column index to edit particular cell. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to maintain previous cell value. - * @returns {void} - */ - editCell(rowIdx: number, colIdx: number, oldData: boolean): void; - - /** This method is used to get the property value of particular cell, based on the row and column index in the Spreadsheet. - * @param {number} Pass the row index to get the property value. - * @param {number} Pass the column index to get the property value. - * @param {string} Optional. Pass the property name that you want("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", - * "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", - * "decimalPlaces", "cellType"). - * @param {number} Optional. Pass the index of the sheet. - * @returns {any|string|Array} - */ - getPropertyValue(rowIdx: number, colIdx: number, prop: string, sheetIdx: number): any | string | any[]; - - /** This method is used to get the property value in specified cell in Spreadsheet. - * @param {HTMLElement} Pass the cell element to get property value. - * @param {string} Pass the property name that you want ("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", - * "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", - * "comment", "formatStr", "decimalPlaces", "cellType"). - * @param {number} Pass the index of sheet. - * @returns {any|string|Array} - */ - getPropertyValueByElem(elem: HTMLElement, property: string, sheetIdx: number): any | string | any[]; - - /** This method is used to save the edited cell value in the Spreadsheet. - * @returns {void} - */ - saveCell(): void; - - /** This method is used to update a particular cell value in the Spreadsheet. - * @param {any} Pass row index and column index of the cell. - * @param {string|number} Pass the cell value. - * @returns {void} - */ - updateCell(cell: any, value: string | number): void; - - /** This method is used to update a particular cell value and its format in the Spreadsheet. - * @param {any} Pass row index and column index of the cell. - * @param {string|number} Pass the cell value. - * @param {string} Pass the class name to update format. - * @param {number} Pass sheet index. - * @returns {void} - */ - updateCellValue(cellIdx: any, val: string | number, formatClass: string, sheetIdx: number): void; - } - - export interface XLExport { - - /** This method is used to save the sheet data as Excel ,CSV or PDF document (.xls, .xlsx .csv, .pdf) in Spreadsheet. - * @param {string} Pass the export type that you want. - * @returns {void} - */ - export(type: string): void; - - /** This method is used to get the export properties in the Spreadsheet. - * @returns {any} - */ - getExportProps(): any; - } - - export interface XLFilter { - - /** This method is used to clear the filter in filtered columns in the Spreadsheet. - * @returns {void} - */ - clearFilter(): void; - - /** This method is used to apply filter for the selected range of cells in the Spreadsheet. - * @param {string|Array} Pass the range of the selected cells. - * @returns {void} - */ - filter(range: string | any[]): void; - - /** This method is used to apply filter for the column by active cell's value in the Spreadsheet. - * @returns {void} - */ - filterByActiveCell(): void; - } - - export interface XLFormat { - - /** This method is used to convert table range to normal range. - * @param {any} Pass the sheet index and table id. - * @returns {void} - */ - convertToRange(options: any): void; - - /** This method is used to create a table for the selected range of cells in the Spreadsheet. - * @param {any} Pass the table object. - * @param {string|Array} Optional. If the range is specified, then it will create table in the specified range else it will use the current selected range. - * @returns {string} - */ - createTable(tableObject: any, range: string | any[]): string; - - /** This method is used to set format style and values in a cell or range of cells. - * @param {any} Pass the formatObject which contains style, type, format, groupSeparator and decimalPlaces. - * @param {string} Pass the range to format cells. - * @returns {void} - */ - format(formatObj: any, range: string): void; - - /** This method is used to remove the style in the specified range. - * @param {Array|string} Pass the cell range . - * @param {any} Optional. Pass the options for which the style gets removed. - * @returns {void} - */ - removeStyle(range: any[] | string, options: any): void; - - /** This method is used to remove table with specified tableId in the Spreadsheet. - * @param {number} Pass the tableId that you want to remove. - * @returns {void} - */ - removeTable(tableId: number): void; - - /** This method is used to update the decimal places for numeric value for the selected range of cells in the Spreadsheet. - * @param {string} Pass the decimal places type in increment/decrement. - * @param {string|Array} Pass the range. - * @returns {void} - */ - updateDecimalPlaces(type: string, range: string | any[]): void; - - /** This method is used to update the format for the selected range of cells in the Spreadsheet. - * @param {any} Pass the format object that you want to update. - * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. - * @returns {void} - */ - updateFormat(formatObj: any, range: any[]): void; - - /** This method is used to update the unique format for selected range of cells in the Spreadsheet. - * @param {string} Pass the unique format class. - * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. - * @returns {void} - */ - updateUniqueFormat(formatClass: string, range: any[]): void; - } - - export interface XLFreeze { - - /** This method is used to freeze columns upto the specified column index in the Spreadsheet. - * @param {number} Index of the column to be freeze. - * @returns {void} - */ - freezeColumns(colIdx: number): void; - - /** This method is used to freeze the first column in the Spreadsheet. - * @returns {void} - */ - freezeLeftColumn(): void; - - /** This method is used to freeze rows and columns before the specified cell in the Spreadsheet. - * @param {number} Index of the row to be freeze. - * @param {number} Index of the column to be freeze. - * @returns {void} - */ - freezePanes(rowIdx: number, colIdx: number): void; - - /** This method is used to freeze rows upto the specified row index in the Spreadsheet. - * @param {number} Index of the row to be freeze. - * @returns {void} - */ - freezeRows(rowIdx: number): void; - - /** This method is used to freeze the top row in the Spreadsheet. - * @returns {void} - */ - freezeTopRow(): void; - - /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. - * @returns {void} - */ - unfreezePanes(): void; - } - - export interface XLPivot { - - /** This property is used to clear the pivot table list in Spreadsheet. - * @param {string} Pass the name of the pivot table. - * @returns {void} - */ - clearPivotFieldList(pivotName: string): void; - - /** This method is used to create pivot table. - * @param {string} It specifies the range for which the pivot table is created. - * @param {string} It specifies the location in which the pivot table is created. - * @param {string} It specifies the name of the pivot table. - * @param {any} Pass the pivot table settings. - * @param {any} Pass the pivot range, sheet index, address and data source . - * @returns {string} - */ - createPivotTable(range: string, location: string, name: string, settings: any, pvt: any): string; - - /** This method is used to delete the pivot table which is selected. - * @param {string} Pass the name of the pivot table. - * @returns {void} - */ - deletePivotTable(pivotName: string): void; - - /** This method is used to refresh data in pivot table. - * @param {string} Optional. Pass the name of the pivot table. - * @param {number} Optional. Pass the index of the sheet. - * @returns {void} - */ - refreshDataSource(name: string, sheetIdx: number): void; - } - - export interface XLPrint { - - /** This method is used to print the selected contents in the Spreadsheet. - * @returns {void} - */ - printSelection(): void; - - /** This method is used to print the entire contents in the active sheet. - * @returns {void} - */ - printSheet(): void; - } - - export interface XLResize { - - /** This method is used to fit the height of rows in the Spreadsheet. - * @param {Array} Optional. Pass row index collection that you want to fit its height. - * @returns {void} - */ - fitHeight(rowIndexes: any[]): void; - - /** This method is used to fit the width of columns in the Spreadsheet. - * @param {Array} Optional. Pass column index collection that you want to fit its width. - * @returns {void} - */ - fitWidth(colIndexes: any[]): void; - - /** This method is used to get the column width of the specified column index in the Spreadsheet. - * @param {number} Pass the column index. - * @returns {number} - */ - getColWidth(colIdx: number): number; - - /** This method is used to get the row height of the specified row index in the Spreadsheet. - * @param {number} Pass the row index which you want to find its height. - * @returns {number} - */ - getRowHeight(rowIdx: number): number; - - /** This method is used to set the column width of the specified column index in the Spreadsheet. - * @param {number} Pass the column index. - * @param {number} Pass the width value that you want to set. - * @returns {void} - */ - setColWidth(colIdx: number, size: number): void; - - /** This method is used to set the row height of the specified row index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the height value that you want to set. - * @returns {void} - */ - setRowHeight(rowIdx: number, size: number): void; - } - - export interface XLRibbon { - - /** This method is used to add a new item in the backstage. - * @param {any} Specifies the item to be added in the backstage. - * @param {number} pass the index of the item to be added in the backstage. - * @returns {void} - */ - addBackStageItem(pageItem: any, index: number): void; - - /** This method is used to dynamically add the contextual tabs in the ribbon. - * @param {any} Specifies the contextual tab set object. - * @param {number} pass the index of the contextual tab. - * @returns {void} - */ - addContextualTabs(contextualTabSet: any, index: number): void; - - /** This method is used to dynamically add the menu item in the file menu. - * @param {Array} Specifies the item to be added - * @param {number} pass the index of the menu item. - * @returns {void} - */ - addMenuItem(item: any[], index: number): void; - - /** This method is used to add a new name in the Spreadsheet name manager. - * @param {string} Pass the name that you want to define in name manager. - * @param {string} Pass the cell reference. - * @param {string} Optional. Pass comment, if you want. - * @param {number} Optional. Pass the sheet index. - * @returns {void} - */ - addNamedRange(name: string, refersTo: string, comment: string, sheetIdx: number): void; - - /** This method is used to dynamically add the tab in the ribbon. - * @param {Array} Specifies the text to be displayed in the tab. - * @param {number} pass the groups to be displayed in the ribbon tab. - * @param {number} pass the index of the tab. - * @returns {void} - */ - addTab(tabText: any[], ribbonGroups: number, index: number): void; - - /** This method is used to dynamically add the tab group in the ribbon. - * @param {number} Specifies the ribbon tab index. - * @param {any} pass the groups to be displayed in the ribbon tab. - * @param {number} pass the index of the ribbon group. - * @returns {void} - */ - addTabGroup(tabIndex: number, tabGroup: any, groupIndex: number): void; - - /** This method is used to insert the few type (SUM, MAX, MIN, AVG, COUNT) of formulas in the selected range of cells in the Spreadsheet. - * @param {string} To pass the type("SUM","MAX","MIN","AVG","COUNT"). - * @param {string|Array} If range is specified, it will apply auto sum for the specified range else it will use the current selected range. - * @returns {void} - */ - autoSum(type: string, range: string | any[]): void; - - /** This method is used to hide the file menu in the ribbon tab. - * @returns {void} - */ - hideMenu(): void; - - /** This method is used to remove the item from the backstage in the spreadsheet. - * @param {number} Specifies the index of the item to be removed from backstage. - * @returns {void} - */ - removeBackStageItem(index: number): void; - - /** This method is used to remove the menu item form file menu in spreadsheet. - * @param {number} Specifies the index of the item to be removed from the file menu. - * @returns {void} - */ - removeMenuItem(index: number): void; - - /** This method is used to delete the defined name in the Spreadsheet name manager. - * @param {string} Pass the defined name that you want to remove from name manager. - * @returns {void} - */ - removeNamedRange(name: string): void; - - /** This method is used to remove the tab form ribbon in the spreadsheet. - * @param {number} Specifies the index of the tab to be removed from the ribbon. - * @param {boolean} pass the boolean value to remove the tab from ribbon - * @returns {void} - */ - removeTab(index: number, isRemoveMenu: boolean): void; - - /** This method is used to remove the tab group form ribbon in the spreadsheet. - * @param {number} Specifies the index of the tab group to be removed from the ribbon. - * @param {string} Specifies the text to be displayed in the tab group - * @returns {void} - */ - removeTabGroup(tabIndex: number, groupText: string): void; - - /** This method is used to show the file menu in the ribbon tab. - * @returns {void} - */ - showMenu(): void; - - /** This method is used to update the menu item in the file menu. - * @param {any} Specifies the menu item to be updated in the ribbon - * @param {number} pass the index of the item to be updated - * @returns {void} - */ - updateMenuItem(item: any, index: number): void; - - /** This method is used to update the ribbon icons in the Spreadsheet. - * @returns {void} - */ - updateRibbonIcons(): void; - } - - export interface XLSearch { - - /** This method is used to find and replace all data by workbook in the Spreadsheet. - * @param {string} Pass the search data. - * @param {string} Pass the replace data. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. - * @returns {void} - */ - replaceAllByBook(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; - - /** This method is used to find and replace all data by sheet in Spreadsheet. - * @param {string} Pass the search data. - * @param {string} Pass the replace data. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. - * @returns {void} - */ - replaceAllBySheet(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; - } - - export interface XLSelection { - - /** This method is used to clear the selection of the active sheet in the Spreadsheet. - * @returns {void} - */ - clearAll(): void; - - /** This method is used to get the selected cells element based on specified sheet index in the Spreadsheet. - * @param {number} Pass the sheet index to get the cells element. - * @returns {HTMLElement} - */ - getSelectedCells(sheetIdx: number): HTMLElement; - - /** This method is used to refresh the selection in the Spreadsheet. - * @param {Array|string} Optional. Pass range to refresh selection. - * @returns {void} - */ - refreshSelection(range: any[] | string): void; - - /** This method is used to select a single column in the Spreadsheet. - * @param {number} Pass the column index value. - * @returns {void} - */ - selectColumn(colIdx: number): void; - - /** This method is used to select entire columns in a specified range (start index and end index) in the Spreadsheet. - * @param {number} Pass the column start index. - * @param {number} Pass the column end index. - * @returns {void} - */ - selectColumns(startIdx: number, endIdx: number): void; - - /** This method is used to select the specified range of cells in the Spreadsheet. - * @param {string} Pass range which want to select. - * @returns {void} - */ - selectRange(range: string): void; - - /** This method is used to select a single row in the Spreadsheet. - * @param {number} Pass the row index value. - * @returns {void} - */ - selectRow(rowIdx: number): void; - - /** This method is used to select entire rows in a specified range (start index and end index) in the Spreadsheet. - * @param {number} Pass the start row index. - * @param {number} Pass the end row index. - * @returns {void} - */ - selectRows(startIdx: number, endIdx: number): void; - - /** This method is used to select all cells in active sheet. - * @returns {void} - */ - selectSheet(): void; - } - - export interface XLShape { - - /** This method is used to set a picture in the Spreadsheet. - * @param {string} Pass the range of the cell. - * @param {string} Pass the path of the specified image. - * @param {number} Optional. Pass the width of the image that you want to set. - * @param {number} Optional. Pass the height of the image that you want to set. - * @param {number} Optional. Pass the top of the image that you want to set. - * @param {number} Optional. Pass the left of the image that you want to set. - * @returns {string} - */ - setPicture(range: string, url: string, width: number, height: number, top: number, left: number): string; - } - - export interface XLSort { - - /** This method is used to sort a particular range of cells based on its cell or font color in the Spreadsheet. - * @param {string} Pass {{'`PutCellColor`' | markdownify}} to sort by cell color or {{'`PutFontColor`' | markdownify}} for sort by font color. - * @param {any} Pass the HEX color code to sort. - * @param {string} Pass the range - * @returns {void} - */ - sortByColor(operation: string, color: any, range: string): void; - - /** This method is used to sort a particular range of cells based on its values in the Spreadsheet. - * @param {Array|string} Pass the range to sort. - * @param {string} Pass the column name. - * @param {any} Pass the direction to sort (ascending or descending). - * @returns {boolean} - */ - sortByRange(range: any[] | string, columnName: string, direction: any): boolean; - } - - export interface XLValidate { - - /** This method is used to apply data validation rules in a selected range of cells based on the defined condition in the Spreadsheet. - * @param {string|Array} If range is specified, it will apply rules for the specified range else it will use the current selected range. - * @param {Array} Pass the validation condition, value1 and value2. - * @param {string} Pass the data type. - * @param {boolean} Pass {{'`true`' | markdownify}} if you ignore blank values. - * @param {boolean} Pass {{'`true`' | markdownify}} if you want to show an error alert. - * @returns {void} - */ - applyDVRules(range: string | any[], values: any[], type: string, required: boolean, showErrorAlert: boolean): void; - - /** This method is used to clear the applied validation rules in a specified range of cells in the Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - clearDV(range: string | any[]): void; - - /** This method is used to highlight invalid data in a specified range of cells in the Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - highlightInvalidData(range: string | any[]): void; - } - - export interface Model { - - /** Gets or sets an active sheet index in the Spreadsheet. By defining this value, you can specify which sheet should be active in workbook. - * @Default {1} - */ - activeSheetIndex?: number; - - /** Gets or sets a value that indicates whether to enable or disable auto rendering of cell type in the Spreadsheet. - * @Default {false} - */ - allowAutoCellType?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable auto fill feature in the Spreadsheet. - * @Default {true} - */ - allowAutoFill?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable auto sum feature in the Spreadsheet. - * @Default {true} - */ - allowAutoSum?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable cell format feature in the Spreadsheet. By enabling this, you can customize styles and number formats. - * @Default {true} - */ - allowCellFormatting?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable cell type feature in the Spreadsheet. - * @Default {false} - */ - allowCellType?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable chart feature in the Spreadsheet. By enabling this feature, you can create and customize charts in Spreadsheet. - * @Default {true} - */ - allowCharts?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable clear feature in the Spreadsheet. - * @Default {true} - */ - allowClear?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable clipboard feature in the Spreadsheet. By enabling this feature, you can perform cut/copy and paste operations in Spreadsheet. - * @Default {true} - */ - allowClipboard?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable comment feature in the Spreadsheet. By enabling this, you can add/delete/modify comments in Spreadsheet. - * @Default {true} - */ - allowComments?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable Conditional Format feature in the Spreadsheet. By enabling this, you can apply formatting to the selected range - * of cells based on the provided conditions (Greater than, Less than, Equal, Between, Contains, etc.). - * @Default {true} - */ - allowConditionalFormats?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable data validation feature in the Spreadsheet. - * @Default {true} - */ - allowDataValidation?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the delete action in the Spreadsheet. By enabling this feature, you can delete existing rows, columns, cells and sheet. - * @Default {true} - */ - allowDelete?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable drag and drop feature in the Spreadsheet. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the edit action in the Spreadsheet. - * @Default {true} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable filtering feature in the Spreadsheet. Filtering can be used to limit the data displayed using required criteria. - * @Default {true} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable table feature in the Spreadsheet. By enabling this, you can render table in selected range. - * @Default {true} - */ - allowFormatAsTable?: boolean; - - /** Get or sets a value that indicates whether to enable or disable format painter feature in the Spreadsheet. By enabling this feature, you can copy - * the format from the selected range and apply it to another range. - * @Default {true} - */ - allowFormatPainter?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable formula bar in the Spreadsheet. - * @Default {true} - */ - allowFormulaBar?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable freeze pane support in Spreadsheet. After enabling this feature, - * you can use freeze top row, freeze first column and freeze panes options. - * @Default {false} - */ - allowFreezing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable hyperlink feature in the Spreadsheet. By enabling this feature, you can add hyperlink which is used to - * easily navigate to the cell reference from one sheet to another or a web page. - * @Default {true} - */ - allowHyperlink?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable import feature in the Spreadsheet. By enabling this feature, you can open existing Spreadsheet documents. - * @Default {true} - */ - allowImport?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the insert action in the Spreadsheet. By enabling this feature, you can insert new rows, columns, cells and sheet. - * @Default {true} - */ - allowInsert?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable keyboard navigation feature in the Spreadsheet. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable lock cell feature in the Spreadsheet. - * @Default {true} - */ - allowLockCell?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable merge feature in the Spreadsheet. - * @Default {true} - */ - allowMerging?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable overflow feature in the Spreadsheet. - * @Default {true} - */ - allowOverflow?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable resizing feature in the Spreadsheet. By enabling this feature, you can change the column width and - * row height by dragging its header boundaries. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable find and replace feature in the Spreadsheet. By enabling this, you can easily find and replace - * a specific value in the sheet or workbook. By using goto behavior, you can select and highlight all cells that contains specific data or data types. - * @Default {true} - */ - allowSearching?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable selection in the Spreadsheet. By enabling this feature, selected items will be highlighted. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether to enable the sorting feature in the Spreadsheet. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable undo and redo feature in the Spreadsheet. - * @Default {true} - */ - allowUndoRedo?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable wrap text feature in the Spreadsheet. By enabling this, cell content can wrap to the next line, - * if the cell content exceeds the boundary of the cell. - * @Default {true} - */ - allowWrap?: boolean; - - /** Gets or sets a value that indicates to define the width of the activation panel in Spreadsheet. - * @Default {300} - */ - apWidth?: number; - - /** Gets or sets an object that indicates to customize the auto fill behavior in the Spreadsheet. - */ - autoFillSettings?: AutoFillSettings; - - /** Gets or sets an object that indicates to customize the chart behavior in the Spreadsheet. - */ - chartSettings?: ChartSettings; - - /** Gets or sets a value that defines the number of columns displayed in the sheet. - * @Default {21} - */ - columnCount?: number; - - /** Gets or sets a value that indicates to define the common width for each column in the Spreadsheet. - * @Default {64} - */ - columnWidth?: number; - - /** Gets or sets a value to add root CSS class for customizing Spreadsheet skins. - */ - cssClass?: string; - - /** Gets or sets a value that indicates custom formulas in Spreadsheet. - * @Default {[]} - */ - customFormulas?: any[]; - - /** Gets or sets a value that indicates whether to enable or disable context menu in the Spreadsheet. - * @Default {true} - */ - enableContextMenu?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable pivot table in the Spreadsheet. - * @Default {false} - */ - enablePivotTable?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable touch support in the Spreadsheet. - * @Default {true} - */ - enableTouch?: boolean; - - /** Gets or sets an object that indicates to customize the exporting behavior in Spreadsheet. - */ - exportSettings?: ExportSettings; - - /** Gets or sets an object that indicates to customize the format behavior in the Spreadsheet. - */ - formatSettings?: FormatSettings; - - /** Gets or sets an object that indicates to customize the import behavior in the Spreadsheet. - */ - importSettings?: ImportSettings; - - /** Gets or sets a value that indicates whether to enable or disable readonly support in the Spreadsheet. - * @Default {false} - */ - isReadOnly?: boolean; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data (i.e.) - * in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets an object that indicates to customize the picture behavior in the Spreadsheet. - */ - pictureSettings?: PictureSettings; - - /** Gets or sets an object that indicates to customize the print option in Spreadsheet. - */ - printSettings?: PrintSettings; - - /** Gets or sets an object that indicates to customize the ribbon settings in Spreadsheet. - */ - ribbonSettings?: RibbonSettings; - - /** Gets or sets a value that indicates whether to define the number of rows to be displayed in the sheet. - * @Default {20} - */ - rowCount?: number; - - /** Gets or sets a value that indicates to define the common height for each row in the sheet. - * @Default {20} - */ - rowHeight?: number; - - /** Gets or sets an object that indicates to customize the scroll options in the Spreadsheet. - */ - scrollSettings?: ScrollSettings; - - /** Gets or sets an object that indicates to customize the selection options in the Spreadsheet. - */ - selectionSettings?: SelectionSettings; - - /** Gets or sets a value that indicates to define the number of sheets to be created at the initial load. - * @Default {1} - */ - sheetCount?: number; - - /** Gets or sets an object that indicates to customize the sheet behavior in Spreadsheet. - */ - sheets?: Sheet[]; - - /** Gets or sets a value that indicates whether to show or hide pager in the Spreadsheet. - * @Default {true} - */ - showPager?: boolean; - - /** Gets or sets a value that indicates whether to show or hide ribbon in the Spreadsheet. - * @Default {true} - */ - showRibbon?: boolean; - - /** This is used to set the number of undo-redo steps in the Spreadsheet. - * @Default {20} - */ - undoRedoStep?: number; - - /** Define the username for the Spreadsheet which is displayed in comment. - * @Default {User Name} - */ - userName?: string; - - /** Triggered for every action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every action complete. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered when the auto fill operation begins. */ - autoFillBegin?(e: AutoFillBeginEventArgs): void; - - /** Triggered when the auto fill operation completes. */ - autoFillComplete?(e: AutoFillCompleteEventArgs): void; - - /** Triggered before the batch save. */ - beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; - - /** Triggered before the cells to be formatted. */ - beforeCellFormat?(e: BeforeCellFormatEventArgs): void; - - /** Triggered before the cell selection. */ - beforeCellSelect?(e: BeforeCellSelectEventArgs): void; - - /** Triggered before the selected cells are dropped. */ - beforeDrop?(e: BeforeDropEventArgs): void; - - /** Triggered while start to edit the comment. */ - beforeEditComment?(e: BeforeEditCommentEventArgs): void; - - /** Triggered before the contextmenu is open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Triggered before the activation panel is open. */ - beforePanelOpen?(e: BeforePanelOpenEventArgs): void; - - /** Triggered when click on sheet cell. */ - cellClick?(e: CellClickEventArgs): void; - - /** Triggered when the cell is edited. */ - cellEdit?(e: CellEditEventArgs): void; - - /** Triggered while cell is formatting. */ - cellFormatting?(e: CellFormattingEventArgs): void; - - /** Triggered when mouse hover on cell in sheets. */ - cellHover?(e: CellHoverEventArgs): void; - - /** Triggered when save the edited cell. */ - cellSave?(e: CellSaveEventArgs): void; - - /** Triggered when the cell is selected. */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered when click the contextmenu items. */ - contextMenuClick?(e: ContextMenuClickEventArgs): void; - - /** Triggered when the selected cells are being dragged. */ - drag?(e: DragEventArgs): void; - - /** Triggered when you start to drag the picture or chart. */ - dragShape?(e: DragShapeEventArgs): void; - - /** Triggered when the selected cells are initiated to drag. */ - dragStart?(e: DragStartEventArgs): void; - - /** Triggered when the selected cells are dropped. */ - drop?(e: DropEventArgs): void; - - /** Triggered before the range editing starts. */ - editRangeBegin?(e: EditRangeBeginEventArgs): void; - - /** Triggered after range editing completes. */ - editRangeComplete?(e: EditRangeCompleteEventArgs): void; - - /** Triggered when the key is pressed down. */ - keyDown?(e: KeyDownEventArgs): void; - - /** Triggered when the key is released. */ - keyUp?(e: KeyUpEventArgs): void; - - /** Triggered before the sheet is loaded. */ - load?(e: LoadEventArgs): void; - - /** Triggered after the sheet is loaded. */ - loadComplete?(e: LoadCompleteEventArgs): void; - - /** Triggered every click of the menu item. */ - menuClick?(e: MenuClickEventArgs): void; - - /** Triggered when a file is imported. */ - onImport?(e: OnImportEventArgs): void; - - /** Triggered when import sheet is failed to open. */ - openFailure?(e: OpenFailureEventArgs): void; - - /** Triggered when pager item is clicked in the Spreadsheet. */ - pagerClick?(e: PagerClickEventArgs): void; - - /** Triggered when you start resizing the chart, picture, row and column. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggered after end of resizing the chart, picture, row and column. */ - resizeEnd?(e: ResizeEndEventArgs): void; - - /** Triggered when click on the ribbon. */ - ribbonClick?(e: RibbonClickEventArgs): void; - - /** Triggered when the chart series rendering. */ - seriesRendering?(e: SeriesRenderingEventArgs): void; - - /** Triggered when click the ribbon tab. */ - tabClick?(e: TabClickEventArgs): void; - - /** Triggered when select the ribbon tab. */ - tabSelect?(e: TabSelectEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the applied style format object. - */ - afterFormat?: any; - - /** Returns the applied style format object. - */ - beforeFormat?: any; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the cell range. - */ - range?: any[]; - - /** Returns the action format. - */ - reqType?: string; - - /** Returns goto index while paging. - */ - gotoIdx?: number; - - /** Returns boolean value. If create new sheet it returns true. - */ - newSheet?: boolean; - - /** Return column name while sorting. - */ - columnName?: string; - - /** Returns selected columns while sorting or filtering begins. - */ - colSelected?: number; - - /** Returns sort direction while sort action begins. - */ - sortDirection?: string; - } - - export interface ActionCompleteEventArgs { - - /** Returns Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the applied cell format object. - */ - selectedCell?: any[] | any; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the request type. - */ - reqType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface AutoFillBeginEventArgs { - - /** Returns auto fill begin cell range. - */ - dataRange?: any[]; - - /** Returns which direction drag the auto fill. - */ - direction?: string; - - /** Returns fill cells range. - */ - fillRange?: any[]; - - /** Returns the auto fill type. - */ - fillType?: string; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface AutoFillCompleteEventArgs { - - /** Returns auto fill begin cell range. - */ - dataRange?: any[]; - - /** Returns which direction to drag the auto fill. - */ - direction?: string; - - /** Returns fill cells range. - */ - fillRange?: any[]; - - /** Returns the auto fill type. - */ - fillType?: string; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeBatchSaveEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the query, primary key,batch changes for the data Source. - */ - dataSetting?: any; - - /** Returns the changed record object. - */ - batchChanges?: any; - } - - export interface BeforeCellFormatEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the applied style format object. - */ - format?: any; - - /** Returns the selected cells. - */ - cells?: any[] | any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeCellSelectEventArgs { - - /** Returns the previous cell range. - */ - prevRange?: any[]; - - /** Returns the current cell range. - */ - currRange?: any[]; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeDropEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the cell Overwriting alert option value. - */ - preventAlert?: boolean; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeEditCommentEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the comment cell index. - */ - cellIndex?: any; - - /** Returns the disable option value. - */ - disable?: boolean; - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns the value of the comment - */ - value?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeOpenEventArgs { - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforePanelOpenEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the activation panel element. - */ - activationPanel?: any; - - /** Returns the range option value. - */ - range?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellClickEventArgs { - - /** Returns the click cell element. - */ - cell?: HTMLElement; - - /** Returns the column index of clicked cell. - */ - columnIndex?: number; - - /** Returns the row index of clicked cell. - */ - rowIndex?: number; - - /** Returns the column name of clicked cell. - */ - columnName?: string; - - /** Returns the column information. - */ - columnObject?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the value of the cell. - */ - value?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellEditEventArgs { - - /** Returns the click cell element. - */ - cell?: HTMLElement; - - /** Returns the columnName of clicked cell. - */ - columnName?: string; - - /** Returns the column field information. - */ - columnObject?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellFormattingEventArgs { - - /** Returns the sheet index - */ - SheetIdx?: number; - - /** Returns the applied style format object - */ - Format?: any; - - /** Returns the cell index. - */ - Cell?: number; - - /** Returns the name of the CSS theme. - */ - cssClass?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - } - - export interface CellHoverEventArgs { - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellSaveEventArgs { - - /** Returns the save cell element. - */ - cell?: HTMLElement; - - /** Returns the columnName of clicked cell. - */ - columnName?: string; - - /** Returns the column field information. - */ - columnObject?: any; - - /** Returns the index of the row. - */ - rowIndex?: number; - - /** Returns the index of the column. - */ - colIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cell previous value. - */ - pValue?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cell value. - */ - value?: string; - } - - export interface CellSelectedEventArgs { - - /** Returns the active sheet index. - */ - sheetIdx?: number; - - /** Returns the selected range. - */ - selectedRange?: any[]; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ContextMenuClickEventArgs { - - /** Returns target element Id. - */ - Id?: string; - - /** Returns the target element. - */ - element?: HTMLElement; - - /** Returns event information. - */ - event?: any; - - /** Returns target element and event information. - */ - events?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns target element parent Id. - */ - parentId?: string; - - /** Returns target element parent text. - */ - parentText?: string; - - /** Returns target element text. - */ - text?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DragEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DragShapeEventArgs { - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DragStartEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DropEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface EditRangeBeginEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the range option value. - */ - range?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface EditRangeCompleteEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the range option value. - */ - range?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface KeyDownEventArgs { - - /** Returns the sheet index. - */ - sheetIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the boolean value. - */ - isCommentEdit?: boolean; - - /** Returns the boolean value. - */ - isEdit?: boolean; - - /** Returns the boolean value. - */ - isSheetRename?: boolean; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface KeyUpEventArgs { - - /** Returns the sheet index. - */ - sheetIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the boolean value. - */ - isCommentEdit?: boolean; - - /** Returns the boolean value. - */ - isEdit?: boolean; - - /** Returns the boolean value. - */ - isSheetRename?: boolean; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface LoadEventArgs { - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the active sheet index. - */ - sheetIndex?: number; - } - - export interface LoadCompleteEventArgs { - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface MenuClickEventArgs { - - /** Returns menu click element. - */ - element?: HTMLElement; - - /** Returns the event information. - */ - event?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns target element parent Id. - */ - parentId?: string; - - /** Returns target element parent text. - */ - parentText?: string; - - /** Returns target element text. - */ - text?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface OnImportEventArgs { - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the imported data. - */ - importData?: any; - } - - export interface OpenFailureEventArgs { - - /** Returns the failure type. - */ - failureType?: string; - - /** Returns the status index. - */ - status?: number; - - /** Returns the status in text. - */ - statusText?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface PagerClickEventArgs { - - /** Returns the active sheet index. - */ - activeSheet?: number; - - /** Returns the new sheet index. - */ - gotoSheet?: number; - - /** Returns whether new sheet icon is clicked. - */ - newSheet?: boolean; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ResizeStartEventArgs { - - /** Returns the column index which column you start to resize. - */ - colIndex?: number; - - /** Returns the row index which row you start to resize. - */ - rowIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns type of the request. - */ - reqType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ResizeEndEventArgs { - - /** Returns the column index which you resized. - */ - colIndex?: number; - - /** Returns old width of the column or shape. - */ - oldWidth?: number; - - /** Returns new width of the column or shape. - */ - newWidth?: number; - - /** Returns the row index which you resized. - */ - rowIndex?: number; - - /** Returns old height of the row or shape. - */ - oldHeight?: number; - - /** Returns new height of the row or shape. - */ - newHeight?: number; - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns type of the request. - */ - reqType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface RibbonClickEventArgs { - - /** Returns element Id. - */ - Id?: string; - - /** Returns target information. - */ - prop?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns status. - */ - status?: boolean; - - /** Returns isChecked in boolean. - */ - isChecked?: boolean; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface SeriesRenderingEventArgs { - - /** Returns chart data and chart information. - */ - data?: any; - - /** Returns the chart model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface TabClickEventArgs { - - /** Returns the active tab index. - */ - activeIndex?: number; - - /** Returns active tab header element. - */ - activeHeader?: any; - - /** Returns previous active tab header element. - */ - prevActiveHeader?: any; - - /** Returns previous active tab index. - */ - prevActiveIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface TabSelectEventArgs { - - /** Returns the active tab index. - */ - activeIndex?: number; - - /** Returns active tab header element. - */ - activeHeader?: any; - - /** Returns previous active tab header element. - */ - prevActiveHeader?: any; - - /** Returns previous active tab index. - */ - prevActiveIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface AutoFillSettings { - - /** This property is used to set fillType unit in Spreadsheet. It has five types which are CopyCells, FillSeries, FillFormattingOnly, FillWithoutFormatting and FlashFill. - * @Default {ej.Spreadsheet.AutoFillOptions.FillSeries} - */ - fillType?: ej.Spreadsheet.AutoFillOptions | string; - - /** Gets or sets a value that indicates to enable or disable auto fill options in the Spreadsheet. - * @Default {true} - */ - showFillOptions?: boolean; - } - - export interface ChartSettings { - - /** Gets or sets a value that defines the chart height in Spreadsheet. - * @Default {220} - */ - height?: number; - - /** Gets or sets a value that defines the chart width in the Spreadsheet. - * @Default {440} - */ - width?: number; - } - - export interface ExportSettings { - - /** Gets or sets a value that indicates whether to enable or disable save feature in Spreadsheet. By enabling this feature, you can save existing Spreadsheet. - * @Default {true} - */ - allowExporting?: boolean; - - /** Gets or sets a value that indicates to define csvUrl for export to CSV format. - * @Default {null} - */ - csvUrl?: string; - - /** Gets or sets a value that indicates to define excelUrl for export to excel format. - * @Default {null} - */ - excelUrl?: string; - - /** Gets or sets a value that indicates to define password while export to excel format. - * @Default {null} - */ - password?: string; - - /** Gets or sets a value that indicates to define pdfUrl for export to PDF format. - * @Default {null} - */ - pdfUrl?: string; - } - - export interface FormatSettings { - - /** Gets or sets a value that indicates whether to enable or disable cell border feature in the Spreadsheet. - * @Default {true} - */ - allowCellBorder?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable decimal places in the Spreadsheet. - * @Default {true} - */ - allowDecimalPlaces?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable font family feature in Spreadsheet. - * @Default {true} - */ - allowFontFamily?: boolean; - } - - export interface ImportSettings { - - /** Sets import mapper to perform import feature in Spreadsheet. - */ - importMapper?: string; - - /** Gets or sets a value that indicates whether to enable or disable import while initial loading. - * @Default {false} - */ - importOnLoad?: boolean; - - /** Sets import URL to access the online files in the Spreadsheet. - */ - importUrl?: string; - - /** Gets or sets a value that indicates to define password while importing in the Spreadsheet. - */ - password?: string; - } - - export interface PictureSettings { - - /** Gets or sets a value that indicates whether to enable or disable picture feature in Spreadsheet. By enabling this, you can add pictures in Spreadsheet. - * @Default {true} - */ - allowPictures?: boolean; - - /** Gets or sets a value that indicates to define height to picture in the Spreadsheet. - * @Default {220} - */ - height?: number; - - /** Gets or sets a value that indicates to define width to picture in the Spreadsheet. - * @Default {440} - */ - width?: number; - } - - export interface PrintSettings { - - /** Gets or sets a value that indicates whether to enable or disable page setup support for printing in Spreadsheet. - * @Default {true} - */ - allowPageSetup?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable page size support for printing in Spreadsheet. - * @Default {false} - */ - allowPageSize?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable print feature in the Spreadsheet. - * @Default {true} - */ - allowPrinting?: boolean; - } - - export interface RibbonSettingsApplicationTabMenuSettings { - - /** Gets or sets a value that indicates whether to enable or disable isAppend property in ribbon settings. - * @Default {false} - */ - isAppend?: boolean; - - /** Specifies the data source to append in application tab. - * @Default {[]} - */ - dataSource?: any[]; - } - - export interface RibbonSettingsApplicationTab { - - /** Gets or sets a value that indicates to set application tab type in Spreadsheet. It has two types, Menu and Backstage. - * @Default {ej.Ribbon.ApplicationTabType.Backstage} - */ - type?: ej.Ribbon.ApplicationTabType | string; - - /** Gets or sets an object that indicates menu settings for application tab in Spreadsheet. - */ - menuSettings?: RibbonSettingsApplicationTabMenuSettings; - } - - export interface RibbonSettings { - - /** Gets or sets an object that indicates application tab settings in Spreadsheet. - */ - applicationTab?: RibbonSettingsApplicationTab; - } - - export interface ScrollSettings { - - /** Gets or sets a value that indicates whether to enable or disable scrolling in Spreadsheet. - * @Default {true} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable sheet on demand. By enabling this, it render only the active sheet element while paging remaining sheets are created one by one. - * @Default {false} - */ - allowSheetOnDemand?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable virtual scrolling feature in the Spreadsheet. - * @Default {true} - */ - allowVirtualScrolling?: boolean; - - /** Gets or sets the value that indicates to define the height of spreadsheet. - * @Default {100%} - */ - height?: number | string; - - /** Gets or sets the value that indicates whether to enable or disable responsive mode in the Spreadsheet. - * @Default {true} - */ - isResponsive?: boolean; - - /** Gets or sets a value that indicates to set scroll mode in Spreadsheet. It has two scroll modes, Normal and Infinite. - * @Default {ej.Spreadsheet.scrollMode.Infinite} - */ - scrollMode?: ej.Spreadsheet.scrollMode | string; - - /** Gets or sets the value that indicates to define the height of the spreadsheet. - * @Default {100%} - */ - width?: number | string; - } - - export interface SelectionSettings { - - /** Gets or sets a value that indicates to define active cell in spreadsheet. - */ - activeCell?: string; - - /** Gets or sets a value that indicates to define animation time while selection in the Spreadsheet. - * @Default {0.001} - */ - animationTime?: number; - - /** Gets or sets a value that indicates to enable or disable animation while selection. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Gets or sets a value that indicates to set selection type in Spreadsheet. It has three types which are Column, Row and Default. - * @Default {ej.Spreadsheet.SelectionType.Default} - */ - selectionType?: ej.Spreadsheet.SelectionType | string; - - /** Gets or sets a value that indicates to set selection unit in Spreadsheet. It has three types which are Single, Range and MultiRange. - * @Default {ej.Spreadsheet.SelectionUnit.MultiRange} - */ - selectionUnit?: ej.Spreadsheet.SelectionUnit | string; - } - - export interface SheetsBorder { - - /** - */ - type?: ej.Spreadsheet.BorderType | string; - - /** Specifies border color for range of cells in Spreadsheet. - */ - color?: string; - - /** To apply border for the specified range of cell. - */ - range?: string; - } - - export interface SheetsCFormatRule { - - /** Specifies the conditions to apply for the range of cells in Spreadsheet. - */ - action?: ej.Spreadsheet.CFormatRule | string; - - /** Specifies the color to apply for the range of cell while conditional formatting. - */ - color?: ej.Spreadsheet.CFormatHighlightColor | string; - - /** Specifies the inputs for conditional formatting in Spreadsheet. - * @Default {[]} - */ - inputs?: any[]; - - /** Specifies the range for conditional formatting in Spreadsheet. - */ - range?: string; - } - - export interface SheetsRangeSetting { - - /** Gets or sets the data to render the Spreadsheet. - * @Default {null} - */ - dataSource?: any; - - /** Specifies the header styles for the headers in datasource range. - * @Default {null} - */ - headerStyles?: any; - - /** Specifies the primary key for the datasource in Spreadsheet. - */ - primaryKey?: string; - - /** Specifies the query for the datasource in Spreadsheet. - * @Default {null} - */ - query?: any; - - /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. - * @Default {true} - */ - showHeader?: boolean; - - /** Specifies the start cell for the datasource range in Spreadsheet. - * @Default {A1} - */ - startCell?: string; - } - - export interface SheetsRowsCellsComment { - - /** Get or sets the value that indicates whether to show or hide comments in Spreadsheet. - * @Default {false} - */ - isVisible?: boolean; - - /** Specifies the value for the comment in Spreadsheet. - */ - value?: string; - } - - export interface SheetsRowsCellsFormat { - - /** Specifies the number of decimal places for the given input. - * @Default {2} - */ - decimalPlaces?: number; - - /** Specifies the string format for the given input. - */ - formatStr?: string; - - /** Specifies the thousand separator for the given input. - * @Default {false} - */ - thousandSeparator?: boolean; - - /** Specifies the type of the format in Spreadsheet. - */ - type?: string; - } - - export interface SheetsRowsCellsHyperlink { - - /** Specifies the web address for the hyperlink of a cell. - */ - webAddr?: string; - - /** Specifies the cell address for the hyperlink of a cell. - */ - cellAddr?: string; - - /** Specifies the sheet index to which the cell is referred. - * @Default {1} - */ - sheetIndex?: number; - } - - export interface SheetsRowsCellsStyle { - - /** Specifies the background color of a cell in the Spreadsheet. - */ - backgroundColor?: string; - - /** Specifies the font color of a cell in the Spreadsheet. - */ - color?: string; - - /** Specifies the font weight of a cell in the Spreadsheet. - */ - fontWeight?: string; - } - - export interface SheetsRowsCell { - - /** Specifies the comment for a cell in Spreadsheet. - * @Default {null} - */ - comment?: SheetsRowsCellsComment; - - /** Specifies the format of a cell in Spreadsheet. - * @Default {null} - */ - format?: SheetsRowsCellsFormat; - - /** Specifies the hyperlink for a cell in Spreadsheet. - * @Default {null} - */ - hyperlink?: SheetsRowsCellsHyperlink; - - /** Specifies the index of a cell in Spreadsheet. - * @Default {0} - */ - index?: number; - - /** Specifies whether to lock or unlock a particular cell. - * @Default {false} - */ - isLocked?: boolean; - - /** Specifies the styles of a cell in Spreadsheet. - * @Default {null} - */ - style?: SheetsRowsCellsStyle; - - /** Specifies the value for a cell in Spreadsheet. - */ - value?: string; - } - - export interface SheetsRow { - - /** Gets or sets the height of a row in Spreadsheet. - * @Default {20} - */ - height?: number; - - /** Specifies the cells of a row in Spreadsheet. - * @Default {[]} - */ - cells?: SheetsRowsCell[]; - - /** Gets or sets the index of a row in Spreadsheet. - * @Default {0} - */ - index?: number; - } - - export interface Sheet { - - /** Specifies the border for the cell in the Spreadsheet. - * @Default {[]} - */ - border?: SheetsBorder[]; - - /** Specifies the cell types for a cell or range in Spreadsheet. - * @Default {[]} - */ - cellTypes?: any[]; - - /** Specifies the conditional formatting for the range of cell in Spreadsheet. - * @Default {[]} - */ - cFormatRule?: SheetsCFormatRule[]; - - /** Gets or sets a value that indicates to define column count in the Spreadsheet. - * @Default {21} - */ - colCount?: number; - - /** Gets or sets a value that indicates to define column width in the Spreadsheet. - * @Default {64} - */ - columnWidth?: number; - - /** Gets or sets the data to render the Spreadsheet. - * @Default {null} - */ - dataSource?: any; - - /** Gets or sets a value that indicates whether to enable or disable field as column header in the Spreadsheet. - * @Default {false} - */ - fieldAsColumnHeader?: boolean; - - /** Gets or sets a value to freeze rows in the Spreadsheet. - * @Default {0} - */ - frozenRows?: number; - - /** Gets or sets a value to freeze columns in the Spreadsheet. - * @Default {0} - */ - frozenColumns?: number; - - /** Specifies the header styles for the headers in datasource range. - * @Default {null} - */ - headerStyles?: any; - - /** To hide the specified columns in Spreadsheet. - * @Default {[]} - */ - hideColumns?: any[]; - - /** To hide the specified rows in Spreadsheet. - * @Default {[]} - */ - hideRows?: any[]; - - /** To merge specified ranges in Spreadsheet. - * @Default {[]} - */ - mergeCells?: any[]; - - /** Specifies the primary key for the datasource in Spreadsheet. - */ - primaryKey?: string; - - /** Specifies the query for the dataSource in Spreadsheet. - * @Default {null} - */ - query?: any; - - /** Specifies single range or multiple range settings for a sheet in Spreadsheet. - * @Default {[]} - */ - rangeSettings?: SheetsRangeSetting[]; - - /** Gets or sets a value that indicates to define row count in the Spreadsheet. - * @Default {20} - */ - rowCount?: number; - - /** Specifies the rows for a sheet in Spreadsheet. - * @Default {[]} - */ - rows?: SheetsRow[]; - - /** Gets or sets a value that indicates whether to show or hide grid lines in the Spreadsheet. - * @Default {true} - */ - showGridlines?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. - * @Default {true} - */ - showHeader?: boolean; - - /** Gets or sets a value that indicates whether to show or hide headings in the Spreadsheet. - * @Default {true} - */ - showHeadings?: boolean; - - /** Specifies the start cell for the datasource range in Spreadsheet. - * @Default {A1} - */ - startCell?: string; - } - - enum AutoFillOptions { - - ///Specifies the CopyCells property in AutoFillOptions. - CopyCells, - - ///Specifies the FillSeries property in AutoFillOptions. - FillSeries, - - ///Specifies the FillFormattingOnly property in AutoFillOptions. - FillFormattingOnly, - - ///Specifies the FillWithoutFormatting property in AutoFillOptions. - FillWithoutFormatting, - - ///Specifies the FlashFill property in AutoFillOptions. - FlashFill - } - - - enum scrollMode { - - ///To enable Infinite scroll mode for Spreadsheet. - Infinite, - - ///To enable Normal scroll mode for Spreadsheet. - Normal - } - - - enum SelectionType { - - ///To select only Column in Spreadsheet. - Column, - - ///To select only Row in Spreadsheet. - Row, - - ///To select both Column/Row in Spreadsheet. - Default - } - - - enum SelectionUnit { - - ///To enable Single selection in Spreadsheet - Single, - - ///To enable Range selection in Spreadsheet - Range, - - ///To enable MultiRange selection in Spreadsheet - MultiRange - } - - - enum BorderType { - - ///To apply top border for the given range of cell. - Top, - - ///To apply left border for the given range of cell. - Left, - - ///To apply right border for the given range of cell. - Right, - - ///To apply bottom border for the given range of cell. - Bottom, - - ///To apply outside border for the given range of cell. - OutSide, - - ///To apply all border for the given range of cell. - AllBorder, - - ///To apply thick box border for the given range of cell. - ThickBox, - - ///To apply thick bottom border for the given range of cell. - ThickBottom, - - ///To apply top and bottom border for the given range of cell. - TopandBottom, - - ///To apply top and thick bottom border for the given range of cell. - TopandThickBottom - } - - - enum CFormatRule { - - ///To identify greater than values in the given range of cells. - GreaterThan, - - ///To identify less than values in the given range of cells. - LessThan, - - ///To identify in between values in the given range of cells. - Between, - - ///To identify the equal values in the given range of cells. - EqualTo, - - ///To identify the specified text in the range of cells. - TextContains, - - ///To identify the specified date in the range of cells. - DateOccurs - } - - - enum CFormatHighlightColor { - - ///Highlights red with dark red text color. - RedFillwithDarkRedText, - - ///Highlights yellow with dark yellow text color. - YellowFillwithDarkYellowText, - - ///Highlights green with dark green text color. - GreenFillwithDarkGreenText, - - ///Highlights with red fill. - RedFill, - - ///Highlights with red text. - RedText - } - - - enum ChartProperties { - - ///Specifies to make the data label center of the chart. - DataLabelCenter, - - ///Specifies to make the data label inside base of the chart. - DataLabelInsideBase, - - ///Specifies to make the data label inside end of the chart. - DataLabelInsideEnd, - - ///Specifies to make the data label none of the chart. - DataLabelNone, - - ///Specifies to make the data label outside end of the chart. - DataLabelOutsideEnd, - - ///Specifies to make the legends to bottom of the chart. - LegendsBottom, - - ///Specifies to make the legends to left of the chart. - LegendsLeft, - - ///Specifies to make the legends to none of the chart. - LegendsNone, - - ///Specifies to make the legends to right of the chart. - LegendsRight, - - ///Specifies to make the legends to top of the chart. - LegendsTop, - - ///To set the primary horizontal of the chart. - PrimaryHorizontal, - - ///To set the primary horizontal axis title of the chart. - PrimaryHorizontalAxisTitle, - - ///To set the primary major horizontal of the chart. - PrimaryMajorHorizontal, - - ///To set the primary major vertical of the chart. - PrimaryMajorVertical, - - ///To set the primary minor horizontal of the chart. - PrimaryMinorHorizontal, - - ///To set the primary minor vertical of the chart. - PrimaryMinorVertical, - - ///To set the primary vertical of the chart. - PrimaryVertical, - - ///To set the primary vertical axis title of the chart. - PrimaryVerticalAxisTitle, - - ///Specifies to make the title to center of the chart. - TitleCenter, - - ///Specifies to make the title to far of the chart. - TitleFar, - - ///Specifies to make the title to near of the chart. - TitleNear, - - ///Specifies to make the title to none of the chart. - TitleNone - } - - } - - class PdfViewer extends ej.Widget { - static fn: PdfViewer; - constructor(element: JQuery | Element, options?: PdfViewer.Model); - static Locale: any; - model: PdfViewer.Model; - defaults: PdfViewer.Model; - - /** Loads the document with the filename and displays it in PDF viewer. - * @param {string} File name to be loaded - * @returns {void} - */ - load(fileName: string): void; - - /** Shows/hides the toolbar in the PDF viewer. - * @param {boolean} shows/hides the toolbar - * @returns {void} - */ - showToolbar(show: boolean): void; - - /** Prints the PDF document. - * @returns {void} - */ - print(): void; - - /** Abort the printing function and restores the PDF viewer. - * @returns {void} - */ - abortPrint(): void; - - /** Shows/hides the print icon in the toolbar. - * @param {boolean} shows/hides print button in the toolbar - * @returns {void} - */ - showPrintTools(show: boolean): void; - - /** Downloads the PDF document being loaded in the ejPdfViewer control. - * @returns {void} - */ - download(): void; - - /** Shows/hides the download tool in the toolbar. - * @param {boolean} shows/hides download button in the toolbar - * @returns {void} - */ - showDownloadTool(show: boolean): void; - - /** Shows/hides the page navigation tools in the toolbar - * @param {boolean} shows/hides navigation tools in the toolbar - * @returns {void} - */ - showPageNavigationTools(show: boolean): void; - - /** Navigates to the specific page in the PDF document. If the page is not available for the given pageNumber, PDF viewer retains the existing page in view. - * @param {number} navigates to the page number in the PDF document - * @returns {void} - */ - goToPage(pageNumber: number): void; - - /** Navigates to the last page of the PDF document. - * @returns {void} - */ - goToLastPage(): void; - - /** Navigates to the first page of PDF document. - * @returns {void} - */ - goToFirstPage(): void; - - /** Navigates to the next page of the PDF document. - * @returns {void} - */ - goToNextPage(): void; - - /** Navigates to the previous page of the PDF document. - * @returns {void} - */ - goToPreviousPage(): void; - - /** Shows/hides the zoom tools in the toolbar. - * @param {boolean} shows/hides zoom tools in the toolbar - * @returns {void} - */ - showMagnificationTools(show: boolean): void; - - /** Scales the page to fit the page in the container in the control. - * @returns {void} - */ - fitToPage(): void; - - /** Scales the page to fit the page width to the width of the container in the control. - * @returns {void} - */ - fitToWidth(): void; - - /** Magnifies the page to the next value in the zoom drop down list. - * @returns {void} - */ - zoomIn(): void; - - /** Shrinks the page to the previous value in the magnification in the drop down list. - * @returns {void} - */ - zoomOut(): void; - - /** Scales the page to the specified percentage ranging from 50 to 400. If the given zoomValue is less than 50 or greater than 400; the PDF viewer scales the page to 50 and 400 respectively. - * @param {number} zoom value for scaling the pages in the PDF Viewer - * @returns {void} - */ - zoomTo(zoomValue: number): void; - - /** Unloads the PDF document being displayed in the PDF viewer. - * @returns {void} - */ - unload(): void; - } - export namespace PdfViewer { - - export interface Model { - - /** Specifies the locale information of the PDF viewer. - */ - locale?: string; - - /** Specifies the toolbar settings. - */ - toolbarSettings?: ToolbarSettings; - - /** Specifies the name of the action method in the server. - */ - serverActionSettings?: ServerActionSettings; - - /** Sets the PDF Web API service URL - */ - serviceUrl?: string; - - /** Sets the PDF document path for initial loading. - */ - documentPath?: string; - - /** Gets the total number of pages in PDF document. - */ - pageCount?: number; - - /** Gets the number of the page being displayed in the PDF viewer. - */ - currentPageNumber?: number; - - /** Gets the current zoom percentage of the PDF document in viewer. - */ - zoomPercentage?: number; - - /** Specifies the location of the supporting PDF service - */ - pdfService?: ej.PdfViewer.PdfService | string; - - /** Specifies the open state of the hyperlink in the PDF document. - */ - hyperlinkOpenState?: ej.PdfViewer.LinkTarget | string; - - /** Enables or disables the hyperlinks in PDF document. - */ - enableHyperlink?: boolean; - - /** Enables or disables the text selection in PDF document. - */ - enableTextSelection?: boolean; - - /** Enables or disables the responsiveness of the PDF viewer control during the window resize. - */ - isResponsive?: boolean; - - /** Checks whether the PDF document is edited. - */ - isDocumentEdited?: boolean; - - /** Enables or disables the buffering of the PDF pages in the client side. - */ - allowClientBuffering?: boolean; - - /** Gets the name of the PDF document which loaded in the ejPdfViewer control for downloading. - */ - fileName?: string; - - /** Triggers when the PDF document gets loaded and is ready to view in the Control. */ - documentLoad?(e: DocumentLoadEventArgs): void; - - /** Triggers when the PDF document gets unloaded from the PDF viewer. */ - documentUnload?(e: DocumentUnloadEventArgs): void; - - /** Triggers when there is change in current page number. */ - pageChange?(e: PageChangeEventArgs): void; - - /** Triggers when there is change in the magnification value. */ - zoomChange?(e: ZoomChangeEventArgs): void; - - /** Triggers when hyperlink in the PDF Document is clicked */ - hyperlinkClick?(e: HyperlinkClickEventArgs): void; - - /** Triggers before the printing starts. */ - beforePrint?(e: BeforePrintEventArgs): void; - - /** Triggers after the printing is completed. */ - afterPrint?(e: AfterPrintEventArgs): void; - - /** Triggers when the mouse click is performed over the page of the PDF document. */ - pageClick?(e: PageClickEventArgs): void; - - /** Triggers when the client buffering process starts. */ - bufferStart?(e: BufferStartEventArgs): void; - - /** Triggers when the client buffering process ends. */ - bufferEnd?(e: BufferEndEventArgs): void; - - /** Triggers when PDF viewer control is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - } - - export interface DocumentLoadEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the PDF document name displaying in the PDF viewer. - */ - fileName?: string; - } - - export interface DocumentUnloadEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface PageChangeEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the current page number in view. - */ - currentPageNumber?: number; - } - - export interface ZoomChangeEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the previous zoom percentage of the PDF viewer control - */ - previousZoomPercentage?: number; - - /** Returns the current zoom percentage of the PDF viewer control - */ - currentZoomPercentage?: number; - } - - export interface HyperlinkClickEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the clicked hyperlink - */ - hyperlink?: string; - } - - export interface BeforePrintEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface AfterPrintEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface PageClickEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the current X position - */ - offsetX?: number; - - /** Returns the current Y position - */ - offsetY?: number; - } - - export interface BufferStartEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Specifies the state of the buffering - */ - isBuffering?: boolean; - } - - export interface BufferEndEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Specifies the state of the buffering - */ - isBuffering?: boolean; - } - - export interface DestroyEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface ToolbarSettings { - - /** Shows or hides the tooltip of the toolbar items. - */ - showToolTip?: boolean; - - /** Shows or hides the grouped items in the toolbar with the help of enum ej.PdfViewer.ToolbarItems - */ - toolbarItem?: ej.PdfViewer.ToolbarItems | string; - } - - export interface ServerActionSettings { - - /** Specifies the name of the action method used for loading the PDF document. - */ - load?: string; - - /** Specifies the name of the action method used for uploading the PDF document to the PDF viewer control. - */ - fileUpload?: string; - - /** Specifies the name of the action method used for printing the PDF document in the PDF viewer control. - */ - print?: string; - - /** Specifies the name of the action method used for downloading the PDF document from the PDF viewer control. - */ - download?: string; - } - - enum ToolbarItems { - - ///Shows only magnification tools in the toolbar. - MagnificationTools, - - ///Shows only page navigation tools in the toolbar. - PageNavigationTools, - - ///Shows only print tool in the toolbar. - PrintTools, - - ///Shows only download tool in the toolbar. - DownloadTool, - - ///Shows all the toolbar items. - All - } - - - enum PdfService { - - ///Denotes that the service is located in the local project - Local, - - ///Denotes that the service is hosted in the remote server - Remote - } - - - enum LinkTarget { - - ///Opens the hyperlink in the same tab of the browser. - Default, - - ///Opens the hyperlink in a new tab of the browser. - NewTab, - - ///Opens the hyperlink in a new window of the browser. - NewWindow - } - - } - - class SpellCheck extends ej.Widget { - static fn: SpellCheck; - constructor(element: JQuery | Element, options?: SpellCheck.Model); - static Locale: any; - model: SpellCheck.Model; - defaults: SpellCheck.Model; - - /** Open the dialog to correct the spelling of the target content. - * @returns {void} - */ - showInDialog(): void; - - /** Highlighting the error word in the target area itself and correct the spelling using the context menu. - * @returns {void} - */ - validate(): void; - - /** To get the error word highlighted string by passing the given input sentence. - * @param {string} Content to be spell check - * @param {string} Class name that contains style value to highlight the error word - * @returns {any} - */ - spellCheck(targetSentence: string, misspellWordCss: string): any; - - /** To ignore all the error word occurrences from the given input sentence. - * @param {string} Error word to ignore from the target content - * @param {string} Content to perform the ignore all operation - * @returns {any} - */ - ignoreAll(word: string, targetSentence: string): any; - - /** To ignore the error word once from the given input sentence. - * @param {string} Error word to ignore from the target content - * @param {string} Content to perform the ignore operation - * @param {number} Index of the error word present in the target content - * @returns {any} - */ - ignore(word: string, targetSentence: string, index: number): any; - - /** To change the error word once from the given input sentence. - * @param {string} Error word to change from the target content - * @param {string} Content to perform the change operation - * @param {string} Word to replace with the error word - * @param {number} Index of the error word present in the target content - * @returns {any} - */ - change(word: string, targetSentence: string, changeWord: string, index: number): any; - - /** To change all the error word occurrences from the given input sentence. - * @param {string} Error word to change from the target content - * @param {string} Content to perform the change all operation - * @param {string} Word to replace with the error word - * @returns {any} - */ - changeAll(word: string, targetSentence: string, changeWord: string): any; - - /** To add the words into the custom dictionary. - * @param {string} Word to add into the dictionary file - * @returns {any} - */ - addToDictionary(customWord: string): any; - } - export namespace SpellCheck { - - export interface Model { - - /** It includes the service method path to find the error words and its suggestions also adding the custom word into the custom dictionary. - */ - dictionarySettings?: DictionarySettings; - - /** To display the error word in a customized style. - * @Default {e-errorword} - */ - misspellWordCss?: string; - - /** Sets the specific culture to the SpellCheck. - * @Default {en-US} - */ - locale?: string; - - /** To set the maximum suggestion display count. - * @Default {6} - */ - maxSuggestionCount?: number; - - /** To ignore the words from the error word consideration. - * @Default {[]} - */ - ignoreWords?: any[]; - - /** Holds all options related to the context menu settings of SpellCheck. - */ - contextMenuSettings?: ContextMenuSettings; - - /** It helps to ignore the uppercase, mixed case words, alpha numeric words, file path and email addresses based on the property values. - */ - ignoreSettings?: IgnoreSettings; - - /** When set to true, allows the spellcheck to render based upon screen size. - * @Default {true} - */ - isResponsive?: boolean; - - /** It allows to spell check the multiple target HTML element's texts and correct its error words. - * @Default {null} - */ - controlsToValidate?: string; - - /** Triggers on the success of AJAX call request. */ - actionSuccess?(e: ActionSuccessEventArgs): void; - - /** Triggers on the AJAX call request beginning. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggers when the AJAX call request failure. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggers when the dialog mode spell check starting. */ - start?(e: StartEventArgs): void; - - /** Triggers when the spell check operations completed through dialog mode. */ - complete?(e: CompleteEventArgs): void; - - /** Triggers before context menu opening. */ - contextOpen?(e: ContextOpenEventArgs): void; - - /** Triggers when the context menu item clicked. */ - contextClick?(e: ContextClickEventArgs): void; - - /** Triggers before the spell check dialog opens. */ - dialogBeforeOpen?(e: DialogBeforeOpenEventArgs): void; - /** Triggers after the spell check dialog opens. */ - dialogOpen?(e: DialogOpenEventArgs): void; - - /** Triggers when the spell check dialog closed. */ - dialogClose?(e: DialogCloseEventArgs): void; - - /** Triggers when the spell check control performing the spell check operations such as ignore, ignoreAll, change, changeAll and addToDictionary. */ - validating?(e: ValidatingEventArgs): void; - - /** Triggers before loading the target HTML element text into the dialog sentence area. */ - targetUpdating?(e: TargetUpdatingEventArgs): void; - } - - export interface ActionSuccessEventArgs { - - /** Returns the error word highlighted string. - */ - resultHTML?: string; - - /** Returns the error word details of the given input. - */ - errorWordDetails?: any; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ActionBeginEventArgs { - - /** Returns the input string. - */ - targetSentence?: string; - - /** Returns the misspellWordCss class name. - */ - misspellWordCss?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ActionFailureEventArgs { - - /** Returns AJAX request failure error message. - */ - errorMessage?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface StartEventArgs { - - /** Returns the input string. - */ - targetSentence?: string; - - /** Returns the error words details. - */ - errorWords?: any; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CompleteEventArgs { - - /** Returns the error word highlighted string. - */ - resultHTML?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextOpenEventArgs { - - /** Returns the selected error word. - */ - selectedErrorWord?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextClickEventArgs { - - /** Returns the selected error word. - */ - selectedValue?: string; - - /** Returns the selected option in the context menu. - */ - selectedOption?: string; - - /** Returns the input string. - */ - targetContent?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DialogBeforeOpenEventArgs { - - /** Returns the spell check window details. - */ - spellCheckDialog?: any; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DialogOpenEventArgs { - - /** Returns the target input. - */ - targetText?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DialogCloseEventArgs { - - /** Returns the error corrected string. - */ - updatedText?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ValidatingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the error word to ignore. - */ - ignoreWord?: string; - - /** Returns the target content. - */ - targetContent?: string; - - /** Returns the index of an error word. - */ - index?: number; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the validating request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the error word to change. - */ - changeableWord?: string; - - /** Returns the change word to replace the error word. - */ - changeWord?: string; - - /** Returns the custom word to add into dictionary file. - */ - customWord?: string; - } - - export interface TargetUpdatingEventArgs { - - /** Returns the previous target element value. - */ - previousElement?: any; - - /** Returns the current target element value. - */ - currentElement?: any; - - /** Returns the target html value. - */ - targetHtml?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DictionarySettings { - - /** The dictionaryUrl option accepts string, which is the method path to find the error words and get the suggestions to correct the errors. - */ - dictionaryUrl?: string; - - /** The customDictionaryUrl option accepts string, which is the method path to add the error word into the custom dictionary. - */ - customDictionaryUrl?: string; - } - - export interface ContextMenuSettings { - - /** When set to true, enables the context menu options available for the SpellCheck. - * @Default {true} - */ - enable?: boolean; - - /** Contains all the default context menu options that are applicable for SpellCheck. It also supports adding custom menu items. - * All the SpellCheck related context menu items are grouped under this menu collection. - * @Default {{% highlight javascript %}[{ id: IgnoreAll, text: Ignore All },{ id: AddToDictionary, text: Add To Dictionary }]{% endhighlight %}} - */ - menuItems?: any[]; - } - - export interface IgnoreSettings { - - /** When set to true, ignoring the alphanumeric words from the error word consideration. - * @Default {true} - */ - ignoreAlphaNumericWords?: string; - - /** When set to true, ignoring the Email address from the error word consideration. - * @Default {true} - */ - ignoreEmailAddress?: boolean; - - /** When set to true, ignoring the MixedCase words from the error word consideration. - * @Default {true} - */ - ignoreMixedCaseWords?: boolean; - - /** When set to true, ignoring the UpperCase words from the error word consideration. - * @Default {true} - */ - ignoreUpperCase?: boolean; - - /** When set to true, ignoring the Url from the error word consideration. - * @Default {true} - */ - ignoreUrl?: boolean; - - /** When set to true, ignoring the file address path from the error word consideration. - * @Default {true} - */ - ignoreFileNames?: boolean; - } - } - - class DocumentEditor extends ej.Widget { - static fn: DocumentEditor; - constructor(element: JQuery | Element, options?: DocumentEditor.Model); - static Locale: any; - model: DocumentEditor.Model; - defaults: DocumentEditor.Model; - - /** Loads the document from specified path using web API provided by importUrl. - * @param {string} Specifies the file path. - * @returns {void} - */ - load(path: string): void; - - /** Gets the page number of current selection in the document. - * @returns {number} - */ - getCurrentPageNumber(): number; - - /** Gets the total number of pages in the document. - * @returns {number} - */ - getPageCount(): number; - - /** Gets the text of current selection in the document. - * @returns {string} - */ - getSelectedText(): string; - - /** Gets the current zoom factor value of the document editor. - * @returns {number} - */ - getZoomFactor(): number; - - /** Scales the document editor with the specified zoom factor. The range of zoom factor should be 0.10 to 5.00 (10 - 500 %). - * @param {number} Specifies the factor for zooming. - * @returns {void} - */ - setZoomFactor(factor: number): void; - - /** Prints the document content as page by page. - * @returns {void} - */ - print(): void; - - /** Finds the first occurrence of specified text from current selection and highlights the result. If the document end is reached, find operation will occur from the document start position. - * @param {string} Specifies the text to search in a document. - * @returns {void} - */ - find(text: string): void; - } - export namespace DocumentEditor { - - export interface Model { - - /** Gets or sets an object that indicates initialization of importing and exporting documents in document editor. - */ - importExportSettings?: ImportExportSettings; - - /** Triggers when the document changes. */ - onDocumentChange?(e: OnDocumentChangeEventArgs): void; - - /** Triggers when the selection changes. */ - onSelectionChange?(e: OnSelectionChangeEventArgs): void; - - /** Triggers when the zoom factor changes. */ - onZoomFactorChange?(e: OnZoomFactorChangeEventArgs): void; - - /** Triggers when the hyperlink is clicked. */ - onRequestNavigate?(e: OnRequestNavigateEventArgs): void; - } - - export interface OnDocumentChangeEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the document editor model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OnSelectionChangeEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the document editor model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OnZoomFactorChangeEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the document editor model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OnRequestNavigateEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the document editor model. - */ - model?: any; - - /** Returns the link type and navigation link. - */ - hyperlink?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ImportExportSettings { - - /** Gets or sets URL of Web API that should be used to parse the document while loading. - */ - importUrl?: string; - } - } + ///Height filled to the content of the panel + Fill +} } -declare namespace ej.datavisualization { - - class SymbolPalette extends ej.Widget { - static fn: SymbolPalette; - constructor(element: JQuery | Element, options?: SymbolPalette.Model); - static Locale: any; - model: SymbolPalette.Model; - defaults: SymbolPalette.Model; - - /** Add items to Palettes at runtime - * @param {string} name of the Palette - * @param {any} JSON for the new items to added in Palette - * @returns {void} - */ - addPaletteItem(paletteName: string, node: any): void; - - /** Remove items to Palettes at runtime - * @param {string} name of the Palette - * @param {any} JSON for the new node to removed in Palette - * @returns {void} - */ - removePaletteItem(paletteName: string, node: any): void; - } - export namespace SymbolPalette { - - export interface Model { - - /** Defines whether the symbols can be dragged from palette or not - * @Default {true} - */ - allowDrag?: boolean; - - /** Customizes the style of the symbol palette - * @Default {e-symbolpalette} - */ - cssClass?: string; - - /** Defines the default properties of nodes and connectors - */ - defaultSettings?: DefaultSettings; - - /** Sets the Id of the diagram, over which the symbols will be dropped - * @Default {null} - */ - diagramId?: string; - - /** Sets the height of the palette headers - * @Default {30} - */ - headerHeight?: number; - - /** Defines the height of the symbol palette - * @Default {400} - */ - height?: number; - - /** Defines the height of the palette items - * @Default {50} - */ - paletteItemHeight?: number; - - /** Defines the width of the palette items - * @Default {50} - */ - paletteItemWidth?: number; - - /** An array of JSON objects, where each object represents a node/connector - * @Default {[]} - */ - palettes?: Palette[]; - - /** Defines the preview height of the symbols - * @Default {100} - */ - previewHeight?: number; - - /** Defines the offset value to be left between the mouse cursor and symbol previews - * @Default {(110, 110)} - */ - previewOffset?: any; - - /** Defines the width of the symbol previews - * @Default {100} - */ - previewWidth?: number; - - /** Enable or disable the palette item text - * @Default {true} - */ - showPaletteItemText?: boolean; - - /** The width of the palette - * @Default {250} - */ - width?: number; - - /** Triggers when a palette item is selected or unselected */ - selectionChange?(e: SelectionChangeEventArgs): void; - } - - export interface SelectionChangeEventArgs { - - /** returns whether an element is selected or unselected - */ - changeType?: string; - - /** returns the node or connector that is selected or unselected - */ - element?: any; - } - - export interface DefaultSettings { - - /** Defines the default properties of the nodes - * @Default {null} - */ - node?: any; - - /** Defines the default properties of the connectors - * @Default {null} - */ - connector?: any; - } - - export interface Palette { - - /** Defines the name of the palette - * @Default {null} - */ - name?: string; - - /** Defines whether the palette must be in expanded state or in collapsed state - * @Default {true} - */ - expanded?: boolean; - - /** Defines the palette items - * @Default {[]} - */ - items?: any[]; - } - } - - class LinearGauge extends ej.Widget { - static fn: LinearGauge; - constructor(element: JQuery | Element, options?: LinearGauge.Model); - static Locale: any; - model: LinearGauge.Model; - defaults: LinearGauge.Model; - - /** destroy the linear gauge all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To export Image - * @returns {void} - */ - exportImage(): void; - - /** To get Bar Distance From Scale in number - * @returns {any} - */ - getBarDistanceFromScale(): any; - - /** To get Bar Pointer Value in number - * @returns {any} - */ - getBarPointerValue(): any; - - /** To get Bar Width in number - * @returns {any} - */ - getBarWidth(): any; - - /** To get CustomLabel Angle in number - * @returns {any} - */ - getCustomLabelAngle(): any; - - /** To get CustomLabel Value in string - * @returns {any} - */ - getCustomLabelValue(): any; - - /** To get Label Angle in number - * @returns {any} - */ - getLabelAngle(): any; - - /** To get LabelPlacement in number - * @returns {any} - */ - getLabelPlacement(): any; - - /** To get LabelStyle in number - * @returns {any} - */ - getLabelStyle(): any; - - /** To get Label XDistance From Scale in number - * @returns {any} - */ - getLabelXDistanceFromScale(): any; - - /** To get PointerValue in number - * @returns {any} - */ - getLabelYDistanceFromScale(): any; - - /** To get Major Interval Value in number - * @returns {any} - */ - getMajorIntervalValue(): any; - - /** To get MarkerStyle in number - * @returns {any} - */ - getMarkerStyle(): any; - - /** To get Maximum Value in number - * @returns {any} - */ - getMaximumValue(): any; - - /** To get PointerValue in number - * @returns {any} - */ - getMinimumValue(): any; - - /** To get Minor Interval Value in number - * @returns {any} - */ - getMinorIntervalValue(): any; - - /** To get Pointer Distance From Scale in number - * @returns {any} - */ - getPointerDistanceFromScale(): any; - - /** To get PointerHeight in number - * @returns {any} - */ - getPointerHeight(): any; - - /** To get Pointer Placement in String - * @returns {any} - */ - getPointerPlacement(): any; - - /** To get PointerValue in number - * @returns {any} - */ - getPointerValue(): any; - - /** To get PointerWidth in number - * @returns {any} - */ - getPointerWidth(): any; - - /** To get Range Border Width in number - * @returns {any} - */ - getRangeBorderWidth(): any; - - /** To get Range Distance From Scale in number - * @returns {any} - */ - getRangeDistanceFromScale(): any; - - /** To get Range End Value in number - * @returns {any} - */ - getRangeEndValue(): any; - - /** To get Range End Width in number - * @returns {any} - */ - getRangeEndWidth(): any; - - /** To get Range Position in number - * @returns {any} - */ - getRangePosition(): any; - - /** To get Range Start Value in number - * @returns {any} - */ - getRangeStartValue(): any; - - /** To get Range Start Width in number - * @returns {any} - */ - getRangeStartWidth(): any; - - /** To get ScaleBarLength in number - * @returns {any} - */ - getScaleBarLength(): any; - - /** To get Scale Bar Size in number - * @returns {any} - */ - getScaleBarSize(): any; - - /** To get Scale Border Width in number - * @returns {any} - */ - getScaleBorderWidth(): any; - - /** To get Scale Direction in number - * @returns {any} - */ - getScaleDirection(): any; - - /** To get Scale Location in object - * @returns {any} - */ - getScaleLocation(): any; - - /** To get Scale Style in string - * @returns {any} - */ - getScaleStyle(): any; - - /** To get Tick Angle in number - * @returns {any} - */ - getTickAngle(): any; - - /** To get Tick Height in number - * @returns {any} - */ - getTickHeight(): any; - - /** To get getTickPlacement in number - * @returns {any} - */ - getTickPlacement(): any; - - /** To get Tick Style in string - * @returns {any} - */ - getTickStyle(): any; - - /** To get Tick Width in number - * @returns {any} - */ - getTickWidth(): any; - - /** To get get Tick XDistance From Scale in number - * @returns {any} - */ - getTickXDistanceFromScale(): any; - - /** To get Tick YDistance From Scale in number - * @returns {any} - */ - getTickYDistanceFromScale(): any; - - /** Specifies the scales. - * @returns {void} - */ - scales(): void; - - /** To set setBarDistanceFromScale - * @returns {void} - */ - setBarDistanceFromScale(): void; - - /** To set setBarPointerValue - * @returns {void} - */ - setBarPointerValue(): void; - - /** To set setBarWidth - * @returns {void} - */ - setBarWidth(): void; - - /** To set setCustomLabelAngle - * @returns {void} - */ - setCustomLabelAngle(): void; - - /** To set setCustomLabelValue - * @returns {void} - */ - setCustomLabelValue(): void; - - /** To set setLabelAngle - * @returns {void} - */ - setLabelAngle(): void; - - /** To set setLabelPlacement - * @returns {void} - */ - setLabelPlacement(): void; - - /** To set setLabelStyle - * @returns {void} - */ - setLabelStyle(): void; - - /** To set setLabelXDistanceFromScale - * @returns {void} - */ - setLabelXDistanceFromScale(): void; - - /** To set setLabelYDistanceFromScale - * @returns {void} - */ - setLabelYDistanceFromScale(): void; - - /** To set setMajorIntervalValue - * @returns {void} - */ - setMajorIntervalValue(): void; - - /** To set setMarkerStyle - * @returns {void} - */ - setMarkerStyle(): void; - - /** To set setMaximumValue - * @returns {void} - */ - setMaximumValue(): void; - - /** To set setMinimumValue - * @returns {void} - */ - setMinimumValue(): void; - - /** To set setMinorIntervalValue - * @returns {void} - */ - setMinorIntervalValue(): void; - - /** To set setPointerDistanceFromScale - * @returns {void} - */ - setPointerDistanceFromScale(): void; - - /** To set PointerHeight - * @returns {void} - */ - setPointerHeight(): void; - - /** To set setPointerPlacement - * @returns {void} - */ - setPointerPlacement(): void; - - /** To set PointerValue - * @returns {void} - */ - setPointerValue(): void; - - /** To set PointerWidth - * @returns {void} - */ - setPointerWidth(): void; - - /** To set setRangeBorderWidth - * @returns {void} - */ - setRangeBorderWidth(): void; - - /** To set setRangeDistanceFromScale - * @returns {void} - */ - setRangeDistanceFromScale(): void; - - /** To set setRangeEndValue - * @returns {void} - */ - setRangeEndValue(): void; - - /** To set setRangeEndWidth - * @returns {void} - */ - setRangeEndWidth(): void; - - /** To set setRangePosition - * @returns {void} - */ - setRangePosition(): void; - - /** To set setRangeStartValue - * @returns {void} - */ - setRangeStartValue(): void; - - /** To set setRangeStartWidth - * @returns {void} - */ - setRangeStartWidth(): void; - - /** To set setScaleBarLength - * @returns {void} - */ - setScaleBarLength(): void; - - /** To set setScaleBarSize - * @returns {void} - */ - setScaleBarSize(): void; - - /** To set setScaleBorderWidth - * @returns {void} - */ - setScaleBorderWidth(): void; - - /** To set setScaleDirection - * @returns {void} - */ - setScaleDirection(): void; - - /** To set setScaleLocation - * @returns {void} - */ - setScaleLocation(): void; - - /** To set setScaleStyle - * @returns {void} - */ - setScaleStyle(): void; - - /** To set setTickAngle - * @returns {void} - */ - setTickAngle(): void; - - /** To set setTickHeight - * @returns {void} - */ - setTickHeight(): void; - - /** To set setTickPlacement - * @returns {void} - */ - setTickPlacement(): void; - - /** To set setTickStyle - * @returns {void} - */ - setTickStyle(): void; - - /** To set setTickWidth - * @returns {void} - */ - setTickWidth(): void; - - /** To set setTickXDistanceFromScale - * @returns {void} - */ - setTickXDistanceFromScale(): void; - - /** To set setTickYDistanceFromScale - * @returns {void} - */ - setTickYDistanceFromScale(): void; - } - export namespace LinearGauge { - - export interface Model { - - /** Specifies the animationSpeed - * @Default {500} - */ - animationSpeed?: number; - - /** Specifies the backgroundColor for Linear gauge. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the borderColor for Linear gauge. - * @Default {null} - */ - borderColor?: string; - - /** Specifies the animate state - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the animate state for marker pointer - * @Default {true} - */ - enableMarkerPointerAnimation?: boolean; - - /** Specifies the can resize state. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specify frame of linear gauge - * @Default {null} - */ - frame?: Frame; - - /** Specifies the height of Linear gauge. - * @Default {400} - */ - height?: number; - - /** Specifies the labelColor for Linear gauge. - * @Default {null} - */ - labelColor?: string; - - /** Specifies the maximum value of Linear gauge. - * @Default {100} - */ - maximum?: number; - - /** Specifies the minimum value of Linear gauge. - * @Default {0} - */ - minimum?: number; - - /** Specifies the orientation for Linear gauge. - * @Default {Vertical} - */ - orientation?: string; - - /** Specify labelPosition value of Linear gauge See OuterCustomLabelPosition - * @Default {bottom} - */ - outerCustomLabelPosition?: ej.datavisualization.LinearGauge.OuterCustomLabelPosition | string; - - /** Specifies the pointerGradient1 for Linear gauge. - * @Default {null} - */ - pointerGradient1?: any; - - /** Specifies the pointerGradient2 for Linear gauge. - * @Default {null} - */ - pointerGradient2?: any; - - /** Specifies the read only state. - * @Default {true} - */ - readOnly?: boolean; - - /** Specifies the scales - * @Default {null} - */ - scales?: Scale[]; - - /** Specifies the theme for Linear gauge. See LinearGauge.Themes - * @Default {flatlight} - */ - theme?: ej.datavisualization.LinearGauge.Themes | string; - - /** Specifies the tick Color for Linear gauge. - * @Default {null} - */ - tickColor?: string; - - /** Specify tooltip options of linear gauge - * @Default {false} - */ - tooltip?: Tooltip; - - /** Specifies the value of the Gauge. - * @Default {0} - */ - value?: number; - - /** Specifies the width of Linear gauge. - * @Default {150} - */ - width?: number; - - /** Triggers while the bar pointer are being drawn on the gauge. */ - drawBarPointers?(e: DrawBarPointersEventArgs): void; - - /** Triggers while the customLabel are being drawn on the gauge. */ - drawCustomLabel?(e: DrawCustomLabelEventArgs): void; - - /** Triggers while the Indicator are being drawn on the gauge. */ - drawIndicators?(e: DrawIndicatorsEventArgs): void; - /** Triggers while the label are being drawn on the gauge. */ - drawLabels?(e: DrawLabelsEventArgs): void; - - /** Triggers while the marker are being drawn on the gauge. */ - drawMarkerPointers?(e: DrawMarkerPointersEventArgs): void; +class Autocomplete extends ej.Widget { + static fn: Autocomplete; + constructor(element: JQuery, options?: Autocomplete.Model); + constructor(element: Element, options?: Autocomplete.Model); + static Locale: any; + model:Autocomplete.Model; + defaults:Autocomplete.Model; + + /** Clears the text in the Autocomplete textbox. + * @returns {void} + */ + clearText(): void; + + /** Destroys the Autocomplete widget. + * @returns {void} + */ + destroy(): void; + + /** Disables the autocomplete widget. + * @returns {void} + */ + disable(): void; + + /** Enables the autocomplete widget. + * @returns {void} + */ + enable(): void; + + /** Returns objects (data object) of all the selected items in the autocomplete textbox. + * @returns {any} + */ + getSelectedItems(): any; + + /** Returns the current selected value from the Autocomplete textbox. + * @returns {string} + */ + getValue(): string; + + /** Returns the current active text value in the Autocomplete suggestion list. + * @returns {string} + */ + getActiveText(): string; + + /** Search the entered text and show it in the suggestion list if available. + * @returns {void} + */ + search(): void; + + /** Open up the autocomplete suggestion popup with all list items. + * @returns {void} + */ + open(): void; + + /** Sets the value of the Autocomplete textbox based on the given key value. + * @param {string} The key value of the specific suggestion item. + * @returns {void} + */ + selectValueByKey(Key: string): void; + + /** Sets the value of the Autocomplete textbox based on the given input text value. + * @param {string} The text (label) value of the specific suggestion item. + * @returns {void} + */ + selectValueByText(Text: string): void; +} +export module Autocomplete{ + +export interface Model { + + /** Customize "Add New" text (label) to be added in the autocomplete popup list for the entered text when there are no suggestions for it. + * @Default {Add New} + */ + addNewText?: string; + + /** Allows new values to be added to the autocomplete input other than the values in the suggestion list. Normally, when there are no suggestions it will display “No suggestions” label in the popup. + * @Default {false} + */ + allowAddNew?: boolean; + + /** Enables or disables the sorting of suggestion list item. The default sort order is ascending order. You customize sort order. + * @Default {true} + */ + allowSorting?: boolean; + + /** Enables or disables selecting the animation style for the popup list. Animation types can be selected through either of the following options, + * @Default {slide} + */ + animateType?: ej.Autocomplete.Animation|string; + + /** To focus the items in the suggestion list when the popup is shown. By default first item will be focused. + * @Default {false} + */ + autoFocus?: boolean; + + /** Enables or disables the case sensitive search. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** The root class for the Autocomplete textbox widget which helps in customizing its theme. + * @Default {””} + */ + cssClass?: string; + + /** The data source contains the list of data for the suggestions list. It can be a string array or JSON array or service URL that returns JSON. + * @Default {null} + */ + dataSource?: any|Array; + + /** The time delay (in milliseconds) after which the suggestion popup will be shown. + * @Default {200} + */ + delaySuggestionTimeout?: number; + + /** The special character which acts as a separator for the given words for multi-mode search i.e. the text after the delimiter are considered as a separate word or query for search operation. + * @Default {’,’} + */ + delimiterChar?: string; + + /** The text to be displayed in the popup when there are no suggestions available for the entered text. + * @Default {“No suggestions”} + */ + emptyResultText?: string; + + /** Fills the autocomplete textbox with the first matched item from the suggestion list automatically based on the entered text when enabled. + * @Default {false} + */ + enableAutoFill?: boolean; + + /** Enables or disables the Autocomplete textbox widget. + * @Default {true} + */ + enabled?: boolean; + + /** Enables or disables displaying the duplicate names present in the search result. + * @Default {false} + */ + enableDistinct?: boolean; + + /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. While refreshing the page, it retains the model value from browser cookies or local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the Autocomplete widget’s content from right to left when enabled. + * @Default {false} + */ + enableRTL?: boolean; + + /** Mapping fields for the suggestion items of the Autocomplete textbox widget. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the search filter type. There are several types of search filter available such as ‘startswith’, ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, ‘greaterthanorequal’, ‘equal’, ‘notequal’. + * @Default {ej.filterType.StartsWith} + */ + filterType?: string; + + /** The height of the Autocomplete textbox. + * @Default {null} + */ + height?: string|number; + + /** The search text can be highlighted in the AutoComplete suggestion list when enabled. + * @Default {false} + */ + highlightSearch?: boolean; + + /** Number of items to be displayed in the suggestion list. + * @Default {0} + */ + itemsCount?: number; + + /** Set the localization culture for Autocomplete Widget. + */ + locale?: string; + + /** Minimum number of character to be entered in the Autocomplete textbox to show the suggestion list. + * @Default {1} + */ + minCharacter?: number; + + /** An Autocomplete column collection can be defined and customized through the multiColumnSettings property.Column's header, field, and stringFormat can be define via multiColumnSettings properties. + */ + multiColumnSettings?: MultiColumnSettings; + + /** Enables or disables selecting multiple values from the suggestion list. Multiple values can be selected through either of the following options, + * @Default {ej.MultiSelectMode.None} + */ + multiSelectMode?: ej.Autocomplete.MultiSelectMode|string; + + /** The height of the suggestion list. + * @Default {“152px”} + */ + popupHeight?: string; + + /** The width of the suggestion list. + * @Default {“auto”} + */ + popupWidth?: string; + + /** The query to retrieve the data from the data source. + * @Default {null} + */ + query?: ej.Query; + + /** Indicates that the autocomplete textbox values can only be readable. + * @Default {false} + */ + readOnly?: boolean; + + /** Sets the value for the Autocomplete textbox based on the given input key value. + */ + selectValueByKey?: number; + + /** Enables or disables showing the message when there are no suggestions for the entered text. + * @Default {true} + */ + showEmptyResultText?: boolean; + + /** Enables or disables the loading icon to intimate the searching operation. The loading icon is visible when there is a time delay to perform the search. + * @Default {true} + */ + showLoadingIcon?: boolean; + + /** Enables the showPopup button in autocomplete textbox. When the showPopup button is clicked, it displays all the available data from the data source. + * @Default {false} + */ + showPopupButton?: boolean; + + /** Enables or disables rounded corner. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Enables or disables reset icon to clear the textbox values. + * @Default {false} + */ + showResetIcon?: boolean; + + /** Sort order specifies whether the suggestion list values has to be displayed in ascending or descending order. + * @Default {ej.SortOrder.Ascending} + */ + sortOrder?: ej.Autocomplete.SortOrder|string; + + /** The template to display the suggestion list items with customized appearance. + * @Default {null} + */ + template?: string; + + /** The jQuery validation error message to be displayed on form validation. + * @Default {null} + */ + validationMessage?: any; + + /** The jQuery validation rules for form validation. + * @Default {null} + */ + validationRules?: any; + + /** The value to be displayed in the autocomplete textbox. + * @Default {null} + */ + value?: string; - /** Triggers while the range are being drawn on the gauge. */ - drawRange?(e: DrawRangeEventArgs): void; + /** Enables or disables the visibility of the autocomplete textbox. + * @Default {true} + */ + visible?: boolean; - /** Triggers while the ticks are being drawn on the gauge. */ - drawTicks?(e: DrawTicksEventArgs): void; + /** The text to be displayed when the value of the autocomplete textbox is empty. + * @Default {null} + */ + watermarkText?: string; - /** Triggers when the gauge is initialized. */ - init?(e: InitEventArgs): void; + /** The width of the Autocomplete textbox. + * @Default {null} + */ + width?: string|number; - /** Triggers while the gauge start to Load. */ - load?(e: LoadEventArgs): void; + /** Triggers when the AJAX requests Begins. */ + actionBegin? (e: ActionBeginEventArgs): void; - /** Triggers when the left mouse button is clicked. */ - mouseClick?(e: MouseClickEventArgs): void; + /** Triggers when the data requested from AJAX will get successfully loaded in the Autocomplete widget. */ + actionSuccess? (e: ActionSuccessEventArgs): void; - /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ - mouseClickMove?(e: MouseClickMoveEventArgs): void; + /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ + actionComplete? (e: ActionCompleteEventArgs): void; - /** Triggers when the mouse click is released. */ - mouseClickUp?(e: MouseClickUpEventArgs): void; + /** Triggers when the data requested from AJAX get failed. */ + actionFailure? (e: ActionFailureEventArgs): void; - /** Triggers while the rendering of the gauge completed. */ - renderComplete?(e: RenderCompleteEventArgs): void; - } + /** Triggers when the text box value is changed. */ + change? (e: ChangeEventArgs): void; - export interface DrawBarPointersEventArgs { + /** Triggers after the suggestion popup is closed. */ + close? (e: CloseEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Triggers when Autocomplete widget is created. */ + create? (e: CreateEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Triggers after the Autocomplete widget is destroyed. */ + destroy? (e: DestroyEventArgs): void; - /** returns the context element - */ - context?: any; + /** Triggers after the autocomplete textbox is focused. */ + focusIn? (e: FocusInEventArgs): void; - /** returns the startX and startY of the pointer - */ - position?: any; + /** Triggers after the Autocomplete textbox gets out of the focus. */ + focusOut? (e: FocusOutEventArgs): void; - /** returns the gauge model - */ - Model?: any; + /** Triggers after the suggestion list is opened. */ + open? (e: OpenEventArgs): void; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Triggers when an item has been selected from the suggestion list. */ + select? (e: SelectEventArgs): void; +} - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; +export interface ActionBeginEventArgs { +} - /** returns the pointer style - */ - style?: string; +export interface ActionSuccessEventArgs { +} - /** returns the current Bar pointer element. - */ - barElement?: any; +export interface ActionCompleteEventArgs { +} - /** returns the index of the bar pointer. - */ - barPointerIndex?: number; +export interface ActionFailureEventArgs { +} - /** returns the value of the bar pointer. - */ - PointerValue?: number; +export interface ChangeEventArgs { - /** returns the name of the event - */ - type?: any; - } + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - export interface DrawCustomLabelEventArgs { + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the object of the gauge. - */ - object?: any; + /** Name of the event. + */ + type?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Value of the autocomplete textbox. + */ + value?: string; +} - /** returns the context element - */ - context?: any; +export interface CloseEventArgs { - /** returns the startX and startY of the customLabel - */ - position?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the gauge model - */ - Model?: any; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Name of the event. + */ + type?: string; +} - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; +export interface CreateEventArgs { - /** returns the customLabel style - */ - style?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the current customLabel element. - */ - customLabelElement?: any; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the index of the customLabel. - */ - customLabelIndex?: number; + /** Name of the event. + */ + type?: string; +} - /** returns the name of the event - */ - type?: any; - } +export interface DestroyEventArgs { - export interface DrawIndicatorsEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the object of the gauge. - */ - object?: any; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the cancel option value - */ - cancel?: boolean; + /** Name of the event. + */ + type?: string; +} - /** returns the context element - */ - context?: any; +export interface FocusInEventArgs { - /** returns the startX and startY of the Indicator - */ - position?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the gauge model - */ - Model?: any; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Name of the event. + */ + type?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Value of the autocomplete textbox. + */ + value?: string; +} - /** returns the Indicator style - */ - style?: string; +export interface FocusOutEventArgs { - /** returns the current Indicator element. - */ - IndicatorElement?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the index of the Indicator. - */ - IndicatorIndex?: number; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the name of the event - */ - type?: any; - } + /** Name of the event. + */ + type?: string; - export interface DrawLabelsEventArgs { + /** Value of the autocomplete textbox. + */ + value?: string; +} - /** returns the object of the gauge. - */ - object?: any; +export interface OpenEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the context element - */ - context?: any; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the startX and startY of the label - */ - position?: any; + /** Name of the event. + */ + type?: string; +} - /** returns the gauge model - */ - Model?: any; +export interface SelectEventArgs { - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the scaleIndex to which the label belongs. - */ - scaleIndex?: number; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** returns the label style - */ - style?: string; + /** Name of the event. + */ + type?: string; - /** returns the angle of the label. - */ - angle?: number; + /** Value of the autocomplete textbox. + */ + value?: string; - /** returns the current label element. - */ - element?: any; + /** Text of the selected item. + */ + text?: string; - /** returns the index of the label. - */ - index?: number; + /** Key of the selected item. + */ + key?: string; - /** returns the label value of the label. - */ - value?: number; + /** Data object of the selected item. + */ + Item?: ej.Autocomplete.Model; +} - /** returns the name of the event - */ - type?: any; - } +export interface Fields { - export interface DrawMarkerPointersEventArgs { + /** Used to group the suggestion list items. + */ + groupBy?: string; - /** returns the object of the gauge. - */ - object?: any; + /** Defines the HTML attributes such as id, class, styles for the item. + */ + htmlAttributes?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** Defines the specific field name which contains unique key values for the list items. + */ + key?: string; - /** returns the context element - */ - context?: any; + /** Defines the specific field name in the data source to load the suggestion list with data. + */ + text?: string; +} - /** returns the startX and startY of the pointer - */ - position?: any; +export interface MultiColumnSettingsColumn { - /** returns the gauge model - */ - Model?: any; + /** Get or set a value that indicates to display the columns in the autocomplete mapping with column name of the dataSource. + */ + field?: string; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Get or set a value that indicates to display the title of that particular column. + */ + headerText?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Gets or sets a value that indicates to render the multicolumn with custom theme. + */ + cssClass?: string; - /** returns the ticks style - */ - style?: string; + /** Specifies the search data type. There are four types of data types available such as string, ‘number’, ‘boolean’ and ‘date’. + * @Default {ej.Type.String} + */ + type?: ej.Type|string; - /** returns the current marker pointer element. - */ - markerElement?: any; + /** Specifies the search filter type. There are several types of search filter available such as ‘startswith’, ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, ‘greaterthanorequal’, ‘equal’, ‘notequal’. + * @Default {ej.filterType.StartsWith} + */ + filterType?: ej.filterType|string; - /** returns the index of the marker pointer. - */ - markerPointerIndex?: number; + /** This defines the text alignment of a particular column header cell value. See headerTextAlign + * @Default {ej.TextAlign.Left} + */ + headerTextAlign?: ej.TextAlign|string; - /** returns the value of the marker pointer. - */ - pointerValue?: number; + /** Gets or sets a value that indicates to align the text within the column. See textAlign + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign|string; +} - /** returns the angle of the marker pointer. - */ - pointerAngle?: number; +export interface MultiColumnSettings { - /** returns the name of the event - */ - type?: any; - } + /** Allow list of data to be displayed in several columns. + * @Default {false} + */ + enable?: boolean; - export interface DrawRangeEventArgs { + /** Allow header text to be displayed in corresponding columns. + * @Default {true} + */ + showHeader?: boolean; - /** returns the object of the gauge. - */ - object?: any; + /** Displayed selected value and autocomplete search based on mentioned column value specified in that format. + */ + stringFormat?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Field and Header Text collections can be defined and customized through columns field. + */ + columns?: Array; +} - /** returns the context element - */ - context?: any; +enum Animation{ - /** returns the startX and startY of the range - */ - position?: any; + ///Supports to animation type with none type only. + None, - /** returns the gauge model - */ - Model?: any; + ///Supports to animation type with slide type only. + Slide, - /** returns the options of the scale element. - */ - scaleElement?: any; + ///Supports to animation type with fade type only. + Fade +} - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; - /** returns the range style - */ - style?: string; +enum MultiSelectMode{ + + ///Multiple values are separated using a given special character. + Delimiter, + + ///Each values are displayed in separate box with close button. + VisualMode +} + + +enum SortOrder{ - /** returns the current range element. - */ - rangeElement?: any; + ///Items to be displayed in the suggestion list in ascending order. + Ascending, + + ///Items to be displayed in the suggestion list in descending order. + Descending +} + +} + +class Button extends ej.Widget { + static fn: Button; + constructor(element: JQuery, options?: Button.Model); + constructor(element: Element, options?: Button.Model); + static Locale: any; + model:Button.Model; + defaults:Button.Model; + + /** destroy the button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To disable the button + * @returns {void} + */ + disable(): void; + + /** To enable the button + * @returns {void} + */ + enable(): void; +} +export module Button{ + +export interface Model { + + /** Specifies the contentType of the Button. See below to know available ContentType + * @Default {ej.ContentType.TextOnly} + */ + contentType?: ej.ContentType|string; + + /** Sets the root CSS class for Button theme, which is used customize. + */ + cssClass?: string; + + /** Specifies the button control state. + * @Default {true} + */ + enabled?: boolean; - /** returns the index of the range. - */ - rangeIndex?: number; + /** Specify the Right to Left direction to button + * @Default {false} + */ + enableRTL?: boolean; - /** returns the name of the event - */ - type?: any; - } + /** Specifies the height of the Button. + * @Default {28} + */ + height?: number; - export interface DrawTicksEventArgs { + /** It allows to define the characteristics of the Button control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; - /** returns the object of the gauge. - */ - object?: any; + /** Specifies the image position of the Button. This image position is applicable only with the textandimage contentType property. The images can be positioned in both imageLeft and imageRight options. See below to know about available ImagePosition + * @Default {ej.ImagePosition.ImageLeft} + */ + imagePosition?: ej.ImagePosition|string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Specifies the primary icon for Button. This icon will be displayed from the left margin of the button. + * @Default {null} + */ + prefixIcon?: string; - /** returns the context element - */ - context?: any; + /** Convert the button as repeat button. It raises the 'Click' event repeatedly from the it is pressed until it is released. + * @Default {false} + */ + repeatButton?: boolean; + + /** Displays the Button with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the Button. See below to know available ButtonSize + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize|string; + + /** Specifies the secondary icon for Button. This icon will be displayed from the right margin of the button. + * @Default {null} + */ + suffixIcon?: string; + + /** Specifies the text content for Button. + * @Default {null} + */ + text?: string; + + /** Specified the time interval between two consecutive 'click' event on the button. + * @Default {150} + */ + timeInterval?: string; + + /** Specifies the Type of the Button. See below to know available ButtonType + * @Default {ej.ButtonType.Submit} + */ + type?: ej.ButtonType|string; + + /** Specifies the width of the Button. + * @Default {100px} + */ + width?: string|number; + + /** Fires when Button control is clicked successfully.Consider the scenario to perform any validation,modification of content or any other operations click on button,we can make use of this click event to achieve the scenario. */ + click? (e: ClickEventArgs): void; + + /** Fires after Button control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ + create? (e: CreateEventArgs): void; + + /** Fires when the button is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ + destroy? (e: DestroyEventArgs): void; +} + +export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the button model + */ + model?: ej.Button.Model; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + + /** return the event model for sever side processing. + */ + e?: any; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the button model + */ + model?: ej.Button.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the button model + */ + model?: ej.Button.Model; + + /** returns the name of the event + */ + type?: string; +} +} +enum ContentType +{ +//To display the text content only in button +TextOnly, +//To display the image only in button +ImageOnly, +//Supports to display image for both ends of the button +ImageBoth, +//Supports to display image with the text content +TextAndImage, +//Supports to display image with both ends of the text +ImageTextImage, +} +enum ImagePosition +{ +//support for aligning text in left and image in right +ImageRight, +//support for aligning text in right and image in left +ImageLeft, +//support for aligning text in bottom and image in top. +ImageTop, +//support for aligning text in top and image in bottom +ImageBottom, +} +enum ButtonSize +{ +//Creates button with Built-in default size height, width specified +Normal, +//Creates button with Built-in mini size height, width specified +Mini, +//Creates button with Built-in small size height, width specified +Small, +//Creates button with Built-in medium size height, width specified +Medium, +//Creates button with Built-in large size height, width specified +Large, +} +enum ButtonType +{ +//Creates button with Built-in button type specified +Button, +//Creates button with Built-in reset type specified +Reset, +//Creates button with Built-in submit type specified +Submit, +} + +class Captcha extends ej.Widget { + static fn: Captcha; + constructor(element: JQuery, options?: Captcha.Model); + constructor(element: Element, options?: Captcha.Model); + static Locale: any; + model:Captcha.Model; + defaults:Captcha.Model; +} +export module Captcha{ + +export interface Model { + + /** Specifies the character set of the Captcha that will be used to generate captcha text randomly. + */ + characterSet?: string; + + /** Specifies the error message to be displayed when the Captcha mismatch. + */ + customErrorMessage?: string; + + /** Set the Captcha validation automatically. + */ + enableAutoValidation?: boolean; + + /** Specifies the case sensitivity for the characters typed in the Captcha. + */ + enableCaseSensitivity?: boolean; + + /** Specifies the background patterns for the Captcha. + */ + enablePattern?: boolean; + + /** Sets the Captcha direction as right to left alignment. + */ + enableRTL?: boolean; + + /** Specifies the background appearance for the captcha. + */ + hatchStyle?: ej.HatchStyle|string; + + /** Specifies the height of the Captcha. + */ + height?: number; + + /** Specifies the method with values to be mapped in the Captcha. + */ + mapper?: string; + + /** Specifies the maximum number of characters used in the Captcha. + */ + maximumLength?: number; + + /** Specifies the minimum number of characters used in the Captcha. + */ + minimumLength?: number; + + /** Specifies the method to map values to Captcha. + */ + requestMapper?: string; + + /** Sets the Captcha with audio support, that enables to dictate the captcha text. + */ + showAudioButton?: boolean; + + /** Sets the Captcha with a refresh button. + */ + showRefreshButton?: boolean; + + /** Specifies the target button of the Captcha to validate the entered text and captcha text. + */ + targetButton?: string; + + /** Specifies the target input element that will verify the Captcha. + */ + targetInput?: string; + + /** Specifies the width of the Captcha. + */ + width?: number; + + /** Fires when captcha refresh begins. */ + refreshBegin? (e: RefreshBeginEventArgs): void; + + /** Fires after captcha refresh completed. */ + refreshComplete? (e: RefreshCompleteEventArgs): void; + + /** Fires when captcha refresh fails to load. */ + refreshFailure? (e: RefreshFailureEventArgs): void; + + /** Fires after captcha refresh succeeded. */ + refreshSuccess? (e: RefreshSuccessEventArgs): void; +} + +export interface RefreshBeginEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface RefreshCompleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface RefreshFailureEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface RefreshSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} +} +enum HatchStyle +{ +//Set background as None to Captcha +None, +//Set background as BackwardDiagonal to Captcha +BackwardDiagonal, +//Set background as Cross to Captcha +Cross, +//Set background as DarkDownwardDiagonal to Captcha +DarkDownwardDiagonal, +//Set background as DarkHorizontal to Captcha +DarkHorizontal, +//Set background as DarkUpwardDiagonal to Captcha +DarkUpwardDiagonal, +//Set background as DarkVertical to Captcha +DarkVertical, +//Set background as DashedDownwardDiagonal to Captcha +DashedDownwardDiagonal, +//Set background as DashedHorizontal to Captcha +DashedHorizontal, +//Set background as DashedUpwardDiagonal to Captcha +DashedUpwardDiagonal, +//Set background as DashedVertical to Captcha +DashedVertical, +//Set background as DiagonalBrick to Captcha +DiagonalBrick, +//Set background as DiagonalCross to Captcha +DiagonalCross, +//Set background as Divot to Captcha +Divot, +//Set background as DottedDiamond to Captcha +DottedDiamond, +//Set background as DottedGrid to Captcha +DottedGrid, +//Set background as ForwardDiagonal to Captcha +ForwardDiagonal, +//Set background as Horizontal to Captcha +Horizontal, +//Set background as HorizontalBrick to Captcha +HorizontalBrick, +//Set background as LargeCheckerBoard to Captcha +LargeCheckerBoard, +//Set background as LargeConfetti to Captcha +LargeConfetti, +//Set background as LargeGrid to Captcha +LargeGrid, +//Set background as LightDownwardDiagonal to Captcha +LightDownwardDiagonal, +//Set background as LightHorizontal to Captcha +LightHorizontal, +//Set background as LightUpwardDiagonal to Captcha +LightUpwardDiagonal, +//Set background as LightVertical to Captcha +LightVertical, +//Set background as Max to Captcha +Max, +//Set background as Min to Captcha +Min, +//Set background as NarrowHorizontal to Captcha +NarrowHorizontal, +//Set background as NarrowVertical to Captcha +NarrowVertical, +//Set background as OutlinedDiamond to Captcha +OutlinedDiamond, +//Set background as Percent90 to Captcha +Percent90, +//Set background as Wave to Captcha +Wave, +//Set background as Weave to Captcha +Weave, +//Set background as WideDownwardDiagonal to Captcha +WideDownwardDiagonal, +//Set background as WideUpwardDiagonal to Captcha +WideUpwardDiagonal, +//Set background as ZigZag to Captcha +ZigZag, +} + +class ListBox extends ej.Widget { + static fn: ListBox; + constructor(element: JQuery, options?: ListBox.Model); + constructor(element: Element, options?: ListBox.Model); + static Locale: any; + model:ListBox.Model; + defaults:ListBox.Model; + + /** Adds a given list items in the ListBox widget at a specified index. It accepts two parameters. + * @param {any|string} This can be a list item object (for JSON binding) or a string (for UL and LI rendering). Also we can the specify this as an array of list item object or an array of strings to add multiple items. + * @param {number} The index value to add the given items at the specified index. If index is not specified, the given items will be added at the end of the list. + * @returns {void} + */ + addItem(listItem: any|string, index: number): void; + + /** Checks all the list items in the ListBox widget. It is dependent on showCheckbox property. + * @returns {void} + */ + checkAll(): void; + + /** Checks a list item by using its index. It is dependent on showCheckbox property. + * @param {number} Index of the listbox item to be checked. If index is not specified, the given items will be added at the end of the list. + * @returns {void} + */ + checkItemByIndex(index: number): void; + + /** Checks multiple list items by using its index values. It is dependent on showCheckbox property. + * @param {number[]} Index/Indices of the listbox items to be checked. If index is not specified, the given items will be added at the end of the list. + * @returns {void} + */ + checkItemsByIndices(indices: number[]): void; + + /** Disables the ListBox widget. + * @returns {void} + */ + disable(): void; + + /** Disables a list item by passing the item text as parameter. + * @param {string} Text of the listbox item to be disabled. + * @returns {void} + */ + disableItem(text: string): void; + + /** Disables a list Item using its index value. + * @param {number} Index of the listbox item to be disabled. + * @returns {void} + */ + disableItemByIndex(index: number): void; + + /** Disables set of list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be disabled. + * @returns {void} + */ + disableItemsByIndices(Indices: number[]|string): void; + + /** Enables the ListBox widget when it is disabled. + * @returns {void} + */ + enable(): void; + + /** Enables a list Item using its item text value. + * @param {string} Text of the listbox item to be enabled. + * @returns {void} + */ + enableItem(text: string): void; + + /** Enables a list item using its index value. + * @param {number} Index of the listbox item to be enabled. + * @returns {void} + */ + enableItemByIndex(index: number): void; + + /** Enables a set of list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be enabled. + * @returns {void} + */ + enableItemsByIndices(indices: number[]|string): void; + + /** Returns the list of checked items in the ListBox widget. It is dependent on showCheckbox property. + * @returns {any} + */ + getCheckedItems(): any; + + /** Returns the list of selected items in the ListBox widget. + * @returns {any} + */ + getSelectedItems(): any; + + /** Returns an item’s index based on the given text. + * @param {string} The list item text (label) + * @returns {number} + */ + getIndexByText(text: string): number; + + /** Returns an item’s index based on the value given. + * @param {string} The list item’s value + * @returns {number} + */ + getIndexByValue(indices: string): number; + + /** Returns an item’s text (label) based on the index given. + * @returns {string} + */ + getTextByIndex(): string; + + /** Returns a list item’s object using its index. + * @returns {any} + */ + getItemByIndex(): any; + + /** Returns a list item’s object based on the text given. + * @param {string} The list item text. + * @returns {any} + */ + getItemByText(text: string): any; + + /** Merges the given data with the existing data items in the listbox. + * @param {Array} Data to merge in listbox. + * @returns {void} + */ + mergeData(data: Array): void; + + /** Selects the next item based on the current selection. + * @returns {void} + */ + moveDown(): void; + + /** Selects the previous item based on the current selection. + * @returns {void} + */ + moveUp(): void; + + /** Refreshes the ListBox widget. + * @param {boolean} Refreshes both the datasource and the dimensions of the ListBox widget when the parameter is passed as true, otherwise only the ListBox dimensions will be refreshed. + * @returns {void} + */ + refresh(refreshData: boolean): void; + + /** Removes all the list items from listbox. + * @returns {void} + */ + removeAll(): void; + + /** Removes the selected list items from the listbox. + * @returns {void} + */ + removeSelectedItems(): void; + + /** Removes a list item by using its text. + * @param {string} Text of the listbox item to be removed. + * @returns {void} + */ + removeItemByText(text: string): void; + + /** Removes a list item by using its index value. + * @param {number} Index of the listbox item to be removed. + * @returns {void} + */ + removeItemByIndex(index: number): void; + + /** + * @returns {void} + */ + selectAll(): void; + + /** Selects the list item using its text value. + * @param {string} Text of the listbox item to be selected. + * @returns {void} + */ + selectItemByText(text: string): void; + + /** Selects list item using its value property. + * @param {string} Value of the listbox item to be selected. + * @returns {void} + */ + selectItemByValue(value: string): void; + + /** Selects list item using its index value. + * @param {number} Index of the listbox item to be selected. + * @returns {void} + */ + selectItemByIndex(index: number): void; + + /** Selects a set of list items through its index values. + * @param {number|number[]} Index/Indices of the listbox item to be selected. + * @returns {void} + */ + selectItemsByIndices(Indices: number|number[]): void; + + /** Unchecks all the checked list items in the ListBox widget. To use this method showCheckbox property to be set as true. + * @returns {void} + */ + uncheckAll(): void; + + /** Unchecks a checked list item using its index value. To use this method showCheckbox property to be set as true. + * @param {number} Index of the listbox item to be unchecked. + * @returns {void} + */ + uncheckItemByIndex(index: number): void; + + /** Unchecks the set of checked list items using its index values. To use this method showCheckbox property must be set to true. + * @param {number[]|string} Indices of the listbox item to be unchecked. + * @returns {void} + */ + uncheckItemsByIndices(indices: number[]|string): void; + + /** + * @returns {void} + */ + unselectAll(): void; + + /** Unselects a selected list item using its index value + * @param {number} Index of the listbox item to be unselected. + * @returns {void} + */ + unselectItemByIndex(index: number): void; + + /** Unselects a selected list item using its text value. + * @param {string} Text of the listbox item to be unselected. + * @returns {void} + */ + unselectItemByText(text: string): void; + + /** Unselects a selected list item using its value. + * @param {string} Value of the listbox item to be unselected. + * @returns {void} + */ + unselectItemByValue(value: string): void; + + /** Unselects a set of list items using its index values. + * @param {number[]|string} Indices of the listbox item to be unselected. + * @returns {void} + */ + unselectItemsByIndices(indices: number[]|string): void; + + /** Hides all the checked items in the listbox. + * @returns {void} + */ + hideCheckedItems(): void; + + /** Shows a set of hidden list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be shown. + * @returns {void} + */ + showItemByIndices(indices: number[]|string): void; + + /** Hides a set of list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be hidden. + * @returns {void} + */ + hideItemsByIndices(indices: number[]|string): void; + + /** Shows the hidden list items using its values. + * @param {Array} Values of the listbox items to be shown. + * @returns {void} + */ + showItemsByValues(values: Array): void; + + /** Hides the list item using its values. + * @param {Array} Values of the listbox items to be hidden. + * @returns {void} + */ + hideItemsByValues(values: Array): void; + + /** Shows a hidden list item using its value. + * @param {string} Value of the listbox item to be shown. + * @returns {void} + */ + showItemByValue(value: string): void; + + /** Hide a list item using its value. + * @param {string} Value of the listbox item to be hidden. + * @returns {void} + */ + hideItemByValue(value: string): void; + + /** Shows a hidden list item using its index value. + * @param {number} Index of the listbox item to be shown. + * @returns {void} + */ + showItemByIndex(index: number): void; + + /** Hides a list item using its index value. + * @param {number} Index of the listbox item to be hidden. + * @returns {void} + */ + hideItemByIndex(index: number): void; + + /** + * @returns {void} + */ + show(): void; + + /** Hides the listbox. + * @returns {void} + */ + hide(): void; + + /** Hides all the listbox items in the listbox. + * @returns {void} + */ + hideAllItems(): void; + + /** Shows all the listbox items in the listbox. + * @returns {void} + */ + showAllItems(): void; +} +export module ListBox{ + +export interface Model { + + /** Enables/disables the dragging behavior of the items in ListBox widget. + * @Default {false} + */ + allowDrag?: boolean; + + /** Accepts the items which are dropped in to it, when it is set to true. + * @Default {false} + */ + allowDrop?: boolean; + + /** Enables or disables multiple selection. + * @Default {false} + */ + allowMultiSelection?: boolean; + + /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using “virtualScrollMode” property. + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** Enables or disables the case sensitive search for list item by typing the text (search) value. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** Dynamically populate data of a list box while selecting an item in another list box i.e. rendering child list box based on the item selection in parent list box. This property accepts the id of the child ListBox widget to populate the data. + * @Default {null} + */ + cascadeTo?: string; + + /** Set of list items to be checked by default using its index. It works only when the showCheckbox property is set to true. + * @Default {null} + */ + checkedIndices?: Array; + + /** The root class for the ListBox widget to customize the existing theme. + * @Default {“”} + */ + cssClass?: string; + + /** Contains the list of data for generating the list items. + * @Default {null} + */ + dataSource?: any; + + /** Enables or disables the ListBox widget. + * @Default {true} + */ + enabled?: boolean; + + /** Enables or disables the search behavior to find the specific list item by typing the text value. + * @Default {false} + */ + enableIncrementalSearch?: boolean; + + /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the ListBox widget’s content from right to left when enabled. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies ellipsis ("...") representation in an overflowed list item content when it is set to false. + * @Default {true} + */ + enableWordWrap?: boolean; + + /** Mapping fields for the data items of the ListBox widget. + * @Default {null} + */ + fields?: Fields; + + /** Defines the height of the ListBox widget. + * @Default {null} + */ + height?: string; + + /** Defines the height for individual ListBox item. + * @Default {null} + */ + itemHeight?: string; + + /** The number of list items to be shown in the ListBox widget. The remaining list items will be scrollable. + * @Default {null} + */ + itemsCount?: number; + + /** The total number of list items to be rendered in the ListBox widget. + * @Default {null} + */ + totalItemsCount?: number; + + /** The number of list items to be loaded in the list box while enabling virtual scrolling and when virtualScrollMode is set to continuous. + * @Default {5} + */ + itemRequestCount?: number; + + /** Loads data for the listbox by default (i.e. on initialization) when it is set to true. It creates empty ListBox if it is set to false. + * @Default {true} + */ + loadDataOnInit?: boolean; + + /** The query to retrieve required data from the data source. + * @Default {ej.Query()} + */ + query?: ej.Query; + + /** The list item to be selected by default using its index. + * @Default {null} + */ + selectedIndex?: number; + + /** The list items to be selected by default using its indices. To use this property allowMultiSelection should be enabled. + * @Default {[]} + */ + selectedIndices?: Array; + + /** Enables/Disables the multi selection option with the help of checkbox control. + * @Default {false} + */ + showCheckbox?: boolean; - /** returns the startX and startY of the ticks - */ - position?: any; + /** To display the ListBox container with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** returns the gauge model - */ - Model?: any; + /** The template to display the ListBox widget with customized appearance. + * @Default {null} + */ + template?: string; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Holds the selected items values and used to bind value to the list item using AngularJS and KnockoutJS. + * @Default {“”} + */ + value?: number; - /** returns the scaleIndex to which the tick belongs. - */ - scaleIndex?: number; + /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. + * @Default {ej.VirtualScrollMode.Normal} + */ + virtualScrollMode?: ej.VirtualScrollMode|string; - /** returns the ticks style - */ - style?: string; + /** Defines the width of the ListBox widget. + * @Default {null} + */ + width?: string; - /** returns the angle of the tick. - */ - angle?: number; + /** Specifies the targetID for the listbox items. + * @Default {null} + */ + targetID?: string; - /** returns the current tick element. - */ - element?: any; + /** Triggers before the AJAX request begins to load data in the ListBox widget. */ + actionBegin? (e: ActionBeginEventArgs): void; - /** returns the index of the tick. - */ - index?: number; + /** Triggers after the data requested via AJAX is successfully loaded in the ListBox widget. */ + actionSuccess? (e: ActionSuccessEventArgs): void; - /** returns the tick value of the tick. - */ - value?: number; + /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ + actionComplete? (e: ActionCompleteEventArgs): void; - /** returns the name of the event - */ - type?: any; - } + /** Triggers when the data requested from AJAX get failed. */ + actionFailure? (e: ActionFailureEventArgs): void; - export interface InitEventArgs { + /** Event will be triggered before the requested data via AJAX once loaded in successfully. */ + actionBeforeSuccess? (e: ActionBeforeSuccessEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Triggers when the item selection is changed. */ + change? (e: ChangeEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Triggers when the list item is checked or unchecked. */ + checkChange? (e: CheckChangeEventArgs): void; - /** returns the gauge model - */ - Model?: any; + /** Triggers when the ListBox widget is created successfully. */ + create? (e: CreateEventArgs): void; - /** returns the entire scale element. - */ - scaleElement?: any; + /** Triggers when the ListBox widget is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; - /** returns the context element - */ - context?: any; + /** Triggers when focus the listbox items. */ + focusIn? (e: FocusInEventArgs): void; - /** returns the name of the event - */ - type?: string; - } + /** Triggers when focus out from listbox items. */ + focusOut? (e: FocusOutEventArgs): void; - export interface LoadEventArgs { + /** Triggers when the list item is being dragged. */ + itemDrag? (e: ItemDragEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Triggers when the list item is ready to be dragged. */ + itemDragStart? (e: ItemDragStartEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Triggers when the list item stops dragging. */ + itemDragStop? (e: ItemDragStopEventArgs): void; - /** returns the gauge model - */ - Model?: any; + /** Triggers when the list item is dropped. */ + itemDrop? (e: ItemDropEventArgs): void; - /** returns the entire scale element. - */ - scaleElement?: any; + /** Triggers when a list item gets selected. */ + select? (e: SelectEventArgs): void; - /** returns the context element - */ - context?: any; + /** Triggers when a list item gets unselected. */ + unselect? (e: UnselectEventArgs): void; +} - /** returns the name of the event - */ - type?: any; - } +export interface ActionBeginEventArgs { +} - export interface MouseClickEventArgs { +export interface ActionSuccessEventArgs { +} - /** returns the object of the gauge. - */ - object?: any; +export interface ActionCompleteEventArgs { +} - /** returns the cancel option value - */ - cancel?: boolean; +export interface ActionFailureEventArgs { +} - /** returns the gauge model - */ - model?: any; +export interface ActionBeforeSuccessEventArgs { - /** returns the name of the event - */ - type?: any; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the scale element. - */ - scaleElement?: any; + /** Name of the event. + */ + type?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** List of actual object. + */ + actual?: any; - /** returns the context element* @param {Object} args.markerpointer returns the context element - */ - context?: any; + /** Object of ListBox widget which contains DataManager arguments + */ + request?: any; - /** returns the pointer Index - */ - markerpointerindex?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the pointer element. - */ - markerpointerelement?: any; + /** List of array object + */ + result?: Array; - /** returns the value of the pointer. - */ - markerpointervalue?: number; + /** ExecuteQuery object of DataManager + */ + xhr?: any; +} - /** returns the pointer style - */ - style?: string; +export interface ChangeEventArgs { - /** returns the startX and startY of the pointer. - */ - position?: any; - } + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - export interface MouseClickMoveEventArgs { + /** Name of the event. + */ + type?: string; - /** returns the object of the gauge. - */ - object?: any; + /** List item object. + */ + item?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** The Datasource of the listbox. + */ + data?: any; - /** returns the gauge model - */ - model?: any; + /** List item’s index. + */ + index?: number; - /** returns the name of the event - */ - type?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the scale element. - */ - scaleElement?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the context element - */ - context?: any; + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the pointer Index - */ - index?: number; + /** List item’s text (label). + */ + text?: string; - /** returns the pointer element. - */ - element?: any; + /** List item’s value. + */ + value?: string; +} - /** returns the value of the pointer. - */ - value?: number; +export interface CheckChangeEventArgs { - /** returns the pointer style - */ - style?: string; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the startX and startY of the pointer. - */ - position?: any; - } + /** Name of the event. + */ + type?: string; - export interface MouseClickUpEventArgs { + /** List item object. + */ + item?: any; - /** returns the object of the gauge. - */ - object?: any; + /** The Datasource of the listbox. + */ + data?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** List item’s index. + */ + index?: number; - /** returns the gauge model - */ - model?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the scale element. - */ - scaleElement?: any; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the context element* @param {Object} args.markerpointer returns the context element - */ - context?: any; - - /** returns the pointer Index - */ - markerpointerIndex?: number; - - /** returns the pointer element. - */ - markerpointerElement?: any; - - /** returns the value of the pointer. - */ - markerpointerValue?: number; - - /** returns the pointer style - */ - style?: string; - - /** returns the startX and startY of the pointer. - */ - position?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the object of the gauge. - */ - object?: any; - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the gauge model - */ - Model?: any; - - /** returns the entire scale element. - */ - scaleElement?: any; - - /** returns the context element - */ - context?: any; - - /** returns the name of the event - */ - type?: any; - } - - export interface Frame { - - /** Specifies the frame background image URL of linear gauge - * @Default {null} - */ - backgroundImageUrl?: string; - - /** Specifies the frame InnerWidth - * @Default {8} - */ - innerWidth?: number; - - /** Specifies the frame OuterWidth - * @Default {12} - */ - outerWidth?: number; - } - - export interface ScalesBarPointersBorder { - - /** Specifies the border Color of bar pointer - * @Default {null} - */ - color?: string; - - /** Specifies the border Width of bar pointer - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesBarPointer { - - /** Specifies the backgroundColor of bar pointer - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border of bar pointer - * @Default {null} - */ - border?: ScalesBarPointersBorder; - - /** Specifies the distanceFromScale of bar pointer - * @Default {0} - */ - distanceFromScale?: number; - - /** Specifies the scaleBar Gradient of bar pointer - * @Default {null} - */ - gradients?: any; - - /** Specifies the opacity of bar pointer - * @Default {1} - */ - opacity?: number; - - /** Specifies the value of bar pointer - * @Default {null} - */ - value?: number; - - /** Specifies the pointer Width of bar pointer - * @Default {width=30} - */ - width?: number; - } - - export interface ScalesBorder { - - /** Specifies the border color of the Scale. - * @Default {null} - */ - color?: string; - - /** Specifies the border width of the Scale. - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesCustomLabelsFont { - - /** Specifies the fontFamily in customLabels - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the fontStyle in customLabels. See FontStyle - * @Default {Bold} - */ - fontStyle?: ej.datavisualization.LinearGauge.FontStyle | string; - - /** Specifies the font size in customLabels - * @Default {11px} - */ - size?: string; - } - - export interface ScalesCustomLabelsPosition { - - /** Specifies the position x in customLabels - * @Default {0} - */ - x?: number; - - /** Specifies the y in customLabels - * @Default {0} - */ - y?: number; - } - - export interface ScalesCustomLabel { - - /** Specifies the label Color in customLabels - * @Default {null} - */ - color?: number; - - /** Specifies the font in customLabels - * @Default {null} - */ - font?: ScalesCustomLabelsFont; - - /** Specifies the opacity in customLabels - * @Default {0} - */ - opacity?: string; - - /** Specifies the position in customLabels - * @Default {null} - */ - position?: ScalesCustomLabelsPosition; - - /** Specifies the positionType in customLabels.See CustomLabelPositionType - * @Default {null} - */ - positionType?: any; - - /** Specifies the textAngle in customLabels - * @Default {0} - */ - textAngle?: number; - - /** Specifies the label Value in customLabels - */ - value?: string; - } - - export interface ScalesIndicatorsBorder { - - /** Specifies the border Color in bar indicators - * @Default {null} - */ - color?: string; - - /** Specifies the border Width in bar indicators - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesIndicatorsFont { - - /** Specifies the fontFamily of font in bar indicators - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the fontStyle of font in bar indicators. See FontStyle - * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} - */ - fontStyle?: ej.datavisualization.LinearGauge.FontStyle | string; - - /** Specifies the size of font in bar indicators - * @Default {11px} - */ - size?: string; - } - - export interface ScalesIndicatorsPosition { - - /** Specifies the x position in bar indicators - * @Default {0} - */ - x?: number; - - /** Specifies the y position in bar indicators - * @Default {0} - */ - y?: number; - } - - export interface ScalesIndicatorsStateRange { - - /** Specifies the backgroundColor in bar indicators state ranges - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the borderColor in bar indicators state ranges - * @Default {null} - */ - borderColor?: string; - - /** Specifies the endValue in bar indicators state ranges - * @Default {60} - */ - endValue?: number; - - /** Specifies the startValue in bar indicators state ranges - * @Default {50} - */ - startValue?: number; - - /** Specifies the text in bar indicators state ranges - */ - text?: string; - - /** Specifies the textColor in bar indicators state ranges - * @Default {null} - */ - textColor?: string; - } - - export interface ScalesIndicatorsTextLocation { - - /** Specifies the textLocation position in bar indicators - * @Default {0} - */ - x?: number; - - /** Specifies the Y position in bar indicators - * @Default {0} - */ - y?: number; - } - - export interface ScalesIndicator { - - /** Specifies the backgroundColor in bar indicators - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border in bar indicators - * @Default {null} - */ - border?: ScalesIndicatorsBorder; - - /** Specifies the font of bar indicators - * @Default {null} - */ - font?: ScalesIndicatorsFont; - - /** Specifies the indicator Height of bar indicators - * @Default {30} - */ - height?: number; - - /** Specifies the opacity in bar indicators - * @Default {NaN} - */ - opacity?: number; - - /** Specifies the position in bar indicators - * @Default {null} - */ - position?: ScalesIndicatorsPosition; - - /** Specifies the state ranges in bar indicators - * @Default {Array} - */ - stateRanges?: ScalesIndicatorsStateRange[]; - - /** Specifies the textLocation in bar indicators - * @Default {null} - */ - textLocation?: ScalesIndicatorsTextLocation; - - /** Specifies the indicator Style of font in bar indicators - * @Default {ej.datavisualization.LinearGauge.IndicatorType.Rectangle} - */ - type?: ej.datavisualization.LinearGauge.IndicatorTypes | string; - - /** Specifies the indicator Width in bar indicators - * @Default {30} - */ - width?: number; - } - - export interface ScalesLabelsDistanceFromScale { - - /** Specifies the xDistanceFromScale of labels. - * @Default {-10} - */ - x?: number; - - /** Specifies the yDistanceFromScale of labels. - * @Default {0} - */ - y?: number; - } - - export interface ScalesLabelsFont { - - /** Specifies the fontFamily of font. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the fontStyle of font.See FontStyle - * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} - */ - fontStyle?: ej.datavisualization.LinearGauge.FontStyle | string; - - /** Specifies the size of font. - * @Default {11px} - */ - size?: string; - } - - export interface ScalesLabel { - - /** Specifies the angle of labels. - * @Default {0} - */ - angle?: number; - - /** Specifies the DistanceFromScale of labels. - * @Default {null} - */ - distanceFromScale?: ScalesLabelsDistanceFromScale; - - /** Specifies the font of labels. - * @Default {null} - */ - font?: ScalesLabelsFont; - - /** need to includeFirstValue. - * @Default {true} - */ - includeFirstValue?: boolean; - - /** Specifies the opacity of label. - * @Default {0} - */ - opacity?: number; - - /** Specifies the label Placement of label. See LabelPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; - - /** Specifies the textColor of font. - * @Default {null} - */ - textColor?: string; - - /** Specifies the label Style of label. See LabelType - * @Default {ej.datavisualization.LinearGauge.LabelType.Major} - */ - type?: ej.datavisualization.LinearGauge.ScaleType | string; - - /** Specifies the unitText of label. - */ - unitText?: string; - - /** Specifies the unitText Position of label.See UnitTextPlacement - * @Default {Back} - */ - unitTextPlacement?: ej.datavisualization.LinearGauge.UnitTextPlacement | string; - } - - export interface ScalesMarkerPointersBorder { - - /** Specifies the border color of marker pointer - * @Default {null} - */ - color?: string; - - /** Specifies the border of marker pointer - * @Default {number} - */ - width?: number; - } - - export interface ScalesMarkerPointer { - - /** Specifies the backgroundColor of marker pointer - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border of marker pointer - * @Default {null} - */ - border?: ScalesMarkerPointersBorder; - - /** Specifies the distanceFromScale of marker pointer - * @Default {0} - */ - distanceFromScale?: number; - - /** Specifies the pointer Gradient of marker pointer - * @Default {null} - */ - gradients?: any; - - /** Specifies the pointer Length of marker pointer - * @Default {30} - */ - length?: number; - - /** Specifies the opacity of marker pointer - * @Default {1} - */ - opacity?: number; - - /** Specifies the pointer Placement of marker pointer See PointerPlacement - * @Default {Far} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; - - /** Specifies the marker Style of marker pointerSee MarkerType - * @Default {Triangle} - */ - type?: ej.datavisualization.LinearGauge.MarkerType | string; - - /** Specifies the value of marker pointer - * @Default {null} - */ - value?: number; - - /** Specifies the pointer Width of marker pointer - * @Default {30} - */ - width?: number; - } - - export interface ScalesPosition { - - /** Specifies the Horizontal position - * @Default {50} - */ - x?: number; - - /** Specifies the vertical position - * @Default {50} - */ - y?: number; - } - - export interface ScalesRangesBorder { - - /** Specifies the border color in the ranges. - * @Default {null} - */ - color?: string; - - /** Specifies the border width in the ranges. - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesRange { - - /** Specifies the backgroundColor in the ranges. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border in the ranges. - * @Default {null} - */ - border?: ScalesRangesBorder; - - /** Specifies the distanceFromScale in the ranges. - * @Default {0} - */ - distanceFromScale?: number; - - /** Specifies the endValue in the ranges. - * @Default {60} - */ - endValue?: number; - - /** Specifies the endWidth in the ranges. - * @Default {10} - */ - endWidth?: number; - - /** Specifies the range Gradient in the ranges. - * @Default {null} - */ - gradients?: any; - - /** Specifies the opacity in the ranges. - * @Default {null} - */ - opacity?: number; - - /** Specifies the range Position in the ranges. See RangePlacement - * @Default {Center} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; - - /** Specifies the startValue in the ranges. - * @Default {20} - */ - startValue?: number; - - /** Specifies the startWidth in the ranges. - * @Default {10} - */ - startWidth?: number; - } - - export interface ScalesTicksDistanceFromScale { - - /** Specifies the xDistanceFromScale in the tick. - * @Default {0} - */ - x?: number; - - /** Specifies the yDistanceFromScale in the tick. - * @Default {0} - */ - y?: number; - } - - export interface ScalesTick { - - /** Specifies the angle in the tick. - * @Default {0} - */ - angle?: number; - - /** Specifies the tick Color in the tick. - * @Default {null} - */ - color?: string; - - /** Specifies the DistanceFromScale in the tick. - * @Default {null} - */ - distanceFromScale?: ScalesTicksDistanceFromScale; - - /** Specifies the tick Height in the tick. - * @Default {10} - */ - height?: number; - - /** Specifies the opacity in the tick. - * @Default {0} - */ - opacity?: number; - - /** Specifies the tick Placement in the tick. See TickPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; - - /** Specifies the tick Style in the tick. See TickType - * @Default {MajorInterval} - */ - type?: ej.datavisualization.LinearGauge.TicksType | string; - - /** Specifies the tick Width in the tick. - * @Default {3} - */ - width?: number; - } - - export interface Scale { - - /** Specifies the backgroundColor of the Scale. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the scaleBar Gradient of bar pointer - * @Default {Array} - */ - barPointers?: ScalesBarPointer[]; - - /** Specifies the border of the Scale. - * @Default {null} - */ - border?: ScalesBorder; - - /** Specifies the customLabel - * @Default {Array} - */ - customLabels?: ScalesCustomLabel[]; - - /** Specifies the scale Direction of the Scale. See Directions - * @Default {CounterClockwise} - */ - direction?: ej.datavisualization.LinearGauge.Direction | string; - - /** Specifies the indicator - * @Default {Array} - */ - indicators?: ScalesIndicator[]; - - /** Specifies the labels. - * @Default {Array} - */ - labels?: ScalesLabel[]; - - /** Specifies the scaleBar Length. - * @Default {290} - */ - length?: number; - - /** Specifies the majorIntervalValue of the Scale. - * @Default {10} - */ - majorIntervalValue?: number; - - /** Specifies the markerPointers - * @Default {Array} - */ - markerPointers?: ScalesMarkerPointer[]; - - /** Specifies the maximum of the Scale. - * @Default {null} - */ - maximum?: number; - - /** Specifies the minimum of the Scale. - * @Default {null} - */ - minimum?: number; - - /** Specifies the minorIntervalValue of the Scale. - * @Default {2} - */ - minorIntervalValue?: number; - - /** Specifies the opacity of the Scale. - * @Default {NaN} - */ - opacity?: number; - - /** Specifies the position - * @Default {null} - */ - position?: ScalesPosition; - - /** Specifies the ranges in the tick. - * @Default {Array} - */ - ranges?: ScalesRange[]; - - /** Specifies the shadowOffset. - * @Default {0} - */ - shadowOffset?: number; - - /** Specifies the showBarPointers state. - * @Default {true} - */ - showBarPointers?: boolean; - - /** Specifies the showCustomLabels state. - * @Default {false} - */ - showCustomLabels?: boolean; - - /** Specifies the showIndicators state. - * @Default {false} - */ - showIndicators?: boolean; - - /** Specifies the showLabels state. - * @Default {true} - */ - showLabels?: boolean; - - /** Specifies the showMarkerPointers state. - * @Default {true} - */ - showMarkerPointers?: boolean; - - /** Specifies the showRanges state. - * @Default {false} - */ - showRanges?: boolean; - - /** Specifies the showTicks state. - * @Default {true} - */ - showTicks?: boolean; - - /** Specifies the ticks in the scale. - * @Default {Array} - */ - ticks?: ScalesTick[]; - - /** Specifies the scaleBar type .See ScaleType - * @Default {Rectangle} - */ - type?: ej.datavisualization.LinearGauge.ScaleType | string; - - /** Specifies the scaleBar width. - * @Default {30} - */ - width?: number; - } - - export interface Tooltip { - - /** Specify showCustomLabelTooltip value of linear gauge - * @Default {false} - */ - showCustomLabelTooltip?: boolean; - - /** Specify showLabelTooltip value of linear gauge - * @Default {false} - */ - showLabelTooltip?: boolean; - - /** Specify templateID value of linear gauge - * @Default {false} - */ - templateID?: string; - } - } - namespace LinearGauge { - enum OuterCustomLabelPosition { - //string - Left, - //string - Right, - //string - Top, - //string - Bottom, - } - } - namespace LinearGauge { - enum FontStyle { - //string - Bold, - //string - Italic, - //string - Regular, - //string - Strikeout, - //string - Underline, - } - } - namespace LinearGauge { - enum Direction { - //string - Clockwise, - //string - CounterClockwise, - } - } - namespace LinearGauge { - enum IndicatorTypes { - //string - Rectangle, - //string - Circle, - //string - RoundedRectangle, - //string - Text, - } - } - namespace LinearGauge { - enum PointerPlacement { - //string - Near, - //string - Far, - //string - Center, - } - } - namespace LinearGauge { - enum ScaleType { - //string - Major, - //string - Minor, - } - } - namespace LinearGauge { - enum UnitTextPlacement { - //string - Back, - //string - From, - } - } - namespace LinearGauge { - enum MarkerType { - //string - Rectangle, - //string - Triangle, - //string - Ellipse, - //string - Diamond, - //string - Pentagon, - //string - Circle, - //string - Star, - //string - Slider, - //string - Pointer, - //string - Wedge, - //string - Trapezoid, - //string - RoundedRectangle, - } - } - namespace LinearGauge { - enum TicksType { - //string - Majorinterval, - //string - Minorinterval, - } - } - namespace LinearGauge { - enum Themes { - //string - FlatLight, - //string - FlatDark, - } - } - - class CircularGauge extends ej.Widget { - static fn: CircularGauge; - constructor(element: JQuery | Element, options?: CircularGauge.Model); - static Locale: any; - model: CircularGauge.Model; - defaults: CircularGauge.Model; - - /** destroy the circular gauge widget. all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To export Image - * @returns {boolean} - */ - exportImage(): boolean; - - /** To get BackNeedleLength - * @returns {any} - */ - getBackNeedleLength(): any; - - /** To get CustomLabelAngle - * @returns {any} - */ - getCustomLabelAngle(): any; - - /** To get CustomLabelValue - * @returns {any} - */ - getCustomLabelValue(): any; - - /** To get LabelAngle - * @returns {any} - */ - getLabelAngle(): any; - - /** To get LabelDistanceFromScale - * @returns {any} - */ - getLabelDistanceFromScale(): any; - - /** To get LabelPlacement - * @returns {any} - */ - getLabelPlacement(): any; - - /** To get LabelStyle - * @returns {any} - */ - getLabelStyle(): any; - - /** To get MajorIntervalValue - * @returns {any} - */ - getMajorIntervalValue(): any; - - /** To get MarkerDistanceFromScale - * @returns {any} - */ - getMarkerDistanceFromScale(): any; - - /** To get MarkerStyle - * @returns {any} - */ - getMarkerStyle(): any; - - /** To get MaximumValue - * @returns {any} - */ - getMaximumValue(): any; - - /** To get MinimumValue - * @returns {any} - */ - getMinimumValue(): any; - - /** To get MinorIntervalValue - * @returns {any} - */ - getMinorIntervalValue(): any; - - /** To get NeedleStyle - * @returns {any} - */ - getNeedleStyle(): any; - - /** To get PointerCapBorderWidth - * @returns {any} - */ - getPointerCapBorderWidth(): any; - - /** To get PointerCapRadius - * @returns {any} - */ - getPointerCapRadius(): any; - - /** To get PointerLength - * @returns {any} - */ - getPointerLength(): any; - - /** To get PointerNeedleType - * @returns {any} - */ - getPointerNeedleType(): any; - - /** To get PointerPlacement - * @returns {any} - */ - getPointerPlacement(): any; - - /** To get PointerValue - * @returns {any} - */ - getPointerValue(): any; - - /** To get PointerWidth - * @returns {any} - */ - getPointerWidth(): any; - - /** To get RangeBorderWidth - * @returns {any} - */ - getRangeBorderWidth(): any; - - /** To get RangeDistanceFromScale - * @returns {any} - */ - getRangeDistanceFromScale(): any; - - /** To get RangeEndValue - * @returns {any} - */ - getRangeEndValue(): any; - - /** To get RangePosition - * @returns {any} - */ - getRangePosition(): any; - - /** To get RangeSize - * @returns {any} - */ - getRangeSize(): any; - - /** To get RangeStartValue - * @returns {any} - */ - getRangeStartValue(): any; - - /** To get ScaleBarSize - * @returns {any} - */ - getScaleBarSize(): any; - - /** To get ScaleBorderWidth - * @returns {any} - */ - getScaleBorderWidth(): any; - - /** To get ScaleDirection - * @returns {any} - */ - getScaleDirection(): any; - - /** To get ScaleRadius - * @returns {any} - */ - getScaleRadius(): any; - - /** To get StartAngle - * @returns {any} - */ - getStartAngle(): any; - - /** To get SubGaugeLocation - * @returns {any} - */ - getSubGaugeLocation(): any; - - /** To get SweepAngle - * @returns {any} - */ - getSweepAngle(): any; - - /** To get TickAngle - * @returns {any} - */ - getTickAngle(): any; - - /** To get TickDistanceFromScale - * @returns {any} - */ - getTickDistanceFromScale(): any; - - /** To get TickHeight - * @returns {any} - */ - getTickHeight(): any; - - /** To get TickPlacement - * @returns {any} - */ - getTickPlacement(): any; - - /** To get TickStyle - * @returns {any} - */ - getTickStyle(): any; - - /** To get TickWidth - * @returns {any} - */ - getTickWidth(): any; - - /** To set includeFirstValue - * @returns {void} - */ - includeFirstValue(): void; - - /** Switching the redraw option for the gauge - * @returns {void} - */ - redraw(): void; - - /** To set BackNeedleLength - * @returns {void} - */ - setBackNeedleLength(): void; - - /** To set CustomLabelAngle - * @returns {void} - */ - setCustomLabelAngle(): void; - - /** To set CustomLabelValue - * @returns {void} - */ - setCustomLabelValue(): void; - - /** To set LabelAngle - * @returns {void} - */ - setLabelAngle(): void; - - /** To set LabelDistanceFromScale - * @returns {void} - */ - setLabelDistanceFromScale(): void; - - /** To set LabelPlacement - * @returns {void} - */ - setLabelPlacement(): void; - - /** To set LabelStyle - * @returns {void} - */ - setLabelStyle(): void; - - /** To set MajorIntervalValue - * @returns {void} - */ - setMajorIntervalValue(): void; - - /** To set MarkerDistanceFromScale - * @returns {void} - */ - setMarkerDistanceFromScale(): void; - - /** To set MarkerStyle - * @returns {void} - */ - setMarkerStyle(): void; - - /** To set MaximumValue - * @returns {void} - */ - setMaximumValue(): void; - - /** To set MinimumValue - * @returns {void} - */ - setMinimumValue(): void; - - /** To set MinorIntervalValue - * @returns {void} - */ - setMinorIntervalValue(): void; - - /** To set NeedleStyle - * @returns {void} - */ - setNeedleStyle(): void; - - /** To set PointerCapBorderWidth - * @returns {void} - */ - setPointerCapBorderWidth(): void; - - /** To set PointerCapRadius - * @returns {void} - */ - setPointerCapRadius(): void; - - /** To set PointerLength - * @returns {void} - */ - setPointerLength(): void; - - /** To set PointerNeedleType - * @returns {void} - */ - setPointerNeedleType(): void; - - /** To set PointerPlacement - * @returns {void} - */ - setPointerPlacement(): void; - - /** To set PointerValue - * @returns {void} - */ - setPointerValue(): void; - - /** To set PointerWidth - * @returns {void} - */ - setPointerWidth(): void; - - /** To set RangeBorderWidth - * @returns {void} - */ - setRangeBorderWidth(): void; - - /** To set RangeDistanceFromScale - * @returns {void} - */ - setRangeDistanceFromScale(): void; - - /** To set RangeEndValue - * @returns {void} - */ - setRangeEndValue(): void; - - /** To set RangePosition - * @returns {void} - */ - setRangePosition(): void; - - /** To set RangeSize - * @returns {void} - */ - setRangeSize(): void; - - /** To set RangeStartValue - * @returns {void} - */ - setRangeStartValue(): void; - - /** To set ScaleBarSize - * @returns {void} - */ - setScaleBarSize(): void; - - /** To set ScaleBorderWidth - * @returns {void} - */ - setScaleBorderWidth(): void; - - /** To set ScaleDirection - * @returns {void} - */ - setScaleDirection(): void; - - /** To set ScaleRadius - * @returns {void} - */ - setScaleRadius(): void; - - /** To set StartAngle - * @returns {void} - */ - setStartAngle(): void; - - /** To set SubGaugeLocation - * @returns {void} - */ - setSubGaugeLocation(): void; - - /** To set SweepAngle - * @returns {void} - */ - setSweepAngle(): void; - - /** To set TickAngle - * @returns {void} - */ - setTickAngle(): void; - - /** To set TickDistanceFromScale - * @returns {void} - */ - setTickDistanceFromScale(): void; - - /** To set TickHeight - * @returns {void} - */ - setTickHeight(): void; - - /** To set TickPlacement - * @returns {void} - */ - setTickPlacement(): void; - - /** To set TickStyle - * @returns {void} - */ - setTickStyle(): void; - - /** To set TickWidth - * @returns {void} - */ - setTickWidth(): void; - } - export namespace CircularGauge { - - export interface Model { - - /** Specifies animationSpeed of circular gauge - * @Default {500} - */ - animationSpeed?: number; - - /** Specifies the background color of circular gauge. - * @Default {null} - */ - backgroundColor?: string; - - /** Specify distanceFromCorner value of circular gauge - * @Default {center} - */ - distanceFromCorner?: number; - - /** Specify animate value of circular gauge - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specify the frame of circular gauge - * @Default {Object} - */ - frame?: Frame; - - /** Specify gaugePosition value of circular gauge See GaugePosition - * @Default {center} - */ - gaugePosition?: ej.datavisualization.CircularGauge.gaugePosition | string; - - /** Specifies the height of circular gauge. - * @Default {360} - */ - height?: number; - - /** Specifies the interiorGradient of circular gauge. - * @Default {null} - */ - interiorGradient?: any; - - /** Specify isRadialGradient value of circular gauge - * @Default {false} - */ - isRadialGradient?: boolean; - - /** Specify isResponsive value of circular gauge - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the maximum value of circular gauge. - * @Default {100} - */ - maximum?: number; - - /** Specifies the minimum value of circular gauge. - * @Default {0} - */ - minimum?: number; - - /** Specify outerCustomLabelPosition value of circular gauge See OuterCustomLabelPosition - * @Default {bottom} - */ - outerCustomLabelPosition?: ej.datavisualization.CircularGauge.CustomLabelPositionType | string; - - /** Specifies the radius of circular gauge. - * @Default {180} - */ - radius?: number; - - /** Specify readonly value of circular gauge - * @Default {true} - */ - readOnly?: boolean; - - /** Specify the pointers, ticks, labels, indicators, ranges of circular gauge - * @Default {null} - */ - scales?: Scale[]; - - /** Specify the theme of circular gauge. - * @Default {flatlight} - */ - theme?: string; - - /** Specify tooltip option of circular gauge - * @Default {object} - */ - tooltip?: Tooltip; - - /** Specifies the value of circular gauge. - * @Default {0} - */ - value?: number; - - /** Specifies the width of circular gauge. - * @Default {360} - */ - width?: number; - - /** Triggers while the custom labels are being drawn on the gauge. */ - drawCustomLabel?(e: DrawCustomLabelEventArgs): void; - - /** Triggers while the indicators are being started to drawn on the gauge. */ - drawIndicators?(e: DrawIndicatorsEventArgs): void; - - /** Triggers while the labels are being drawn on the gauge. */ - drawLabels?(e: DrawLabelsEventArgs): void; - - /** Triggers while the pointer cap is being drawn on the gauge. */ - drawPointerCap?(e: DrawPointerCapEventArgs): void; - - /** Triggers while the pointers are being drawn on the gauge. */ - drawPointers?(e: DrawPointersEventArgs): void; + /** List item’s text (label). + */ + text?: string; - /** Triggers when the ranges begin to be getting drawn on the gauge. */ - drawRange?(e: DrawRangeEventArgs): void; + /** List item’s value. + */ + value?: string; +} - /** Triggers while the ticks are being drawn on the gauge. */ - drawTicks?(e: DrawTicksEventArgs): void; - - /** Triggers while the gauge start to Load. */ - load?(e: LoadEventArgs): void; +export interface CreateEventArgs { - /** Triggers when the left mouse button is clicked. */ - mouseClick?(e: MouseClickEventArgs): void; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ - mouseClickMove?(e: MouseClickMoveEventArgs): void; + /** Name of the event. + */ + type?: string; - /** Triggers when the mouse click is released. */ - mouseClickUp?(e: MouseClickUpEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; +} - /** Triggers when the rendering of the gauge is completed. */ - renderComplete?(e: RenderCompleteEventArgs): void; - } +export interface DestroyEventArgs { - export interface DrawCustomLabelEventArgs { + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the object of the gauge. - */ - object?: any; + /** Name of the event. + */ + type?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; +} - /** returns the context element - */ - context?: any; +export interface FocusInEventArgs { - /** returns the startX and startY of the custom label - */ - position?: any; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the gauge model - */ - model?: any; + /** Name of the event. + */ + type?: string; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; +} - /** returns the scaleIndex to which the custom label belongs. - */ - scaleIndex?: number; +export interface FocusOutEventArgs { - /** returns the custom label style - */ - style?: string; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the current custom label element. - */ - customLabelElement?: any; + /** Name of the event. + */ + type?: string; - /** returns the index of the custom label. - */ - customLabelIndex?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; +} - /** returns the name of the event - */ - type?: string; - } +export interface ItemDragEventArgs { - export interface DrawIndicatorsEventArgs { + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the object of the gauge. - */ - object?: any; + /** Name of the event. + */ + type?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the context element - */ - context?: any; + /** The Datasource of the listbox. + */ + data?: any; - /** returns the startX and startY of the indicator - */ - position?: any; + /** List item’s index. + */ + index?: number; - /** returns the gauge model - */ - model?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the scaleIndex to which the indicator belongs. - */ - scaleIndex?: number; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the indicator style - */ - style?: string; + /** List item’s text (label). + */ + text?: string; - /** returns the current indicator element. - */ - indicatorElement?: any; + /** List item’s value. + */ + value?: string; +} - /** returns the index of the indicator. - */ - indicatorIndex?: number; +export interface ItemDragStartEventArgs { - /** returns the name of the event - */ - type?: string; - } + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - export interface DrawLabelsEventArgs { + /** Name of the event. + */ + type?: string; - /** returns the object of the gauge. - */ - object?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the cancel option value - */ - cancel?: boolean; + /** The Datasource of the listbox. + */ + data?: any; - /** returns the context element - */ - context?: any; + /** List item’s index. + */ + index?: number; - /** returns the startX and startY of the labels - */ - position?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the gauge model - */ - model?: any; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the scaleIndex to which the label belongs. - */ - scaleIndex?: number; + /** List item’s text (label). + */ + text?: string; - /** returns the label style - */ - style?: string; + /** List item’s value. + */ + value?: string; +} - /** returns the angle of the labels. - */ - angle?: number; +export interface ItemDragStopEventArgs { - /** returns the current label element. - */ - element?: any; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the index of the label. - */ - index?: number; + /** Name of the event. + */ + type?: string; - /** returns the value of the label. - */ - pointerValue?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; - } + /** The Datasource of the listbox. + */ + data?: any; - export interface DrawPointerCapEventArgs { + /** List item’s index. + */ + index?: number; - /** returns the object of the gauge. - */ - object?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the cancel option value - */ - cancel?: boolean; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the context element - */ - context?: any; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** List item’s text (label). + */ + text?: string; - /** returns the startX and startY of the pointer cap. - */ - position?: any; + /** List item’s value. + */ + value?: string; +} - /** returns the gauge model - */ - model?: any; +export interface ItemDropEventArgs { - /** returns the pointer cap style - */ - style?: string; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the name of the event - */ - type?: string; - } + /** Name of the event. + */ + type?: string; - export interface DrawPointersEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the object of the gauge. - */ - object?: any; + /** The Datasource of the listbox. + */ + data?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** List item’s index. + */ + index?: number; - /** returns the context element - */ - context?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the startX and startY of the pointer - */ - position?: any; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the gauge model - */ - model?: any; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** List item’s text (label). + */ + text?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** List item’s value. + */ + value?: string; +} - /** returns the pointer style - */ - style?: string; +export interface SelectEventArgs { - /** returns the angle of the pointer. - */ - angle?: number; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** returns the current pointer element. - */ - element?: any; + /** Name of the event. + */ + type?: string; - /** returns the index of the pointer. - */ - index?: number; + /** List item object. + */ + item?: any; - /** returns the value of the pointer. - */ - value?: number; + /** The Datasource of the listbox. + */ + data?: any; - /** returns the name of the event - */ - type?: string; - } + /** List item’s index. + */ + index?: number; - export interface DrawRangeEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the object of the gauge. - */ - object?: any; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** returns the cancel option value - */ - cancel?: boolean; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** returns the context element - */ - context?: any; + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; - /** returns the startX and startY of the range - */ - position?: any; + /** List item’s text (label). + */ + text?: string; - /** returns the gauge model - */ - model?: any; + /** List item’s value. + */ + value?: string; +} - /** returns the options of the scale element. - */ - scaleElement?: any; +export interface UnselectEventArgs { + + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; + + /** Name of the event. + */ + type?: string; - /** returns the scaleIndex to which the range belongs. - */ - scaleIndex?: number; + /** List item object. + */ + item?: any; + + /** The Datasource of the listbox. + */ + data?: any; + + /** List item’s index. + */ + index?: number; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; + + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; + + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; + + /** List item’s text (label). + */ + text?: string; + + /** List item’s value. + */ + value?: string; +} + +export interface Fields { + + /** Defines the specific field name which contains Boolean values to specify whether the list items to be checked by default or not. + */ + checkBy?: boolean; + + /** The grouping in the ListBox widget can be defined using this field. + */ + groupBy?: string; + + /** Defines the HTML attributes such as id, class, styles for the specific ListBox item. + */ + htmlAttributes?: any; + + /** Defines the specific field name which contains id values for the list items. + */ + id?: string; + + /** Defines the imageURL for the image to be displayed in the ListBox item. + */ + imageUrl?: string; + + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; + + /** Defines the specific field name which contains Boolean values to specify whether the list items to be selected by default or not. + */ + selectBy?: boolean; + + /** Defines the sprite CSS class for the image to be displayed. + */ + spriteCssClass?: string; + + /** Defines the table name to get the specific set of list items to be loaded in the ListBox widget while rendering with remote data. + */ + tableName?: string; + + /** Defines the specific field name in the data source to load the list with data. + */ + text?: string; + + /** Defines the specific field name in the data source to load the list with data value property. + */ + value?: string; +} +} + +class Calculate { + static fn: Calculate; + constructor(element: JQuery, options?: Calculate.Model); + constructor(element: Element, options?: Calculate.Model); + static Locale: any; + model:Calculate.Model; + defaults:Calculate.Model; + + /** Add the custom formulas with function in CalcEngine library + * @param {string} pass the formula name + * @param {string} pass the custom function name to call + * @returns {void} + */ + addCustomFunction(FormulaName: string, FunctionName: string): void; + + /** Adds a named range to the NamedRanges collection + * @param {string} pass the namedRange's name + * @param {string} pass the cell range of NamedRange + * @returns {void} + */ + addNamedRange(Name: string, cellRange: string): void; + + /** Accepts a possible parsed formula and returns the calculated value without quotes. + * @param {string} pass the cell range to adjust its range + * @returns {string} + */ + adjustRangeArg(Name: string): string; + + /** When a formula cell changes, call this method to clear it from its dependent cells. + * @param {string} pass the changed cell address + * @returns {void} + */ + clearFormulaDependentCells(Cell: string): void; + + /** Call this method to clear whether an exception was raised during the computation of a library function. + * @returns {void} + */ + clearLibraryComputationException(): void; + + /** Get the column index from a cell reference passed in. + * @param {string} pass the cell address + * @returns {void} + */ + colIndex(Cell: string): void; + + /** Evaluates a parsed formula. + * @param {string} pass the parsed formula + * @returns {string} + */ + computedValue(Formula: string): string; + + /** Evaluates a parsed formula. + * @param {string} pass the parsed formula + * @returns {string} + */ + computeFormula(Formula: string): string; +} +export module Calculate{ + +export interface Model { +} +} + +class CheckBox extends ej.Widget { + static fn: CheckBox; + constructor(element: JQuery, options?: CheckBox.Model); + constructor(element: Element, options?: CheckBox.Model); + static Locale: any; + model:CheckBox.Model; + defaults:CheckBox.Model; + + /** Destroy the CheckBox widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Disable the CheckBox to prevent all user interactions. + * @returns {void} + */ + disable(): void; + + /** To enable the CheckBox + * @returns {void} + */ + enable(): void; + + /** To Check the status of CheckBox + * @returns {boolean} + */ + isChecked(): boolean; +} +export module CheckBox{ + +export interface Model { + + /** Specifies whether CheckBox has to be in checked or not. We can also specify array of string as value for this property. If any of the value in the specified array matches the value of the textbox, then it will be considered as checked. It will be useful in MVVM binding, specify array type to identify the values of the checked CheckBoxes. + * @Default {false} + */ + checked?: boolean|string[]; + + /** Specifies the State of CheckBox.See below to get available CheckState + * @Default {null} + */ + checkState?: ej.CheckState|string; + + /** Sets the root CSS class for CheckBox theme, which is used customize. + */ + cssClass?: string; + + /** Specifies the checkbox control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the persist property for CheckBox while initialization. The persist API save current model value to browser cookies for state maintains. While refreshing the CheckBox control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specify the Right to Left direction to Checkbox + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the enable or disable Tri-State for checkbox control. + * @Default {false} + */ + enableTriState?: boolean; + + /** It allows to define the characteristics of the CheckBox control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specified value to be added an id attribute of the CheckBox. + * @Default {null} + */ + id?: string; + + /** Specify the prefix value of id to be added before the current id of the CheckBox. + * @Default {ej} + */ + idPrefix?: string; + + /** Specifies the name attribute of the CheckBox. + * @Default {null} + */ + name?: string; + + /** Displays rounded corner borders to CheckBox + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the CheckBox.See below to know available CheckboxSize + * @Default {small} + */ + size?: ej.CheckboxSize|string; + + /** Specifies the text content to be displayed for CheckBox. + */ + text?: string; + + /** Set the jQuery validation error message in CheckBox. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules in CheckBox. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value attribute of the CheckBox. + * @Default {null} + */ + value?: string; + + /** Fires before the CheckBox is going to changed its state successfully */ + beforeChange? (e: BeforeChangeEventArgs): void; + + /** Fires when the CheckBox state is changed successfully */ + change? (e: ChangeEventArgs): void; + + /** Fires when the CheckBox state is created successfully */ + create? (e: CreateEventArgs): void; + + /** Fires when the CheckBox state is destroyed successfully */ + destroy? (e: DestroyEventArgs): void; +} + +export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event model values + */ + event?: any; + + /** returns the status whether the element is checked or not. + */ + isChecked?: boolean; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event arguments + */ + event?: any; + + /** returns the status whether the element is checked or not. + */ + isChecked?: boolean; + + /** returns the state of the checkbox + */ + checkState?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; +} +} +enum CheckState +{ +//string +Uncheck, +//string +Check, +//string +Indeterminate, +} +enum CheckboxSize +{ +//Displays the CheckBox in medium size +Medium, +//Displays the CheckBox in small size +Small, +} + +class ColorPicker extends ej.Widget { + static fn: ColorPicker; + constructor(element: JQuery, options?: ColorPicker.Model); + constructor(element: Element, options?: ColorPicker.Model); + static Locale: any; + model:ColorPicker.Model; + defaults:ColorPicker.Model; + + /** Disables the color picker control + * @returns {void} + */ + disable(): void; + + /** Enable the color picker control + * @returns {void} + */ + enable(): void; + + /** Gets the selected color in RGB format + * @returns {any} + */ + getColor(): any; + + /** Gets the selected color value as string + * @returns {string} + */ + getValue(): string; + + /** To Convert color value from hexCode to RGB + * @param {string} Specified HEX code converted to RGB + * @returns {any} + */ + hexCodeToRGB(colorCode: string): any; + + /** Hides the ColorPicker popup, if in opened state. + * @returns {void} + */ + hide(): void; + + /** Convert color value from HSV to RGB + * @param {any} Specified HSV code converted to RGB + * @returns {any} + */ + HSVToRGB(HSV: any): any; + + /** Convert color value from RGB to HEX + * @param {any} Specified RGB code converted to HEX code + * @returns {string} + */ + RGBToHEX(RGB: any): string; + + /** Convert color value from RGB to HSV + * @param {any} Specified RGB code converted to HSV code + * @returns {any} + */ + RGBToHSV(RGB: any): any; + + /** Open the ColorPicker popup. + * @returns {void} + */ + show(): void; +} +export module ColorPicker{ + +export interface Model { + + /** The ColorPicker control allows to define the customized text to displayed in button elements. Using the property to achieve the customized culture values. + * @Default {{ apply: Apply, cancel: Cancel, swatches: Swatches }} + */ + buttonText?: ButtonText; + + /** Allows to change the mode of the button. Please refer below to know available button mode + * @Default {ej.ButtonMode.Split} + */ + buttonMode?: ej.ButtonMode|string; + + /** Specifies the number of columns to be displayed color palette model. + * @Default {10} + */ + columns?: number|string; + + /** This property allows you to customize its appearance using user-defined CSS and custom skin options such as colors and backgrounds. + */ + cssClass?: string; + + /** This property allows to define the custom colors in the palette model.Custom palettes are created by passing a comma delimited string of HEX values or an array of colors. + * @Default {empty} + */ + custom?: Array; + + /** This property allows to embed the popup in the order of DOM element flow . When we set the value as true, the color picker popup is always in visible state. + * @Default {false} + */ + displayInline?: boolean; + + /** This property allows to change the control in enabled or disabled state. + * @Default {true} + */ + enabled?: boolean; + + /** This property allows to enable or disable the opacity slider in the color picker control + * @Default {true} + */ + enableOpacity?: boolean; + + /** It allows to define the characteristics of the ColorPicker control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Defines the localized text values in button and tooltip. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the model type to be rendered initially in the color picker control. See below to get available ModelType + * @Default {ej.ColorPicker.ModelType.Default} + */ + modelType?: ej.ColorPicker.ModelType|string; + + /** This property allows to change the opacity value .The selected color opacity will be adjusted by using this opacity value. + * @Default {100} + */ + opacityValue?: number|string; + + /** Specifies the palette type to be displayed at initial time in palette model.There two types of palette model available in ColorPicker control. See below available Palette + * @Default {ej.ColorPicker.Palette.BasicPalette} + */ + palette?: ej.ColorPicker.Palette|string; + + /** This property allows to define the preset model to be rendered initially in palette type.It consists of 12 different types of presets. Each presets have 50 colors. See below available Presets + * @Default {ej.ColorPicker.Presets.Basic} + */ + presetType?: ej.ColorPicker.Presets|string; + + /** Allows to show/hides the apply and cancel buttons in ColorPicker control + * @Default {true} + */ + showApplyCancel?: boolean; + + /** Allows to show/hides the clear button in ColorPicker control + * @Default {true} + */ + showClearButton?: boolean; + + /** This property allows to provides live preview support for current cursor selection color and selected color. + * @Default {true} + */ + showPreview?: boolean; + + /** This property allows to store the color values in custom list.The ColorPicker will keep up to 11 colors in a custom list.By clicking the add button, the selected color from picker or palette will get added in the recent color list. + * @Default {false} + */ + showRecentColors?: boolean; + + /** Allows to show/hides the switcher button in ColorPicker control.It helps to switch palette or picker mode in colorpicker. + * @Default {true} + */ + showSwitcher?: boolean; + + /** This property allows to shows tooltip to notify the slider value in color picker control. + * @Default {false} + */ + showTooltip?: boolean; + + /** Specifies the toolIcon to be displayed in dropdown control color area. + * @Default {null} + */ + toolIcon?: string; + + /** This property allows to define the customized text or content to displayed when mouse over the following elements. This property also allows to use the culture values. + * @Default {{ switcher: Switcher, addbutton: Add Color, basic: Basic, monochrome: Mono Chrome, flatcolors: Flat Color, seawolf: Sea Wolf, webcolors: Web Colors, sandy: Sandy, pinkshades: Pink Shades, misty: Misty, citrus: Citrus, vintage: Vintage, moonlight: Moon Light, candycrush: Candy Crush, currentcolor: Current Color, selectedcolor: Selected Color }} + */ + tooltipText?: TooltipText; + + /** Specifies the color value for color picker control, the value is in hexadecimal form with prefix of "#". + * @Default {null} + */ + value?: string; + + /** Fires after Color value has been changed successfully.If the user want to perform any operation after the color value changed then the user can make use of this change event. */ + change? (e: ChangeEventArgs): void; + + /** Fires after closing the color picker popup. */ + close? (e: CloseEventArgs): void; + + /** Fires after Color picker control is created. If the user want to perform any operation after the color picker control creation then the user can make use of this create event. */ + create? (e: CreateEventArgs): void; + + /** Fires after Color picker control is destroyed. If the user want to perform any operation after the color picker control destroyed then the user can make use of this destroy event. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires after opening the color picker popup */ + open? (e: OpenEventArgs): void; + + /** Fires after Color value has been selected successfully. If the user want to perform any operation after the color value selected then the user can make use of this select event. */ + select? (e: SelectEventArgs): void; +} - /** returns the range style - */ - style?: string; +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the current range element. - */ - rangeElement?: any; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** returns the index of the range. - */ - rangeIndex?: number; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; - } + /** return the changed color value + */ + value?: string; +} - export interface DrawTicksEventArgs { +export interface CloseEventArgs { - /** returns the object of the gauge. - */ - object?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** returns the context element - */ - context?: any; + /** returns the name of the event + */ + type?: string; +} - /** returns the startX and startY of the ticks - */ - position?: any; +export interface CreateEventArgs { - /** returns the gauge model - */ - model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the color picker model + */ + model?: any; - /** returns the scaleIndex to which the tick belongs. - */ - scaleIndex?: number; + /** returns the name of the event + */ + type?: string; +} - /** returns the ticks style - */ - style?: string; +export interface DestroyEventArgs { - /** returns the angle of the tick. - */ - angle?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the current tick element. - */ - element?: any; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** returns the index of the tick. - */ - index?: number; + /** returns the name of the event + */ + type?: string; +} - /** returns the label value of the tick. - */ - pointerValue?: number; +export interface OpenEventArgs { - /** returns the name of the event - */ - type?: string; - } + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface LoadEventArgs { + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** returns the object of the gauge. - */ - object?: any; + /** returns the name of the event + */ + type?: string; +} - /** returns the cancel option value - */ - cancel?: boolean; +export interface SelectEventArgs { - /** returns the gauge model - */ - Model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the entire scale element. - */ - scaleElement?: any; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** returns the context element - */ - context?: any; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; - } + /** return the selected color value + */ + value?: string; +} - export interface MouseClickEventArgs { +export interface ButtonText { - /** returns the object of the gauge. - */ - object?: any; + /** Sets the text for the apply button. + */ + apply?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Sets the text for the cancel button. + */ + cancel?: string; - /** returns the gauge model - */ - model?: any; + /** Sets the header text for the swatches area. + */ + swatches?: string; +} - /** returns the name of the event - */ - type?: any; +export interface TooltipText { - /** returns the scale element. - */ - scaleElement?: any; + /** Sets the tooltip text for the switcher button. + */ + switcher?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Sets the tooltip text for the add button. + */ + addbutton?: string; - /** returns the context element - */ - context?: any; + /** Sets the tooltip text for the basic preset. + */ + basic?: string; - /** returns the pointer Index - */ - index?: number; + /** Sets the tooltip text for the mono chrome preset. + */ + monochrome?: string; - /** returns the pointer element. - */ - element?: any; + /** Sets the tooltip text for the flat colors preset. + */ + flatcolors?: string; - /** returns the value of the pointer. - */ - value?: number; + /** Sets the tooltip text for the sea wolf preset. + */ + seawolf?: string; - /** returns the angle of the pointer. - */ - angle?: number; + /** Sets the tooltip text for the web colors preset. + */ + webcolors?: string; - /** returns the pointer style - */ - style?: string; + /** Sets the tooltip text for the sandy preset. + */ + sandy?: string; - /** returns the startX and startY of the pointer. - */ - position?: any; - } + /** Sets the tooltip text for the pink shades preset. + */ + pinkshades?: string; - export interface MouseClickMoveEventArgs { + /** Sets the tooltip text for the misty preset. + */ + misty?: string; - /** returns the object of the gauge. - */ - object?: any; + /** Sets the tooltip text for the citrus preset. + */ + citrus?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Sets the tooltip text for the vintage preset. + */ + vintage?: string; - /** returns the gauge model - */ - model?: any; + /** Sets the tooltip text for the moon light preset. + */ + moonlight?: string; - /** returns the name of the event - */ - type?: any; + /** Sets the tooltip text for the candy crush preset. + */ + candycrush?: string; - /** returns the scale element. - */ - scaleElement?: any; + /** Sets the tooltip text for the current color area. + */ + currentcolor?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Sets the tooltip text for the selected color area. + */ + selectedcolor?: string; +} - /** returns the context element - */ - context?: any; +enum ModelType{ - /** returns the pointer Index - */ - index?: number; + ///support palette type mode in color picker. + Palette, - /** returns the pointer element. - */ - element?: any; + ///support palette type mode in color picker. + Picker +} - /** returns the value of the pointer. - */ - value?: number; - /** returns the angle of the pointer. - */ - angle?: number; +enum Palette{ - /** returns the pointer style - */ - style?: string; + ///used to show the basic palette + BasicPalette, - /** returns the startX and startY of the pointer. - */ - position?: any; - } + ///used to show the custompalette + CustomPalette +} - export interface MouseClickUpEventArgs { - /** returns the object of the gauge. - */ - object?: any; +enum Presets{ - /** returns the cancel option value - */ - cancel?: boolean; + ///used to show the basic presets + Basic, - /** returns the gauge model - */ - model?: any; + ///used to show the CandyCrush colors presets + CandyCrush, - /** returns the name of the event - */ - type?: any; + ///used to show the Citrus colors presets + Citrus, - /** returns the scale element. - */ - scaleElement?: any; + ///used to show the FlatColors presets + FlatColors, - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + ///used to show the Misty presets + Misty, - /** returns the context element - */ - context?: any; - - /** returns the pointer Index - */ - index?: number; + ///used to show the MoonLight presets + MoonLight, + + ///used to show the PinkShades presets + PinkShades, - /** returns the pointer element. - */ - element?: any; + ///used to show the Sandy presets + Sandy, - /** returns the value of the pointer. - */ - value?: number; - - /** returns the angle of the pointer. - */ - angle?: number; - - /** returns the pointer style - */ - style?: string; - - /** returns the startX and startY of the pointer. - */ - position?: any; - } + ///used to show the Seawolf presets + SeaWolf, + + ///used to show the Vintage presets + Vintage, + + ///used to show the WebColors presets + WebColors +} + +} +enum ButtonMode +{ +//Displays the button in split mode +Split, +//Displays the button in Dropdown mode +Dropdown, +} + +class FileExplorer extends ej.Widget { + static fn: FileExplorer; + constructor(element: JQuery, options?: FileExplorer.Model); + constructor(element: Element, options?: FileExplorer.Model); + static Locale: any; + model:FileExplorer.Model; + defaults:FileExplorer.Model; + + /** Refresh the size of FileExplorer control. + * @returns {void} + */ + adjustSize(): void; + + /** Disable the particular context menu item. + * @param {string|HTMLElement} Id of the menu item/ Menu element to be disabled + * @returns {void} + */ + disableMenuItem(item: string|HTMLElement): void; + + /** Disable the particular toolbar item. + * @param {string|HTMLElement} Id of the toolbar item/ Tool item element to be disabled + * @returns {void} + */ + disableToolbarItem(item: string|HTMLElement): void; + + /** Enable the particular context menu item. + * @param {string|HTMLElement} Id of the menu item/ Menu element to be Enabled + * @returns {void} + */ + enableMenuItem(item: string|HTMLElement): void; + + /** Enable the particular toolbar item + * @param {string|HTMLElement} Id of the tool item/ Tool item element to be Enabled + * @returns {void} + */ + enableToolbarItem(item: string|HTMLElement): void; + + /** Refresh the content of the selected folder in FileExplorer control. + * @returns {void} + */ + refresh(): void; + + /** Remove the particular toolbar item. + * @param {string|HTMLElement} Id of the tool item/ tool item element to be removed + * @returns {void} + */ + removeToolbarItem(item: string|HTMLElement): void; +} +export module FileExplorer{ + +export interface Model { + + /** Sets the URL of server side AJAX handling method that handles file operation like Read, Remove, Rename, Create, Upload, Download, Copy and Move in FileExplorer. + */ + ajaxAction?: string; + + /** Specifies the data type of server side AJAX handling method. + * @Default {json} + */ + ajaxDataType?: string; + + /** By using ajaxSettings property, you can customize the AJAX configurations. Normally you can customize the following option in AJAX handling data, URL, type, async, contentType, dataType and success. For upload, download and getImage API, you can only customize URL. + * @Default {{ read: {}, createFolder: {}, remove: {}, rename: {}, paste: {}, getDetails: {}, download: {}, upload: {}, getImage: {}, search: {}}} + */ + ajaxSettings?: any; + + /** The FileExplorer allows to move the files from one folder to another folder of FileExplorer by using drag and drop option. Also it supports to upload a file by dragging it from windows explorer to the necessary folder of ejFileExplorer. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for FileExplorer actions. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** The FileExplorer allows to select multiple files by enabling the allowMultiSelection property. You can perform multi selection by pressing the Ctrl key or Shift key. + * @Default {true} + */ + allowMultiSelection?: boolean; + + /** By using the contextMenuSettings property, you can customize the ContextMenu in the FileExplorer control. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Sets the root class for FileExplorer theme. This cssClass API allows to use custom skinning option for File Explorer control. By defining the root class by using this API, you have to include this root class in CSS. + */ + cssClass?: string; + + /** Specify the enablePersistence to FileExplorer to save the current model value in browser cookies for state maintains. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Enables or disables the resize support in FileExplorer control. + * @Default {false} + */ + enableResize?: boolean; + + /** Enables or disables the Right to Left alignment support in FileExplorer control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Enables or disables the thumbnail image compression option in FileExplorer control. By enabling this option, you can reduce the thumbnail image size while loading. + * @Default {false} + */ + enableThumbnailCompress?: boolean; + + /** Allows specified type of files only to display in FileExplorer control. + * @Default {.} + */ + fileTypes?: string; + + /** By using filterSettings property, you can customize the search functionality of the search bar in FileExplorer control. + */ + filterSettings?: FilterSettings; + + /** By using the gridSettings property, you can customize the grid behavior in the FileExplorer control. + */ + gridSettings?: GridSettings; + + /** Specifies the height of FileExplorer control. + * @Default {400} + */ + height?: string|number; + + /** Enables or disables the responsive support for FileExplorer control during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Sets the file view type. There are three view types available such as Grid, Tile and Large icons. See layoutType. + * @Default {ej.FileExplorer.layoutType.Grid} + */ + layout?: ej.FileExplorer.layoutType|string; + + /** Sets the culture in FileExplorer. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum height of FileExplorer control. + * @Default {null} + */ + maxHeight?: string|number; + + /** Sets the maximum width of FileExplorer control. + * @Default {null} + */ + maxWidth?: string|number; + + /** Sets the minimum height of FileExplorer control. + * @Default {250px} + */ + minHeight?: string|number; + + /** Sets the minimum width of FileExplorer control. + * @Default {400px} + */ + minWidth?: string|number; + + /** The property path denotes the filesystem path that are to be explored. The path for the filesystem can be physical path or relative path, but it has to be relevant to where the Web API is hosted. + */ + path?: string; + + /** The selectedFolder is used to select the specified folder of FileExplorer control. + */ + selectedFolder?: string; + + /** The selectedItems is used to select the specified items (file, folder) of FileExplorer control. + */ + selectedItems?: string|Array; + + /** Enables or disables the checkbox option in FileExplorer control. + * @Default {true} + */ + showCheckbox?: boolean; + + /** Enables or disables the context menu option in FileExplorer control. + * @Default {true} + */ + showContextMenu?: boolean; + + /** Enables or disables the footer in FileExplorer control. The footer element displays the details of the current selected files and folders. And also the footer having the switcher to change the layout view. + * @Default {true} + */ + showFooter?: boolean; - export interface RenderCompleteEventArgs { - - /** returns the object of the gauge. - */ - object?: any; - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the context element - */ - context?: any; - - /** returns the entire scale element. - */ - scaleElement?: any; - - /** returns the gauge model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface Frame { - - /** Specify the URL of the frame background image for circular gauge - * @Default {null} - */ - backgroundImageUrl?: string; - - /** Specifies the frameType of circular gauge. See Frame - * @Default {FullCircle} - */ - frameType?: ej.datavisualization.CircularGauge.FrameType | string; - - /** Specifies the end angle for the half circular frame. - * @Default {360} - */ - halfCircleFrameEndAngle?: number; - - /** Specifies the start angle for the half circular frame. - * @Default {180} - */ - halfCircleFrameStartAngle?: number; - } - - export interface ScalesBorder { - - /** Specify border color for scales of circular gauge - * @Default {null} - */ - color?: string; - - /** Specify border width of circular gauge - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesCustomLabelsPosition { - - /** Specify x-axis position of label - * @Default {0} - */ - x?: number; - - /** Specify y-axis position of labels. - * @Default {0} - */ - y?: number; - } - - export interface ScalesCustomLabelsFont { - - /** Specify font fontFamily for custom labels. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specify font Style for custom labels. - * @Default {Bold} - */ - fontStyle?: string; - - /** Specify font size for custom labels. - * @Default {12px} - */ - size?: string; - } - - export interface ScalesCustomLabel { - - /** Value of the custom labels. - */ - value?: string; - - /** Color of the custom labels. - */ - color?: string; - - /** Specify position of custom labels - * @Default {Object} - */ - position?: ScalesCustomLabelsPosition; - - /** Specify font for custom labels - * @Default {Object} - */ - font?: ScalesCustomLabelsFont; - } - - export interface ScalesIndicatorsPosition { - - /** Specify x-axis of position of circular gauge - * @Default {0} - */ - x?: number; - - /** Specify y-axis of position of circular gauge - * @Default {0} - */ - y?: number; - } - - export interface ScalesIndicatorsStateRange { - - /** Specify backgroundColor for indicator of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify borderColor for indicator of circular gauge - * @Default {null} - */ - borderColor?: string; - - /** Specify end value for each specified state of circular gauge - * @Default {0} - */ - endValue?: number; - - /** Specify value of the font as the indicator when the indicator style is set with the value "text" of circular gauge - * @Default {null} - */ - font?: any; - - /** Specify start value for each specified state of circular gauge - * @Default {0} - */ - startValue?: number; - - /** Specify value of the text as the indicator when the indicator style is set with the value "text" of circular gauge - */ - text?: string; - - /** Specify value of the textColor as the indicator when the indicator style is set with the value "text" of circular gauge - * @Default {null} - */ - textColor?: string; - } - - export interface ScalesIndicator { - - /** Specify indicator height of circular gauge - * @Default {15} - */ - height?: number; - - /** Specify imageUrl of circular gauge - * @Default {null} - */ - imageUrl?: string; - - /** Specify position of circular gauge - * @Default {Object} - */ - position?: ScalesIndicatorsPosition; - - /** Specify the various states of circular gauge - * @Default {Array} - */ - stateRanges?: ScalesIndicatorsStateRange[]; - - /** Specify indicator style of circular gauge. See IndicatorType - * @Default {Circle} - */ - type?: ej.datavisualization.CircularGauge.IndicatorTypes | string; - - /** Specify indicator width of circular gauge - * @Default {15} - */ - width?: number; - } - - export interface ScalesLabelsFont { - - /** Specify font fontFamily for labels of circular gauge - * @Default {Arial} - */ - fontFamily?: string; - - /** Specify font Style for labels of circular gauge - * @Default {Bold} - */ - fontStyle?: string; - - /** Specify font size for labels of circular gauge - * @Default {11px} - */ - size?: string; - } - - export interface ScalesLabel { - - /** Specify the angle for the labels of circular gauge - * @Default {0} - */ - angle?: number; - - /** Specify labels autoAngle value of circular gauge - * @Default {false} - */ - autoAngle?: boolean; - - /** Specify label color of circular gauge - * @Default {null} - */ - color?: string; - - /** Specify distanceFromScale value for labels of circular gauge - * @Default {0} - */ - distanceFromScale?: number; - - /** Specify font for labels of circular gauge - * @Default {Object} - */ - font?: ScalesLabelsFont; - - /** Specify includeFirstValue of circular gauge - * @Default {true} - */ - includeFirstValue?: boolean; - - /** Specify opacity value for labels of circular gauge - * @Default {null} - */ - opacity?: number; - - /** Specify label placement of circular gauge. See LabelPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement | string; - - /** Specify label Style of circular gauge. See LabelType - * @Default {Major} - */ - type?: ej.datavisualization.CircularGauge.LabelType | string; - - /** Specify unitText of circular gauge - */ - unitText?: string; - - /** Specify unitTextPosition of circular gauge. See UnitTextPosition - * @Default {Back} - */ - unitTextPosition?: ej.datavisualization.CircularGauge.UnitTextPlacement | string; - } - - export interface ScalesPointerCap { - - /** Specify cap backgroundColor of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify cap borderColor of circular gauge - * @Default {null} - */ - borderColor?: string; - - /** Specify pointerCap borderWidth value of circular gauge - * @Default {3} - */ - borderWidth?: number; - - /** Specify cap interiorGradient value of circular gauge - * @Default {null} - */ - interiorGradient?: any; - - /** Specify pointerCap Radius value of circular gauge - * @Default {7} - */ - radius?: number; - } - - export interface ScalesPointersBorder { - - /** Specify border color for pointer of circular gauge - * @Default {null} - */ - color?: string; - - /** Specify border width for pointers of circular gauge - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesPointersPointerValueTextFont { - - /** Specify pointer value text font family of circular gauge. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specify pointer value text font style of circular gauge. - * @Default {Bold} - */ - fontStyle?: string; - - /** Specify pointer value text size of circular gauge. - * @Default {11px} - */ - size?: string; - } - - export interface ScalesPointersPointerValueText { - - /** Specify pointer text angle of circular gauge. - * @Default {0} - */ - angle?: number; - - /** Specify pointer text auto angle of circular gauge. - * @Default {false} - */ - autoAngle?: boolean; - - /** Specify pointer value text color of circular gauge. - * @Default {#8c8c8c} - */ - color?: string; - - /** Specify pointer value text distance from pointer of circular gauge. - * @Default {20} - */ - distance?: number; - - /** Specify pointer value text font option of circular gauge. - * @Default {object} - */ - font?: ScalesPointersPointerValueTextFont; - - /** Specify pointer value text opacity of circular gauge. - * @Default {1} - */ - opacity?: number; - - /** enable pointer value text visibility of circular gauge. - * @Default {false} - */ - showValue?: boolean; - } - - export interface ScalesPointer { - - /** Specify backgroundColor for the pointer of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify backNeedleLength of circular gauge - * @Default {10} - */ - backNeedleLength?: number; - - /** Specify the border for pointers of circular gauge - * @Default {Object} - */ - border?: ScalesPointersBorder; - - /** Specify distanceFromScale value for pointers of circular gauge - * @Default {0} - */ - distanceFromScale?: number; - - /** Specify pointer gradients of circular gauge - * @Default {null} - */ - gradients?: any; - - /** Specify pointer image of circular gauge.It is applicable for both marker as well as needle type pointers. - * @Default {NULL} - */ - imageUrl?: string; - - /** Specify pointer length of circular gauge - * @Default {150} - */ - length?: number; - - /** Specify marker Style value of circular gauge. See MarkerType - * @Default {Rectangle} - */ - markerType?: ej.datavisualization.CircularGauge.MarkerType | string; - - /** Specify needle Style value of circular gauge. See NeedleType - * @Default {Triangle} - */ - needleType?: ej.datavisualization.CircularGauge.NeedleType | string; - - /** Specify opacity value for pointer of circular gauge - * @Default {1} - */ - opacity?: number; - - /** Specify radius value for pointer of circular gauge - * @Default {null} - */ - radius?: number; - - /** Specify pointer Placement value of circular gauge. See PointerPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement | string; - - /** Specify pointer value text of circular gauge. - * @Default {Object} - */ - pointerValueText?: ScalesPointersPointerValueText; - - /** Specify showBackNeedle value of circular gauge - * @Default {false} - */ - showBackNeedle?: boolean; - - /** Specify pointer type value of circular gauge. See PointerType - * @Default {Needle} - */ - type?: ej.datavisualization.CircularGauge.PointerType | string; - - /** Specify value of the pointer of circular gauge - * @Default {null} - */ - value?: number; - - /** Specify pointer width of circular gauge - * @Default {7} - */ - width?: number; - } - - export interface ScalesRangesBorder { - - /** Specify border color for ranges of circular gauge - * @Default {#32b3c6} - */ - color?: string; - - /** Specify border width for ranges of circular gauge - * @Default {1.5} - */ - width?: number; - } - - export interface ScalesRange { - - /** Specify backgroundColor for the ranges of circular gauge - * @Default {#32b3c6} - */ - backgroundColor?: string; - - /** Specify border for ranges of circular gauge - * @Default {Object} - */ - border?: ScalesRangesBorder; - - /** Specify distanceFromScale value for ranges of circular gauge - * @Default {25} - */ - distanceFromScale?: number; - - /** Specify endValue for ranges of circular gauge - * @Default {null} - */ - endValue?: number; - - /** Specify endWidth for ranges of circular gauge - * @Default {10} - */ - endWidth?: number; - - /** Specify range gradients of circular gauge - * @Default {null} - */ - gradients?: any; - - /** Specify opacity value for ranges of circular gauge - * @Default {null} - */ - opacity?: number; - - /** Specify placement of circular gauge. See RangePlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement | string; - - /** Specify size of the range value of circular gauge - * @Default {5} - */ - size?: number; - - /** Specify startValue for ranges of circular gauge - * @Default {null} - */ - startValue?: number; - - /** Specify startWidth of circular gauge - * @Default {[Array.number] scale.ranges.startWidth = 10} - */ - startWidth?: number; - } - - export interface ScalesSubGaugesPosition { - - /** Specify x-axis position for sub-gauge of circular gauge - * @Default {0} - */ - x?: number; - - /** Specify y-axis position for sub-gauge of circular gauge - * @Default {0} - */ - y?: number; - } - - export interface ScalesSubGauge { - - /** Specify subGauge Height of circular gauge - * @Default {150} - */ - height?: number; - - /** Specify position for sub-gauge of circular gauge - * @Default {Object} - */ - position?: ScalesSubGaugesPosition; - - /** Specify subGauge Width of circular gauge - * @Default {150} - */ - width?: number; - } - - export interface ScalesTick { - - /** Specify the angle for the ticks of circular gauge - * @Default {0} - */ - angle?: number; - - /** Specify tick color of circular gauge - * @Default {null} - */ - color?: string; - - /** Specify distanceFromScale value for ticks of circular gauge - * @Default {0} - */ - distanceFromScale?: number; - - /** Specify tick height of circular gauge - * @Default {16} - */ - height?: number; - - /** Specify tick placement of circular gauge. See TickPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement | string; - - /** Specify tick Style of circular gauge. See TickType - * @Default {Major} - */ - type?: ej.datavisualization.CircularGauge.LabelType | string; - - /** Specify tick width of circular gauge - * @Default {3} - */ - width?: number; - } - - export interface Scale { - - /** Specify backgroundColor for the scale of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify border for scales of circular gauge - * @Default {Object} - */ - border?: ScalesBorder; - - /** Specify scale direction of circular gauge. See Directions - * @Default {Clockwise} - */ - direction?: ej.datavisualization.CircularGauge.Direction | string; - - /** Specify the custom labels for the scales. - * @Default {Array} - */ - customLabels?: ScalesCustomLabel[]; - - /** Specify representing state of circular gauge - * @Default {Array} - */ - indicators?: ScalesIndicator[]; - - /** Specify the text values displayed in a meaningful manner alongside the ticks of circular gauge - * @Default {Array} - */ - labels?: ScalesLabel[]; - - /** Specify majorIntervalValue of circular gauge - * @Default {10} - */ - majorIntervalValue?: number; - - /** Specify maximum scale value of circular gauge - * @Default {null} - */ - maximum?: number; - - /** Specify minimum scale value of circular gauge - * @Default {null} - */ - minimum?: number; - - /** Specify minorIntervalValue of circular gauge - * @Default {2} - */ - minorIntervalValue?: number; - - /** Specify opacity value of circular gauge - * @Default {1} - */ - opacity?: number; - - /** Specify pointer cap of circular gauge - * @Default {Object} - */ - pointerCap?: ScalesPointerCap; - - /** Specify pointers value of circular gauge - * @Default {Array} - */ - pointers?: ScalesPointer[]; - - /** Specify scale radius of circular gauge - * @Default {170} - */ - radius?: number; - - /** Specify ranges value of circular gauge - * @Default {Array} - */ - ranges?: ScalesRange[]; - - /** Specify shadowOffset value of circular gauge - * @Default {0} - */ - shadowOffset?: number; - - /** Specify showIndicators of circular gauge - * @Default {false} - */ - showIndicators?: boolean; - - /** Specify showLabels of circular gauge - * @Default {true} - */ - showLabels?: boolean; - - /** Specify showPointers of circular gauge - * @Default {true} - */ - showPointers?: boolean; - - /** Specify showRanges of circular gauge - * @Default {false} - */ - showRanges?: boolean; - - /** Specify showScaleBar of circular gauge - * @Default {false} - */ - showScaleBar?: boolean; - - /** Specify showTicks of circular gauge - * @Default {true} - */ - showTicks?: boolean; - - /** Specify scaleBar size of circular gauge - * @Default {6} - */ - size?: number; - - /** Specify startAngle of circular gauge - * @Default {115} - */ - startAngle?: number; - - /** Specify subGauge of circular gauge - * @Default {Array} - */ - subGauges?: ScalesSubGauge[]; - - /** Specify sweepAngle of circular gauge - * @Default {310} - */ - sweepAngle?: number; - - /** Specify ticks of circular gauge - * @Default {Array} - */ - ticks?: ScalesTick[]; - } - - export interface Tooltip { - - /** enable showCustomLabelTooltip of circular gauge - * @Default {false} - */ - showCustomLabelTooltip?: boolean; - - /** enable showLabelTooltip of circular gauge - * @Default {false} - */ - showLabelTooltip?: boolean; - - /** Specify tooltip templateID of circular gauge - * @Default {false} - */ - templateID?: string; - } - } - namespace CircularGauge { - enum FrameType { - //string - FullCircle, - //string - HalfCircle, - } - } - namespace CircularGauge { - enum gaugePosition { - //string - TopLeft, - //string - TopRight, - //string - TopCenter, - //string - MiddleLeft, - //string - MiddleRight, - //string - Center, - //string - BottomLeft, - //string - BottomRight, - //string - BottomCenter, - } - } - namespace CircularGauge { - enum CustomLabelPositionType { - //string - Top, - //string - Bottom, - //string - Right, - //string - Left, - } - } - namespace CircularGauge { - enum Direction { - //string - Clockwise, - //string - CounterClockwise, - } - } - namespace CircularGauge { - enum IndicatorTypes { - //string - Rectangle, - //string - Circle, - //string - Text, - //string - RoundedRectangle, - //string - Image, - } - } - namespace CircularGauge { - enum Placement { - //string - Near, - //string - Far, - } - } - namespace CircularGauge { - enum LabelType { - //string - Major, - //string - Minor, - } - } - namespace CircularGauge { - enum UnitTextPlacement { - //string - Back, - //string - Front, - } - } - namespace CircularGauge { - enum MarkerType { - //string - Rectangle, - //string - Circle, - //string - Triangle, - //string - Ellipse, - //string - Diamond, - //string - Pentagon, - //string - Slider, - //string - Pointer, - //string - Wedge, - //string - Trapezoid, - //string - RoundedRectangle, - //string - Image, - } - } - namespace CircularGauge { - enum NeedleType { - //string - Triangle, - //string - Rectangle, - //string - Arrow, - //string - Image, - //string - Trapezoid, - } - } - namespace CircularGauge { - enum PointerType { - //string - Needle, - //string - Marker, - } - } - - class DigitalGauge extends ej.Widget { - static fn: DigitalGauge; - constructor(element: JQuery | Element, options?: DigitalGauge.Model); - static Locale: any; - model: DigitalGauge.Model; - defaults: DigitalGauge.Model; - - /** To destroy the digital gauge - * @returns {void} - */ - destroy(): void; - - /** To export Digital Gauge as Image - * @param {string} fileName for the Image - * @param {string} fileType for the Image - * @returns {boolean} - */ - exportImage(fileName: string, fileType: string): boolean; - - /** Gets the location of an item that is displayed on the gauge. - * @param {number} Position value of an item that is displayed on the gauge. - * @returns {any} - */ - getPosition(itemIndex: number): any; - - /** ClientSideMethod getValue Gets the value of an item that is displayed on the gauge - * @param {number} Index value of an item that displayed on the gauge - * @returns {any} - */ - getValue(itemIndex: number): any; - - /** Refresh the digital gauge widget - * @returns {void} - */ - refresh(): void; - - /** ClientSideMethod Set Position Sets the location of an item to be displayed in the gauge - * @param {number} Index value of the digital gauge item - * @param {any} Location value of the digital gauge - * @returns {void} - */ - setPosition(itemIndex: number, value: any): void; - - /** ClientSideMethod SetValue Sets the value of an item to be displayed in the gauge. - * @param {number} Index value of the digital gauge item - * @param {string} Text value to be displayed in the gaugeS - * @returns {void} - */ - setValue(itemIndex: number, value: string): void; - } - export namespace DigitalGauge { - - export interface Model { - - /** Specifies the frame of the Digital gauge. - * @Default {{backgroundImageUrl: null, innerWidth: 6, outerWidth: 10}} - */ - frame?: Frame; - - /** Specifies the height of the DigitalGauge. - * @Default {150} - */ - height?: number; - - /** Specifies the resize option of the DigitalGauge. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the items for the DigitalGauge. - * @Default {null} - */ - items?: Item[]; - - /** Specifies the matrixSegmentData for the DigitalGauge. - */ - matrixSegmentData?: any; - - /** Specifies the segmentData for the DigitalGauge. - */ - segmentData?: any; - - /** Specifies the themes for the Digital gauge. See Themes - * @Default {flatlight} - */ - themes?: string; - - /** Specifies the value to the DigitalGauge. - * @Default {text} - */ - value?: string; - - /** Specifies the width for the Digital gauge. - * @Default {400} - */ - width?: number; - - /** Triggers when the gauge is initialized. */ - init?(e: InitEventArgs): void; - - /** Triggers when the gauge item rendering. */ - itemRendering?(e: ItemRenderingEventArgs): void; - - /** Triggers when the gauge is start to load. */ - load?(e: LoadEventArgs): void; - - /** Triggers when the gauge render is completed. */ - renderComplete?(e: RenderCompleteEventArgs): void; - } - - export interface InitEventArgs { - - /** returns the object of the gauge. - */ - object?: any; - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the all the options of the items. - */ - items?: any; - - /** returns the context element - */ - context?: any; - - /** returns the gauge model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemRenderingEventArgs { - - /** returns the object of the gauge. - */ - object?: any; + /** FileExplorer control is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the all the options of the items. - */ - items?: any; + /** FileExplorer control is rendered with thumbnail preview of images in Tile and LargeIcons layout when this property set to true. + * @Default {true} + */ + showThumbnail?: boolean; - /** returns the context element - */ - context?: any; - - /** returns the gauge model - */ - model?: any; + /** Shows or disables the toolbar in FileExplorer control. + * @Default {true} + */ + showToolbar?: boolean; - /** returns the name of the event - */ - type?: string; - } + /** Enables or disables the navigation pane in FileExplorer control. The navigation pane contains a tree view element that displays all the folders from the filesystem in a hierarchical manner. This is useful to a quick navigation of any folder in the filesystem. + * @Default {true} + */ + showNavigationPane?: boolean; - export interface LoadEventArgs { + /** The tools property is used to configure and group required toolbar items in FileExplorer control. + * @Default {{ creation: [NewFolder], navigation: [Back, Forward, Upward], addressBar: [Addressbar], editing: [Refresh, Upload, Delete, Rename, Download], copyPaste: [Cut, Copy, Paste], getProperties: [Details], searchBar: [Searchbar], layout: [Layout], sortBy: [SortBy]}} + */ + tools?: any; - /** returns the object of the gauge. - */ - object?: any; - - /** returns the cancel option value - */ - cancel?: boolean; + /** The toolsList property is used to arrange the toolbar items in the FileExplorer control. + * @Default {[layout, creation, navigation, addressBar, editing, copyPaste, sortBy, getProperties, searchBar]} + */ + toolsList?: Array; - /** returns the all the options of the items. - */ - items?: any; + /** Gets or sets an object that indicates whether to customize the upload behavior in the FileExplorer. + */ + uploadSettings?: UploadSettings; - /** returns the context element - */ - context?: any; + /** Specifies the width of FileExplorer control. + * @Default {850} + */ + width?: string|number; - /** returns the gauge model - */ - model?: any; + /** Fires before the AJAX request is performed. */ + beforeAjaxRequest? (e: BeforeAjaxRequestEventArgs): void; - /** returns the name of the event - */ - type?: string; - } + /** Fires before downloading the files. */ + beforeDownload? (e: BeforeDownloadEventArgs): void; - export interface RenderCompleteEventArgs { + /** Fires before getting a requested image from server. Also this event will be triggered when you have enabled thumbnail image compression option in FileExplorer.Using this event, you can customize the image compression size. */ + beforeGetImage? (e: BeforeGetImageEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Fires before files or folders open. */ + beforeOpen? (e: BeforeOpenEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the all the options of the items. - */ - items?: any; - - /** returns the context element - */ - context?: any; - - /** returns the gauge model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface Frame { - - /** Specifies the URL of an image to be displayed as background of the Digital gauge. - * @Default {null} - */ - backgroundImageUrl?: string; - - /** Specifies the inner width for the frame, when the background image has been set for the Digital gauge.. - * @Default {6} - */ - innerWidth?: number; - - /** Specifies the outer width of the frame, when the background image has been set for the Digital gauge. - * @Default {10} - */ - outerWidth?: number; - } - - export interface ItemsCharacterSettings { - - /** Specifies the CharacterCount value for the DigitalGauge. - * @Default {4} - */ - count?: number; - - /** Specifies the opacity value for the DigitalGauge. - * @Default {1} - */ - opacity?: number; - - /** Specifies the value for spacing between the characters - * @Default {2} - */ - spacing?: number; - - /** Specifies the character type for the text to be displayed. - * @Default {ej.datavisualization.DigitalGauge.CharacterType.EightCrossEightDotMatrix} - */ - type?: ej.datavisualization.DigitalGauge.CharacterType | string; - } - - export interface ItemsFont { - - /** Set the font family value - * @Default {Arial} - */ - fontFamily?: string; - - /** Set the font style for the font - * @Default {italic} - */ - fontStyle?: ej.datavisualization.DigitalGauge.FontStyle | string; - - /** Set the font size value - * @Default {11px} - */ - size?: string; - } - - export interface ItemsPosition { - - /** Set the horizontal location for the text, where it needs to be placed within the gauge. - * @Default {0} - */ - x?: number; - - /** Set the vertical location for the text, where it needs to be placed within the gauge. - * @Default {0} - */ - y?: number; - } - - export interface ItemsSegmentSettings { - - /** Set the color for the text segments. - * @Default {null} - */ - color?: string; - - /** Set the gradient for the text segments. - * @Default {null} - */ - gradient?: any; - - /** Set the length for the text segments. - * @Default {2} - */ - length?: number; - - /** Set the opacity for the text segments. - * @Default {0} - */ - opacity?: number; - - /** Set the spacing for the text segments. - * @Default {1} - */ - spacing?: number; - - /** Set the width for the text segments. - * @Default {1} - */ - width?: number; - } - - export interface Item { - - /** Specifies the Character settings for the DigitalGauge. - * @Default {null} - */ - characterSettings?: ItemsCharacterSettings; - - /** Enable/Disable the custom font to be applied to the text in the gauge. - * @Default {false} - */ - enableCustomFont?: boolean; - - /** Set the specific font for the text, when the enableCustomFont is set to true - * @Default {null} - */ - font?: ItemsFont; - - /** Set the location for the text, where it needs to be placed within the gauge. - * @Default {null} - */ - position?: ItemsPosition; - - /** Set the segment settings for the digital gauge. - * @Default {null} - */ - segmentSettings?: ItemsSegmentSettings; - - /** Set the value for enabling/disabling the blurring effect for the shadows of the text - * @Default {0} - */ - shadowBlur?: number; - - /** Specifies the color of the text shadow. - * @Default {null} - */ - shadowColor?: string; - - /** Set the x offset value for the shadow of the text, indicating the location where it needs to be displayed. - * @Default {1} - */ - shadowOffsetX?: number; - - /** Set the y offset value for the shadow of the text, indicating the location where it needs to be displayed. - * @Default {1} - */ - shadowOffsetY?: number; - - /** Set the alignment of the text that is displayed within the gauge.See TextAlign - * @Default {left} - */ - textAlign?: string; - - /** Specifies the color of the text. - * @Default {null} - */ - textColor?: string; - - /** Specifies the text value. - * @Default {null} - */ - value?: string; - } - } - namespace DigitalGauge { - enum CharacterType { - //string - SevenSegment, - //string - FourteenSegment, - //string - SixteenSegment, - //string - EightCrossEightDotMatrix, - //string - EightCrossEightSquareMatrix, - } - } - namespace DigitalGauge { - enum FontStyle { - //string - Normal, - //string - Bold, - //string - Italic, - //string - Underline, - //string - Strikeout, - } - } - - class Chart extends ej.Widget { - static fn: Chart; - constructor(element: JQuery | Element, options?: Chart.Model); - static Locale: any; - model: Chart.Model; - defaults: Chart.Model; - - /** Animates the series and/or indicators in Chart. When parameter is not passed to this method, then all the series and indicators present in Chart are animated. - * @param {any} If an array collection is passed as parameter, series and indicator objects passed in array collection are animated.ExampleIf a series - * or indicator object is passed to this method, then the specific series or indicator is animated.Example, - * @returns {void} - */ - animate(options: any): void; - - /** Exports chart as an image or to an excel file. Chart can be exported as an image only when exportCanvasRendering option is set to true. - * @param {string} Type of the export operation to be performed. Following are the two export types that are supported now,1. 'image'2. 'excel'Example - * @param {string} URL of the service, where the chart will be exported to excel.Example, - * @param {boolean} When this parameter is true, all the chart objects initialized to the same document are exported to a single excel file. - * This is an optional parameter. By default, it is false.Example, - * @returns {any} - */ - export(type: string, URL: string, exportMultipleChart: boolean): any; - - /** Redraws the entire chart. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - } - export namespace Chart { - - export interface Model { - - /** Options for adding and customizing annotations in Chart. - */ - annotations?: Annotation[]; - - /** URL of the image to be used as chart background. - * @Default {null} - */ - backGroundImageUrl?: string; - - /** Options for customizing the color, opacity and width of the chart border. - */ - border?: Border; - - /** This provides options for customizing export settings - */ - exportSettings?: ExportSettings; - - /** Options for configuring the border and background of the plot area. - */ - chartArea?: ChartArea; - - /** Options to split Chart into multiple plotting areas vertically. Each object in the collection represents a plotting area in Chart. - */ - columnDefinitions?: ColumnDefinition[]; - - /** Options for configuring the properties of all the series. You can also override the options for specific series by using series collection. - */ - commonSeriesOptions?: CommonSeriesOptions; - - /** Options for displaying and customizing the crosshair. - */ - crosshair?: Crosshair; - - /** Depth of the 3D Chart from front view of series to background wall. This property is applicable only for 3D view. - * @Default {100} - */ - depth?: number; - - /** Controls whether 3D view has to be enabled or not. 3D view is supported only for column, bar. Stacking column, stacking bar, pie and doughnut series types. - * @Default {false} - */ - enable3D?: boolean; - - /** Controls whether Chart has to be rendered as Canvas or SVG. Canvas rendering supports all functionalities in SVG rendering except 3D Charts. - * @Default {false} - */ - enableCanvasRendering?: boolean; - - /** Controls whether the series has to be rendered at initial loading of chart, this will be useful in scenarios where chart is placed at the bottom of the web page - * and we need to render the series only when the chart is visible while scrolling to the top. - * @Default {true} - */ - initSeriesRender?: boolean; - - /** Controls whether 3D view has to be rotated on dragging. This property is applicable only for 3D view. - * @Default {false} - */ - enableRotation?: boolean; - - /** Options to customize the technical indicators. - */ - indicators?: Indicator[]; - - /** Controls whether Chart has to be responsive while resizing. - * @Default {false} - */ - isResponsive?: boolean; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; - - /** Name of the culture based on which chart should be localized. Number and date time values are localized with respect to the culture name.String type properties like title text are - * not localized automatically. Provide localized text as value to string type properties. - * @Default {en-US} - */ - locale?: string; - - /** Palette is used to store the series fill color in array and apply the color to series collection in the order of series index. - * @Default {null} - */ - palette?: any[]; - - /** Options to customize the left, right, top and bottom margins of chart area. - */ - Margin?: any; - - /** Perspective angle of the 3D view. Chart appears closer when perspective angle is decreased, and distant when perspective angle is increased. - * This property is applicable only when 3D view is enabled - * @Default {90} - */ - perspectiveAngle?: number; - - /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. - * To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s xAxisName property to link both axis and series. - */ - primaryXAxis?: PrimaryXAxis; - - /** To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s xAxisName property to link both axis and series. - */ - axes?: Axis[]; - - /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. - * To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s yAxisName property to link both axis and series. - */ - primaryYAxis?: PrimaryYAxis; - - /** Rotation angle of the 3D view. This property is applicable only when 3D view is enabled. - * @Default {0} - */ - rotation?: number; + /** Fires before uploading the files. */ + beforeUpload? (e: BeforeUploadEventArgs): void; - /** Options to split Chart into multiple plotting areas horizontally. Each object in the collection represents a plotting area in Chart. - */ - rowDefinitions?: RowDefinition[]; + /** Fires when FileExplorer control was created */ + create? (e: CreateEventArgs): void; - /** Specifies the properties used for customizing the series. - */ - series?: Series[]; + /** Fires when file or folder is copied successfully. */ + copy? (e: CopyEventArgs): void; - /** Controls whether data points has to be displayed side by side or along the depth of the axis. - * @Default {false} - */ - sideBySideSeriesPlacement?: boolean; + /** Fires when new folder is created successfully in file system. */ + createFolder? (e: CreateFolderEventArgs): void; - /** Options to customize the Chart size. - */ - size?: Size; + /** Fires when file or folder is cut successfully. */ + cut? (e: CutEventArgs): void; - /** Specifies the theme for Chart. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Chart.Theme | string; + /** Fires when the FileExplorer is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; - /** Slope angle of 3D Chart. This property is applicable only when 3D view is enabled. - * @Default {0} - */ - tilt?: number; + /** Fires when the files or directory has been started to drag over on the FileExplorer */ + dragStart? (e: DragStartEventArgs): void; - /** Options for customizing the title and subtitle of Chart. - */ - title?: Title; + /** Fires when the files or directory is dragging over on the FileExplorer. */ + drag? (e: DragEventArgs): void; - /** Width of the wall used in 3D Chart. Wall is present only in Cartesian type 3D series and not in 3D pie or Doughnut series. This property is applicable only when 3D view is enabled. - * @Default {2} - */ - wallSize?: number; + /** Fires when the files or directory has been stopped to drag over on FileExplorer */ + dragStop? (e: DragStopEventArgs): void; - /** Options for enabling zooming feature of chart. - */ - zooming?: Zooming; + /** Fires when the files or directory is dropped to the target folder of FileExplorer */ + drop? (e: DropEventArgs): void; - /** Fires after the series animation is completed. This event will be triggered for each series when animation is enabled. */ - animationComplete?(e: AnimationCompleteEventArgs): void; + /** Fires after loading the requested image from server. Using this event, you can get the details of loaded image. */ + getImage? (e: GetImageEventArgs): void; - /** Fires before rendering the labels. This event is fired for each label in axis. You can use this event to add custom text to axis labels. */ - axesLabelRendering?(e: AxesLabelRenderingEventArgs): void; + /** Fires when keydown in FileExplorer control. */ + keydown? (e: KeydownEventArgs): void; - /** Fires during the initialization of axis labels. */ - axesLabelsInitialize?(e: AxesLabelsInitializeEventArgs): void; + /** Fires when the file view type is changed. */ + layoutChange? (e: LayoutChangeEventArgs): void; - /** Fires during axes range calculation. This event is fired for each axis present in Chart. You can use this event to customize axis range as required. */ - axesRangeCalculate?(e: AxesRangeCalculateEventArgs): void; + /** Fires when before the ContextMenu opening. */ + menuBeforeOpen? (e: MenuBeforeOpenEventArgs): void; - /** Fires before rendering the axis title. This event is triggered for each axis with title. You can use this event to add custom text to axis title. */ - axesTitleRendering?(e: AxesTitleRenderingEventArgs): void; + /** Fires when click the ContextMenu item. */ + menuClick? (e: MenuClickEventArgs): void; - /** Fires during the calculation of chart area bounds. You can use this event to customize the bounds of chart area. */ - chartAreaBoundsCalculate?(e: ChartAreaBoundsCalculateEventArgs): void; + /** Fires when ContextMenu is successfully opened. */ + menuOpen? (e: MenuOpenEventArgs): void; - /** Fires after chart is created. */ - create?(e: CreateEventArgs): void; + /** Fires when files are successfully opened. */ + open? (e: OpenEventArgs): void; - /** Fires when chart is destroyed completely. */ - destroy?(e: DestroyEventArgs): void; + /** Fires when a file or folder is pasted successfully. */ + paste? (e: PasteEventArgs): void; - /** Fires before rendering the data labels. This event is triggered for each data label in the series. You can use this event to add custom text in data labels. */ - displayTextRendering?(e: DisplayTextRenderingEventArgs): void; + /** Fires when file or folder is deleted successfully. */ + remove? (e: RemoveEventArgs): void; - /** Fires during the calculation of legend bounds. You can use this event to customize the bounds of legend. */ - legendBoundsCalculate?(e: LegendBoundsCalculateEventArgs): void; + /** Fires when resizing is performed for FileExplorer. */ + resize? (e: ResizeEventArgs): void; - /** Fires on clicking the legend item. */ - legendItemClick?(e: LegendItemClickEventArgs): void; + /** Fires when resizing is started for FileExplorer. */ + resizeStart? (e: ResizeStartEventArgs): void; - /** Fires when moving mouse over legend item. You can use this event for hit testing on legend items. */ - legendItemMouseMove?(e: LegendItemMouseMoveEventArgs): void; + /** Fires this event when the resizing is stopped for FileExplorer. */ + resizeStop? (e: ResizeStopEventArgs): void; - /** Fires before rendering the legend item. This event is fired for each legend item in Chart. You can use this event to customize legend item shape or add custom text to legend item. */ - legendItemRendering?(e: LegendItemRenderingEventArgs): void; + /** Fires when the items from grid view or tile view of FileExplorer control is selected. */ + select? (e: SelectEventArgs): void; - /** Fires before loading the chart. */ - load?(e: LoadEventArgs): void; + /** Triggered when refresh the template column elements in the grid view of FileExplorer control. */ + templateRefresh? (e: TemplateRefreshEventArgs): void; - /** Fires after selected the data in chart. */ - rangeSelected?(e: RangeSelectedEventArgs): void; + /** Fires when the items from grid view or tile view or large icons view of FileExplorer control is unselected. */ + unselect? (e: UnselectEventArgs): void; +} - /** Fires on clicking a point in chart. You can use this event to handle clicks made on points. */ - pointRegionClick?(e: PointRegionClickEventArgs): void; +export interface BeforeAjaxRequestEventArgs { - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires before rendering chart. */ - preRender?(e: PreRenderEventArgs): void; + /** returns the AJAX request data + */ + data?: any; - /** Fires after selecting a series. This event is triggered after selecting a series only if selection mode is series. */ - seriesRegionClick?(e: SeriesRegionClickEventArgs): void; + /** returns the FileExplorer model + */ + model?: ej.FileExplorer.Model; - /** Fires before rendering a series. This event is fired for each series in Chart. */ - seriesRendering?(e: SeriesRenderingEventArgs): void; + /** returns the name of the event + */ + type?: string; +} - /** Fires before rendering the marker symbols. This event is triggered for each marker in Chart. */ - symbolRendering?(e: SymbolRenderingEventArgs): void; +export interface BeforeDownloadEventArgs { - /** Fires before rendering the Chart title. You can use this event to add custom text in Chart title. */ - titleRendering?(e: TitleRenderingEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires before rendering the tooltip. This event is fired when tooltip is enabled and mouse is hovered on a Chart point. You can use this event to customize tooltip before rendering. */ - toolTipInitialize?(e: ToolTipInitializeEventArgs): void; + /** returns the downloaded file names. + */ + files?: string[]; - /** Fires before rendering crosshair tooltip in axis. This event is fired for each axis with crosshair label enabled. You can use this event to customize crosshair label before rendering */ - trackAxisToolTip?(e: TrackAxisToolTipEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires before rendering trackball tooltip. This event is fired for each series in Chart because trackball tooltip is displayed for all the series. - * You can use this event to customize the text displayed in trackball tooltip. - */ - trackToolTip?(e: TrackToolTipEventArgs): void; + /** returns the path of currently opened item. + */ + path?: string; - /** Fires, on clicking the axis label. */ - axisLabelClick?(e: AxisLabelClickEventArgs): void; + /** returns the selected item details. + */ + selectedItems?: any; - /** Fires on moving mouse over the axis label. */ - axisLabelMouseMove?(e: AxisLabelMouseMoveEventArgs): void; + /** returns the name of the event. + */ + type?: string; +} - /** Fires, on the clicking the chart. */ - chartClick?(e: ChartClickEventArgs): void; +export interface BeforeGetImageEventArgs { - /** Fires on moving mouse over the chart. */ - chartMouseMove?(e: ChartMouseMoveEventArgs): void; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires, on double clicking the chart. */ - chartDoubleClick?(e: ChartDoubleClickEventArgs): void; + /** enable or disable the image compress option. + */ + canCompress?: boolean; - /** Fires on clicking the annotation. */ - annotationClick?(e: AnnotationClickEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires, after the chart is resized. */ - afterResize?(e: AfterResizeEventArgs): void; + /** returns the expected image size. + */ + size?: any; - /** Fires, when chart size is changing. */ - beforeResize?(e: BeforeResizeEventArgs): void; + /** returns the selected item details. + */ + selectedItems?: any; - /** Fires, when error bar is rendering. */ - errorBarRendering?(e: ErrorBarRenderingEventArgs): void; + /** returns the name of the event. + */ + type?: string; +} - /** Trigger, after the scrollbar position is changed. */ - scrollChanged?(e: ScrollChangedEventArgs): void; +export interface BeforeOpenEventArgs { - /** Event triggered when scroll starts */ - scrollStart?(e: ScrollStartEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Event triggered when scroll end */ - scrollEnd?(e: ScrollEndEventArgs): void; - } + /** returns the opened item type. + */ + itemType?: string; - export interface AnimationCompleteEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance of the series that completed has animation. - */ - series?: any; + /** returns the path of currently opened item. + */ + path?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the selected item details. + */ + selectedItems?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Name of the event - */ - type?: string; - } +export interface BeforeUploadEventArgs { - export interface AxesLabelRenderingEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance of the corresponding axis. - */ - Axis?: any; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Formatted text of the respective label. You can also add custom text to the label. - */ - LabelText?: string; + /** returns the path of currently opened item. + */ + path?: string; - /** Actual value of the label. - */ - LabelValue?: string; + /** returns the selected item details. + */ + selectedItems?: any; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the upload item details. + */ + uploadItemDetails?: any; - /** Instance of the chart model object. - */ - model?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Name of the event - */ - type?: string; - } +export interface CreateEventArgs { - export interface AxesLabelsInitializeEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Collection of axes in Chart - */ - dataAxes?: any; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; +} - /** Instance of the chart model object. - */ - model?: any; +export interface CopyEventArgs { - /** Name of the event - */ - type?: string; - } + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - export interface AxesRangeCalculateEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Difference between minimum and maximum value of axis range. - */ - delta?: number; + /** returns the name of copied file/folder. + */ + name?: string[]; - /** Interval value of axis range. Grid lines, tick lines and axis labels are drawn based on this interval value. - */ - interval?: number; + /** returns the selected item details. + */ + selectedItems?: any; - /** Maximum value of axis range. - */ - max?: number; + /** returns the source path. + */ + sourcePath?: string; - /** Minimum value of axis range. - */ - min?: number; + /** returns the name of the event. + */ + type?: string; +} - /** Set this option to true to cancel the event. - */ - cancel?: boolean; +export interface CreateFolderEventArgs { - /** Instance of the chart model object. - */ - model?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; - } + /** returns the AJAX response data + */ + data?: any; - export interface AxesTitleRenderingEventArgs { + /** returns the FileExplorer model + */ + model?: ej.FileExplorer.Model; - /** Instance of the axis whose title is being rendered - */ - axes?: any; + /** returns the selected item details + */ + selectedItems?: any; - /** X-coordinate of title location - */ - locationX?: number; + /** returns the name of the event. + */ + type?: string; +} - /** Y-coordinate of title location - */ - locationY?: number; +export interface CutEventArgs { - /** Axis title text. You can add custom text to the title. - */ - title?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance of the chart model object. - */ - model?: any; + /** returns the name of moved file or folder. + */ + name?: string[]; - /** Name of the event - */ - type?: string; - } + /** returns the selected item details. + */ + selectedItems?: any; - export interface ChartAreaBoundsCalculateEventArgs { + /** returns the source path. + */ + sourcePath?: string; - /** Height of the chart area. - */ - areaBoundsHeight?: number; + /** returns the name of the event. + */ + type?: string; +} - /** Width of the chart area. - */ - areaBoundsWidth?: number; +export interface DestroyEventArgs { - /** X-coordinate of the chart area. - */ - areaBoundsX?: number; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Y-coordinate of the chart area. - */ - areaBoundsY?: number; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; +} - /** Instance of the chart model object. - */ - model?: any; +export interface DragStartEventArgs { - /** Name of the event - */ - type?: string; - } + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - export interface CreateEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** Instance of the chart model object. - */ - model?: any; + /** returns the dragging element. + */ + target?: any; - /** Name of the event - */ - type?: string; - } + /** returns the path of dragging element. + */ + targetPath?: string; - export interface DestroyEventArgs { + /** returns the dragging file details. + */ + selectedItems?: any; +} - /** Set this option to true to cancel the event. - */ - cancel?: boolean; +export interface DragEventArgs { - /** Instance of the chart model object. - */ - model?: any; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; - } + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - export interface DisplayTextRenderingEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Text displayed in data label. You can add custom text to the data label - */ - text?: string; + /** returns the target element. + */ + target?: any; - /** X-coordinate of data label location - */ - locationX?: number; + /** returns the name of target element. + */ + targetElementName?: string; - /** Y-coordinate of data label location - */ - locationY?: number; + /** returns the path of target element. + */ + targetPath?: string; +} - /** Index of the series in series Collection whose data label is being rendered - */ - seriesIndex?: number; +export interface DragStopEventArgs { - /** Index of the point in series whose data label is being rendered - */ - pointIndex?: number; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance of the chart model object. - */ - model?: any; + /** returns the name of the event. + */ + type?: string; - /** Name of the event - */ - type?: string; - } + /** returns the target element. + */ + target?: any; - export interface LegendBoundsCalculateEventArgs { + /** returns the path of target element. + */ + targetPath?: string; - /** Height of the legend. - */ - legendBoundsHeight?: number; + /** returns the name of target element + */ + targetElementName?: string; - /** Width of the legend. - */ - legendBoundsWidth?: number; + /** returns the action, which is performed after dropping the files (upload/ move). + */ + dropAction?: string; - /** Number of rows to display the legend items - */ - legendBoundsRows?: number; + /** returns the dragging file details + */ + fileInfo?: any; +} - /** Set this option to true to cancel the event. - */ - cancel?: boolean; +export interface DropEventArgs { - /** Instance of the chart model object. - */ - model?: any; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; - } + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - export interface LegendItemClickEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the target element. + */ + target?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of target folder. + */ + targetFolder?: string; - /** Name of the event - */ - type?: string; + /** returns the path of target folder. + */ + targetPath?: string; - /** X-coordinate of legend item in pixel - */ - startX?: number; + /** returns the dragging element details. + */ + fileInfo?: any; - /** Y-coordinate of legend item in pixel - */ - startY?: number; + /** returns the action, which is performed after dropping the files (upload/ move). + */ + dropAction?: string; +} - /** Instance of the legend item object that is about to be rendered - */ - LegendItem?: any; +export interface GetImageEventArgs { - /** Options to customize the legend item styles such as border, color, size, etc…, - */ - style?: any; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance that holds information about legend bounds and legend item bounds. - */ - Bounds?: any; + /** loaded image path. + */ + path?: string; - /** Name of the legend item shape. Use this option to customize legend item shape before rendering - */ - symbolShape?: string; + /** loaded image element + */ + element?: any; - /** Instance of the series object corresponding to the legend item - */ - series?: any; - } + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - export interface LegendItemMouseMoveEventArgs { + /** original arguments of image load or error event + */ + originalArgs?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the action type, which specifies thumbnail preview or opening image. + */ + action?: string; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Name of the event - */ - type?: string; +export interface KeydownEventArgs { - /** X-coordinate of legend item in pixel - */ - startX?: number; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Y-coordinate of legend item in pixel - */ - startY?: number; + /** returns the downed key keyCode value + */ + keyCode?: number; - /** Instance of the legend item object that is about to be rendered - */ - LegendItem?: any; + /** returns altKey value. + */ + altKey?: boolean; - /** Options to customize the legend item styles such as border, color, size, etc…, - */ - style?: any; + /** returns shiftKey value. + */ + shiftKey?: boolean; - /** Options to customize the legend item styles such as border, color, size, etc…, - */ - Bounds?: any; + /** returns ctrlKey value. + */ + ctrlKey?: boolean; - /** Name of the legend item shape. Use this option to customize legend item shape before rendering - */ - symbolShape?: string; + /** returns the event object. + */ + originalArgs?: any; - /** Instance of the series object corresponding to the legend item - */ - series?: any; - } + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - export interface LegendItemRenderingEventArgs { + /** returns the name of the event. + */ + type?: string; +} - /** Set this option to true to cancel the event - */ - cancel?: boolean; +export interface LayoutChangeEventArgs { - /** Instance of the chart model object - */ - model?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** return true when we change the layout via interaction, else false. + */ + isInteraction?: boolean; - /** X-coordinate of legend item in pixel - */ - startX?: number; + /** returns the current view type. + */ + layoutType?: string; - /** Y-coordinate of legend item in pixel - */ - startY?: number; + /** returns the FileExplorer model. + */ + model?: any; - /** Instance of the legend item object that is about to be rendered - */ - legendItem?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Options to customize the legend item styles such as border, color, size, etc. - */ - style?: any; +export interface MenuBeforeOpenEventArgs { - /** Name of the legend item shape. Use this option to customize legend item shape before rendering - */ - symbolShape?: string; - } + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - export interface LoadEventArgs { + /** returns the name of ContextMenu items group. + */ + contextMenu?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the dataSource of ContextMenu. + */ + dataSource?: Array; - /** Instance of the chart model object - */ - model?: any; + /** returns the element of ContextMenu. + */ + element?: any; - /** Name of the event - */ - type?: string; - } + /** returns the event of ContextMenu. + */ + events?: any; - export interface RangeSelectedEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the target element. + */ + target?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Name of the event - */ - type?: string; +export interface MenuClickEventArgs { - /** Selected data collection of object - */ - data?: any; - } + /** returns the ID of clicked ContextMenu item. + */ + ID?: string; - export interface PointRegionClickEventArgs { + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of ContextMenu items group. + */ + contextMenu?: string; - /** Instance of the chart model object - */ - model?: any; + /** returns the element of clicked ContextMenu item. + */ + element?: any; - /** Name of the event - */ - type?: string; + /** returns the event of ContextMenu. + */ + event?: any; - /** X-coordinate of point in pixel - */ - locationX?: number; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Y-coordinate of point in pixel - */ - locationY?: number; + /** returns the parent element ID of clicked ContextMenu item. + */ + parentId?: string; - /** Index of the point in series - */ - pointIndex?: number; + /** returns the parent element text of clicked ContextMenu item. + */ + parentText?: string; - /** Index of the series in series collection to which the point belongs - */ - seriesIndex?: number; - } + /** returns the text of clicked ContextMenu item. + */ + text?: string; - export interface PointRegionMouseMoveEventArgs { + /** returns the name of the event. + */ + type?: string; +} - /** Set this option to true to cancel the event - */ - cancel?: boolean; +export interface MenuOpenEventArgs { - /** Instance of the chart model object - */ - model?: any; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** returns the name of ContextMenu items group. + */ + contextMenu?: string; - /** X-coordinate of point in pixel - */ - locationX?: number; + /** returns the element of ContextMenu. + */ + element?: any; - /** Y-coordinate of point in pixel - */ - locationY?: number; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Index of the point in series - */ - pointIndex?: number; + /** returns the target element. + */ + target?: any; - /** Index of the series in series collection to which the point belongs - */ - seriesIndex?: number; - } + /** returns the name of the event. + */ + type?: string; +} - export interface PreRenderEventArgs { +export interface OpenEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** returns the opened item type. + */ + itemType?: string; - /** Name of the event - */ - type?: string; - } + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - export interface SeriesRegionClickEventArgs { + /** returns the path of currently opened item. + */ + path?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the selected item details. + */ + selectedItems?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Name of the event - */ - type?: string; +export interface PasteEventArgs { - /** Instance of the selected series - */ - series?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Index of the selected series - */ - seriesIndex?: number; - } + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - export interface SeriesRenderingEventArgs { + /** returns the name of moved/copied file or folder. + */ + name?: string[]; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the selected item details. + */ + selectedItems?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the target folder item details. + */ + targetFolder?: any; - /** Name of the event - */ - type?: string; + /** returns the target path. + */ + targetPath?: string; - /** Instance of the series which is about to get rendered - */ - series?: any; - } + /** returns the name of the event. + */ + type?: string; +} - export interface SymbolRenderingEventArgs { +export interface RemoveEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** returns the AJAX response data. + */ + data?: any; - /** Name of the event - */ - type?: string; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance that holds the location of marker symbol - */ - location?: any; + /** returns the names of deleted items. + */ + name?: string; - /** Options to customize the marker style such as color, border and size - */ - style?: any; - } + /** returns the path of deleted item. + */ + path?: string; - export interface TitleRenderingEventArgs { + /** returns the removed item details. + */ + selectedItems?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; +} - /** Instance of the chart model object - */ - model?: any; +export interface ResizeEventArgs { - /** Name of the event - */ - type?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Option to customize the title location in pixels - */ - location?: any; + /** returns the mouse move event args. + */ + event?: any; - /** Read-only option to find the size of the title - */ - size?: any; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Use this option to add custom text in title - */ - title?: string; - } + /** returns the name of the event. + */ + type?: string; +} - export interface ToolTipInitializeEventArgs { +export interface ResizeStartEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** returns the mouse down event args. + */ + event?: any; - /** Name of the event - */ - type?: string; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Text to be displayed in tooltip. Set this option to customize the text displayed in tooltip - */ - currentText?: string; + /** returns the name of the event. + */ + type?: string; +} - /** Index of the point on which mouse is hovered - */ - pointIndex?: number; +export interface ResizeStopEventArgs { - /** Index of the series in series collection whose point is hovered by mouse - */ - seriesIndex?: number; - } + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - export interface TrackAxisToolTipEventArgs { + /** returns the mouse leave event args. + */ + event?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; +} - /** Name of the event - */ - type?: string; +export interface SelectEventArgs { - /** Location of the crosshair label in pixels - */ - location?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Index of the axis for which crosshair label is displayed - */ - axisIndex?: number; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance of the chart axis object for which cross hair label is displayed - */ - crossAxis?: number; + /** returns the name of selected items. + */ + name?: string[]; - /** Text to be displayed in crosshair label. Use this option to add custom text in crosshair label - */ - currentTrackText?: string; - } + /** returns the path of selected items. + */ + path?: string; - export interface TrackToolTipEventArgs { + /** returns the selected item details + */ + selectedItems?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; +} - /** Instance of the chart model object - */ - model?: any; +export interface TemplateRefreshEventArgs { - /** Name of the event - */ - type?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Location of the trackball tooltip in pixels - */ - location?: any; + /** Returns the cell object. + */ + cell?: ej.FileExplorer.Model; - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; + /** Returns the column object. + */ + column?: any; - /** Index of the series in series collection - */ - seriesIndex?: number; + /** Returns the current row data. + */ + data?: any; - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; + /** Returns the grid model of FileExplorer. + */ + model?: any; - /** Instance of the series object for which trackball tooltip is displayed. - */ - series?: any; - } + /** Returns the current row index. + */ + rowIndex?: number; - export interface AxisLabelClickEventArgs { + /** returns the name of the event. + */ + type?: string; +} + +export interface UnselectEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Instance of the chart model object - */ - model?: any; + /** Returns the name of unselected item. + */ + name?: string; - /** Name of the event - */ - type?: string; + /** Returns the name of unselected items. + */ + names?: string[]; - /** X and Y co-ordinate of the labels in chart area. - */ - location?: any; + /** Returns the type of unselected item. + */ + nodeType?: string; - /** Index of the label. - */ - index?: number; + /** Returns the path of unselected item. + */ + path?: string; - /** Instance of the corresponding axis. - */ - axis?: any; + /** Returns the name of the event. + */ + type?: string; + + /** Returns the unselected item details. + */ + unselectedItem?: any; + + /** Returns the unselected items details. + */ + unselectedItems?: Array; +} + +export interface ContextMenuSettings { + + /** The items property is used to configure and group the required ContextMenu items in FileExplorer control. + * @Default {{% highlight javascript %}{navbar: [NewFolder, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, Getinfo],cwd: [Refresh, Paste,|, SortBy, |, NewFolder, Upload, |, Getinfo],files: [Open, Download, |, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, OpenFolderLocation, Getinfo]}{% endhighlight %}} + */ + items?: any; + + /** The customMenuFields property is used to define custom functionality for custom ContextMenu item's which are defined in items property. + * @Default {[]} + */ + customMenuFields?: Array; +} + +export interface FilterSettings { + + /** It allows to search the text given in search Textbox in every keyup event. When this property was set as false, searching will works only on Enter key and searchbar blur. + * @Default {true} + */ + allowSearchOnTyping?: boolean; + + /** Enables or disables to perform the filter operation with case sensitive. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** Sets the search filter type. There are several filter types available such as "startswith", "contains", "endswith". See filterType. + * @Default {ej.FileExplorer.filterType.Contains} + */ + filterType?: ej.FilterType|string; +} + +export interface GridSettings { + + /** Allows to Resize the width of the columns by simply click and move the particular column header line. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets an object that indicates to render the grid with specified columns. You can use this property same as the column property in Grid control. + * @Default {[{ field: name, headerText: Name, width: 30% }, { field: dateModified, headerText: Date Modified, width: 30% }, { field: type, headerText: Type, width: 15% }, { field: size, headerText: Size, width: 12%, textAlign: right, headerTextAlign: left }]} + */ + columns?: Array; +} + +export interface UploadSettings { + + /** Specifies the maximum file size allowed to upload. It accepts the value in bytes. + * @Default {31457280} + */ + maxFileSize?: number; + + /** Enables or disables the multiple files upload. When it is enabled, you can upload multiple files at a time and when disabled, you can upload only one file at a time. + * @Default {true} + */ + allowMultipleFile?: boolean; + + /** Enables or disables the auto upload option while uploading files in FileExplorer control. + * @Default {false} + */ + autoUpload?: boolean; +} + +enum layoutType{ + + ///Supports to display files in tile view + Tile, + + ///Supports to display files in grid view + Grid, + + ///Supports to display files as large icons + LargeIcons +} + +} + +class DatePicker extends ej.Widget { + static fn: DatePicker; + constructor(element: JQuery, options?: DatePicker.Model); + constructor(element: Element, options?: DatePicker.Model); + static Locale: any; + model:DatePicker.Model; + defaults:DatePicker.Model; + + /** Disables the DatePicker control. + * @returns {void} + */ + disable(): void; + + /** Enable the DatePicker control, if it is in disabled state. + * @returns {void} + */ + enable(): void; + + /** Returns the current date value in the DatePicker control. + * @returns {string} + */ + getValue(): string; + + /** Close the DatePicker popup, if it is in opened state. + * @returns {void} + */ + hide(): void; + + /** Opens the DatePicker popup. + * @returns {void} + */ + show(): void; +} +export module DatePicker{ + +export interface Model { + + /** Used to allow or restrict the editing in DatePicker input field directly. By setting false to this API, You can only pick the date from DatePicker popup. + * @Default {true} + */ + allowEdit?: boolean; + + /** allow or restrict the drill down to multiple levels of view (month/year/decade) in DatePicker calendar + * @Default {true} + */ + allowDrillDown?: boolean; + + /** Disable the list of specified date value. + * @Default {{}} + */ + blackoutDates?: any; + + /** Sets the specified text value to the today button in the DatePicker calendar. + * @Default {Today} + */ + buttonText?: string; + + /** Sets the root CSS class for DatePicker theme, which is used customize. + */ + cssClass?: string; + + /** Formats the value of the DatePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DatePicker. + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Specifies the header format of days in DatePicker calendar. See below to get available Headers options + * @Default {ej.DatePicker.Header.Short} + */ + dayHeaderFormat?: string | ej.DatePicker.Header; + + /** Specifies the navigation depth level in DatePicker calendar. This option is not applied when start level view option is lower than depth level view. See below to know available levels in DatePicker Calendar + */ + depthLevel?: string | ej.DatePicker.Level; + + /** Allows to embed the DatePicker calendar in the page. Also associates DatePicker with div element instead of input. + * @Default {false} + */ + displayInline?: boolean; + + /** Enables or disables the animation effect with DatePicker calendar. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Enable or disable the DatePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Sustain the entire widget model of DatePicker even after form post or browser refresh + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays DatePicker calendar along with DatePicker input field in Right to Left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows to enter valid or invalid date in input textbox and indicate as error if it is invalid value, when this API value is set to true. For false value, invalid date is not allowed to input field and corrected to valid date automatically, even if invalid date is given. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Used the required fields for special Dates in DatePicker in order to customize the special dates in a calendar. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the header format to be displayed in the DatePicker calendar. + * @Default {MMMM yyyy} + */ + headerFormat?: string; + + /** Specifies the height of the DatePicker input text. + * @Default {28px} + */ + height?: string; + + /** HighlightSection is used to highlight currently selected date's month/week/workdays. See below to get available HighlightSection options + * @Default {none} + */ + highlightSection?: string | ej.DatePicker.HighlightSection; + + /** Weekend dates will be highlighted when this property is set to true. + * @Default {false} + */ + highlightWeekend?: boolean; + + /** Specifies the HTML Attributes of the DatePicker. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Change the DatePicker calendar and date format based on given culture. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the maximum date in the calendar that the user can select. + * @Default {new Date(2099, 11, 31)} + */ + maxDate?: string|Date; + + /** Specifies the minimum date in the calendar that the user can select. + * @Default {new Date(1900, 00, 01)} + */ + minDate?: string|Date; + + /** Allows to toggles the read only state of the DatePicker. When the widget is readOnly, it doesn't allow your input. + * @Default {false} + */ + readOnly?: boolean; + + /** It allow to show/hide the disabled date ranges + * @Default {true} + */ + showDisabledRange?: boolean; + + /** It allows to display footer in DatePicker calendar. + * @Default {true} + */ + showFooter?: boolean; + + /** It allows to display/hides the other months days from the current month calendar in a DatePicker. + * @Default {true} + */ + showOtherMonths?: boolean; + + /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DatePicker calendar popup. + * @Default {true} + */ + showPopupButton?: boolean; + + /** DatePicker input is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Used to show the tooltip when hovering on the days in the DatePicker calendar. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the special dates in DatePicker. + * @Default {null} + */ + specialDates?: any; + + /** Specifies the start day of the week in DatePicker calendar. + * @Default {0} + */ + startDay?: number; + + /** Specifies the start level view in DatePicker calendar. See below available Levels + * @Default {ej.DatePicker.Level.Month} + */ + startLevel?: string | ej.DatePicker.Level; + + /** Specifies the number of months to be navigate for one click of next and previous button in a DatePicker Calendar. + * @Default {1} + */ + stepMonths?: number; + + /** Provides option to customize the tooltip format. + * @Default {ddd MMM dd yyyy} + */ + tooltipFormat?: string; + + /** Sets the jQuery validation support to DatePicker Date value. See validation + * @Default {null} + */ + validationMessage?: any; + + /** Sets the jQuery validation custom rules to the DatePicker. see validation + * @Default {null} + */ + validationRules?: any; + + /** sets or returns the current value of DatePicker + * @Default {null} + */ + value?: string|Date; + + /** Specifies the water mark text to be displayed in input text. + * @Default {Select date} + */ + watermarkText?: string; + + /** Specifies the width of the DatePicker input text. + * @Default {160px} + */ + width?: string; + + /** Fires before closing the DatePicker popup. */ + beforeClose? (e: BeforeCloseEventArgs): void; + + /** Fires when each date is created in the DatePicker popup calendar. */ + beforeDateCreate? (e: BeforeDateCreateEventArgs): void; + + /** Fires before opening the DatePicker popup. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Fires when the DatePicker input value is changed. */ + change? (e: ChangeEventArgs): void; - /** Label that is clicked. - */ - text?: string; - } + /** Fires when DatePicker popup is closed. */ + close? (e: CloseEventArgs): void; - export interface AxisLabelMouseMoveEventArgs { + /** Fires when the DatePicker is created successfully. */ + create? (e: CreateEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Fires when the DatePicker is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; - /** Instance of the chart model object - */ - model?: any; + /** Fires when DatePicker input gets focus. */ + focusIn? (e: FocusInEventArgs): void; - /** Name of the event - */ - type?: string; + /** Fires when DatePicker input loses the focus. */ + focusOut? (e: FocusOutEventArgs): void; - /** X and Y co-ordinate of the labels in chart area. - */ - location?: any; + /** Fires when calender view navigates to month/year/decade/century. */ + navigate? (e: NavigateEventArgs): void; - /** Index of the label. - */ - index?: number; + /** Fires when DatePicker popup is opened. */ + open? (e: OpenEventArgs): void; - /** Instance of the corresponding axis. - */ - axis?: any; + /** Fires when a date is selected from the DatePicker popup. */ + select? (e: SelectEventArgs): void; +} - /** Label that is hovered. - */ - text?: string; - } +export interface BeforeCloseEventArgs { - export interface ChartClickEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; - /** Name of the event - */ - type?: string; + /** returns the event parameters from DatePicker. + */ + events?: any; - /** X and Y co-ordinate of the points with respect to chart area. - */ - location?: any; + /** returns the DatePicker popup. + */ + element?: HTMLElement; +} - /** ID of the target element. - */ - id?: string; +export interface BeforeDateCreateEventArgs { - /** Width and height of the chart. - */ - size?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; - } + /** returns the name of the event. + */ + type?: string; - export interface ChartMouseMoveEventArgs { + /** returns the currently created date object. + */ + date?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the current DOM object of the date from the Calendar. + */ + element?: HTMLElement; - /** Instance of the chart model object - */ - model?: any; + /** returns the currently created date as string type. + */ + value?: string; +} - /** Name of the event - */ - type?: string; +export interface BeforeOpenEventArgs { - /** X and Y co-ordinate of the points with respect to chart area. - */ - location?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** ID of the target element. - */ - id?: string; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Width and height of the chart. - */ - size?: any; + /** returns the name of the event. + */ + type?: string; - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** returns the event parameters from DatePicker. + */ + events?: any; - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; - } + /** returns the DatePicker popup. + */ + element?: HTMLElement; +} - export interface ChartDoubleClickEventArgs { +export interface ChangeEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Name of the event - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** X and Y co-ordinate of the points with respect to chart area. - */ - location?: any; + /** returns the DatePicker input value. + */ + value?: string; - /** ID of the target element. - */ - id?: string; + /** returns the previously selected value. + */ + prevDate?: string; +} - /** Width and height of the chart. - */ - size?: any; +export interface CloseEventArgs { - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; - } + /** returns the current date object. + */ + date?: any; - export interface AnnotationClickEventArgs { + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** Instance of the chart model object - */ - model?: any; + /** returns the current date value. + */ + value?: string; - /** Name of the event - */ - type?: string; + /** returns the previously selected value. + */ + prevDate?: string; +} - /** X and Y co-ordinate of the annotation in chart area. - */ - location?: any; +export interface CreateEventArgs { - /** Information about the annotation, like Coordinate unit, Region, content - */ - contentData?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; - } + /** returns the name of the event. + */ + type?: string; +} - export interface AfterResizeEventArgs { +export interface DestroyEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Name of the event - */ - type?: string; + /** returns the name of the event. + */ + type?: string; +} - /** Chart width, after resize - */ - width?: number; +export interface FocusInEventArgs { - /** Chart height, after resize - */ - height?: number; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Chart width, before resize - */ - prevWidth?: number; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Chart height, before resize - */ - prevHeight?: number; + /** returns the name of the event. + */ + type?: string; - /** Chart width, when the chart was first rendered - */ - originalWidth?: number; + /** returns the currently selected date value. + */ + value?: string; +} - /** Chart height, when the chart was first rendered - */ - originalHeight?: number; - } +export interface FocusOutEventArgs { - export interface BeforeResizeEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Instance of the chart model object - */ - model?: any; + /** returns the name of the event. + */ + type?: string; - /** Name of the event - */ - type?: string; + /** returns the currently selected date value. + */ + value?: string; - /** Chart width, before resize - */ - currentWidth?: number; + /** returns the previously selected date value. + */ + prevDate?: string; +} - /** Chart height, before resize - */ - currentHeight?: number; +export interface NavigateEventArgs { - /** Chart width, after resize - */ - newWidth?: number; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Chart height, after resize - */ - newHeight?: number; - } + /** returns the current date object. + */ + date?: any; - export interface ErrorBarRenderingEventArgs { + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the previous view state of calendar. + */ + navigateFrom?: string; - /** Instance of the chart model object - */ - model?: any; + /** returns the current view state of calendar. + */ + navigateTo?: string; - /** Name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** Error bar Object - */ - errorbar?: any; - } + /** returns the current date value. + */ + value?: string; +} - export interface ScrollChangedEventArgs { +export interface OpenEventArgs { - /** parameters from RangeNavigator - */ - data?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the scrollbar position old start and end range value on changing scrollbar - */ - dataoldRange?: any; + /** returns the current date object. + */ + date?: any; - /** returns the scrollbar position new start and end range value on changing scrollbar - */ - datanewRange?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the RangeNavigator model - */ - model?: any; + /** returns the current date value. + */ + value?: string; - /** returns the name of the event - */ - type?: string; - } + /** returns the previously selected value. + */ + prevDate?: string; +} - export interface ScrollStartEventArgs { +export interface SelectEventArgs { - /** parameters from RangeNavigator - */ - data?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the scrollbar position starting range value on changing scrollbar - */ - datastartRange?: string; + /** returns the selected date object. + */ + date?: any; - /** returns the scrollbar position end range value on changing scrollbar - */ - dataendRange?: string; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the RangeNavigator model - */ - model?: any; + /** returns the current date value. + */ + value?: string; - /** returns the name of the event - */ - type?: string; - } - - export interface ScrollEndEventArgs { - - /** parameters from RangeNavigator - */ - data?: any; - - /** returns the scrollbar position old start and end range value on change end of scrollbar - */ - dataoldRange?: any; - - /** returns the scrollbar position new start and end range value on change end of scrollbar - */ - datanewRange?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RangeNavigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface AnnotationsMargin { - - /** Annotation is placed at the specified value above its original position. - * @Default {0} - */ - bottom?: number; - - /** Annotation is placed at the specified value from left side of its original position. - * @Default {0} - */ - left?: number; - - /** Annotation is placed at the specified value from the right side of its original position. - * @Default {0} - */ - right?: number; - - /** Annotation is placed at the specified value under its original position. - * @Default {0} - */ - top?: number; - } - - export interface Annotation { - - /** Angle to rotate the annotation in degrees. - * @Default {'0'} - */ - angle?: number; - - /** Text content or id of a HTML element to be displayed as annotation. - */ - content?: string; - - /** Specifies how annotations have to be placed in Chart. - * @Default {none. See CoordinateUnit} - */ - coordinateUnit?: ej.datavisualization.Chart.CoordinateUnit | string; - - /** Specifies the horizontal alignment of the annotation. - * @Default {middle. See HorizontalAlignment} - */ - horizontalAlignment?: ej.datavisualization.Chart.HorizontalAlignment | string; - - /** Options to customize the margin of annotation. - */ - margin?: AnnotationsMargin; - - /** Controls the opacity of the annotation. - * @Default {1} - */ - opacity?: number; - - /** Specifies whether annotation has to be placed with respect to chart or series. - * @Default {chart. See Region} - */ - region?: ej.datavisualization.Chart.Region | string; - - /** Specifies the vertical alignment of the annotation. - * @Default {middle. See VerticalAlignment} - */ - verticalAlignment?: ej.datavisualization.Chart.VerticalAlignment | string; - - /** Controls the visibility of the annotation. - * @Default {false} - */ - visible?: boolean; - - /** Represents the horizontal offset when coordinateUnit is pixels.when coordinateUnit is points, it represents the x-coordinate of axis bounded with xAxisName property - * or primary X axis when xAxisName is not provided.This property is not applicable when coordinateUnit is none. - * @Default {0} - */ - x?: number; - - /** Name of the horizontal axis to be used for positioning the annotation. This property is applicable only when coordinateUnit is points. - */ - xAxisName?: string; - - /** Represents the vertical offset when coordinateUnit is pixels.When coordinateUnit is points, it represents the y-coordinate of axis bounded with - * yAxisName property or primary Y axis when yAxisName is not provided.This property is not applicable when coordinateUnit is none. - * @Default {0} - */ - y?: number; - - /** Name of the vertical axis to be used for positioning the annotation.This property is applicable only when coordinateUnit is points. - */ - yAxisName?: string; - } - - export interface Border { - - /** Border color of the chart. - * @Default {null} - */ - color?: string; - - /** Opacity of the chart border. - * @Default {0.3} - */ - opacity?: number; - - /** Width of the Chart border. - * @Default {0} - */ - width?: number; - } - - export interface ExportSettings { - - /** Specifies the downloading filename - * @Default {chart} - */ - filename?: string; - - /** Specifies the name of the action URL - */ - action?: string; - - /** Specifies the angle for rotation - * @Default {0} - */ - angle?: number; - - /** Specifies the format of the file to export - * @Default {png} - */ - type?: ej.datavisualization.Chart.ExportingType | string; - - /** Specifies the orientation of the document - * @Default {portrait} - */ - orientation?: ej.datavisualization.Chart.ExportingOrientation | string; - - /** Specifies the mode of exporting - * @Default {client} - */ - mode?: ej.datavisualization.Chart.ExportingMode | string; - - /** Enable/ disable the multiple excel exporting - * @Default {false} - */ - multipleExport?: boolean; - } - - export interface ChartAreaBorder { - - /** Border color of the plot area. - * @Default {Gray} - */ - color?: string; - - /** Opacity of the plot area border. - * @Default {0.3} - */ - opacity?: number; - - /** Border width of the plot area. - * @Default {0.5} - */ - width?: number; - } - - export interface ChartArea { - - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; - - /** Options for customizing the border of the plot area. - */ - border?: ChartAreaBorder; - } - - export interface ColumnDefinition { - - /** Specifies the unit to measure the width of the column in plotting area. - * @Default {'pixel'. See Unit} - */ - unit?: ej.datavisualization.Chart.Unit | string; - - /** Width of the column in plotting area. Width is measured in either pixel or percentage based on the value of unit property. - * @Default {50} - */ - columnWidth?: number; - - /** Color of the line that indicates the starting point of the column in plotting area. - * @Default {transparent} - */ - lineColor?: string; - - /** Width of the line that indicates the starting point of the column in plot area. - * @Default {1} - */ - lineWidth?: number; - } - - export interface CommonSeriesOptionsBorder { - - /** Border color of all series. - * @Default {transparent} - */ - color?: string; - - /** DashArray for border of the series. - * @Default {null} - */ - dashArray?: string; - - /** Border width of all series. - * @Default {1} - */ - width?: number; - } - - export interface CommonSeriesOptionsFont { - - /** Font color of the text in all series. - * @Default {#707070} - */ - color?: string; - - /** Font Family for all the series. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for all the series. - * @Default {normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Specifies the font weight for all the series. - * @Default {regular} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity for text in all the series. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in all the series. - * @Default {12px} - */ - size?: string; - } - - export interface CommonSeriesOptionsMarkerBorder { - - /** Border color of the marker shape. - * @Default {white} - */ - color?: string; - - /** Border width of the marker shape. - * @Default {3} - */ - width?: number; - } - - export interface CommonSeriesOptionsMarkerDataLabelBorder { - - /** Border color of the data label. - * @Default {null} - */ - color?: string; - - /** Border width of the data label. - * @Default {0.1} - */ - width?: number; - } - - export interface CommonSeriesOptionsMarkerDataLabelConnectorLine { - - /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. - * @Default {line. See ConnectorLineType} - */ - type?: ej.datavisualization.Chart.ConnectorLineType | string; - - /** Width of the connector. - * @Default {0.5} - */ - width?: number; - - /** Color of the connector line. - * @Default {#565656} - */ - color?: string; - - /** Height of the connector line. - * @Default {null} - */ - height?: string; - } - - export interface CommonSeriesOptionsMarkerDataLabelFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; - } - - export interface CommonSeriesOptionsMarkerDataLabelMargin { - - /** Bottom margin of the text. - * @Default {5} - */ - bottom?: number; - - /** Left margin of the text. - * @Default {5} - */ - left?: number; - - /** Right margin of the text. - * @Default {5} - */ - right?: number; - - /** Top margin of the text. - * @Default {5} - */ - top?: number; - } - - export interface CommonSeriesOptionsMarkerDataLabel { - - /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. - * @Default {null} - */ - angle?: number; - - /** Maximum label width of the data label. - * @Default {null} - */ - maximumLabelWidth?: number; - - /** Enable the wrap option to the data label. - * @Default {false} - */ - enableWrap?: boolean; - - /** Options for customizing the border of the data label. - */ - border?: CommonSeriesOptionsMarkerDataLabelBorder; - - /** Options for displaying and customizing the line that connects point and data label. - */ - connectorLine?: CommonSeriesOptionsMarkerDataLabelConnectorLine; - - /** Background color of the data label. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the data label font. - */ - font?: CommonSeriesOptionsMarkerDataLabelFont; - - /** Horizontal alignment of the data label. - * @Default {center} - */ - horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment | string; - - /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. - */ - margin?: CommonSeriesOptionsMarkerDataLabelMargin; - - /** Opacity of the data label. - * @Default {1} - */ - opacity?: number; - - /** Background shape of the data label. - * @Default {none. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - */ - template?: string; - - /** Name of a field in data source, where datalabel text is displayed. - */ - textMappingName?: string; - - /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. - * @Default {top. See TextPosition} - */ - textPosition?: ej.datavisualization.Chart.TextPosition | string; - - /** Vertical alignment of the data label. - * @Default {center} - */ - verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment | string; - - /** Controls the visibility of the data labels. - * @Default {false} - */ - visible?: boolean; - } - - export interface CommonSeriesOptionsMarkerSize { - - /** Height of the marker. - * @Default {6} - */ - height?: number; - - /** Width of the marker. - * @Default {6} - */ - width?: number; - } - - export interface CommonSeriesOptionsMarker { - - /** Options for customizing the border of the marker shape. - */ - border?: CommonSeriesOptionsMarkerBorder; - - /** Options for displaying and customizing data labels. - */ - dataLabel?: CommonSeriesOptionsMarkerDataLabel; - - /** Color of the marker shape. - * @Default {null} - */ - fill?: string; - - /** The URL for the Image to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. - */ - imageUrl?: string; - - /** Opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of the marker. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Options for customizing the size of the marker shape. - */ - size?: CommonSeriesOptionsMarkerSize; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - } - - export interface CommonSeriesOptionsOutlierSettingsSize { - - /** Height of the outlier shape. - * @Default {6} - */ - height?: number; - - /** Width of the outlier shape. - * @Default {6} - */ - width?: number; - } - - export interface CommonSeriesOptionsOutlierSettings { - - /** Specifies the shape of the outlier. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Options for customizing the size of the outlier shape. - */ - size?: CommonSeriesOptionsOutlierSettingsSize; - } - - export interface CommonSeriesOptionsCornerRadius { - - /** Specifies the radius for the top left corner. - * @Default {0} - */ - topLeft?: number; - - /** Specifies the radius for the top right corner. - * @Default {0} - */ - topRight?: number; - - /** Specifies the radius for the bottom left corner. - * @Default {0} - */ - bottomLeft?: number; - - /** Specifies the radius for the bottom right corner. - * @Default {0} - */ - bottomRight?: number; - } - - export interface CommonSeriesOptionsTooltipBorder { - - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; - } - - export interface CommonSeriesOptionsTooltip { - - /** Options for customizing the border of the tooltip. - */ - border?: CommonSeriesOptionsTooltipBorder; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - rx?: number; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - ry?: number; - - /** Specifies the duration, the tooltip has to be displayed. - * @Default {500ms} - */ - duration?: string; - - /** Enables/disables the animation of the tooltip when moving from one point to other. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Background color of the tooltip. - * @Default {null} - */ - fill?: string; - - /** Format of the tooltip content. - * @Default {#point.x# : #point.y#} - */ - format?: string; - - /** Opacity of the tooltip. - * @Default {0.5} - */ - opacity?: number; - - /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - * @Default {null} - */ - template?: string; - - /** Controls the visibility of the tooltip. - * @Default {false} - */ - visible?: boolean; - } - - export interface CommonSeriesOptionsEmptyPointSettingsStyleBorder { - - /** Border color of the empty point. - */ - color?: string; - - /** Border width of the empty point. - * @Default {1} - */ - width?: number; - } - - export interface CommonSeriesOptionsEmptyPointSettingsStyle { - - /** Color of the empty point. - */ - color?: string; - - /** Options for customizing border of the empty point in the series. - */ - border?: CommonSeriesOptionsEmptyPointSettingsStyleBorder; - } - - export interface CommonSeriesOptionsEmptyPointSettings { - - /** Controls the visibility of the empty point. - * @Default {true} - */ - visible?: boolean; - - /** Specifies the mode of empty point. - * @Default {gap} - */ - displayMode?: ej.datavisualization.Chart.EmptyPointMode | string; - - /** Options for customizing the color and border of the empty point in the series. - */ - style?: CommonSeriesOptionsEmptyPointSettingsStyle; - } - - export interface CommonSeriesOptionsConnectorLine { - - /** Width of the connector line. - * @Default {1} - */ - width?: number; - - /** Color of the connector line. - * @Default {#565656} - */ - color?: string; - - /** DashArray of the connector line. - * @Default {null} - */ - dashArray?: string; - - /** DashArray of the connector line. - * @Default {1} - */ - opacity?: number; - } - - export interface CommonSeriesOptionsDragSettings { - - /** drag/drop the series - * @Default {false} - */ - enable?: boolean; - - /** Specifies the type of drag settings. - * @Default {xy} - */ - type?: string; - } - - export interface CommonSeriesOptionsErrorBarCap { - - /** Show/Hides the error bar cap. - * @Default {true} - */ - visible?: boolean; - - /** Width of the error bar cap. - * @Default {1} - */ - width?: number; - - /** Length of the error bar cap. - * @Default {1} - */ - length?: number; - - /** Color of the error bar cap. - * @Default {“#000000”} - */ - fill?: string; - } - - export interface CommonSeriesOptionsErrorBar { - - /** Show/hides the error bar - * @Default {visible} - */ - visibility?: boolean; - - /** Specifies the type of error bar. - * @Default {FixedValue} - */ - type?: ej.datavisualization.Chart.ErrorBarType | string; - - /** Specifies the mode of error bar. - * @Default {vertical} - */ - mode?: ej.datavisualization.Chart.ErrorBarMode | string; - - /** Specifies the direction of error bar. - * @Default {both} - */ - direction?: ej.datavisualization.Chart.ErrorBarDirection | string; - - /** Value of vertical error bar. - * @Default {3} - */ - verticalErrorValue?: number; - - /** Value of horizontal error bar. - * @Default {1} - */ - horizontalErrorValue?: number; - - /** Value of positive horizontal error bar. - * @Default {1} - */ - horizontalPositiveErrorValue?: number; - - /** Value of negative horizontal error bar. - * @Default {1} - */ - horizontalNegativeErrorValue?: number; - - /** Value of positive vertical error bar. - * @Default {5} - */ - verticalPositiveErrorValue?: number; - - /** Value of negative vertical error bar. - * @Default {5} - */ - verticalNegativeErrorValue?: number; - - /** Fill color of the error bar. - * @Default {#000000} - */ - fill?: string; - - /** Width of the error bar. - * @Default {1} - */ - width?: number; - - /** Options for customizing the error bar cap. - */ - cap?: CommonSeriesOptionsErrorBarCap; - } - - export interface CommonSeriesOptionsTrendline { - - /** Show/hides the trendline. - */ - visibility?: boolean; - - /** Specifies the type of the trendline for the series. - * @Default {linear. See TrendlinesType} - */ - type?: string; - - /** Name for the trendlines that is to be displayed in the legend text. - * @Default {trendline} - */ - name?: string; - - /** Fill color of the trendlines. - * @Default {#0000FF} - */ - fill?: string; - - /** Width of the trendlines. - * @Default {1} - */ - width?: number; - - /** Opacity of the trendline. - * @Default {1} - */ - opacity?: number; - - /** Pattern of dashes and gaps used to stroke the trendline. - */ - dashArray?: string; - - /** Future trends of the current series. - * @Default {0} - */ - forwardForecast?: number; - - /** Past trends of the current series. - * @Default {0} - */ - backwardForecast?: number; - - /** Specifies the order of the polynomial trendlines. - * @Default {0} - */ - polynomialOrder?: number; - - /** Specifies the moving average starting period value. - * @Default {2} - */ - period?: number; - } - - export interface CommonSeriesOptionsHighlightSettingsBorder { - - /** Border color of the series/point on highlight. - */ - color?: string; - - /** Border width of the series/point on highlight. - * @Default {2} - */ - width?: string; - } - - export interface CommonSeriesOptionsHighlightSettings { - - /** Enables/disables the ability to highlight the series or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the series or data point has to be highlighted. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode | string; - - /** Color of the series/point on highlight. - */ - color?: string; - - /** Opacity of the series/point on highlight. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of series on highlight. - */ - border?: CommonSeriesOptionsHighlightSettingsBorder; - - /** Specifies the pattern for the series/point on highlight. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on highlight. - */ - customPattern?: string; - } - - export interface CommonSeriesOptionsSelectionSettingsBorder { - - /** Border color of the series/point on selection. - */ - color?: string; - - /** Border width of the series/point on selection. - * @Default {2} - */ - width?: string; - } - - export interface CommonSeriesOptionsSelectionSettings { - - /** Enables/disables the ability to select a series/data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies the type of selection. - * @Default {single} - */ - type?: ej.datavisualization.Chart.SelectionType | string; - - /** Specifies whether the series or data point has to be selected. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode | string; - - /** Specifies the drawn rectangle type. - * @Default {xy} - */ - rangeType?: ej.datavisualization.Chart.RangeType | string; - - /** Color of the series/point on selection. - */ - color?: string; - - /** Opacity of the series/point on selection. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of the series on selection. - */ - border?: CommonSeriesOptionsSelectionSettingsBorder; - - /** Specifies the pattern for the series/point on selection. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on selection. - */ - customPattern?: string; - } - - export interface CommonSeriesOptions { - - /** Options to customize the border of all the series. - */ - border?: CommonSeriesOptionsBorder; - - /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet - * @Default {rectangle} - */ - columnFacet?: ej.datavisualization.Chart.ColumnFacet | string; - - /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. - * @Default {0.7} - */ - columnWidth?: number; - - /** Spacing between columns of different series. Value ranges from 0 to 1 - * @Default {0} - */ - columnSpacing?: number; - - /** Enables or disables the visibility of legend item. - * @Default {visible} - */ - visibleOnLegend?: string; - - /** Group of the stacking collection series. - */ - stackingGroup?: string; - - /** Pattern of dashes and gaps used to stroke all the line type series. - */ - dashArray?: string; - - /** Set the dataSource for all series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1 - * @Default {0.4} - */ - doughnutCoefficient?: number; - - /** Controls the size of the doughnut series. Value ranges from 0 to 1. - * @Default {0.8} - */ - doughnutSize?: number; - - /** Specifies the type of series to be drawn in radar or polar series. - * @Default {line. See DrawType} - */ - drawType?: ej.datavisualization.Chart.DrawType | string; - - /** Enable/disable the animation for all the series. - * @Default {true} - */ - enableAnimation?: boolean; - - /** To avoid overlapping of data labels smartly. - * @Default {true} - */ - enableSmartLabels?: boolean; - - /** Start angle of pie/doughnut series. - * @Default {null} - */ - endAngle?: number; - - /** Explodes the pie/doughnut slices on mouse move. - * @Default {false} - */ - explode?: boolean; - - /** Explodes all the slice of pie/doughnut on render. - * @Default {false} - */ - explodeAll?: boolean; - - /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. - * @Default {null} - */ - explodeIndex?: number; - - /** Specifies the distance of the slice from the center, when it is exploded. - * @Default {0.4} - */ - explodeOffset?: number; - - /** Fill color for all the series. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the font of all the series. - */ - font?: CommonSeriesOptionsFont; - - /** Sets the height of the funnel in funnel series. Values can be either pixel or percentage. - * @Default {32.7%} - */ - funnelHeight?: string; - - /** Sets the width of the funnel in funnel series. Values can be either pixel or percentage. - * @Default {11.6%} - */ - funnelWidth?: string; - - /** Gap between the slices in pyramid and funnel series. - * @Default {0} - */ - gapRatio?: number; - - /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. - * @Default {true} - */ - isClosed?: boolean; - - /** Specifies whether to stack the column series in polar/radar charts. - * @Default {false} - */ - isStacking?: boolean; - - /** Renders the chart vertically. This is applicable only for Cartesian type series. - * @Default {false} - */ - isTransposed?: boolean; - - /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. - * @Default {true} - */ - showMedian?: boolean; - - /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. - * @Default {inside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition | string; - - /** Quartile calculation has been performed in three different formulas to render the box and whisker series. - * @Default {exclusive} - */ - boxPlotMode?: ej.datavisualization.Chart.boxPlotMode | string; - - /** Specifies the line cap of the series. - * @Default {butt. See LineCap} - */ - lineCap?: ej.datavisualization.Chart.LineCap | string; - - /** Specifies the type of shape to be used where two lines meet. - * @Default {round. See LineJoin} - */ - lineJoin?: ej.datavisualization.Chart.LineJoin | string; - - /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. - */ - marker?: CommonSeriesOptionsMarker; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Options for customizing the outlier of the series. - */ - outlierSettings?: CommonSeriesOptionsOutlierSettings; - - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; - - /** Controls the size of pie series. Value ranges from 0 to 1. - * @Default {0.8} - */ - pieCoefficient?: number; - - /** Name of the property in the datasource that contains fill color for the series. - * @Default {null} - */ - pointColorMappingName?: string; - - /** Specifies the mode of the pyramid series. - * @Default {linear. See PyramidMode} - */ - pyramidMode?: ej.datavisualization.Chart.PyramidMode | string; - - /** Start angle from where the pie/doughnut series renders. By default it starts from 0. - * @Default {null} - */ - startAngle?: number; - - /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. - */ - cornerRadius?: CommonSeriesOptionsCornerRadius; - - /** Options for customizing the tooltip of chart. - */ - tooltip?: CommonSeriesOptionsTooltip; - - /** Specifies the type of the series to render in chart. - * @Default {column. See Type} - */ - type?: ej.datavisualization.Chart.Type | string; - - /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - xAxisName?: string; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - yAxisName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Name of the property in the datasource that contains high value for the series. - * @Default {null} - */ - high?: string; - - /** Name of the property in the datasource that contains low value for the series. - * @Default {null} - */ - low?: string; - - /** Name of the property in the datasource that contains open value for the series. - * @Default {null} - */ - open?: string; - - /** Name of the property in the datasource that contains close value for the series. - * @Default {null} - */ - close?: string; - - /** Z-order of the series. - * @Default {0} - */ - zOrder?: number; - - /** Name of the property in the datasource that contains the size value for the bubble series. - * @Default {null} - */ - size?: string; - - /** Options for customizing the empty point in the series. - */ - emptyPointSettings?: CommonSeriesOptionsEmptyPointSettings; - - /** Fill color for the positive column of the waterfall. - * @Default {null} - */ - positiveFill?: string; - - /** Options for customizing the waterfall connector line. - */ - connectorLine?: CommonSeriesOptionsConnectorLine; - - /** Options to customize the drag and drop in series. - */ - dragSettings?: CommonSeriesOptionsDragSettings; - - /** Options to customize the error bar in series. - */ - errorBar?: CommonSeriesOptionsErrorBar; - - /** Option to add the trendlines to chart. - */ - trendlines?: CommonSeriesOptionsTrendline[]; - - /** Options for customizing the appearance of the series or data point while highlighting. - */ - highlightSettings?: CommonSeriesOptionsHighlightSettings; - - /** Options for customizing the appearance of the series/data point on selection. - */ - selectionSettings?: CommonSeriesOptionsSelectionSettings; - } - - export interface CrosshairTrackballTooltipSettingsBorder { - - /** Border width of the trackball tooltip. - * @Default {null} - */ - width?: number; - - /** Border color of the trackball tooltip. - * @Default {null} - */ - color?: string; - } - - export interface CrosshairTrackballTooltipSettings { - - /** Options for customizing the trackball tooltip border. - */ - border?: CrosshairTrackballTooltipSettingsBorder; - - /** Background color of the trackball tooltip. - * @Default {null} - */ - fill?: string; - - /** Rounded corner x value of the trackball tooltip. - * @Default {3} - */ - rx?: number; - - /** Rounded corner y value of the trackball tooltip. - * @Default {3} - */ - ry?: number; - - /** Opacity value of the trackball tooltip. - * @Default {1} - */ - opacity?: number; - - /** Specifies the mode of the trackball tooltip. - * @Default {float. See CrosshairMode} - */ - mode?: ej.datavisualization.Chart.CrosshairMode | string; - } - - export interface CrosshairMarkerBorder { - - /** Border width of the marker. - * @Default {3} - */ - width?: number; - } - - export interface CrosshairMarkerSize { - - /** Height of the marker. - * @Default {10} - */ - height?: number; - - /** Width of the marker. - * @Default {10} - */ - width?: number; - } - - export interface CrosshairMarker { - - /** Options for customizing the border. - */ - border?: CrosshairMarkerBorder; - - /** Opacity of the marker. - * @Default {true} - */ - opacity?: boolean; - - /** Options for customizing the size of the marker. - */ - size?: CrosshairMarkerSize; - - /** Show/hides the marker. - * @Default {true} - */ - visible?: boolean; - } - - export interface CrosshairLine { - - /** Color of the crosshair line. - * @Default {transparent} - */ - color?: string; - - /** Width of the crosshair line. - * @Default {1} - */ - width?: number; - } - - export interface Crosshair { - - /** Options for customizing the trackball tooltip. - */ - trackballTooltipSettings?: CrosshairTrackballTooltipSettings; - - /** Options for customizing the marker in crosshair. - */ - marker?: CrosshairMarker; - - /** Options for customizing the crosshair line. - */ - line?: CrosshairLine; - - /** Specifies the type of the crosshair. It can be trackball or crosshair - * @Default {crosshair. See CrosshairType} - */ - type?: ej.datavisualization.Chart.CrosshairType | string; - - /** Show/hides the crosshair/trackball visibility. - * @Default {false} - */ - visible?: boolean; - } - - export interface IndicatorsHistogramBorder { - - /** Color of the histogram border in MACD indicator. - * @Default {#9999ff} - */ - color?: string; - - /** Controls the width of histogram border line in MACD indicator. - * @Default {1} - */ - width?: number; - } - - export interface IndicatorsHistogram { - - /** Options to customize the histogram border in MACD indicator. - */ - border?: IndicatorsHistogramBorder; - - /** Color of histogram columns in MACD indicator. - * @Default {#ccccff} - */ - fill?: string; - - /** Opacity of histogram columns in MACD indicator. - * @Default {1} - */ - opacity?: number; - } - - export interface IndicatorsLowerLine { - - /** Color of lower line. - * @Default {#008000} - */ - fill?: string; - - /** Width of the lower line. - * @Default {2} - */ - width?: number; - } - - export interface IndicatorsMacdLine { - - /** Color of MACD line. - * @Default {#ff9933} - */ - fill?: string; - - /** Width of the MACD line. - * @Default {2} - */ - width?: number; - } - - export interface IndicatorsPeriodLine { - - /** Color of period line in indicator. - * @Default {blue} - */ - fill?: string; - - /** Width of the period line in indicators. - * @Default {2} - */ - width?: number; - } - - export interface IndicatorsTooltipBorder { - - /** Border color of indicator tooltip. - * @Default {null} - */ - color?: string; - - /** Border width of indicator tooltip. - * @Default {1} - */ - width?: number; - } - - export interface IndicatorsTooltip { - - /** Option to customize the border of indicator tooltip. - */ - border?: IndicatorsTooltipBorder; - - /** Specifies the animation duration of indicator tooltip. - * @Default {500ms} - */ - duration?: string; - - /** Enables/disables the tooltip animation. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Format of indicator tooltip. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - * @Default {#point.x# : #point.y#} - */ - format?: string; - - /** Background color of indicator tooltip. - * @Default {null} - */ - fill?: string; - - /** Opacity of indicator tooltip. - * @Default {0.95} - */ - opacity?: number; - - /** Controls the visibility of indicator tooltip. - * @Default {false} - */ - visible?: boolean; - } - - export interface IndicatorsUpperLine { - - /** Fill color of the upper line in indicators - * @Default {#ff9933} - */ - fill?: string; - - /** Width of the upper line in indicators. - * @Default {2} - */ - width?: number; - } - - export interface Indicator { - - /** The dPeriod value for stochastic indicator. - * @Default {3} - */ - dPeriod?: number; - - /** Enables/disables the animation. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Color of the technical indicator. - * @Default {#00008B} - */ - fill?: string; - - /** Options to customize the histogram in MACD indicator. - */ - histogram?: IndicatorsHistogram; - - /** Specifies the k period in stochastic indicator. - * @Default {3} - */ - kPeriod?: number; - - /** Specifies the long period in MACD indicator. - * @Default {26} - */ - longPeriod?: number; - - /** Options to customize the lower line in indicators. - */ - lowerLine?: IndicatorsLowerLine; - - /** Options to customize the MACD line. - */ - macdLine?: IndicatorsMacdLine; - - /** Specifies the type of the MACD indicator. - * @Default {line. See MACDType} - */ - macdType?: string; - - /** Specifies period value in indicator. - * @Default {14} - */ - period?: number; - - /** Options to customize the period line in indicators. - */ - periodLine?: IndicatorsPeriodLine; - - /** Name of the series for which indicator has to be drawn. - */ - seriesName?: string; - - /** Specifies the short period in MACD indicator. - * @Default {13} - */ - shortPeriod?: number; - - /** Specifies the standard deviation value for Bollinger band indicator. - * @Default {2} - */ - standardDeviations?: number; - - /** Options to customize the tooltip. - */ - tooltip?: IndicatorsTooltip; - - /** Trigger value of MACD indicator. - * @Default {9} - */ - trigger?: number; - - /** Specifies the visibility of indicator. - * @Default {visible} - */ - visibility?: string; - - /** Specifies the type of indicator that has to be rendered. - * @Default {sma. See IndicatorsType} - */ - type?: string; - - /** Options to customize the upper line in indicators - */ - upperLine?: IndicatorsUpperLine; - - /** Width of the indicator line. - * @Default {2} - */ - width?: number; - - /** Name of the horizontal axis used for indicator. Primary X axis is used when x axis name is not specified. - */ - xAxisName?: string; - - /** Name of the vertical axis used for indicator. Primary Y axis is used when y axis name is not specified - */ - yAxisName?: string; - } - - export interface LegendBorder { - - /** Border color of the legend. - * @Default {transparent} - */ - color?: string; - - /** Border width of the legend. - * @Default {1} - */ - width?: number; - } - - export interface LegendFont { - - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; - } - - export interface LegendItemStyleBorder { - - /** Border color of the legend items. - * @Default {transparent} - */ - color?: string; - - /** Border width of the legend items. - * @Default {1} - */ - width?: number; - } - - export interface LegendItemStyle { - - /** Options for customizing the border of legend items. - */ - border?: LegendItemStyleBorder; - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; - } - - export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; - } - - export interface LegendSize { - - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; - } - - export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; - } - - export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Chart.Alignment | string; - } - - export interface Legend { - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.Alignment | string; - - /** Background for the legend. Use this property to add a background image or background color for the legend. - */ - background?: string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Controls whether legend has to use scrollbar or not. When enabled, scroll bar appears depending upon size and position properties of legend. - * @Default {true} - */ - enableScrollbar?: boolean; - - /** Fill color for the legend items. By using this property, it displays all legend item shapes in same color.Legend items representing invisible series is displayed in gray color. - * @Default {null} - */ - fill?: string; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of chart legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Opacity of the legend. - * @Default {1} - */ - opacity?: number; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Chart.Position | string; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Shape of the legend items. Default shape for pie and doughnut series is circle and all other series uses rectangle. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; - - /** Specifies the action taken when the legend width is more than the textWidth. - * @Default {none. See textOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow | string; - - /** Text width for legend item. - * @Default {34} - */ - textWidth?: number; - - /** Controls the visibility of the legend. - * @Default {true} - */ - visible?: boolean; - } - - export interface PrimaryXAxisAlternateGridBandEven { - - /** Fill color for the even grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of the even grid band. - * @Default {1} - */ - opacity?: number; - } - - export interface PrimaryXAxisAlternateGridBandOdd { - - /** Fill color of the odd grid bands - * @Default {transparent} - */ - fill?: string; - - /** Opacity of odd grid band - * @Default {1} - */ - opacity?: number; - } - - export interface PrimaryXAxisAlternateGridBand { - - /** Options for customizing even grid band. - */ - even?: PrimaryXAxisAlternateGridBandEven; - - /** Options for customizing odd grid band. - */ - odd?: PrimaryXAxisAlternateGridBandOdd; - } - - export interface PrimaryXAxisAxisLine { - - /** Pattern of dashes and gaps to be applied to the axis line. - * @Default {null} - */ - dashArray?: string; - - /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. - * @Default {null} - */ - offset?: number; - - /** Show/hides the axis line. - * @Default {true} - */ - visible?: boolean; - - /** Default Value - */ - color?: string; - - /** Width of axis line. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryXAxisCrosshairLabel { - - /** Show/hides the crosshair label associated with this axis. - * @Default {false} - */ - visible?: boolean; - } - - export interface PrimaryXAxisFont { - - /** Font family of labels. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of labels. - * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the label. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the axis labels. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis labels. - * @Default {13px} - */ - size?: string; - } - - export interface PrimaryXAxisMajorGridLines { - - /** Pattern of dashes and gaps used to stroke the major grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Color of the major grid line. - * @Default {null} - */ - color?: string; - - /** Opacity of major grid lines. - * @Default {1} - */ - opacity?: number; - - /** Show/hides the major grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major grid lines. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryXAxisMajorTickLines { - - /** Length of the major tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major tick lines. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryXAxisMinorGridLines { - - /** Patterns of dashes and gaps used to stroke the minor grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Show/hides the minor grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minorGridLines. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryXAxisMinorTickLines { - - /** Length of the minor tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the minor tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minor tick line. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryXAxisRange { - - /** Minimum value of the axis range. - * @Default {null} - */ - min?: number; - - /** Maximum value of the axis range. - * @Default {null} - */ - max?: number; - - /** Interval of the axis range. - * @Default {null} - */ - interval?: number; - } - - export interface PrimaryXAxisMultiLevelLabelsFont { - - /** Font color of the multi level labels text. - * @Default {null} - */ - color?: string; - - /** Font family of the multi level labels text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the multi level labels text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the multi level label text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the multi level label text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the multi level label text. - * @Default {12px} - */ - size?: string; - } - - export interface PrimaryXAxisMultiLevelLabelsBorder { - - /** Border color of the multi level labels. - * @Default {null} - */ - color?: string; - - /** Border width of the multi level labels. - * @Default {1} - */ - width?: number; - - /** Border type of the multi level labels. - * @Default {rectangle. See Type} - */ - type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType | string; - } - - export interface PrimaryXAxisMultiLevelLabel { - - /** Visibility of the multi level labels. - * @Default {false} - */ - visible?: boolean; - - /** Text of the multi level labels. - */ - text?: string; - - /** Starting value of the multi level labels. - * @Default {null} - */ - start?: number; - - /** Ending value of the multi level labels. - * @Default {null} - */ - end?: number; - - /** Specifies the level of multi level labels. - * @Default {0} - */ - level?: number; - - /** Specifies the maximum width of the text in multi level labels. - * @Default {null} - */ - maximumTextWidth?: number; - - /** Specifies the alignment of the text in multi level labels. - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment | string; - - /** Specifies the handling of text over flow in multi level labels. - * @Default {center. See TextOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow | string; - - /** Options for customizing the font of the text. - */ - font?: PrimaryXAxisMultiLevelLabelsFont; - - /** Options for customizing the border of the series. - */ - border?: PrimaryXAxisMultiLevelLabelsBorder; - } - - export interface PrimaryXAxisStripLineFont { - - /** Font color of the strip line text. - * @Default {black} - */ - color?: string; - - /** Font family of the strip line text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the strip line text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the strip line text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the strip line text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the strip line text. - * @Default {12px} - */ - size?: string; - } - - export interface PrimaryXAxisStripLine { - - /** Border color of the strip line. - * @Default {gray} - */ - borderColor?: string; - - /** Background color of the strip line. - * @Default {gray} - */ - color?: string; - - /** End value of the strip line. - * @Default {null} - */ - end?: number; - - /** Options for customizing the font of the text. - */ - font?: PrimaryXAxisStripLineFont; - - /** Start value of the strip line. - * @Default {null} - */ - start?: number; - - /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. - * @Default {false} - */ - startFromAxis?: boolean; - - /** Specifies text to be displayed inside the strip line. - * @Default {stripLine} - */ - text?: string; - - /** Specifies the alignment of the text inside the strip line. - * @Default {middlecenter. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment | string; - - /** Show/hides the strip line. - * @Default {false} - */ - visible?: boolean; - - /** Width of the strip line. - * @Default {0} - */ - width?: number; - - /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered - * under the series and when it is “over”, it is rendered above the series. - * @Default {over. See ZIndex} - */ - zIndex?: ej.datavisualization.Chart.ZIndex | string; - } - - export interface PrimaryXAxisLabelBorder { - - /** Specifies the color of the label border. - * @Default {null} - */ - color?: string; - - /** Specifies the width of the label border. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryXAxisTitleFont { - - /** Font family of the title text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the title text. - * @Default {ej.datavisualization.Chart.FontStyle.Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the title text. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the axis title text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis title. - * @Default {16px} - */ - size?: string; - } - - export interface PrimaryXAxisTitle { - - /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the title font. - */ - font?: PrimaryXAxisTitleFont; - - /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. - * @Default {34} - */ - maximumTitleWidth?: number; - - /** Title for the axis. - */ - text?: string; - - /** Controls the visibility of axis title. - * @Default {true} - */ - visible?: boolean; - - /** offset value for axis title. - * @Default {0} - */ - offset?: number; - - /** Specifies the position of the axis title. - * @Default {outside. See Position} - */ - position?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the position of the axis title. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.TextAlignment | string; - } - - export interface PrimaryXAxis { - - /** Options for customizing horizontal axis alternate grid band. - */ - alternateGridBand?: PrimaryXAxisAlternateGridBand; - - /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. - * If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. - * @Default {null} - */ - crossesAt?: number; - - /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. - * If the provided name does not belongs to a valid axis, then primary X axis or primary Y axis will be used for crossing - * @Default {null} - */ - crossesInAxis?: string; - - /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. - * @Default {false} - */ - isIndexed?: boolean; - - /** Options for customizing the axis line. - */ - axisLine?: PrimaryXAxisAxisLine; - - /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. - * @Default {null} - */ - columnIndex?: number; - - /** Specifies the number of columns or plot areas an axis has to span horizontally. - * @Default {null} - */ - columnSpan?: number; - - /** Options to customize the crosshair label. - */ - crosshairLabel?: PrimaryXAxisCrosshairLabel; - - /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. - * @Default {null} - */ - desiredIntervals?: number; - - /** Specifies the placement of labels. - * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} - */ - labelPlacement?: ej.datavisualization.Chart.LabelPlacement | string; - - /** Specifies the position of labels at the edge of the axis. - * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} - */ - edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement | string; - - /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the font of the axis Labels. - */ - font?: PrimaryXAxisFont; - - /** Specifies the type of interval in date time axis. - * @Default {null. See IntervalType} - */ - intervalType?: ej.datavisualization.Chart.IntervalType | string; - - /** Specifies whether to inverse the axis. - * @Default {false} - */ - isInversed?: boolean; - - /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. - * @Default {null} - */ - labelFormat?: string; - - /** Specifies the action to take when the axis labels are overlapping with each other. - * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} - */ - labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction | string; - - /** Specifies the position of the axis labels. - * @Default {outside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the position of the axis labels. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.LabelAlignment | string; - - /** Angle in degrees to rotate the axis labels. - * @Default {null} - */ - labelRotation?: number; - - /** Logarithmic base value. This is applicable only for logarithmic axis. - * @Default {10} - */ - logBase?: number; - - /** Options for customizing major gird lines. - */ - majorGridLines?: PrimaryXAxisMajorGridLines; - - /** Options for customizing the major tick lines. - */ - majorTickLines?: PrimaryXAxisMajorTickLines; - - /** Maximum number of labels to be displayed in every 100 pixels. - * @Default {3} - */ - maximumLabels?: number; - - /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. - * @Default {34} - */ - maximumLabelWidth?: number; - - /** Options for customizing the minor grid lines. - */ - minorGridLines?: PrimaryXAxisMinorGridLines; - - /** Options for customizing the minor tick lines. - */ - minorTickLines?: PrimaryXAxisMinorTickLines; - - /** Specifies the number of minor ticks per interval. - * @Default {null} - */ - minorTicksPerInterval?: number; - - /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. - * @Default {null} - */ - name?: string; - - /** Specifies whether to render the axis at the opposite side of its default position. - * @Default {false} - */ - opposedPosition?: boolean; - - /** Specifies the padding for the plot area. - * @Default {10} - */ - plotOffset?: number; - - /** Options to customize the range of the axis. - */ - range?: PrimaryXAxisRange; - - /** Specifies the padding for the axis range. - * @Default {None. See RangePadding} - */ - rangePadding?: ej.datavisualization.Chart.RangePadding | string; - - /** Rounds the number to the given number of decimals. - * @Default {null} - */ - roundingPlaces?: number; - - /** Options for customizing the multi level labels. - * @Default {[ ]} - */ - multiLevelLabels?: PrimaryXAxisMultiLevelLabel[]; - - /** Options for customizing the strip lines. - * @Default {[ ]} - */ - stripLine?: PrimaryXAxisStripLine[]; - - /** Specifies the position of the axis tick lines. - * @Default {outside. See TickLinesPosition} - */ - tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition | string; - - /** Options for customizing the border of the labels. - */ - labelBorder?: PrimaryXAxisLabelBorder; - - /** Options for customizing the axis title. - */ - title?: PrimaryXAxisTitle; - - /** Specifies the type of data the axis is handling. - * @Default {null. See ValueType} - */ - valueType?: ej.datavisualization.Chart.ValueType | string; - - /** Show/hides the axis. - * @Default {true} - */ - visible?: boolean; - - /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. - * @Default {1} - */ - zoomFactor?: number; - - /** Position of the zoomed axis. Value ranges from 0 to 1. - * @Default {0} - */ - zoomPosition?: number; - } - - export interface AxesAlternateGridBandEven { - - /** Fill color for the even grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of the even grid band. - * @Default {1} - */ - opacity?: number; - } - - export interface AxesAlternateGridBandOdd { - - /** Fill color of the odd grid bands - * @Default {transparent} - */ - fill?: string; - - /** Opacity of odd grid band - * @Default {1} - */ - opacity?: number; - } - - export interface AxesAlternateGridBand { - - /** Options for customizing even grid band. - */ - even?: AxesAlternateGridBandEven; - - /** Options for customizing odd grid band. - */ - odd?: AxesAlternateGridBandOdd; - } - - export interface AxesAxisLine { - - /** Pattern of dashes and gaps to be applied to the axis line. - * @Default {null} - */ - dashArray?: string; - - /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. - * @Default {null} - */ - offset?: number; - - /** Show/hides the axis line. - * @Default {true} - */ - visible?: boolean; - - /** Color of axis line. - */ - color?: string; - - /** Width of axis line. - * @Default {1} - */ - width?: number; - } - - export interface AxesCrosshairLabel { - - /** Show/hides the crosshair label associated with this axis. - * @Default {false} - */ - visible?: boolean; - } - - export interface AxesFont { - - /** Font family of labels. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of labels. - * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the label. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the axis labels. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis labels. - * @Default {13px} - */ - size?: string; - } - - export interface AxesMajorGridLines { - - /** Pattern of dashes and gaps used to stroke the major grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Color of the major grid line. - * @Default {null} - */ - color?: string; - - /** Opacity of major grid lines. - * @Default {1} - */ - opacity?: number; - - /** Show/hides the major grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major grid lines. - * @Default {1} - */ - width?: number; - } - - export interface AxesMajorTickLines { - - /** Length of the major tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major tick lines. - * @Default {1} - */ - width?: number; - } - - export interface AxesMinorGridLines { - - /** Patterns of dashes and gaps used to stroke the minor grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Show/hides the minor grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minorGridLines. - * @Default {1} - */ - width?: number; - } - - export interface AxesMinorTickLines { - - /** Length of the minor tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the minor tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minor tick line. - * @Default {1} - */ - width?: number; - } - - export interface AxesRange { - - /** Minimum value of the axis range. - * @Default {null} - */ - min?: number; - - /** Maximum value of the axis range. - * @Default {null} - */ - max?: number; - - /** Interval of the axis range. - * @Default {null} - */ - interval?: number; - } - - export interface AxesMultiLevelLabelsFont { - - /** Font color of the multi level labels text. - * @Default {null} - */ - color?: string; - - /** Font family of the multi level labels text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the multi level labels text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the multi level label text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the multi level label text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the multi level label text. - * @Default {12px} - */ - size?: string; - } - - export interface AxesMultiLevelLabelsBorder { - - /** Border color of the multi level labels. - * @Default {null} - */ - color?: string; - - /** Border width of the multi level labels. - * @Default {1} - */ - width?: number; - - /** Border type of the multi level labels. - * @Default {rectangle. See Type} - */ - type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType | string; - } - - export interface AxesMultiLevelLabel { - - /** Visibility of the multi level labels. - * @Default {false} - */ - visible?: boolean; - - /** Text of the multi level labels. - */ - text?: string; - - /** Starting value of the multi level labels. - * @Default {null} - */ - start?: number; - - /** Ending value of the multi level labels. - * @Default {null} - */ - end?: number; - - /** Specifies the level of multi level labels. - * @Default {0} - */ - level?: number; - - /** Specifies the maximum width of the text in multi level labels. - * @Default {null} - */ - maximumTextWidth?: number; - - /** Specifies the alignment of the text in multi level labels. - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment | string; - - /** Specifies the handling of text over flow in multi level labels. - * @Default {center. See TextOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow | string; - - /** Options for customizing the font of the text. - */ - font?: AxesMultiLevelLabelsFont; - - /** Options for customizing the border of the series. - */ - border?: AxesMultiLevelLabelsBorder; - } - - export interface AxesStripLineFont { - - /** Font color of the strip line text. - * @Default {black} - */ - color?: string; - - /** Font family of the strip line text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the strip line text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the strip line text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the strip line text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the strip line text. - * @Default {12px} - */ - size?: string; - } - - export interface AxesStripLine { - - /** Border color of the strip line. - * @Default {gray} - */ - borderColor?: string; - - /** Background color of the strip line. - * @Default {gray} - */ - color?: string; - - /** End value of the strip line. - * @Default {null} - */ - end?: number; - - /** Options for customizing the font of the text. - */ - font?: AxesStripLineFont; - - /** Start value of the strip line. - * @Default {null} - */ - start?: number; - - /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. - * @Default {false} - */ - startFromAxis?: boolean; - - /** Specifies text to be displayed inside the strip line. - * @Default {stripLine} - */ - text?: string; - - /** Specifies the alignment of the text inside the strip line. - * @Default {middlecenter. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment | string; - - /** Show/hides the strip line. - * @Default {false} - */ - visible?: boolean; - - /** Width of the strip line. - * @Default {0} - */ - width?: number; - - /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered under the series and when it is “over”, - * it is rendered above the series. - * @Default {over. See ZIndex} - */ - zIndex?: ej.datavisualization.Chart.ZIndex | string; - } - - export interface AxesLabelBorder { - - /** Specifies the color of the label border. - * @Default {null} - */ - color?: string; - - /** Specifies the width of the label border. - * @Default {1} - */ - width?: number; - } - - export interface AxesTitleFont { - - /** Font family of the title text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the title text. - * @Default {ej.datavisualization.Chart.FontStyle.Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the title text. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the axis title text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis title. - * @Default {16px} - */ - size?: string; - } - - export interface AxesTitle { - - /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the title font. - */ - font?: AxesTitleFont; - - /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. - * @Default {34} - */ - maximumTitleWidth?: number; - - /** Title for the axis. - */ - text?: string; - - /** Controls the visibility of axis title. - * @Default {true} - */ - visible?: boolean; - - /** offset value for axis title. - * @Default {0} - */ - offset?: number; - - /** Specifies the position of the axis title. - * @Default {outside. See Position} - */ - position?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the position of the axis title. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.TextAlignment | string; - } - - export interface Axis { - - /** Options for customizing axis alternate grid band. - */ - alternateGridBand?: AxesAlternateGridBand; - - /** Specifies where axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, - * then axis will be placed at the opposite side. - * @Default {null} - */ - crossesAt?: number; - - /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. - * @Default {false} - */ - isIndexed?: boolean; - - /** Options for customizing the axis line. - */ - axisLine?: AxesAxisLine; - - /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. - * @Default {null} - */ - columnIndex?: number; - - /** Specifies the number of columns or plot areas an axis has to span horizontally. - * @Default {null} - */ - columnSpan?: number; - - /** Options to customize the crosshair label. - */ - crosshairLabel?: AxesCrosshairLabel; - - /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. - * @Default {null} - */ - desiredIntervals?: number; - - /** Specifies the placement of labels. - * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} - */ - labelPlacement?: ej.datavisualization.Chart.LabelPlacement | string; - - /** Specifies the position of labels at the edge of the axis. - * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} - */ - edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement | string; - - /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the font of the axis Labels. - */ - font?: AxesFont; - - /** Specifies the type of interval in date time axis. - * @Default {null. See IntervalType} - */ - intervalType?: ej.datavisualization.Chart.IntervalType | string; - - /** Specifies whether to inverse the axis. - * @Default {false} - */ - isInversed?: boolean; - - /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. - * @Default {null} - */ - labelFormat?: string; - - /** Specifies the action to take when the axis labels are overlapping with each other. - * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} - */ - labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction | string; - - /** Specifies the position of the axis labels. - * @Default {outside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the position of the axis labels. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.LabelAlignment | string; - - /** Angle in degrees to rotate the axis labels. - * @Default {null} - */ - labelRotation?: number; - - /** Logarithmic base value. This is applicable only for logarithmic axis. - * @Default {10} - */ - logBase?: number; - - /** Options for customizing major gird lines. - */ - majorGridLines?: AxesMajorGridLines; - - /** Options for customizing the major tick lines. - */ - majorTickLines?: AxesMajorTickLines; - - /** Maximum number of labels to be displayed in every 100 pixels. - * @Default {3} - */ - maximumLabels?: number; - - /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. - * @Default {34} - */ - maximumLabelWidth?: number; - - /** Options for customizing the minor grid lines. - */ - minorGridLines?: AxesMinorGridLines; - - /** Options for customizing the minor tick lines. - */ - minorTickLines?: AxesMinorTickLines; - - /** Specifies the number of minor ticks per interval. - * @Default {null} - */ - minorTicksPerInterval?: number; - - /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. - * @Default {null} - */ - name?: string; - - /** Specifies whether to render the axis at the opposite side of its default position. - * @Default {false} - */ - opposedPosition?: boolean; - - /** Specifies the padding for the plot area. - * @Default {10} - */ - plotOffset?: number; - - /** Options to customize the range of the axis. - */ - range?: AxesRange; - - /** Specifies the padding for the axis range. - * @Default {None. See RangePadding} - */ - rangePadding?: ej.datavisualization.Chart.RangePadding | string; - - /** Rounds the number to the given number of decimals. - * @Default {null} - */ - roundingPlaces?: number; - - /** Options for customizing the multi level labels. - * @Default {[ ]} - */ - multiLevelLabels?: AxesMultiLevelLabel[]; - - /** Options for customizing the strip lines. - * @Default {[ ]} - */ - stripLine?: AxesStripLine[]; - - /** Specifies the position of the axis tick lines. - * @Default {outside. See TickLinesPosition} - */ - tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition | string; - - /** Options for customizing the border of the labels. - */ - labelBorder?: AxesLabelBorder; - - /** Options for customizing the axis title. - */ - title?: AxesTitle; - - /** Specifies the type of data the axis is handling. - * @Default {null. See ValueType} - */ - valueType?: ej.datavisualization.Chart.ValueType | string; - - /** Show/hides the axis. - * @Default {true} - */ - visible?: boolean; - - /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. - * @Default {1} - */ - zoomFactor?: number; - - /** Position of the zoomed axis. Value ranges from 0 to 1. - * @Default {0} - */ - zoomPosition?: number; - } - - export interface PrimaryYAxisAlternateGridBandEven { - - /** Fill color for the even grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of the even grid band. - * @Default {1} - */ - opacity?: number; - } - - export interface PrimaryYAxisAlternateGridBandOdd { - - /** Fill color of the odd grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of odd grid band. - * @Default {1} - */ - opacity?: number; - } - - export interface PrimaryYAxisAlternateGridBand { - - /** Options for customizing even grid band. - */ - even?: PrimaryYAxisAlternateGridBandEven; - - /** Options for customizing odd grid band. - */ - odd?: PrimaryYAxisAlternateGridBandOdd; - } - - export interface PrimaryYAxisAxisLine { - - /** Pattern of dashes and gaps to be applied to the axis line. - * @Default {null} - */ - dashArray?: string; - - /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. - * @Default {null} - */ - offset?: number; - - /** Show/hides the axis line. - * @Default {true} - */ - visible?: boolean; - - /** Color of axis line. - */ - color?: string; - - /** Width of axis line. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryYAxisCrosshairLabel { - - /** Show/hides the crosshair label associated with this axis. - * @Default {false} - */ - visible?: boolean; - } - - export interface PrimaryYAxisFont { - - /** Font family of labels. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of labels. - * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the label. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the axis labels. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis labels. - * @Default {13px} - */ - size?: string; - } - - export interface PrimaryYAxisMajorGridLines { - - /** Pattern of dashes and gaps used to stroke the major grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Color of the major grid lines. - * @Default {null} - */ - color?: string; - - /** Opacity of major grid lines. - * @Default {1} - */ - opacity?: number; - - /** Show/hides the major grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major grid lines. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryYAxisMajorTickLines { - - /** Length of the major tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major tick lines. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryYAxisMinorGridLines { - - /** Patterns of dashes and gaps used to stroke the minor grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Show/hides the minor grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minorGridLines. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryYAxisMinorTickLines { - - /** Length of the minor tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the minor tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minor tick line - * @Default {1} - */ - width?: number; - } - - export interface PrimaryYAxisRange { - - /** Minimum value of the axis range. - * @Default {null} - */ - min?: number; - - /** Maximum value of the axis range. - * @Default {null} - */ - max?: number; - - /** Interval for the range. - * @Default {null} - */ - interval?: number; - } - - export interface PrimaryYAxisMultiLevelLabelsFont { - - /** Font color of the multi level labels text. - * @Default {null} - */ - color?: string; - - /** Font family of the multi level labels text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the multi level labels text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the multi level label text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the multi level label text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the multi level label text. - * @Default {12px} - */ - size?: string; - } - - export interface PrimaryYAxisMultiLevelLabelsBorder { - - /** Border color of the multi level labels. - * @Default {null} - */ - color?: string; - - /** Border width of the multi level labels. - * @Default {1} - */ - width?: number; - - /** Border type of the multi level labels. - * @Default {rectangle. See Type} - */ - type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType | string; - } - - export interface PrimaryYAxisMultiLevelLabel { - - /** Visibility of the multi level labels. - * @Default {false} - */ - visible?: boolean; - - /** Text of the multi level labels. - */ - text?: string; - - /** Starting value of the multi level labels. - * @Default {null} - */ - start?: number; - - /** Ending value of the multi level labels. - * @Default {null} - */ - end?: number; - - /** Specifies the level of multi level labels. - * @Default {0} - */ - level?: number; - - /** Specifies the maximum width of the text in multi level labels. - * @Default {null} - */ - maximumTextWidth?: number; - - /** Specifies the alignment of the text in multi level labels. - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment | string; - - /** Specifies the handling of text over flow in multi level labels. - * @Default {center. See TextOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow | string; - - /** Options for customizing the font of the text. - */ - font?: PrimaryYAxisMultiLevelLabelsFont; - - /** Options for customizing the border of the series. - */ - border?: PrimaryYAxisMultiLevelLabelsBorder; - } - - export interface PrimaryYAxisStripLineFont { - - /** Font color of the strip line text. - * @Default {black} - */ - color?: string; - - /** Font family of the strip line text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the strip line text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the strip line text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the strip line text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the strip line text. - * @Default {12px} - */ - size?: string; - } - - export interface PrimaryYAxisStripLine { - - /** Border color of the strip line. - * @Default {gray} - */ - borderColor?: string; - - /** Background color of the strip line. - * @Default {gray} - */ - color?: string; - - /** End value of the strip line. - * @Default {null} - */ - end?: number; - - /** Options for customizing the font of the text. - */ - font?: PrimaryYAxisStripLineFont; - - /** Start value of the strip line. - * @Default {null} - */ - start?: number; - - /** Indicates whether to render the strip line from the minimum/start value of the axis. This property won’t work when start property is set. - * @Default {false} - */ - startFromAxis?: boolean; - - /** Specifies text to be displayed inside the strip line. - * @Default {stripLine} - */ - text?: string; - - /** Specifies the alignment of the text inside the strip line. - * @Default {middlecenter. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment | string; - - /** Show/hides the strip line. - * @Default {false} - */ - visible?: boolean; - - /** Width of the strip line. - * @Default {0} - */ - width?: number; - - /** Specifies the order in which strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered below the series and - * when it is “over”, it is rendered above the series. - * @Default {over. See ZIndex} - */ - zIndex?: ej.datavisualization.Chart.ZIndex | string; - } - - export interface PrimaryYAxisLabelBorder { - - /** Specifies the color of the label border. - * @Default {null} - */ - color?: string; - - /** Specifies the width of the label border. - * @Default {1} - */ - width?: number; - } - - export interface PrimaryYAxisTitleFont { - - /** Font family of the title text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the title text. - * @Default {ej.datavisualization.Chart.FontStyle.Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the title text. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the axis title text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis title. - * @Default {16px} - */ - size?: string; - } - - export interface PrimaryYAxisTitle { - - /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. - * @Default {ej.datavisualization.Chart.enableTrim} - */ - enableTrim?: boolean; - - /** Options for customizing the title font. - */ - font?: PrimaryYAxisTitleFont; - - /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. - * @Default {ej.datavisualization.Chart.maximumTitleWidth.null} - */ - maximumTitleWidth?: number; - - /** Title for the axis. - */ - text?: string; - - /** Controls the visibility of axis title. - * @Default {true} - */ - visible?: boolean; - - /** offset value for axis title. - * @Default {0} - */ - offset?: number; - - /** Specifies the position of the axis title. - * @Default {outside. See Position} - */ - position?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the position of the axis title. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.TextAlignment | string; - } - - export interface PrimaryYAxis { - - /** Options for customizing vertical axis alternate grid band. - */ - alternateGridBand?: PrimaryYAxisAlternateGridBand; - - /** Options for customizing the axis line. - */ - axisLine?: PrimaryYAxisAxisLine; - - /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. - * If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. - * @Default {null} - */ - crossesAt?: number; - - /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. If the provided name does not belongs to a valid axis, - * then primary X axis or primary Y axis will be used for crossing - * @Default {null} - */ - crossesInAxis?: string; - - /** Options to customize the crosshair label. - */ - crosshairLabel?: PrimaryYAxisCrosshairLabel; - - /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. - * @Default {null} - */ - desiredIntervals?: number; - - /** Specifies the placement of labels. - * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} - */ - labelPlacement?: ej.datavisualization.Chart.LabelPlacement | string; - - /** Specifies the position of labels at the edge of the axis. - * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} - */ - edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement | string; - - /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the font of the axis Labels. - */ - font?: PrimaryYAxisFont; - - /** Specifies the type of interval in date time axis. - * @Default {null. See IntervalType} - */ - intervalType?: ej.datavisualization.Chart.IntervalType | string; - - /** Specifies whether to inverse the axis. - * @Default {false} - */ - isInversed?: boolean; - - /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. - * @Default {null} - */ - labelFormat?: string; - - /** Specifies the action to take when the axis labels are overlapping with each other. - * @Default {ej.datavisualization.Chart.LabelIntersectAction.None} - */ - labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction | string; - - /** Specifies the position of the axis labels. - * @Default {outside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the position of the axis labels. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.LabelAlignment | string; - - /** Logarithmic base value. This is applicable only for logarithmic axis. - * @Default {10} - */ - logBase?: number; - - /** Options for customizing major gird lines. - */ - majorGridLines?: PrimaryYAxisMajorGridLines; - - /** Options for customizing the major tick lines. - */ - majorTickLines?: PrimaryYAxisMajorTickLines; - - /** Maximum number of labels to be displayed in every 100 pixels. - * @Default {3} - */ - maximumLabels?: number; - - /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. - * @Default {ej.datavisualization.Chart.maximumLabelWidth type {int}} - */ - maximumLabelWidth?: number; - - /** Options for customizing the minor grid lines. - */ - minorGridLines?: PrimaryYAxisMinorGridLines; - - /** Options for customizing the minor tick lines. - */ - minorTickLines?: PrimaryYAxisMinorTickLines; - - /** Specifies the number of minor ticks per interval. - * @Default {null} - */ - minorTicksPerInterval?: number; - - /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. - * @Default {null} - */ - name?: string; - - /** Specifies whether to render the axis at the opposite side of its default position. - * @Default {false} - */ - opposedPosition?: boolean; - - /** Specifies the padding for the plot area. - * @Default {10} - */ - plotOffset?: number; - - /** Options to customize the range of the axis. - */ - range?: PrimaryYAxisRange; - - /** Specifies the padding for the axis range. - * @Default {ej.datavisualization.Chart.RangePadding.None. See RangePadding} - */ - rangePadding?: ej.datavisualization.Chart.RangePadding | string; - - /** Rounds the number to the given number of decimals. - * @Default {null} - */ - roundingPlaces?: number; - - /** Specifies the index of the row to which the axis is associated, when the chart area is divided into multiple plot areas by using rowDefinitions. - * @Default {null} - */ - rowIndex?: number; - - /** Specifies the number of row or plot areas an axis has to span vertically. - * @Default {null} - */ - rowSpan?: number; - - /** Options for customizing the multi level labels. - * @Default {[ ]} - */ - multiLevelLabels?: PrimaryYAxisMultiLevelLabel[]; - - /** Options for customizing the strip lines. - * @Default {[ ]} - */ - stripLine?: PrimaryYAxisStripLine[]; - - /** Specifies the position of the axis tick lines. - * @Default {outside. See TickLinesPosition} - */ - tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition | string; - - /** Options for customizing the border of the labels. - */ - labelBorder?: PrimaryYAxisLabelBorder; - - /** Options for customizing the axis title. - */ - title?: PrimaryYAxisTitle; - - /** Specifies the type of data the axis is handling. - * @Default {null. See ValueType} - */ - valueType?: ej.datavisualization.Chart.ValueType | string; - - /** Show/hides the axis. - * @Default {true} - */ - visible?: boolean; - - /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Values ranges from 0 to 1. - * @Default {1} - */ - zoomFactor?: number; - - /** Position of the zoomed axis. Value ranges from 0 to 1 - * @Default {0} - */ - zoomPosition?: number; - } - - export interface RowDefinition { - - /** Specifies the unit to measure the height of the row in plotting area. - * @Default {'pixel'. See Unit} - */ - unit?: ej.datavisualization.Chart.Unit | string; - - /** Height of the row in plotting area. Height is measured in either pixel or percentage based on the value of unit property. - * @Default {50} - */ - rowHeight?: number; - - /** Color of the line that indicates the starting point of the row in plotting area. - * @Default {transparent} - */ - lineColor?: string; - - /** Width of the line that indicates the starting point of the row in plot area. - * @Default {1} - */ - lineWidth?: number; - } - - export interface SeriesBorder { - - /** Border color of the series. - * @Default {transparent} - */ - color?: string; - - /** Border width of the series. - * @Default {1} - */ - width?: number; - - /** DashArray for border of the series. - * @Default {null} - */ - dashArray?: string; - } - - export interface SeriesFont { - - /** Font color of the series text. - * @Default {#707070} - */ - color?: string; - - /** Font Family of the series. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font Style of the series. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the series. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of series text. - * @Default {1} - */ - opacity?: number; - - /** Size of the series text. - * @Default {12px} - */ - size?: string; - } - - export interface SeriesMarkerBorder { - - /** Border color of the marker shape. - * @Default {white} - */ - color?: string; - - /** Border width of the marker shape. - * @Default {3} - */ - width?: number; - } - - export interface SeriesMarkerDataLabelBorder { - - /** Border color of the data label. - * @Default {null} - */ - color?: string; - - /** Border width of the data label. - * @Default {0.1} - */ - width?: number; - } - - export interface SeriesMarkerDataLabelConnectorLine { - - /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. - * @Default {line. See ConnectorLineType} - */ - type?: ej.datavisualization.Chart.Type | string; - - /** Width of the connector. - * @Default {0.5} - */ - width?: number; - - /** Color of the connector. - * @Default {null} - */ - color?: string; - - /** Height of the connector. - * @Default {null} - */ - height?: number; - } - - export interface SeriesMarkerDataLabelFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; - } - - export interface SeriesMarkerDataLabelMargin { - - /** Bottom margin of the text. - * @Default {5} - */ - bottom?: number; - - /** Left margin of the text. - * @Default {5} - */ - left?: number; - - /** Right margin of the text. - * @Default {5} - */ - right?: number; - - /** Top margin of the text. - * @Default {5} - */ - top?: number; - } - - export interface SeriesMarkerDataLabel { - - /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. - * @Default {null} - */ - angle?: number; - - /** Maximum label width of the data label. - * @Default {null} - */ - maximumLabelWidth?: number; - - /** Enable the wrap option to the data label. - * @Default {false} - */ - enableWrap?: boolean; - - /** Options for customizing the border of the data label. - */ - border?: SeriesMarkerDataLabelBorder; - - /** Options for displaying and customizing the line that connects point and data label. - */ - connectorLine?: SeriesMarkerDataLabelConnectorLine; - - /** Background color of the data label. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the data label font. - */ - font?: SeriesMarkerDataLabelFont; - - /** Horizontal alignment of the data label. - * @Default {center} - */ - horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment | string; - - /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. - */ - margin?: SeriesMarkerDataLabelMargin; - - /** Opacity of the data label. - * @Default {1} - */ - opacity?: number; - - /** Background shape of the data label. - * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Name of a field in data source where datalabel text is displayed. - */ - textMappingName?: string; - - /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. - * @Default {top. See TextPosition} - */ - textPosition?: ej.datavisualization.Chart.TextPosition | string; - - /** Vertical alignment of the data label. - * @Default {'center'} - */ - verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment | string; - - /** Controls the visibility of the data labels. - * @Default {false} - */ - visible?: boolean; - - /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - */ - template?: string; - - /** Moves the label vertically by some offset. - * @Default {0} - */ - offset?: number; - } - - export interface SeriesMarkerSize { - - /** Height of the marker. - * @Default {6} - */ - height?: number; - - /** Width of the marker. - * @Default {6} - */ - width?: number; - } - - export interface SeriesMarker { - - /** Options for customizing the border of the marker shape. - */ - border?: SeriesMarkerBorder; - - /** Options for displaying and customizing data labels. - */ - dataLabel?: SeriesMarkerDataLabel; - - /** Color of the marker shape. - * @Default {null} - */ - fill?: string; - - /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. - */ - imageUrl?: string; - - /** Opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of the marker. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Options for customizing the size of the marker shape. - */ - size?: SeriesMarkerSize; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - } - - export interface SeriesOutlierSettingsSize { - - /** Height of the outlier shape. - * @Default {6} - */ - height?: number; - - /** Width of the outlier shape. - * @Default {6} - */ - width?: number; - } - - export interface SeriesOutlierSettings { - - /** Specifies the shape of the outlier. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Options for customizing the size of the outlier shape. - */ - size?: SeriesOutlierSettingsSize; - } - - export interface SeriesEmptyPointSettingsStyleBorder { - - /** Border color of the empty point. - */ - color?: string; - - /** Border width of the empty point. - * @Default {1} - */ - width?: number; - } - - export interface SeriesEmptyPointSettingsStyle { - - /** Color of the empty point. - */ - color?: string; - - /** Options for customizing border of the empty point in the series. - */ - border?: SeriesEmptyPointSettingsStyleBorder; - } - - export interface SeriesEmptyPointSettings { - - /** Controls the visibility of the empty point. - * @Default {true} - */ - visible?: boolean; - - /** Specifies the mode of empty point. - * @Default {gap} - */ - displayMode?: ej.datavisualization.Chart.EmptyPointMode | string; - - /** Options for customizing the color and border of the empty point in the series. - */ - style?: SeriesEmptyPointSettingsStyle; - } - - export interface SeriesConnectorLine { - - /** Width of the connector line. - * @Default {1} - */ - width?: number; - - /** Color of the connector line. - * @Default {#565656} - */ - color?: string; - - /** DashArray of the connector line. - * @Default {null} - */ - dashArray?: string; - - /** Opacity of the connector line. - * @Default {1} - */ - opacity?: number; - } - - export interface SeriesDragSettings { - - /** drag/drop the series - * @Default {false} - */ - enable?: boolean; - - /** Specifies the type of drag settings. - * @Default {xy} - */ - type?: string; - } - - export interface SeriesErrorBarCap { - - /** Show/Hides the error bar cap. - * @Default {true} - */ - visible?: boolean; - - /** Width of the error bar cap. - * @Default {1} - */ - width?: number; - - /** Length of the error bar cap. - * @Default {1} - */ - length?: number; - - /** Color of the error bar cap. - * @Default {#000000} - */ - fill?: string; - } - - export interface SeriesErrorBar { - - /** Show/hides the error bar - * @Default {visible} - */ - visibility?: boolean; - - /** Specifies the type of error bar. - * @Default {FixedValue} - */ - type?: ej.datavisualization.Chart.ErrorBarType | string; - - /** Specifies the mode of error bar. - * @Default {vertical} - */ - mode?: ej.datavisualization.Chart.ErrorBarMode | string; - - /** Specifies the direction of error bar. - * @Default {both} - */ - direction?: ej.datavisualization.Chart.ErrorBarDirection | string; - - /** Value of vertical error bar. - * @Default {3} - */ - verticalErrorValue?: number; - - /** Value of horizontal error bar. - * @Default {1} - */ - horizontalErrorValue?: number; - - /** Value of positive horizontal error bar. - * @Default {1} - */ - horizontalPositiveErrorValue?: number; - - /** Value of negative horizontal error bar. - * @Default {1} - */ - horizontalNegativeErrorValue?: number; - - /** Value of positive vertical error bar. - * @Default {5} - */ - verticalPositiveErrorValue?: number; - - /** Value of negative vertical error bar. - * @Default {5} - */ - verticalNegativeErrorValue?: number; - - /** Fill color of the error bar. - * @Default {#000000} - */ - fill?: string; - - /** Width of the error bar. - * @Default {1} - */ - width?: number; - - /** Options for customizing the error bar cap. - */ - cap?: SeriesErrorBarCap; - } - - export interface SeriesPointsBorder { - - /** Border color of the point. - * @Default {null} - */ - color?: string; - - /** Border width of the point. - * @Default {null} - */ - width?: number; - } - - export interface SeriesPointsMarkerBorder { - - /** Border color of the marker shape. - * @Default {white} - */ - color?: string; - - /** Border width of the marker shape. - * @Default {3} - */ - width?: number; - } - - export interface SeriesPointsMarkerDataLabelBorder { - - /** Border color of the data label. - * @Default {null} - */ - color?: string; - - /** Border width of the data label. - * @Default {0.1} - */ - width?: number; - } - - export interface SeriesPointsMarkerDataLabelConnectorLine { - - /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. - * @Default {line. See ConnectorLineType} - */ - type?: ej.datavisualization.Chart.ConnectorLineType | string; - - /** Width of the connector. - * @Default {0.5} - */ - width?: number; - } - - export interface SeriesPointsMarkerDataLabelFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; - } - - export interface SeriesPointsMarkerDataLabelMargin { - - /** Bottom margin of the text. - * @Default {5} - */ - bottom?: number; - - /** Left margin of the text. - * @Default {5} - */ - left?: number; - - /** Right margin of the text. - * @Default {5} - */ - right?: number; - - /** Top margin of the text. - * @Default {5} - */ - top?: number; - } - - export interface SeriesPointsMarkerDataLabel { - - /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. - * @Default {null} - */ - angle?: number; - - /** Options for customizing the border of the data label. - */ - border?: SeriesPointsMarkerDataLabelBorder; - - /** Options for displaying and customizing the line that connects point and data label. - */ - connectorLine?: SeriesPointsMarkerDataLabelConnectorLine; - - /** Background color of the data label. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the data label font. - */ - font?: SeriesPointsMarkerDataLabelFont; - - /** Horizontal alignment of the data label. - * @Default {center} - */ - horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment | string; - - /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. - */ - margin?: SeriesPointsMarkerDataLabelMargin; - - /** Opacity of the data label. - * @Default {1} - */ - opacity?: number; - - /** Background shape of the data label. - * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. - * @Default {top. See TextPosition} - */ - textPosition?: ej.datavisualization.Chart.TextPosition | string; - - /** Vertical alignment of the data label. - * @Default {'center'} - */ - verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment | string; - - /** Controls the visibility of the data labels. - * @Default {false} - */ - visible?: boolean; - - /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - */ - template?: string; - - /** Moves the label vertically by specified offset. - * @Default {0} - */ - offset?: number; - } - - export interface SeriesPointsMarkerSize { - - /** Height of the marker. - * @Default {6} - */ - height?: number; - - /** Width of the marker. - * @Default {6} - */ - width?: number; - } - - export interface SeriesPointsMarker { - - /** Options for customizing the border of the marker shape. - */ - border?: SeriesPointsMarkerBorder; - - /** Options for displaying and customizing data label. - */ - dataLabel?: SeriesPointsMarkerDataLabel; - - /** Color of the marker shape. - * @Default {null} - */ - fill?: string; - - /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. - */ - imageUrl?: string; - - /** Opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of the marker. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape | string; - - /** Options for customizing the size of the marker shape. - */ - size?: SeriesPointsMarkerSize; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - } - - export interface SeriesPoint { - - /** Options for customizing the border of a point. This is applicable only for column type series and accumulation type series. - */ - border?: SeriesPointsBorder; - - /** Enables or disables the visibility of legend item. - * @Default {visible} - */ - visibleOnLegend?: string; - - /** To show/hide the intermediate summary from the last intermediate point. - * @Default {false} - */ - showIntermediateSum?: boolean; - - /** To show/hide the total summary of the waterfall series. - * @Default {false} - */ - showTotalSum?: boolean; - - /** Close value of the point. Close value is applicable only for financial type series. - * @Default {null} - */ - close?: number; - - /** Size of a bubble in the bubble series. This is applicable only for the bubble series. - * @Default {null} - */ - size?: number; - - /** Background color of the point. This is applicable only for column type series and accumulation type series. - * @Default {null} - */ - fill?: string; - - /** High value of the point. High value is applicable only for financial type series, range area series and range column series. - * @Default {null} - */ - high?: number; - - /** Low value of the point. Low value is applicable only for financial type series, range area series and range column series. - * @Default {null} - */ - low?: number; - - /** Options for displaying and customizing marker for a data point. Marker contains shapes and/or data labels. - */ - marker?: SeriesPointsMarker; - - /** Open value of the point. This is applicable only for financial type series. - * @Default {null} - */ - open?: number; - - /** Datalabel text for the point. - * @Default {null} - */ - text?: string; - - /** X value of the point. - * @Default {null} - */ - x?: number; - - /** Y value of the point. - * @Default {null} - */ - y?: number; - } - - export interface SeriesCornerRadius { - - /** Specifies the radius for the top left corner. - * @Default {0} - */ - topLeft?: number; - - /** Specifies the radius for the top right corner. - * @Default {0} - */ - topRight?: number; - - /** Specifies the radius for the bottom left corner. - * @Default {0} - */ - bottomLeft?: number; - - /** Specifies the radius for the bottom right corner. - * @Default {0} - */ - bottomRight?: number; - } - - export interface SeriesTooltipBorder { - - /** Border Color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border Width of the tooltip. - * @Default {1} - */ - width?: number; - } - - export interface SeriesTooltip { - - /** Options for customizing the border of the tooltip. - */ - border?: SeriesTooltipBorder; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - rx?: number; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - ry?: number; - - /** Specifies the duration, the tooltip has to be displayed. - * @Default {500ms} - */ - duration?: string; - - /** Enables/disables the animation of the tooltip when moving from one point to another. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Background color of the tooltip. - * @Default {null} - */ - fill?: string; - - /** Format of the tooltip content. - * @Default {#point.x# : #point.y#} - */ - format?: string; - - /** Opacity of the tooltip. - * @Default {0.95} - */ - opacity?: number; - - /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - * @Default {null} - */ - template?: string; - - /** Controls the visibility of the tooltip. - * @Default {false} - */ - visible?: boolean; - } - - export interface SeriesTrendline { - - /** Show/hides the trendline. - */ - visibility?: boolean; - - /** Specifies the type of trendline for the series. - * @Default {linear. See TrendlinesType} - */ - type?: string; - - /** Name for the trendlines that is to be displayed in legend text. - * @Default {Trendline} - */ - name?: string; - - /** Fill color of the trendlines. - * @Default {#0000FF} - */ - fill?: string; - - /** Width of the trendlines. - * @Default {1} - */ - width?: number; - - /** Opacity of the trendline. - * @Default {1} - */ - opacity?: number; - - /** Pattern of dashes and gaps used to stroke the trendline. - */ - dashArray?: string; - - /** Future trends of the current series. - * @Default {0} - */ - forwardForecast?: number; - - /** Past trends of the current series. - * @Default {0} - */ - backwardForecast?: number; - - /** Specifies the order of polynomial trendlines. - * @Default {0} - */ - polynomialOrder?: number; - - /** Specifies the moving average starting period value. - * @Default {2} - */ - period?: number; - } - - export interface SeriesHighlightSettingsBorder { - - /** Border color of the series/point on highlight. - */ - color?: string; - - /** Border width of the series/point on highlight. - * @Default {2} - */ - width?: string; - } - - export interface SeriesHighlightSettings { - - /** Enables/disables the ability to highlight series or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether series or data point has to be highlighted. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode | string; - - /** Color of the series/point on highlight. - */ - color?: string; - - /** Opacity of the series/point on highlight. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of series on highlight. - */ - border?: SeriesHighlightSettingsBorder; - - /** Specifies the pattern for the series/point on highlight. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on highlight. - */ - customPattern?: string; - } - - export interface SeriesSelectionSettingsBorder { - - /** Border color of the series/point on selection. - */ - color?: string; - - /** Border width of the series/point on selection. - * @Default {2} - */ - width?: string; - } - - export interface SeriesSelectionSettings { - - /** Enables/disables the ability to select a series/data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether series or data point has to be selected. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode | string; - - /** Specifies the type of selection. - * @Default {single} - */ - type?: ej.datavisualization.Chart.SelectionType | string; - - /** Specifies the drawn rectangle type. - * @Default {xy} - */ - rangeType?: ej.datavisualization.Chart.RangeType | string; - - /** Color of the series/point on selection. - */ - color?: string; - - /** Opacity of the series/point on selection. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of series on selection. - */ - border?: SeriesSelectionSettingsBorder; - - /** Specifies the pattern for the series/point on selection. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on selection. - */ - customPattern?: string; - } - - export interface Series { - - /** Color of the point, where the close is up in financial chart. - * @Default {null} - */ - bearFillColor?: string; - - /** Options for customizing the border of the series. - */ - border?: SeriesBorder; - - /** Color of the point, where the close is down in financial chart. - * @Default {null} - */ - bullFillColor?: string; - - /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet - * @Default {rectangle} - */ - columnFacet?: ej.datavisualization.Chart.ColumnFacet | string; - - /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. - * @Default {0.7} - */ - columnWidth?: number; - - /** Spacing between columns of different series. Value ranges from 0 to 1 - * @Default {0} - */ - columnSpacing?: number; - - /** To group the series of stacking collection. - */ - stackingGroup?: string; - - /** Pattern of dashes and gaps used to stroke the line type series. - */ - dashArray?: string; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1. - * @Default {0.4} - */ - doughnutCoefficient?: number; - - /** Controls the size of the doughnut series. Value ranges from 0 to 1. - * @Default {0.8} - */ - doughnutSize?: number; - - /** Type of series to be drawn in radar or polar series. - * @Default {line. See DrawType} - */ - drawType?: ej.datavisualization.Chart.DrawType | string; - - /** Enable/disable the animation of series. - * @Default {false} - */ - enableAnimation?: boolean; - - /** To avoid overlapping of data labels smartly. - * @Default {null} - */ - enableSmartLabels?: number; - - /** End angle of pie/doughnut series. For a complete circle, it has to be 360, by default. - * @Default {null} - */ - endAngle?: number; - - /** Explodes the pie/doughnut slices on mouse move. - * @Default {false} - */ - explode?: boolean; - - /** Explodes all the slice of pie/doughnut on render. - * @Default {null} - */ - explodeAll?: boolean; - - /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. - * @Default {null} - */ - explodeIndex?: number; - - /** Specifies the distance of the slice from the center, when it is exploded. - * @Default {25} - */ - explodeOffset?: number; - - /** Fill color of the series. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the series font. - */ - font?: SeriesFont; - - /** Specifies the height of the funnel in funnel series. Values can be in both pixel and percentage. - * @Default {32.7%} - */ - funnelHeight?: string; - - /** Specifies the width of the funnel in funnel series. Values can be in both pixel and percentage. - * @Default {11.6%} - */ - funnelWidth?: string; - - /** Gap between the slices of pyramid/funnel series. - * @Default {0} - */ - gapRatio?: number; - - /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. - * @Default {true} - */ - isClosed?: boolean; - - /** Specifies whether to stack the column series in polar/radar charts. - * @Default {true} - */ - isStacking?: boolean; - - /** Renders the chart vertically. This is applicable only for Cartesian type series. - * @Default {false} - */ - isTransposed?: boolean; - - /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. - * @Default {true} - */ - showMedian?: boolean; - - /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. - * @Default {inside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition | string; - - /** Quartile calculation has been performed in three different formulas to render the boxplot series . - * @Default {exclusive} - */ - boxPlotMode?: ej.datavisualization.Chart.LabelPosition | string; - - /** Specifies the line cap of the series. - * @Default {Butt. See LineCap} - */ - lineCap?: ej.datavisualization.Chart.LineCap | string; - - /** Specifies the type of shape to be used where two lines meet. - * @Default {Round. See LineJoin} - */ - lineJoin?: ej.datavisualization.Chart.LineJoin | string; - - /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. - */ - marker?: SeriesMarker; - - /** Name of the series, that is to be displayed in the legend. - * @Default {Add a comment to this line} - */ - name?: string; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Options for customizing the outlier of individual series. - */ - outlierSettings?: SeriesOutlierSettings; - - /** Name of a field in data source where fill color for all the data points is generated. - */ - palette?: string; - - /** Controls the size of pie series. Value ranges from 0 to 1. - * @Default {0.8} - */ - pieCoefficient?: number; - - /** Options for customizing the empty point in the series. - */ - emptyPointSettings?: SeriesEmptyPointSettings; - - /** Fill color for the positive column of the waterfall. - * @Default {null} - */ - positiveFill?: string; - - /** Options for customizing the waterfall connector line. - */ - connectorLine?: SeriesConnectorLine; - - /** Options to customize the drag and drop in series. - */ - dragSettings?: SeriesDragSettings; - - /** Options to customize the error bar in series. - */ - errorBar?: SeriesErrorBar; - - /** Option to add data points; each point should have x and y property. Also, optionally, you can customize the points color, border, marker by using fill, border and marker options. - */ - points?: SeriesPoint[]; - - /** Specifies the mode of the pyramid series. - * @Default {linear} - */ - pyramidMode?: ej.datavisualization.Chart.PyramidMode | string; - - /** Specifies ej.Query to select data from dataSource. This property is applicable only when the dataSource is ej.DataManager. - * @Default {null} - */ - query?: any; - - /** Start angle from where the pie/doughnut series renders. It starts from 0, by default. - * @Default {null} - */ - startAngle?: number; - - /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. - */ - cornerRadius?: SeriesCornerRadius; - - /** Options for customizing the tooltip of chart. - */ - tooltip?: SeriesTooltip; - - /** Specifies the type of the series to render in chart. - * @Default {column. see Type} - */ - type?: ej.datavisualization.Chart.Type | string; - - /** Controls the visibility of the series. - * @Default {visible} - */ - visibility?: string; - - /** Enables or disables the visibility of legend item. - * @Default {visible} - */ - visibleOnLegend?: string; - - /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - xAxisName?: string; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - yAxisName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Name of the property in the datasource that contains high value for the series. - * @Default {null} - */ - high?: string; - - /** Name of the property in the datasource that contains low value for the series. - * @Default {null} - */ - low?: string; - - /** Name of the property in the datasource that contains open value for the series. - * @Default {null} - */ - open?: string; - - /** Name of the property in the datasource that contains close value for the series. - * @Default {null} - */ - close?: string; - - /** Name of the property in the datasource that contains fill color for the series. - * @Default {null} - */ - pointColorMappingName?: string; - - /** Z-order of the series. - * @Default {0} - */ - zOrder?: number; - - /** Name of the property in the datasource that contains the size value for the bubble series. - * @Default {null} - */ - size?: string; - - /** Option to add trendlines to chart. - */ - trendlines?: SeriesTrendline[]; - - /** Options for customizing the appearance of the series or data point while highlighting. - */ - highlightSettings?: SeriesHighlightSettings; - - /** Options for customizing the appearance of the series/data point on selection. - */ - selectionSettings?: SeriesSelectionSettings; - } - - export interface Size { - - /** Height of the Chart. Height can be specified in either pixel or percentage. - * @Default {'450'} - */ - height?: string; - - /** Width of the Chart. Width can be specified in either pixel or percentage. - * @Default {'450'} - */ - width?: string; - } - - export interface TitleBorder { - - /** Width of the title border. - * @Default {1} - */ - width?: number; - - /** color of the title border. - * @Default {transparent} - */ - color?: string; - - /** opacity of the title border. - * @Default {0.8} - */ - opacity?: number; - - /** opacity of the title border. - * @Default {0.8} - */ - cornerRadius?: number; - } - - export interface TitleFont { - - /** Font family for Chart title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for Chart title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight for Chart title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the Chart title. - * @Default {0.5} - */ - opacity?: number; - - /** Font size for Chart title. - * @Default {20px} - */ - size?: string; - } - - export interface TitleSubTitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle | string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight | string; - - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; - - /** Font size for sub title. - * @Default {12px} - */ - size?: string; - } - - export interface TitleSubTitleBorder { - - /** Width of the subtitle border. - * @Default {1} - */ - width?: number; - - /** color of the subtitle border. - * @Default {transparent} - */ - color?: string; - - /** opacity of the subtitle border. - * @Default {0.8} - */ - opacity?: number; - - /** opacity of the subtitle border. - * @Default {0.8} - */ - cornerRadius?: number; - } - - export interface TitleSubTitle { - - /** Options for customizing the font of sub title. - */ - font?: TitleSubTitleFont; - - /** Background color for the chart subtitle. - * @Default {transparent} - */ - background?: string; - - /** Options to customize the border of the title. - */ - border?: TitleSubTitleBorder; - - /** Text to be displayed in sub title. - */ - text?: string; - - /** Alignment of sub title text. - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.Alignment | string; - } - - export interface Title { - - /** Background color for the chart title. - * @Default {transparent} - */ - background?: string; - - /** Options to customize the border of the title. - */ - border?: TitleBorder; - - /** Options for customizing the font of Chart title. - */ - font?: TitleFont; - - /** Options to customize the sub title of Chart. - */ - subTitle?: TitleSubTitle; - - /** Text to be displayed in Chart title. - */ - text?: string; - - /** Alignment of the title text. - * @Default {Center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.Alignment | string; - } - - export interface Zooming { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Enables or disables pinch zooming. - * @Default {true} - */ - enablePinching?: boolean; - - /** Enable or disables the differed zooming. When it is enabled, chart is updated only on mouse up action while zooming and panning. - * @Default {false} - */ - enableDeferredZoom?: boolean; - - /** Enables/disables the ability to zoom the chart on moving the mouse wheel. - * @Default {false} - */ - enableMouseWheel?: boolean; - - /** Specifies whether to allow zooming the chart vertically or horizontally or in both ways. - * @Default {'x,y'} - */ - type?: string; - - /** Toggles the visibility of the scrollbar, which will be displayed while zooming. - * @Default {false} - */ - enableScrollbar?: boolean; - - /** To display user specified buttons in zooming toolbar. - * @Default {[zoomIn, zoomOut, zoom, pan, reset]} - */ - toolbarItems?: any[]; - } - } - namespace Chart { - enum CoordinateUnit { - //string - None, - //string - Pixels, - //string - Points, - } - } - namespace Chart { - enum HorizontalAlignment { - //string - Left, - //string - Right, - //string - Middle, - } - } - namespace Chart { - enum Region { - //string - Chart, - //string - Series, - } - } - namespace Chart { - enum VerticalAlignment { - //string - Top, - //string - Bottom, - //string - Middle, - } - } - namespace Chart { - enum ExportingType { - //string - PNG, - //string - JPG, - //string - PDF, - //string - DOCX, - //string - XLSX, - //string - SVG, - } - } - namespace Chart { - enum ExportingOrientation { - //string - Portrait, - //string - Landscape, - } - } - namespace Chart { - enum ExportingMode { - //string - ServerSide, - //string - ClientSide, - } - } - namespace Chart { - enum Unit { - //string - Percentage, - //string - Pixel, - } - } - namespace Chart { - enum ColumnFacet { - //string - Rectangle, - //string - Cylinder, - } - } - namespace Chart { - enum DrawType { - //string - Line, - //string - Area, - //string - Column, - } - } - namespace Chart { - enum FontStyle { - //string - Normal, - //string - Italic, - } - } - namespace Chart { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } - } - namespace Chart { - enum LabelPosition { - //string - Inside, - //string - Outside, - //string - OutsideExtended, - } - } - namespace Chart { - enum boxPlotMode { - //string - Exclusive, - //string - Inclusive, - //string - Normal, - } - } - namespace Chart { - enum LineCap { - //string - Butt, - //string - Round, - //string - Square, - } - } - namespace Chart { - enum LineJoin { - //string - Round, - //string - Bevel, - //string - Miter, - } - } - namespace Chart { - enum ConnectorLineType { - //string - Line, - //string - Bezier, - } - } - namespace Chart { - enum HorizontalTextAlignment { - //string - Center, - //string - Near, - //string - Far, - } - } - namespace Chart { - enum Shape { - //string - None, - //string - LeftArrow, - //string - RightArrow, - //string - Circle, - //string - Cross, - //string - HorizLine, - //string - VertLine, - //string - Diamond, - //string - Rectangle, - //string - Triangle, - //string - Hexagon, - //string - Pentagon, - //string - Star, - //string - Ellipse, - //string - Trapezoid, - //string - UpArrow, - //string - DownArrow, - //string - Image, - //string - SeriesType, - } - } - namespace Chart { - enum TextPosition { - //string - Top, - //string - Bottom, - //string - Middle, - } - } - namespace Chart { - enum VerticalTextAlignment { - //string - Center, - //string - Near, - //string - Far, - } - } - namespace Chart { - enum PyramidMode { - //string - Linear, - //string - Surface, - } - } - namespace Chart { - enum Type { - //string - Area, - //string - Line, - //string - Spline, - //string - Column, - //string - Scatter, - //string - Bubble, - //string - SplineArea, - //string - StepArea, - //string - StepLine, - //string - Pie, - //string - HiLo, - //string - HiLoOpenClose, - //string - Candle, - //string - Bar, - //string - StackingArea, - //string - StackingArea100, - //string - RangeColumn, - //string - StackingColumn, - //string - StackingColumn100, - //string - StackingBar, - //string - StackingBar100, - //string - Pyramid, - //string - Funnel, - //string - Doughnut, - //string - Polar, - //string - Radar, - //string - RangeArea, - } - } - namespace Chart { - enum EmptyPointMode { - //string - Gap, - //string - Zero, - //string - Average, - } - } - namespace Chart { - enum ErrorBarType { - //string - FixedValue, - //string - Percentage, - //string - StandardDeviation, - //string - StandardError, - } - } - namespace Chart { - enum ErrorBarMode { - //string - Both, - //string - Vertical, - //string - Horizontal, - } - } - namespace Chart { - enum ErrorBarDirection { - //string - Both, - //string - Plus, - //string - Minus, - } - } - namespace Chart { - enum Mode { - //string - Series, - //string - Point, - //string - Cluster, - //string - Range, - } - } - namespace Chart { - enum SelectionType { - //string - Single, - //string - Multiple, - } - } - namespace Chart { - enum RangeType { - //string - XY, - //string - X, - //string - Y, - } - } - namespace Chart { - enum CrosshairMode { - //string - Float, - //string - Grouping, - } - } - namespace Chart { - enum CrosshairType { - //string - Crosshair, - //string - Trackball, - } - } - namespace Chart { - enum Alignment { - //string - Center, - //string - Near, - //string - Far, - } - } - namespace Chart { - enum Position { - //string - Left, - //string - Right, - //string - Top, - //string - Bottom, - } - } - namespace Chart { - enum TextOverflow { - //string - None, - //string - Trim, - //string - Wrap, - //string - WrapAndTrim, - } - } - namespace Chart { - enum LabelPlacement { - //string - OnTicks, - //string - BetweenTicks, - } - } - namespace Chart { - enum EdgeLabelPlacement { - //string - None, - //string - Shift, - //string - Hide, - } - } - namespace Chart { - enum IntervalType { - //string - Days, - //string - Hours, - //string - Seconds, - //string - Milliseconds, - //string - Minutes, - //string - Months, - //string - Years, - } - } - namespace Chart { - enum LabelIntersectAction { - //string - None, - //string - Rotate90, - //string - Rotate45, - //string - Wrap, - //string - WrapByword, - //string - Trim, - //string - Hide, - //string - MultipleRows, - } - } - namespace Chart { - enum LabelAlignment { - //string - Near, - //string - Far, - //string - Center, - } - } - namespace Chart { - enum RangePadding { - //string - Additional, - //string - Normal, - //string - None, - //string - Round, - } - } - namespace Chart { - enum MultiLevelLabelsBorderType { - //string - Rectangle, - //string - None, - //string - WithoutTopAndBottom, - //string - Brace, - //string - CurlyBrace, - } - } - namespace Chart { - enum TextAlignment { - //string - MiddleTop, - //string - MiddleCenter, - //string - MiddleBottom, - } - } - namespace Chart { - enum ZIndex { - //string - Inside, - //string - Over, - } - } - namespace Chart { - enum TickLinesPosition { - //string - Inside, - //string - Outside, - } - } - namespace Chart { - enum ValueType { - //string - Double, - //string - Category, - //string - DateTime, - //string - Logarithmic, - } - } - namespace Chart { - enum Theme { - //string - Azure, - //string - FlatLight, - //string - FlatDark, - //string - Azuredark, - //string - Lime, - //string - LimeDark, - //string - Saffron, - //string - SaffronDark, - //string - GradientLight, - //string - GradientDark, - } - } - - class RangeNavigator extends ej.Widget { - static fn: RangeNavigator; - constructor(element: JQuery | Element, options?: RangeNavigator.Model); - static Locale: any; - model: RangeNavigator.Model; - defaults: RangeNavigator.Model; - - /** destroy the range navigator widget - * @returns {void} - */ - _destroy(): void; - } - export namespace RangeNavigator { - - export interface Model { - - /** Toggles the placement of slider exactly on the place it left or on the nearest interval. - * @Default {false} - */ - allowSnapping?: boolean; - - /** Options for customizing the color, opacity and width of the chart border. - */ - border?: Border; - - /** Specifies the data source for range navigator. - */ - dataSource?: any; - - /** Specifies the properties used for customizing the range series. - */ - series?: Series[]; - - /** Toggles the redrawing of chart on moving the sliders. - * @Default {true} - */ - enableDeferredUpdate?: boolean; - - /** Enable the scrollbar option in the rangenavigator. - * @Default {false} - */ - enableScrollbar?: boolean; - - /** Toggles the direction of rendering the range navigator control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets a value whether to make the range navigator responsive on resize. - * @Default {false} - */ - isResponsive?: boolean; - - /** Options for customizing the labels colors, font, style, size, horizontalAlignment and opacity. - */ - labelSettings?: LabelSettings; - - /** This property is to specify the localization of range navigator. - * @Default {en-US} - */ - locale?: string; - - /** Options for customizing the range navigator. - */ - navigatorStyleSettings?: NavigatorStyleSettings; - - /** Padding specifies the gap between the container and the range navigator. - * @Default {0} - */ - padding?: string; - - /** If the range is not given explicitly, range will be calculated automatically. - * @Default {none} - */ - rangePadding?: ej.datavisualization.RangeNavigator.RangePadding | string; - - /** Options for customizing the starting and ending ranges. - */ - rangeSettings?: RangeSettings; - - /** selectedData is for getting the data when the "rangeChanged" event trigger from client side. - */ - selectedData?: any; - - /** Options for customizing the start and end range values. - */ - selectedRangeSettings?: SelectedRangeSettings; - - /** Options for rendering scrollbar based on the start and end range values. - */ - scrollRangeSettings?: ScrollRangeSettings; - - /** Contains property to customize the hight and width of range navigator. - */ - sizeSettings?: SizeSettings; - - /** By specifying this property the user can change the theme of the range navigator. - * @Default {null} - */ - theme?: string; - - /** Options for customizing the tooltip in range navigator. - */ - tooltipSettings?: TooltipSettings; + /** returns the previously selected value. + */ + prevDate?: string; - /** Options for configuring minor grid lines, major grid lines, axis line of axis. - */ - valueAxisSettings?: ValueAxisSettings; + /** returns whether the currently selected date is special date or not. + */ + isSpecialDay?: string; +} - /** You can plot data of type date time or numeric. This property determines the type of data that this axis will handle. - * @Default {datetime} - */ - valueType?: ej.datavisualization.RangeNavigator.ValueType | string; +export interface Fields { - /** Specifies the xName for dataSource. This is used to take the x values from dataSource - */ - xName?: any; + /** Specifies the specials dates + */ + date?: string; - /** Specifies the yName for dataSource. This is used to take the y values from dataSource - */ - yName?: any; + /** Specifies the icon class to special dates. + */ + iconClass?: string; - /** Fires on load of range navigator. */ - load?(e: LoadEventArgs): void; + /** Specifies the tooltip to special dates. + */ + tooltip?: string; - /** Fires after range navigator is loaded. */ - loaded?(e: LoadedEventArgs): void; + /** Specifies the CSS class to customize the date. + */ + cssClass?: string; +} - /** Fires on changing the range of range navigator. */ - rangeChanged?(e: RangeChangedEventArgs): void; +enum Header{ - /** Fires on changing the scrollbar position of range navigator. */ - scrollChanged?(e: ScrollChangedEventArgs): void; + ///Removes day header in DatePicker + None, - /** Fires on when starting to change the scrollbar position of range navigator. */ - scrollStart?(e: ScrollStartEventArgs): void; + ///sets the short format of day name (like Sun) in header in DatePicker + Short, - /** Fires on changes ending the scrollbar position of range navigator. */ - scrollEnd?(e: ScrollEndEventArgs): void; - } + ///sets the Min format of day name (like su) in header format DatePicker + Min +} - export interface LoadEventArgs { - /** parameters from range navigator - */ - Data?: any; +enum Level{ - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///allow navigation upto year level in DatePicker + Year, - /** returns the range navigator model - */ - model?: any; + ///allow navigation upto decade level in DatePicker + Decade, - /** returns the name of the event - */ - type?: string; - } + ///allow navigation upto Century level in DatePicker + Century +} - export interface LoadedEventArgs { - /** parameters from range navigator - */ - Data?: any; +enum HighlightSection{ - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///Highlight the week of the currently selected date in DatePicker popup calendar + Week, - /** returns the range navigator model - */ - model?: any; + ///Highlight the workdays in a currently selected date's week in DatePicker popup calendar + WorkDays, - /** returns the name of the event - */ - type?: string; - } + ///Nothing will be highlighted, remove highlights from DatePicker popup calendar if already exists + None +} - export interface RangeChangedEventArgs { +} - /** parameters from range navigator - */ - Data?: any; +class DateTimePicker extends ej.Widget { + static fn: DateTimePicker; + constructor(element: JQuery, options?: DateTimePicker.Model); + constructor(element: Element, options?: DateTimePicker.Model); + static Locale: any; + model:DateTimePicker.Model; + defaults:DateTimePicker.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Disables the DateTimePicker control. + * @returns {void} + */ + disable(): void; + + /** Enables the DateTimePicker control. + * @returns {void} + */ + enable(): void; + + /** Returns the current datetime value in the DateTimePicker. + * @returns {string} + */ + getValue(): string; + + /** Hides or closes the DateTimePicker popup. + * @returns {void} + */ + hide(): void; + + /** Updates the current system date value and time value to the DateTimePicker. + * @returns {void} + */ + setCurrentDateTime(): void; + + /** Shows or opens the DateTimePicker popup. + * @returns {void} + */ + show(): void; +} +export module DateTimePicker{ + +export interface Model { + + /** Used to allow or restrict the editing in DateTimePicker input field directly. By setting false to this API, You can only pick the date and time values from DateTimePicker popup. + * @Default {true} + */ + allowEdit?: boolean; + + /** Displays the custom text for the buttons inside the DateTimePicker popup. when the culture value changed, we can change the buttons text based on the culture. + * @Default {{ today: Today, timeNow: Time Now, done: Done, timeTitle: Time }} + */ + buttonText?: ButtonText; + + /** Set the root class for DateTimePicker theme. This cssClass API helps to use custom skinning option for DateTimePicker control. + */ + cssClass?: string; + + /** Defines the datetime format displayed in the DateTimePicker. The value should be a combination of date format and time format. + * @Default {M/d/yyyy h:mm tt} + */ + dateTimeFormat?: string; + + /** Specifies the header format of the datepicker inside the DateTimePicker popup. See DatePicker.Header + * @Default {ej.DatePicker.Header.Short} + */ + dayHeaderFormat?: ej.DatePicker.Header|string; + + /** Specifies the navigation depth level in DatePicker calendar inside DateTimePicker popup. This option is not applied when start level view option is lower than depth level view. See ej.DatePicker.Level + */ + depthLevel?: ej.DatePicker.Level|string; + + /** Enable or disable the animation effect in DateTimePicker. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the DateTimePicker control. + * @Default {false} + */ + enabled?: boolean; + + /** Enables or disables the state maintenance of DateTimePicker. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Sets the DateTimePicker direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class, otherwise it internally changed to the correct value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Specifies the header format to be displayed in the DatePicker calendar inside the DateTimePicker popup. + * @Default {MMMM yyyy} + */ + headerFormat?: string; + + /** Defines the height of the DateTimePicker textbox. + * @Default {30} + */ + height?: string|number; + + /** Specifies the HTML Attributes of the ejDateTimePicker + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the time interval between the two adjacent time values in the time popup. + * @Default {30} + */ + interval?: number; + + /** Defines the localization culture for DateTimePicker. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum value to the DateTimePicker. Beyond the maximum value an error class is added to the wrapper element when we set true to enableStrictMode. + * @Default {new Date(12/31/2099 11:59:59 PM)} + */ + maxDateTime?: string|Date; + + /** Sets the minimum value to the DateTimePicker. Behind the minimum value an error class is added to the wrapper element. + * @Default {new Date(1/1/1900 12:00:00 AM)} + */ + minDateTime?: string|Date; + + /** Specifies the popup position of DateTimePicker.See below to know available popup positions + * @Default {ej.DateTimePicker.Bottom} + */ + popupPosition?: string | ej.popupPosition; + + /** Indicates that the DateTimePicker value can only be read and can’t change. + * @Default {false} + */ + readOnly?: boolean; + + /** It allows showing days in other months of DatePicker calendar inside the DateTimePicker popup. + * @Default {true} + */ + showOtherMonths?: boolean; + + /** Shows or hides the arrow button from the DateTimePicker textbox. When the button disabled, the DateTimePicker popup opens while focus in the textbox and hides while focus out from the textbox. + * @Default {true} + */ + showPopupButton?: boolean; + + /** Changes the sharped edges into rounded corner for the DateTimePicker textbox and popup. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the start day of the week in datepicker inside the DateTimePicker popup. + * @Default {1} + */ + startDay?: number; + + /** Specifies the start level view in datepicker inside the DateTimePicker popup. See DatePicker.Level + * @Default {ej.DatePicker.Level.Month or month} + */ + startLevel?: ej.DatePicker.Level|string; + + /** Specifies the number of months to navigate at one click of next and previous button in datepicker inside the DateTimePicker popup. + * @Default {1} + */ + stepMonths?: number; + + /** Defines the time format displayed in the time dropdown inside the DateTimePicker popup. + * @Default {h:mm tt} + */ + timeDisplayFormat?: string; + + /** We can drill down up to time interval on selected date with meridian details. + * @Default {{ enabled: false, interval: 5, showMeridian: false, autoClose: true }} + */ + timeDrillDown?: TimeDrillDown; + + /** Defines the width of the time dropdown inside the DateTimePicker popup. + * @Default {100} + */ + timePopupWidth?: string|number; + + /** Set the jQuery validation error message in DateTimePicker. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules in DateTimePicker. + * @Default {null} + */ + validationRules?: any; + + /** Sets the DateTime value to the control. + */ + value?: string|Date; + + /** Specifies the water mark text to be displayed in input text. + * @Default {Select date and time} + */ + watermarkText?: string; + + /** Defines the width of the DateTimePicker textbox. + * @Default {143} + */ + width?: string|number; + + /** Fires before the datetime popup closed in the DateTimePicker. */ + beforeClose? (e: BeforeCloseEventArgs): void; + + /** Fires before the datetime popup open in the DateTimePicker. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Fires when the datetime value changed in the DateTimePicker textbox. */ + change? (e: ChangeEventArgs): void; + + /** Fires when DateTimePicker popup closes. */ + close? (e: CloseEventArgs): void; + + /** Fires after DateTimePicker control is created. */ + create? (e: CreateEventArgs): void; - /** returns the range navigator model - */ - model?: any; + /** Fires when the DateTimePicker is destroyed successfully */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when the focus-in happens in the DateTimePicker textbox. */ + focusIn? (e: FocusInEventArgs): void; - /** returns the name of the event - */ - type?: string; - } + /** Fires when the focus-out happens in the DateTimePicker textbox. */ + focusOut? (e: FocusOutEventArgs): void; - export interface ScrollChangedEventArgs { + /** Fires when DateTimePicker popup opens. */ + open? (e: OpenEventArgs): void; +} - /** parameters from RangeNavigator - */ - data?: any; +export interface BeforeCloseEventArgs { - /** returns the scrollbar position old start and end range value on changing scrollbar - */ - dataoldRange?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the scrollbar position new start and end range value on changing scrollbar - */ - datanewRange?: any; + /** returns the DateTimePicker model. + */ + model?: ej.DateTimePicker.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the RangeNavigator model - */ - model?: any; + /** returns the event parameters from DateTimePicker. + */ + events?: any; - /** returns the name of the event - */ - type?: string; - } + /** returns the DateTimePicker popup. + */ + element?: HTMLElement; +} - export interface ScrollStartEventArgs { +export interface BeforeOpenEventArgs { - /** parameters from RangeNavigator - */ - data?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the scrollbar position starting range value on changing scrollbar - */ - datastartRange?: string; + /** returns the DateTimePicker model. + */ + model?: ej.DateTimePicker.Model; - /** returns the scrollbar position end range value on changing scrollbar - */ - dataendRange?: string; + /** returns the name of the event. + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event parameters from DateTimePicker. + */ + events?: any; - /** returns the RangeNavigator model - */ - model?: any; + /** returns the DateTimePicker popup. + */ + element?: HTMLElement; +} - /** returns the name of the event - */ - type?: string; - } - - export interface ScrollEndEventArgs { - - /** parameters from RangeNavigator - */ - data?: any; - - /** returns the scrollbar position old start and end range value on change end of scrollbar - */ - dataoldRange?: any; - - /** returns the scrollbar position new start and end range value on change end of scrollbar - */ - datanewRange?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RangeNavigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of rangenavigator. When enable the scrollbar, the default color will be set as "#B4B4B4". - * @Default {transparent} - */ - color?: string; - - /** Opacity of the rangeNavigator border. - * @Default {1} - */ - opacity?: number; - - /** Width of the RangeNavigator border. - * @Default {1} - */ - width?: number; - } - - export interface Series { - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Specifies the type of the series to render in chart. - * @Default {column. see Type} - */ - type?: ej.datavisualization.RangeNavigator.Type | string; - - /** Enable/disable the animation of series. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Fill color of the series. - * @Default {null} - */ - fill?: string; - } - - export interface LabelSettingsHigherLevelBorder { - - /** Specifies the border color of grid lines. - * @Default {transparent} - */ - color?: string; - - /** Specifies the border width of grid lines. - * @Default {0.5} - */ - width?: string; - } - - export interface LabelSettingsHigherLevelGridLineStyle { - - /** Specifies the color of grid lines in higher level. - * @Default {#B5B5B5} - */ - color?: string; - - /** Specifies the dashArray of grid lines in higher level. - * @Default {20 5 0} - */ - dashArray?: string; - - /** Specifies the width of grid lines in higher level. - * @Default {#B5B5B5} - */ - width?: string; - } - - export interface LabelSettingsHigherLevelStyleFont { - - /** Specifies the label font color. Labels render with the specified font color. - * @Default {black} - */ - color?: string; - - /** Specifies the label font family. Labels render with the specified font family. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the label font style. Labels render with the specified font style. - * @Default {Normal} - */ - fontStyle?: string; - - /** Specifies the label font weight. Labels render with the specified font weight. - * @Default {regular} - */ - fontWeight?: string; - - /** Specifies the label opacity. Labels render with the specified opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the label font size. Labels render with the specified font size. - * @Default {12px} - */ - size?: string; - } - - export interface LabelSettingsHigherLevelStyle { - - /** Options for customizing the font properties. - */ - font?: LabelSettingsHigherLevelStyleFont; - - /** Specifies the horizontal text alignment of the text in label. - * @Default {middle} - */ - horizontalAlignment?: string; - } - - export interface LabelSettingsHigherLevel { - - /** Options for customizing the border of grid lines in higher level. - */ - border?: LabelSettingsHigherLevelBorder; - - /** Specifies the fill color of higher level labels. - * @Default {transparent} - */ - fill?: string; - - /** Options for customizing the grid line colors, width, dashArray, border. - */ - gridLineStyle?: LabelSettingsHigherLevelGridLineStyle; - - /** Specifies the intervalType for higher level labels. See IntervalType - * @Default {auto} - */ - intervalType?: ej.datavisualization.RangeNavigator.IntervalType | string; - - /** Specifies the position of the labels to render either inside or outside of plot area - * @Default {outside} - */ - labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement | string; - - /** Specifies the position of the labels in higher level - * @Default {top} - */ - position?: ej.datavisualization.RangeNavigator.Position | string; - - /** Options for customizing the style of higher level labels. - */ - style?: LabelSettingsHigherLevelStyle; - - /** Toggles the visibility of higher level labels. - * @Default {true} - */ - visible?: boolean; - } - - export interface LabelSettingsLowerLevelBorder { - - /** Specifies the border color of grid lines. - * @Default {transparent} - */ - color?: string; - - /** Specifies the border width of grid lines. - * @Default {0.5} - */ - width?: string; - } - - export interface LabelSettingsLowerLevelGridLineStyle { - - /** Specifies the color of grid lines in lower level. - * @Default {#B5B5B5} - */ - color?: string; - - /** Specifies the dashArray of gridLines in lowerLevel. - * @Default {20 5 0} - */ - dashArray?: string; - - /** Specifies the width of grid lines in lower level. - * @Default {#B5B5B5} - */ - width?: string; - } - - export interface LabelSettingsLowerLevelStyleFont { - - /** Specifies the color of labels. Label text render in this specified color. - * @Default {black} - */ - color?: string; - - /** Specifies the font family of labels. Label text render in this specified font family. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font style of labels. Label text render in this specified font style. - * @Default {Normal} - */ - fontStyle?: string; - - /** Specifies the font weight of labels. Label text render in this specified font weight. - * @Default {regular} - */ - fontWeight?: string; - - /** Specifies the opacity of labels. Label text render in this specified opacity. - * @Default {12px} - */ - opacity?: string; - - /** Specifies the size of labels. Label text render in this specified size. - * @Default {12px} - */ - size?: string; - } - - export interface LabelSettingsLowerLevelStyle { - - /** Options for customizing the font of labels. - */ - font?: LabelSettingsLowerLevelStyleFont; - - /** Specifies the horizontal text alignment of the text in label. - * @Default {middle} - */ - horizontalAlignment?: string; - } - - export interface LabelSettingsLowerLevel { - - /** Options for customizing the border of grid lines in lower level. - */ - border?: LabelSettingsLowerLevelBorder; - - /** Specifies the fill color of labels in lower level. - * @Default {transparent} - */ - fill?: string; - - /** Options for customizing the grid lines in lower level. - */ - gridLineStyle?: LabelSettingsLowerLevelGridLineStyle; - - /** Specifies the intervalType of the labels in lower level.See IntervalType - * @Default {auto} - */ - intervalType?: ej.datavisualization.RangeNavigator.IntervalType | string; - - /** Specifies the position of the labels to render either inside or outside of plot area. See LabelPlacement - * @Default {outside} - */ - labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement | string; - - /** Specifies the position of the labels in lower level.See Position - * @Default {bottom} - */ - position?: ej.datavisualization.RangeNavigator.Position | string; - - /** Options for customizing the style of labels. - */ - style?: LabelSettingsLowerLevelStyle; - - /** Toggles the visibility of labels in lower level. - * @Default {true} - */ - visible?: boolean; - } - - export interface LabelSettingsStyleFont { - - /** Specifies the label color. This color is applied to the labels in range navigator. - * @Default {#FFFFFF} - */ - color?: string; - - /** Specifies the label font family. Labels render with the specified font family. - * @Default {Segoe UI} - */ - family?: string; - - /** Specifies the label font opacity. Labels render with the specified font opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the label font size. Labels render with the specified font size. - * @Default {1px} - */ - size?: string; - - /** Specifies the label font style. Labels render with the specified font style.. - * @Default {Normal} - */ - style?: ej.datavisualization.RangeNavigator.FontStyle | string; - - /** Specifies the label font weight - * @Default {regular} - */ - weight?: ej.datavisualization.RangeNavigator.FontWeight | string; - } - - export interface LabelSettingsStyle { - - /** Options for customizing the font of labels in range navigator. - */ - font?: LabelSettingsStyleFont; - - /** Specifies the horizontalAlignment of the label in RangeNavigator - * @Default {middle} - */ - horizontalAlignment?: ej.datavisualization.RangeNavigator.HorizontalAlignment | string; - } - - export interface LabelSettings { - - /** Options for customizing the higher level labels in range navigator. - */ - higherLevel?: LabelSettingsHigherLevel; - - /** Options for customizing the labels in lower level. - */ - lowerLevel?: LabelSettingsLowerLevel; - - /** Options for customizing the style of labels in range navigator. - */ - style?: LabelSettingsStyle; - } - - export interface NavigatorStyleSettingsBorder { - - /** Specifies the border color of range navigator. - * @Default {transparent} - */ - color?: string; - - /** Specifies the dash array of range navigator. - * @Default {null} - */ - dashArray?: string; - - /** Specifies the border width of range navigator. - * @Default {0.5} - */ - width?: number; - } - - export interface NavigatorStyleSettingsMajorGridLineStyle { - - /** Specifies the color of major grid lines in range navigator. - * @Default {#B5B5B5} - */ - color?: string; - - /** Toggles the visibility of major grid lines. - * @Default {true} - */ - visible?: boolean; - } - - export interface NavigatorStyleSettingsMinorGridLineStyle { - - /** Specifies the color of minor grid lines in range navigator. - * @Default {#B5B5B5} - */ - color?: string; - - /** Toggles the visibility of minor grid lines. - * @Default {true} - */ - visible?: boolean; - } - - export interface NavigatorStyleSettingsHighlightSettingsBorder { - - /** To set the border color to the highlight. - * @Default {null} - */ - color?: string; - - /** To set the border width to the highlight. - * @Default {1} - */ - width?: number; - } - - export interface NavigatorStyleSettingsHighlightSettings { - - /** Enable the highlight settings in range navigator. - * @Default {false} - */ - enable?: boolean; - - /** To set the color to the highlight. - * @Default {null} - */ - color?: string; - - /** To set the opacity to the highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Contains the border properties for highlighting rectangle. - */ - border?: NavigatorStyleSettingsHighlightSettingsBorder; - } - - export interface NavigatorStyleSettingsSelectionSettingsBorder { - - /** To set the border color to the selection. - * @Default {null} - */ - color?: string; - - /** To set the border width to the selection. - * @Default {1} - */ - width?: number; - } - - export interface NavigatorStyleSettingsSelectionSettings { - - /** Enable the selection settings in range navigator. - * @Default {false} - */ - enable?: boolean; - - /** To set the color to the selection. - * @Default {null} - */ - color?: string; - - /** To set the opacity to the selection. - * @Default {0.5} - */ - opacity?: number; - - /** Contains the border properties for selecting the rectangle. - */ - border?: NavigatorStyleSettingsSelectionSettingsBorder; - } - - export interface NavigatorStyleSettings { - - /** Specifies the background color of range navigator. - * @Default {#dddddd} - */ - background?: string; - - /** Options for customizing the border color and width of range navigator. - */ - border?: NavigatorStyleSettingsBorder; - - /** Specifies the left side thumb template in range navigator we can give either div id or HTML string - * @Default {null} - */ - leftThumbTemplate?: string; - - /** Options for customizing the major grid lines. - */ - majorGridLineStyle?: NavigatorStyleSettingsMajorGridLineStyle; - - /** Options for customizing the minor grid lines. - */ - minorGridLineStyle?: NavigatorStyleSettingsMinorGridLineStyle; - - /** Specifies the opacity of RangeNavigator. - * @Default {1} - */ - opacity?: number; - - /** Specifies the right side thumb template in range navigator we can give either div id or HTML string - * @Default {null} - */ - rightThumbTemplate?: string; - - /** Specifies the color of the selected region in range navigator. - * @Default {#EFEFEF} - */ - selectedRegionColor?: string; - - /** Specifies the opacity of Selected Region. - * @Default {0} - */ - selectedRegionOpacity?: number; - - /** Specifies the color of the thumb in range navigator. - * @Default {#2382C3} - */ - thumbColor?: string; - - /** Specifies the radius of the thumb in range navigator. - * @Default {10} - */ - thumbRadius?: number; - - /** Specifies the stroke color of the thumb in range navigator. - * @Default {#303030} - */ - thumbStroke?: string; - - /** Specifies the color of the unselected region in range navigator. - * @Default {#5EABDE} - */ - unselectedRegionColor?: string; - - /** Specifies the opacity of Unselected Region. - * @Default {0.3} - */ - unselectedRegionOpacity?: number; - - /** Contains the options for highlighting the range navigator on mouse over. - */ - highlightSettings?: NavigatorStyleSettingsHighlightSettings; - - /** Contains the options for selection the range navigator on mouse over. - */ - selectionSettings?: NavigatorStyleSettingsSelectionSettings; - } - - export interface RangeSettings { - - /** Specifies the ending range of range navigator. - * @Default {null} - */ - end?: string; - - /** Specifies the starting range of range navigator. - * @Default {null} - */ - start?: string; - } - - export interface SelectedRangeSettings { - - /** Specifies the ending range of range navigator. - * @Default {null} - */ - end?: string; - - /** Specifies the starting range of range navigator. - * @Default {null} - */ - start?: string; - } - - export interface ScrollRangeSettings { - - /** Specifies the ending range of range navigator scrollbar and that should be greater than the rangenavigator datasource end value. - * @Default {null} - */ - end?: string; - - /** Specifies the starting range of range navigator scrollbar and that should be less than the rangenavigator datasource start value. - * @Default {null} - */ - start?: string; - } - - export interface SizeSettings { - - /** Specifies height of the range navigator. - * @Default {null} - */ - height?: string; - - /** Specifies width of the range navigator. - * @Default {null} - */ - width?: string; - } - - export interface TooltipSettingsFont { - - /** Specifies the color of text in tooltip. Tooltip text render in the specified color. - * @Default {#FFFFFF} - */ - color?: string; - - /** Specifies the font family of text in tooltip. Tooltip text render in the specified font family. - * @Default {Segoe UI} - */ - family?: string; - - /** Specifies the font style of text in tooltip. Tooltip text render in the specified font style. - * @Default {ej.datavisualization.RangeNavigator.fontStyle.Normal} - */ - fontStyle?: string; - - /** Specifies the opacity of text in tooltip. Tooltip text render in the specified opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of text in tooltip. Tooltip text render in the specified size. - * @Default {10px} - */ - size?: string; - - /** Specifies the weight of text in tooltip. Tooltip text render in the specified weight. - * @Default {ej.datavisualization.RangeNavigator.weight.Regular} - */ - weight?: string; - } - - export interface TooltipSettings { - - /** Specifies the background color of tooltip. - * @Default {#303030} - */ - backgroundColor?: string; - - /** Options for customizing the font in tooltip. - */ - font?: TooltipSettingsFont; - - /** Specifies the format of text to be displayed in tooltip. - * @Default {MM/dd/yyyy} - */ - labelFormat?: string; - - /** Specifies the mode of displaying the tooltip. Neither to display the tooltip always nor on demand. - * @Default {null} - */ - tooltipDisplayMode?: string; - - /** Toggles the visibility of tooltip. - * @Default {true} - */ - visible?: boolean; - } - - export interface ValueAxisSettingsAxisLine { - - /** Toggles the visibility of axis line. - * @Default {none} - */ - visible?: string; - } - - export interface ValueAxisSettingsFont { - - /** Text in axis render with the specified size. - * @Default {0px} - */ - size?: string; - } - - export interface ValueAxisSettingsMajorGridLines { - - /** Toggles the visibility of major grid lines. - * @Default {false} - */ - visible?: boolean; - } - - export interface ValueAxisSettingsMajorTickLines { - - /** Specifies the size of the majorTickLines in range navigator - * @Default {0} - */ - size?: number; - - /** Toggles the visibility of major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Specifies width of the major tick lines. - * @Default {0} - */ - width?: number; - } - - export interface ValueAxisSettings { - - /** Options for customizing the axis line. - */ - axisLine?: ValueAxisSettingsAxisLine; - - /** Options for customizing the font of the axis. - */ - font?: ValueAxisSettingsFont; - - /** Options for customizing the major grid lines. - */ - majorGridLines?: ValueAxisSettingsMajorGridLines; - - /** Options for customizing the major tick lines in axis. - */ - majorTickLines?: ValueAxisSettingsMajorTickLines; - - /** If the range is not given explicitly, range will be calculated automatically. You can customize the automatic range calculation using rangePadding. - * @Default {none} - */ - rangePadding?: string; - - /** Toggles the visibility of axis in range navigator. - * @Default {false} - */ - visible?: boolean; - } - } - namespace RangeNavigator { - enum Type { - //string - Area, - //string - Line, - //string - Spline, - //string - StepArea, - //string - SplineArea, - //string - StepLine, - } - } - namespace RangeNavigator { - enum IntervalType { - //string - Years, - //string - Quarters, - //string - Months, - //string - Weeks, - //string - Days, - //string - Hours, - //string - Minutes, - } - } - namespace RangeNavigator { - enum LabelPlacement { - //string - Inside, - //string - Outside, - } - } - namespace RangeNavigator { - enum Position { - //string - Top, - //string - Bottom, - } - } - namespace RangeNavigator { - enum FontStyle { - //string - Normal, - //string - Bold, - //string - Italic, - } - } - namespace RangeNavigator { - enum FontWeight { - //string - Regular, - //string - Lighter, - } - } - namespace RangeNavigator { - enum HorizontalAlignment { - //string - Middle, - //string - Left, - //string - Right, - } - } - namespace RangeNavigator { - enum RangePadding { - //string - Additional, - //string - Normal, - //string - None, - //string - Round, - } - } - namespace RangeNavigator { - enum ValueType { - //string - Numeric, - //string - DateTime, - } - } - - class BulletGraph extends ej.Widget { - static fn: BulletGraph; - constructor(element: JQuery | Element, options?: BulletGraph.Model); - static Locale: any; - model: BulletGraph.Model; - defaults: BulletGraph.Model; - - /** To destroy the bullet graph - * @returns {void} - */ - destroy(): void; - - /** To redraw the bullet graph - * @returns {void} - */ - redraw(): void; - - /** To set the value for comparative measure in bullet graph. - * @returns {void} - */ - setComparativeMeasureSymbol(): void; - - /** To set the value for feature measure bar. - * @returns {void} - */ - setFeatureMeasureBarValue(): void; - } - export namespace BulletGraph { - - export interface Model { - - /** Toggles the visibility of the range stroke color of the labels. - * @Default {false} - */ - applyRangeStrokeToLabels?: boolean; - - /** Toggles the visibility of the range stroke color of the ticks. - * @Default {false} - */ - applyRangeStrokeToTicks?: boolean; - - /** Contains property to customize the caption in bullet graph. - */ - captionSettings?: CaptionSettings; - - /** Comparative measure bar in bullet graph render till the specified value. - * @Default {0} - */ - comparativeMeasureValue?: number; - - /** Toggles the animation of bullet graph. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the direction of flow in bullet graph. Neither it may be backward nor forward. - * @Default {forward} - */ - flowDirection?: ej.datavisualization.BulletGraph.FlowDirection | string; - - /** Specifies the height of the bullet graph. - * @Default {90} - */ - height?: number; - - /** Sets a value whether to make the bullet graph responsive on resize. - * @Default {true} - */ - isResponsive?: boolean; - - /** Bullet graph will render in the specified orientation. - * @Default {horizontal} - */ - orientation?: ej.datavisualization.BulletGraph.Orientation | string; - - /** Contains property to customize the qualitative ranges. - */ - qualitativeRanges?: QualitativeRange[]; - - /** Size of the qualitative range depends up on the specified value. - * @Default {32} - */ - qualitativeRangeSize?: number; - - /** Length of the quantitative range depends up on the specified value. - * @Default {475} - */ - quantitativeScaleLength?: number; - - /** Contains all the properties to customize quantitative scale. - */ - quantitativeScaleSettings?: QuantitativeScaleSettings; - - /** By specifying this property the user can change the theme of the bullet graph. - * @Default {flatlight} - */ - theme?: string; - - /** Contains all the properties to customize tooltip. - */ - tooltipSettings?: TooltipSettings; - - /** Feature measure bar in bullet graph render till the specified value. - * @Default {0} - */ - value?: number; - - /** Specifies the width of the bullet graph. - * @Default {595} - */ - width?: number; - - /** Fires on rendering the caption of bullet graph. */ - drawCaption?(e: DrawCaptionEventArgs): void; +export interface ChangeEventArgs { - /** Fires on rendering the category. */ - drawCategory?(e: DrawCategoryEventArgs): void; - - /** Fires on rendering the comparative measure symbol. */ - drawComparativeMeasureSymbol?(e: DrawComparativeMeasureSymbolEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires on rendering the feature measure bar. */ - drawFeatureMeasureBar?(e: DrawFeatureMeasureBarEventArgs): void; + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; - /** Fires on rendering the indicator of bullet graph. */ - drawIndicator?(e: DrawIndicatorEventArgs): void; + /** returns the name of the event + */ + type?: string; - /** Fires on rendering the labels. */ - drawLabels?(e: DrawLabelsEventArgs): void; + /** returns the current value is valid or not + */ + isValidState?: boolean; - /** Fires on rendering the qualitative ranges. */ - drawQualitativeRanges?(e: DrawQualitativeRangesEventArgs): void; + /** returns the modified datetime value + */ + value?: string; - /** Fires on loading bullet graph. */ - load?(e: LoadEventArgs): void; - } + /** returns the previously selected date time value + */ + prevDateTime?: string; - export interface DrawCaptionEventArgs { + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; +} - /** returns the object of the bullet graph. - */ - Object?: any; +export interface CloseEventArgs { - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the current captionSettings element. - */ - captionElement?: HTMLElement; + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; - /** returns the type of the captionSettings. - */ - captionType?: string; - } + /** returns the name of the event + */ + type?: string; - export interface DrawCategoryEventArgs { + /** returns the modified datetime value + */ + value?: string; - /** returns the object of the bullet graph. - */ - Object?: any; + /** returns the previously selected date time value + */ + prevDateTime?: string; +} - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; +export interface CreateEventArgs { - /** returns the options of category element. - */ - categoryElement?: HTMLElement; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the text value of the category that is drawn. - */ - Value?: string; - } + /** returns the DateTimePicker model + */ + model?: ej.DateTimePicker.Model; - export interface DrawComparativeMeasureSymbolEventArgs { + /** returns the name of the event + */ + type?: string; +} - /** returns the object of the bullet graph. - */ - Object?: any; +export interface DestroyEventArgs { - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the options of comparative measure element. - */ - targetElement?: HTMLElement; + /** returns the DateTimePicker model + */ + model?: ej.DateTimePicker.Model; - /** returns the value of the comparative measure symbol. - */ - Value?: number; - } + /** returns the name of the event + */ + type?: string; +} - export interface DrawFeatureMeasureBarEventArgs { +export interface FocusInEventArgs { - /** returns the object of the bullet graph. - */ - Object?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; - /** returns the options of feature measure element. - */ - currentElement?: HTMLElement; + /** returns the name of the event + */ + type?: string; + + /** returns the datetime value, which is in text box + */ + value?: string; +} + +export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the datetime value, which is in text box + */ + value?: string; +} + +export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the modified datetime value + */ + value?: string; + + /** returns the previously selected date time value + */ + prevDateTime?: string; +} + +export interface ButtonText { + + /** Sets the text for the Done button inside the datetime popup. + */ + done?: string; + + /** Sets the text for the Now button inside the datetime popup. + */ + timeNow?: string; + + /** Sets the header text for the Time dropdown. + */ + timeTitle?: string; + + /** Sets the text for the Today button inside the datetime popup. + */ + today?: string; +} + +export interface TimeDrillDown { + + /** This is the field to show/hide the timeDrillDown in DateTimePicker. + */ + enabled?: boolean; + + /** Sets the interval time of minutes on selected date. + */ + interval?: number; + + /** Allows the user to show or hide the meridian with time in DateTimePicker. + */ + showMeridian?: boolean; + + /** After choosing the time, the popup will close automatically if we set it as true, otherwise we focus out the DateTimePicker or choose timeNow button for closing the popup. + */ + autoClose?: boolean; +} +} +enum popupPosition +{ +//Opens the DateTimePicker popup below to the DateTimePicker input box +Bottom, +//Opens the DateTimePicker popup above to the DateTimePicker input box +Top, +} + +class DateRangePicker extends ej.Widget { + static fn: DateRangePicker; + constructor(element: JQuery, options?: DateRangePicker.Model); + constructor(element: Element, options?: DateRangePicker.Model); + static Locale: any; + model:DateRangePicker.Model; + defaults:DateRangePicker.Model; + + /** Add the preset ranges to DateRangePicker popup. + * @param {string} Display name + * @param {Array} StartDate and endDate of range. + * @returns {void} + */ + addRanges(label: string, range: Array): void; + + /** Clears the all ranges selections in DateRangePicker popup + * @returns {void} + */ + clearRanges(): void; + + /** Disables the DateRangePicker control. + * @returns {void} + */ + disable(): void; + + /** Enable the DateRangePicker control, if it is in disabled state. + * @returns {void} + */ + enable(): void; + + /** Returns the startDate and endDate values in the selected ranges in the DateRangePicker control. + * @returns {string} + */ + getSelectedValue(): string; + + /** Close the DateRangePicker popup, if it is in opened state. + * @returns {void} + */ + popupHide(): void; + + /** Opens the DateRangePicker popup. + * @returns {void} + */ + popupShow(): void; + + /** set the preset ranges to DateRangePicker popup. + * @returns {void} + */ + setRange(): void; +} +export module DateRangePicker{ + +export interface Model { + + /** Used to allow or restrict the editing in DateRangePicker input field directly. By setting false to this API, You can only pick the date ranges from DateRangePicker popup. + * @Default {true} + */ + allowEdit?: boolean; + + /** Sets the specified text value to the available buttons (Reset, Cancel, Apply) in the DateRangePicker popup. + * @Default {{ reset: Reset, cancel: Cancel, apply: Apply}} + */ + buttonText?: any; + + /** Sets the root CSS class for DateRangePicker theme, which is used to customize. + */ + cssClass?: string; + + /** Formats the date value of the DateRangePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DateRangePicker. + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Allows to embed the Timepicker align with the calendars in the page, two timepicker will be render, for selecting start and end date. + * @Default {false} + */ + enableTimePicker?: boolean; + + /** Enable or disable the DateRangePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Sustain the entire widget model of DateRangePicker even after form post or browser refresh + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the end date of the date ranges. + * @Default {null} + */ + endDate?: string|Date; + + /** Specifies the height of the DateRangePicker input. + * @Default {28px} + */ + height?: string|number; + + /** Change the DateRangePicker calendar and date format based on given culture. + * @Default {en-US} + */ + locale?: string; + + /** Used to add the preset ranges. Added ranges using this, will show in popup in right side for easy selection of different preset ranges. + * @Default {null} + */ + ranges?: any; + + /** Specifies the start date of the date ranges + * @Default {null} + */ + startDate?: string|Date; + + /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DateRangePicker calendar popup. + * @Default {true} + */ + showPopupButton?: boolean; + + /** DateRangePicker input and popup is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Formats the date value of the DateRangePicker in to the specified time format. If this API is not specified, timeFormat will be set based on the current culture of DateRangePicker. + * @Default {HH:mm tt} + */ + timeFormat?: string; + + /** Separated two date values in string format to sets the date ranges in calendars. + * @Default {null} + */ + value?: string; + + /** Specifies the water mark text to be displayed in input text. + * @Default {Select Range} + */ + watermarkText?: string; + + /** Specifies the width of the DateRangePicker input text. + * @Default {160px} + */ + width?: string|number; + + /** Fires before closing the DateRangePicker popup. */ + beforeClose? (e: BeforeCloseEventArgs): void; + + /** Fires before opening the DateRangePicker popup. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Fires when the DateRangePicker values get changed. */ + onChange? (e: OnChangeEventArgs): void; - /** returns the value of the feature measure bar. - */ - Value?: number; - } + /** Fires when DateRangePicker popup is closed. */ + close? (e: CloseEventArgs): void; + + /** Fires when the DateRangePicker is created successfully. */ + create? (e: CreateEventArgs): void; + + /** Fires when the DateRangePicker is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when DateRangePicker popup is opened. */ + open? (e: OpenEventArgs): void; - export interface DrawIndicatorEventArgs { + /** Fires when a date ranges is selected from the DateRangePicker popup. */ + select? (e: SelectEventArgs): void; +} - /** returns an object to customize bullet graph indicator text and symbol before rendering it. - */ - indicatorSettings?: any; +export interface BeforeCloseEventArgs { - /** returns the object of bullet graph. - */ - model?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the type of event. - */ - type?: string; + /** returns the DateRangePicker model + */ + model?: ej.DateRangePicker.Model; - /** for canceling the event. - */ - cancel?: boolean; - } + /** returns the name of the event. + */ + type?: string; - export interface DrawLabelsEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; - - /** returns the current label element. - */ - tickElement?: HTMLElement; - - /** returns the label type. - */ - labelType?: string; - } - - export interface DrawQualitativeRangesEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the index of current range. - */ - rangeIndex?: number; - - /** returns the settings for current range. - */ - rangeOptions?: any; - - /** returns the end value of current range. - */ - rangeEndValue?: number; - } - - export interface LoadEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CaptionSettingsFont { - - /** Specifies the color of the text in caption. - * @Default {null} - */ - color?: string; - - /** Specifies the fontFamily of caption. Caption text render with this fontFamily - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of caption - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; - - /** Specifies the fontWeight of caption - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; - - /** Specifies the opacity of caption. Caption text render with this opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of caption. Caption text render with this size - * @Default {12px} - */ - size?: string; - } - - export interface CaptionSettingsIndicatorFont { - - /** Specifies the color of the indicator's text. - * @Default {null} - */ - color?: string; - - /** Specifies the fontFamily of indicator. Indicator text render with this fontFamily. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of indicator. Indicator text render with this fontStyle. See FontStyle - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; - - /** Specifies the fontWeight of indicator. Indicator text render with this fontWeight. See FontWeight - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; - - /** Specifies the opacity of indicator text. Indicator text render with this Opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of indicator. Indicator text render with this size. - * @Default {12px} - */ - size?: string; - } - - export interface CaptionSettingsIndicatorLocation { - - /** Specifies the horizontal position of the indicator. - * @Default {10} - */ - x?: number; - - /** Specifies the vertical position of the indicator. - * @Default {60} - */ - y?: number; - } - - export interface CaptionSettingsIndicatorSymbolBorder { - - /** Specifies the border color of indicator symbol. - * @Default {null} - */ - color?: string; - - /** Specifies the border width of indicator symbol. - * @Default {1} - */ - width?: number; - } - - export interface CaptionSettingsIndicatorSymbolSize { - - /** Specifies the height of indicator symbol. - * @Default {10} - */ - height?: number; - - /** Specifies the width of indicator symbol. - * @Default {10} - */ - width?: number; - } - - export interface CaptionSettingsIndicatorSymbol { - - /** Contains property to customize the border of indicator symbol. - */ - border?: CaptionSettingsIndicatorSymbolBorder; - - /** Specifies the color of indicator symbol. - * @Default {null} - */ - color?: string; - - /** Specifies the URL of image that represents indicator symbol. - */ - imageURL?: string; - - /** Specifies the opacity of indicator symbol. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of indicator symbol. - */ - shape?: string; - - /** Contains property to customize the size of indicator symbol. - */ - size?: CaptionSettingsIndicatorSymbolSize; - } - - export interface CaptionSettingsIndicator { - - /** Contains property to customize the font of indicator. - */ - font?: CaptionSettingsIndicatorFont; - - /** Contains property to customize the location of indicator. - */ - location?: CaptionSettingsIndicatorLocation; - - /** Specifies the padding to be applied when text position is used. - * @Default {2} - */ - padding?: number; - - /** Contains property to customize the symbol of indicator. - */ - symbol?: CaptionSettingsIndicatorSymbol; - - /** Specifies the text to be displayed as indicator text. By default difference between current value and target will be displayed - */ - text?: string; - - /** Specifies the alignment of indicator with respect to scale based on text position - * @Default {'Near'} - */ - textAlignment?: ej.datavisualization.BulletGraph.TextAlignment | string; - - /** Specifies where indicator text should be anchored when indicator overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. - * Anchoring is not applicable for float position. - * @Default {'start'} - */ - textAnchor?: ej.datavisualization.BulletGraph.TextAnchor | string; - - /** indicator text render in the specified angle. - * @Default {0} - */ - textAngle?: number; - - /** Specifies where indicator should be placed - * @Default {'float'} - */ - textPosition?: ej.datavisualization.BulletGraph.TextPosition | string; - - /** Specifies the space between indicator symbol and text. - * @Default {3} - */ - textSpacing?: number; - - /** Specifies whether indicator will be visible or not. - * @Default {false} - */ - visible?: boolean; - } - - export interface CaptionSettingsLocation { - - /** Specifies the position in horizontal direction - * @Default {17} - */ - x?: number; - - /** Specifies the position in horizontal direction - * @Default {30} - */ - y?: number; - } - - export interface CaptionSettingsSubTitleFont { - - /** Specifies the color of the subtitle's text. - * @Default {null} - */ - color?: string; - - /** Specifies the fontFamily of subtitle. Subtitle text render with this fontFamily. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of subtitle. Subtitle text render with this fontStyle. See FontStyle - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; - - /** Specifies the fontWeight of subtitle. Subtitle text render with this fontWeight. See FontWeight - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; - - /** Specifies the opacity of subtitle. Subtitle text render with this opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of subtitle. Subtitle text render with this size. - * @Default {12px} - */ - size?: string; - } - - export interface CaptionSettingsSubTitleLocation { - - /** Specifies the horizontal position of the subtitle. - * @Default {10} - */ - x?: number; - - /** Specifies the vertical position of the subtitle. - * @Default {45} - */ - y?: number; - } - - export interface CaptionSettingsSubTitle { - - /** Contains property to customize the font of subtitle. - */ - font?: CaptionSettingsSubTitleFont; - - /** Contains property to customize the location of subtitle. - */ - location?: CaptionSettingsSubTitleLocation; - - /** Specifies the padding to be applied when text position is used. - * @Default {5} - */ - padding?: number; - - /** Specifies the text to be displayed as subtitle. - */ - text?: string; - - /** Specifies the alignment of sub title text with respect to scale. Alignment will not be applied in float position. - * @Default {'Near'} - */ - textAlignment?: ej.datavisualization.BulletGraph.TextAlignment | string; - - /** Specifies where subtitle text should be anchored when sub title text overlaps with other caption group text. Text will be anchored when overlapping - * caption group text are at same position. Anchoring is not applicable for float position. - * @Default {'start'} - */ - textAnchor?: ej.datavisualization.BulletGraph.TextAnchor | string; - - /** Subtitle render in the specified angle. - * @Default {0} - */ - textAngle?: number; - - /** Specifies where sub title text should be placed. - * @Default {'float'} - */ - textPosition?: ej.datavisualization.BulletGraph.TextPosition | string; - } - - export interface CaptionSettings { - - /** Specifies whether trim the labels will be true or false. - * @Default {true} - */ - enableTrim?: boolean; - - /** Contains property to customize the font of caption. - */ - font?: CaptionSettingsFont; - - /** Contains property to customize the indicator. - */ - indicator?: CaptionSettingsIndicator; - - /** Contains property to customize the location. - */ - location?: CaptionSettingsLocation; - - /** Specifies the padding to be applied when text position is used. - * @Default {5} - */ - padding?: number; - - /** Contains property to customize the subtitle. - */ - subTitle?: CaptionSettingsSubTitle; - - /** Specifies the text to be displayed on bullet graph. - */ - text?: string; - - /** Specifies the alignment of caption text with respect to scale. This property will not be applied when text position is float. - * @Default {'Near'} - */ - textAlignment?: ej.datavisualization.BulletGraph.TextAlignment | string; - - /** Specifies caption text anchoring when caption text overlaps with other caption group text. - * Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. - * @Default {'start'} - */ - textAnchor?: ej.datavisualization.BulletGraph.TextAnchor | string; - - /** Specifies the angel in which the caption is rendered. - * @Default {0} - */ - textAngle?: number; - - /** Specifies how caption text should be placed. - * @Default {'float'} - */ - textPosition?: ej.datavisualization.BulletGraph.TextPosition | string; - } - - export interface QualitativeRange { - - /** Specifies the ending range to which the qualitative ranges will render. - * @Default {3} - */ - rangeEnd?: number; - - /** Specifies the opacity for the qualitative ranges. - * @Default {1} - */ - rangeOpacity?: number; - - /** Specifies the stroke for the qualitative ranges. - * @Default {null} - */ - rangeStroke?: string; - } - - export interface QuantitativeScaleSettingsComparativeMeasureSettings { - - /** Specifies the stroke of the comparative measure. - * @Default {null} - */ - stroke?: number; - - /** Specifies the width of the comparative measure. - * @Default {5} - */ - width?: number; - } - - export interface QuantitativeScaleSettingsFeaturedMeasureSettings { - - /** Specifies the Stroke of the featured measure in bullet graph. - * @Default {null} - */ - stroke?: number; - - /** Specifies the width of the featured measure in bullet graph. - * @Default {2} - */ - width?: number; - } - - export interface QuantitativeScaleSettingsFeatureMeasure { - - /** Specifies the category of feature measure. - * @Default {null} - */ - category?: string; - - /** Comparative measure render till the specified value. - * @Default {null} - */ - comparativeMeasureValue?: number; - - /** Feature measure render till the specified value. - * @Default {null} - */ - value?: number; - } - - export interface QuantitativeScaleSettingsFields { - - /** Specifies the category of the bullet graph. - * @Default {null} - */ - category?: string; - - /** Comparative measure render based on the values in the specified field. - * @Default {null} - */ - comparativeMeasure?: string; - - /** Specifies the dataSource for the bullet graph. - * @Default {null} - */ - dataSource?: any; - - /** Feature measure render based on the values in the specified field. - * @Default {null} - */ - featureMeasures?: string; - - /** Specifies the query for fetching the values form data source to render the bullet graph. - * @Default {null} - */ - query?: string; - - /** Specifies the name of the table. - * @Default {null} - */ - tableName?: string; - } - - export interface QuantitativeScaleSettingsLabelSettingsFont { - - /** Specifies the fontFamily of labels in bullet graph. Labels render with this fontFamily. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of labels in bullet graph. Labels render with this fontStyle. See FontStyle - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; - - /** Specifies the fontWeight of labels in bullet graph. Labels render with this fontWeight. See FontWeight - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; - - /** Specifies the opacity of labels in bullet graph. Labels render with this opacity - * @Default {1} - */ - opacity?: number; - } - - export interface QuantitativeScaleSettingsLabelSettings { - - /** Contains property to customize the font of the labels in bullet graph. - */ - font?: QuantitativeScaleSettingsLabelSettingsFont; - - /** Specifies the placement of labels in bullet graph scale. - * @Default {outside} - */ - labelPlacement?: ej.datavisualization.BulletGraph.LabelPlacement | string; - - /** Specifies the prefix to be added with labels in bullet graph. - * @Default {Empty string} - */ - labelPrefix?: string; - - /** Specifies the suffix to be added after labels in bullet graph. - * @Default {Empty string} - */ - labelSuffix?: string; - - /** Specifies the horizontal/vertical padding of labels. - * @Default {15} - */ - offset?: number; - - /** Specifies the position of the labels to render either above or below the graph. See Position - * @Default {below} - */ - position?: ej.datavisualization.BulletGraph.LabelPosition | string; - - /** Specifies the Size of the labels. - * @Default {12} - */ - size?: number; - - /** Specifies the stroke color of the labels in bullet graph. - * @Default {null} - */ - stroke?: string; - } - - export interface QuantitativeScaleSettingsLocation { - - /** This property specifies the x position for rendering quantitative scale. - * @Default {10} - */ - x?: number; - - /** This property specifies the y position for rendering quantitative scale. - * @Default {10} - */ - y?: number; - } - - export interface QuantitativeScaleSettingsMajorTickSettings { - - /** Specifies the size of the major ticks. - * @Default {13} - */ - size?: number; - - /** Specifies the stroke color of the major tick lines. - * @Default {null} - */ - stroke?: string; - - /** Specifies the width of the major tick lines. - * @Default {2} - */ - width?: number; - } - - export interface QuantitativeScaleSettingsMinorTickSettings { - - /** Specifies the size of minor ticks. - * @Default {7} - */ - size?: number; - - /** Specifies the stroke color of minor ticks in bullet graph. - * @Default {null} - */ - stroke?: string; - - /** Specifies the width of the minor ticks in bullet graph. - * @Default {2} - */ - width?: number; - } - - export interface QuantitativeScaleSettings { - - /** Contains property to customize the comparative measure. - */ - comparativeMeasureSettings?: QuantitativeScaleSettingsComparativeMeasureSettings; - - /** Contains property to customize the featured measure. - */ - featuredMeasureSettings?: QuantitativeScaleSettingsFeaturedMeasureSettings; - - /** Contains property to customize the featured measure. - */ - featureMeasures?: QuantitativeScaleSettingsFeatureMeasure[]; - - /** Contains property to customize the fields. - */ - fields?: QuantitativeScaleSettingsFields; - - /** Specifies the interval for the Graph. - * @Default {1} - */ - interval?: number; - - /** Contains property to customize the labels. - */ - labelSettings?: QuantitativeScaleSettingsLabelSettings; - - /** Contains property to customize the position of the quantitative scale - */ - location?: QuantitativeScaleSettingsLocation; - - /** Contains property to customize the major tick lines. - */ - majorTickSettings?: QuantitativeScaleSettingsMajorTickSettings; - - /** Specifies the maximum value of the Graph. - * @Default {10} - */ - maximum?: number; - - /** Specifies the minimum value of the Graph. - * @Default {0} - */ - minimum?: number; - - /** Contains property to customize the minor ticks. - */ - minorTickSettings?: QuantitativeScaleSettingsMinorTickSettings; - - /** The specified number of minor ticks will be rendered per interval. - * @Default {4} - */ - minorTicksPerInterval?: number; - - /** Specifies the placement of ticks to render either inside or outside the scale. - * @Default {ej.datavisualization.BulletGraph.TickPlacement.Outside} - */ - tickPlacement?: ej.datavisualization.BulletGraph.TickPlacement | string; - - /** Specifies the position of the ticks to render either above,below or inside - * @Default {ej.datavisualization.BulletGraph.TickPosition.Far} - */ - tickPosition?: ej.datavisualization.BulletGraph.TickPosition | string; - } - - export interface TooltipSettings { - - /** Specifies template for caption tooltip - * @Default {null} - */ - captionTemplate?: string; - - /** Toggles the visibility of caption tooltip - * @Default {false} - */ - enableCaptionTooltip?: boolean; - - /** Specifies the ID of a div, which is to be displayed as tooltip. - * @Default {null} - */ - template?: string; - - /** Toggles the visibility of tooltip - * @Default {true} - */ - visible?: boolean; - } - } - namespace BulletGraph { - enum FontStyle { - //string - Normal, - //string - Italic, - //string - Oblique, - } - } - namespace BulletGraph { - enum FontWeight { - //string - Normal, - //string - Bold, - //string - Bolder, - //string - Lighter, - } - } - namespace BulletGraph { - enum TextAlignment { - //string - Near, - //string - Far, - //string - Center, - } - } - namespace BulletGraph { - enum TextAnchor { - //string - Start, - //string - Middle, - //string - End, - } - } - namespace BulletGraph { - enum TextPosition { - //string - Top, - //string - Right, - //string - Left, - //string - Bottom, - //string - Float, - } - } - namespace BulletGraph { - enum FlowDirection { - //string - Forward, - //string - Backward, - } - } - namespace BulletGraph { - enum Orientation { - //string - Horizontal, - //string - Vertical, - } - } - namespace BulletGraph { - enum LabelPlacement { - //string - Inside, - //string - Outside, - } - } - namespace BulletGraph { - enum LabelPosition { - //string - Above, - //string - Below, - } - } - namespace BulletGraph { - enum TickPlacement { - //string - Inside, - //string - Outside, - } - } - namespace BulletGraph { - enum TickPosition { - //string - Below, - //string - Above, - //string - Cross, - } - } - - class Barcode extends ej.Widget { - static fn: Barcode; - constructor(element: JQuery | Element, options?: Barcode.Model); - static Locale: any; - model: Barcode.Model; - defaults: Barcode.Model; - - /** To disable the barcode - * @returns {void} - */ - disable(): void; - - /** To enable the barcode - * @returns {void} - */ - enable(): void; - } - export namespace Barcode { - - export interface Model { - - /** Specifies the distance between the barcode and text below it. - */ - barcodeToTextGapHeight?: number; - - /** Specifies the height of bars in the Barcode. By modifying the barHeight, the entire barcode height can be customized. - * Please refer to xDimension for two dimensional barcode height customization. - */ - barHeight?: number; - - /** Specifies the dark bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. - */ - darkBarColor?: any; - - /** Specifies whether the text below the barcode is visible or hidden. - */ - displayText?: boolean; - - /** Specifies whether the control is enabled. - */ - enabled?: boolean; - - /** Specifies the start and stop encode symbol in the Barcode. In one dimensional barcodes, an additional character is added as start and stop delimiters. - * These symbols are optional and the unique of the symbol allows the reader to determine the direction of the barcode being scanned. - */ - encodeStartStopSymbol?: number; - - /** Specifies the light bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. - */ - lightBarColor?: any; - - /** Specifies the width of the narrow bars in the barcode. The dark bars in the one dimensional barcode contains random narrow and wide bars based on - * the provided input which can be specified during initialization. - */ - narrowBarWidth?: number; - - /** Specifies the width of the quiet zone. In barcode, a quiet zone is the blank margin on either side of a barcode which informs the reader where a barcode's symbology starts and stops. - * The purpose of a quiet zone is to prevent the reader from picking up unrelated information. - */ - quietZone?: QuietZone; - - /** Specifies the type of the Barcode. See SymbologyType - */ - symbologyType?: ej.datavisualization.Barcode.SymbologyType | string; - - /** Specifies the text to be encoded in the barcode. - */ - text?: string; - - /** Specifies the color of the text/data at the bottom of the barcode. - */ - textColor?: any; - - /** Specifies the width of the wide bars in the barcode. One dimensional barcode usually contains random narrow and wide bars based on the provided which can be customized during initialization. - */ - wideBarWidth?: number; - - /** Specifies the width of the narrowest element(bar or space) in a barcode. The greater the x dimension, the more easily a barcode reader will scan. - */ - xDimension?: number; - - /** Fires after Barcode control is loaded. */ - load?(e: LoadEventArgs): void; - } - - export interface LoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the barcode model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** return the barcode state - */ - status?: boolean; - } - - export interface QuietZone { - - /** Specifies the quiet zone around the Barcode. - */ - all?: number; - - /** Specifies the bottom quiet zone of the Barcode. - */ - bottom?: number; - - /** Specifies the left quiet zone of the Barcode. - */ - left?: number; - - /** Specifies the right quiet zone of the Barcode. - */ - right?: number; - - /** Specifies the top quiet zone of the Barcode. - */ - top?: number; - } - } - namespace Barcode { - enum SymbologyType { - //Represents the QR code - QRBarcode, - //Represents the Data Matrix barcode - DataMatrix, - //Represents the Code 39 barcode - Code39, - //Represents the Code 39 Extended barcode - Code39Extended, - //Represents the Code 11 barcode - Code11, - //Represents the Codabar barcode - Codabar, - //Represents the Code 32 barcode - Code32, - //Represents the Code 93 barcode - Code93, - //Represents the Code 93 Extended barcode - Code93Extended, - //Represents the Code 128 A barcode - Code128A, - //Represents the Code 128 B barcode - Code128B, - //Represents the Code 128 C barcode - Code128C, - } - } - - class Map extends ej.Widget { - static fn: Map; - constructor(element: JQuery | Element, options?: Map.Model); - static Locale: any; - model: Map.Model; - defaults: Map.Model; - - /** Method for navigating to specific shape based on latitude, longitude and zoom level. - * @param {number} Pass the latitude value for map - * @param {number} Pass the longitude value for map - * @param {number} Pass the zoom level for map - * @returns {void} - */ - navigateTo(latitude: number, longitude: number, level: number): void; - - /** Method to perform map panning - * @param {string} Pass the direction in which map should be panned - * @returns {void} - */ - pan(direction: string): void; - - /** Method to reload the map. - * @returns {void} - */ - refresh(): void; - - /** Method to reload the shapeLayers with updated values - * @returns {void} - */ - refreshLayers(): void; - - /** Method to reload the navigation control with updated values. - * @param {any} Pass the navigation control instance - * @returns {void} - */ - refreshNavigationControl(navigation: any): void; - - /** Method to perform map zooming. - * @param {number} Pass the zoom level for map to be zoomed - * @param {boolean} Pass the boolean value to enable or disable animation while zooming - * @returns {void} - */ - zoom(level: number, isAnimate: boolean): void; - } - export namespace Map { - - export interface Model { - - /** Specifies the background color for map - * @Default {transparent} - */ - background?: string; - - /** Specifies the index of the map to determine the shape layer to be displayed - * @Default {0} - */ - baseMapIndex?: number; - - /** Specify the center position where map should be displayed - * @Default {[0,0]} - */ - centerPosition?: any; - - /** Enables or Disables the map animation - * @Default {false} - */ - enableAnimation?: boolean; - - /** Enables or Disables the animation for layer change in map - * @Default {false} - */ - enableLayerChangeAnimation?: boolean; - - /** Enables or Disables the map panning - * @Default {true} - */ - enablePan?: boolean; - - /** Determines whether map need to resize when container is resized - * @Default {true} - */ - enableResize?: boolean; - - /** Enables or Disables the Zooming for map. - */ - zoomSettings?: ZoomSettings; - - /** Enables or Disables the navigation control for map to perform zooming and panning on map shapes. - */ - navigationControl?: NavigationControl; - - /** Layer for holding the map shapes - */ - layers?: Layer[]; - - /** Triggered on selecting the map markers. */ - markerSelected?(e: MarkerSelectedEventArgs): void; - - /** Triggers while leaving the hovered map shape */ - mouseleave?(e: MouseleaveEventArgs): void; - - /** Triggers while hovering the map shape. */ - mouseover?(e: MouseoverEventArgs): void; - - /** Triggers once map render completed. */ - onRenderComplete?(e: OnRenderCompleteEventArgs): void; - - /** Triggers when map panning ends. */ - panned?(e: PannedEventArgs): void; - - /** Triggered on selecting the map shapes. */ - shapeSelected?(e: ShapeSelectedEventArgs): void; - - /** Triggered when map is zoomed-in. */ - zoomedIn?(e: ZoomedInEventArgs): void; - - /** Triggers when map is zoomed out. */ - zoomedOut?(e: ZoomedOutEventArgs): void; - } + /** returns the event parameters from DateRangePicker. + */ + events?: any; - export interface MarkerSelectedEventArgs { - - /** Returns marker object. - */ - originalEvent?: any; - } - - export interface MouseleaveEventArgs { + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; +} - /** Returns hovered map shape object. - */ - originalEvent?: any; - } +export interface BeforeOpenEventArgs { - export interface MouseoverEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Returns hovered map shape object. - */ - originalEvent?: any; - } + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; - export interface OnRenderCompleteEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Event parameters from map - */ - originalEvent?: any; - } + /** returns the event parameters from DateRangePicker. + */ + events?: any; - export interface PannedEventArgs { + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; +} - /** Event parameters from map - */ - originalEvent?: any; - } +export interface OnChangeEventArgs { - export interface ShapeSelectedEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Returns selected shape object. - */ - originalEvent?: any; - } + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; - export interface ZoomedInEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Event parameters from map - */ - originalEvent?: any; + /** returns the DateRangePicker input value. + */ + value?: string; - /** Returns zoom level value for which the map is zoomed. - */ - zoomLevel?: any; - } + /** returns the startDate of DateRangePicker. + */ + startDate?: any; - export interface ZoomedOutEventArgs { + /** returns the endDate of the DateRangePicker popup. + */ + endDate?: any; +} - /** Event parameters from map - */ - originalEvent?: any; +export interface CloseEventArgs { - /** Returns zoom level value for which the map is zoomed. - */ - zoomLevel?: any; - } + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - export interface ZoomSettings { + /** returns the current date object. + */ + date?: any; - /** Enables or Disables the zooming of map - * @Default {true} - */ - enableZoom?: boolean; + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; - /** Enables or Disables the zoom on selecting the map shape - * @Default {false} - */ - enableZoomOnSelection?: boolean; + /** returns the name of the event. + */ + type?: string; - /** Specifies the zoom factor for map zoom value. - * @Default {1} - */ - factor?: number; + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; +} - /** Specifies the zoom level value for which map to be zoomed - * @Default {1} - */ - level?: number; - - /** Specifies the minimum zoomSettings level of the map - * @Default {1} - */ - minValue?: number; - - /** Specifies the maximum zoom level of the map - * @Default {100} - */ - maxValue?: number; - } - - export interface NavigationControl { - - /** Set the absolutePosition for navigation control - * @Default {{x:0,y:0}} - */ - absolutePosition?: any; - - /** Specifies the navigation control template for map - * @Default {null} - */ - content?: string; - - /** Set the dockPosition value for navigation control - * @Default {centerleft} - */ - dockPosition?: ej.datavisualization.Map.Position | string; - - /** Enables or Disables the Navigation for handling zooming map - * @Default {false} - */ - enableNavigation?: boolean; - - /** Set the orientation value for navigation control - * @Default {vertical} - */ - orientation?: ej.datavisualization.Map.LabelOrientation | string; - } - - export interface LayersBubbleSettingsColorMappingsRangeColorMapping { - - /** Start range colorMappings in the bubble layer. - * @Default {null} - */ - from?: number; - - /** End range colorMappings in the bubble layer. - * @Default {null} - */ - to?: number; - - /** GradientColors in the bubble layer of map. - */ - gradientColors?: any[]; - - /** Color of the bubble layer. - * @Default {null} - */ - color?: string; - } - - export interface LayersBubbleSettingsColorMappings { - - /** Specifies the range colorMappings in the bubble layer. - * @Default {null} - */ - rangeColorMapping?: LayersBubbleSettingsColorMappingsRangeColorMapping[]; - } - - export interface LayersBubbleSettings { - - /** Specifies the bubble Opacity value of bubbles for shape layer in map - * @Default {0.9} - */ - bubbleOpacity?: number; - - /** Specifies the mouse hover color of the shape layer in map - * @Default {gray} - */ - color?: string; - - /** Specifies the colorMappings of the shape layer in map - * @Default {null} - */ - colorMappings?: LayersBubbleSettingsColorMappings; - - /** Specifies the bubble color valuePath of the shape layer in map - * @Default {null} - */ - colorValuePath?: string; - - /** Specifies the maximum size value of bubbles for shape layer in map - * @Default {20} - */ - maxValue?: number; - - /** Specifies the minimum size value of bubbles for shape layer in map - * @Default {10} - */ - minValue?: number; - - /** Specifies the showBubble visibility status map - * @Default {true} - */ - showBubble?: boolean; - - /** Specifies the tooltip visibility status of the shape layer in map - * @Default {false} - */ - showTooltip?: boolean; - - /** Specifies the bubble tooltip template of the shape layer in map - * @Default {null} - */ - tooltipTemplate?: string; - - /** Specifies the bubble valuePath of the shape layer in map - * @Default {null} - */ - valuePath?: string; - } - - export interface LayersLabelSettings { - - /** enable or disable the enableSmartLabel property - * @Default {false} - */ - enableSmartLabel?: boolean; - - /** set the labelLength property - * @Default {'2'} - */ - labelLength?: number; - - /** set the labelPath property - * @Default {null} - */ - labelPath?: string; - - /** The property specifies whether to show labels or not. - * @Default {false} - */ - showLabels?: boolean; - - /** set the smartLabelSize property - * @Default {fixed} - */ - smartLabelSize?: ej.datavisualization.Map.LabelSize | string; - } - - export interface LayersLegendSettings { - - /** Determines whether the legend should be placed outside or inside the map bounds - * @Default {false} - */ - dockOnMap?: boolean; - - /** Determines the legend placement and it is valid only when dockOnMap is true - * @Default {top} - */ - dockPosition?: ej.datavisualization.Map.DockPosition | string; - - /** height value for legend setting - * @Default {0} - */ - height?: number; - - /** to get icon value for legend setting - * @Default {rectangle} - */ - icon?: ej.datavisualization.Map.LegendIcons | string; - - /** icon height value for legend setting - * @Default {20} - */ - iconHeight?: number; - - /** icon Width value for legend setting - * @Default {20} - */ - iconWidth?: number; - - /** set the orientation of legend labels - * @Default {vertical} - */ - labelOrientation?: ej.datavisualization.Map.LabelOrientation | string; - - /** to get leftLabel value for legend setting - * @Default {null} - */ - leftLabel?: string; - - /** to get mode of legend setting - * @Default {default} - */ - mode?: ej.datavisualization.Map.Mode | string; - - /** set the position of legend settings - * @Default {topleft} - */ - position?: ej.datavisualization.Map.Position | string; - - /** x position value for legend setting - * @Default {0} - */ - positionX?: number; - - /** y position value for legend setting - * @Default {0} - */ - positionY?: number; - - /** to get rightLabel value for legend setting - * @Default {null} - */ - rightLabel?: string; - - /** Enables or Disables the showLabels - * @Default {false} - */ - showLabels?: boolean; - - /** Enables or Disables the showLegend - * @Default {false} - */ - showLegend?: boolean; - - /** to get title of legend setting - * @Default {null} - */ - title?: string; - - /** to get type of legend setting - * @Default {layers} - */ - type?: ej.datavisualization.Map.LegendType | string; - - /** width value for legend setting - * @Default {0} - */ - width?: number; - } - - export interface LayersShapeSettingsColorMappingsRangeColorMapping { - - /** Specifies the start range colorMappings in the shape layer of map. - * @Default {null} - */ - from?: number; - - /** Specifies the to range colorMappings in the shape layer of map. - * @Default {null} - */ - to?: number; - - /** Specifies the gradientColors in the shape layer of map. - * @Default {null} - */ - gradientColors?: any[]; - } - - export interface LayersShapeSettingsColorMappingsEqualColorMapping { - - /** Specifies the equalColorMapping value in the shape layer of map. - * @Default {null} - */ - value?: string; - - /** Specifies the equalColorMapping color in the shape layer of map. - * @Default {null} - */ - color?: string; - } - - export interface LayersShapeSettingsColorMappings { - - /** Specifies the range colorMappings in the shape layer of map. - * @Default {null} - */ - rangeColorMapping?: LayersShapeSettingsColorMappingsRangeColorMapping[]; - - /** Specifies the equalColorMapping in the shape layer of map. - * @Default {null} - */ - equalColorMapping?: LayersShapeSettingsColorMappingsEqualColorMapping[]; - } - - export interface LayersShapeSettings { - - /** Enables or Disables the auto fill colors for shape layer in map. When this property value set to true, shapes will be filled with palette colors. - * @Default {false} - */ - autoFill?: boolean; - - /** Specifies the colorMappings of the shape layer in map - * @Default {null} - */ - colorMappings?: LayersShapeSettingsColorMappings; - - /** Specifies the shape color palette value of the shape layer in map. Accepted colorPalette values are palette1, palette2, palette3 and custompalette. - * @Default {palette1} - */ - colorPalette?: ej.datavisualization.Map.ColorPalette | string; - - /** Specifies the shape color valuePath of the shape layer in map - * @Default {null} - */ - colorValuePath?: string; - - /** Enables or Disables the gradient colors for map shapes. - * @Default {false} - */ - enableGradient?: boolean; - - /** Specifies the shape fill color of the shape layer in map - * @Default {#E5E5E5} - */ - fill?: string; - - /** Specifies the mouse over width of the shape layer in map - * @Default {1} - */ - highlightBorderWidth?: number; - - /** Specifies the mouse hover color of the shape layer in map - * @Default {gray} - */ - highlightColor?: string; - - /** Specifies the mouse over stroke color of the shape layer in map - * @Default {#C1C1C1} - */ - highlightStroke?: string; - - /** Specifies the shape selection color of the shape layer in map - * @Default {gray} - */ - selectionColor?: string; - - /** Specifies the shape selection stroke color of the shape layer in map - * @Default {#C1C1C1} - */ - selectionStroke?: string; - - /** Specifies the shape selection stroke width of the shape layer in map - * @Default {1} - */ - selectionStrokeWidth?: number; - - /** Specifies the shape stroke color of the shape layer in map - * @Default {#C1C1C1} - */ - stroke?: string; - - /** Specifies the shape stroke thickness value of the shape layer in map - * @Default {0.2} - */ - strokeThickness?: number; - - /** Specifies the shape valuePath of the shape layer in map - * @Default {null} - */ - valuePath?: string; - } - - export interface Layer { - - /** to get the type of bing map. - * @Default {aerial} - */ - bingMapType?: ej.datavisualization.Map.BingMapType | string; - - /** Specifies the bubble settings for map - */ - bubbleSettings?: LayersBubbleSettings; - - /** Specifies the datasource for the shape layer - */ - dataSource?: any; - - /** Specifies the data path of shape - */ - shapeDataPath?: string; - - /** Specifies the data path of shape - */ - shapePropertyPath?: string; - - /** Enables or disables the shape mouse hover - * @Default {false} - */ - enableMouseHover?: boolean; - - /** Enables or disables the shape selection - * @Default {true} - */ - enableSelection?: boolean; - - /** to get the key of bing map - * @Default {null} - */ - key?: string; - - /** Options for enabling and configuring labelSettings labelPath, smartLabelSize, labelLength etc., - */ - labelSettings?: LayersLabelSettings; - - /** Specifies the map view type. - * @Default {'geographic'} - */ - geometryType?: ej.datavisualization.Map.GeometryType | string; - - /** Specifies the map type. - * @Default {'geometry'} - */ - layerType?: ej.datavisualization.Map.LayerType | string; - - /** Options for enabling and configuring legendSettings position, height, width, mode, type etc., - */ - legendSettings?: LayersLegendSettings; - - /** Specifies the map items template for shapes. - */ - mapItemsTemplate?: string; - - /** Specify markers for shape layer. - * @Default {[]} - */ - markers?: any[]; - - /** Specifies the map marker template for map layer. - * @Default {null} - */ - markerTemplate?: string; - - /** Specify selectedMapShapes for shape layer - * @Default {[]} - */ - selectedMapShapes?: any[]; - - /** Specifies the selection mode of the map. Accepted selection mode values are Default and Multiple. - * @Default {default} - */ - selectionMode?: ej.datavisualization.Map.SelectionMode | string; - - /** Specifies the shape data for the shape layer - */ - shapeData?: any; - - /** Specifies the shape settings of map layer - */ - shapeSettings?: LayersShapeSettings; - - /** Shows or hides the map items. - * @Default {false} - */ - showMapItems?: boolean; - - /** Shows or hides the tooltip for shapes - * @Default {false} - */ - showTooltip?: boolean; - - /** Specifies the tooltip template for shapes. - */ - tooltipTemplate?: string; - - /** Specifies the URL template for the OSM type map. - * @Default {'http://a.tile.openstreetmap.org/level/tileX/tileY.png'} - */ - urlTemplate?: string; - } - } - namespace Map { - enum Position { - //specifies the none position - None, - //specifies the topleft position - Topleft, - //specifies the topcenter position - Topcenter, - //specifies the topright position - Topright, - //specifies the centerleft position - Centerleft, - //specifies the center position - Center, - //specifies the centerright position - Centerright, - //specifies the bottomleft position - Bottomleft, - //specifies the bottomcenter position - Bottomcenter, - //specifies the bottomright position - Bottomright, - } - } - namespace Map { - enum LabelOrientation { - //specifies the horizontal position - Horizontal, - //specifies the vertical position - Vertical, - } - } - namespace Map { - enum BingMapType { - //specifies the aerial type - Aerial, - //specifies the aerialwithlabel type - Aerialwithlabel, - //specifies the road type - Road, - } - } - namespace Map { - enum LabelSize { - //specifies the fixed size - Fixed, - //specifies the default size - Default, - } - } - namespace Map { - enum GeometryType { - //specifies the geographic view of map - Geographic, - //specifies the normal land view of map - Normal, - } - } - namespace Map { - enum LayerType { - //specifies the geometry type - Geometry, - //specifies the osm type - Osm, - //specifies the bing type - Bing, - } - } - namespace Map { - enum DockPosition { - //specifies the top position - Top, - //specifies the bottom position - Bottom, - //specifies the bottom position - Right, - //specifies the left position - Left, - } - } - namespace Map { - enum LegendIcons { - //specifies the rectangle position - Rectangle, - //specifies the circle position - Circle, - } - } - namespace Map { - enum Mode { - //specifies the default mode - Default, - //specifies the interactive mode - Interactive, - } - } - namespace Map { - enum LegendType { - //specifies the layers type - Layers, - //specifies the bubbles type - Bubbles, - } - } - namespace Map { - enum SelectionMode { - //specifies the default position - Default, - //specifies the multiple position - Multiple, - } - } - namespace Map { - enum ColorPalette { - //specifies the palette1 color - Palette1, - //specifies the palette2 color - Palette2, - //specifies the palette3 color - Palette3, - //specifies the custom color - Custompalette, - } - } - - class TreeMap extends ej.Widget { - static fn: TreeMap; - constructor(element: JQuery | Element, options?: TreeMap.Model); - static Locale: any; - model: TreeMap.Model; - defaults: TreeMap.Model; - - /** Method to reload treemap with updated values. - * @returns {void} - */ - refresh(): void; - } - export namespace TreeMap { - - export interface Model { - - /** Specifies the border brush color of the treemap - * @Default {white} - */ - borderBrush?: string; - - /** Specifies the border thickness of the treemap - * @Default {1} - */ - borderThickness?: number; - - /** Specifies the uniColorMapping settings of the treemap - */ - uniColorMapping?: UniColorMapping; - - /** Specifies the desaturationColorMapping settings of the treemap - */ - desaturationColorMapping?: DesaturationColorMapping; - - /** Specifies the paletteColorMapping of the treemap - */ - paletteColorMapping?: PaletteColorMapping; - - /** Specifies the color value path of the treemap - * @Default {null} - */ - colorValuePath?: string; - - /** Specifies the datasource of the treemap - * @Default {null} - */ - dataSource?: any; - - /** Specifies the dockPosition for legend - * @Default {top} - */ - dockPosition?: ej.datavisualization.TreeMap.DockPosition | string; - - /** specifies the drillDown header color - * @Default {'null'} - */ - drillDownHeaderColor?: string; - - /** specifies the drillDown selection color - * @Default {'#000000'} - */ - drillDownSelectionColor?: string; - - /** Specifies whether datasource is hierarchical or not. - * @Default {false} - */ - isHierarchicalDatasource?: boolean; - - /** Specifies the header for parent item during drilldown. This is applicable only for hierarchical data source. - * @Default {null} - */ - header?: string; - - /** Enable/Disable the drillDown for treemap - * @Default {false} - */ - enableDrillDown?: boolean; - - /** Controls whether Treemap has to be responsive while resizing the window. - * @Default {true} - */ - isResponsive?: boolean; - - /** Specifies whether treemap need to resize when container is resized - * @Default {true} - */ - enableResize?: boolean; - - /** This property is used to select treemap items while clicking and dragging - * @Default {false} - */ - draggingOnSelection?: boolean; - - /** This property is used to select group of treemap items while clicking and dragging - * @Default {false} - */ - draggingGroupOnSelection?: boolean; - - /** Specifies the group color mapping of the treemap - * @Default {[]} - */ - groupColorMapping?: GroupColorMapping[]; - - /** Specifies the legend settings of the treemap - */ - legendSettings?: LegendSettings; - - /** Specifies the highlight border brush of treemap - * @Default {gray} - */ - highlightBorderBrush?: string; - - /** Specifies the border thickness when treemap items is highlighted in the treemap - * @Default {5} - */ - highlightBorderThickness?: number; - - /** Specifies the highlight border brush of treemap - * @Default {gray} - */ - highlightGroupBorderBrush?: string; - - /** Specifies the border thickness when treemap items is highlighted in the treemap - * @Default {5} - */ - highlightGroupBorderThickness?: number; - - /** Specifies whether treemap item need to highlighted on selection - * @Default {false} - */ - highlightGroupOnSelection?: boolean; - - /** Specifies whether treemap item need to highlighted on selection - * @Default {false} - */ - highlightOnSelection?: boolean; - - /** Specifies the items layout mode of the treemap. Accepted itemsLayoutMode values are Squarified, SliceAndDiceHorizontal, SliceAndDiceVertical and SliceAndDiceAuto - * @Default {Squarified} - */ - itemsLayoutMode?: ej.datavisualization.TreeMap.ItemsLayoutMode | string; - - /** Specifies the leaf settings of the treemap - */ - leafItemSettings?: LeafItemSettings; - - /** Specifies the rangeColorMapping settings of the treemap - * @Default {[]} - */ - rangeColorMapping?: RangeColorMapping[]; - - /** Specifies the selection mode of treemap item. Accepted selection mode values are Default and Multiple. - * @Default {default} - */ - selectionMode?: ej.datavisualization.TreeMap.selectionMode | string; - - /** Specifies the selection mode of the treemap. Accepted selection mode values are Default and Multiple. - * @Default {default} - */ - groupSelectionMode?: ej.datavisualization.TreeMap.groupSelectionMode | string; - - /** Specifies the legend visibility status of the treemap - * @Default {false} - */ - showLegend?: boolean; - - /** Specifies whether gradient color has to be applied for treemap items - * @Default {false} - */ - enableGradient?: boolean; - - /** Specifies whether treemap showTooltip need to be visible - */ - showTooltip?: boolean; - - /** Specifies the tooltip template of the treemap - * @Default {null} - */ - tooltipTemplate?: string; - - /** Hold the treeMapItems to be displayed in treemap - * @Default {[]} - */ - treeMapItems?: any[]; - - /** Specify levels of treemap for grouped visualization of data - * @Default {[]} - */ - levels?: Level[]; - - /** Specifies the weight value path of the treemap - * @Default {null} - */ - weightValuePath?: string; - - /** Triggers on treemap item selected. */ - treeMapItemSelected?(e: TreeMapItemSelectedEventArgs): void; - } - - export interface TreeMapItemSelectedEventArgs { - - /** Returns selected treeMapItem object. - */ - originalEvent?: any; - } - - export interface UniColorMapping { - - /** Specifies the uniform color mapping of the treemap - * @Default {null} - */ - color?: string; - } - - export interface DesaturationColorMapping { - - /** Specifies the to value for desaturation color mapping - * @Default {0} - */ - to?: number; - - /** Specifies the color for desaturationColorMapping - * @Default {null} - */ - color?: string; - - /** Specifies the from value for desaturation color mapping - * @Default {0} - */ - from?: number; - - /** Specifies the rangeMaximum value for desaturation color mapping - * @Default {0} - */ - rangeMaximum?: number; - - /** Specifies the rangeMinimum value for desaturation color mapping - * @Default {0} - */ - rangeMinimum?: number; - } - - export interface PaletteColorMapping { - - /** Specifies the colors of the paletteColorMapping - * @Default {[]} - */ - colors?: any[]; - } - - export interface GroupColorMapping { - - /** Specifies the groupID for GroupColorMapping. - * @Default {null} - */ - groupID?: string; - } - - export interface LegendSettings { - - /** Specifies the height for legend - * @Default {30} - */ - height?: number; - - /** Specifies the width for legend - * @Default {100} - */ - width?: number; - - /** Specifies the iconHeight for legend - * @Default {15} - */ - iconHeight?: number; - - /** Specifies the iconWidth for legend - * @Default {15} - */ - iconWidth?: number; - - /** Specifies the template for legendSettings - * @Default {null} - */ - template?: string; - - /** Specifies the mode for legendSettings whether default or interactive mode - * @Default {default} - */ - mode?: string; - - /** Specifies the title text for legend - */ - title?: string; - - /** Specifies the leftLabel text for legend - */ - leftLabel?: string; - - /** Specifies the rightLabel text for legend - */ - rightLabel?: string; - - /** Specifies the dockPosition text for legend - * @Default {top} - */ - dockPosition?: string; - - /** Specifies the alignment text for legend - * @Default {near} - */ - alignment?: string; - - /** Specifies the alignment text for legend - * @Default {0} - */ - columnCount?: number; - } - - export interface LeafItemSettings { - - /** Specifies the border brush color of the leaf item. - * @Default {white} - */ - borderBrush?: string; - - /** Specifies the border thickness of the leaf item. - * @Default {1} - */ - borderThickness?: number; - - /** Specifies the label template of the leaf item. - * @Default {null} - */ - itemTemplate?: string; - - /** Specifies the label path of the leaf item. - * @Default {null} - */ - labelPath?: string; - - /** Specifies the position of the leaf labels. - * @Default {center} - */ - labelPosition?: ej.datavisualization.TreeMap.Position | string; - - /** Specifies the mode of label visibility - * @Default {visible} - */ - labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode | string; - - /** Shows or hides the label of the leaf item. - * @Default {false} - */ - showLabels?: boolean; - } - - export interface RangeColorMapping { - - /** Specifies the color value for rangeColorMapping. - * @Default {null} - */ - color?: string; - - /** specifies the gradient colors for th given range value - * @Default {[]} - */ - gradientColors?: any[]; - - /** Specifies the from value for rangeColorMapping. - * @Default {-1} - */ - from?: number; - - /** Specifies the legend label value for rangeColorMapping. - * @Default {null} - */ - legendLabel?: string; - - /** Specifies the to value for rangeColorMapping. - * @Default {-1} - */ - to?: number; - } - - export interface Level { - - /** specifies the group background - * @Default {null} - */ - groupBackground?: string; - - /** Specifies the group border color for tree map level. - * @Default {null} - */ - groupBorderColor?: string; - - /** Specifies the group border thickness for tree map level. - * @Default {1} - */ - groupBorderThickness?: number; - - /** Specifies the group gap for tree map level. - * @Default {1} - */ - groupGap?: number; - - /** Specifies the group padding for tree map level. - * @Default {4} - */ - groupPadding?: number; - - /** Specifies the group path for tree map level. - */ - groupPath?: string; - - /** Specifies the header height for tree map level. - * @Default {0} - */ - headerHeight?: number; - - /** Specifies the header template for tree map level. - * @Default {null} - */ - headerTemplate?: string; - - /** Specifies the mode of header visibility - * @Default {visible} - */ - headerVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode | string; - - /** Specifies the position of the labels. - * @Default {center} - */ - labelPosition?: ej.datavisualization.TreeMap.Position | string; - - /** Specifies the label template for tree map level. - * @Default {null} - */ - labelTemplate?: string; - - /** Specifies the mode of label visibility - * @Default {visible} - */ - labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode | string; - - /** Shows or hides the header for tree map level. - * @Default {false} - */ - showHeader?: boolean; - - /** Shows or hides the labels for tree map level. - * @Default {false} - */ - showLabels?: boolean; - } - } - namespace TreeMap { - enum DockPosition { - //specifies the top position - Top, - //specifies the bottom position - Bottom, - //specifies the bottom position - Right, - //specifies the left position - Left, - } - } - namespace TreeMap { - enum ItemsLayoutMode { - //specifies the squarified as layout type position - Squarified, - //specifies the sliceanddicehorizontal as layout type position - Sliceanddicehorizontal, - //specifies the sliceanddicevertical as layout type position - Sliceanddicevertical, - //specifies the sliceanddiceauto as layout type position - Sliceanddiceauto, - } - } - namespace TreeMap { - enum Position { - //specifies the none position - None, - //specifies the topleft position - Topleft, - //specifies the topcenter position - Topcenter, - //specifies the topright position - Topright, - //specifies the centerleft position - Centerleft, - //specifies the center position - Center, - //specifies the centerright position - Centerright, - //specifies the bottomleft position - Bottomleft, - //specifies the bottomcenter position - Bottomcenter, - //specifies the bottomright position - Bottomright, - } - } - namespace TreeMap { - enum VisibilityMode { - //specifies the visible mode - Top, - //specifies the hide on exceeded length mode - Hideonexceededlength, - } - } - namespace TreeMap { - enum selectionMode { - //specifies the default mode - Default, - //specifies the multiple mode - Multiple, - } - } - namespace TreeMap { - enum groupSelectionMode { - //specifies the default mode - Default, - //specifies the multiple mode - Multiple, - } - } - - class Diagram extends ej.Widget { - static fn: Diagram; - constructor(element: JQuery | Element, options?: Diagram.Model); - static Locale: any; - model: Diagram.Model; - defaults: Diagram.Model; - - /** Add nodes and connectors to diagram at runtime - * @param {any} a JSON to define a node/connector or an array of nodes and connector - * @returns {boolean} - */ - add(node: any): boolean; - - /** Add a label to a node at runtime - * @param {string} name of the node to which label will be added - * @param {any} JSON for the new label to be added - * @returns {void} - */ - addLabel(nodeName: string, newLabel: any): void; - - /** Add dynamic Lanes to swimlane at runtime - * @param {any} JSON for the new lane to be added - * @param {number} Index value to add the lane in swimlane - * @returns {void} - */ - addLane(lane: any, index: number): void; - - /** Add a phase to a swimlane at runtime - * @param {string} name of the swimlane to which the phase will be added - * @param {any} JSON object to define the phase to be added - * @returns {void} - */ - addPhase(name: string, options: any): void; - - /** Add a collection of ports to the node specified by name - * @param {string} name of the node to which the ports have to be added - * @param {Array} a collection of ports to be added to the specified node - * @returns {void} - */ - addPorts(name: string, ports: any[]): void; - - /** Add the specified node to selection list - * @param {any} the node to be selected - * @param {boolean} to define whether to clear the existing selection or not - * @returns {void} - */ - addSelection(node: any, clearSelection?: boolean): void; - - /** Align the selected objects based on the reference object and direction - * @param {string} to specify the direction towards which the selected objects are to be aligned("left","right",top","bottom") - * @returns {void} - */ - align(direction: string): void; - - /** Bring the specified portion of the diagram content to the diagram viewport - * @param {any} the rectangular region that is to be brought into diagram viewport - * @returns {void} - */ - bringIntoView(rect: any): void; - - /** Bring the specified portion of the diagram content to the center of the diagram viewport - * @param {any} the rectangular region that is to be brought to the center of diagram viewport - * @returns {void} - */ - bringToCenter(rect: any): void; - - /** Visually move the selected object over all other intersected objects - * @returns {void} - */ - bringToFront(): void; - - /** Remove all the elements from diagram - * @returns {void} - */ - clear(): void; - - /** Clears the actions which is recorded to perform undo/redo operation in the diagram. - * @returns {void} - */ - clearHistory(): void; - - /** Remove the current selection in diagram - * @returns {void} - */ - clearSelection(): void; - - /** Copy the selected object to internal clipboard and get the copied object - * @returns {any} - */ - copy(): any; - - /** Cut the selected object from diagram to diagram internal clipboard - * @returns {void} - */ - cut(): void; - - /** Export the diagram as downloadable files or as data - * @param {Diagram.Options} options to export the desired region of diagram to the desired formats. - * @returns {string} - */ - exportDiagram(options?: Diagram.Options): string; - - /** Read a node/connector object by its name - * @param {string} name of the node/connector that is to be identified - * @returns {any} - */ - findNode(name: string): any; - - /** Fit the diagram content into diagram viewport - * @param {string} to set the mode of fit to command. See [Fit Mode](/api/js/global#fitmode) - * @param {string} to set whether the region to be fit will be based on diagram elements or page settings [Region](/api/js/global#region) - * @param {any} to set the required margin - * @returns {void} - */ - fitToPage(mode?: string, region?: string, margin?: any): void; - - /** Group the selected nodes and connectors - * @returns {void} - */ - group(): void; - - /** Insert a label into a node's label collection at runtime - * @param {string} name of the node to which the label has to be inserted - * @param {any} JSON to define the new label - * @param {number} index to insert the label into the node - * @returns {void} - */ - insertLabel(name: string, label: any, index?: number): void; - - /** Refresh the diagram with the specified layout - * @returns {void} - */ - layout(): void; - - /** Load the diagram - * @param {any} JSON data to load the diagram - * @returns {void} - */ - load(data: any): void; - - /** Visually move the selected object over its closest intersected object - * @returns {void} - */ - moveForward(): void; - - /** Move the selected objects by either one pixel or by the pixels specified through argument - * @param {string} specifies the direction to move the selected objects ("left","right",top","bottom") - * @param {number} specifies the number of pixels by which the selected objects have to be moved - * @returns {void} - */ - nudge(direction: string, delta?: number): void; - - /** Paste the selected object from internal clipboard to diagram - * @param {any} object to be added to diagram - * @param {boolean} to define whether the specified object is to be renamed or not - * @returns {void} - */ - paste(object?: any, rename?: boolean): void; - - /** Print the diagram as image - * @returns {void} - */ - print(): void; - - /** Restore the last action that was reverted - * @returns {void} - */ - redo(): void; - - /** Refresh the diagram at runtime - * @returns {void} - */ - refresh(): void; - - /** Remove either the given node/connector or the selected element from diagram - * @param {any} the node/connector to be removed from diagram - * @returns {void} - */ - remove(node?: any): void; - - /** Remove a particular object from selection list - * @param {any} the node/connector to be removed from selection list - * @returns {void} - */ - removeSelection(node: any): void; - - /** Scale the selected objects to the height of the first selected object - * @returns {void} - */ - sameHeight(): void; - - /** Scale the selected objects to the size of the first selected object - * @returns {void} - */ - sameSize(): void; - - /** Scale the selected objects to the width of the first selected object - * @returns {void} - */ - sameWidth(): void; - - /** Returns the diagram as serialized JSON - * @returns {any} - */ - save(): any; - - /** Bring the node into view - * @param {any} the node/connector to be brought into view - * @returns {void} - */ - scrollToNode(node: any): void; - - /** Select all nodes and connector in diagram - * @returns {void} - */ - selectAll(): void; - - /** Visually move the selected object behind its closest intersected object - * @returns {void} - */ - sendBackward(): void; - - /** Visually move the selected object behind all other intersected objects - * @returns {void} - */ - sendToBack(): void; - - /** Update the horizontal space between the selected objects as equal and within the selection boundary - * @returns {void} - */ - spaceAcross(): void; - - /** Update the vertical space between the selected objects as equal and within the selection boundary - * @returns {void} - */ - spaceDown(): void; - - /** Move the specified label to edit mode - * @param {any} node/connector that contains the label to be edited - * @param {any} to be edited - * @returns {void} - */ - startLabelEdit(node: any, label: any): void; - - /** Reverse the last action that was performed - * @returns {void} - */ - undo(): void; - - /** Ungroup the selected group - * @returns {void} - */ - ungroup(): void; - - /** Update diagram at runtime - * @param {any} JSON to specify the diagram properties that have to be modified - * @returns {void} - */ - update(options: any): void; - - /** Update Connectors at runtime - * @param {string} name of the connector to be updated - * @param {any} JSON to specify the connector properties that have to be updated - * @returns {void} - */ - updateConnector(name: string, options: any): void; - - /** Update the given label at runtime - * @param {string} the name of node/connector which contains the label to be updated - * @param {any} the label to be modified - * @param {any} JSON to specify the label properties that have to be updated - * @returns {any} - */ - updateLabel(nodeName: string, label: any, options: any): any; - - /** Update nodes at runtime - * @param {string} name of the node that is to be updated - * @param {any} JSON to specify the properties of node that have to be updated - * @returns {void} - */ - updateNode(name: string, options: any): void; - - /** Update a port with its modified properties at runtime - * @param {string} the name of node which contains the port to be updated - * @param {any} the port to be updated - * @param {any} JSON to specify the properties of the port that have to be updated - * @returns {void} - */ - updatePort(nodeName: string, port: any, options: any): void; - - /** Update the specified node as selected object - * @param {string} name of the node to be updated as selected object - * @returns {void} - */ - updateSelectedObject(name: string): void; - - /** Update the selection at runtime - * @param {boolean} to specify whether to show the user handles or not - * @returns {void} - */ - updateSelection(showUserHandles?: boolean): void; - - /** Update user handles with respect to the given node - * @param {any} node/connector with respect to which, the user handles have to be updated - * @returns {void} - */ - updateUserHandles(node: any): void; - - /** Update the diagram viewport at runtime - * @returns {void} - */ - updateViewPort(): void; - - /** Upgrade the diagram from old version - * @param {any} to be upgraded - * @returns {void} - */ - upgrade(data: any): void; - - /** Used to zoomIn/zoomOut diagram - * @param {Diagram.Zoom} options to zoom the diagram(zoom factor, zoomIn/zoomOut) - * @returns {void} - */ - zoomTo(Zoom?: Diagram.Zoom): void; - } - export namespace Diagram { - - export interface Options { - - /** name of the file to be downloaded. - */ - fileName?: string; - - /** format of the exported file/data. See [File Formats](/api/js/global#fileformats). - */ - format?: string; - - /** to set whether to export diagram as a file or as raw data. See [Export Modes](/api/js/global#exportmodes). - */ - mode?: string; - - /** to set the region of the diagram to be exported. See [Region](/api/js/global#region). - */ - region?: string; - - /** to export any custom region of diagram. - */ - bounds?: any; - - /** to set margin to the exported data. - */ - margin?: any; - - /** to set stretch to the exported data. - */ - stretch?: string; - } - - export interface Zoom { - - /** Used to increase the zoom-in or zoom-out based on the zoom factor value. - */ - zoomFactor?: number; - - /** Used to zoom-in or zoom-out the diagram. - */ - zoomCommand?: ej.datavisualization.Diagram.ZoomCommand; - - /** Used to zoom-in or zoom-out the diagram based on the point. - */ - focusPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - } - - export interface Model { - - /** Defines the background color of diagram elements - * @Default {transparent} - */ - backgroundColor?: string; - - /** Defines the path of the background image of diagram elements - */ - backgroundImage?: string; - - /** Sets the direction of line bridges. - * @Default {ej.datavisualization.Diagram.BridgeDirection.Top} - */ - bridgeDirection?: ej.datavisualization.Diagram.BridgeDirection | string; - - /** Defines a set of custom commands and binds them with a set of desired key gestures. - */ - commandManager?: CommandManager; - - /** A collection of JSON objects where each object represents a connector - * @Default {[]} - */ - connectors?: Connector[]; - - /** Binds the custom JSON data with connector properties - * @Default {null} - */ - connectorTemplate?: any; - - /** Enables/Disables the default behaviors of the diagram. - * @Default {ej.datavisualization.Diagram.DiagramConstraints.All} - */ - constraints?: ej.datavisualization.Diagram.DiagramConstraints | string; - - /** An object to customize the context menu of diagram - */ - contextMenu?: ContextMenu; - - /** Configures the data source that is to be bound with diagram - */ - dataSourceSettings?: DataSourceSettings; - - /** Initializes the default values for nodes and connectors - * @Default {{}} - */ - defaultSettings?: DefaultSettings; - - /** Sets the type of JSON object to be drawn through drawing tool - * @Default {{}} - */ - drawType?: any; - - /** Enables or disables auto scroll in diagram - * @Default {true} - */ - enableAutoScroll?: boolean; - - /** Enables or disables diagram context menu - * @Default {true} - */ - enableContextMenu?: boolean; - - /** Specifies the height of the diagram - * @Default {null} - */ - height?: string; - - /** Customizes the undo redo functionality - */ - historyManager?: HistoryManager; - - /** Defines the type of the rendering mode of label. - * @Default {Html} - */ - labelRenderingMode?: ej.datavisualization.Diagram.LabelRenderingMode | string; - - /** Automatically arranges the nodes and connectors in a predefined manner. - */ - layout?: Layout; - - /** Defines the current culture of diagram - * @Default {en-US} - */ - locale?: string; +export interface CreateEventArgs { - /** Array of JSON objects where each object represents a node - * @Default {[]} - */ - nodes?: Node[]; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Binds the custom JSON data with node properties - * @Default {null} - */ - nodeTemplate?: any; + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; - /** Defines the size and appearance of diagram page - */ - pageSettings?: PageSettings; + /** returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; + + /** returns the name of the event. + */ + type?: string; +} + +export interface OpenEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the current date object. + */ + date?: any; + + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; +} + +export interface SelectEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the selected date object. + */ + startDate?: any; + + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the current date value. + */ + endDate?: any; +} +} + +class Dialog extends ej.Widget { + static fn: Dialog; + constructor(element: JQuery, options?: Dialog.Model); + constructor(element: Element, options?: Dialog.Model); + static Locale: any; + model:Dialog.Model; + defaults:Dialog.Model; + + /** Closes the dialog widget dynamically. + * @returns {any} + */ + close(): any; + + /** Collapses the content area when it is expanded. + * @returns {any} + */ + collapse(): any; + + /** Destroys the Dialog widget. + * @returns {void} + */ + destroy(): void; + + /** Expands the content area when it is collapsed. + * @returns {any} + */ + expand(): any; + + /** Checks whether the Dialog widget is opened or not. This methods returns Boolean value. + * @returns {boolean} + */ + isOpen(): boolean; + + /** Maximizes the Dialog widget. + * @returns {any} + */ + maximize(): any; + + /** Minimizes the Dialog widget. + * @returns {any} + */ + minimize(): any; + + /** Opens the Dialog widget. + * @returns {any} + */ + open(): any; + + /** Pins the dialog in its current position. + * @returns {any} + */ + pin(): any; + + /** Refreshes the dialog content dynamically. + * @returns {void} + */ + refresh(): void; + + /** Restores the dialog. + * @returns {any} + */ + restore(): any; + + /** Unpins the Dialog widget. + * @returns {any} + */ + unpin(): any; + + /** Sets the title for the Dialog widget. + * @param {string} The title for the dialog widget. + * @returns {any} + */ + setTitle(Title: string): any; + + /** Sets the content for the Dialog widget dynamically. + * @param {string} The content for the dialog widget. It accepts both string and HTML string. + * @returns {any} + */ + setContent(content: string): any; + + /** Sets the focus on the Dialog widget. + * @returns {any} + */ + focus(): any; +} +export module Dialog{ + +export interface Model { + + /** Adds action buttons like close, minimize, pin, maximize in the dialog header. + */ + actionButtons?: string[]; + + /** Specifies the ajaxSettings option to load the content to the Dialog control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Enables or disables draggable. + */ + allowDraggable?: boolean; + + /** Enables or disables keyboard interaction. + */ + allowKeyboardNavigation?: boolean; + + /** Customizes the Dialog widget animations. The Dialog widget can be animated while opening and closing the dialog. In order to customize animation effects, you need to set “enableAnimation” as true. It contains the following sub properties. + */ + animation?: any; + + /** Closes the dialog widget on pressing the ESC key when it is set to true. + */ + closeOnEscape?: boolean; + + /** The selector for the container element. If the property is set, then dialog will append to the selected element and it is restricted to move only within the specified container element. + */ + containment?: string; + + /** The content type to load the dialog content at run time. The possible values are null, AJAX, iframe and image. When it is null (default value), the content inside dialog element will be displayed as content and when it is not null, the content will be loaded from the URL specified in the contentUrl property. + */ + contentType?: string; + + /** The URL to load the dialog content (such as AJAX, image, and iframe). In order to load content from URL, you need to set contentType as ‘ajax’ or ‘iframe’ or ‘image’. + */ + contentUrl?: string; + + /** The root class for the Dialog widget to customize the existing theme. + */ + cssClass?: string; + + /** Enable or disables animation when the dialog is opened or closed. + */ + enableAnimation?: boolean; + + /** Enables or disables the Dialog widget. + */ + enabled?: boolean; + + /** Enable or disables modal dialog. The modal dialog acts like a child window that is displayed on top of the main window/screen and disables the main window interaction until it is closed. + */ + enableModal?: boolean; + + /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. + */ + enablePersistence?: boolean; + + /** Allows the dialog to be resized. The dialog cannot be resized less than the minimum height, width values and greater than the maximum height and width. + */ + enableResize?: boolean; + + /** Displays dialog content from right to left when set to true. + */ + enableRTL?: boolean; + + /** The CSS class name to display the favicon in the dialog header. In order to display favicon, you need to set showHeader as true since the favicon will be displayed in the dialog header. + */ + faviconCSS?: string; - /** Defines the zoom value, zoom factor, scroll status and view port size of the diagram - */ - scrollSettings?: ScrollSettings; + /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, “100px” as string type and “100”, “500” as integer type. + */ + height?: string|number; - /** Defines the size and position of selected items and defines the appearance of selector - */ - selectedItems?: SelectedItems; + /** Specifies the HTML Attributes of the Dialog. + * @Default {{}} + */ + htmlAttributes?: any; - /** Enables or disables tooltip of diagram - * @Default {true} - */ - showTooltip?: boolean; + /** Enable or disables responsive behavior. + */ + isResponsive?: boolean; - /** Defines the gridlines and defines how and when the objects have to be snapped - */ - snapSettings?: SnapSettings; + /** Default Value:{:.param}“en-US” + */ + locale?: number; - /** Enables/Disables the interactive behaviors of diagram. - * @Default {ej.datavisualization.Diagram.Tool.All} - */ - tool?: ej.datavisualization.Diagram.Tool | string; + /** Sets the maximum height for the dialog widget. + */ + maxHeight?: number; - /** An object that defines the description, appearance and alignments of tooltips - * @Default {null} - */ - tooltip?: Tooltip; + /** Sets the maximum width for the dialog widget. + */ + maxWidth?: number; - /** Specifies the width of the diagram - * @Default {null} - */ - width?: string; + /** Sets the minimum height for the dialog widget. + */ + minHeight?: number; - /** Sets the factor by which we can zoom in or zoom out - * @Default {0.2} - */ - zoomFactor?: number; + /** Sets the minimum width for the dialog widget. + */ + minWidth?: number; - /** Triggers When auto scroll is changed */ - autoScrollChange?(e: AutoScrollChangeEventArgs): void; + /** Displays the Dialog widget at the given X and Y position. + */ + position?: any; - /** Triggers when a node, connector or diagram is clicked */ - click?(e: ClickEventArgs): void; + /** Shows or hides the dialog header. + */ + showHeader?: boolean; - /** Triggers when the connection is changed */ - connectionChange?(e: ConnectionChangeEventArgs): void; + /** The Dialog widget can be opened by default i.e. on initialization, when it is set to true. + */ + showOnInit?: boolean; - /** Triggers when the connector collection is changed */ - connectorCollectionChange?(e: ConnectorCollectionChangeEventArgs): void; + /** Enables or disables the rounder corner. + */ + showRoundedCorner?: boolean; - /** Triggers when the connectors' source point is changed */ - connectorSourceChange?(e: ConnectorSourceChangeEventArgs): void; + /** The selector for the container element. If this property is set, the dialog will be displayed (positioned) based on its container. + */ + target?: string; - /** Triggers when the connectors' target point is changed */ - connectorTargetChange?(e: ConnectorTargetChangeEventArgs): void; + /** The title text to be displayed in the dialog header. In order to set title, you need to set showHeader as true since the title will be displayed in the dialog header. + */ + title?: string; - /** Triggers before opening the context menu */ - contextMenuBeforeOpen?(e: ContextMenuBeforeOpenEventArgs): void; + /** Add or configure the tooltip text for actionButtons in the dialog header. + */ + tooltip?: any; - /** Triggers when a context menu item is clicked */ - contextMenuClick?(e: ContextMenuClickEventArgs): void; + /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, “100px” as string type and “100”, “500” as integer type. + */ + width?: string|number; - /** Triggers when a node, connector or diagram model is clicked twice */ - doubleClick?(e: DoubleClickEventArgs): void; + /** Sets the z-index value for the Dialog widget. + */ + zIndex?: number; - /** Triggers while dragging the elements in diagram */ - drag?(e: DragEventArgs): void; + /** Sets the Footer for the Dialog widget. + */ + showFooter?: boolean; - /** Triggers when a symbol is dragged into diagram from symbol palette */ - dragEnter?(e: DragEnterEventArgs): void; + /** Sets the FooterTemplate for the Dialog widget. + */ + footerTemplateId?: string; - /** Triggers when a symbol is dragged outside of the diagram. */ - dragLeave?(e: DragLeaveEventArgs): void; + /** This event is triggered before the dialog widgets gets open. */ + beforeOpen? (e: BeforeOpenEventArgs): void; - /** Triggers when a symbol is dragged over diagram */ - dragOver?(e: DragOverEventArgs): void; + /** This event is triggered whenever the AJAX request fails to retrieve the dialog content. */ + ajaxError? (e: AjaxErrorEventArgs): void; - /** Triggers when a symbol is dragged and dropped from symbol palette to drawing area */ - drop?(e: DropEventArgs): void; + /** This event is triggered whenever the AJAX request to retrieve the dialog content, gets succeed. */ + ajaxSuccess? (e: AjaxSuccessEventArgs): void; - /** Triggers when editor got focus at the time of node's label or text node editing. */ - editorFocusChange?(e: EditorFocusChangeEventArgs): void; + /** This event is triggered before the dialog widgets get closed. */ + beforeClose? (e: BeforeCloseEventArgs): void; - /** Triggers when a child is added to or removed from a group */ - groupChange?(e: GroupChangeEventArgs): void; + /** This event is triggered after the dialog widget is closed. */ + close? (e: CloseEventArgs): void; - /** Triggers when a change is reverted or restored(undo/redo) */ - historyChange?(e: HistoryChangeEventArgs): void; + /** Triggered after the dialog content is loaded in DOM. */ + contentLoad? (e: ContentLoadEventArgs): void; - /** Triggers when a diagram element is clicked */ - itemClick?(e: ItemClickEventArgs): void; + /** Triggered after the dialog is created successfully */ + create? (e: CreateEventArgs): void; - /** Triggers when mouse enters a node/connector */ - mouseEnter?(e: MouseEnterEventArgs): void; + /** Triggered after the dialog widget is destroyed successfully */ + destroy? (e: DestroyEventArgs): void; - /** Triggers when mouse leaves node/connector */ - mouseLeave?(e: MouseLeaveEventArgs): void; + /** Triggered while the dialog is dragged. */ + drag? (e: DragEventArgs): void; - /** Triggers when mouse hovers over a node/connector */ - mouseOver?(e: MouseOverEventArgs): void; + /** Triggered when the user starts dragging the dialog. */ + dragStart? (e: DragStartEventArgs): void; - /** Triggers when node collection is changed */ - nodeCollectionChange?(e: NodeCollectionChangeEventArgs): void; + /** Triggered when the user stops dragging the dialog. */ + dragStop? (e: DragStopEventArgs): void; - /** Triggers when the node properties(x, y,width and height alone) are changed using nudge commands or updateNode API. */ - propertyChange?(e: PropertyChangeEventArgs): void; + /** Triggered after the dialog is opened. */ + open? (e: OpenEventArgs): void; - /** Triggers when the diagram elements are rotated */ - rotationChange?(e: RotationChangeEventArgs): void; + /** Triggered while the dialog is resized. */ + resize? (e: ResizeEventArgs): void; - /** Triggers when the diagram is zoomed or panned */ - scrollChange?(e: ScrollChangeEventArgs): void; + /** Triggered when the user starts resizing the dialog. */ + resizeStart? (e: ResizeStartEventArgs): void; - /** Triggers when a connector segment is edited */ - segmentChange?(e: SegmentChangeEventArgs): void; + /** Triggered when the user stops resizing the dialog. */ + resizeStop? (e: ResizeStopEventArgs): void; - /** Triggers when the selection is changed in diagram */ - selectionChange?(e: SelectionChangeEventArgs): void; + /** Triggered when the dialog content is expanded. */ + expand? (e: ExpandEventArgs): void; - /** Triggers when a node is resized */ - sizeChange?(e: SizeChangeEventArgs): void; + /** Triggered when the dialog content is collapsed. */ + collapse? (e: CollapseEventArgs): void; - /** Triggers when label editing is ended */ - textChange?(e: TextChangeEventArgs): void; + /** Triggered when the custom action button clicked. */ + actionButtonClick? (e: ActionButtonClickEventArgs): void; +} - /** Triggered when the diagram is rendered completely. */ - create?(e: CreateEventArgs): void; - } +export interface BeforeOpenEventArgs { - export interface AutoScrollChangeEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Returns the delay between subsequent auto scrolls - */ - delay?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Name of the event + */ + type?: string; +} - export interface ClickEventArgs { +export interface AjaxErrorEventArgs { - /** parameter returns the clicked node, connector or diagram - */ - element?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the object that is actually clicked - */ - actualObject?: number; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the horizontal coordinate of the mouse pointer, relative to the diagram - */ - offsetX?: number; + /** Name of the event. + */ + type?: string; - /** parameter returns the vertical coordinate of the mouse pointer, relative to the diagram - */ - offsetY?: number; + /** URL of the content. + */ + URL?: string; - /** parameter returns the count of how many times the mouse button is pressed - */ - count?: number; + /** Error page content. + */ + responseText?: string; - /** parameter returns the actual click event arguments that explains which button is clicked - */ - event?: any; + /** Error code. + */ + status?: number; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** The corresponding error description. + */ + statusText?: string; +} - export interface ConnectionChangeEventArgs { +export interface AjaxSuccessEventArgs { - /** parameter returns the connection that is changed between nodes, ports or points - */ - element?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the new source node or target node of the connector - */ - connection?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the new source port or target port of the connector - */ - port?: any; + /** Name of the event. + */ + type?: string; - /** parameter defines whether to cancel the change or not - */ - cancel?: boolean; + /** URL of the content. + */ + URL?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Response content. + */ + data?: string; +} - export interface ConnectorCollectionChangeEventArgs { +export interface BeforeCloseEventArgs { - /** parameter returns whether the connector is inserted or removed - */ - changeType?: string; + /** Current event object. + */ + event?: any; - /** parameter returns the connector that is to be added or deleted - */ - element?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter defines whether to cancel the collection change or not - */ - cancel?: boolean; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** triggers before and after adding the connector in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the connector. - */ - state?: string; + /** Name of the event. + */ + type?: string; +} - /** parameter returns the id of the diagram - */ - diagramId?: string; - } +export interface CloseEventArgs { - export interface ConnectorSourceChangeEventArgs { + /** Current event object. + */ + event?: any; - /** returns the connector, the source point of which is being dragged - */ - element?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the source node of the element - */ - node?: any; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** returns the source point of the element - */ - point?: any; + /** Name of the event + */ + type?: string; +} - /** returns the source port of the element - */ - port?: any; +export interface ContentLoadEventArgs { - /** returns the state of connection end point dragging(starting, dragging, completed) - */ - dragState?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter defines whether to cancel the change or not - */ - cancel?: boolean; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Name of the event. + */ + type?: string; - export interface ConnectorTargetChangeEventArgs { + /** URL of the content. + */ + URL?: string; - /** parameter returns the connector, the target point of which is being dragged - */ - element?: any; + /** Content type + */ + contentType?: any; +} - /** returns the target node of the element - */ - node?: any; +export interface CreateEventArgs { - /** returns the target point of the element - */ - point?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the target port of the element - */ - port?: any; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** returns the state of connection end point dragging(starting, dragging, completed) - */ - dragState?: string; + /** Name of the event. + */ + type?: string; +} - /** parameter defines whether to cancel the change or not - */ - cancel?: boolean; +export interface DestroyEventArgs { - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - export interface ContextMenuBeforeOpenEventArgs { + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the diagram object - */ - diagram?: any; + /** Name of the event. + */ + type?: string; +} - /** parameter returns the actual arguments from context menu - */ - contextmenu?: any; +export interface DragEventArgs { - /** parameter returns the object that was clicked - */ - target?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - export interface ContextMenuClickEventArgs { + /** Name of the event. + */ + type?: string; - /** parameter returns the id of the selected context menu item - */ - id?: string; + /** Current event object. + */ + event?: any; +} - /** parameter returns the text of the selected context menu item - */ - text?: string; +export interface DragStartEventArgs { - /** parameter returns the parent id of the selected context menu item - */ - parentId?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the parent text of the selected context menu item - */ - parentText?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the object that was clicked - */ - target?: any; + /** Name of the event. + */ + type?: string; - /** parameter defines whether to execute the click event or not - */ - canExecute?: boolean; + /** Current event object. + */ + event?: any; +} - /** parameter returns the id of the diagram - */ - diagramId?: string; - } +export interface DragStopEventArgs { - export interface DoubleClickEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the object that is actually clicked - */ - actualObject?: any; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the selected object - */ - element?: any; + /** Name of the event. + */ + type?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Current event object. + */ + event?: any; +} - export interface DragEventArgs { +export interface OpenEventArgs { - /** parameter returns the node or connector that is being dragged - */ - element?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the previous position of the node/connector - */ - oldValue?: any; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the new position of the node/connector - */ - newValue?: any; + /** Name of the event. + */ + type?: string; +} - /** parameter returns the state of drag event (Starting, dragging, completed) - */ - dragState?: string; +export interface ResizeEventArgs { - /** parameter returns whether or not to cancel the drag event - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - export interface DragEnterEventArgs { + /** Name of the event. + */ + type?: string; - /** parameter returns the node or connector that is dragged into diagram - */ - element?: any; + /** Current event object. + */ + event?: any; +} - /** parameter returns whether to add or remove the symbol from diagram - */ - cancel?: boolean; +export interface ResizeStartEventArgs { - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - export interface DragLeaveEventArgs { + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the node or connector that is dragged outside of the diagram - */ - element?: any; + /** Name of the event + */ + type?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Current event object. + */ + event?: any; +} - export interface DragOverEventArgs { +export interface ResizeStopEventArgs { - /** parameter returns the node or connector that is dragged over diagram - */ - element?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter defines whether the symbol can be dropped at the current mouse position - */ - allowDrop?: boolean; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** parameter returns the node/connector over which the symbol is dragged - */ - target?: any; + /** Name of the event + */ + type?: string; - /** parameter returns the previous position of the node/connector - */ - oldValue?: any; + /** Current event object. + */ + event?: any; +} - /** parameter returns the new position of the node/connector - */ - newValue?: any; +export interface ExpandEventArgs { - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - export interface DropEventArgs { + /** Name of the event. + */ + type?: string; +} - /** parameter returns node or connector that is being dropped - */ - element?: any; +export interface CollapseEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; + + /** Name of the event. + */ + type?: string; +} + +export interface ActionButtonClickEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Name of the event target attribute. + */ + buttonID?: string; + + /** Name of the event. + */ + type?: string; + + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; + + /** Name of the event current target title. + */ + currentTarget?: string; +} + +export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; + + /** It specifies the HTTP request type. + */ + type?: string; +} +} + +class DropDownList extends ej.Widget { + static fn: DropDownList; + constructor(element: JQuery, options?: DropDownList.Model); + constructor(element: Element, options?: DropDownList.Model); + static Locale: any; + model:DropDownList.Model; + defaults:DropDownList.Model; + + /** Adding a single item or an array of items into the DropDownList allows you to specify all the field attributes such as value, template, image URL, and HTML attributes for those items. + * @param {any|Array} this parameter should have field attributes with respect to mapped field attributes and it's corresponding values to fields + * @returns {void} + */ + addItem(data: any|Array): void; + + /** This method is used to select all the items in the DropDownList. + * @returns {void} + */ + checkAll(): void; + + /** Clears the text in the DropDownList textbox. + * @returns {void} + */ + clearText(): void; + + /** Destroys the DropDownList widget. + * @returns {void} + */ + destroy(): void; + + /** This property is used to disable the DropDownList widget. + * @returns {void} + */ + disable(): void; + + /** This property disables the set of items in the DropDownList. + * @param {string|number|Array} disable the given index list items + * @returns {void} + */ + disableItemsByIndices(index: string|number|Array): void; + + /** This property enables the DropDownList control. + * @returns {void} + */ + enable(): void; + + /** Enables an Item or set of Items that are disabled in the DropDownList + * @param {string|number|Array} enable the given index list items if it's disabled + * @returns {void} + */ + enableItemsByIndices(index: string|number|Array): void; + + /** This method retrieves the items using given value. + * @param {string|number|any} Return the whole object of data based on given value + * @returns {Array} + */ + getItemDataByValue(value: string|number|any): Array; + + /** This method is used to retrieve the items that are bound with the DropDownList. + * @returns {any} + */ + getListData(): any; + + /** This method is used to get the selected items in the DropDownList. + * @returns {Array} + */ + getSelectedItem(): Array; + + /** This method is used to retrieve the items value that are selected in the DropDownList. + * @returns {string} + */ + getSelectedValue(): string; + + /** This method hides the suggestion popup in the DropDownList. + * @returns {void} + */ + hidePopup(): void; + + /** This method is used to select the list of items in the DropDownList through the Index of the items. + * @param {string|number|Array} select the given index list items + * @returns {void} + */ + selectItemsByIndices(index: string|number|Array): void; + + /** This method is used to select an item in the DropDownList by using the given text value. + * @param {string|number|Array} select the list items relates to given text + * @returns {void} + */ + selectItemByText(index: string|number|Array): void; + + /** This method is used to select an item in the DropDownList by using the given value. + * @param {string|number|Array} select the list items relates to given values + * @returns {void} + */ + selectItemByValue(index: string|number|Array): void; + + /** This method shows the DropDownList control with the suggestion popup. + * @returns {void} + */ + showPopup(): void; + + /** This method is used to unselect all the items in the DropDownList. + * @returns {void} + */ + unCheckAll(): void; + + /** This method is used to unselect the list of items in the DropDownList through Index of the items. + * @param {string|number|Array} unselect the given index list items + * @returns {void} + */ + unselectItemsByIndices(index: string|number|Array): void; + + /** This method is used to unselect an item in the DropDownList by using the given text value. + * @param {string|number|Array} unselect the list items relates to given text + * @returns {void} + */ + unselectItemByText(index: string|number|Array): void; + + /** This method is used to unselect an item in the DropDownList by using the given value. + * @param {string|number|Array} unselect the list items relates to given values + * @returns {void} + */ + unselectItemByValue(index: string|number|Array): void; +} +export module DropDownList{ + +export interface Model { + + /** The Virtual Scrolling(lazy loading) feature is used to display a large amount of data that you require without buffering the entire load of a huge database records in the DropDownList, that is, when scrolling, an AJAX request is sent to fetch some amount of data from the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** The cascading DropDownLists is a series of two or more DropDownLists in which each DropDownList is filtered according to the previous DropDownList’s value. + * @Default {null} + */ + cascadeTo?: string; + + /** Sets the case sensitivity of the search operation. It supports both enableFilterSearch and enableIncrementalSearch property. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** Dropdown widget's style and appearance can be controlled based on 13 different default built-in themes.You can customize the appearance of the dropdown by using the cssClass property. You need to specify a class name in the cssClass property and the same class name is used before the class definitions wherever the custom styles are applied. + */ + cssClass?: string; + + /** This property is used to serve data from the data services based on the query provided. To bind the data to the dropdown widget, the dataSource property is assigned with the instance of the ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Sets the separator when the multiSelectMode with delimiter option or checkbox is enabled with the dropdown. When you enter the delimiter value, the texts after the delimiter are considered as a separate word or query. The delimiter string is a single character and must be a symbol. Mostly, the delimiter symbol is used as comma (,) or semi-colon (;) or any other special character. + * @Default {','} + */ + delimiterChar?: string; + + /** The enabled Animation property uses the easeOutQuad animation to SlideDown and SlideUp the Popup list in 200 and 100 milliseconds, respectively. + * @Default {false} + */ + enableAnimation?: boolean; + + /** This property is used to indicate whether the DropDownList control responds to the user interaction or not. By default, the control is in the enabled mode and you can disable it by setting it to false. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies to perform incremental search for the selection of items from the DropDownList with the help of this property. This helps in selecting the item by using the typed character. + * @Default {true} + */ + enableIncrementalSearch?: boolean; + + /** This property selects the item in the DropDownList when the item is entered in the Search textbox. + * @Default {false} + */ + enableFilterSearch?: boolean; + + /** Saves the current model value to the browser cookies for state maintenance. While refreshing the DropDownList control page, it retains the model value and it is applied from the browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** This enables the resize handler to resize the popup to any size. + * @Default {false} + */ + enablePopupResize?: boolean; + + /** Sets the DropDownList textbox direction from right to left align. + * @Default {false} + */ + enableRTL?: boolean; + + /** This property is used to sort the Items in the DropDownList. By default, it sorts the items in an ascending order. + * @Default {false} + */ + enableSorting?: boolean; + + /** Specifies the mapping fields for the data items of the DropDownList. + * @Default {null} + */ + fields?: Fields; + + /** When the enableFilterSearch property value is set to true, the values in the DropDownList shows the items starting with or containing the key word/letter typed in the Search textbox. + * @Default {ej.FilterType.Contains} + */ + filterType?: ej.FilterType|string; + + /** Used to create visualized header for dropdown items + * @Default {null} + */ + headerTemplate?: string; + + /** Defines the height of the DropDownList textbox. + * @Default {null} + */ + height?: string|number; + + /** It sets the given HTML attributes for the DropDownList control such as ID, name, disabled, etc. + * @Default {null} + */ + htmlAttributes?: any; + + /** Data can be fetched in the DropDownList control by using the DataSource, specifying the number of items. + * @Default {5} + */ + itemsCount?: number; + + /** Allows the user to set the particular country or region language for the DropDownList. + * @Default {en-US} + */ + locale?: string; + + /** Defines the maximum height of the suggestion box. This property restricts the maximum height of the popup when resize is enabled. + * @Default {null} + */ + maxPopupHeight?: string|number; + + /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. + * @Default {null} + */ + minPopupHeight?: string|number; + + /** Defines the maximum width of the suggestion box. This property restricts the maximum width of the popup when resize is enabled. + * @Default {null} + */ + maxPopupWidth?: string|number; + + /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. + * @Default {0} + */ + minPopupWidth?: string|number; + + /** With the help of this property, you can make a single or multi selection with the DropDownList and display the text in two modes, delimiter and visual mode. In delimiter mode, you can separate the items by using the delimiter character such as comma (,) or semi-colon (;) or any other special character. In the visual mode, the items are showcased like boxes with close icon in the textbox. + * @Default {ej.MultiSelectMode.None} + */ + multiSelectMode?: ej.MultiSelectMode|string; + + /** Defines the height of the suggestion popup box in the DropDownList control. + * @Default {152px} + */ + popupHeight?: string|number; + + /** Defines the width of the suggestion popup box in the DropDownList control. + * @Default {auto} + */ + popupWidth?: string|number; + + /** Specifies the query to retrieve the data from the DataSource. + * @Default {null} + */ + query?: any; + + /** Specifies that the DropDownList textbox values should be read-only. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies an item to be selected in the DropDownList. + * @Default {null} + */ + selectedIndex?: number; + + /** Specifies the selectedItems for the DropDownList. + * @Default {[]} + */ + selectedIndices?: Array; + + /** Selects multiple items in the DropDownList with the help of the checkbox control. To achieve this, enable the showCheckbox option to true. + * @Default {false} + */ + showCheckbox?: boolean; + + /** DropDownList control is displayed with the popup seen. + * @Default {false} + */ + showPopupOnLoad?: boolean; + + /** DropDownList textbox displayed with the rounded corner style. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** When the enableSorting property value is set to true, this property helps to sort the items either in ascending or descending order + * @Default {ej.SortOrder.Ascending} + */ + sortOrder?: ej.SortOrder|string; + + /** Specifies the targetID for the DropDownList’s items. + * @Default {null} + */ + targetID?: string; + + /** By default, you can add any text or image to the DropDownList item. To customize the item layout or to create your own visualized elements, you can use this template support. + * @Default {null} + */ + template?: string; + + /** Defines the text value that is displayed in the DropDownList textbox. + * @Default {null} + */ + text?: string; - /** parameter returns whether or not to cancel the drop event - */ - cancel?: boolean; + /** Sets the jQuery validation error message in the DropDownList + * @Default {null} + */ + validationMessage?: any; - /** parameter returns the object from where the element is dragged - */ - source?: any; + /** Sets the jQuery validation rules in the Dropdownlist. + * @Default {null} + */ + validationRules?: any; - /** parameter returns the object over which the object will be dropped - */ - target?: any; + /** Specifies the value (text content) for the DropDownList control. + * @Default {null} + */ + value?: string|number; - /** parameter returns the enum which defines the type of the source - */ - sourceType?: string; + /** Specifies a short hint that describes the expected value of the DropDownList control. + * @Default {null} + */ + watermarkText?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Defines the width of the DropDownList textbox. + * @Default {null} + */ + width?: string|number; - export interface EditorFocusChangeEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } + /** The Virtual Scrolling feature is used to display a large amount of records in the DropDownList, that is, when scrolling, an AJAX request is sent to fetch some amount of data from the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. You can set the itemsCount property that represents the number of items to be fetched from the server on every AJAX request. + * @Default {normal} + */ + virtualScrollMode?: ej.VirtualScrollMode|string; - export interface GroupChangeEventArgs { + /** Fires the action before the XHR request. */ + actionBegin? (e: ActionBeginEventArgs): void; - /** parameter returns the object that is added to/removed from a group - */ - element?: any; + /** Fires the action when the list of items is bound to the DropDownList by xhr post calling */ + actionComplete? (e: ActionCompleteEventArgs): void; - /** parameter returns the old parent group(if any) of the object - */ - oldParent?: any; + /** Fires the action when the xhr post calling failed on remote data binding with the DropDownList control. */ + actionFailure? (e: ActionFailureEventArgs): void; - /** parameter returns the new parent group(if any) of the object - */ - newParent?: any; + /** Fires the action when the xhr post calling succeed on remote data binding with the DropDownList control */ + actionSuccess? (e: ActionSuccessEventArgs): void; - /** parameter returns the cause of group change("group", unGroup") - */ - cause?: string; + /** Fires the action before the popup is ready to hide. */ + beforePopupHide? (e: BeforePopupHideEventArgs): void; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Fires the action before the popup is ready to be displayed. */ + beforePopupShown? (e: BeforePopupShownEventArgs): void; - export interface HistoryChangeEventArgs { + /** Fires when the cascading happens between two DropDownList exactly after the value changes in the first dropdown and before filtering in the second Dropdown. */ + cascade? (e: CascadeEventArgs): void; - /** An array of objects, where each object represents the changes made in last undo/redo. To explore how the changes are defined, refer [Undo Redo Changes](#undo-redo-changes) - */ - changes?: any[]; + /** Fires the action when the DropDownList control’s value is changed. */ + change? (e: ChangeEventArgs): void; - /** A collection of objects that are changed in the last undo/redo - */ - Source?: any[]; + /** Fires the action when the list item checkbox value is changed. */ + checkChange? (e: CheckChangeEventArgs): void; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Fires the action once the DropDownList is created. */ + create? (e: CreateEventArgs): void; - export interface ItemClickEventArgs { + /** Fires the action when the list items is bound to the DropDownList. */ + dataBound? (e: DataBoundEventArgs): void; - /** parameter returns the object that was actually clicked - */ - actualObject?: any; + /** Fires the action when the DropDownList is destroyed. */ + destroy? (e: DestroyEventArgs): void; - /** parameter returns the object that is selected - */ - selectedObject?: any; + /** Fires the action when the DropDownList is focused. */ + focusIn? (e: FocusInEventArgs): void; - /** parameter returns whether or not to cancel the drop event - */ - cancel?: boolean; + /** Fires the action when the DropDownList is about to lose focus. */ + focusOut? (e: FocusOutEventArgs): void; - /** parameter returns the actual click event arguments that explains which button is clicked - */ - event?: any; + /** Fires the action, once the popup is closed */ + popupHide? (e: PopupHideEventArgs): void; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Fires the action, when the popup is resized. */ + popupResize? (e: PopupResizeEventArgs): void; - export interface MouseEnterEventArgs { + /** Fires the action, once the popup is opened. */ + popupShown? (e: PopupShownEventArgs): void; - /** parameter returns the target node or connector - */ - element?: any; + /** Fires the action, when resizing a popup starts. */ + popupResizeStart? (e: PopupResizeStartEventArgs): void; - /** parameter returns the object from where the selected object is dragged - */ - source?: any; + /** Fires the action, when the popup resizing is stopped. */ + popupResizeStop? (e: PopupResizeStopEventArgs): void; - /** parameter returns the target object over which the selected object is dragged - */ - target?: any; + /** Fires the action before filtering the list items that starts in the DropDownList when the enableFilterSearch is enabled. */ + search? (e: SearchEventArgs): void; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Fires the action, when the list of item is selected. */ + select? (e: SelectEventArgs): void; +} - export interface MouseLeaveEventArgs { +export interface ActionBeginEventArgs { - /** parameter returns the target node or connector - */ - element?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the object from where the selected object is dragged - */ - source?: any; + /** returns the DropDownList model + */ + model?: any; - /** parameter returns the target object over which the selected object is dragged - */ - target?: any; + /** returns the name of the event + */ + type?: string; +} - /** parameter returns the id of the diagram - */ - diagramId?: string; - } +export interface ActionCompleteEventArgs { - export interface MouseOverEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the target node or connector - */ - element?: any; + /** Returns number of times trying to fetch the data + */ + count?: number; - /** parameter returns the object from where the element is dragged - */ - source?: any; + /** returns the DropDownList model + */ + model?: any; - /** parameter returns the object over which the element is being dragged. - */ - target?: any; + /** Returns the query for data retrieval + */ + query?: any; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Returns the query for data retrieval from the Database + */ + request?: any; - export interface NodeCollectionChangeEventArgs { + /** returns the name of the event + */ + type?: string; - /** parameter returns whether the node is to be added or removed - */ - changeType?: string; + /** Returns the number of items fetched from remote data + */ + result?: Array; - /** parameter returns the node which needs to be added or deleted - */ - element?: any; + /** Returns the requested data + */ + xhr?: any; +} - /** parameter defines whether to cancel the collection change or not - */ - cancel?: boolean; +export interface ActionFailureEventArgs { - /** triggers before and after adding the node in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the node - */ - state?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Returns the error message + */ + error?: any; - export interface PropertyChangeEventArgs { + /** returns the DropDownList model + */ + model?: any; - /** parameter returns the selected element - */ - element?: any; + /** Returns the query for data retrieval + */ + query?: any; - /** parameter returns the action is nudge or not - */ - cause?: string; + /** returns the name of the event + */ + type?: string; +} - /** parameter returns the new value of the node property that is being changed - */ - newValue?: any; +export interface ActionSuccessEventArgs { - /** parameter returns the old value of the property that is being changed - */ - oldValue?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the name of the property that is changed - */ - propertyName?: string; + /** Returns number of times trying to fetch the data + */ + count?: number; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** returns the DropDownList model + */ + model?: any; - export interface RotationChangeEventArgs { + /** Returns the query for data retrieval + */ + query?: any; - /** parameter returns the node that is rotated - */ - element?: any; + /** Returns the query for data retrieval from the Database + */ + request?: any; - /** parameter returns the previous rotation angle - */ - oldValue?: any; + /** returns the name of the event + */ + type?: string; - /** parameter returns the new rotation angle - */ - newValue?: any; + /** Returns the number of items fetched from remote data + */ + result?: Array; - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; + /** Returns the requested data + */ + xhr?: any; +} - /** parameter returns the id of the diagram - */ - diagramId?: string; - } +export interface BeforePopupHideEventArgs { - export interface ScrollChangeEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Parameter returns the new zoom value, horizontal and vertical scroll offsets. - */ - newValues?: any; + /** returns the DropDownList model + */ + model?: any; - /** parameter returns the previous zoom value, horizontal and vertical scroll offsets. - */ - oldValues?: any; + /** returns the name of the event + */ + type?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** returns the selected text + */ + text?: string; - export interface SegmentChangeEventArgs { + /** returns the selected value + */ + value?: string; +} - /** Parameter returns the connector that is being edited - */ - element?: any; +export interface BeforePopupShownEventArgs { - /** parameter returns the state of editing (starting, dragging, completed) - */ - dragState?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the current mouse position - */ - point?: any; + /** returns the DropDownList model + */ + model?: any; - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** returns the selected text + */ + text?: string; - export interface SelectionChangeEventArgs { + /** returns the selected value + */ + value?: string; +} - /** parameter returns whether the item is selected or removed selection - */ - changeType?: string; +export interface CascadeEventArgs { - /** parameter returns the item which is selected or to be selected - */ - element?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the collection of nodes and connectors that have to be removed from selection list - */ - oldItems?: any[]; + /** Returns the cascading dropdown model. + */ + cascadeModel?: any; - /** parameter returns the collection of nodes and connectors that have to be added to selection list - */ - newItems?: any[]; + /** returns the current selected value in first dropdown. + */ + cascadeValue?: string; - /** parameter returns the collection of nodes and connectors that will be selected after selection change - */ - selectedItems?: any[]; + /** returns the DropDownList model + */ + model?: any; - /** parameter to specify whether or not to cancel the selection change event - */ - cancel?: boolean; + /** returns the default filter action for second dropdown data should happen or not. + */ + requiresDefaultFilter?: boolean; - /** triggers before and after adding the selection to the object in the diagram which can be differentiated through `state` argument. - * We can cancel the event only before the selection of the object. - */ - state?: string; + /** returns the name of the event + */ + type?: string; +} - /** parameter returns the id of the diagram - */ - diagramId?: string; - } +export interface ChangeEventArgs { - export interface SizeChangeEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns node that was resized - */ - element?: any; + /** Returns the selected item with checkbox checked or not. + */ + isChecked?: boolean; - /** parameter to cancel the size change - */ - cancel?: boolean; + /** Returns the selected item ID. + */ + itemId?: string; - /** parameter returns the new width, height, offsetX and offsetY values of the element that is being resized - */ - newValue?: any; + /** returns the DropDownList model + */ + model?: any; - /** parameter returns the previous width,height,offsetX and offsetY values of the element that is being resized - */ - oldValue?: any; + /** Returns the selected item text. + */ + selectedText?: string; - /** parameter returns the state of resizing(starting,resizing,completed) - */ - resizeState?: string; + /** returns the name of the event + */ + type?: string; - /** parameter returns the difference between new and old value - */ - offset?: any; + /** Returns the selected text. + */ + text?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** Returns the selected value. + */ + value?: string; +} - export interface TextChangeEventArgs { +export interface CheckChangeEventArgs { - /** parameter returns the node that contains the text being edited - */ - element?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** parameter returns the new text - */ - value?: string; + /** Returns the selected item with checkbox checked or not. + */ + isChecked?: boolean; - /** parameter returns the keyCode of the key entered - */ - keyCode?: string; + /** Returns the selected item ID. + */ + itemId?: string; - /** parameter returns the id of the diagram - */ - diagramId?: string; - } + /** returns the DropDownList model + */ + model?: any; - export interface CreateEventArgs { - - /** Returns the diagram model. - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - } - - export interface BackgroundImage { - - /** Defines how to align the background image over the diagram area. - * @Default {ej.datavisualization.Diagram.ImageAlignment.XMidYMid} - */ - alignment?: ej.datavisualization.Diagram.ImageAlignment | string; - } - - export interface CommandManagerCommandsGesture { - - /** Sets the key value, on recognition of which the command will be executed. - * @Default {ej.datavisualization.Diagram.Keys.None} - */ - key?: ej.datavisualization.Diagram.Keys | string; - - /** Sets a combination of key modifiers, on recognition of which the command will be executed. - * @Default {ej.datavisualization.Diagram.KeyModifiers.None} - */ - keyModifiers?: ej.datavisualization.Diagram.KeyModifiers | string; - } - - export interface CommandManagerCommands { - - /** A method that defines whether the command is executable at the moment or not. - */ - canExecute?: any; - - /** A method that defines what to be executed when the key combination is recognized. - */ - execute?: any; - - /** Defines a combination of keys and key modifiers, on recognition of which the command will be executed - */ - gesture?: CommandManagerCommandsGesture; - - /** Defines any additional parameters that are required at runtime - * @Default {null} - */ - parameter?: any; - } - - export interface CommandManager { - - /** An object that maps a set of command names with the corresponding command objects - * @Default {{}} - */ - commands?: CommandManagerCommands; - } - - export interface ConnectorsLabelsMargin { - - /** To set the margin of the label in right direction - * @Default {0} - */ - right?: number; - - /** To set the margin of the label in left direction - * @Default {0} - */ - left?: number; - - /** To set the margin of the label in top direction - * @Default {0} - */ - top?: number; - - /** To set the margin of the label in bottom direction - * @Default {0} - */ - bottom?: number; - } - - export interface ConnectorsLabel { - - /** Defines how the label should be aligned with respect to the segment - * @Default {ej.datavisualization.Diagram.Alignment.Center} - */ - alignment?: ej.datavisualization.Diagram.Alignment | string; - - /** Enables/disables the bold style - * @Default {false} - */ - bold?: boolean; - - /** Sets the border color of the label - * @Default {transparent} - */ - borderColor?: string; - - /** Sets the border width of the label - * @Default {0} - */ - borderWidth?: number; - - /** Defines whether the label should be aligned within the connector boundaries - * @Default {true} - */ - boundaryConstraints?: boolean; - - /** Sets the fill color of the text area - * @Default {transparent} - */ - fillColor?: string; - - /** Sets the font color of the text - * @Default {black} - */ - fontColor?: string; - - /** Sets the font family of the text - * @Default {Arial} - */ - fontFamily?: string; - - /** Defines the font size of the text - * @Default {12} - */ - fontSize?: number; - - /** Sets the horizontal alignment of the label. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** Sets the hyperlink for the labels in the connectors. - * @Default {none} - */ - hyperlink?: string; - - /** Enables/disables the italic style - * @Default {false} - */ - italic?: boolean; - - /** Gets whether the label is currently being edited or not. - * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} - */ - mode?: ej.datavisualization.Diagram.LabelEditMode | string; - - /** Sets the unique identifier of the label - */ - name?: string; - - /** Sets the fraction/ratio(relative to connector) that defines the position of the label - * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} - */ - offset?: any; - - /** Sets the fraction/ratio(relative to connector) that defines the position of the label - * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} - */ - margin?: ConnectorsLabelsMargin; - - /** Defines the transparency of labels - * @Default {1} - */ - opacity?: number; - - /** Defines whether the label is editable or not - * @Default {false} - */ - readOnly?: boolean; - - /** Defines whether the label should be positioned whether relative to segments or connector boundaries - * @Default {ej.datavisualization.Diagram.LabelRelativeMode.SegmentPath} - */ - relativeMode?: ej.datavisualization.Diagram.LabelRelativeMode | string; - - /** Defines the angle to which the label needs to be rotated - * @Default {0} - */ - rotateAngle?: number; - - /** Sets the position of the label with respect to the total segment length - * @Default {0.5} - */ - segmentOffset?: string; - - /** Defines the label text - */ - text?: string; - - /** Defines how to align the text inside the label. - * @Default {ej.datavisualization.Diagram.TextAlign.Center} - */ - textAlign?: ej.datavisualization.Diagram.TextAlign | string; - - /** Sets how to decorate the label text. - * @Default {ej.datavisualization.Diagram.TextDecorations.None} - */ - textDecoration?: ej.datavisualization.Diagram.TextDecorations | string; - - /** Sets the vertical alignment of the label. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; - - /** Enables or disables the visibility of the label - * @Default {true} - */ - visible?: boolean; - - /** Sets the width of the label(the maximum value of label width and the connector width will be considered as label width) - * @Default {50} - */ - width?: number; - - /** Defines how the label text needs to be wrapped. - * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} - */ - wrapping?: ej.datavisualization.Diagram.TextWrapping | string; - } - - export interface ConnectorsSegment { - - /** Sets the direction of orthogonal segment - */ - direction?: string; - - /** Describes the length of orthogonal segment - * @Default {undefined} - */ - length?: number; - - /** Describes the end point of bezier/straight segment - * @Default {Diagram.Point()} - */ - point?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Defines the first control point of the bezier segment - * @Default {null} - */ - point1?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Defines the second control point of bezier segment - * @Default {null} - */ - point2?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Sets the type of the segment. - * @Default {ej.datavisualization.Diagram.Segments.Straight} - */ - type?: ej.datavisualization.Diagram.Segments | string; - - /** Describes the length and angle between the first control point and the start point of bezier segment - * @Default {null} - */ - vector1?: any; - - /** Describes the length and angle between the second control point and end point of bezier segment - * @Default {null} - */ - vector2?: any; - } - - export interface ConnectorsShapeMultiplicitySource { - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - * @Default {true} - */ - optional?: boolean; - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - * @Default {null} - */ - lowerBounds?: number; - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - * @Default {null} - */ - upperBounds?: number; - } - - export interface ConnectorsShapeMultiplicity { - - /** Sets the type of the multiplicity. Applicable, if the connector is of type "classifier" - * @Default {ej.datavisualization.Diagram.Multiplicity.OneToOne} - */ - type?: ej.datavisualization.Diagram.Multiplicity | string; - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - */ - source?: ConnectorsShapeMultiplicitySource; - - /** Defines the target label to connector. Applicable, if the connector is of type "UML" - * @Default {true} - */ - target?: ej.datavisualization.Diagram.ConnectorsShapeMultiplicitySource; - } - - export interface ConnectorsShape { - - /** Sets the type of the connector - * @Default {ej.datavisualization.Diagram.ConnectorShapes.BPMN} - */ - type?: ej.datavisualization.Diagram.ConnectorShapes | string; - - /** Sets the type of the flow in a BPMN Process - * @Default {ej.datavisualization.Diagram.BPMNFlows.Sequence} - */ - flow?: ej.datavisualization.Diagram.BPMNFlows | string; - - /** Sets the type of the Association in a BPMN Process - * @Default {ej.datavisualization.Diagram.AssociationFlows.Default} - */ - association?: ej.datavisualization.Diagram.AssociationFlows | string; - - /** Sets the type of the message flow. Applicable, if the connector is of type "BPMN" - * @Default {ej.datavisualization.Diagram.BPMNMessageFlows.Default} - */ - message?: ej.datavisualization.Diagram.BPMNMessageFlows | string; - - /** Sets the type of BPMN sequence flow - * @Default {ej.datavisualization.Diagram.BPMNSequenceFlows.Normal} - */ - sequence?: ej.datavisualization.Diagram.BPMNSequenceFlows | string; - - /** Defines the role of the connector in a UML Class Diagram. Applicable, if the type of the connector is "classifier". - * @Default {ej.datavisualization.Diagram.ClassifierShapes.Association} - */ - relationship?: ej.datavisualization.Diagram.ClassifierShapes | string; - - /** Defines the multiplicity option of the connector - * @Default {null} - */ - multiplicity?: ConnectorsShapeMultiplicity; - - /** Defines the shape of UMLActivity to connector. Applicable, if the connector is of type UMLActivity - * @Default {ej.datavisualization.Diagram.UMLActivityFlow.Control} - */ - ActivityFlow?: ej.datavisualization.Diagram.UMLActivityFlow | string; - } - - export interface ConnectorsSourceDecorator { - - /** Sets the border color of the source decorator - * @Default {black} - */ - borderColor?: string; - - /** Sets the border width of the decorator - * @Default {1} - */ - borderWidth?: number; - - /** Sets the fill color of the source decorator - * @Default {black} - */ - fillColor?: string; - - /** Sets the height of the source decorator - * @Default {8} - */ - height?: number; - - /** Defines the custom shape of the source decorator - */ - pathData?: string; - - /** Defines the shape of the source decorator. - * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} - */ - shape?: ej.datavisualization.Diagram.DecoratorShapes | string; - - /** Defines the width of the source decorator - * @Default {8} - */ - width?: number; - } - - export interface ConnectorsSourcePoint { - - /** Defines the x-coordinate of a position - * @Default {0} - */ - x?: number; - - /** Defines the y-coordinate of a position - * @Default {0} - */ - y?: number; - } - - export interface ConnectorsTargetDecorator { - - /** Sets the border color of the decorator - * @Default {black} - */ - borderColor?: string; - - /** Sets the color with which the decorator will be filled - * @Default {black} - */ - fillColor?: string; - - /** Defines the height of the target decorator - * @Default {8} - */ - height?: number; - - /** Defines the custom shape of the target decorator - */ - pathData?: string; - - /** Defines the shape of the target decorator. - * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} - */ - shape?: ej.datavisualization.Diagram.DecoratorShapes | string; - - /** Defines the width of the target decorator - * @Default {8} - */ - width?: number; - } - - export interface Connector { - - /** To maintain additional information about connectors - * @Default {null} - */ - addInfo?: any; - - /** Defines the width of the line bridges - * @Default {10} - */ - bridgeSpace?: number; - - /** Enables or disables the behaviors of connectors. - * @Default {ej.datavisualization.Diagram.ConnectorConstraints.Default} - */ - constraints?: ej.datavisualization.Diagram.ConnectorConstraints | string; - - /** Defines the radius of the rounded corner - * @Default {0} - */ - cornerRadius?: number; - - /** Configures the styles of shapes - */ - cssClass?: string; - - /** Sets the horizontal alignment of the connector. Applicable, if the parent of the connector is a container. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} - */ - horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** A collection of JSON objects where each object represents a label. - * @Default {[]} - */ - labels?: ConnectorsLabel[]; - - /** Sets the stroke color of the connector - * @Default {black} - */ - lineColor?: string; - - /** Sets the pattern of dashes and gaps used to stroke the path of the connector - */ - lineDashArray?: string; - - /** Defines the padding value to ease the interaction with connectors - * @Default {10} - */ - lineHitPadding?: number; - - /** Sets the width of the line - * @Default {1} - */ - lineWidth?: number; - - /** Defines the minimum space to be left between the bottom of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginBottom?: number; - - /** Defines the minimum space to be left between the left of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginLeft?: number; - - /** Defines the minimum space to be left between the right of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginRight?: number; - - /** Defines the minimum space to be left between the top of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginTop?: number; - - /** Sets a unique name for the connector - */ - name?: string; - - /** Defines the transparency of the connector - * @Default {1} - */ - opacity?: number; - - /** Defines the size and preview size of the node to add that to symbol palette. To explore palette item, refer Palette Item - * @Default {null} - */ - paletteItem?: any; - - /** Sets the parent name of the connector. - */ - parent?: string; - - /** An array of JSON objects where each object represents a segment - * @Default {[ { type:straight } ]} - */ - segments?: ConnectorsSegment[]; - - /** Defines the role/meaning of the connector - * @Default {null} - */ - shape?: ConnectorsShape; - - /** Defines the source decorator of the connector - * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} - */ - sourceDecorator?: ConnectorsSourceDecorator; - - /** Sets the source node of the connector - */ - sourceNode?: string; - - /** Defines the space to be left between the source node and the source point of a connector - * @Default {0} - */ - sourcePadding?: number; - - /** Describes the start point of the connector - * @Default {ej.datavisualization.Diagram.Point()} - */ - sourcePoint?: ConnectorsSourcePoint; - - /** Sets the source port of the connector - */ - sourcePort?: string; - - /** Defines the target decorator of the connector - * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} - */ - targetDecorator?: ConnectorsTargetDecorator; - - /** Sets the target node of the connector - */ - targetNode?: string; - - /** Defines the space to be left between the target node and the target point of the connector - * @Default {0} - */ - targetPadding?: number; - - /** Describes the end point of the connector - * @Default {ej.datavisualization.Diagram.Point()} - */ - targetPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Sets the targetPort of the connector - */ - targetPort?: string; - - /** Defines the tooltip that should be shown when the mouse hovers over connector. For tooltip properties, refer Tooltip - * @Default {null} - */ - tooltip?: any; - - /** To set the vertical alignment of connector (Applicable,if the parent is group). - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} - */ - verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment | string; - - /** Enables or disables the visibility of connector - * @Default {true} - */ - visible?: boolean; - - /** Sets the z-index of the connector - * @Default {0} - */ - zOrder?: number; - } - - export interface ContextMenuItem { - - /** Defines the text for the collection of context menu item - * @Default {null} - */ - text?: string; - - /** Defines the name for the collection of context menu items - * @Default {null} - */ - name?: string; - - /** Defines the image url for the collection of context menu items - * @Default {null} - */ - imageUrl?: string; - - /** Defines the CssClass for the collection of context menu items - * @Default {null} - */ - cssClass?: string; - - /** Defines the collection of sub items for the context menu items - * @Default {[]} - */ - subItems?: any[]; - } - - export interface ContextMenu { - - /** Defines the collection of context menu items - * @Default {[]} - */ - items?: ContextMenuItem[]; - - /** To set whether to display the default context menu items or not - * @Default {false} - */ - showCustomMenuItemsOnly?: boolean; - } - - export interface DataSourceSettings { - - /** Defines the data source either as a collection of objects or as an instance of ej.DataManager - * @Default {null} - */ - dataSource?: any; - - /** Sets the unique id of the data source items - */ - id?: string; - - /** Defines the parent id of the data source item - * @Default {''} - */ - parent?: string; - - /** Describes query to retrieve a set of data from the specified datasource - * @Default {null} - */ - query?: string; - - /** Sets the unique id of the root data source item - */ - root?: string; - - /** Describes the name of the table on which the specified query has to be executed - * @Default {null} - */ - tableName?: string; - } - - export interface DefaultSettings { - - /** Initializes the default connector properties - * @Default {null} - */ - connector?: any; - - /** Initializes the default properties of groups - * @Default {null} - */ - group?: any; - - /** Initializes the default properties for nodes - * @Default {null} - */ - node?: any; - } - - export interface HistoryManager { - - /** A method that takes a history entry as argument and returns whether the specific entry can be popped or not - */ - canPop?: any; - - /** A method that ends grouping the changes - */ - closeGroupAction?: any; - - /** A method that removes the history of a recent change made in diagram - */ - pop?: any; - - /** A method that allows to track the custom changes made in diagram - */ - push?: any; - - /** Defines what should be happened while trying to restore a custom change - * @Default {null} - */ - redo?: any; - - /** The redoStack property is used to get the number of redo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. - * @Default {[]} - */ - redoStack?: any[]; - - /** The stackLimit property used to restrict the undo and redo actions to a certain limit. - * @Default {null} - */ - stackLimit?: number; - - /** A method that starts to group the changes to revert/restore them in a single undo or redo - */ - startGroupAction?: any; - - /** Defines what should be happened while trying to revert a custom change - */ - undo?: any; - - /** The undoStack property is used to get the number of undo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. - * @Default {[]} - */ - undoStack?: any[]; - } - - export interface Layout { - - /** Specifies the custom bounds to arrange/align the layout - * @Default {ej.datavisualization.Diagram.Rectangle()} - */ - bounds?: any; - - /** Defines the fixed node with reference to which, the layout will be arranged and fixed node will not be repositioned - */ - fixedNode?: string; - - /** Customizes the orientation of trees/sub trees. For orientations, see Chart Orientations. For chart types, see Chart Types - * @Default {null} - */ - getLayoutInfo?: any; - - /** Sets the space to be horizontally left between nodes - * @Default {30} - */ - horizontalSpacing?: number; - - /** Defines the space to be left between layout bounds and layout. - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Defines how to horizontally align the layout within the layout bounds - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** Defines how to vertically align the layout within the layout bounds - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; - - /** Sets the orientation/direction to arrange the diagram elements. - * @Default {ej.datavisualization.Diagram.LayoutOrientations.TopToBottom} - */ - orientation?: ej.datavisualization.Diagram.LayoutOrientations | string; - - /** Sets the type of the layout based on which the elements will be arranged. - * @Default {ej.datavisualization.Diagram.LayoutTypes.None} - */ - type?: ej.datavisualization.Diagram.LayoutTypes | string; - - /** Sets the space to be vertically left between nodes - * @Default {30} - */ - verticalSpacing?: number; - } - - export interface NodesAnnotation { - - /** Sets the angle between the BPMN shape and the annotation - * @Default {0} - */ - angle?: number; - - /** Sets the direction of the text annotation - * @Default {ej.datavisualization.Diagram.BPMNAnnotationDirections.Left} - */ - direction?: ej.datavisualization.Diagram.BPMNAnnotationDirection | string; - - /** Sets the height of the text annotation - * @Default {20} - */ - height?: number; - - /** Sets the distance between the BPMN shape and the annotation - * @Default {0} - */ - length?: number; - - /** Defines the additional information about the flow object in a BPMN Process - */ - text?: string; - - /** Sets the width of the text annotation - * @Default {20} - */ - width?: number; - } - - export interface NodesClassAttribute { - - /** Sets the name of the attribute - */ - name?: string; - - /** Sets the data type of attribute - */ - type?: string; - - /** Defines the visibility of the attribute - * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} - */ - scope?: string; - } - - export interface NodesClassMethod { - - /** Sets the visibility of the method. - * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} - */ - scope?: string; - } - - export interface NodesClass { - - /** Sets the name of class. - */ - name?: string; - - /** Defines the collection of attributes - * @Default {[]} - */ - attributes?: NodesClassAttribute[]; - - /** Defines the collection of methods of a Class. - * @Default {[]} - */ - methods?: NodesClassMethod[]; - } - - export interface NodesCollapseIcon { - - /** Sets the border color for collapse icon of node - * @Default {black} - */ - borderColor?: string; - - /** Sets the border width for collapse icon of node - * @Default {1} - */ - borderWidth?: number; - - /** Sets the fill color for collapse icon of node - * @Default {white} - */ - fillColor?: string; - - /** Defines the height for collapse icon of node - * @Default {15} - */ - height?: number; - - /** Sets the horizontal alignment of the icon. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** To set the margin for the collapse icon of node - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Sets the fraction/ratio(relative to node) that defines the position of the icon - * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} - */ - offset?: any; - - /** Defines the shape of the collapsed state of the node. - * @Default {ej.datavisualization.Diagram.IconShapes.None} - */ - shape?: ej.datavisualization.Diagram.IconShapes | string; - - /** Sets the vertical alignment of the icon. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; - } - - export interface NodesContainer { - - /** Defines the orientation of the container. Applicable, if the group is a container. - * @Default {vertical} - */ - orientation?: string; - - /** Sets the type of the container. Applicable if the group is a container. - * @Default {ej.datavisualization.Diagram.ContainerType.Canvas} - */ - type?: ej.datavisualization.Diagram.ContainerType | string; - } - - export interface NodesData { - - /** Sets the type of the BPMN Data object - * @Default {ej.datavisualization.Diagram.BPMNDataObjects.None} - */ - type?: ej.datavisualization.Diagram.BPMNDataObjects | string; - - /** Defines whether the BPMN data object is a collection or not - * @Default {false} - */ - collection?: boolean; - } - - export interface NodesEnumerationMember { - - /** Sets the name of the enumeration member - */ - name?: string; - } - - export interface NodesEnumeration { - - /** Sets the name of the Enumeration - */ - name?: string; - - /** Defines the collection of enumeration members - * @Default {[]} - */ - members?: NodesEnumerationMember[]; - } - - export interface NodesExpandIcon { - - /** Sets the border color for expand icon of node - * @Default {black} - */ - borderColor?: string; - - /** Sets the border width for expand icon of node - * @Default {1} - */ - borderWidth?: number; - - /** Sets the fill color for expand icon of node - * @Default {white} - */ - fillColor?: string; - - /** Defines the height for expand icon of node - * @Default {15} - */ - height?: number; - - /** Sets the horizontal alignment of the icon. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** To set the margin for the expand icon of node - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Sets the fraction/ratio(relative to node) that defines the position of the icon - * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} - */ - offset?: any; - - /** Defines the shape of the expanded state of the node. - * @Default {ej.datavisualization.Diagram.IconShapes.None} - */ - shape?: ej.datavisualization.Diagram.IconShapes | string; - - /** Sets the vertical alignment of the icon. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; - } - - export interface NodesGradientLinearGradient { - - /** Defines the different colors and the region of color transitions - * @Default {[]} - */ - stops?: any[]; - - /** Defines the left most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - x1?: number; - - /** Defines the right most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - x2?: number; - - /** Defines the top most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - y1?: number; - - /** Defines the bottom most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - y2?: number; - } - - export interface NodesGradientRadialGradient { - - /** Defines the position of the outermost circle - * @Default {0} - */ - cx?: number; - - /** Defines the outer most circle of the radial gradient - * @Default {0} - */ - cy?: number; - - /** Defines the innermost circle of the radial gradient - * @Default {0} - */ - fx?: number; - - /** Defines the innermost circle of the radial gradient - * @Default {0} - */ - fy?: number; - - /** Defines the different colors and the region of color transitions. - * @Default {[]} - */ - stops?: any[]; - } - - export interface NodesGradientStop { - - /** Sets the color to be filled over the specified region - */ - color?: string; - - /** Sets the position where the previous color transition ends and a new color transition starts - * @Default {0} - */ - offset?: number; - - /** Describes the transparency level of the region - * @Default {1} - */ - opacity?: number; - } - - export interface NodesGradient { - - /** Paints the node with linear color transitions - */ - LinearGradient?: NodesGradientLinearGradient; - - /** Paints the node with radial color transitions. A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient. - */ - RadialGradient?: NodesGradientRadialGradient; - - /** Defines the color and a position where the previous color transition ends and a new color transition starts - */ - Stop?: NodesGradientStop; - } - - export interface NodesInterfaceAttribute { - - /** Sets the name of the attribute - */ - name?: string; - - /** Sets the type of the attribute - */ - type?: string; - - /** Sets the visibility of the attribute - */ - scope?: string; - } - - export interface NodesInterfaceMethod { - - /** Sets the visibility of the method - */ - scope?: string; - } - - export interface NodesInterface { - - /** Sets the name of the interface - */ - name?: string; - - /** Defines a collection of attributes of the interface - * @Default {[]} - */ - attributes?: NodesInterfaceAttribute[]; - - /** Defines the collection of public methods of an interface - * @Default {[]} - */ - methods?: NodesInterfaceMethod[]; - } - - export interface NodesLabel { - - /** Enables/disables the bold style - * @Default {false} - */ - bold?: boolean; - - /** Sets the border color of the label - * @Default {transparent} - */ - borderColor?: string; - - /** Sets the border width of the label - * @Default {0} - */ - borderWidth?: number; - - /** Sets the fill color of the text area - * @Default {transparent} - */ - fillColor?: string; - - /** Sets the font color of the text - * @Default {black} - */ - fontColor?: string; - - /** Sets the font family of the text - * @Default {Arial} - */ - fontFamily?: string; - - /** Defines the font size of the text - * @Default {12} - */ - fontSize?: number; - - /** Sets the horizontal alignment of the label. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** Enables/disables the italic style - * @Default {false} - */ - italic?: boolean; - - /** To set the margin of the label - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Gets whether the label is currently being edited or not. - * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} - */ - mode?: ej.datavisualization.Diagram.LabelEditMode | string; - - /** Sets the unique identifier of the label - */ - name?: string; - - /** Sets the fraction/ratio(relative to node) that defines the position of the label - * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} - */ - offset?: any; - - /** Defines the transparency of the labels - * @Default {1} - */ - opacity?: number; - - /** Sets the overflowType of the labels - * @Default {ej.datavisualization.Diagram.OverflowType.Ellipsis} - */ - overflowType?: ej.datavisualization.Diagram.OverflowType | string; - - /** Defines whether the label is editable or not - * @Default {false} - */ - readOnly?: boolean; - - /** Defines the angle to which the label needs to be rotated - * @Default {0} - */ - rotateAngle?: number; - - /** Defines the label text - */ - text?: string; - - /** Defines how to align the text inside the label. - * @Default {ej.datavisualization.Diagram.TextAlign.Center} - */ - textAlign?: ej.datavisualization.Diagram.TextAlign | string; - - /** Sets how to decorate the label text. - * @Default {ej.datavisualization.Diagram.TextDecorations.None} - */ - textDecoration?: ej.datavisualization.Diagram.TextDecorations | string; - - /** Defines the overflowed content is displayed or not. - * @Default {false} - */ - textOverflow?: boolean; - - /** Sets the vertical alignment of the label. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; - - /** Enables or disables the visibility of the label - * @Default {true} - */ - visible?: boolean; - - /** Sets the width of the label(the maximum value of label width and the node width will be considered as label width) - * @Default {50} - */ - width?: number; - - /** Defines how the label text needs to be wrapped. - * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} - */ - wrapping?: ej.datavisualization.Diagram.TextWrapping | string; - } - - export interface NodesLane { - - /** Defines the width of lane - * @Default {0} - */ - width?: number; - - /** Defines the height of lane - * @Default {0} - */ - height?: number; - - /** Defines the z-index of the lane - * @Default {0} - */ - zorder?: number; - - /** Allows to maintain additional information about lane - * @Default {{}} - */ - addInfo?: any; - - /** An array of objects where each object represents a child node of the lane - * @Default {[]} - */ - children?: any[]; - - /** Defines the fill color of the lane - * @Default {white} - */ - fillColor?: string; - - /** Defines the header of the lane - * @Default {{ text: Function, fontSize: 11 }} - */ - header?: any; - - /** Defines the object as a lane - * @Default {false} - */ - isLane?: boolean; - - /** Sets the unique identifier of the lane - */ - name?: string; - - /** Sets the orientation of the lane. - * @Default {vertical} - */ - orientation?: string; - } - - export interface NodesPaletteItem { - - /** Defines whether the symbol should be drawn at its actual size regardless of precedence factors or not - * @Default {true} - */ - enableScale?: boolean; - - /** Defines the height of the symbol - * @Default {0} - */ - height?: number; - - /** Defines the margin of the symbol item - * @Default {{ left: 4, right: 4, top: 4, bottom: 4 }} - */ - margin?: any; - - /** Defines the preview height of the symbol - * @Default {undefined} - */ - previewHeight?: number; - - /** Defines the preview width of the symbol - * @Default {undefined} - */ - previewWidth?: number; - - /** Defines the width of the symbol - * @Default {0} - */ - width?: number; - } - - export interface NodesPhase { - - /** Defines the header of the smaller regions - * @Default {null} - */ - label?: any; - - /** Defines the line color of the splitter that splits adjacent phases. - * @Default {#606060} - */ - lineColor?: string; - - /** Sets the dash array that used to stroke the phase splitter - * @Default {3,3} - */ - lineDashArray?: string; - - /** Sets the lineWidth of the phase - * @Default {1} - */ - lineWidth?: number; - - /** Sets the unique identifier of the phase - */ - name?: string; - - /** Sets the length of the smaller region(phase) of a swimlane - * @Default {100} - */ - offset?: number; - - /** Sets the orientation of the phase - * @Default {horizontal} - */ - orientation?: string; - - /** Sets the type of the object as phase - * @Default {phase} - */ - type?: string; - } - - export interface NodesPort { - - /** Sets the border color of the port - * @Default {#1a1a1a} - */ - borderColor?: string; - - /** Sets the stroke width of the port - * @Default {1} - */ - borderWidth?: number; - - /** Defines the space to be left between the port bounds and its incoming and outgoing connections. - * @Default {0} - */ - connectorPadding?: number; - - /** Defines whether connections can be created with the port - * @Default {ej.datavisualization.Diagram.PortConstraints.Connect} - */ - constraints?: ej.datavisualization.Diagram.PortConstraints | string; - - /** Sets the fill color of the port - * @Default {white} - */ - fillColor?: string; - - /** Sets the unique identifier of the port - */ - name?: string; - - /** Defines the position of the port as fraction/ ratio relative to node - * @Default {ej.datavisualization.Diagram.Point(0, 0)} - */ - offset?: any; - - /** Defines the path data to draw the port. Applicable, if the port shape is path. - */ - pathData?: string; - - /** Defines the shape of the port. - * @Default {ej.datavisualization.Diagram.PortShapes.Square} - */ - shape?: ej.datavisualization.Diagram.PortShapes | string; - - /** Defines the size of the port - * @Default {8} - */ - size?: number; - - /** Defines when the port should be visible. - * @Default {ej.datavisualization.Diagram.PortVisibility.Default} - */ - visibility?: ej.datavisualization.Diagram.PortVisibility | string; - } - - export interface NodesShadow { - - /** Defines the angle of the shadow relative to node - * @Default {45} - */ - angle?: number; - - /** Sets the distance to move the shadow relative to node - * @Default {5} - */ - distance?: number; - - /** Defines the opaque of the shadow - * @Default {0.7} - */ - opacity?: number; - } - - export interface NodesSubProcess { - - /** Defines whether the BPMN sub process is without any prescribed order or not - * @Default {false} - */ - adhoc?: boolean; - - /** Sets the boundary of the BPMN process - * @Default {ej.datavisualization.Diagram.BPMNBoundary.Default} - */ - boundary?: ej.datavisualization.Diagram.BPMNBoundary | string; - - /** Sets whether the BPMN subprocess is triggered as a compensation of a specific activity - * @Default {false} - */ - compensation?: boolean; - - /** Sets whether the BPMN subprocess is triggered as a collapsed of a specific activity - * @Default {true} - */ - collapsed?: boolean; - - /** Sets the type of the event by which the sub-process will be triggered - * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} - */ - event?: ej.datavisualization.Diagram.BPMNEvents | string; - - /** Defines the collection of events that need to be appended with BPMN Sub-Process - */ - events?: any[]; - - /** Defines the loop type of a sub process. - * @Default {ej.datavisualization.Diagram.BPMNLoops.None} - */ - loop?: ej.datavisualization.Diagram.BPMNLoops | string; - - /** Defines the children for BPMN's SubProcess - * @Default {[]} - */ - Processes?: any[]; - - /** Defines the type of the event trigger - * @Default {ej.datavisualization.Diagram.BPMNTriggers.Message} - */ - trigger?: ej.datavisualization.Diagram.BPMNTriggers | string; - - /** Defines the type of a sub process - * @Default {ej.datavisualization.Diagram.BPMNSubProcessTypes.None} - */ - type?: ej.datavisualization.Diagram.BPMNSubProcessTypes | string; - } - - export interface NodesTask { - - /** To set whether the task is a global task or not - * @Default {false} - */ - call?: boolean; - - /** Sets whether the task is triggered as a compensation of another specific activity - * @Default {false} - */ - compensation?: boolean; - - /** Sets the loop type of a BPMN task. - * @Default {ej.datavisualization.Diagram.BPMNLoops.None} - */ - loop?: ej.datavisualization.Diagram.BPMNLoops | string; - - /** Sets the type of the BPMN task. - * @Default {ej.datavisualization.Diagram.BPMNTasks.None} - */ - type?: ej.datavisualization.Diagram.BPMNTasks | string; - } - - export interface Node { - - /** Defines the type of BPMN Activity. Applicable, if the node is a BPMN activity. - * @Default {ej.datavisualization.Diagram.BPMNActivity.Task} - */ - activity?: ej.datavisualization.Diagram.BPMNActivity | string; - - /** To maintain additional information about nodes - * @Default {{}} - */ - addInfo?: any; - - /** Defines the additional information of a process. It is not directly related to the message flows or sequence flows of the process. - * @Default {ej.datavisualization.Diagram.BPMNTextAnnotation()} - */ - annotation?: NodesAnnotation; - - /** Sets the border color of node - * @Default {black} - */ - borderColor?: string; - - /** Sets the pattern of dashes and gaps to stroke the border - */ - borderDashArray?: string; - - /** Sets the border width of the node - * @Default {1} - */ - borderWidth?: number; - - /** Defines whether the group can be ungrouped or not - * @Default {true} - */ - canUngroup?: boolean; - - /** Array of JSON objects where each object represents a child node/connector - * @Default {[]} - */ - children?: any[]; - - /** Sets the type of UML classifier. Applicable, if the node is a UML Class Diagram shape. - * @Default {ej.datavisualization.Diagram.ClassifierShapes.Class} - */ - classifier?: ej.datavisualization.Diagram.ClassifierShapes | string; - - /** Defines the name, attributes and methods of a Class. Applicable, if the node is a Class. - * @Default {null} - */ - class?: NodesClass; - - /** Defines the state of the node is collapsed. - */ - collapseIcon?: NodesCollapseIcon; - - /** Defines the distance to be left between a node and its connections(In coming and out going connections). - * @Default {0} - */ - connectorPadding?: number; - - /** Enables or disables the default behaviors of the node. - * @Default {ej.datavisualization.Diagram.NodeConstraints.Default} - */ - constraints?: ej.datavisualization.Diagram.NodeConstraints | string; - - /** Defines how the child objects need to be arranged(Either in any predefined manner or automatically). Applicable, if the node is a group. - * @Default {null} - */ - container?: NodesContainer; - - /** Defines the corner radius of rectangular shapes. - * @Default {0} - */ - cornerRadius?: number; - - /** Configures the styles of shapes - */ - cssClass?: string; - - /** Defines the BPMN data object - */ - data?: NodesData; - - /** Defines an Enumeration in a UML Class Diagram - * @Default {null} - */ - enumeration?: NodesEnumeration; - - /** Sets the type of the BPMN Events. Applicable, if the node is a BPMN event. - * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} - */ - event?: ej.datavisualization.Diagram.BPMNEvents | string; - - /** Defines whether the node can be automatically arranged using layout or not - * @Default {false} - */ - excludeFromLayout?: boolean; - - /** Defines the state of the node is expanded or collapsed. - */ - expandIcon?: NodesExpandIcon; - - /** Defines the fill color of the node - * @Default {white} - */ - fillColor?: string; - - /** Sets the type of the BPMN Gateway. Applicable, if the node is a BPMN gateway. - * @Default {ej.datavisualization.Diagram.BPMNGateways.None} - */ - gateway?: ej.datavisualization.Diagram.BPMNGateways | string; - - /** Paints the node with a smooth transition from one color to another color - */ - gradient?: NodesGradient; - - /** Sets the type of the BPMN Shapes as group. Applicable, if the node is a BPMN. - * @Default {ej.datavisualization.Diagram.BPMNShapes} - */ - group?: any; - - /** Defines the header of a swimlane/lane - * @Default {{ text: Title, fontSize: 11 }} - */ - header?: any; - - /** Defines the height of the node - * @Default {0} - */ - height?: number; - - /** Sets the horizontal alignment of the node. Applicable, if the parent of the node is a container. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} - */ - horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** A read only collection of the incoming connectors/edges of the node - * @Default {[]} - */ - inEdges?: any[]; - - /** Defines an interface in a UML Class Diagram - * @Default {null} - */ - interface?: NodesInterface; - - /** Defines whether the sub tree of the node is expanded or collapsed - * @Default {true} - */ - isExpanded?: boolean; - - /** Sets the node as a swimlane - * @Default {false} - */ - isSwimlane?: boolean; - - /** A collection of objects where each object represents a label - * @Default {[]} - */ - labels?: NodesLabel[]; - - /** An array of objects where each object represents a lane. Applicable, if the node is a swimlane. - * @Default {[]} - */ - lanes?: NodesLane[]; - - /** Defines the minimum space to be left between the bottom of parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginBottom?: number; - - /** Defines the minimum space to be left between the left of parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginLeft?: number; - - /** Defines the minimum space to be left between the right of the parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginRight?: number; - - /** Defines the minimum space to be left between the top of parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginTop?: number; - - /** Defines the maximum height limit of the node - * @Default {0} - */ - maxHeight?: number; - - /** Defines the maximum width limit of the node - * @Default {0} - */ - maxWidth?: number; - - /** Defines the minimum height limit of the node - * @Default {0} - */ - minHeight?: number; - - /** Defines the minimum width limit of the node - * @Default {0} - */ - minWidth?: number; - - /** Sets the unique identifier of the node - */ - name?: string; - - /** Defines the position of the node on X-Axis - * @Default {0} - */ - offsetX?: number; - - /** Defines the position of the node on Y-Axis - * @Default {0} - */ - offsetY?: number; - - /** Defines the opaque of the node - * @Default {1} - */ - opacity?: number; - - /** Defines the orientation of nodes. Applicable, if the node is a swimlane. - * @Default {vertical} - */ - orientation?: string; - - /** A read only collection of outgoing connectors/edges of the node - * @Default {[]} - */ - outEdges?: any[]; - - /** Defines the minimum padding value to be left between the bottom most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingBottom?: number; - - /** Defines the minimum padding value to be left between the left most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingLeft?: number; - - /** Defines the minimum padding value to be left between the right most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingRight?: number; - - /** Defines the minimum padding value to be left between the top most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingTop?: number; - - /** Defines the size and preview size of the node to add that to symbol palette - * @Default {null} - */ - paletteItem?: NodesPaletteItem; - - /** Sets the name of the parent group - */ - parent?: string; - - /** Sets the path geometry that defines the shape of a path node - */ - pathData?: string; - - /** An array of objects, where each object represents a smaller region(phase) of a swimlane. - * @Default {[]} - */ - phases?: NodesPhase[]; - - /** Sets the height of the phase headers - * @Default {0} - */ - phaseSize?: number; - - /** Sets the ratio/ fractional value relative to node, based on which the node will be transformed(positioning, scaling and rotation) - * @Default {ej.datavisualization.Diagram.Points(0.5,0.5)} - */ - pivot?: any; - - /** Defines a collection of points to draw a polygon. Applicable, if the shape is a polygon. - * @Default {[]} - */ - points?: any[]; - - /** An array of objects where each object represents a port - * @Default {[]} - */ - ports?: NodesPort[]; - - /** Sets the angle to which the node should be rotated - * @Default {0} - */ - rotateAngle?: number; - - /** Defines the opacity and the position of shadow - * @Default {ej.datavisualization.Diagram.Shadow()} - */ - shadow?: NodesShadow; - - /** Sets the shape of the node. It depends upon the type of node. - * @Default {ej.datavisualization.Diagram.BasicShapes.Rectangle} - */ - shape?: ej.datavisualization.Diagram.BasicShapes | ej.datavisualization.Diagram.FlowShapes | ej.datavisualization.Diagram.BPMNShapes | ej.datavisualization.Diagram.UMLActivityShapes | string; - - /** Sets the source path of the image. Applicable, if the type of the node is image. - */ - source?: string; - - /** Defines the sub process of a BPMN Activity. Applicable, if the type of the BPMN activity is sub process. - * @Default {ej.datavisualization.Diagram.BPMNSubProcess()} - */ - subProcess?: NodesSubProcess; - - /** Defines the task of the BPMN activity. Applicable, if the type of activity is set as task. - * @Default {ej.datavisualization.Diagram.BPMNTask()} - */ - task?: NodesTask; - - /** Sets the id of svg/html templates. Applicable, if the node is HTML or native. - */ - templateId?: string; - - /** Defines the textBlock of a text node - * @Default {null} - */ - textBlock?: any; - - /** Defines the tooltip that should be shown when the mouse hovers over node. For tooltip properties, refer Tooltip - * @Default {null} - */ - tooltip?: any; - - /** Sets the type of BPMN Event Triggers. - * @Default {ej.datavisualization.Diagram.BPMNTriggers.None} - */ - trigger?: ej.datavisualization.Diagram.BPMNTriggers | string; - - /** Defines the type of the node. - * @Default {ej.datavisualization.Diagram.Shapes.Basic} - */ - type?: ej.datavisualization.Diagram.Shapes | string; - - /** Sets the vertical alignment of a node. Applicable, if the parent of a node is a container. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} - */ - verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment | string; - - /** Defines the visibility of the node - * @Default {true} - */ - visible?: boolean; - - /** Defines the width of the node - * @Default {0} - */ - width?: number; - - /** Defines the z-index of the node - * @Default {0} - */ - zOrder?: number; - } - - export interface PageSettings { - - /** Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling - * @Default {{ left: 15, top: 15, right: 15, bottom: 15 }} - */ - autoScrollBorder?: any; - - /** Sets whether multiple pages can be created to fit all nodes and connectors - * @Default {false} - */ - multiplePage?: boolean; - - /** Defines the background color of diagram pages - * @Default {#ffffff} - */ - pageBackgroundColor?: string; - - /** Defines the page border color - * @Default {#565656} - */ - pageBorderColor?: string; - - /** Sets the border width of diagram pages - * @Default {0} - */ - pageBorderWidth?: number; - - /** Defines the height of a page - * @Default {null} - */ - pageHeight?: number; - - /** Defines the page margin - * @Default {24} - */ - pageMargin?: number; - - /** Sets the orientation of the page. - * @Default {ej.datavisualization.Diagram.PageOrientations.Portrait} - */ - pageOrientation?: ej.datavisualization.Diagram.PageOrientations | string; - - /** Defines the height of a diagram page - * @Default {null} - */ - pageWidth?: number; - - /** Defines the scrollable area of diagram. Applicable, if the scroll limit is "limited". - * @Default {null} - */ - scrollableArea?: any; - - /** Defines the scrollable region of diagram. - * @Default {ej.datavisualization.Diagram.ScrollLimit.Infinite} - */ - scrollLimit?: ej.datavisualization.Diagram.ScrollLimit | string; - - /** Defines the draggable region of diagram elements. - * @Default {ej.datavisualization.Diagram.BoundaryConstraints.Infinite} - */ - boundaryConstraints?: ej.datavisualization.Diagram.BoundaryConstraints | string; - - /** Enables or disables the page breaks - * @Default {false} - */ - showPageBreak?: boolean; - } - - export interface ScrollSettings { - - /** Allows to read the zoom value of diagram - * @Default {0} - */ - currentZoom?: number; - - /** Sets the horizontal scroll offset - * @Default {0} - */ - horizontalOffset?: number; - - /** Allows to extend the scrollable region that is based on the scroll limit - * @Default {{left: 0, right: 0, top:0, bottom: 0}} - */ - padding?: any; - - /** Sets the vertical scroll offset - * @Default {0} - */ - verticalOffset?: number; - - /** Allows to read the view port height of the diagram - * @Default {0} - */ - viewPortHeight?: number; - - /** Allows to read the view port width of the diagram - * @Default {0} - */ - viewPortWidth?: number; - } - - export interface SelectedItemsUserHandle { - - /** Defines the background color of the user handle - * @Default {#2382c3} - */ - backgroundColor?: string; - - /** Sets the border color of the user handle - * @Default {transparent} - */ - borderColor?: string; - - /** Defines whether the user handle should be added, when more than one element is selected - * @Default {false} - */ - enableMultiSelection?: boolean; - - /** Sets the stroke color of the user handle - * @Default {transparent} - */ - pathColor?: string; - - /** Defines the custom shape of the user handle - */ - pathData?: string; - - /** Defines the position of the user handle - * @Default {ej.datavisualization.Diagram.UserHandlePositions.BottomCenter} - */ - position?: ej.datavisualization.Diagram.UserHandlePositions | string; - - /** Defines the size of the user handle - * @Default {8} - */ - size?: number; - - /** Defines the interactive behaviors of the user handle - */ - tool?: any; - - /** Defines the visibility of the user handle - * @Default {true} - */ - visible?: boolean; - } - - export interface SelectedItems { - - /** A read only collection of the selected items - * @Default {[]} - */ - children?: any[]; - - /** Controls the visibility of selector. - * @Default {ej.datavisualization.Diagram.SelectorConstraints.All} - */ - constraints?: ej.datavisualization.Diagram.SelectorConstraints | string; - - /** Defines a method that dynamically enables/ disables the interaction with multiple selection. - * @Default {null} - */ - getConstraints?: any; - - /** Sets the height of the selected items - * @Default {0} - */ - height?: number; - - /** Sets the x position of the selector - * @Default {0} - */ - offsetX?: number; - - /** Sets the y position of the selector - * @Default {0} - */ - offsetY?: number; - - /** Sets the angle to rotate the selected items - * @Default {0} - */ - rotateAngle?: number; - - /** Sets the angle to rotate the selected items. For tooltip properties, refer Tooltip - * @Default {ej.datavisualization.Diagram.Tooltip()} - */ - tooltip?: any; - - /** A collection of frequently used commands that will be added around the selector - * @Default {[]} - */ - userHandles?: SelectedItemsUserHandle[]; - - /** Sets the width of the selected items - * @Default {0} - */ - width?: number; - } - - export interface SnapSettingsHorizontalGridLines { - - /** Defines the line color of horizontal grid lines - * @Default {lightgray} - */ - lineColor?: string; - - /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines - */ - lineDashArray?: string; - - /** A pattern of lines and gaps that defines a set of horizontal gridlines - * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} - */ - linesInterval?: any[]; - - /** Specifies a set of intervals to snap the objects - * @Default {[20]} - */ - snapInterval?: any[]; - } - - export interface SnapSettingsVerticalGridLines { - - /** Defines the line color of horizontal grid lines - * @Default {lightgray} - */ - lineColor?: string; - - /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines - */ - lineDashArray?: string; - - /** A pattern of lines and gaps that defines a set of horizontal gridlines - * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} - */ - linesInterval?: any[]; - - /** Specifies a set of intervals to snap the objects - * @Default {[20]} - */ - snapInterval?: any[]; - } - - export interface SnapSettings { - - /** Enables or disables snapping nodes/connectors to objects - * @Default {true} - */ - enableSnapToObject?: boolean; - - /** Defines the appearance of horizontal gridlines - */ - horizontalGridLines?: SnapSettingsHorizontalGridLines; - - /** Defines the angle by which the object needs to be snapped - * @Default {5} - */ - snapAngle?: number; - - /** Defines and sets the snapConstraints - */ - snapConstraints?: ej.datavisualization.Diagram.SnapConstraints | string; - - /** Defines the minimum distance between the selected object and the nearest object - * @Default {5} - */ - snapObjectDistance?: number; - - /** Defines the appearance of horizontal gridlines - */ - verticalGridLines?: SnapSettingsVerticalGridLines; - } - - export interface TooltipAlignment { - - /** Defines the horizontal alignment of tooltip. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontal?: ej.datavisualization.Diagram.HorizontalAlignment | string; - - /** Defines the vertical alignment of tooltip. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Bottom} - */ - vertical?: ej.datavisualization.Diagram.VerticalAlignment | string; - } - - export interface Tooltip { - - /** Aligns the tooltip around nodes/connectors - */ - alignment?: TooltipAlignment; - - /** Sets the margin of the tooltip - * @Default {{ left: 5, right: 5, top: 5, bottom: 5 }} - */ - margin?: any; - - /** Defines whether the tooltip should be shown at the mouse position or around node. - * @Default {ej.datavisualization.Diagram.RelativeMode.Object} - */ - relativeMode?: ej.datavisualization.Diagram.RelativeMode | string; - - /** Sets the svg/html template to be bound with tooltip - */ - templateId?: string; - } - } - namespace Diagram { - enum ImageAlignment { - //Scales the graphic content non-uniformly to the width and height of the diagram area - None, - //Used to align the image at the top left of diagram area - XMinYMin, - //Used to align the image at the left center of diagram area - XMinYMid, - //Used to align the image at the bottom left of diagram area - XMinYMax, - //Used to align the image at the top center of diagram area - XMidYMin, - //Used to align the image at the center of diagram area - XMidYMid, - //Used to align the image at the bottom center of diagram area - XMidYMax, - //Used to align the image at the top right of diagram area/node - XMaxYMin, - //Used to align the image at the right center of diagram area/node - XMaxYMid, - //Used to align the image at the bottom right of diagram area/node - XMaxYMax, - } - } - namespace Diagram { - enum BridgeDirection { - //Used to set the direction of line bridges as left - Left, - //Used to set the direction of line bridges as right - Right, - //Used to set the direction of line bridges as top - Top, - //Used to set the direction of line bridges as bottom - Bottom, - } - } - namespace Diagram { - enum Keys { - //No key pressed. - None, - //The A key. - A, - //The B key. - B, - //The C key. - C, - //The D Key. - D, - //The E key. - E, - //The F key. - F, - //The G key. - G, - //The H Key. - H, - //The I key. - I, - //The J key. - J, - //The K key. - K, - //The L Key. - L, - //The M key. - M, - //The N key. - N, - //The O key. - O, - //The P Key. - P, - //The Q key. - Q, - //The R key. - R, - //The S key. - S, - //The T Key. - T, - //The U key. - U, - //The V key. - V, - //The W key. - W, - //The X key. - X, - //The Y key. - Y, - //The Z key. - Z, - //The 0 key. - Number0, - //The 1 key. - Number1, - //The 2 key. - Number2, - //The 3 key. - Number3, - //The 4 key. - Number4, - //The 5 key. - Number5, - //The 6 key. - Number6, - //The 7 key. - Number7, - //The 8 key. - Number8, - //The 9 key. - Number9, - //The LEFT ARROW key. - Left, - //The UP ARROW key. - Up, - //The RIGHT ARROW key. - Right, - //The DOWN ARROW key. - Down, - //The ESC key. - Escape, - //The DEL key. - Delete, - //The TAB key. - Tab, - //The ENTER key. - Enter, - } - } - namespace Diagram { - enum KeyModifiers { - //No modifiers are pressed. - None, - //The ALT key. - Alt, - //The CTRL key. - Control, - //The SHIFT key. - Shift, - } - } - namespace Diagram { - enum ConnectorConstraints { - //Disable all connector Constraints - None, - //Enables connector to be selected - Select, - //Enables connector to be Deleted - Delete, - //Enables connector to be Dragged - Drag, - //Enables connectors source end to be selected - DragSourceEnd, - //Enables connectors target end to be selected - DragTargetEnd, - //Enables control point and end point of every segment in a connector for editing - DragSegmentThumb, - //Enables bridging to the connector - Bridging, - //Enables label of node to be Dragged - DragLabel, - //Enables bridging to the connector - InheritBridging, - //Enables user interaction to the connector - PointerEvents, - //Enables the contrast between clean edges of connector over rendering speed and geometric precision - CrispEdges, - //Enables all constraints - Default, - } - } - namespace Diagram { - enum HorizontalAlignment { - //Used to align text horizontally on left side of node/connector - Left, - //Used to align text horizontally on center of node/connector - Center, - //Used to align text horizontally on right side of node/connector - Right, - } - } - namespace Diagram { - enum Alignment { - //Used to align the label either top or left(before) of the connector segment - Before, - //Used to align the label at center of the connector segment - Center, - //Used to align the label either bottom or right(after) of the connector segment - After, - } - } - namespace Diagram { - enum LabelRelativeMode { - //Sets the relativeMode as SegmentPath - SegmentPath, - //Sets the relativeMode as SegmentBounds - SegmentBounds, - } - } - namespace Diagram { - enum Segments { - //Used to specify the lines as Straight - Straight, - //Used to specify the lines as Orthogonal - Orthogonal, - //Used to specify the lines as Bezier - Bezier, - } - } - namespace Diagram { - enum ConnectorShapes { - //Used to specify connector type as BPMN - BPMN, - //Used to specify connector type as UMLClassifier - UMLClassifier, - //Used to specify connector type as UMLActivity - UMLActivity, - } - } - namespace Diagram { - enum BPMNFlows { - //Used to specify the Sequence flow in a BPMN Process - Sequence, - //Used to specify the Association flow in a BPMN Process - Association, - //Used to specify the Message flow in a BPMN Process - Message, - } - } - namespace Diagram { - enum AssociationFlows { - //Used to notate default association in a BPMN Process - Default, - //Used to notate directional association in a BPMN Process - Directional, - //User to notate bi-directional association in a BPMN Process - BiDirectional, - } - } - namespace Diagram { - enum BPMNMessageFlows { - //Used to notate the default message flow in a BPMN Process - Default, - //Used to notate the instantiating message flow in a BPMN Process - InitiatingMessage, - //Used to notate the non-instantiating message flow in a BPMN Process - NonInitiatingMessage, - } - } - namespace Diagram { - enum BPMNSequenceFlows { - //Used to notate the normal sequence flow in a BPMN Process - Normal, - //Used to notate the conditional sequence flow in a BPMN Process - Conditional, - //Used to notate the default sequence flow in a BPMN Process - Default, - } - } - namespace Diagram { - enum ClassifierShapes { - //Used to define a Class - Class, - //Used to define an Interface - Interface, - //Used to define an Enumeration - Enumeration, - //Used to notate association in UML Class Diagram - Association, - //Used to notate aggregation in a UML Class Diagram - Aggregation, - //Used to notate composition in a UML Class Diagram - Composition, - //Used to notate dependency in a UML Class Diagram - Dependency, - //Used to notate inheritance in a UML Class Diagram - Inheritance, - } - } - namespace Diagram { - enum Multiplicity { - //Each entity instance is related to a single instance of another entity - OneToOne, - //An entity instance can be related to multiple instances of the other entities - OneToMany, - //Multiple instances of an entity can be related to a single instance of the other entity - ManyToOne, - //The entity instances can be related to multiple instances of each other - ManyToMany, - } - } - namespace Diagram { - enum UMLActivityFlow { - //Defines a activity flow as Object in UML Activity Diagram - Object, - //Defines a activity flow as Control in UML Activity Diagram - Control, - //Defines a activity flow as Exception in UML Activity Diagram - Exception, - } - } - namespace Diagram { - enum DecoratorShapes { - //Used to set decorator shape as none - None, - //Used to set decorator shape as Arrow - Arrow, - //Used to set decorator shape as Open Arrow - OpenArrow, - //Used to set decorator shape as Circle - Circle, - //Used to set decorator shape as Diamond - Diamond, - //Used to set decorator shape as path - Path, - } - } - namespace Diagram { - enum VerticalAlignment { - //Used to align text Vertically on left side of node/connector - Top, - //Used to align text Vertically on center of node/connector - Center, - //Used to align text Vertically on bottom of node/connector - Bottom, - } - } - namespace Diagram { - enum DiagramConstraints { - //Disables all DiagramConstraints - None, - //Enables/Disables PageEditing - PageEditable, - //Enables/Disables Bridging - Bridging, - //Enables/Disables Zooming - Zoomable, - //Enables/Disables panning on horizontal axis - PannableX, - //Enables/Disables panning on vertical axis - PannableY, - //Enables/Disables Panning - Pannable, - //Enables/Disables undo actions - Undoable, - //Enables/Disables the sharp edges - CrispEdges, - //Enables all Constraints - Default, - } - } - namespace Diagram { - enum LabelRenderingMode { - //Sets the labelRenderingMode as Html - Html, - //Sets the labelRenderingMode as Svg - Svg, - } - } - namespace Diagram { - enum LayoutOrientations { - //Used to set LayoutOrientation from top to bottom - TopToBottom, - //Used to set LayoutOrientation from bottom to top - BottomToTop, - //Used to set LayoutOrientation from left to right - LeftToRight, - //Used to set LayoutOrientation from right to left - RightToLeft, - } - } - namespace Diagram { - enum LayoutTypes { - //Used not to set any specific layout - None, - //Used to set layout type as hierarchical layout - HierarchicalTree, - //Used to set layout type as organnizational chart - OrganizationalChart, - } - } - namespace Diagram { - enum BPMNActivity { - //Used to set BPMN Activity as None - None, - //Used to set BPMN Activity as Task - Task, - //Used to set BPMN Activity as SubProcess - SubProcess, - } - } - namespace Diagram { - enum BPMNAnnotationDirection { - //Used to set the direction of BPMN Annotation as left - Left, - //Used to set the direction of BPMN Annotation as right - Right, - //Used to set the direction of BPMN Annotation as top - Top, - //Used to set the direction of BPMN Annotation as bottom - Bottom, - } - } - namespace Diagram { - enum IconShapes { - //Used to set collapse icon shape as none - None, - //Used to set collapse icon shape as Arrow(Up/Down) - Arrow, - //Used to set collapse icon shape as Plus - Plus, - //Used to set collapse icon shape as Minus - Minus, - //Used to set collapse icon shape as path - Path, - //Used to set icon shape as template - Template, - //Used to set icon shape as image - Image, - } - } - namespace Diagram { - enum NodeConstraints { - //Disable all node Constraints - None, - //Enables node to be selected - Select, - //Enables node to be Deleted - Delete, - //Enables node to be Dragged - Drag, - //Enables node to be Rotated - Rotate, - //Enables node to be connected - Connect, - //Enables node to be resize north east - ResizeNorthEast, - //Enables node to be resize east - ResizeEast, - //Enables node to be resize south east - ResizeSouthEast, - //Enables node to be resize south - ResizeSouth, - //Enables node to be resize south west - ResizeSouthWest, - //Enables node to be resize west - ResizeWest, - //Enables node to be resize north west - ResizeNorthWest, - //Enables node to be resize north - ResizeNorth, - //Enables node to be Resized - Resize, - //Enables shadow - Shadow, - //Enables label of node to be Dragged - DragLabel, - //Enables panning should be done while node dragging - AllowPan, - //Enables Proportional resize for node - AspectRatio, - //Enables the user interaction with the node - PointerEvents, - //Enables contrast between clean edges for the node over rendering speed and geometric precision - CrispEdges, - //Enables all node constraints - Default, - } - } - namespace Diagram { - enum ContainerType { - //Sets the container type as Canvas - Canvas, - //Sets the container type as Stack - Stack, - } - } - namespace Diagram { - enum BPMNDataObjects { - //Used to notate the Input type BPMN data object - Input, - //Used to notate the Output type BPMN data object - Output, - //Used to set BPMN data object type as None - None, - } - } - namespace Diagram { - enum BPMNEvents { - //Used to set BPMN Event as Start - Start, - //Used to set BPMN Event as Intermediate - Intermediate, - //Used to set BPMN Event as End - End, - //Used to set BPMN Event as NonInterruptingStart - NonInterruptingStart, - //Used to set BPMN Event as NonInterruptingIntermediate - NonInterruptingIntermediate, - //Used to set BPMN Event as ThrowingIntermediate - ThrowingIntermediate, - } - } - namespace Diagram { - enum BPMNGateways { - //Used to set BPMN Gateway as None - None, - //Used to set BPMN Gateway as Exclusive - Exclusive, - //Used to set BPMN Gateway as Inclusive - Inclusive, - //Used to set BPMN Gateway as Parallel - Parallel, - //Used to set BPMN Gateway as Complex - Complex, - //Used to set BPMN Gateway as EventBased - EventBased, - //Used to set BPMN Gateway as ExclusiveEventBased - ExclusiveEventBased, - //Used to set BPMN Gateway as ParallelEventBased - ParallelEventBased, - } - } - namespace Diagram { - enum LabelEditMode { - //Used to set label edit mode as edit - Edit, - //Used to set label edit mode as view - View, - } - } - namespace Diagram { - enum OverflowType { - //Set overflow Type as ellipsis - Ellipsis, - //Set overflow Type as Clip - Clip, - } - } - namespace Diagram { - enum TextAlign { - //Used to align text on left side of node/connector - Left, - //Used to align text on center of node/connector - Center, - //Used to align text on Right side of node/connector - Right, - } - } - namespace Diagram { - enum TextDecorations { - //Used to set text decoration of the label as Underline - Underline, - //Used to set text decoration of the label as Overline - Overline, - //Used to set text decoration of the label as LineThrough - LineThrough, - //Used to set text decoration of the label as None - None, - } - } - namespace Diagram { - enum TextWrapping { - //Disables wrapping - NoWrap, - //Enables Line-break at normal word break points - Wrap, - //Enables Line-break at normal word break points with longer word overflows - WrapWithOverflow, - } - } - namespace Diagram { - enum PortConstraints { - //Disable all constraints - None, - //Enables connections with connector - Connect, - //Enables to create the connection when mouse hover on the port. - ConnectOnDrag, - } - } - namespace Diagram { - enum PortShapes { - //Used to set port shape as X - X, - //Used to set port shape as Circle - Circle, - //Used to set port shape as Square - Square, - //Used to set port shape as Path - Path, - } - } - namespace Diagram { - enum PortVisibility { - //Set the port visibility as Visible - Visible, - //Set the port visibility as Hidden - Hidden, - //Port get visible when hover connector on node - Hover, - //Port gets visible when connect connector to node - Connect, - //Specifies the port visibility as default - Default, - } - } - namespace Diagram { - enum BasicShapes { - //Used to specify node Shape as Rectangle - Rectangle, - //Used to specify node Shape as Ellipse - Ellipse, - //Used to specify node Shape as Path - Path, - //Used to specify node Shape as Polygon - Polygon, - //Used to specify node Shape as Triangle - Triangle, - //Used to specify node Shape as Plus - Plus, - //Used to specify node Shape as Star - Star, - //Used to specify node Shape as Pentagon - Pentagon, - //Used to specify node Shape as Heptagon - Heptagon, - //Used to specify node Shape as Octagon - Octagon, - //Used to specify node Shape as Trapezoid - Trapezoid, - //Used to specify node Shape as Decagon - Decagon, - //Used to specify node Shape as RightTriangle - RightTriangle, - //Used to specify node Shape as Cylinder - Cylinder, - } - } - namespace Diagram { - enum FlowShapes { - //Used to specify node Shape as Process - Process, - //Used to specify node Shape as Decision - Decision, - //Used to specify node Shape as Document - Document, - //Used to specify node Shape as PreDefinedProcess - PreDefinedProcess, - //Used to specify node Shape as Terminator - Terminator, - //Used to specify node Shape as PaperTap - PaperTap, - //Used to specify node Shape as DirectData - DirectData, - //Used to specify node Shape as SequentialData - SequentialData, - //Used to specify node Shape as Sort - Sort, - //Used to specify node Shape as MultiDocument - MultiDocument, - //Used to specify node Shape as Collate - Collate, - //Used to specify node Shape as SummingJunction - SummingJunction, - //Used to specify node Shape as Or - Or, - //Used to specify node Shape as InternalStorage - InternalStorage, - //Used to specify node Shape as Extract - Extract, - //Used to specify node Shape as ManualOperation - ManualOperation, - //Used to specify node Shape as Merge - Merge, - //Used to specify node Shape as OffPageReference - OffPageReference, - //Used to specify node Shape as SequentialAccessStorage - SequentialAccessStorage, - //Used to specify node Shape as Annotation1 - Annotation1, - //Used to specify node Shape as Annotation2 - Annotation2, - //Used to specify node Shape as Data - Data, - //Used to specify node Shape as Card - Card, - } - } - namespace Diagram { - enum BPMNShapes { - //Used to specify node Shape as Event - Event, - //Used to specify node Shape as Gateway - Gateway, - //Used to specify node Shape as Message - Message, - //Used to specify node Shape as DataObject - DataObject, - //Used to specify node Shape as DataSource - DataSource, - //Used to specify node Shape as Activity - Activity, - //Used to specify node Shape as Group - Group, - } - } - namespace Diagram { - enum UMLActivityShapes { - //Used to set UML ActivityShapes as Action - Action, - //Used to set UML ActivityShapes as Decision - Decision, - //Used to set UML ActivityShapes as MergeNode - MergeNode, - //Used to set UML ActivityShapes as InitialNode - InitialNode, - //Used to set UML ActivityShapes as FinalNode - FinalNode, - //Used to set UML ActivityShapes as ForkNode - ForkNode, - //Used to set UML ActivityShapes as JoinNode - JoinNode, - //Used to set UML ActivityShapes as TimeEvent - TimeEvent, - //Used to set UML ActivityShapes as AcceptingEvent - AcceptingEvent, - //Used to set UML ActivityShapes as SendSignal - SendSignal, - //Used to set UML ActivityShapes as ReceiveSignal - ReceiveSignal, - //Used to set UML ActivityShapes as StructuredNode - StructuredNode, - //Used to set UML ActivityShapes as Note - Note, - } - } - namespace Diagram { - enum BPMNBoundary { - //Used to set BPMN SubProcess's Boundary as Default - Default, - //Used to set BPMN SubProcess's Boundary as Call - Call, - //Used to set BPMN SubProcess's Boundary as Event - Event, - } - } - namespace Diagram { - enum BPMNLoops { - //Used to set BPMN Activity's Loop as None - None, - //Used to set BPMN Activity's Loop as Standard - Standard, - //Used to set BPMN Activity's Loop as ParallelMultiInstance - ParallelMultiInstance, - //Used to set BPMN Activity's Loop as SequenceMultiInstance - SequenceMultiInstance, - } - } - namespace Diagram { - enum BPMNSubProcessTypes { - //Used to set BPMN SubProcess type as None - None, - //Used to set BPMN SubProcess type as Transaction - Transaction, - //Used to set BPMN SubProcess type as Event - Event, - } - } - namespace Diagram { - enum BPMNTasks { - //Used to set BPMN Task Type as None - None, - //Used to set BPMN Task Type as Service - Service, - //Used to set BPMN Task Type as Receive - Receive, - //Used to set BPMN Task Type as Send - Send, - //Used to set BPMN Task Type as InstantiatingReceive - InstantiatingReceive, - //Used to set BPMN Task Type as Manual - Manual, - //Used to set BPMN Task Type as BusinessRule - BusinessRule, - //Used to set BPMN Task Type as User - User, - //Used to set BPMN Task Type as Script - Script, - //Used to set BPMN Task Type as Parallel - Parallel, - } - } - namespace Diagram { - enum BPMNTriggers { - //Used to set Event Trigger as None - None, - //Used to set Event Trigger as Message - Message, - //Used to set Event Trigger as Timer - Timer, - //Used to set Event Trigger as Escalation - Escalation, - //Used to set Event Trigger as Link - Link, - //Used to set Event Trigger as Error - Error, - //Used to set Event Trigger as Compensation - Compensation, - //Used to set Event Trigger as Signal - Signal, - //Used to set Event Trigger as Multiple - Multiple, - //Used to set Event Trigger as Parallel - Parallel, - //Used to set Event Trigger as Conditional - Conditional, - //Used to set Event Trigger as Termination - Termination, - //Used to set Event Trigger as Cancel - Cancel, - } - } - namespace Diagram { - enum Shapes { - //Used to specify node type as Text - Text, - //Used to specify node type as Image - Image, - //Used to specify node type as Html - Html, - //Used to specify node type as Native - Native, - //Used to specify node type as Basic - Basic, - //Used to specify node type as Flow - Flow, - //Used to specify node type as BPMN - BPMN, - //Used to specify node type as UMLClassifier - UMLClassifier, - //Used to specify node type as UMLActivity - UMLActivity, - } - } - namespace Diagram { - enum PageOrientations { - //Used to set orientation as Landscape - Landscape, - //Used to set orientation as portrait - Portrait, - } - } - namespace Diagram { - enum ScrollLimit { - //Used to set scrollLimit as Infinite - Infinite, - //Used to set scrollLimit as Diagram - Diagram, - //Used to set scrollLimit as Limited - Limited, - } - } - namespace Diagram { - enum BoundaryConstraints { - //Used to set boundaryConstraints as Infinite - Infinite, - //Used to set boundaryConstraints as Diagram - Diagram, - //Used to set boundaryConstraints as Page - Page, - } - } - namespace Diagram { - enum SelectorConstraints { - //Hides the selector - None, - //Sets the visibility of rotation handle as visible - Rotator, - //Sets the visibility of resize handles as visible - Resizer, - //Sets the visibility of user handles as visible - UserHandles, - //Sets the visibility of all selection handles as visible - All, - } - } - namespace Diagram { - enum UserHandlePositions { - //Set the position of the userhandle as topleft - TopLeft, - //Set the position of the userhandle as topcenter - TopCenter, - //Set the position of the userhandle as topright - TopRight, - //Set the position of the userhandle as middleleft - MiddleLeft, - //Set the position of the userhandle as middleright - MiddleRight, - //Set the position of the userhandle as bottomleft - BottomLeft, - //Set the position of the userhandle as bottomcenter - BottomCenter, - //Set the position of the userhandle as bottom right - BottomRight, - } - } - namespace Diagram { - enum SnapConstraints { - //Enables node to be snapped to horizontal gridlines - None, - //Enables node to be snapped to vertical gridlines - SnapToHorizontalLines, - //Enables node to be snapped to horizontal gridlines - SnapToVerticalLines, - //Enables node to be snapped to gridlines - SnapToLines, - //Enable horizontal lines - ShowHorizontalLines, - //Enable vertical lines - ShowVerticalLines, - //Enable both horizontal and vertical lines - ShowLines, - //Enable all the constraints - All, - } - } - namespace Diagram { - enum Tool { - //Disables all Tools - None, - //Enables/Disables SingleSelect tool - SingleSelect, - //Enables/Disables MultiSelect tool - MultipleSelect, - //Enables/Disables ZoomPan tool - ZoomPan, - //Enables/Disables DrawOnce tool - DrawOnce, - //Enables/Disables ContinuousDraw tool - ContinuesDraw, - } - } - namespace Diagram { - enum RelativeMode { - //Shows tooltip around the node - Object, - //Shows tooltip at the mouse position - Mouse, - } - } - namespace Diagram { - enum ZoomCommand { - //Used to zoom in the Diagram - ZoomIn, - //Used to zoom out the diagram - ZoomOut, - } - } - - class HeatMap extends ej.Widget { - static fn: HeatMap; - constructor(element: JQuery | Element, options?: HeatMap.Model); - static Locale: any; - model: HeatMap.Model; - defaults: HeatMap.Model; - } - export namespace HeatMap { - - export interface Model { - - /** Specifies the width of the heat map. - * @Default {null} - */ - width?: any; - - /** Specifies the width of the heat map. - * @Default {null} - */ - height?: any; - - /** Specifies the name of the heat map. - * @Default {null} - */ - id?: number; - - /** Enables or disables tooltip of heatmap - * @Default {true} - */ - showTooltip?: boolean; - - /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. - */ - tooltipSettings?: TooltipSettings; - - /** Specifies the source data of the heat map. - * @Default {[]} - */ - itemsSource?: any; - - /** Specifies the property of the heat map cell. - * @Default {Null} - */ - heatMapCell?: HeatMapCell; - - /** Specifies can enable responsive mode or not for heat map. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies whether the virtualization can be enable or not. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the default column properties for all the column style not specified in column properties. - * @Default {[]} - */ - defaultColumnStyle?: DefaultColumnStyle; - - /** Specifies the no of legends can sync with heat map. - * @Default {[]} - */ - legendCollection?: any[]; - - /** Specifies the property and display value of the heat map column. - * @Default {[]} - */ - itemsMapping?: ItemsMapping; - - /** Specifies the color values of the heat map column data. - * @Default {[]} - */ - colorMappingCollection?: ColorMappingCollection[]; - - /** Triggered when the mouse over on the cell. */ - cellMouseOver?(e: CellMouseOverEventArgs): void; - - /** Triggered when the mouse over on the cell. */ - cellMouseEnter?(e: CellMouseEnterEventArgs): void; - - /** Triggered when the mouse over on the cell. */ - cellMouseLeave?(e: CellMouseLeaveEventArgs): void; - - /** Triggered when the mouse over on the cell. */ - cellSelected?(e: CellSelectedEventArgs): void; - } - - export interface CellMouseOverEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; - } - - export interface CellMouseEnterEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; - } - - export interface CellMouseLeaveEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; - } - - export interface CellSelectedEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; - } - - export interface TooltipSettingsPositionTarget { + /** Returns the selected item text. + */ + selectedText?: string; - /** Sets the arrow position again popup based on horizontal(x) value - * @Default {center} - */ - horizontal?: ej.datavisualization.HeatMap.Horizontal | string; + /** returns the name of the event + */ + type?: string; - /** Sets the arrow position again popup based on vertical(y) value - * @Default {top} - */ - vertical?: ej.datavisualization.HeatMap.Vertical | string; - } + /** Returns the selected text. + */ + text?: string; - export interface TooltipSettingsPositionStem { + /** Returns the selected value. + */ + value?: string; +} - /** Sets the arrow position again popup based on horizontal(x) value - * @Default {center} - */ - horizontal?: ej.datavisualization.HeatMap.Horizontal | string; +export interface CreateEventArgs { - /** Sets the arrow position again popup based on vertical(y) value - * @Default {bottom} - */ - vertical?: ej.datavisualization.HeatMap.Vertical | string; - } + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface TooltipSettingsPosition { + /** returns the DropDownList model + */ + model?: any; - /** Sets the Tooltip position against target. - */ - target?: TooltipSettingsPositionTarget; + /** returns the name of the event + */ + type?: string; +} - /** Sets the arrow position again popup. - */ - stem?: TooltipSettingsPositionStem; - } +export interface DataBoundEventArgs { - export interface TooltipSettingsAnimation { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Defines the animation effect for the tooltip that should be shown when the mouse hovers over rows/columns. - * @Default {none} - */ - effect?: ej.datavisualization.HeatMap.Effect | string; + /** returns the DropDownList model + */ + model?: any; - /** Defines the animation speed for the tooltip that should be shown when the mouse hovers over rows/columns. - * @Default {0} - */ - speed?: number; - } + /** returns the name of the event + */ + type?: string; - export interface TooltipSettings { - - /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. - * @Default {null} - */ - templateId?: string; + /** returns the data that is bound to DropDownList + */ + data?: any; +} - /** Defines the tooltip of associate that should be shown when the mouse hovers over rows/columns. - * @Default {mouseFollow} - */ - associate?: ej.datavisualization.HeatMap.Associate | string; - - /** Enables/ disables the balloon for the tooltip to be shown - * @Default {true} - */ - isBalloon?: boolean; +export interface DestroyEventArgs { - /** Defines various attributes of the Tooltip position - */ - position?: TooltipSettingsPosition; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Defines the tooltip to be triggered. - * @Default {hover} - */ - trigger?: ej.datavisualization.HeatMap.Trigger | string; + /** returns the DropDownList model + */ + model?: any; - /** Defines the animation for the tooltip that should be shown when the mouse hovers over rows/columns. - */ - animation?: TooltipSettingsAnimation; - } - - export interface HeatMapCell { + /** returns the name of the event + */ + type?: string; +} - /** Specifies whether the cell content can be visible or not. - * @Default {ej.HeatMap.CellVisibility.Visible} - */ - showContent?: ej.datavisualization.HeatMap.CellVisibility | string; - - /** Specifies whether the cell color can be visible or not. - * @Default {true} - */ - showColor?: boolean; - } - - export interface DefaultColumnStyle { - - /** Specifies the alignment mode of the heat map column. - * @Default {ej.HeatMap.TextAlign.Center} - */ - textAlign?: any; - - /** Specifies the template id of the heat map column header. - */ - headerTemplateID?: string; - - /** Specifies the template id of all individual cell data of the heat map. - */ - templateID?: string; - } - - export interface ItemsMappingColumnStyle { - - /** Specifies the width of the heat map column. - * @Default {0} - */ - width?: number; - - /** Specifies the text align mode of the heat map column. - * @Default {ej.HeatMap.TextAlign.Center} - */ - textAlign?: string; - - /** Specifies the template id of the column header. - */ - headerTemplateID?: string; - - /** Specifies the template id of all individual cell data. - */ - templateID?: string; - } - - export interface ItemsMappingColumn { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; - } - - export interface ItemsMappingRow { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; - } - - export interface ItemsMappingValue { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; - } - - export interface ItemsMappingHeaderMapping { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; - - /** Specifies the property and display value of the header. - * @Default {null} - */ - columnStyle?: any; - } - - export interface ItemsMapping { - - /** Column settings for the individual heat map column. - * @Default {null} - */ - columnStyle?: ItemsMappingColumnStyle; - - /** Specifies the property and display value of the column. - * @Default {null} - */ - column?: ItemsMappingColumn; - - /** Specifies the property and display value of the heat map.row - * @Default {null} - */ - row?: ItemsMappingRow; - - /** Specifies the property and display value of the column value. - * @Default {null} - */ - value?: ItemsMappingValue; - - /** Specifies the property and display value of the header. - * @Default {null} - */ - headerMapping?: ItemsMappingHeaderMapping; - - /** Specifies the property and display value of the collection of column. - * @Default {[]} - */ - columnMapping?: any[]; - } - - export interface ColorMappingCollectionLabel { - - /** Enables/disables the bold style of the heat map label. - * @Default {false} - */ - bold?: boolean; - - /** Enables/disables the italic style of the heat map label. - * @Default {false} - */ - italic?: boolean; - - /** specifies the text value of the heat map label. - */ - text?: string; - - /** Specifies the text style of the heat map label. - * @Default {ej.HeatMap.TextDecoration.None} - */ - textDecoration?: ej.datavisualization.HeatMap.TextDecoration | string; - - /** Specifies the font size of the heat map label. - * @Default {10} - */ - fontSize?: number; - - /** Specifies the font family of the heat map label. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the font color of the heat map label. - * @Default {black} - */ - fontColor?: string; - } - - export interface ColorMappingCollection { - - /** Specifies the color of the heat map column data. - * @Default {white} - */ - color?: string; - - /** Specifies the color values of the heat map column data. - * @Default {0} - */ - value?: number; - - /** Specifies the label properties of the heat map color. - * @Default {null} - */ - label?: ColorMappingCollectionLabel; - } - } - namespace HeatMap { - enum Associate { - //Used to set the associate of tooltip as Target - Target, - //Used to set the associate of tooltip as MouseFollow - MouseFollow, - //Used to set the associate of tooltip as MouseEnter - MouseEnter, - } - } - namespace HeatMap { - enum Horizontal { - //Used to display the tooltip horizontally on left side of rows/columns - Left, - //Used to display the tooltip horizontally on center side of rows/columns - Center, - //Used to display the tooltip horizontally on right side of rows/columns - Right, - } - } - namespace HeatMap { - enum Vertical { - //Used to display the tooltip horizontally on left side of rows/columns - Top, - //Used to display the tooltip horizontally on center side of rows/columns - Center, - //Used to display the tooltip horizontally on right side of rows/columns - Bottom, - } - } - namespace HeatMap { - enum Trigger { - //Tooltip can be triggered on mouse hovers - Hover, - //Tooltip can be triggered on mouse click - Click, - } - } - namespace HeatMap { - enum Effect { - //Sets tooltip animation as None - None, - //Sets tooltip animation as Fade - Fade, - //Sets tooltip animation as Slide - Slide, - } - } - namespace HeatMap { - enum CellVisibility { - //Display the content of the cell - Visible, - //Hide the content of the cell - Hidden, - } - } - namespace HeatMap { - enum TextDecoration { - //Defines a line below the text - Underline, - //Defines a line above the text - Overline, - //Defines a line through the text - LineThrough, - //Defines a normal text. This is default - None, - } - } - - class HeatMapLegend extends ej.Widget { - static fn: HeatMapLegend; - constructor(element: JQuery | Element, options?: HeatMapLegend.Model); - static Locale: any; - model: HeatMapLegend.Model; - defaults: HeatMapLegend.Model; - } - export namespace HeatMapLegend { - - export interface Model { - - /** Specifies the width of the heatmap legend. - * @Default {null} - */ - width?: any; - - /** Specifies the height of the heatmap legend. - * @Default {null} - */ - height?: any; - - /** Specifies can enable responsive mode or not for heatmap legend. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies whether the cell label can be shown or not. - * @Default {false} - */ - showLabel?: boolean; - - /** Specifies the color values of the column data. - * @Default {[]} - */ - colorMappingCollection?: ColorMappingCollection[]; - - /** Specifies the orientation of the heatmap legend - * @Default {ej.HeatMap.LegendOrientation.Horizontal} - */ - orientation?: ej.datavisualization.HeatMap.LegendOrientation | string; - - /** Specifies the legend mode as gradient or list. - * @Default {ej.HeatMap.LegendMode.Gradient} - */ - legendMode?: ej.datavisualization.HeatMap.LegendMode | string; - } - - export interface ColorMappingCollectionLabel { - - /** Enables/disables the bold style of the heatmap legend label. - * @Default {false} - */ - bold?: boolean; - - /** Enables/disables the italic style of the heatmap legend label. - * @Default {false} - */ - italic?: boolean; - - /** specifies the text value of the heatmap legend label. - */ - text?: string; - - /** Specifies the text style of the heatmap legend label. - * @Default {ej.HeatMap.TextDecoration.None} - */ - textDecoration?: ej.datavisualization.HeatMap.TextDecoration | string; - - /** Specifies the font size of the heatmap legend label. - * @Default {10} - */ - fontSize?: number; - - /** Specifies the font family of the heatmap legend label. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the font color of the heatmap legend label. - * @Default {black} - */ - fontColor?: string; - } - - export interface ColorMappingCollection { - - /** Specifies the color of the heatmap legend data. - * @Default {white} - */ - color?: string; - - /** Specifies the color values of the heatmap legend column data. - * @Default {0} - */ - value?: number; - - /** Specifies the label properties of the heatmap legend color. - * @Default {null} - */ - label?: ColorMappingCollectionLabel; - } - } - namespace HeatMap { - enum LegendOrientation { - //Scales the graphic content non-uniformly to the width and height of the diagram area - Horizontal, - //Used to align the image at the top left of diagram area - Vertical, - } - } - namespace HeatMap { - enum LegendMode { - //Scales the graphic content non-uniformly to the width and height of the diagram area - Gradient, - //Used to align the image at the top left of diagram area - List, - } - } - - class Sparkline extends ej.Widget { - static fn: Sparkline; - constructor(element: JQuery | Element, options?: Sparkline.Model); - static Locale: any; - model: Sparkline.Model; - defaults: Sparkline.Model; - - /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - } - export namespace Sparkline { - - export interface Model { - - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; - - /** Fill color for the sparkline series. - * @Default {#33ccff} - */ - fill?: string; - - /** Border color of the series. - * @Default {null} - */ - stroke?: string; - - /** Options for customizing the color, opacity and width of the sparkline border. - */ - border?: Border; - - /** Border width of the series. - * @Default {1} - */ - width?: number; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Color for series high point. - * @Default {null} - */ - highPointColor?: string; - - /** Color for series low point. - * @Default {null} - */ - lowPointColor?: string; - - /** Color for series start point. - * @Default {null} - */ - startPointColor?: string; - - /** Color for series end point. - * @Default {null} - */ - endPointColor?: string; - - /** Color for series negative point. - * @Default {null} - */ - negativePointColor?: string; - - /** Options for customizing the color, opacity of the sparkline start and end range. - */ - rangeBandSettings?: RangeBandSettings; - - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; - - /** Controls whether sparkline has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. - * @Default {false} - */ - enableCanvasRendering?: boolean; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Gap or padding for sparkline. - * @Default {8} - */ - padding?: number; - - /** Specifies the type of the series to render in sparkline. - * @Default {line. See Type} - */ - type?: ej.datavisualization.Sparkline.Type | string; - - /** Specifies the theme for Sparkline. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sparkline.Theme | string; - - /** Options to customize the tooltip. - */ - tooltip?: Tooltip; - - /** Options for displaying and customizing marker for a data point. - */ - markerSettings?: MarkerSettings; +export interface FocusInEventArgs { - /** Options to customize the Sparkline size. - */ - size?: Size; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Options for customizing the color,dashArray and width of the axisLine. - */ - axisLineSettings?: AxisLineSettings; + /** returns the DropDownList model + */ + model?: any; - /** Fires before loading the sparkline. */ - load?(e: LoadEventArgs): void; - - /** Fires after loaded the sparkline. */ - loaded?(e: LoadedEventArgs): void; + /** returns the name of the event + */ + type?: string; +} - /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ - tooltipInitialize?(e: TooltipInitializeEventArgs): void; +export interface FocusOutEventArgs { - /** Fires before rendering a series. This event is fired for each series in Sparkline. */ - seriesRendering?(e: SeriesRenderingEventArgs): void; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; + /** returns the DropDownList model + */ + model?: any; - /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ - pointRegionMouseClick?(e: PointRegionMouseClickEventArgs): void; + /** returns the name of the event + */ + type?: string; +} - /** Fires on moving mouse over the sparkline. */ - sparklineMouseMove?(e: SparklineMouseMoveEventArgs): void; +export interface PopupHideEventArgs { - /** Fires on moving mouse outside the sparkline. */ - sparklineMouseLeave?(e: SparklineMouseLeaveEventArgs): void; - } + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface LoadEventArgs { + /** returns the DropDownList model + */ + model?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** Instance of the sparkline model object - */ - model?: any; + /** returns the selected text + */ + text?: string; - /** Name of the event - */ - type?: string; - } + /** returns the selected value + */ + value?: string; +} - export interface LoadedEventArgs { +export interface PopupResizeEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Instance of the sparkline model object - */ - model?: any; + /** returns the DropDownList model + */ + model?: any; - /** Name of the event - */ - type?: string; - } + /** returns the name of the event + */ + type?: string; - export interface TooltipInitializeEventArgs { + /** Returns the data from the resizable plugin. + */ + event?: any; +} - /** Set this option to true to cancel the event - */ - cancel?: boolean; +export interface PopupShownEventArgs { - /** Instance of the sparkline model object - */ - model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** returns the DropDownList model + */ + model?: any; - /** X Location of the trackball tooltip in pixels - */ - locationX?: any; + /** returns the name of the event + */ + type?: string; - /** Y Location of the trackball tooltip in pixels - */ - locationY?: any; + /** returns the selected text + */ + text?: string; - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; + /** returns the selected value + */ + value?: string; +} - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; - } +export interface PopupResizeStartEventArgs { - export interface SeriesRenderingEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the DropDownList model + */ + model?: any; - /** Instance of the sparkline model object - */ - model?: any; + /** returns the name of the event + */ + type?: string; - /** Name of the event - */ - type?: string; + /** Returns the data from the resizable plugin. + */ + event?: any; +} - /** Minimum x value of the data point - */ - minX?: any; +export interface PopupResizeStopEventArgs { - /** Minimum y value of the data point - */ - minY?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Maximum x value of the data point - */ - maxX?: any; + /** returns the DropDownList model + */ + model?: any; - /** Maximum y value of the data point - */ - maxY?: any; - } + /** returns the name of the event + */ + type?: string; - export interface PointRegionMouseMoveEventArgs { + /** Returns the data from the resizable plugin. + */ + event?: any; +} - /** Set this option to true to cancel the event - */ - cancel?: boolean; +export interface SearchEventArgs { - /** Instance of the sparkline model object - */ - model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** Returns the data bound to the DropDownList. + */ + items?: any; - /** X-coordinate of point in pixel - */ - locationX?: number; + /** returns the DropDownList model + */ + model?: any; + + /** Returns the selected item text. + */ + selectedText?: string; + + /** returns the name of the event + */ + type?: string; + + /** Returns the search string typed in search box. + */ + searchString?: string; +} + +export interface SelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the selected item with checkbox checked or not. + */ + isChecked?: boolean; + + /** Returns the selected item ID. + */ + itemId?: string; + + /** returns the DropDownList model + */ + model?: any; + + /** Returns the selected item text. + */ + selectedText?: string; + + /** returns the name of the event + */ + type?: string; + + /** Returns the selected text. + */ + text?: string; + + /** Returns the selected value. + */ + value?: string; +} + +export interface Fields { + + /** Used to group the items. + */ + groupBy?: string; + + /** Defines the HTML attributes such as ID, class, and styles for the item. + */ + htmlAttributes?: any; + + /** Defines the ID for the tag. + */ + id?: string; + + /** Defines the image attributes such as height, width, styles, and so on. + */ + imageAttributes?: string; + + /** Defines the imageURL for the image location. + */ + imageUrl?: string; + + /** Defines the tag value to be selected initially. + */ + selected?: boolean; + + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; + + /** Defines the table name for tag value or display text while rendering remote data. + */ + tableName?: string; + + /** Defines the text content for the tag. + */ + text?: string; + + /** Defines the tag value. + */ + value?: string; +} +} +enum FilterType +{ +//filter the data wherever contains search key +Contains, +//filter the data based on search key present at start position +StartsWith, +} +enum MultiSelectMode +{ +// can select only single item in DropDownList +None, +//can select multiple items and it's separated by delimiterChar +Delimiter, +// can select multiple items and it's show's like visual box in textbox +VisualMode, +} +enum VirtualScrollMode +{ +// The data is loaded only to the corresponding page (display items). When scrolling some other position, it enables the load on demand with the DropDownList. +Normal, +//The data items are loaded from the remote when scroll handle reaches the end of the scrollbar like infinity scrolling. +Continuous, +} + +class Tooltip extends ej.Widget { + static fn: Tooltip; + constructor(element: JQuery, options?: Tooltip.Model); + constructor(element: Element, options?: Tooltip.Model); + static Locale: any; + model:Tooltip.Model; + defaults:Tooltip.Model; + + /** Destroys the Tooltip control. + * @returns {void} + */ + destroy(): void; + + /** Disables the Tooltip control. + * @returns {void} + */ + disable(): void; + + /** Enables the Tooltip control. + * @returns {void} + */ + enable(): void; + + /** Hide the Tooltip popup. + * @param {string} optional Determines the type of effect that takes place when hiding the tooltip. + * @param {Function} optional custom effect takes place when hiding the tooltip. + * @returns {void} + */ + hide(effect?: string, func?: Function): void; + + /** Shows the Tooltip popup for the given target element with the specified effect. + * @param {string} optional Determines the type of effect that takes place when showing the tooltip. + * @param {Function} optional custom effect takes place when showing the tooltip. + * @param {JQuery} optional Tooltip will be shown for the given element + * @returns {void} + */ + show(effect?: string, func?: Function, target?: JQuery): void; +} +export module Tooltip{ + +export interface Model { + + /** Tooltip control can be accessed through the keyboard shortcut keys. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specifies the animation behavior in Tooltip. It contains the following sub properties. + */ + animation?: Animation; + + /** Sets the position related to target element, window, mouse or (x,y) co-ordinates. + * @Default {ej.Tooltip.Associate.Target} + */ + associate?: ej.Tooltip.Associate|string; + + /** Specified the delay to hide Tooltip when closeMode is auto. + * @Default {4000} + */ + autoCloseTimeout?: number; + + /** Specifies the closing behavior of Tooltip popup. + * @Default {ej.Tooltip.CloseMode.None} + */ + closeMode?: ej.Tooltip.CloseMode|string; + + /** Sets the Tooltip in alternate position when collision occurs. + * @Default {ej.Tooltip.Collision.FlipFit} + */ + collision?: ej.Tooltip.Collision|string; + + /** Specified the selector for the container element. + * @Default {body} + */ + containment?: string; + + /** Specifies the text for Tooltip. + * @Default {null} + */ + content?: string; + + /** Sets the root CSS class for Tooltip for the customization. + * @Default {null} + */ + cssClass?: string; + + /** Enables or disables the Tooltip. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the Tooltip direction from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines the height of the Tooltip popup. + * @Default {auto} + */ + height?: string|number; + + /** Enables the arrow in Tooltip. + * @Default {true} + */ + isBalloon?: boolean; + + /** defines various attributes of the Tooltip position + */ + position?: Position; + + /** Enables or disables rounded corner. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Enables or disables shadow effect. + * @Default {false} + */ + showShadow?: boolean; + + /** Specified a selector for elements, within the container. + * @Default {null} + */ + target?: string; + + /** defines Tooltip size and gap between tooltip against the target element. + */ + tip?: Tip; + + /** The title text to be displayed in the Tooltip header. + * @Default {null} + */ + title?: string; + + /** Specified the event action to show case the Tooltip. + * @Default {ej.Tooltip.Trigger.Hover} + */ + trigger?: ej.Tooltip.Trigger|string; - /** Y-coordinate of point in pixel - */ - locationY?: number; + /** Defines the width of the Tooltip popup. + * @Default {auto} + */ + width?: string|number; + + /** This event is triggered before the Tooltip widget get closed. */ + beforeClose? (e: BeforeCloseEventArgs): void; + + /** This event is triggered before the Tooltip widget gets open. */ + beforeOpen? (e: BeforeOpenEventArgs): void; - /** Index of the point in series - */ - pointIndex?: number; + /** Fires on clicking to the target element. */ + click? (e: ClickEventArgs): void; + + /** This event is triggered after the Tooltip widget is closed. */ + close? (e: CloseEventArgs): void; - /** Type of the series - */ - seriesType?: string; - } + /** This event is triggered after the Tooltip is created successfully. */ + create? (e: CreateEventArgs): void; - export interface PointRegionMouseClickEventArgs { + /** This event is triggered after the Tooltip widget is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** This event is triggered while hovering the target element, when tooltip positioning relates to target element. */ + hover? (e: HoverEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** This event is triggered after the Tooltip is opened. */ + open? (e: OpenEventArgs): void; - /** Instance of the sparkline model object - */ - model?: any; + /** This event is triggered while hover the target element, when the tooltip positioning is relates to the mouse. */ + tracking? (e: TrackingEventArgs): void; +} - /** Name of the event - */ - type?: string; +export interface BeforeCloseEventArgs { - /** X-coordinate of point in pixel - */ - locationX?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Y-coordinate of point in pixel - */ - locationY?: number; + /** returns the tooltip model + */ + model?: any; - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; - } - - export interface SparklineMouseMoveEventArgs { + /** returns the name of the event + */ + type?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the Tooltip's content + */ + content?: string; +} - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface SparklineMouseLeaveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of the sparkline. - * @Default {transparent} - */ - color?: string; - - /** Width of the Sparkline border. - * @Default {1} - */ - width?: number; - } - - export interface RangeBandSettings { - - /** Start value of the range band. - * @Default {null} - */ - startRange?: number; - - /** End value of the range band. - * @Default {null} - */ - endRange?: number; - - /** Range band opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Range band color of the series. - * @Default {transparent} - */ - color?: string; - } - - export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {transparent} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; - } - - export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {#111111} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sparkline.FontStyle | string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sparkline.FontWeight | string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {8px} - */ - size?: string; - } - - export interface Tooltip { - - /** Show/hides the tooltip visibility. - * @Default {false} - */ - visible?: boolean; - - /** Fill color for the sparkline tooltip. - * @Default {white} - */ - fill?: string; - - /** Custom template to the tooltip. - */ - template?: string; - - /** Options for customizing the border of the tooltip. - */ - border?: TooltipBorder; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - } - - export interface MarkerSettingsBorder { - - /** Border color of the marker shape. - * @Default {transparent} - */ - color?: string; - - /** Controls the opacity of the marker border. - * @Default {1} - */ - opacity?: number; - - /** Border width of the marker shape. - * @Default {null} - */ - width?: number; - } - - export interface MarkerSettings { - - /** Controls the opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - - /** width of the marker shape. - * @Default {2} - */ - width?: number; - - /** Color of the marker shape. - * @Default {white} - */ - fill?: string; - - /** Options for customizing the border of the marker shape. - */ - border?: MarkerSettingsBorder; - } - - export interface Size { - - /** Height of the Sparkline. Height can be specified in either pixel or percentage. - * @Default {''} - */ - height?: string; - - /** Width of the Sparkline. Width can be specified in either pixel or percentage. - * @Default {''} - */ - width?: string; - } - - export interface AxisLineSettings { - - /** Controls the visibility of the axis. - * @Default {false} - */ - visible?: boolean; - - /** Color of the axis line. - * @Default {'#111111'} - */ - color?: string; - - /** Width of the axis line. - * @Default {1} - */ - width?: number; - - /** Dash array of the axis line. - * @Default {1} - */ - dashArray?: number; - } - } - namespace Sparkline { - enum Type { - //string - Area, - //string - Line, - //string - Column, - //string - Pie, - //string - WinLoss, - } - } - namespace Sparkline { - enum Theme { - //string - Azure, - //string - FlatLight, - //string - FlatDark, - //string - Azuredark, - //string - Lime, - //string - LimeDark, - //string - Saffron, - //string - SaffronDark, - //string - GradientLight, - //string - GradientDark, - } - } - namespace Sparkline { - enum FontStyle { - //string - Normal, - //string - Italic, - } - } - namespace Sparkline { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } - } - - class SunburstChart extends ej.Widget { - static fn: SunburstChart; - constructor(element: JQuery | Element, options?: SunburstChart.Model); - static Locale: any; - model: SunburstChart.Model; - defaults: SunburstChart.Model; - - /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - - /** destroy the sunburst - * @returns {void} - */ - _destroy(): void; - } - export namespace SunburstChart { - - export interface Model { - - /** Background color of the plot area. - * @Default {null} - */ - background?: string; - - /** Bind the data field from the data source. - * @Default {null} - */ - valueMemberPath?: string; - - /** Options for customizing the sunburst border. - */ - border?: Border; - - /** Options for customizing the sunburst segment border. - */ - segmentBorder?: SegmentBorder; - - /** Specifies the dataSource to the sunburst. - * @Default {null} - */ - dataSource?: any; - - /** Palette color for the data points. - * @Default {null} - */ - palette?: string; - - /** Parent node of the data points. - * @Default {null} - */ - parentNode?: string; - - /** Name of the property in the datasource that contains x values. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y values. - * @Default {null} - */ - yName?: string; - - /** Controls whether sunburst has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Options to customize the Sunburst size. - */ - size?: Size; - - /** Controls the visibility of sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options to customize the Sunburst tooltip. - */ - tooltip?: Tooltip; - - /** Options for customizing sunburst points. - */ - points?: Points; - - /** Sunburst rendering will start from the specified value - * @Default {null} - */ - startAngle?: number; - - /** Sunburst rendering will end at the specified value - * @Default {null} - */ - endAngle?: number; - - /** Sunburst outer radius value - * @Default {1} - */ - radius?: number; - - /** Sunburst inner radius value - * @Default {0.4} - */ - innerRadius?: number; - - /** Options to customize the Sunburst dataLabel. - */ - dataLabelSettings?: DataLabelSettings; - - /** Options for customizing the title and subtitle of sunburst. - */ - title?: Title; - - /** Options for customizing the appearance of the levels or point while highlighting. - */ - highlightSettings?: HighlightSettings; +export interface BeforeOpenEventArgs { - /** Options for customizing the appearance of the levels or data point while selection. - */ - selectionSettings?: SelectionSettings; - - /** Specify levels of sunburst for grouped visualization of data - * @Default {[]} - */ - levels?: Level[]; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Specifies the theme for Sunburst. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sunburst.SunburstTheme | string; + /** returns the Tooltip model + */ + model?: any; - /** Options to customize the left, right, top and bottom margins of sunburst area. - */ - margin?: Margin; + /** returns the name of the event + */ + type?: string; - /** Enable/disable the animation for all the levels. - * @Default {false} - */ - enableAnimation?: boolean; + /** returns the Tooltip's content + */ + content?: string; +} - /** Opacity of the levels. - * @Default {1} - */ - opacity?: number; +export interface ClickEventArgs { - /** Options for enable zooming feature of chart. - */ - zoomSettings?: ZoomSettings; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Animation type of sunburst - * @Default {rotation. See Alignment} - */ - animationType?: ej.datavisualization.Sunburst.Animation | string; + /** returns the Tooltip model + */ + model?: any; - /** Fires before loading. */ - load?(e: LoadEventArgs): void; + /** returns the name of the event + */ + type?: string; - /** Fires before rendering sunburst. */ - preRender?(e: PreRenderEventArgs): void; + /** returns the event object + */ + event?: any; +} - /** Fires after rendering sunburst. */ - loaded?(e: LoadedEventArgs): void; +export interface CloseEventArgs { - /** Fires before rendering the datalabel */ - dataLabelRendering?(e: DataLabelRenderingEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires before rendering each segment */ - segmentRendering?(e: SegmentRenderingEventArgs): void; + /** returns the Tooltip model + */ + model?: any; - /** Fires before rendering sunburst title. */ - titleRendering?(e: TitleRenderingEventArgs): void; + /** returns the name of the event + */ + type?: string; - /** Fires during initialization of tooltip. */ - tooltipInitialize?(e: TooltipInitializeEventArgs): void; + /** returns the Tooltip's content + */ + content?: string; +} - /** Fires after clicking the point in sunburst */ - pointRegionClick?(e: PointRegionClickEventArgs): void; +export interface CreateEventArgs { - /** Fires while moving the mouse over sunburst points */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires when clicking the point to perform drilldown. */ - drillDownClick?(e: DrillDownClickEventArgs): void; + /** returns the Tooltip model + */ + model?: any; - /** Fires when resetting drilldown points. */ - drillDownBack?(e: DrillDownBackEventArgs): void; + /** returns the name of the event + */ + type?: string; +} - /** Fires after resetting the sunburst points */ - drillDownReset?(e: DrillDownResetEventArgs): void; - } +export interface DestroyEventArgs { - export interface LoadEventArgs { + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Load event data - */ - data?: string; + /** returns the Tooltip model + */ + model?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; +} - /** Instance of the sunburst model object - */ - model?: any; +export interface HoverEventArgs { - /** Name of the event - */ - type?: string; - } + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface PreRenderEventArgs { + /** returns the Tooltip model + */ + model?: any; - /** PreRender event data - */ - data?: string; + /** returns the name of the event + */ + type?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the event object + */ + event?: any; +} - /** Instance of the sunburst model object - */ - model?: any; +export interface OpenEventArgs { - /** Name of the event - */ - type?: string; - } + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface LoadedEventArgs { + /** returns the Tooltip model + */ + model?: any; - /** Loaded event data - */ - data?: string; + /** returns the name of the event + */ + type?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the Tooltip's content + */ + content?: string; +} - /** Instance of the sunburst model object - */ - model?: any; +export interface TrackingEventArgs { - /** Name of the event - */ - type?: string; - } + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface DataLabelRenderingEventArgs { + /** returns the Tooltip model + */ + model?: any; - /** Sunburst datalabel data - */ - data?: string; + /** returns the name of the event + */ + type?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the event object + */ + event?: any; +} - /** Instance of the sunburst model object - */ - model?: any; +export interface Animation { - /** Name of the event - */ - type?: string; - } + /** Determines the type of effect. + * @Default {ej.Tooltip.Effect.None} + */ + effect?: ej.Tooltip.effect|string; - export interface SegmentRenderingEventArgs { + /** Sets the animation speed in milliseconds. + * @Default {4000} + */ + speed?: number; +} - /** Sunburst datalabel data - */ - data?: string; +export interface PositionTarget { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Sets the Tooltip position against target based on horizontal(x) value. + * @Default {center} + */ + horizontal?: string|number; - /** Instance of the sunburst model object - */ - model?: any; + /** Sets the Tooltip position against target based on vertical(y) value. + * @Default {top} + */ + vertical?: string|number; +} - /** Name of the event - */ - type?: string; - } +export interface PositionStem { - export interface TitleRenderingEventArgs { + /** Sets the arrow position again popup based on horizontal(x) value + * @Default {center} + */ + horizontal?: string; - /** Sunburst title data - */ - data?: string; + /** Sets the arrow position again popup based on vertical(y) value + * @Default {bottom} + */ + vertical?: string; +} - /** Set this option to true to cancel the event - */ - cancel?: boolean; +export interface Position { - /** Instance of the sunburst model object - */ - model?: any; + /** Sets the Tooltip position against target. + */ + target?: PositionTarget; - /** Name of the event - */ - type?: string; - } + /** Sets the arrow position again popup. + */ + stem?: PositionStem; +} - export interface TooltipInitializeEventArgs { +export interface TipSize { - /** Sunburst tooltip data - */ - data?: string; + /** Sets the Tooltip width. + * @Default {20} + */ + width?: number; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Sets the Tooltip height. + * @Default {10} + */ + height?: number; +} - /** Instance of the sunburst model object - */ - model?: any; +export interface TipAdjust { - /** Name of the event - */ - type?: string; - } + /** Sets horizontal gap between Tooltip and target element. + * @Default {0} + */ + xValue?: number; - export interface PointRegionClickEventArgs { + /** Sets vertical gap between Tooltip and target element. + * @Default {0} + */ + yValue?: number; +} - /** Includes clicked points region data - */ - data?: string; +export interface Tip { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Sets the Tooltip size. + */ + size?: TipSize; - /** Instance of the sunburst model object - */ - model?: any; + /** Sets gap between tooltip against the target element. + */ + adjust?: TipAdjust; +} - /** Name of the event - */ - type?: string; - } +enum effect{ - export interface PointRegionMouseMoveEventArgs { + ///No animation takes place when showing/hiding the Tooltip + None, - /** Includes data of mouse moved region - */ - data?: string; + ///Sliding effect takes place when showing/hiding the Tooltip + Slide, - /** Set this option to true to cancel the event - */ - cancel?: boolean; + ///Fade the Tooltip in and out of visibility. + Fade +} - /** Instance of the sunburst model object - */ - model?: any; - /** Name of the event - */ - type?: string; - } +enum Associate{ - export interface DrillDownClickEventArgs { + ///Sets the position related to target element. + Target, - /** Clicked point data - */ - data?: string; + ///Sets the position related to mouse. + MouseFollow, - /** Set this option to true to cancel the event - */ - cancel?: boolean; + ///Sets the position related to mouse, first entry to the target element. + MouseEnter, - /** Instance of the sunburst model object - */ - model?: any; + ///Sets the position related to (x,y) co-ordinates. + Axis, - /** Name of the event - */ - type?: string; - } + ///Sets the position related to browser window. + Window +} - export interface DrillDownBackEventArgs { - /** Drill down data of points - */ - data?: string; +enum CloseMode{ - /** Set this option to true to cancel the event - */ - cancel?: boolean; + ///Enables close button in Tooltip. + Sticky, - /** Instance of the sunburst model object - */ - model?: any; + ///Sets the delay for Tooltip close + Auto, - /** Name of the event - */ - type?: string; - } + ///The Tooltip will be display normally. + None +} - export interface DrillDownResetEventArgs { - - /** Drill down reset data - */ - data?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst border. - * @Default {2} - */ - width?: number; - } - - export interface SegmentBorder { - - /** Segment Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst segment border. - * @Default {2} - */ - width?: number; - } - - export interface Size { - - /** Height of the Sunburst. - * @Default {''} - */ - height?: string; - - /** Width of the Sunburst. - * @Default {''} - */ - width?: string; - } - - export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {5} - */ - width?: number; - } - - export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {null} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {12px} - */ - size?: string; - } - - export interface Tooltip { - - /** tooltip visibility of the Sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options for customizing the border of the sunburst tooltip. - */ - border?: TooltipBorder; - - /** Fill color for the sunburst tooltip. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - - /** Custom template to the tooltip. - * @Default {null} - */ - template?: string; - } - - export interface Points { - - /** Points x value of the sunburst. - * @Default {null} - */ - x?: string; - - /** Points y value of the sunburst. - * @Default {null} - */ - y?: number; - - /** Points text of the sunburst. - * @Default {null} - */ - text?: string; - - /** Points fill color of the sunburst. - * @Default {null} - */ - fill?: string; - } - - export interface DataLabelSettingsFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; - } - - export interface DataLabelSettings { - - /** Datalabel visibility of the Sunburst. - * @Default {false} - */ - visible?: boolean; - - /** Alignment of sunburst datalabel - * @Default {Angle. See DatalabelAlignment} - */ - labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode | string; - - /** Options for customizing the data label font. - */ - font?: DataLabelSettingsFont; - - /** Custom template for datalabel - * @Default {null} - */ - template?: string; - - /** Fill color for the datalabel - * @Default {null} - */ - fill?: string; - - /** Datalabel overflow mode - * @Default {Trim. See LabelOverflowMode} - */ - labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode | string; - } - - export interface TitleFont { - - /** Font family for Sunburst title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for Sunburst title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for Sunburst title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the Sunburst title. - * @Default {1} - */ - opacity?: number; - - /** Font size for Sunburst title. - * @Default {20px} - */ - size?: string; - } - - export interface TitleSubtitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; - - /** Font size for sub title. - * @Default {12px} - */ - size?: string; - } - - export interface TitleSubtitle { - - /** Subtitle text for sunburst - */ - text?: string; - - /** Sub title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Sub title text alignment - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the font of sub title. - */ - font?: TitleSubtitleFont; - } - - export interface Title { - - /** Title text for sunburst - */ - text?: string; - - /** Title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Title text alignment - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the font of sunburst title. - */ - font?: TitleFont; - - /** Options to customize the sub title of Sunburst. - */ - subtitle?: TitleSubtitle; - } - - export interface HighlightSettings { - - /** Enables/disables the ability to highlight the levels or point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or point has to be highlighted. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; - - /** Color of the levels/point on highlight. - * @Default {red} - */ - color?: string; - - /** Opacity of the levels/point on highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be highlighted. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; - } - - export interface SelectionSettings { - - /** Enables/disables the ability to select the levels or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or data point has to be selected. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; - - /** Color of the levels/point on selection. - * @Default {green} - */ - color?: string; - - /** Opacity of the levels/point on selection. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be selected. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; - } - - export interface Level { - - /** Specifies the group member path - * @Default {null} - */ - groupMemberPath?: string; - } - - export interface LegendBorder { - - /** Border color of the legend. - * @Default {null} - */ - color?: string; - - /** Border width of the legend. - * @Default {1} - */ - width?: number; - } - - export interface LegendFont { - - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; - } - - export interface LegendItemStyle { - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; - } - - export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; - } - - export interface LegendSize { - - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; - } - - export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; - } - - export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Enables or disables the legend title. - * @Default {true} - */ - visible?: string; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - } - - export interface Legend { - - /** Visibility of the legend. - * @Default {false} - */ - visible?: boolean; - - /** Interactive action of legend items. - * @Default {toggleSegmentVisibility. See Alignment} - */ - clickAction?: ej.datavisualization.Sunburst.SunburstClickAction | string; - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Sunburst.SunburstLegendPosition | string; - - /** Shape of the legend items. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Sunburst.SunburstLegendShape | string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; - } - - export interface Margin { - - /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. - * @Default {10} - */ - left?: number; - - /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. - * @Default {10} - */ - right?: number; - - /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. - * @Default {10} - */ - top?: number; - - /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. - * @Default {10} - */ - bottom?: number; - } - - export interface ZoomSettings { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Toolbar horizontal alignment - * @Default {right. See Alignment} - */ - toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment | string; - - /** Toolbar vertical alignment - * @Default {top. See Alignment} - */ - toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment | string; - } - } - namespace Sunburst { - enum FontStyle { - //string - Normal, - //string - Italic, - } - } - namespace Sunburst { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } - } - namespace Sunburst { - enum SunburstLabelRotationMode { - //string - Angle, - //string - Normal, - } - } - namespace Sunburst { - enum SunburstLabelOverflowMode { - //string - Trim, - //string - Hide, - //string - None, - } - } - namespace Sunburst { - enum SunburstAlignment { - //string - Center, - //string - Near, - //string - Far, - } - } - namespace Sunburst { - enum SunburstHighlightMode { - //string - Point, - //string - Parent, - //string - Child, - //string - All, - } - } - namespace Sunburst { - enum SunburstHighlightType { - //string - Opacity, - //string - Color, - } - } - namespace Sunburst { - enum SunburstClickAction { - //string - None, - //string - ToggleSegmentVisibility, - //string - ToggleSegmentSelection, - } - } - namespace Sunburst { - enum SunburstLegendPosition { - //string - Left, - //string - Right, - //string - Top, - //string - Bottom, - } - } - namespace Sunburst { - enum SunburstLegendShape { - //string - Diamond, - //string - Pentagon, - //string - Rectangle, - //string - Circle, - //string - Cross, - //string - Triangle, - } - } - namespace Sunburst { - enum SunburstTheme { - //string - FlatLight, - //string - FlatDark, - } - } - namespace Sunburst { - enum SunburstHorizontalAlignment { - //string - Center, - //string - Left, - //string - Right, - } - } - namespace Sunburst { - enum SunburstVerticalAlignment { - //string - Top, - //string - Bottom, - //string - Middle, - } - } - namespace Sunburst { - enum Animation { - //string - Rotation, - //string - FadeIn, - } - } - - class Overview extends ej.Widget { - static fn: Overview; - constructor(element: JQuery | Element, options?: Overview.Model); - static Locale: any; - model: Overview.Model; - defaults: Overview.Model; - } - export namespace Overview { - - export interface Model { - - /** The sourceId property of overview should be set with the corresponding Diagram ID for you need the overall view. - * @Default {null} - */ - sourceID?: string; - - /** Defines the height of the overview - * @Default {400} - */ - height?: number; - - /** Defines the width of the overview - * @Default {250} - */ - width?: number; - } - } +enum Collision{ + + ///Flips the Tooltip to the opposite side of the target, if collision is occurs. + Flip, + + ///Shift the Tooltip popup away from the edge of the window(collision side) that means adjacent position. + Fit, + + ///Ensure as much of the element is visible as possible to showcase. + FlipFit, + + ///No collision detection is take place + None +} + + +enum Trigger{ + + ///The Tooltip to be shown when the target element is clicked. + Click, + + ///Enables the Tooltip when hover on the target element. + Hover, + + ///Enables the Tooltip when focus is set to target element. + Focus +} + +} + +class Editor extends ej.Widget { + static fn: Editor; + constructor(element: JQuery, options?: Editor.Model); + constructor(element: Element, options?: Editor.Model); + static Locale: any; + model:Editor.Model; + defaults:Editor.Model; + + /** destroy the editor widgets all events are unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To disable the corresponding Editors + * @returns {void} + */ + disable(): void; + + /** To enable the corresponding Editors + * @returns {void} + */ + enable(): void; + + /** To get value from corresponding Editors + * @returns {number} + */ + getValue(): number; +} + + class NumericTextbox extends Editor{ +} + + class CurrencyTextbox extends Editor{ +} + + class PercentageTextbox extends Editor{ +} +export module Editor{ + +export interface Model { + + /** Specifies the currency symbol of currency textbox, used when the user wants to overwrite the currency symbol commonly instead of the current culture symbol. + * @Default {Based on the culture} + */ + currencySymbol?: string; + + /** Sets the root CSS class for Editors which allow us to customize the appearance. + */ + cssClass?: string; + + /** Specifies the number of digits that should be allowed after the decimal point. + * @Default {0} + */ + decimalPlaces?: number; + + /** Specifies the editor control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the enablePersistence to editor to save current editor control value to browser cookies for state maintenance. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the Right to Left Direction to editor. + * @Default {false} + */ + enableRTL?: boolean; + + /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class,otherwise it internally changed to the correct value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Specifies the number of digits in each group to the editor. + * @Default {Based on the culture.} + */ + groupSize?: string; + + /** It provides the options to get the customized character to separate the digits. If not set, the separator defined by the current culture. + * @Default {Based on the culture} + */ + groupSeparator?: string; + + /** Specifies the height of the editor. + * @Default {30} + */ + height?: string; + + /** It allows to define the characteristics of the Editors control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The Editor value increment or decrement based an incrementStep value. + * @Default {1} + */ + incrementStep?: number; + + /** Defines the localization culture for editor. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the maximum value of the editor. + * @Default {Number.MAX_VALUE} + */ + maxValue?: number; + + /** Specifies the minimum value of the editor. + * @Default {-(Number.MAX_VALUE) and 0 for Currency Textbox.} + */ + minValue?: number; + + /** Specifies the name of the editor. + * @Default {Sets id as name if it is null.} + */ + name?: string; + + /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the negative pattern. you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. + * @Default {Based on the culture} + */ + negativePattern?: string; + + /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the positive pattern. you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. + * @Default {Based on the culture} + */ + positivePattern?: string; + + /** Toggles the readonly state of the editor. When the Editor is readonly it doesn't allow user interactions. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies to Change the sharped edges into rounded corner for the Editor. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies whether the up and down spin buttons should be displayed in editor. + * @Default {true} + */ + showSpinButton?: boolean; + + /** Enables decimal separator position validation on type . + * @Default {false} + */ + validateOnType?: boolean; + + /** Set the jQuery validation error message in editor. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules to the editor. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value of the editor. + * @Default {null} + */ + value?: number|string; + + /** Specifies the watermark text to editor. + * @Default {Based on the culture.} + */ + watermarkText?: string; + + /** Specifies the width of the editor. + * @Default {143} + */ + width?: string; + + /** Fires after Editor control value is changed. */ + change? (e: ChangeEventArgs): void; + + /** Fires after Editor control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when the Editor is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires after Editor control is focused. */ + focusIn? (e: FocusInEventArgs): void; + + /** Fires after Editor control is loss the focus. */ + focusOut? (e: FocusOutEventArgs): void; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the corresponding editor model. + */ + model?: ej.Editor.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the corresponding editor control value. + */ + value?: number; + + /** returns true when the value changed by user interaction otherwise returns false + */ + isInteraction?: boolean; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the editor model + */ + model?: ej.Editor.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the editor model + */ + model?: ej.Editor.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the corresponding editor model. + */ + model?: ej.Editor.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the corresponding editor control value. + */ + value?: number; +} + +export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the corresponding editor model. + */ + model?: ej.Editor.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the corresponding editor control value. + */ + value?: number; +} +} + +class ListView extends ej.Widget { + static fn: ListView; + constructor(element: JQuery, options?: ListView.Model); + constructor(element: Element, options?: ListView.Model); + static Locale: any; + model:ListView.Model; + defaults:ListView.Model; + + /** To add item in the given index. If you have enabled grouping in ListView then you need to pass the corresponding group list title to add item in it. + * @param {any} Specifies the item to be added in ListView + * @param {number} Specifies the index where item to be added + * @param {string} optionalThis is an optional parameter. You must pass the group list title here if grouping is enabled in the ListView + * @returns {void} + */ + addItem(item: any, index: number, groupid: string): void; + + /** To check all the items. + * @returns {void} + */ + checkAllItem(): void; + + /** To check item in the given index. + * @param {number} Specifies the index of the item to be checked + * @returns {void} + */ + checkItem(index: number): void; + + /** To clear all the list item in the control before updating with new datasource. + * @returns {void} + */ + clear(): void; + + /** To make the item in the given index to be default state. + * @param {number} Specifies the index to make the item to be in default state. + * @returns {void} + */ + deActive(index: number): void; + + /** To disable item in the given index. + * @param {number} Specifies the index value to be disabled. + * @returns {void} + */ + disableItem(index: number): void; + + /** To enable item in the given index. + * @param {number} Specifies the index value to be enabled. + * @returns {void} + */ + enableItem(index: number): void; + + /** To get the active item. + * @returns {HTMLElement} + */ + getActiveItem(): HTMLElement; + + /** To get the text of the active item. + * @returns {string} + */ + getActiveItemText(): string; + + /** To get all the checked items. + * @returns {Array} + */ + getCheckedItems(): Array; + + /** To get the text of all the checked items. + * @returns {Array} + */ + getCheckedItemsText(): Array; + + /** To get the total item count. + * @returns {number} + */ + getItemsCount(): number; + + /** To get the text of the item in the given index. + * @param {string|number} Specifies the index value to get the text value. + * @returns {string} + */ + getItemText(index: string|number): string; + + /** To check whether the item in the given index has child item. + * @param {number} Specifies the index value to check the item has child or not. + * @returns {boolean} + */ + hasChild(index: number): boolean; + + /** To hide the list. + * @returns {void} + */ + hide(): void; + + /** To hide item in the given index. + * @param {number} Specifies the index value to hide the item. + * @returns {void} + */ + hideItem(index: number): void; + + /** To check whether item in the given index is checked. + * @returns {boolean} + */ + isChecked(): boolean; + + /** To load the AJAX content while selecting the item. + * @param {string} Specifies the item to load the AJAX content. + * @returns {void} + */ + loadAjaxContent(item: string): void; + + /** To remove the check mark either for specific item in the given index or for all items. + * @param {number} Specifies the index value to remove the checkbox. + * @returns {void} + */ + removeCheckMark(index: number): void; + + /** To remove item in the given index. + * @param {number} Specifies the index value to remove the item. + * @returns {void} + */ + removeItem(index: number): void; + + /** To select item in the given index. + * @param {number} Specifies the index value to select the item. + * @returns {void} + */ + selectItem(index: number): void; + + /** To make the item in the given index to be active state. + * @param {number} Specifies the index value to make the item in active state. + * @returns {void} + */ + setActive(index: number): void; + + /** To show the list. + * @returns {void} + */ + show(): void; + + /** To show item in the given index. + * @param {number} Specifies the index value to show the hided item. + * @returns {void} + */ + showItem(index: number): void; + + /** To uncheck all the items. + * @returns {void} + */ + unCheckAllItem(): void; + + /** To uncheck item in the given index. + * @param {number} Specifies the index value to uncheck the item. + * @returns {void} + */ + unCheckItem(index: number): void; +} +export module ListView{ + +export interface Model { + + /** Specifies the ajaxSettings option to load the items to the ListView control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Set the index values to be selected on initial loading. This works only when enableCheckMark is set true. + * @Default {[]} + */ + checkedIndices?: Array; + + /** Sets the root class for ListView theme. This cssClass API helps to use custom skinning option for ListView control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** Contains the list of data for generating the ListView items. + * @Default {[]} + */ + dataSource?: Array; + + /** Specifies whether to load AJAX content while selecting item. + * @Default {false} + */ + enableAjax?: boolean; + + /** Specifies whether to enable caching the content. + * @Default {false} + */ + enableCache?: boolean; + + /** Specifies whether to enable check mark for the item. + * @Default {false} + */ + enableCheckMark?: boolean; + + /** Specifies whether to enable the filtering feature to filter the item. + * @Default {false} + */ + enableFiltering?: boolean; + + /** Specifies whether to group the list item. + * @Default {false} + */ + enableGroupList?: boolean; + + /** Specifies to maintain the current model value to browser cookies for state maintenance. While refresh the page, the model value will get apply to the control from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the field settings to map the datasource. + */ + fieldSettings?: any; + + /** Contains the array of items to be added in ListView. + * @Default {[]} + */ + items?: Array; + + /** Specifies the text of the back button in the header. + * @Default {null} + */ + headerBackButtonText?: string; + + /** Specifies the title of the header. + * @Default {Title} + */ + headerTitle?: string; + + /** Specifies the height. + * @Default {null} + */ + height?: string|number; + + /** Set the localization culture for ListView Widget. + */ + locale?: string; + + /** Specifies whether to retain the selection of the item. + * @Default {false} + */ + persistSelection?: boolean; + + /** Specifies whether to prevent the selection of the item. + * @Default {false} + */ + preventSelection?: boolean; + + /** Specifies the query to execute with the datasource. + * @Default {null} + */ + query?: any; + + /** Specifies whether need to render the control with the template contents. + * @Default {false} + */ + renderTemplate?: boolean; + + /** Specifies the index of item which need to be in selected state initially while loading. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Specifies whether to show the header. + * @Default {true} + */ + showHeader?: boolean; + + /** Specifies whether to show the back button header. + * @Default {false} + */ + showHeaderBackButton?: boolean; + + /** Specifies ID of the element contains template contents. + * @Default {null} + */ + templateId?: string; + + /** Specifies the width. + * @Default {null} + */ + width?: string|number; + + /** Specifies the number of items to be fetched on each scroll. Note: This property works only with Virtual scrolling. + * @Default {5} + */ + itemRequestCount?: number; + + /** Specifies the maximum number of items to be fetched. Note: This will work only with Virtual scrolling + * @Default {null} + */ + totalItemsCount?: number; + + /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using virtualScrollMode property. + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. + * @Default {ej.VirtualScrollMode.Normal} + */ + virtualScrollMode?: ej.VirtualScrollMode|string; + + /** Event triggers before the AJAX request happens. */ + ajaxBeforeLoad? (e: AjaxBeforeLoadEventArgs): void; + + /** Event triggers after the AJAX content loaded completely. */ + ajaxComplete? (e: AjaxCompleteEventArgs): void; + + /** Event triggers when the AJAX request failed. */ + ajaxError? (e: AjaxErrorEventArgs): void; + + /** Event triggers after the AJAX content loaded successfully. */ + ajaxSuccess? (e: AjaxSuccessEventArgs): void; + + /** Event triggers before the items loaded. */ + load? (e: LoadEventArgs): void; + + /** Event triggers after the items loaded. */ + loadComplete? (e: LoadCompleteEventArgs): void; + + /** Event triggers when mouse down happens on the item. */ + mouseDown? (e: MouseDownEventArgs): void; + + /** Event triggers when mouse up happens on the item. */ + mouseUp? (e: MouseUpEventArgs): void; +} + +export interface AjaxBeforeLoadEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + + /** returns the AJAX settings. + */ + ajaxData?: any; +} + +export interface AjaxCompleteEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; +} + +export interface AjaxErrorEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + + /** returns the error thrown in the AJAX post. + */ + errorThrown?: any; + + /** returns the status. + */ + textStatus?: any; + + /** returns the current list item. + */ + item?: any; + + /** returns the current item text. + */ + text?: string; + + /** returns the current item index. + */ + index?: number; +} + +export interface AjaxSuccessEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + + /** returns the AJAX current content. + */ + content?: string; + + /** returns the current list item. + */ + item?: any; + + /** returns the current item text. + */ + text?: string; + + /** returns the current item index. + */ + index?: number; + + /** returns the current URL of the AJAX post. + */ + URL?: string; +} + +export interface LoadEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; +} + +export interface LoadCompleteEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; +} + +export interface MouseDownEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + + /** If the child element exist return true; otherwise, false. + */ + hasChild?: boolean; + + /** returns the current list item. + */ + item?: string; + + /** returns the current text of item. + */ + text?: string; + + /** returns the current Index of the item. + */ + index?: number; + + /** If checked return true; otherwise, false. + */ + isChecked?: boolean; + + /** returns the list of checked items. + */ + checkedItems?: number; + + /** returns the current checked item text. + */ + checkedItemsText?: string; +} + +export interface MouseUpEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + + /** If the child element exist return true; otherwise, false. + */ + hasChild?: boolean; + + /** returns the current list item. + */ + item?: string; + + /** returns the current text of item. + */ + text?: string; + + /** returns the current Index of the item. + */ + index?: number; + + /** If checked return true; otherwise, false. + */ + isChecked?: boolean; + + /** returns the list of checked items. + */ + checkedItems?: number; + + /** returns the current checked item text. + */ + checkedItemsText?: string; +} + +export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; + + /** It specifies the HTTP request type. + */ + type?: string; +} +} + +class MaskEdit extends ej.Widget { + static fn: MaskEdit; + constructor(element: JQuery, options?: MaskEdit.Model); + constructor(element: Element, options?: MaskEdit.Model); + static Locale: any; + model:MaskEdit.Model; + defaults:MaskEdit.Model; + + /** To clear the text in mask edit textbox control. + * @returns {void} + */ + clear(): void; + + /** To disable the mask edit textbox control. + * @returns {void} + */ + disable(): void; + + /** To enable the mask edit textbox control. + * @returns {void} + */ + enable(): void; + + /** To obtained the pure value of the text value, removes all the symbols in mask edit textbox control. + * @returns {string} + */ + get_StrippedValue(): string; + + /** To obtained the textbox value as such that, Just replace all '_' to ' '(space) in mask edit textbox control. + * @returns {string} + */ + get_UnstrippedValue(): string; +} +export module MaskEdit{ + +export interface Model { + + /** Specify the cssClass to achieve custom theme. + * @Default {null} + */ + cssClass?: string; + + /** Specify the custom character allowed to entered in mask edit textbox control. + * @Default {null} + */ + customCharacter?: string; + + /** Specify the state of the mask edit textbox control. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the enablePersistence to mask edit textbox to save current model value to browser cookies for state maintains. + */ + enablePersistence?: boolean; + + /** Specifies the height for the mask edit textbox control. + * @Default {28 px} + */ + height?: string; + + /** Specifies whether hide the prompt characters with spaces on blur. Prompt chars will be shown again on focus the textbox. + * @Default {false} + */ + hidePromptOnLeave?: boolean; + + /** Specifies the list of HTML attributes to be added to mask edit textbox. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specify the inputMode for mask edit textbox control. See InputMode + * @Default {ej.InputMode.Text} + */ + inputMode?: ej.InputMode|string; + + /** Specifies the input mask. + * @Default {null} + */ + maskFormat?: string; + + /** Specifies the name attribute value for the mask edit textbox. + * @Default {null} + */ + name?: string; + + /** Toggles the readonly state of the mask edit textbox. When the mask edit textbox is readonly, it doesn't allow your input. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies whether the error will show until correct value entered in the mask edit textbox control. + * @Default {false} + */ + showError?: boolean; + + /** when showPromptChar is true, the hide the prompt characters are shown in focus of the control and hides in focus out of the control. + * @Default {true} + */ + showPromptChar?: boolean; + + /** MaskEdit input is displayed in rounded corner style when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specify the text alignment for mask edit textbox control.See TextAlign + * @Default {left} + */ + textAlign?: ej.TextAlign|string; + + /** Sets the jQuery validation error message in mask edit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. + * @Default {null} + */ + validationMessage?: any; + + /** Sets the jQuery validation rules to the MaskEdit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value for the mask edit textbox control. + * @Default {null} + */ + value?: string; + + /** Specifies the water mark text to be displayed in input text. + * @Default {null} + */ + watermarkText?: string; + + /** Specifies the width for the mask edit textbox control. + * @Default {143pixel} + */ + width?: string; + + /** Fires when value changed in mask edit textbox control. */ + change? (e: ChangeEventArgs): void; + + /** Fires after MaskEdit control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when the MaskEdit is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when focused in mask edit textbox control. */ + focusIn? (e: FocusInEventArgs): void; + + /** Fires when focused out in mask edit textbox control. */ + focusOut? (e: FocusOutEventArgs): void; + + /** Fires when keydown in mask edit textbox control. */ + keydown? (e: KeydownEventArgs): void; + + /** Fires when key press in mask edit textbox control. */ + keyPress? (e: KeyPressEventArgs): void; + + /** Fires when keyup in mask edit textbox control. */ + keyup? (e: KeyupEventArgs): void; + + /** Fires when mouse out in mask edit textbox control. */ + mouseOut? (e: MouseOutEventArgs): void; + + /** Fires when mouse over in mask edit textbox control. */ + mouseOver? (e: MouseOverEventArgs): void; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the MaskEdit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the MaskEdit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface KeydownEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface KeyPressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface KeyupEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface MouseOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} + +export interface MouseOverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; +} +} +enum InputMode +{ +//string +Password, +//string +Text, +} +enum TextAlign +{ +//string +Center, +//string +Justify, +//string +Left, +//string +Right, +} + +class Menu extends ej.Widget { + static fn: Menu; + constructor(element: JQuery, options?: Menu.Model); + constructor(element: Element, options?: Menu.Model); + static Locale: any; + model:Menu.Model; + defaults:Menu.Model; + + /** Disables the Menu control. + * @returns {void} + */ + disable(): void; + + /** Specifies the Menu Item to be disabled by using the Menu Item Text. + * @param {string} Specifies the Menu Item Text to be disabled. + * @returns {void} + */ + disableItem(itemtext: string): void; + + /** Specifies the Menu Item to be disabled by using the Menu Item Id. + * @param {string|number} Specifies the Menu Item id to be disabled + * @returns {void} + */ + disableItemByID(itemid: string|number): void; + + /** Enables the Menu control. + * @returns {void} + */ + enable(): void; + + /** Specifies the Menu Item to be enabled by using the Menu Item Text. + * @param {string} Specifies the Menu Item Text to be enabled. + * @returns {void} + */ + enableItem(itemtext: string): void; + + /** Specifies the Menu Item to be enabled by using the Menu Item Id. + * @param {string|number} Specifies the Menu Item id to be enabled. + * @returns {void} + */ + enableItemByID(itemid: string|number): void; + + /** Hides the Context Menu control. + * @returns {void} + */ + hide(): void; + + /** Hides the specific items in Menu control. + * @returns {void} + */ + hideItems(): void; + + /** Insert the menu item as child of target node. + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insert(item: any, target: string|any): void; + + /** Insert the menu item after the target node. + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insertAfter(item: any, target: string|any): void; + + /** Insert the menu item before the target node. + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insertBefore(item: any, target: string|any): void; + + /** Remove Menu item. + * @param {any|Array} Selector of target node or Object of target node. + * @returns {void} + */ + remove(target: any|Array): void; + + /** To show the Menu control. + * @param {number} x co-ordinate position of context menu. + * @param {number} y co-ordinate position of context menu. + * @param {any} target element + * @param {any} name of the event + * @returns {void} + */ + show(locationX: number, locationY: number, targetElement: any, event: any): void; + + /** Show the specific items in Menu control. + * @returns {void} + */ + showItems(): void; +} +export module Menu{ + +export interface Model { + + /** To enable or disable the Animation while hover or click an menu items.See AnimationType + * @Default {ej.AnimationType.Default} + */ + animationType?: ej.AnimationType|string; + + /** Specifies the target id of context menu. On right clicking the specified contextTarget element, context menu gets shown. + * @Default {null} + */ + contextMenuTarget?: string; + + /** Specifies the container element selectors for submenu’s collision. The submenu gets displayed based on spacing available with respect to container element. + * @Default {null} + */ + container?: string; + + /** Specify the CSS class to achieve custom theme. + */ + cssClass?: string; + + /** To enable or disable the Animation effect while hover or click an menu items. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the root menu items to be aligned center in horizontal menu. + * @Default {false} + */ + enableCenterAlign?: boolean; + + /** Enable / Disable the Menu control. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the menu items to be displayed in right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** When this property sets to false, the menu items is displayed without any separators. + * @Default {true} + */ + enableSeparator?: boolean; + + /** Specifies the target which needs to be excluded. i.e., The context menu will not be displayed in those specified targets. + * @Default {null} + */ + excludeTarget?: string; + + /** Fields used to bind the data source and it includes following field members to make data bind easier. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the height of the root menu. + * @Default {auto} + */ + height?: string|number; + + /** Specifies the list of HTML attributes to be added to menu control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Enables/disables responsive support for the Menu control during the window resizing time. + * @Default {true} + */ + isResponsive?: boolean; + + /** Specifies the type of the menu. Essential JavaScript Menu consists of two type of menu, they are Normal Menu and Context Menu mode.See MenuType + * @Default {ej.MenuType.NormalMenu} + */ + menuType?: string|ej.MenuType; + + /** Specifies the sub menu items to be show or open only on click. + * @Default {false} + */ + openOnClick?: boolean; + + /** Specifies the orientation of normal menu. Normal menu can rendered in horizontal or vertical direction by using this API. See Orientation + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation|string; + + /** Specifies the main menu items arrows only to be shown if it contains child items. + * @Default {true} + */ + showRootLevelArrows?: boolean; + + /** Specifies the sub menu items arrows only to be shown if it contains child items. + * @Default {true} + */ + showSubLevelArrows?: boolean; + + /** Specifies position of pull down submenu that will appear on mouse over.See Direction + * @Default {ej.Direction.Right} + */ + subMenuDirection?: string|ej.Direction; + + /** Specifies the title to responsive menu. + * @Default {Menu} + */ + titleText?: string; + + /** Specifies the width of the main menu. + * @Default {auto} + */ + width?: string|number; + + /** Specifies the popup menu height. + * @Default {auto} + */ + overflowHeight?: string|number; + + /** Specifies the popup menu width. + * @Default {auto} + */ + overflowWidth?: string|number; + + /** Fires before context menu gets open. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Fires when mouse click on menu items. */ + click? (e: ClickEventArgs): void; + + /** Fire when context menu on close. */ + close? (e: CloseEventArgs): void; + + /** Fires when context menu on open. */ + open? (e: OpenEventArgs): void; + + /** Fires to create menu items. */ + create? (e: CreateEventArgs): void; + + /** Fires to destroy menu items. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when key down on menu items. */ + keydown? (e: KeydownEventArgs): void; + + /** Fires when mouse out from menu items. */ + mouseout? (e: MouseoutEventArgs): void; + + /** Fires when mouse over the Menu items. */ + mouseover? (e: MouseoverEventArgs): void; + + /** Fires when overflow popup menu opens. */ + overflowOpen? (e: OverflowOpenEventArgs): void; + + /** Fires when overflow popup menu closes. */ + overflowClose? (e: OverflowCloseEventArgs): void; +} + +export interface BeforeOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; +} + +export interface ClickEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + + /** returns the selected item + */ + selectedItem?: number; +} + +export interface CloseEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; +} + +export interface OpenEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; +} + +export interface CreateEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface KeydownEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + menuText?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; +} + +export interface MouseoutEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; +} + +export interface MouseoverEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; +} + +export interface OverflowOpenEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + e?: any; + + /** if the event should be cancelled ; otherwise ,false + */ + cancel?: boolean; +} + +export interface OverflowCloseEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + e?: any; + + /** if the event should be cancelled ; otherwise ,false + */ + cancel?: boolean; +} + +export interface Fields { + + /** It receives the child data for the inner level. + */ + child?: any; + + /** It receives datasource as Essential DataManager object and JSON object. + */ + dataSource?: any; + + /** Specifies the HTML attributes to “LI” item list. + */ + htmlAttribute?: string; + + /** Specifies the id to menu items list + */ + id?: string; + + /** Specifies the image attribute to “img” tag inside items list. + */ + imageAttribute?: string; + + /** Specifies the image URL to “img” tag inside item list. + */ + imageUrl?: string; + + /** Adds custom attributes like "target" to the anchor tag of the menu items. + */ + linkAttribute?: string; + + /** Specifies the parent id of the table. + */ + parentId?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + */ + query?: any; + + /** Specifies the sprite CSS class to “LI” item list. + */ + spriteCssClass?: string; + + /** It receives table name to execute query on the corresponding table. + */ + tableName?: string; + + /** Specifies the text of menu items list. + */ + text?: string; + + /** Specifies the URL to the anchor tag in menu item list. + */ + url?: string; +} +} +enum AnimationType +{ +//string +Default, +//string +None, +} +enum MenuType +{ +//string +ContextMenu, +//string +NormalMenu, +} +enum Direction +{ +//string +Left, +//string +None, +//string +Right, +} + +class Pager extends ej.Widget { + static fn: Pager; + constructor(element: JQuery, options?: Pager.Model); + constructor(element: Element, options?: Pager.Model); + static Locale: any; + model:Pager.Model; + defaults:Pager.Model; + + /** Send a paging request to specified page through the pager control. + * @param {number} Specifies the index to be navigated + * @returns {void} + */ + gotoPage(pageIndex: number): void; + + /** refreshPager() helps to refresh the model value of pager control. + * @returns {void} + */ + refreshPager(): void; +} +export module Pager{ + +export interface Model { + + /** Gets or sets a value that indicates whether to display the custom text message in Pager. + */ + customText?: string; + + /** Gets or sets a value that indicates whether to define which page to display currently in pager. + * @Default {1} + */ + currentPage?: number; + + /** Gets or sets a value that indicates whether to display the external Message in Pager. + * @Default {false} + */ + enableExternalMessage?: boolean; + + /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. + * @Default {false} + */ + enableQueryString?: boolean; + + /** Align content in the pager control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** Gets or sets a value that indicates whether to display the external Message in Pager. + */ + externalMessage?: string; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation. + * @Default {10} + */ + pageCount?: number; + + /** Gets or sets a value that indicates whether to define the number of records displayed per page. + * @Default {12} + */ + pageSize?: number; + + /** Get or sets a value of total number of pages in the pager. The totalPages value is calculated based on page size and total records. + * @Default {null} + */ + totalPages?: number; + + /** Get the value of total number of records which is bound to a data item. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Shows or hides the current page information in pager footer. + * @Default {true} + */ + showPageInfo?: boolean; + + /** Triggered when pager numeric item is clicked in pager control. */ + click? (e: ClickEventArgs): void; +} + +export interface ClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current page index. + */ + currentPage?: number; + + /** Returns the pager model. + */ + model?: any; + + /** Returns the name of event + */ + type?: string; + + /** Returns current action event type and its target. + */ + event?: any; +} +} + +class Print extends ej.Widget { + static fn: Print; + constructor(element: JQuery, options?: Print.Model); + constructor(element: Element, options?: Print.Model); + static Locale: any; + model:Print.Model; + defaults:Print.Model; + + /** Print the specific page or an element. + * @returns {void} + */ + print(): void; +} +export module Print{ + +export interface Model { + + /** Append the custom HTML after the selected content. + * @Default {null} + */ + append?: string; + + /** A selector that specifies a particular element to be excluded from printing. + * @Default {null} + */ + excludeSelector?: string; + + /** Specifies whether the URL of an external stylesheet can be included to customize and print that page. + * @Default {null} + */ + externalStyles?: String; + + /** Prepend a doctype to the document frame. + * @Default {<!doctype html>} + */ + docType?: string; + + /** Specifies whether the global styles can be applied to the element to be printed. + * @Default {true} + */ + globalStyles?: Boolean; + + /** Sets the height of the print window. + * @Default {454} + */ + height?: Number; + + /** Prepends the custom HTML before the selected content. + * @Default {null} + */ + prepend?: string; + + /** Allows printing the content in a new window. + * @Default {false} + */ + printInNewWindow?: Boolean; + + /** Sets the period of time to wait before printing the content. + * @Default {1000} + */ + timeOutPeriod?: Number; + + /** Sets the title of the print document. + * @Default {null} + */ + title?: string; + + /** Defines the width of the print window. + * @Default {1024} + */ + width?: Number; + + /** Event triggers before the document page or an element in it gets printed. */ + beforeStart? (e: BeforeStartEventArgs): void; +} + +export interface BeforeStartEventArgs { + + /** Set this option as true to cancel the event. + */ + cancel?: boolean; + + /** Returns the Print model + */ + model?: ej.Print.Model; + + /** Returns the name of an event + */ + type?: string; + + /** Returns the printed element + */ + content?: any; +} +} + +class ProgressBar extends ej.Widget { + static fn: ProgressBar; + constructor(element: JQuery, options?: ProgressBar.Model); + constructor(element: Element, options?: ProgressBar.Model); + static Locale: any; + model:ProgressBar.Model; + defaults:ProgressBar.Model; + + /** Destroy the progressbar widget + * @returns {void} + */ + destroy(): void; + + /** Disables the progressbar control + * @returns {void} + */ + disable(): void; + + /** Enables the progressbar control + * @returns {void} + */ + enable(): void; + + /** Returns the current progress value in percent. + * @returns {number} + */ + getPercentage(): number; + + /** Returns the current progress value + * @returns {number} + */ + getValue(): number; +} +export module ProgressBar{ + +export interface Model { + + /** Sets the root CSS class for ProgressBar theme, which is used customize. + * @Default {null} + */ + cssClass?: string; + + /** When this property sets to false, it disables the ProgressBar control + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for state maintains. While refresh the progressBar control page retains the model value apply from browser cookies + * @Default {false} + */ + enablePersistence?: boolean; + + /** Sets the ProgressBar direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines the height of the ProgressBar. + * @Default {null} + */ + height?: number|string; + + /** It allows to define the characteristics of the progressBar control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the maximum value of the ProgressBar. + * @Default {100} + */ + maxValue?: number; + + /** Sets the minimum value of the ProgressBar. + * @Default {0} + */ + minValue?: number; + + /** Sets the ProgressBar value in percentage. The value should be in between 0 to 100. + * @Default {0} + */ + percentage?: number; + + /** Displays rounded corner borders on the progressBar control. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Sets the custom text for the ProgressBar. The text placed in the middle of the ProgressBar and it can be customizable using the class 'e-progress-text'. + * @Default {null} + */ + text?: string; + + /** Sets the ProgressBar value. The value should be in between min and max values. + * @Default {0} + */ + value?: number; + + /** Defines the width of the ProgressBar. + * @Default {null} + */ + width?: number|string; + + /** Event triggers when the progress value changed */ + change? (e: ChangeEventArgs): void; + + /** Event triggers when the process completes (at 100%) */ + complete? (e: CompleteEventArgs): void; + + /** Event triggers when the progressbar are created */ + create? (e: CreateEventArgs): void; + + /** Event triggers when the progressbar are destroyed */ + destroy? (e: DestroyEventArgs): void; + + /** Event triggers when the process starts (from 0%) */ + start? (e: StartEventArgs): void; +} + +export interface ChangeEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; + + /** returns the current progress percentage + */ + percentage?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current progress value + */ + value?: string; +} + +export interface CompleteEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; + + /** returns the current progress percentage + */ + percentage?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current progress value + */ + value?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the progressbar model + */ + model?: ej.ProgressBar.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the progressbar model + */ + model?: ej.ProgressBar.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface StartEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; + + /** returns the current progress percentage + */ + percentage?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current progress value + */ + value?: string; +} +} + +class RadioButton extends ej.Widget { + static fn: RadioButton; + constructor(element: JQuery, options?: RadioButton.Model); + constructor(element: Element, options?: RadioButton.Model); + static Locale: any; + model:RadioButton.Model; + defaults:RadioButton.Model; + + /** To disable the RadioButton + * @returns {void} + */ + disable(): void; + + /** To enable the RadioButton + * @returns {void} + */ + enable(): void; +} +export module RadioButton{ + +export interface Model { + + /** Specifies the check attribute of the Radio Button. + * @Default {false} + */ + checked?: boolean; + + /** Specify the CSS class to RadioButton to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the RadioButton control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the enablePersistence property for RadioButton while initialization. The enablePersistence API save current model value to browser cookies for state maintains. While refreshing the radio button control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specify the Right to Left direction to RadioButton + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the HTML Attributes of the Checkbox + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the id attribute for the Radio Button while initialization. + * @Default {null} + */ + id?: string; + + /** Specify the idPrefix value to be added before the current id of the RadioButton. + * @Default {ej} + */ + idPrefix?: string; + + /** Specifies the name attribute for the Radio Button while initialization. + * @Default {Sets id as name if it is null} + */ + name?: string; + + /** Specifies the size of the RadioButton. + * @Default {small} + */ + size?: ej.RadioButtonSize|string; + + /** Specifies the text content for RadioButton. + */ + text?: string; + + /** Set the jQuery validation error message in radio button. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules in radio button. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value attribute of the Radio Button. + * @Default {null} + */ + value?: string; + + /** Fires before the RadioButton is going to changed its state successfully */ + beforeChange? (e: BeforeChangeEventArgs): void; + + /** Fires when the RadioButton state is changed successfully */ + change? (e: ChangeEventArgs): void; + + /** Fires when the RadioButton created successfully */ + create? (e: CreateEventArgs): void; + + /** Fires when the RadioButton destroyed successfully */ + destroy? (e: DestroyEventArgs): void; +} + +export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true if element is checked, otherwise returns false + */ + isChecked?: boolean; + + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true if element is checked, otherwise returns false + */ + isChecked?: boolean; + + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; +} +} +enum RadioButtonSize +{ +//Shows small size radio button +Small, +//Shows medium size radio button +Medium, +} + +class Rating extends ej.Widget { + static fn: Rating; + constructor(element: JQuery, options?: Rating.Model); + constructor(element: Element, options?: Rating.Model); + static Locale: any; + model:Rating.Model; + defaults:Rating.Model; + + /** Destroy the Rating widget all events bound will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To get the current value of rating control. + * @returns {number} + */ + getValue(): number; + + /** To hide the rating control. + * @returns {void} + */ + hide(): void; + + /** User can refresh the rating control to identify changes. + * @returns {void} + */ + refresh(): void; + + /** To reset the rating value. + * @returns {void} + */ + reset(): void; + + /** To set the rating value. + * @param {string|number} Specifies the rating value. + * @returns {void} + */ + setValue(value: string|number): void; + + /** To show the rating control + * @returns {void} + */ + show(): void; +} +export module Rating{ + +export interface Model { + + /** Enables the rating control with reset button.It can be used to reset the rating control value. + * @Default {true} + */ + allowReset?: boolean; + + /** Specify the CSS class to achieve custom theme. + */ + cssClass?: string; + + /** When this property is set to false, it disables the rating control. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the height of the Rating control wrapper. + * @Default {null} + */ + height?: string; + + /** Specifies the list of HTML attributes to be added to rating control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the value to be increased while navigating between shapes(stars) in Rating control. + * @Default {1} + */ + incrementStep?: number; + + /** Allow to render the maximum number of Rating shape(star). + * @Default {5} + */ + maxValue?: number; + + /** Allow to render the minimum number of Rating shape(star). + * @Default {0} + */ + minValue?: number; + + /** Specifies the orientation of Rating control. See Orientation + * @Default {ej.Rating.Orientation.Horizontal} + */ + orientation?: ej.Orientation|string; + + /** Helps to provide more precise ratings.Rating control supports three precision modes - full, half, and exact. See Precision + * @Default {full} + */ + precision?: ej.Rating.Precision|string; + + /** Interaction with Rating control can be prevented by enabling this API. + * @Default {false} + */ + readOnly?: boolean; + + /** To specify the height of each shape in Rating control. + * @Default {23} + */ + shapeHeight?: number; + + /** To specify the width of each shape in Rating control. + * @Default {23} + */ + shapeWidth?: number; + + /** Enables the tooltip option.Currently selected value will be displayed in tooltip. + * @Default {true} + */ + showTooltip?: boolean; + + /** To specify the number of stars to be selected while rendering. + * @Default {1} + */ + value?: number; + + /** Specifies the width of the Rating control wrapper. + * @Default {null} + */ + width?: string; + + /** Fires when Rating value changes. */ + change? (e: ChangeEventArgs): void; + + /** Fires when Rating control is clicked successfully. */ + click? (e: ClickEventArgs): void; + + /** Fires when Rating control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when Rating control is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when mouse hover is removed from Rating control. */ + mouseout? (e: MouseoutEventArgs): void; + + /** Fires when mouse hovered over the Rating control. */ + mouseover? (e: MouseoverEventArgs): void; +} + +export interface ChangeEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; +} + +export interface ClickEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface MouseoutEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; +} + +export interface MouseoverEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; + + /** returns the current index value. + */ + index?: any; +} + +enum Precision{ + + ///string + Exact, + + ///string + Full, + + ///string + Half +} + +} + +class Ribbon extends ej.Widget { + static fn: Ribbon; + constructor(element: JQuery, options?: Ribbon.Model); + constructor(element: Element, options?: Ribbon.Model); + static Locale: any; + model:Ribbon.Model; + defaults:Ribbon.Model; + + /** Adds contextual tab or contextual tab set dynamically in the ribbon control with contextual tabs object and index position. When index is null, ribbon contextual tab or contextual tab set is added at the last index. + * @param {any} contextual tab or contextual tab set object. + * @param {number} index of the contextual tab or contextual tab set, this is optional. + * @returns {void} + */ + addContextualTabs(contextualTabSet: any, index?: number): void; + + /** Add new option to Backstage page. + * @param {any} select the object to add the backstage item + * @param {number} index to the backstage item this is optional. + * @returns {void} + */ + addBackStageItem(item: any, index?: number): void; + + /** Adds tab dynamically in the ribbon control with given name, tab group array and index position. When index is null, ribbon tab is added at the last index. + * @param {string} ribbon tab display text. + * @param {Array} groups to be displayed in ribbon tab . + * @param {number} index of the ribbon tab,this is optional. + * @returns {void} + */ + addTab(tabText: string, ribbonGroups: Array, index?: number): void; + + /** Adds tab group dynamically in the ribbon control with given tab index, tab group object and group index position. When group index is null, ribbon group is added at the last index. + * @param {number} ribbon tab index. + * @param {any} group to be displayed in ribbon tab . + * @param {number} index of the ribbon group,this is optional. + * @returns {void} + */ + addTabGroup(tabIndex: number, tabGroup: any, groupIndex?: number): void; + + /** Adds group content dynamically in the ribbon control with given tab index, group index, content, content index and sub group index position. When content index is null, content is added at the last index. + * @param {number} ribbon tab index. + * @param {number} ribbon group index. + * @param {any} content to be displayed in the ribbon group. + * @param {number} ribbon content index. This is optional. If the value is not given, then by default contentIndex will be considered as 0. + * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, then by default contentIndex will be considered as 0. + * @returns {void} + */ + addTabGroupContent(tabIndex: number, groupIndex: number, content: any, contentIndex?: number, subGroupIndex?: number): void; + + /** Hides the ribbon backstage page. + * @returns {void} + */ + hideBackstage(): void; + + /** Collapses the ribbon tab content. + * @returns {void} + */ + collapse(): void; + + /** Destroys the ribbon widget. All the events bound using this._on are unbound automatically and the ribbon control is moved to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Expands the ribbon tab content. + * @returns {void} + */ + expand(): void; + + /** Gets text of the given index tab in the ribbon control. + * @param {number} index of the tab item. + * @returns {String} + */ + getTabText(index: number): String; + + /** Hides the given text tab in the ribbon control. + * @param {string} text of the tab item. + * @returns {void} + */ + hideTab(text: string): void; + + /** Checks whether the given text tab in the ribbon control is enabled or not. + * @param {string} text of the tab item. + * @returns {Boolean} + */ + isEnable(text: string): Boolean; + + /** Checks whether the given text tab in the ribbon control is visible or not. + * @param {string} text of the tab item. + * @returns {Boolean} + */ + isVisible(text: string): Boolean; + + /** Removes the given index tab item from the ribbon control. + * @param {number} index of tab item. + * @returns {void} + */ + removeTab(index: number): void; + + /** Sets new text to the given text tab in the ribbon control. + * @param {string} current text of the tab item. + * @param {string} new text of the tab item. + * @returns {void} + */ + setTabText(tabText: string, newText: string): void; + + /** Displays the ribbon backstage page. + * @returns {void} + */ + showBackstage(): void; + + /** Displays the given text tab in the ribbon control. + * @param {string} text of the tab item. + * @returns {void} + */ + showTab(text: string): void; + + /** To customize Group alone in the inside content. + * @param {number} ribbon tab index. + * @param {string} group id to be displayed in ribbon tab . + * @param {any} contentGroup is used in the object + * @returns {void} + */ + updateGroup(tabIndex: number, groupId: string, contentGroup?: any): void; + + /** Update option in existing Backstage. + * @param {number} index to the backstage item + * @param {any} select the object to add the backstage item + * @returns {void} + */ + updateBackStageItem(index: number, item?: any): void; + + /** To customize whole content from Tab Group. + * @param {number} ribbon tab index. + * @param {string} ribbon group text. + * @param {number} ribbon content index. This is optional. If the value is not given, all content groups will be removed. + * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, all content groups will be removed. + * @returns {void} + */ + removeTabGroupContent(tabIndex: number, groupText: string, contentIndex?: number, subGroupIndex?: number): void; + + /** Remove option from Backstage. + * @param {number} index to the backstage item + * @returns {void} + */ + removeBackStageItem(index: number): void; +} +export module Ribbon{ + +export interface Model { + + /** Enables the ribbon resize feature.allowResizing is a deprecated property of isResponsive. + * @Default {false} + */ + allowResizing?: boolean; + + /** When set to true, adapts the Ribbon layout to fit the screen size of devices on which it renders. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the height, width, enableRTL, showRoundedCorner,enabled,cssClass property to the controls in the ribbon commonly andit will work only when those properties are not defined in buttonSettings and content defaults. + * @Default {Object} + */ + buttonDefaults?: any; + + /** Property to enable the ribbon quick access toolbar. + * @Default {false} + */ + showQAT?: boolean; + + /** Sets custom setting to the collapsible pin in the ribbon. + * @Default {Object} + */ + collapsePinSettings?: CollapsePinSettings; + + /** Set enableOnDemand as true to load ribbon tab and backstage contents while corresponding item clicked. + * @Default {false} + */ + enableOnDemand?: boolean; + + /** Set collapsible property as true to render ribbon in initially collapsed state. + * @Default {false} + */ + collapsible?: boolean; + + /** Align content in the ribbon control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets custom setting to the expandable pin in the ribbon. + * @Default {Object} + */ + expandPinSettings?: ExpandPinSettings; + + /** Specifies the application tab to contain application menu or backstage page in the ribbon control. + * @Default {Object} + */ + applicationTab?: ApplicationTab; + + /** Specifies the contextual tabs and tab set to the ribbon control with the background color and border color. Refer to the tabs section for adding tabs into the contextual tab and contextual tab set. + * @Default {Array} + */ + contextualTabs?: Array; + + /** Specifies the index or indexes to disable the given index tab or indexes tabs in the ribbon control. + * @Default {0} + */ + disabledItemIndex?: Array; + + /** Specifies the index or indexes to enable the given index tab or indexes tabs in the ribbon control. + * @Default {null} + */ + enabledItemIndex?: Array; + + /** Specifies the index of the ribbon tab to select the given index tab item in the ribbon control. + * @Default {1} + */ + selectedItemIndex?: number; + + /** Specifies the tabs and its groups. Also specifies the control details that has to be placed in the tab area in the ribbon control. + * @Default {Array} + */ + tabs?: Array; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region and it will need to use the user's preference. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the width to the ribbon control. You can set width in string or number format. + * @Default {null} + */ + width?: string|number; + + /** Triggered before the ribbon tab item is removed. */ + beforeTabRemove? (e: BeforeTabRemoveEventArgs): void; + + /** Triggered before the ribbon control is created. */ + create? (e: CreateEventArgs): void; + + /** Triggered before the ribbon control is destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** Triggered when the control in the group is clicked successfully. */ + groupClick? (e: GroupClickEventArgs): void; + + /** Triggered when the group expander in the group is clicked successfully. */ + groupExpand? (e: GroupExpandEventArgs): void; + + /** Triggered when an item in the Gallery control is clicked successfully. */ + galleryItemClick? (e: GalleryItemClickEventArgs): void; + + /** Triggered when a tab or button in the backstage page is clicked successfully. */ + backstageItemClick? (e: BackstageItemClickEventArgs): void; + + /** Triggered when the ribbon control is collapsed. */ + collapse? (e: CollapseEventArgs): void; + + /** Triggered when the ribbon control is expanded. */ + expand? (e: ExpandEventArgs): void; + + /** Triggered before the ribbon control is load. */ + load? (e: LoadEventArgs): void; + + /** Triggered after adding the new ribbon tab item. */ + tabAdd? (e: TabAddEventArgs): void; + + /** Triggered when tab is clicked successfully in the ribbon control. */ + tabClick? (e: TabClickEventArgs): void; + + /** Triggered before the ribbon tab is created. */ + tabCreate? (e: TabCreateEventArgs): void; + + /** Triggered after the tab item is removed from the ribbon control. */ + tabRemove? (e: TabRemoveEventArgs): void; + + /** Triggered after the ribbon tab item is selected in the ribbon control. */ + tabSelect? (e: TabSelectEventArgs): void; + + /** Triggered when the expand/collapse button is clicked successfully . */ + toggleButtonClick? (e: ToggleButtonClickEventArgs): void; + + /** Triggered when the QAT menu item is clicked successfully . */ + qatMenuItemClick? (e: QatMenuItemClickEventArgs): void; +} + +export interface BeforeTabRemoveEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns current tab item index in the ribbon control. + */ + index?: number; +} + +export interface CreateEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns current ribbon tab item index + */ + deleteIndex?: number; +} + +export interface GroupClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the control clicked in the group. + */ + target?: number; +} + +export interface GroupExpandEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the clicked group expander. + */ + target?: number; +} + +export interface GalleryItemClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the gallery model. + */ + galleryModel?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the item clicked in the gallery. + */ + target?: number; +} + +export interface BackstageItemClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the item clicked in the gallery. + */ + target?: number; + + /** returns the id of the target item. + */ + id?: string; + + /** returns the text of the target item. + */ + text?: string; +} + +export interface CollapseEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ExpandEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface LoadEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface TabAddEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns new added tab header. + */ + tabHeader?: any; + + /** returns new added tab content panel. + */ + tabContent?: any; +} + +export interface TabClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: any; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: any; + + /** returns current active index. + */ + activeIndex?: number; +} + +export interface TabCreateEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns current ribbon tab item index + */ + deleteIndex?: number; +} + +export interface TabRemoveEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the removed index. + */ + removedIndex?: number; +} + +export interface TabSelectEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: any; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: any; + + /** returns current active index. + */ + activeIndex?: number; +} + +export interface ToggleButtonClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the expand/collapse button. + */ + target?: number; +} + +export interface QatMenuItemClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the clicked menu item text. + */ + text?: string; +} + +export interface CollapsePinSettings { + + /** Sets tooltip for the collapse pin . + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for collapse pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; +} + +export interface ExpandPinSettings { + + /** Sets tooltip for the expand pin. + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for expand pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; +} + +export interface ApplicationTabBackstageSettingsPage { + + /** Specifies the id for ribbon backstage page's tab and button elements. + * @Default {null} + */ + id?: string; + + /** Specifies the text for ribbon backstage page's tab header and button elements. + * @Default {null} + */ + text?: string; + + /** Specifies the type for ribbon backstage page's contents. Set "ej.Ribbon.BackStageItemType.Tab" to render the tab or "ej.Ribbon.BackStageItemType.Button" to render the button. + * @Default {ej.Ribbon.ItemType.Tab} + */ + itemType?: ej.Ribbon.ItemType|string; + + /** Specifies the id of HTML elements like div,ul, etc., as ribbon backstage page's tab content. + * @Default {null} + */ + contentID?: string; + + /** Specifies the separator between backstage page's tab and button elements. + * @Default {false} + */ + enableSeparator?: boolean; +} + +export interface ApplicationTabBackstageSettings { + + /** Specifies the display text of application tab. + * @Default {null} + */ + text?: string; + + /** Specifies the height of ribbon backstage page. + * @Default {null} + */ + height?: string|number; + + /** Specifies the width of ribbon backstage page. + * @Default {null} + */ + width?: string|number; + + /** Specifies the ribbon backstage page with its tab and button elements. + * @Default {Array} + */ + pages?: Array; + + /** Specifies the width of backstage page header that contains tabs and buttons. + * @Default {null} + */ + headerWidth?: string|number; +} + +export interface ApplicationTab { + + /** Specifies the ribbon backstage page items. + * @Default {Object} + */ + backstageSettings?: ApplicationTabBackstageSettings; + + /** Specifies the ID of ul list to create application menu in the ribbon control. + * @Default {null} + */ + menuItemID?: string; + + /** Specifies the menu members, events by using the menu settings for the menu in the application tab. + * @Default {Object} + */ + menuSettings?: any; + + /** Specifies the application menu or backstage page. Specify the type of application tab as "ej.Ribbon.ApplicationTabType.Menu" to render the application menu or "ej.Ribbon.ApplicationTabType.Backstage" to render backstage page in the ribbon control. + * @Default {ej.Ribbon.ApplicationTabType.Menu} + */ + type?: ej.Ribbon.ApplicationTabType|string; +} + +export interface ContextualTab { + + /** Specifies the backgroundColor of the contextual tabs and tab set in the ribbon control. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor of the contextual tabs and tab set in the ribbon control. + * @Default {null} + */ + borderColor?: string; + + /** Specifies the tabs to present in the contextual tabs and tab set. Refer to the tabs section for adding tabs into the contextual tabs and tab set. + * @Default {Array} + */ + tabs?: Array; +} + +export interface TabsGroupsContentDefaults { + + /** Specifies the controls height such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {null} + */ + height?: string|number; + + /** Specifies the controls width such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {null} + */ + width?: string|number; + + /** Specifies the controls type such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {ej.Ribbon.Type.Button} + */ + type?: string; + + /** Specifies the controls size such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {false} + */ + isBig?: boolean; +} + +export interface TabsGroupsContentGroupsCustomGalleryItem { + + /** Specifies the Syncfusion button members, events by using buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** Specifies the type as ej.Ribbon.CustomItemType.Menu or ej.Ribbon.CustomItemType.Button to render Syncfusion button and menu. + * @Default {ej.Ribbon.CustomItemType.Button} + */ + customItemType?: ej.Ribbon.CustomItemType|string; + + /** Specifies the custom tooltip for gallery extra item's button. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + + /** Specifies the UL list id to render menu as gallery extra item. + * @Default {null} + */ + menuId?: string; + + /** Specifies the Syncfusion menu members, events by using menuSettings. + * @Default {Object} + */ + menuSettings?: any; + + /** Specifies the text for gallery extra item's button. + * @Default {null} + */ + text?: string; + + /** Specifies the tooltip for gallery extra item's button. + * @Default {null} + */ + toolTip?: string; +} + +export interface TabsGroupsContentGroupsCustomToolTip { + + /** Sets content to the custom tooltip. Text and HTML support are provided for content. + * @Default {null} + */ + content?: string; + + /** Sets icon to the custom tooltip content. + * @Default {null} + */ + prefixIcon?: string; + + /** Sets title to the custom tooltip. Text and HTML support are provided for title and the title is in bold for text format. + * @Default {null} + */ + title?: string; +} + +export interface TabsGroupsContentGroupsGalleryItem { + + /** Specifies the Syncfusion button members, events by using buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** Specifies the custom tooltip for gallery content. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + + /** Sets text for the gallery content. + * @Default {null} + */ + text?: string; + + /** Sets tooltip for the gallery content. + * @Default {null} + */ + toolTip?: string; +} + +export interface TabsGroupsContentGroup { + + /** When isMobileOnly is true,its shows in mobile toolbar.isResponsive should be true for using this property. + * @Default {false} + */ + isMobileOnly?: boolean; + + /** Specifies the Syncfusion button members, events by using this buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** It is used to set the count of gallery contents in a row. + * @Default {null} + */ + columns?: number; + + /** Specifies the custom items such as div, table, controls as custom controls with the type "ej.Ribbon.Type.Custom" in the groups. + * @Default {null} + */ + contentID?: string; + + /** Specifies the CSS class property to apply styles to the button, split, dropdown controls in the groups. + * @Default {null} + */ + cssClass?: string; + + /** Specifies the Syncfusion button and menu as gallery extra items. + * @Default {Array} + */ + customGalleryItems?: Array; + + /** Provides custom tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. Text and HTML support are also provided for title and content. + * @Default {Object} + */ + customToolTip?: TabsGroupsContentGroupsCustomToolTip; + + /** Specifies the Syncfusion dropdown list members, events by using this dropdownSettings. + * @Default {Object} + */ + dropdownSettings?: any; + + /** Specifies the separator to the control that is in row type group. The separator separates the control from the next control in the group. Set "true" to enable the separator. + * @Default {false} + */ + enableSeparator?: boolean; + + /** Sets the count of gallery contents in a row, when the gallery is in expanded state. + * @Default {null} + */ + expandedColumns?: number; + + /** Defines each gallery content. + * @Default {Array} + */ + galleryItems?: Array; + + /** Specifies the Id for button, split button, dropdown list, toggle button, gallery, custom controls in the sub groups. + * @Default {null} + */ + id?: string; + + /** Specifies the size for button, split button controls. Set "true" for big size and "false" for small size. + * @Default {null} + */ + isBig?: boolean; + + /** Sets the height of each gallery content. + * @Default {null} + */ + itemHeight?: string|number; + + /** Sets the width of each gallery content. + * @Default {null} + */ + itemWidth?: string|number; + + /** Specifies the Syncfusion split button members, events by using this splitButtonSettings. + * @Default {Object} + */ + splitButtonSettings?: any; + + /** Specifies the text for button, split button, toggle button controls in the sub groups. + * @Default {null} + */ + text?: string; + + /** Specifies the Syncfusion toggle button members, events by using toggleButtonSettings. + * @Default {Object} + */ + toggleButtonSettings?: any; + + /** Specifies the tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. + * @Default {null} + */ + toolTip?: string; + + /** To add,show and hide controls in Quick Access toolbar. + * @Default {ej.Ribbon.QuickAccessMode.None} + */ + quickAccessMode?: ej.Ribbon.QuickAccessMode|string; + + /** Specifies the type as "ej.Ribbon.Type.Button" or "ej.Ribbon.Type.SplitButton" or "ej.Ribbon.Type.DropDownList" or "ej.Ribbon.Type.ToggleButton" or "ej.Ribbon.Type.Custom" or "ej.Ribbon.Type.Gallery" to render button, split, dropdown, toggle button, gallery, custom controls. + * @Default {ej.Ribbon.Type.Button} + */ + type?: ej.Ribbon.Type|string; +} + +export interface TabsGroupsContent { + + /** Specifies the height, width, type, isBig property to the controls in the group commonly. + * @Default {Object} + */ + defaults?: TabsGroupsContentDefaults; + + /** Specifies the controls such as Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls in the subgroup of the ribbon tab . + * @Default {Array} + */ + groups?: Array; +} + +export interface TabsGroupsGroupExpanderSettings { + + /** Sets tooltip for the group expander of the group. + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for group expander.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; +} + +export interface TabsGroup { + + /** Specifies the alignment of controls in the groups in 'row' type or 'column' type. Value for row type is "ej.Ribbon.AlignType.Rows" and for column type is "ej.Ribbon.alignType.columns". + * @Default {ej.Ribbon.AlignType.Rows} + */ + alignType?: ej.Ribbon.AlignType|string; + + /** Specifies the Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls to the groups in the ribbon control. + * @Default {Array} + */ + content?: Array; + + /** Specifies the ID of custom items to be placed in the groups. + * @Default {null} + */ + contentID?: string; + + /** Specifies the HTML contents to place into the groups. + * @Default {null} + */ + customContent?: string; + + /** Specifies the group expander for groups in the ribbon control. Set "true" to enable the group expander. + * @Default {false} + */ + enableGroupExpander?: boolean; + + /** Sets custom setting to the groups in the ribbon control. + * @Default {Object} + */ + groupExpanderSettings?: TabsGroupsGroupExpanderSettings; + + /** Specifies the text to the groups in the ribbon control. + * @Default {null} + */ + text?: string; + + /** Specifies the custom items such as div, table, controls by using the "custom" type. + * @Default {null} + */ + type?: string; +} + +export interface Tab { + + /** Specifies single group or multiple groups and its contents to each tab in the ribbon control. + * @Default {Array} + */ + groups?: Array; + + /** Specifies the ID for each tab's content panel. + * @Default {null} + */ + id?: string; + + /** Specifies the text of the tab in the ribbon control. + * @Default {null} + */ + text?: string; +} + +enum ItemType{ + + ///To render the button for ribbon backstage page’s contents + Button, + + ///To render the tab for ribbon backstage page’s contents + Tab +} + + +enum ApplicationTabType{ + + ///applicationTab display as menu + Menu, + + ///applicationTab display as backstage + Backstage +} + + +enum AlignType{ + + ///To align the group content's in row + Rows, + + ///To align group content's in columns + Columns +} + + +enum CustomItemType{ + + ///Specifies the button type in customGalleryItems + Button, + + ///Specifies the menu type in customGalleryItems + Menu +} + + +enum QuickAccessMode{ + + ///Controls are hidden in Quick Access toolbar + None, + + ///Add controls in toolBar + ToolBar, + + ///Add controls in menu + Menu +} + + +enum Type{ + + ///Specifies the button control + Button, + + ///Specifies the split button + SplitButton, + + ///Specifies the dropDown + DropDownList, + + ///To append external element's + Custom, + + ///Specifies the toggle button + ToggleButton, + + ///Specifies the ribbon gallery + Gallery +} + +} + +class Kanban extends ej.Widget { + static fn: Kanban; + constructor(element: JQuery, options?: Kanban.Model); + constructor(element: Element, options?: Kanban.Model); + static Locale: any; + model:Kanban.Model; + defaults:Kanban.Model; + + /** Add or remove columns in Kanban columns collections.Default action is add. + * @param {Array|string} Pass array of columns or string of headerText to add/remove the column in Kanban + * @param {Array|string} Pass array of columns or string of key value to add/remove the column in Kanban + * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform + * @returns {void} + */ + columns(columndetails: Array|string, keyvalue: Array|string, action?: string): void; + + /** Destroy the Kanban widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Refresh the Kanban with new data source. + * @param {Array} Pass new data source to the Kanban + * @returns {void} + */ + dataSource(datasource: Array): void; + + /** toggleColumn based on the headerText in Kanban. + * @param {any} Pass the header text of the column to get the corresponding column object + * @returns {void} + */ + toggleColumn(headerText: any): void; + + /** Expand or collapse the card based on the state of target "div" + * @param {string|number} Pass the id of card to be toggle + * @returns {void} + */ + toggleCard(key: string|number): void; + + /** Used for get the names of all the visible column name collections in Kanban. + * @returns {Array} + */ + getVisibleColumnNames(): Array; + + /** Get the scroller object of Kanban. + * @returns {ej.Scroller} + */ + getScrollObject(): ej.Scroller; + + /** Get the column details based on the given header text in Kanban. + * @param {string} Pass the header text of the column to get the corresponding column object + * @returns {String} + */ + getColumnByHeaderText(headerText: string): String; + + /** Get the table details based on the given header table in Kanban. + * @returns {String} + */ + getHeaderTable(): String; + + /** Hide columns from the Kanban based on the header text + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide + * @returns {void} + */ + hideColumns(headerText: Array|string): void; + + /** Print the Kanban Board + * @returns {void} + */ + print(): void; + + /** Refresh the template of the Kanban + * @returns {void} + */ + refreshTemplate(): void; + + /** Refresh the Kanban contents.The template refreshment is based on the argument passed along with this method + * @param {boolean} optional When templateRefresh is set true, template and Kanban contents both are refreshed in Kanban else only Kanban content is refreshed + * @returns {void} + */ + refresh(templateRefresh?: boolean): void; + + /** Show columns in the Kanban based on the header text. + * @param {Array|string} You can pass either array of header text of various columns or a header text of a column to show + * @returns {void} + */ + showColumns(headerText: Array|string): void; + + /** Update a card in Kanban control based on key and JSON data given. + * @param {string} Pass the key field Name of the column + * @param {Array} Pass the edited JSON data of card need to be update. + * @returns {void} + */ + updateCard(key: string, data: Array): void; + + KanbanSelection: Kanban.KanbanSelection; + + KanbanSwimlane: Kanban.KanbanSwimlane; + + KanbanFilter: Kanban.KanbanFilter; + + KanbanEdit: Kanban.KanbanEdit; +} +export module Kanban{ + +export interface KanbanSelection { + + /** It is used to clear all the card selection. + * @returns {void} + */ + clear(): void; +} + +export interface KanbanSwimlane { + + /** Expand all the swimlane rows in Kanban. + * @returns {void} + */ + expandAll(): void; + + /** Collapse all the swimlane rows in Kanban. + * @returns {void} + */ + collapseAll(): void; + + /** Expand or collapse the swimlane row based on the state of target "div" + * @param {any} Pass the div object to toggleSwimlane row based on its row state + * @returns {void} + */ + toggle($div: any): void; +} + +export interface KanbanFilter { + + /** Method used for send a clear search request to Kanban. + * @returns {void} + */ + clearSearch(): void; + + /** Send a search request to Kanban with specified string passed in it. + * @param {string} Pass the string to search in Kanban card + * @returns {void} + */ + searchCards(searchString: string): void; + + /** Send a clear request to filter cards in the kanban. + * @returns {void} + */ + clearFilter(): void; + + /** Send a filtering request to cards in the kanban. + * @returns {void} + */ + filterCards(): void; +} + +export interface KanbanEdit { + + /** Add a new card in Kanban control when allowAdding is set as true. If parameters are not given default dialog will be open. + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the edited JSON data of card need to be add. + * @returns {void} + */ + addCard(primaryKey: string,card: Array): void; + + /** Send a cancel request of add/edit card in Kanban when allowEditing/allowAdding is set as true. + * @returns {void} + */ + cancelEdit(): void; + + /** Delete a card in Kanban control when allowAdding/allowEditing is set as true. + * @param {string|number} Pass the key of card to be delete + * @returns {void} + */ + deleteCard(Key: string|number): void; + + /** Send a save request in Kanban when any card is in edit/new add card state and allowEditing/allowAdding is set as true. + * @returns {void} + */ + endEdit(): void; + + /** Send an edit card request in Kanban when allowEditing is set as true. Parameter will be HTML element or primary key + * @param {any} Pass the div selected row element to be edited in Kanban + * @returns {void} + */ + startEdit($div: any): void; + + /** Method used for set validation to a field during editing. + * @param {string} Specify the name of the column to set validation rules + * @param {any} Specify the validation rules for the field + * @returns {void} + */ + setValidationToField(name: string,rules: any): void; +} + +export interface Model { + + /** Gets or sets a value that indicates whether to enable allowDragAndDrop behavior on Kanban. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** To enable or disable the title of the card. + * @Default {false} + */ + allowTitle?: boolean; + + /** Customize the settings for swim lane. + * @Default {Object} + */ + swimlaneSettings?: SwimlaneSettings; + + /** To enable or disable the column expand /collapse. + * @Default {false} + */ + allowToggleColumn?: boolean; + + /** To enable Searching operation in Kanban. + * @Default {false} + */ + allowSearching?: boolean; + + /** To enable filtering behavior on Kanban.User can specify query in filterSettings collection after enabling allowFiltering. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable allowSelection behavior on Kanban.User can select card and the selected card will be highlighted on Kanban. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether to allow card hover actions. + * @Default {true} + */ + allowHover?: boolean; + + /** To allow keyboard navigation actions. + * @Default {false} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable the scrollbar in the Kanban and view the card by scroll through the Kanban manually. + * @Default {false} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable printing option. + * @Default {false} + */ + allowPrinting?: boolean; + + /** Gets or sets an object that indicates whether to customize the context menu behavior of the Kanban. + * @Default {Object} + */ + contextMenuSettings?: ContextMenuSettings; + + /** Gets or sets an object that indicates to render the Kanban with specified columns. + * @Default {Array} + */ + columns?: Array; + + /** Gets or sets an object that indicates whether to Customize the card settings. + * @Default {Object} + */ + cardSettings?: CardSettings; + + /** Gets or sets a value that indicates whether to add customToolbarItems within the toolbar to perform any action in the Kanban. + * @Default {[]} + */ + customToolbarItems?: Array; + + /** Gets or sets a value that indicates to render the Kanban with custom theme. + */ + cssClass?: string; + + /** Gets or sets the data to render the Kanban with cards. + * @Default {null} + */ + dataSource?: any; + + /** To perform kanban functionalities with touch interaction. + * @Default {true} + */ + enableTouch?: boolean; + + /** Align content in the Kanban control align from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** To show total count of cards in each column. + * @Default {false} + */ + enableTotalCount?: boolean; + + /** Get or sets an object that indicates whether to customize the editing behavior of the Kanban. + * @Default {Object} + */ + editSettings?: EditSettings; + + /** To customize field mappings for card , editing title and control key parameters + * @Default {Object} + */ + fields?: Fields; + + /** To map datasource field for column values mapping + * @Default {null} + */ + keyField?: string; + + /** When set to true, adapts the Kanban layout to fit the screen size of devices on which it renders. + * @Default {false} + */ + isResponsive?: boolean; + + /** Gets or sets a value that indicates whether to set the minimum width of the responsive Kanban while isResponsive property is true. + * @Default {0} + */ + minWidth?: number; + + /** To customize the filtering behavior based on queries given. + * @Default {Array} + */ + filterSettings?: Array; + + /** ej Query to query database of Kanban. + * @Default {null} + */ + query?: any; + + /** To change the key in keyboard interaction to Kanban control. + * @Default {null} + */ + keySettings?: any; + + /** Gets or sets an object that indicates whether to customize the scrolling behavior of the Kanban. + * @Default {Object} + */ + scrollSettings?: ScrollSettings; + + /** To customize the searching behavior of the Kanban. + * @Default {Object} + */ + searchSettings?: SearchSettings; + + /** To allow customize selection type. Accepting types are "single" and "multiple". + * @Default {ej.Kanban.SelectionType.Single} + */ + selectionType?: ej.Kanban.SelectionType|string; + + /** Gets or sets an object that indicates to managing the collection of stacked header rows for the Kanban. + * @Default {Array} + */ + stackedHeaderRows?: Array; + + /** The tooltip allows to display card details in a tooltip while hovering on it. + */ + tooltipSettings?: TooltipSettings; + + /** Gets or sets an object that indicates to render the Kanban with specified workflows. + * @Default {Array} + */ + workflows?: Array; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Triggered for every Kanban action before its starts. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggered for every Kanban action success event. */ + actionComplete? (e: ActionCompleteEventArgs): void; + + /** Triggered for every Kanban action server failure event. */ + actionFailure? (e: ActionFailureEventArgs): void; + + /** Triggered before the task is going to be edited. */ + beginEdit? (e: BeginEditEventArgs): void; + + /** Triggered before the card is going to be added */ + beginAdd? (e: BeginAddEventArgs): void; + + /** Triggered before the card is selected. */ + beforeCardSelect? (e: BeforeCardSelectEventArgs): void; + + /** Trigger after the card is clicked. */ + cardClick? (e: CardClickEventArgs): void; + + /** Triggered when the card is being dragged. */ + cardDrag? (e: CardDragEventArgs): void; + + /** Triggered when card dragging start. */ + cardDragStart? (e: CardDragStartEventArgs): void; + + /** Triggered when card dragging stops. */ + cardDragStop? (e: CardDragStopEventArgs): void; + + /** Triggered when the card is Dropped. */ + cardDrop? (e: CardDropEventArgs): void; + + /** Triggered after the card is selected. */ + cardSelect? (e: CardSelectEventArgs): void; + + /** Triggered when card is double clicked. */ + cardDoubleClick? (e: CardDoubleClickEventArgs): void; + + /** Triggered before the card is selected. */ + cardSelecting? (e: CardSelectingEventArgs): void; + + /** Triggered when the Kanban is rendered completely */ + create? (e: CreateEventArgs): void; + + /** Triggers after the cell is clicked. */ + cellClick? (e: CellClickEventArgs): void; + + /** Triggered before the context menu is opened. */ + contextOpen? (e: ContextOpenEventArgs): void; + + /** Triggered when context menu item is clicked in Kanban */ + contextClick? (e: ContextClickEventArgs): void; + + /** Triggered the Kanban is bound with data during initial rendering. */ + dataBound? (e: DataBoundEventArgs): void; + + /** Triggered when Kanban going to destroy. */ + destroy? (e: DestroyEventArgs): void; + + /** Triggered after the card is deleted. */ + endDelete? (e: EndDeleteEventArgs): void; + + /** Triggered after the card is edited. */ + endEdit? (e: EndEditEventArgs): void; + + /** Triggers after the header is clicked. */ + headerClick? (e: HeaderClickEventArgs): void; + + /** Triggered initial load. */ + load? (e: LoadEventArgs): void; + + /** Triggers before swim lane expand or collapse icon is clicked. */ + swimlaneClick? (e: SwimlaneClickEventArgs): void; + + /** Triggered every time a single card rendered request is made to access particular card information. */ + queryCellInfo? (e: QueryCellInfoEventArgs): void; + + /** Triggered when toolbar item is clicked in Kanban. */ + toolbarClick? (e: ToolbarClickEventArgs): void; +} + +export interface ActionBeginEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current action event type. + */ + originalEventType?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the card object (JSON). + */ + data?: any; + + /** Returns current filtering object field name. + */ + currentFilteringobject?: any; + + /** Returns filter details. + */ + filterCollection?: any; +} + +export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns Kanban element. + */ + target?: any; + + /** Returns the card object (JSON). + */ + data?: any; + + /** Returns the selectedRow index. + */ + selectedRow?: number; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns filter details. + */ + filterCollection?: any; +} + +export interface ActionFailureEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the error return by server. + */ + error?: any; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns Kanban element. + */ + target?: any; + + /** Returns the card object (JSON). + */ + data?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns filter details. + */ + filterCollection?: any; +} + +export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns begin edit data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface BeginAddEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns beginAdd data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface BeforeCardSelectEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the select card index value. + */ + cardIndex?: number; + + /** Returns the select cell element + */ + currentCell?: any; + + /** Returns the previously select the card element + */ + previousCard?: any; + + /** Returns the previously select card indexes + */ + previousRowcellindex?: Array; + + /** Returns the Target item. + */ + Target?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns select card data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the current card to the Kanban. + */ + currentCard?: string; + + /** Returns Kanban element. + */ + target?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the Header text of the column corresponding to the selected card. + */ + columnName?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns drag data. + */ + data?: any; + + /** Returns drag start element. + */ + dragtarget?: any; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns card drag start data. + */ + data?: any; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns drag start element. + */ + dragtarget?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardDragStopEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns drag stop element. + */ + droptarget?: any; + + /** Returns drag stop data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns previous parent of dragged element + */ + draggedParent?: any; + + /** Returns dragged data. + */ + data?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns drop element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardSelectEventArgs { + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the select card index value. + */ + cardIndex?: number; + + /** Returns the select cell element + */ + currentCell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the previously select the card element + */ + previousCard?: any; + + /** Returns the previously select card indexes + */ + previousRowcellindex?: Array; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns select card data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardDoubleClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current card object (JSON). + */ + data?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CardSelectingEventArgs { + + /** Returns the selecting cell index value. + */ + cellIndex?: number; + + /** Returns the selecting card index value. + */ + cardIndex?: number; + + /** Returns the selecting cell element + */ + currentCell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the previously selecting the card element + */ + previousCard?: any; + + /** Returns the previously rowcell is selecting card indexes + */ + previousRowcellindex?: Array; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns added data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the edited row index. + */ + rowIndex?: number; +} + +export interface ContextOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the status of contextmenu item which denotes its enabled state. + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; +} + +export interface ContextClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the status of contextmenu item which denotes its enabled state. + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; +} + +export interface DataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** Returns the kanban model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface EndDeleteEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Current action name + */ + action?: string; +} + +export interface EndEditEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns modified data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Current Action name + */ + action?: string; +} + +export interface HeaderClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the column object. + */ + columnData?: any; +} + +export interface LoadEventArgs { + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface SwimlaneClickEventArgs { + + /** Current Action name while swim lane clicked. Actions are "expand" or "collapse" + */ + action?: string; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the swim lane group data's. + */ + data?: any; + + /** Returns current swim lane row index. + */ + rowIndex?: number; + + /** Returns current target element. + */ + target?: any; +} + +export interface QueryCellInfoEventArgs { + + /** Returns Kanban card. + */ + card?: any; + + /** Returns Kanban card. + */ + cell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the column object. + */ + column?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the item id of that current element. + */ + itemId?: string; + + /** Returns the item index of that current element. + */ + itemIndex?: number; + + /** Returns the item name of that current element. + */ + itemName?: string; + + /** Returns the item text of that current element. + */ + itemText?: string; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the toolbar object of the Kanban. + */ + toolbarData?: any; +} + +export interface SwimlaneSettingsUnassignedGroup { + + /** To enable or disable unassigned category change with swim lane key values. + * @Default {true} + */ + enable?: boolean; + + /** To set the user defined values which are need to categorized as unassigned category swim lane groups. + * @Default {[null,undefined,]} + */ + keys?: Array; +} + +export interface SwimlaneSettings { + + /** To enable or disable items count in swim lane. + * @Default {true} + */ + showCount?: boolean; + + /** To enable or disable DragAndDrop across swim lane. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Customize the settings for unassigned category of swim lane. + * @Default {Object} + */ + unassignedGroup?: SwimlaneSettingsUnassignedGroup; +} + +export interface ContextMenuSettingsCustomMenuItem { + + /** Its sets target element to custom context menu item. + * @Default {ej.Kanban.Target.All} + */ + target?: ej.Kanban.Target|string; + + /** Gets the display name to custom menu item. + * @Default {null} + */ + text?: string; + + /** Gets the template to render custom context menu item. + * @Default {null} + */ + template?: string; +} + +export interface ContextMenuSettings { + + /** To enable context menu.All default context menu will show. + * @Default {false} + */ + enable?: boolean; + + /** Gets or sets a value that indicates the list of items needs to be disable from default context menu items. + * @Default {Array} + */ + disableDefaultItems?: Array; + + /** Its used to add specific default context menu items. + * @Default {Array} + */ + menuItems?: Array; + + /** Gets or sets a value that indicates whether to add custom contextMenu items. + * @Default {Array} + */ + customMenuItems?: Array; +} + +export interface ColumnsTotalCount { + + /** To customize the totalCount text properties. + * @Default {null} + */ + text?: string; +} + +export interface ColumnsConstraints { + + /** It is used to specify the type of constraints as column or swimlane. + * @Default {null} + */ + type?: string; + + /** It is used to specify the minimum amount of card in particular column cell or swimlane cell can hold. + * @Default {null} + */ + min?: number; + + /** It is used to specify the maximum amount of card in particular column cell or swimlane cell can hold. + * @Default {null} + */ + max?: number; +} + +export interface Column { + + /** Gets or sets an object that indicates to render the Kanban with specified columns header text. + * @Default {null} + */ + headerText?: string; + + /** To customize the totalCount properties. + * @Default {Object} + */ + totalCount?: ColumnsTotalCount; + + /** Gets or sets an object that indicates to render the Kanban with specified columns key. + * @Default {null} + */ + key?: string|number; + + /** To enable/disable allowDrop for specific column wise. + * @Default {true} + */ + allowDrop?: boolean; + + /** To enable/disable allowDrag for specific column wise. + * @Default {true} + */ + allowDrag?: boolean; + + /** To set column collapse or expand state + * @Default {false} + */ + isCollapsed?: boolean; + + /** To customize the column level constraints with minimum ,maximum limit validation. + * @Default {Object} + */ + constraints?: ColumnsConstraints; + + /** Gets or sets a value that indicates to add the template within the header element. + * @Default {null} + */ + headerTemplate?: string; + + /** Gets or sets an object that indicates to render the Kanban with specified columns width. + * @Default {null} + */ + width?: string|number; + + /** Gets or sets an object that indicates to set specific column visibility. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets an object that indicates whether to show add new button. + * @Default {false} + */ + showAddButton?: boolean; +} + +export interface CardSettings { + + /** Gets or sets a value that indicates to add the template for card . + * @Default {null} + */ + template?: string; + + /** To customize the card border color based on assigned task. Colors and corresponding values defined here will be mapped with colorField mapped data source column. + * @Default {Object} + */ + colorMapping?: any; +} + +export interface CustomToolbarItem { + + /** Gets the template to render customToolbarItems. + * @Default {null} + */ + template?: string; +} + +export interface EditSettingsEditItem { + + /** It is used to map editing field from the data source. + * @Default {null} + */ + field?: string; + + /** It is used to set the particular editType in the card for editing. + * @Default {ej.Kanban.EditingType.String} + */ + editType?: ej.Kanban.EditingType|string; + + /** Gets or sets a value that indicates to define constraints for saving data to the database. + * @Default {Object} + */ + validationRules?: any; + + /** It is used to set the particular editparams in the card for editing. + * @Default {Object} + */ + editParams?: any; + + /** It is used to specify defaultValue for the fields while adding new card. + * @Default {null} + */ + defaultValue?: string|number; +} + +export interface EditSettings { + + /** Gets or sets a value that indicates whether to enable the editing action in cards of Kanban. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable the adding action in cards behavior on Kanban. + * @Default {false} + */ + allowAdding?: boolean; + + /** This specifies the id of the template which is require to be edited using the Dialog Box. + * @Default {null} + */ + dialogTemplate?: string; + + /** Get or sets an object that indicates whether to customize the editMode of the Kanban. + * @Default {ej.Kanban.EditMode.Dialog} + */ + editMode?: ej.Kanban.EditMode|string; + + /** Get or sets an object that indicates whether to customize the editing fields of Kanban card. + * @Default {Array} + */ + editItems?: Array; + + /** This specifies the id of the template which is require to be edited using the External edit form. + * @Default {null} + */ + externalFormTemplate?: string; + + /** This specifies to set the position of an External edit form either in the right or bottom of the Kanban. + * @Default {ej.Kanban.FormPosition.Bottom} + */ + formPosition?: ej.Kanban.FormPosition|string; +} + +export interface Fields { + + /** The primarykey field is mapped to data source field. And this will used for Drag and drop and editing mainly. + * @Default {null} + */ + primaryKey?: string; + + /** To enable swimlane grouping based on the given key field from datasource mapping. + * @Default {null} + */ + swimlaneKey?: string; + + /** Priority field has been mapped data source field to maintain cards priority. + * @Default {null} + */ + priority?: string; + + /** Content field has been Mapped into card text. + * @Default {null} + */ + content?: string; + + /** Tag field has been Mapped into card tag. + * @Default {null} + */ + tag?: string; + + /** Title field has been Mapped to field in datasource for title content. If title field specified , card expand/collapse will be enabled with header and content section. + * @Default {null} + */ + title?: string; + + /** To customize the card has been Mapped into card color field. + * @Default {null} + */ + color?: string; + + /** ImageUrl field has been Mapped into card image. + * @Default {null} + */ + imageUrl?: string; +} + +export interface FilterSetting { + + /** Gets or sets an object of display name to filter queries. + * @Default {null} + */ + text?: string; + + /** Gets or sets an object that Queries to perform filtering + * @Default {Object} + */ + query?: any; + + /** Gets or sets an object of tooltip to filter buttons. + * @Default {null} + */ + description?: string; +} + +export interface ScrollSettings { + + /** Gets or sets an object that indicates to render the Kanban with specified scroll height. + * @Default {0} + */ + height?: string|number; + + /** Gets or sets an object that indicates to render the Kanban with specified scroll width. + * @Default {auto} + */ + width?: string|number; + + /** To allow the Kanban to freeze particular swimlane at the time of scrolling , until scroll reaches next swimlane and it continues. + * @Default {false} + */ + allowFreezeSwimlane?: boolean; +} + +export interface SearchSettings { + + /** To customize the fields the searching operation can be perform. + * @Default {Array} + */ + fields?: Array; + + /** To customize the searching string. + */ + key?: string; + + /** To customize the operator based on searching. + * @Default {contains} + */ + operator?: string; + + /** To customize the ignore case based on searching. + * @Default {true} + */ + ignoreCase?: boolean; +} + +export interface StackedHeaderRowsStackedHeaderColumn { + + /** Gets or sets a value that indicates the headerText for the particular stacked header column. + * @Default {null} + */ + headerText?: string; + + /** Gets or sets a value that indicates the column for the particular stacked header column. + * @Default {null} + */ + column?: string; +} + +export interface StackedHeaderRow { + + /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows. + * @Default {Array} + */ + stackedHeaderColumns?: Array; +} + +export interface TooltipSettings { + + /** To enable or disable the tooltip display. + * @Default {false} + */ + enable?: boolean; + + /** To customize the tooltip display based on your requirements. + * @Default {null} + */ + template?: string; +} + +export interface Workflow { + + /** Gets or sets an object that indicates to render the Kanban with specified workflows key. + * @Default {null} + */ + key?: string|number; + + /** Gets or sets an object that indicates to render the Kanban with specified workflows allowed Transitions. + * @Default {null} + */ + allowedTransitions?: string; +} + +enum Target{ + + ///Sets context menu to Kanban header + Header, + + ///Sets context menu to Kanban content + Content, + + ///Sets context menu to Kanban card + Card, + + ///Sets context menu to Kanban + All +} + + +enum EditMode{ + + ///Creates Kanban with editMode as Dialog + Dialog, + + ///Creates Kanban with editMode as DialogTemplate + DialogTemplate, + + ///Creates Kanban with editMode as ExternalForm + ExternalForm, + + ///Creates Kanban with editMode as ExternalFormTemplate + ExternalFormTemplate +} + + +enum EditingType{ + + ///Allows to set edit type as string edit type + String, + + ///Allows to set edit type as numeric edit type + Numeric, + + ///Allows to set edit type as drop down edit type + Dropdown, + + ///Allows to set edit type as date picker edit type + DatePicker, + + ///Allows to set edit type as date time picker edit type + DateTimePicker, + + ///Allows to set edit type as text area edit type + TextArea, + + ///Allows to set edit type as RTE edit type + RTE +} + + +enum FormPosition{ + + ///Form position is bottom. + Bottom, + + ///Form position is right. + Right +} + + +enum SelectionType{ + + ///Support for Single selection in Kanban + Single, + + ///Support for multiple selections in Kanban + Multiple +} + +} + +class Rotator extends ej.Widget { + static fn: Rotator; + constructor(element: JQuery, options?: Rotator.Model); + constructor(element: Element, options?: Rotator.Model); + static Locale: any; + model:Rotator.Model; + defaults:Rotator.Model; + + /** Disables the Rotator control. + * @returns {void} + */ + disable(): void; + + /** Enables the Rotator control. + * @returns {void} + */ + enable(): void; + + /** This method is used to get the current slide index. + * @returns {number} + */ + getIndex(): number; + + /** This method is used to move a slide to the specified index. + * @param {number} index of an slide + * @returns {void} + */ + gotoIndex(index: number): void; + + /** This method is used to pause autoplay. + * @returns {void} + */ + pause(): void; + + /** This method is used to move slides continuously (or start autoplay) in the specified autoplay direction. + * @returns {void} + */ + play(): void; + + /** This method is used to move to the next slide from the current slide. If the current slide is the last slide, then the first slide will be treated as the next slide. + * @returns {void} + */ + slideNext(): void; + + /** This method is used to move to the previous slide from the current slide. If the current slide is the first slide, then the last slide will be treated as the previous slide. + * @returns {void} + */ + slidePrevious(): void; + + /** This method is used to update/modify the slide content of template rotator by using id based on index value. + * @param {number} index of an slide + * @param {string} id of a new updated slide + * @returns {void} + */ + updateTemplateById(index: number, id: string): void; +} +export module Rotator{ + +export interface Model { + + /** Turns on keyboard interaction with the Rotator items. You must set this property to true to access the following keyboard shortcuts: + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Sets the animationSpeed of slide transition. + * @Default {600} + */ + animationSpeed?: string|number; + + /** Specifies the animationType type for the Rotator Item. animationType options include slide, fastSlide, slowSlide, and other custom easing animationTypes. + * @Default {slide} + */ + animationType?: string; + + /** Enables the circular mode item rotation. + * @Default {true} + */ + circularMode?: boolean; + + /** Specify the CSS class to Rotator to achieve custom theme. + */ + cssClass?: string; + + /** Specify the list of data which contains a set of data fields. Each data value is used to render an item for the Rotator. + * @Default {null} + */ + dataSource?: any; + + /** Sets the delay between the Rotator Items move after the slide transition. + * @Default {500} + */ + delay?: number; + + /** Specifies the number of Rotator Items to be displayed. + * @Default {1} + */ + displayItemsCount?: string|number; + + /** Rotates the Rotator Items continuously without user interference. + * @Default {false} + */ + enableAutoPlay?: boolean; + + /** Enables or disables the Rotator control. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies right to left transition of slides. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines mapping fields for the data items of the Rotator. + * @Default {null} + */ + fields?: Fields; + + /** Sets the space between the Rotator Items. + */ + frameSpace?: string|number; + + /** Resizes the Rotator when the browser is resized. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the number of Rotator Items to navigate on a single click (next/previous/play buttons). The navigateSteps property value must be less than or equal to the displayItemsCount property value. + * @Default {1} + */ + navigateSteps?: string|number; + + /** Specifies the orientation for the Rotator control, that is, whether it must be rendered horizontally or vertically. See Orientation + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation|string; + + /** Specifies the position of the showPager in the Rotator Item. See PagerPosition + * @Default {outside} + */ + pagerPosition?: string|ej.Rotator.PagerPosition; + + /** Retrieves data from remote data. This property is applicable only when a remote data source is used. + * @Default {null} + */ + query?: string; + + /** If the Rotator Item is an image, you can specify a caption for the Rotator Item. The caption text for each Rotator Item must be set by using the title attribute of the respective tag. The caption cannot be displayed if multiple Rotator Items are present. + * @Default {false} + */ + showCaption?: boolean; + + /** Turns on or off the slide buttons (next and previous) in the Rotator Items. Slide buttons are used to navigate the Rotator Items. + * @Default {true} + */ + showNavigateButton?: boolean; + + /** Turns on or off the pager support in the Rotator control. The Pager is used to navigate the Rotator Items. + * @Default {true} + */ + showPager?: boolean; + + /** Enable play / pause button on rotator. + * @Default {false} + */ + showPlayButton?: boolean; + + /** Turns on or off thumbnail support in the Rotator control. Thumbnail is used to navigate between slides. Thumbnail supports only single slide transition You must specify the source for thumbnail elements through the thumbnailSourceID property. + * @Default {false} + */ + showThumbnail?: boolean; + + /** Sets the height of a Rotator Item. + */ + slideHeight?: string|number; + + /** Sets the width of a Rotator Item. + */ + slideWidth?: string|number; + + /** Sets the index of the slide that must be displayed first. + * @Default {0} + */ + startIndex?: string|number; + + /** Pause the auto play while hover on the rotator content. + * @Default {false} + */ + stopOnHover?: boolean; + + /** The template to display the Rotator widget with customized appearance. + * @Default {null} + */ + template?: string; + + /** The templateId enables to bind multiple customized template items in Rotator. + * @Default {null} + */ + templateId?: Array; + + /** Specifies the source for thumbnail elements. + * @Default {null} + */ + thumbnailSourceID?: any; + + /** This event is fired when the Rotator slides are changed. */ + change? (e: ChangeEventArgs): void; + + /** This event is fired when the Rotator control is initialized. */ + create? (e: CreateEventArgs): void; + + /** This event is fired when the Rotator control is destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** This event is fired when a pager is clicked. */ + pagerClick? (e: PagerClickEventArgs): void; + + /** This event is fired when enableAutoPlay is started. */ + start? (e: StartEventArgs): void; + + /** This event is fired when autoplay is stopped or paused. */ + stop? (e: StopEventArgs): void; + + /** This event is fired when a thumbnail pager is clicked. */ + thumbItemClick? (e: ThumbItemClickEventArgs): void; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface PagerClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; +} + +export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; +} + +export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; +} + +export interface ThumbItemClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; +} + +export interface Fields { + + /** Specifies a link for the image. + */ + linkAttribute?: string; + + /** Specifies where to open a given link. + */ + targetAttribute?: string; + + /** Specifies a caption for the image. + */ + text?: string; + + /** Specifies a caption for the thumbnail image. + */ + thumbnailText?: string; + + /** Specifies the URL for an thumbnail image. + */ + thumbnailUrl?: string; + + /** Specifies the URL for an image. + */ + url?: string; +} + +enum PagerPosition{ + + ///string + BottomLeft, + + ///string + BottomRight, + + ///string + Outside, + + ///string + TopCenter, + + ///string + TopLeft, + + ///string + TopRight +} + +} + +class RTE extends ej.Widget { + static fn: RTE; + constructor(element: JQuery, options?: RTE.Model); + constructor(element: Element, options?: RTE.Model); + static Locale: any; + model:RTE.Model; + defaults:RTE.Model; + + /** Returns the range object. + * @returns {any} + */ + createRange(): any; + + /** Disables the RTE control. + * @returns {void} + */ + disable(): void; + + /** Disables the corresponding tool in the RTE ToolBar. + * @returns {void} + */ + disableToolbarItem(): void; + + /** Enables the RTE control. + * @returns {void} + */ + enable(): void; + + /** Enables the corresponding tool in the toolbar when the tool is disabled. + * @returns {void} + */ + enableToolbarItem(): void; + + /** Performs the action value based on the given command. + * @returns {void} + */ + executeCommand(): void; + + /** Focuses the RTE control. + * @returns {void} + */ + focus(): void; + + /** Gets the command status of the selected text based on the given comment in the RTE control. + * @returns {boolean} + */ + getCommandStatus(): boolean; + + /** Gets the Document from the RTE control. + * @returns {Document} + */ + getDocument(): Document; + + /** Gets the HTML string from the RTE control. + * @returns {HTMLElement} + */ + getHtml(): HTMLElement; + + /** Gets the selected HTML string from the RTE control. + * @returns {HTMLElement} + */ + getSelectedHtml(): HTMLElement; + + /** Gets the content as string from the RTE control. + * @returns {string} + */ + getText(): string; + + /** Hides the RTE control. + * @returns {void} + */ + hide(): void; + + /** Inserts new item to the target contextmenu node. + * @returns {void} + */ + insertMenuOption(): void; + + /** Add a table column at the right or left of the specified cell + * @param {boolean} If it’s true, add a column at the left of the cell, otherwise add a column at the right of the cell + * @param {JQuery} Column will be added based on the given cell element + * @returns {HTMLElement} + */ + insertColumn(before?: boolean, cell?: JQuery): HTMLElement; + + /** To add a table row below or above the specified cell. + * @param {boolean} If it’s true, add a row before the cell, otherwise add a row after the cell + * @param {JQuery} Row will be added based on the given cell element + * @returns {HTMLElement} + */ + insertRow(before?: boolean, cell?: JQuery): HTMLElement; + + /** This method helps to insert/paste the content at the current cursor (caret) position or the selected content to be replaced with our text by passing the value as parameter to the pasteContent method in the Editor. + * @returns {void} + */ + pasteContent(): void; + + /** Refreshes the RTE control. + * @returns {void} + */ + refresh(): void; + + /** Removes the specified table column. + * @param {JQuery} Remove the given column element + * @returns {void} + */ + removeColumn(cell?: JQuery): void; + + /** Removes the specified table row. + * @param {JQuery} Remove the given row element + * @returns {void} + */ + removeRow(cell?: JQuery): void; + + /** Deletes the specified table. + * @param {JQuery} Remove the given table + * @returns {void} + */ + removeTable(table?: JQuery): void; + + /** Removes the target menu item from the RTE contextmenu. + * @returns {void} + */ + removeMenuOption(): void; + + /** Removes the given tool from the RTE Toolbar. + * @returns {void} + */ + removeToolbarItem(): void; + + /** Selects all the contents within the RTE. + * @returns {void} + */ + selectAll(): void; + + /** Selects the contents in the given range. + * @returns {void} + */ + selectRange(): void; + + /** Sets the color picker model type rendered initially in the RTE control. + * @returns {void} + */ + setColorPickerType(): void; + + /** Sets the HTML string from the RTE control. + * @returns {void} + */ + setHtml(): void; + + /** Displays the RTE control. + * @returns {void} + */ + show(): void; +} +export module RTE{ + +export interface Model { + + /** Enables/disables the editing of the content. + * @Default {True} + */ + allowEditing?: boolean; + + /** RTE control can be accessed through the keyboard shortcut keys. + * @Default {True} + */ + allowKeyboardNavigation?: boolean; + + /** When the property is set to true, it focuses the RTE at the time of rendering. + * @Default {false} + */ + autoFocus?: boolean; + + /** Based on the content size, its height is adjusted instead of adding the scrollbar. + * @Default {false} + */ + autoHeight?: boolean; + + /** This API holds configuration setting for paste clenaup behavior. + * @Default {{ listConversion: false, cleanCSS: false, removeStyles: false, cleanElements: false }} + */ + pasteCleanupSettings?: PasteCleanupSettings; + + /** Sets the colorCode to display the color of the fontColor and backgroundColor in the font tools of the RTE. + * @Default {[000000, FFFFFF, C4C4C4, ADADAD, 595959, 262626, 4f81bd, dbe5f1, b8cce4, 95b3d7, 366092, 244061, c0504d, f2dcdb, e5b9b7, d99694, 953734,632423, 9bbb59, ebf1dd, d7e3bc, c3d69b, 76923c, 4f6128, 8064a2, e5e0ec, ccc1d9, b2a2c7, 5f497a, 3f3151, f79646, fdeada, fbd5b5, fac08f,e36c09, 974806]} + */ + colorCode?: any; + + /** The number of columns given are rendered in the color palate popup. + * @Default {6} + */ + colorPaletteColumns?: number; + + /** The number of rows given are rendered in the color palate popup. + * @Default {6} + */ + colorPaletteRows?: number; + + /** Sets the root class for the RTE theme. This cssClass API helps the usage of custom skinning option for the RTE control by including this root class in CSS. + */ + cssClass?: string; + + /** Enables/disables the RTE control’s accessibility or interaction. + * @Default {True} + */ + enabled?: boolean; + + /** When the property is set to true, it returns the encrypted text. + * @Default {false} + */ + enableHtmlEncode?: boolean; + + /** Maintain the values of the RTE after page reload. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Shows the resize icon and enables the resize option in the RTE. + * @Default {True} + */ + enableResize?: boolean; + + /** Shows the RTE in the RTL direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Formats the contents based on the XHTML rules. + * @Default {false} + */ + enableXHTML?: boolean; + + /** Enables the tab key action with the RichTextEditor content. + * @Default {True} + */ + enableTabKeyNavigation?: boolean; + + /** This API allows to enable url and fileName for pdf export. + * @Default {null} + */ + exportToPdfSettings?: ExportToPdfSettings; + + /** This API allows to enable url and fileName for word export. + * @Default {null} + */ + exportToWordSettings?: ExportToWordSettings; + + /** Load the external CSS file inside Iframe. + * @Default {null} + */ + externalCSS?: string; + + /** This API allows to enable the file browser support in the RTE control to browse, create, delete and upload the files in the specified current directory. + * @Default {null} + */ + fileBrowser?: FileBrowser; + + /** Sets the fontName in the RTE. + * @Default {{text: Segoe UI, value: Segoe UI },{text: Arial, value: Arial,Helvetica,sans-serif },{text: Courier New, value: Courier New,Courier,Monospace },{text: Georgia, value: Georgia,serif },{text: Impact, value: Impact,Charcoal,sans-serif },{text: Lucida Console, value: Lucida Console,Monaco,Monospace },{text: Tahoma, value: Tahoma,Geneva,sans-serif },{text: Times New Roman, value: Times New Roman },{text: Trebuchet MS, value: Trebuchet MS,Helvetica,sans-serif },{text: Verdana, value: Verdana,Geneva,sans-serif}} + */ + fontName?: any; + + /** Sets the fontSize in the RTE. + * @Default {{ text: 1, value: 1 },{ text: 2 (10pt), value: 2 },{ text: 3 (12pt), value: 3 },{ text: 4 (14pt), value: 4 },{ text: 5 (18pt), value: 5 },{ text: 6 (24pt), value: 6 },{ text: 7 (36pt), value: 7 }} + */ + fontSize?: any; + + /** Sets the format in the RTE. + * @Default {{ text: Paragraph, value: <p>, spriteCssClass: e-paragraph },{ text: Quotation, value: <blockquote>, spriteCssClass: e-quotation },{ text: Heading 1, value: <h1>, spriteCssClass: e-h1 },{ text: Heading 2, value: <h2>, spriteCssClass: e-h2 },{ text: Heading 3, value: <h3>, spriteCssClass: e-h3 },{ text: Heading 4, value: <h4>, spriteCssClass: e-h4 },{ text: Heading 5, value: <h5>, spriteCssClass: e-h5 },{ text: Heading 6, value: <h6>, spriteCssClass: e-h6}} + */ + format?: string; + + /** Defines the height of the RTE textbox. + * @Default {370} + */ + height?: string|number; + + /** Specifies the HTML Attributes of the ejRTE. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the given attributes to the iframe body element. + * @Default {{}} + */ + iframeAttributes?: any; + + /** This API allows the image browser to support in the RTE control to browse, create, delete, and upload the image files to the specified current directory. + * @Default {null} + */ + imageBrowser?: ImageBrowser; + + /** This API allows to enable the url for connecting to RTE import. + * @Default {null} + */ + importSettings?: ImportSettings; + + /** Enables/disables responsive support for the RTE control toolbar items during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Sets the culture in the RTE when you set the localization values are needs to be assigned to the corresponding text as follows. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum height for the RTE outer wrapper element. + * @Default {null} + */ + maxHeight?: string|number; + + /** Sets the maximum length for the RTE outer wrapper element. + * @Default {7000} + */ + maxLength?: number; + + /** Sets the maximum width for the RTE outer wrapper element. + * @Default {null} + */ + maxWidth?: string|number; + + /** Sets the minimum height for the RTE outer wrapper element. + * @Default {280} + */ + minHeight?: string|number; + + /** Sets the minimum width for the RTE outer wrapper element. + * @Default {400} + */ + minWidth?: string|number; + + /** Sets the name in the RTE. When the name value is not initialized, the ID value is assigned to the name. + */ + name?: string; + + /** Shows ClearAll icon in the RTE footer. + * @Default {false} + */ + showClearAll?: boolean; + + /** Shows the clear format in the RTE footer. + * @Default {true} + */ + showClearFormat?: boolean; + + /** Shows the Custom Table in the RTE. + * @Default {True} + */ + showCustomTable?: boolean; + + /** The showContextMenu property helps to enable custom context menu within editor area. + * @Default {True} + */ + showContextMenu?: boolean; + + /** This API is used to set the default dimensions for the image and video. When this property is set to true, the image and video dialog displays the dimension option. + * @Default {false} + */ + showDimensions?: boolean; + + /** Shows the FontOption in the RTE. + * @Default {True} + */ + showFontOption?: boolean; + + /** Shows footer in the RTE. When the footer is enabled, it displays the HTML tag, word Count, character count, clear format, resize icon and clear all the content icons, by default. + * @Default {false} + */ + showFooter?: boolean; + + /** Shows the HtmlSource in the RTE footer. + * @Default {false} + */ + showHtmlSource?: boolean; + + /** When the cursor is placed or when the text is selected in the RTE, it displays the tag info in the footer. + * @Default {True} + */ + showHtmlTagInfo?: boolean; + + /** Shows the toolbar in the RTE. + * @Default {True} + */ + showToolbar?: boolean; + + /** Counts the total characters and displays it in the RTE footer. + * @Default {True} + */ + showCharCount?: boolean; + + /** Enables or disables rounded corner UI look for RTE. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Counts the total words and displays it in the RTE footer. + * @Default {True} + */ + showWordCount?: boolean; + + /** The given number of columns render the insert table pop. + * @Default {10} + */ + tableColumns?: number; + + /** The given number of rows render the insert table pop. + * @Default {8} + */ + tableRows?: number; + + /** Sets the tools in the RTE and gets the inner display order of the corresponding group element. Tools are dependent on the toolsList property. + * @Default {formatStyle: [format],style: [bold, italic, underline, strikethrough],alignment: [justifyLeft, justifyCenter, justifyRight, justifyFull],lists: [unorderedList, orderedList],indenting: [outdent, indent],doAction: [undo, redo],links: [createLink,removeLink],images: [image],media: [video],tables: [createTable, addRowAbove, addRowBelow, addColumnLeft, addColumnRight, deleteRow, deleteColumn, deleteTable]],view:[“fullScreen”,zoomIn,zoomOut],print:[print]} + */ + tools?: Tools; + + /** Specifies the list of groups and order of those groups displayed in the RTE toolbar. The toolsList property is used to get the root group order and tools property is used to get the inner order of the corresponding groups displayed. When the value is not specified, it gets its default display order and tools. + * @Default {[formatStyle, font, style, effects, alignment, lists, indenting, clipboard, doAction, clear, links, images, media, tables, casing,view, customTools,print,edit]} + */ + toolsList?: Array; + + /** Specifies the overflow mode for RTE responsive toolbar + * @Default {Popup} + */ + toolbarOverflowMode?: ej.RTE.ToolbarOverflowMode|string; + + /** Display the hints for the tools in the Toolbar. + * @Default {{ associate: mouseenter, showShadow: true, position: { stem: { horizontal: left, vertical: top } }, tip: { size: { width: 5, height: 5 }, isBalloon: false }} + */ + tooltipSettings?: any; + + /** Gets the undo stack limit. + * @Default {50} + */ + undoStackLimit?: number; + + /** The given string value is displayed in the editable area. + * @Default {null} + */ + value?: string; + + /** Sets the jQuery validation rules to the Rich Text Editor. + * @Default {null} + */ + validationRules?: any; + + /** Sets the jQuery validation error message to the Rich Text Editor. + * @Default {null} + */ + validationMessage?: any; + + /** Defines the width of the RTE textbox. + * @Default {786} + */ + width?: string|number; + + /** Increases and decreases the contents zoom range in percentage + * @Default {0.05} + */ + zoomStep?: string|number; + + /** Fires when changed successfully. */ + change? (e: ChangeEventArgs): void; + + /** Fires when the RTE is created successfully */ + create? (e: CreateEventArgs): void; + + /** Fires when mouse click on menu items. */ + contextMenuClick? (e: ContextMenuClickEventArgs): void; + + /** Fires before the RTE is destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when the commands are executed successfully. */ + execute? (e: ExecuteEventArgs): void; + + /** Fires when the keydown action is successful. */ + keydown? (e: KeydownEventArgs): void; + + /** Fires when the keyup action is successful. */ + keyup? (e: KeyupEventArgs): void; + + /** Fires before the RTE Edit area is rendered and after the toolbar is rendered. */ + preRender? (e: PreRenderEventArgs): void; + + /** Fires when the text is selected in the text area */ + select? (e: SelectEventArgs): void; +} + +export interface ChangeEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RTE model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface CreateEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface ContextMenuClickEventArgs { + + /** returns clicked menu item text. + */ + text?: string; + + /** returns clicked menu item element. + */ + element?: any; + + /** returns the selected item. + */ + selectedItem?: number; +} + +export interface DestroyEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface ExecuteEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface KeydownEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface KeyupEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface PreRenderEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface SelectEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the event object + */ + event?: any; +} + +export interface PasteCleanupSettings { + + /** This API is used to convert the list elements pasted from word document to editor. + * @Default {false} + */ + listConversion?: boolean; + + /** This API is used to clean the unwanted css in the elements pasted from word document to editor. + * @Default {false} + */ + cleanCSS?: boolean; + + /** This API is used to remove all styles in the elements pasted from word document to editor. + * @Default {false} + */ + removeStyles?: boolean; + + /** This API is used to clean the unwanted elements pasted from word document to editor. + * @Default {false} + */ + cleanElements?: boolean; +} + +export interface ExportToPdfSettings { + + /** This API is used to receive the server-side handler for export related operations. + */ + url?: string; + + /** Specifies the file name for the exported pdf file. + */ + fileName?: string; +} + +export interface ExportToWordSettings { + + /** This API is used to receive the server-side handler for export related operations. + */ + url?: string; + + /** Specifies the file name for the exported word file. + */ + fileName?: string; +} + +export interface FileBrowser { + + /** This API is used to receive the server-side handler for file related operations. + */ + ajaxAction?: string; + + /** Specifies the file type extension shown in the file browser window. + */ + extensionAllow?: string; + + /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected files to the current directory. + */ + filePath?: string; +} + +export interface ImageBrowser { + + /** This API is used to receive the server-side handler for the file related operations. + */ + ajaxAction?: string; + + /** Specifies the file type extension shown in the image browser window. + */ + extensionAllow?: string; + + /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected images to the current directory. + */ + filePath?: string; +} + +export interface ImportSettings { + + /** This API is used to receive the server-side handler for import operations. + */ + url?: string; +} + +export interface ToolsCustomOrderedList { + + /** Specifies the name for customOrderedList item. + */ + name?: string; + + /** Specifies the title for customOrderedList item. + */ + tooltip?: string; + + /** Specifies the styles for customOrderedList item. + */ + css?: string; + + /** Specifies the text for customOrderedList item. + */ + text?: string; + + /** Specifies the list style for customOrderedList item. + */ + listStyle?: string; + + /** Specifies the image for customOrderedList item. + */ + listImage?: string; +} + +export interface ToolsCustomUnorderedList { + + /** Specifies the name for customUnorderedList item. + */ + name?: string; + + /** Specifies the title for customUnorderedList item. + */ + tooltip?: string; + + /** Specifies the styles for customUnorderedList item. + */ + css?: string; + + /** Specifies the text for customUnorderedList item. + */ + text?: string; + + /** Specifies the list style for customUnorderedList item. + */ + listStyle?: string; + + /** Specifies the image for customUnorderedList item. + */ + listImage?: string; +} + +export interface Tools { + + /** Specifies the alignment tools and the display order of this tool in the RTE toolbar. + */ + alignment?: any; + + /** Specifies the casing tools and the display order of this tool in the RTE toolbar. + */ + casing?: Array; + + /** Specifies the clear tools and the display order of this tool in the RTE toolbar. + */ + clear?: Array; + + /** Specifies the clipboard tools and the display order of this tool in the RTE toolbar. + */ + clipboard?: Array; + + /** Specifies the edit tools and the displays tool in the RTE toolbar. + */ + edit?: Array; + + /** Specifies the doAction tools and the display order of this tool in the RTE toolbar. + */ + doAction?: Array; + + /** Specifies the effect of tools and the display order of this tool in RTE toolbar. + */ + effects?: Array; + + /** Specifies the font tools and the display order of this tool in the RTE toolbar. + */ + font?: Array; + + /** Specifies the formatStyle tools and the display order of this tool in the RTE toolbar. + */ + formatStyle?: Array; + + /** Specifies the image tools and the display order of this tool in the RTE toolbar. + */ + images?: Array; + + /** Specifies the indent tools and the display order of this tool in the RTE toolbar. + */ + indenting?: Array; + + /** Specifies the link tools and the display order of this tool in the RTE toolbar. + */ + links?: Array; + + /** Specifies the list tools and the display order of this tool in the RTE toolbar. + */ + lists?: Array; + + /** Specifies the media tools and the display order of this tool in the RTE toolbar. + */ + media?: Array; + + /** Specifies the style tools and the display order of this tool in the RTE toolbar. + */ + style?: Array; + + /** Specifies the table tools and the display order of this tool in the RTE toolbar. + */ + tables?: Array; + + /** Specifies the view tools and the display order of this tool in the RTE toolbar. + */ + view?: Array; + + /** Specifies the print tools and the display order of this tool in the RTE toolbar. + */ + print?: Array; + + /** Specifies the importExport tools and the display order of this tool in the RTE toolbar. + */ + importExport?: Array; + + /** Specifies the customOrderedList tools and the display order of this tool in the RTE toolbar. + */ + customOrderedList?: Array; + + /** Specifies the customUnOrderedList tools and the display order of this tool in the RTE toolbar. + */ + customUnorderedList?: Array; +} + +enum ToolbarOverflowMode{ + + ///To display the RTE toolbar overflow items as popup + Popup, + + ///To display the RTE toolbar overflow items as inline toolbar + Inline +} + +} + +class Slider extends ej.Widget { + static fn: Slider; + constructor(element: JQuery, options?: Slider.Model); + constructor(element: Element, options?: Slider.Model); + static Locale: any; + model:Slider.Model; + defaults:Slider.Model; + + /** To disable the slider + * @returns {void} + */ + disable(): void; + + /** To enable the slider + * @returns {void} + */ + enable(): void; + + /** To get value from slider handle + * @returns {number} + */ + getValue(): number; + + /** To set value to slider handle.By default animation is false while set the value. If you want to enable the animation, pass the enableAnimation as true to this method. + * @returns {void} + */ + setValue(): void; +} +export module Slider{ + +export interface Model { + + /** Specifies the allowMouseWheel of the slider. + * @Default {false} + */ + allowMouseWheel?: boolean; + + /** Specifies the animationSpeed of the slider. + * @Default {500} + */ + animationSpeed?: number; + + /** Specify the CSS class to slider to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the animation behavior of the slider. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the state of the slider. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the enablePersistence to slider to save current model value to browser cookies for state maintains + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the Right to Left Direction of the slider. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the height of the slider. + * @Default {14} + */ + height?: string; + + /** Specifies the HTML Attributes of the ejSlider. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the incremental step value of the slider. + * @Default {1} + */ + incrementStep?: number; + + /** Specifies the distance between two major (large) ticks from the scale of the slider. + * @Default {10} + */ + largeStep?: number; + + /** Specifies the ending value of the slider. + * @Default {100} + */ + maxValue?: number; + + /** Specifies the starting value of the slider. + * @Default {0} + */ + minValue?: number; + + /** Specifies the orientation of the slider. + * @Default {ej.orientation.Horizontal} + */ + orientation?: ej.Orientation|string; + + /** Specifies the readOnly of the slider. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies the rounded corner behavior for slider. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Shows/Hide the major (large) and minor (small) ticks in the scale of the slider. + * @Default {false} + */ + showScale?: boolean; + + /** Specifies the small ticks from the scale of the slider. + * @Default {true} + */ + showSmallTicks?: boolean; + + /** Specifies the showTooltip to shows the current Slider value, while moving the Slider handle or clicking on the slider handle of the slider. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the sliderType of the slider. + * @Default {ej.SliderType.Default} + */ + sliderType?: ej.slider.sliderType|string; + + /** Specifies the distance between two minor (small) ticks from the scale of the slider. + * @Default {1} + */ + smallStep?: number; + + /** Specifies the value of the slider. But it's not applicable for range slider. To range slider we can use values property. + * @Default {0} + */ + value?: number; + + /** Specifies the values of the range slider. But it's not applicable for default and minRange sliders. we can use value property for default and minRange sliders. + * @Default {[minValue,maxValue]} + */ + values?: Array; + + /** Specifies the width of the slider. + * @Default {100%} + */ + width?: string; + + /** Fires once Slider control value is changed successfully. */ + change? (e: ChangeEventArgs): void; + + /** Fires once Slider control has been created successfully. */ + create? (e: CreateEventArgs): void; + + /** Fires when Slider control has been destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires once Slider control is sliding successfully. */ + slide? (e: SlideEventArgs): void; + + /** Fires once Slider control is started successfully. */ + start? (e: StartEventArgs): void; + + /** Fires when Slider control is stopped successfully. */ + stop? (e: StopEventArgs): void; + + /** Fires when display the custom tooltip */ + tooltipChange? (e: TooltipChangeEventArgs): void; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id. + */ + id?: string; + + /** returns the slider model. + */ + model?: ej.Slider.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the slider value. + */ + value?: number; + + /** returns true if event triggered by interaction else returns false. + */ + isInteraction?: boolean; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface SlideEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; +} + +export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; +} + +export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; +} + +export interface TooltipChangeEventArgs { +} +} +module slider +{ +enum sliderType +{ +//Shows default slider +Default, +//Shows minRange slider +MinRange, +//Shows Range slider +Range, +} +} + +class SplitButton extends ej.Widget { + static fn: SplitButton; + constructor(element: JQuery, options?: SplitButton.Model); + constructor(element: Element, options?: SplitButton.Model); + static Locale: any; + model:SplitButton.Model; + defaults:SplitButton.Model; + + /** Destroy the split button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To disable the split button + * @returns {void} + */ + disable(): void; + + /** To Enable the split button + * @returns {void} + */ + enable(): void; + + /** To hide the list content of the split button. + * @returns {void} + */ + hide(): void; + + /** To show the list content of the split button. + * @returns {void} + */ + show(): void; +} +export module SplitButton{ + +export interface Model { + + /** Specifies the arrowPosition of the Split or Dropdown Button.See arrowPosition + * @Default {ej.ArrowPosition.Right} + */ + arrowPosition?: string|ej.ArrowPosition; + + /** Specifies the buttonMode like Split or Dropdown Button.See ButtonMode + * @Default {ej.ButtonMode.Split} + */ + buttonMode?: string|ej.ButtonMode; + + /** Specifies the contentType of the Split Button.See ContentType + * @Default {ej.ContentType.TextOnly} + */ + contentType?: string|ej.ContentType; + + /** Set the root class for Split Button control theme + */ + cssClass?: string; + + /** Specifies the disabling of Split Button if enabled is set to false. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the enableRTL property for Split Button while initialization. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the height of the Split Button. + * @Default {“”} + */ + height?: string|number; + + /** Specifies the HTML Attributes of the Split Button. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the imagePosition of the Split Button.See imagePositions + * @Default {ej.ImagePosition.ImageRight} + */ + imagePosition?: string|ej.ImagePosition; + + /** Specifies the image content for Split Button while initialization. + */ + prefixIcon?: string; + + /** Specifies the showRoundedCorner property for Split Button while initialization. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the Button. See ButtonSize + * @Default {ej.ButtonSize.Normal} + */ + size?: string|ej.ButtonSize; + + /** Specifies the image content for Split Button while initialization. + */ + suffixIcon?: string; + + /** Specifies the list content for Split Button while initialization + */ + targetID?: string; + + /** Specifies the text content for Split Button while initialization. + */ + text?: string; + + /** Specifies the width of the Split Button. + * @Default {“”} + */ + width?: string|number; + + /** Fires before menu of the split button control is opened. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Fires when Button control is clicked successfully */ + click? (e: ClickEventArgs): void; + + /** Fires before the list content of Button control is closed */ + close? (e: CloseEventArgs): void; + + /** Fires after Split Button control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when the Split Button is destroyed successfully */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when a menu item is Hovered out successfully */ + itemMouseOut? (e: ItemMouseOutEventArgs): void; + + /** Fires when a menu item is Hovered in successfully */ + itemMouseOver? (e: ItemMouseOverEventArgs): void; + + /** Fires when a menu item is clicked successfully */ + itemSelected? (e: ItemSelectedEventArgs): void; + + /** Fires before the list content of Button control is opened */ + open? (e: OpenEventArgs): void; +} + +export interface BeforeOpenEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface ClickEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** return the button state + */ + status?: boolean; +} + +export interface CloseEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface CreateEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface ItemMouseOutEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** return the menu item id + */ + ID?: string; + + /** return the clicked menu item text + */ + Text?: string; +} + +export interface ItemMouseOverEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** return the menu item id + */ + ID?: string; + + /** return the clicked menu item text + */ + Text?: string; +} + +export interface ItemSelectedEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** returns the selected item + */ + selectedItem?: any; + + /** return the menu id + */ + menuId?: string; + + /** return the clicked menu item text + */ + menuText?: string; +} + +export interface OpenEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; +} +} +enum ArrowPosition +{ +//To set Left arrowPosition of the split button +Left, +//To set Right arrowPosition of the split button +Right, +//To set Top arrowPosition of the split button +Top, +//To set Bottom arrowPosition of the split button +Bottom, +} + +class Splitter extends ej.Widget { + static fn: Splitter; + constructor(element: JQuery, options?: Splitter.Model); + constructor(element: Element, options?: Splitter.Model); + static Locale: any; + model:Splitter.Model; + defaults:Splitter.Model; + + /** To add a new pane to splitter control. + * @param {string} content of pane. + * @param {any} pane properties. + * @param {number} index of pane. + * @returns {HTMLElement} + */ + addItem(content: string, property: any, index: number): HTMLElement; + + /** To collapse the splitter control pane. + * @param {number} index number of pane. + * @returns {void} + */ + collapse(paneIndex: number): void; + + /** To expand the splitter control pane. + * @param {number} index number of pane. + * @returns {void} + */ + expand(paneIndex: number): void; + + /** To refresh the splitter control pane resizing. + * @returns {void} + */ + refresh(): void; + + /** To remove a specified pane from the splitter control. + * @param {number} index of pane. + * @returns {void} + */ + removeItem(index: number): void; +} +export module Splitter{ + +export interface Model { + + /** Turns on keyboard interaction with the Splitter panes. You must set this property to true to access the keyboard shortcuts of ejSplitter. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specify animation speed for the Splitter pane movement, while collapsing and expanding. + * @Default {300} + */ + animationSpeed?: number; + + /** Specify the CSS class to splitter control to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Specifies the animation behavior of the splitter. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the splitter control to be displayed in right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specify height for splitter control. + * @Default {null} + */ + height?: string; + + /** Specifies the HTML Attributes of the Splitter. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specify window resizing behavior for splitter control. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specify the orientation for splitter control. See orientation + * @Default {ej.orientation.Horizontal or “horizontal”} + */ + orientation?: ej.Orientation|string; + + /** Specify properties for each pane like paneSize, minSize, maxSize, collapsible, expandable, resizable. + * @Default {[]} + */ + properties?: Array; + + /** Specify width for splitter control. + * @Default {null} + */ + width?: string; + + /** Fires before expanding / collapsing the split pane of splitter control. */ + beforeExpandCollapse? (e: BeforeExpandCollapseEventArgs): void; + + /** Fires when splitter control pane has been created. */ + create? (e: CreateEventArgs): void; + + /** Fires when splitter control pane has been destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when expand / collapse operation in splitter control pane has been performed successfully. */ + expandCollapse? (e: ExpandCollapseEventArgs): void; + + /** Fires when resize in splitter control pane. */ + resize? (e: ResizeEventArgs): void; +} + +export interface BeforeExpandCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns collapsed pane details. + */ + collapsed?: any; + + /** returns expanded pane details. + */ + expanded?: any; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the current split bar index. + */ + splitbarIndex?: number; + + /** returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ExpandCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns collapsed pane details. + */ + collapsed?: any; + + /** returns expanded pane details. + */ + expanded?: any; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the current split bar index. + */ + splitbarIndex?: number; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ResizeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns previous pane details. + */ + prevPane?: any; + + /** returns next pane details. + */ + nextPane?: any; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the current split bar index. + */ + splitbarIndex?: number; + + /** returns the name of the event. + */ + type?: string; +} +} + +class Tab extends ej.Widget { + static fn: Tab; + constructor(element: JQuery, options?: Tab.Model); + constructor(element: Element, options?: Tab.Model); + static Locale: any; + model:Tab.Model; + defaults:Tab.Model; + + /** Add new tab items with given name, URL and given index position, if index null it’s add last item. + * @param {string} URL name / tab id. + * @param {string} Tab Display name. + * @param {number} Index position to placed , this is optional. + * @param {string} specifies cssClass, this is optional. + * @param {string} specifies id of tab, this is optional. + * @returns {void} + */ + addItem(URL: string, displayLabel: string, index: number, cssClass: string, id: string): void; + + /** To disable the tab control. + * @returns {void} + */ + disable(): void; + + /** To enable the tab control. + * @returns {void} + */ + enable(): void; + + /** This function get the number of tab rendered + * @returns {number} + */ + getItemsCount(): number; + + /** This function hides the tab control. + * @returns {void} + */ + hide(): void; + + /** This function hides the specified item tab in tab control. + * @param {number} index of tab item. + * @returns {void} + */ + hideItem(index: number): void; + + /** Remove the given index tab item. + * @param {number} index of tab item. + * @returns {void} + */ + removeItem(index: number): void; + + /** This function is to show the tab control. + * @returns {void} + */ + show(): void; + + /** This function helps to show the specified hidden tab item in tab control. + * @param {number} index of tab item. + * @returns {void} + */ + showItem(index: number): void; +} +export module Tab{ + +export interface Model { + + /** Specifies the ajaxSettings option to load the content to the Tab control. + */ + ajaxSettings?: AjaxSettings; + + /** Tab items interaction with keyboard keys, like headers active navigation. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Allow to collapsing the active item, while click on the active header. + * @Default {false} + */ + collapsible?: boolean; + + /** Set the root class for Tab theme. This cssClass API helps to use custom skinning option for Tab control. + */ + cssClass?: string; + + /** Disables the given tab headers and content panels. + * @Default {[]} + */ + disabledItemIndex?: number[]; + + /** Specifies the animation behavior of the tab. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the tab control. + * @Default {true} + */ + enabled?: boolean; + + /** Enables the given tab headers and content panels. + * @Default {[]} + */ + enabledItemIndex?: number[]; + + /** Save current model value to browser cookies for state maintains. While refresh the Tab control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Display Right to Left direction for headers and panels text of tab. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specify to enable scrolling for Tab header. + * @Default {false} + */ + enableTabScroll?: boolean; + + /** The event API to bind the action for active the tab items. + * @Default {click} + */ + events?: string; + + /** Specifies the position of Tab header as top, bottom, left or right. See below to get available Position + * @Default {top} + */ + headerPosition?: string | ej.Tab.Position; + + /** Set the height of the tab header element. Default this property value is null, so height take content height. + * @Default {null} + */ + headerSize?: string|number; + + /** Height set the outer panel element. Default this property value is null, so height take content height. + * @Default {null} + */ + height?: string|number; + + /** Adjust the content panel height for given option (content, auto and fill), by default panels height adjust based on the content.See below to get available HeightAdjustMode + * @Default {content} + */ + heightAdjustMode?: string | ej.Tab.HeightAdjustMode; + + /** Specifies to hide a pane of Tab control. + * @Default {[]} + */ + hiddenItemIndex?: Array; + + /** Specifies the HTML Attributes of the Tab. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The idPrefix property appends the given string on the added tab item id’s in runtime. + * @Default {ej-tab-} + */ + idPrefix?: string; + + /** Specifies the Tab header in active for given index value. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Display the close button for each tab items. While clicking on the close icon, particular tab item will be removed. + * @Default {false} + */ + showCloseButton?: boolean; + + /** Display the Reload button for each tab items. + * @Default {false} + */ + showReloadIcon?: boolean; + + /** Tab panels and headers to be displayed in rounded corner style. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Set the width for outer panel element, if not it’s take parent width. + * @Default {null} + */ + width?: string|number; + + /** Triggered after a tab item activated. */ + itemActive? (e: ItemActiveEventArgs): void; + + /** Triggered before AJAX content has been loaded. */ + ajaxBeforeLoad? (e: AjaxBeforeLoadEventArgs): void; + + /** Triggered if error occurs in AJAX request. */ + ajaxError? (e: AjaxErrorEventArgs): void; + + /** Triggered after AJAX content load action. */ + ajaxLoad? (e: AjaxLoadEventArgs): void; + + /** Triggered after a tab item activated. */ + ajaxSuccess? (e: AjaxSuccessEventArgs): void; + + /** Triggered before a tab item activated. */ + beforeActive? (e: BeforeActiveEventArgs): void; + + /** Triggered before a tab item remove. */ + beforeItemRemove? (e: BeforeItemRemoveEventArgs): void; + + /** Triggered before a tab item Create. */ + create? (e: CreateEventArgs): void; + + /** Triggered before a tab item destroy. */ + destroy? (e: DestroyEventArgs): void; + + /** Triggered after new tab item add */ + itemAdd? (e: ItemAddEventArgs): void; + + /** Triggered after tab item removed. */ + itemRemove? (e: ItemRemoveEventArgs): void; +} + +export interface ItemActiveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; +} + +export interface AjaxBeforeLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns the URL of AJAX request + */ + URL?: string; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; +} + +export interface AjaxErrorEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns AJAX data details. + */ + data?: any; + + /** returns the URL of AJAX request. + */ + URL?: string; +} + +export interface AjaxLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns the URL of AJAX request + */ + URL?: string; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; +} + +export interface AjaxSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** return AJAX data. + */ + data?: any; + + /** returns AJAX URL + */ + URL?: string; + + /** returns content of AJAX request. + */ + content?: any; +} + +export interface BeforeActiveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; +} + +export interface BeforeItemRemoveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns current tab item index + */ + index?: number; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ItemAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns new added tab header. + */ + tabHeader?: HTMLElement; + + /** returns new added tab content panel. + */ + tabContent?: any; +} + +export interface ItemRemoveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns removed tab header. + */ + removedTab?: HTMLElement; +} + +export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + * @Default {true} + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + * @Default {false} + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + * @Default {html} + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + * @Default {{}} + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + * @Default {html} + */ + dataType?: string; + + /** It specifies the HTTP request type. + * @Default {get} + */ + type?: string; +} + +enum Position{ + + ///Tab headers display to top position + Top, + + ///Tab headers display to bottom position + Bottom, + + ///Tab headers display to left position. + Left, + + ///Tab headers display to right position. + Right +} + + +enum HeightAdjustMode{ + + ///string + None, + + ///string + Content, + + ///string + Auto, + + ///string + Fill +} + +} + +class TagCloud extends ej.Widget { + static fn: TagCloud; + constructor(element: JQuery, options?: TagCloud.Model); + constructor(element: Element, options?: TagCloud.Model); + static Locale: any; + model:TagCloud.Model; + defaults:TagCloud.Model; + + /** Inserts a new item into the TagCloud + * @param {string} Insert new item into the TagCloud + * @returns {void} + */ + insert(name: string): void; + + /** Inserts a new item into the TagCloud at a particular position. + * @param {string} Inserts a new item into the TagCloud + * @param {number} Inserts a new item into the TagCloud with the specified position + * @returns {void} + */ + insertAt(name: string, position: number): void; + + /** Removes the item from the TagCloud based on the name. It removes all the tags which have the corresponding name + * @param {string} name of the tag. + * @returns {void} + */ + remove(name: string): void; + + /** Removes the item from the TagCloud based on the position. It removes the tags from the the corresponding position only. + * @param {number} position of tag item. + * @returns {void} + */ + removeAt(position: number): void; +} +export module TagCloud{ + +export interface Model { + + /** Specify the CSS class to button to achieve custom theme. + */ + cssClass?: string; + + /** The dataSource contains the list of data to display in a cloud format. Each data contains a link URL, frequency to categorize the font size and a display text. + * @Default {null} + */ + dataSource?: any; + + /** Sets the TagCloud and tag items direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines the mapping fields for the data items of the TagCloud. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the list of HTML attributes to be added to TagCloud control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Defines the format for the TagCloud to display the tag items.See Format + * @Default {ej.Format.Cloud} + */ + format?: string|ej.Format; + + /** Sets the maximum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. + * @Default {40px} + */ + maxFontSize?: string|number; + + /** Sets the minimum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. + * @Default {10px} + */ + minFontSize?: string|number; + + /** Define the query to retrieve the data from online server. The query is used only when the online dataSource is used. + * @Default {null} + */ + query?: any; + + /** Shows or hides the TagCloud title. When this set to false, it hides the TagCloud header. + * @Default {true} + */ + showTitle?: boolean; + + /** Sets the title image for the TagCloud. To show the title image, the showTitle property should be enabled. + * @Default {null} + */ + titleImage?: string; + + /** Sets the title text for the TagCloud. To show the title text, the showTitle property should be enabled. + * @Default {Title} + */ + titleText?: string; + + /** Event triggers when the TagCloud items are clicked */ + click? (e: ClickEventArgs): void; + + /** Event triggers when the TagCloud are created */ + create? (e: CreateEventArgs): void; + + /** Event triggers when the TagCloud are destroyed */ + destroy? (e: DestroyEventArgs): void; + + /** Event triggers when the cursor leaves out from a tag item */ + mouseout? (e: MouseoutEventArgs): void; + + /** Event triggers when the cursor hovers on a tag item */ + mouseover? (e: MouseoverEventArgs): void; +} + +export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface MouseoutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; +} + +export interface MouseoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; +} + +export interface Fields { + + /** Defines the frequency column number to categorize the font size. + */ + frequency?: string; + + /** Defines the HTML attributes column for the anchor elements inside the each tag items. + */ + htmlAttributes?: string; + + /** Defines the tag value or display text. + */ + text?: string; + + /** Defines the URL link to navigate while click the tag. + */ + url?: string; +} +} +enum Format +{ +//To render the TagCloud items in cloud format +Cloud, +//To render the TagCloud items in list format +List, +} + +class TimePicker extends ej.Widget { + static fn: TimePicker; + constructor(element: JQuery, options?: TimePicker.Model); + constructor(element: Element, options?: TimePicker.Model); + static Locale: any; + model:TimePicker.Model; + defaults:TimePicker.Model; + + /** Allows you to disable the TimePicker. + * @returns {void} + */ + disable(): void; + + /** Allows you to enable the TimePicker. + * @returns {void} + */ + enable(): void; + + /** It returns the current time value. + * @returns {string} + */ + getValue(): string; + + /** This method will hide the TimePicker control popup. + * @returns {void} + */ + hide(): void; + + /** Updates the current system time in TimePicker. + * @returns {void} + */ + setCurrentTime(): void; + + /** This method will show the TimePicker control popup. + * @returns {void} + */ + show(): void; +} +export module TimePicker{ + +export interface Model { + + /** Sets the root CSS class for the TimePicker theme, which is used to customize. + */ + cssClass?: string; + + /** Specifies the list of time range to be disabled. + * @Default {{}} + */ + disableTimeRanges?: any; + + /** Specifies the animation behavior in TimePicker. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the TimePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the TimePicker control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the TimePicker as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** When the enableStrictMode is set as true it allows the value outside of the range and also indicate with red color border, otherwise it internally changed to the min or max range value based an input value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Defines the height of the TimePicker textbox. + */ + height?: string|number; + + /** Sets the step value for increment an hour value through arrow keys or mouse scroll. + * @Default {1} + */ + hourInterval?: number; + + /** It allows to define the characteristics of the TimePicker control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the time interval between the two adjacent time values in the popup. + * @Default {30} + */ + interval?: number; + + /** Defines the localization info used by the TimePicker. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum time value to the TimePicker. + * @Default {11:59:59 PM} + */ + maxTime?: string; + + /** Sets the minimum time value to the TimePicker. + * @Default {12:00:00 AM} + */ + minTime?: string; + + /** Sets the step value for increment the minute value through arrow keys or mouse scroll. + * @Default {1} + */ + minutesInterval?: number; + + /** Defines the height of the TimePicker popup. + * @Default {191px} + */ + popupHeight?: string|number; + + /** Defines the width of the TimePicker popup. + * @Default {auto} + */ + popupWidth?: string|number; + + /** Toggles the readonly state of the TimePicker. When the widget is readOnly, it doesn’t allow your input. + * @Default {false} + */ + readOnly?: boolean; + + /** Sets the step value for increment the seconds value through arrow keys or mouse scroll. + * @Default {1} + */ + secondsInterval?: number; + + /** shows or hides the drop down button in TimePicker. + * @Default {true} + */ + showPopupButton?: boolean; + + /** TimePicker is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Defines the time format displayed in the TimePicker. + * @Default {h:mm tt} + */ + timeFormat?: string; + + /** Sets a specified time value on the TimePicker. + * @Default {null} + */ + value?: string|Date; + + /** Defines the width of the TimePicker textbox. + */ + width?: string|number; + + /** Fires when the time value changed in the TimePicker. */ + beforeChange? (e: BeforeChangeEventArgs): void; + + /** Fires when the TimePicker popup before opened. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Fires when the time value changed in the TimePicker. */ + change? (e: ChangeEventArgs): void; + + /** Fires when the TimePicker popup closed. */ + close? (e: CloseEventArgs): void; + + /** Fires when create TimePicker successfully. */ + create? (e: CreateEventArgs): void; + + /** Fires when the TimePicker is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when the TimePicker control gets focus. */ + focusIn? (e: FocusInEventArgs): void; + + /** Fires when the TimePicker control get lost focus. */ + focusOut? (e: FocusOutEventArgs): void; + + /** Fires when the TimePicker popup opened. */ + open? (e: OpenEventArgs): void; + + /** Fires when the value is selected from the TimePicker dropdown list. */ + select? (e: SelectEventArgs): void; +} + +export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the modified time value + */ + value?: string; +} + +export interface BeforeOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the time value + */ + value?: string; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true when the value changed by user interaction otherwise returns false + */ + isInteraction?: boolean; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the modified time value + */ + value?: string; +} + +export interface CloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the time value + */ + value?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the current time value + */ + value?: string; +} + +export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the current time value + */ + value?: string; +} + +export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the time value + */ + value?: string; +} + +export interface SelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the selected time value + */ + value?: string; +} +} + +class ToggleButton extends ej.Widget { + static fn: ToggleButton; + constructor(element: JQuery, options?: ToggleButton.Model); + constructor(element: Element, options?: ToggleButton.Model); + static Locale: any; + model:ToggleButton.Model; + defaults:ToggleButton.Model; + + /** Allows you to destroy the ToggleButton widget. + * @returns {void} + */ + destroy(): void; + + /** To disable the ToggleButton to prevent all user interactions. + * @returns {void} + */ + disable(): void; + + /** To enable the ToggleButton. + * @returns {void} + */ + enable(): void; +} +export module ToggleButton{ + +export interface Model { + + /** Specify the icon in active state to the toggle button and it will be aligned from left margin of the button. + */ + activePrefixIcon?: string; + + /** Specify the icon in active state to the toggle button and it will be aligned from right margin of the button. + */ + activeSuffixIcon?: string; + + /** Sets the text when ToggleButton is in active state i.e.,checked state. + * @Default {null} + */ + activeText?: string; + + /** Specifies the contentType of the ToggleButton. See ContentType as below + * @Default {ej.ContentType.TextOnly} + */ + contentType?: ej.ContentType|string; + + /** Specify the CSS class to the ToggleButton to achieve custom theme. + */ + cssClass?: string; + + /** Specify the icon in default state to the toggle button and it will be aligned from left margin of the button. + */ + defaultPrefixIcon?: string; + + /** Specify the icon in default state to the toggle button and it will be aligned from right margin of the button. + */ + defaultSuffixIcon?: string; + + /** Specifies the text of the ToggleButton, when the control is a default state. i.e., unChecked state. + * @Default {null} + */ + defaultText?: string; + + /** Specifies the state of the ToggleButton. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the ToggleButton control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specify the Right to Left direction of the ToggleButton. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the height of the ToggleButton. + * @Default {28pixel} + */ + height?: number|string; + + /** It allows to define the characteristics of the ToggleButton control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the image position of the ToggleButton. + * @Default {ej.ImagePosition.ImageLeft} + */ + imagePosition?: ej.ImagePosition|string; + + /** Allows to prevents the control switched to checked (active) state. + * @Default {false} + */ + preventToggle?: boolean; + + /** Displays the ToggleButton with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the ToggleButton. See ButtonSize as below + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize|string; + + /** It allows to define the ToggleButton state to checked(Active) or unchecked(Default) at initial time. + * @Default {false} + */ + toggleState?: boolean; + + /** Specifies the type of the ToggleButton. See ButtonType as below + * @Default {ej.ButtonType.Button} + */ + type?: ej.ButtonType|string; + + /** Specifies the width of the ToggleButton. + * @Default {100pixel} + */ + width?: number|string; + + /** Fires when ToggleButton control state is changed successfully. */ + change? (e: ChangeEventArgs): void; + + /** Fires when ToggleButton control is clicked successfully. */ + click? (e: ClickEventArgs): void; + + /** Fires when ToggleButton control is created successfully. */ + create? (e: CreateEventArgs): void; + + /** Fires when ToggleButton control is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; +} + +export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** return the toggle button checked state + */ + isChecked?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** return the toggle button checked state + */ + isChecked?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** return the toggle button state + */ + status?: boolean; + + /** returns the name of the event + */ + type?: string; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** returns the name of the event + */ + type?: string; +} +} + +class Toolbar extends ej.Widget { + static fn: Toolbar; + constructor(element: JQuery, options?: Toolbar.Model); + constructor(element: Element, options?: Toolbar.Model); + static Locale: any; + model:Toolbar.Model; + defaults:Toolbar.Model; + + /** Deselect the specified Toolbar item. + * @param {any} The element need to be deselected + * @returns {void} + */ + deselectItem(element: any): void; + + /** Deselect the Toolbar item based on specified id. + * @param {string} The ID of the element need to be deselected + * @returns {void} + */ + deselectItemByID(ID: string): void; + + /** Allows you to destroy the Toolbar widget. + * @returns {void} + */ + destroy(): void; + + /** To disable all items in the Toolbar control. + * @returns {void} + */ + disable(): void; + + /** Disable the specified Toolbar item. + * @param {any} The element need to be disabled + * @returns {void} + */ + disableItem(element: any): void; + + /** Disable the Toolbar item based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be disabled + * @returns {void} + */ + disableItemByID(ID: string): void; + + /** Enable the Toolbar if it is in disabled state. + * @returns {void} + */ + enable(): void; + + /** Enable the Toolbar item based on specified item. + * @param {any} The element need to be enabled + * @returns {void} + */ + enableItem(element: any): void; + + /** Enable the Toolbar item based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be enabled + * @returns {void} + */ + enableItemByID(ID: string): void; + + /** To hide the Toolbar + * @returns {void} + */ + hide(): void; + + /** Remove the item from toolbar, based on specified item. + * @param {any} The element need to be removed + * @returns {void} + */ + removeItem(element: any): void; + + /** Remove the item from toolbar, based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be removed + * @returns {void} + */ + removeItemByID(ID: string): void; + + /** Selects the item from toolbar, based on specified item. + * @param {any} The element need to be selected + * @returns {void} + */ + selectItem(element: any): void; + + /** Selects the item from toolbar, based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be selected + * @returns {void} + */ + selectItemByID(ID: string): void; + + /** To show the Toolbar. + * @returns {void} + */ + show(): void; +} +export module Toolbar{ + +export interface Model { + + /** Sets the root CSS class for Toolbar control to achieve the custom theme. + */ + cssClass?: string; + + /** Specifies dataSource value for the Toolbar control during initialization. + * @Default {null} + */ + dataSource?: any; + + /** Disables an Item or set of Items that are enabled in the Toolbar + * @Default {[]} + */ + disabledItemIndices?: Array; + + /** Specifies the Toolbar control state. + * @Default {true} + */ + enabled?: boolean; + + /** Enables an Item or set of Items that are disabled in the Toolbar + * @Default {[]} + */ + enabledItemIndices?: Array; + + /** Specifies enableRTL property to align the Toolbar control from right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows to separate the each UL items in the Toolbar control. + * @Default {false} + */ + enableSeparator?: boolean; + + /** Specifies the mapping fields for the data items of the Toolbar + * @Default {null} + */ + fields?: string; + + /** Specifies the height of the Toolbar. + * @Default {28} + */ + height?: number|string; + + /** Specifies the list of HTML attributes to be added to toolbar control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies whether the Toolbar control is need to be show or hide. + * @Default {false} + */ + hide?: boolean; + + /** Enables/Disables the responsive support for Toolbar items during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the items of Toolbar + * @Default {null} + */ + Items?: Items; + + /** Specifies the Toolbar orientation. See orientation + * @Default {Horizontal} + */ + orientation?: ej.Orientation|string; + + /** Specifies the query to retrieve the data from the online server. The query is used only when the online dataSource is used. + * @Default {null} + */ + query?: any; + + /** Specifies the Toolbar responsive type. + * @Default {Popup} + */ + responsiveType?: ej.Toolbar.ResponsiveType|string; + + /** Displays the Toolbar with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the width of the Toolbar. + */ + width?: number|string; + + /** Fires after Toolbar control is clicked. */ + click? (e: ClickEventArgs): void; + + /** Fires after Toolbar control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires after Toolbar control is focused. */ + focusOut? (e: FocusOutEventArgs): void; + + /** Fires when the Toolbar is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires after Toolbar control item is hovered. */ + itemHover? (e: ItemHoverEventArgs): void; + + /** Fires after mouse leave from Toolbar control item. */ + itemLeave? (e: ItemLeaveEventArgs): void; + + /** Fires when the overflow popup of toolbar is opened. */ + overflowOpen? (e: OverflowOpenEventArgs): void; + + /** Fires when the overflow popup of toolbar is closed. */ + overflowClose? (e: OverflowCloseEventArgs): void; +} + +export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** returns the target of the current object. + */ + currentTarget?: any; + + /** return the Toolbar state + */ + status?: boolean; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface ItemHoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** returns the target of the current object. + */ + currentTarget?: any; + + /** return the Toolbar state + */ + status?: boolean; +} + +export interface ItemLeaveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** returns the target of the current object. + */ + currentTarget?: any; + + /** return the Toolbar state + */ + status?: boolean; +} + +export interface OverflowOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** Returns the current X position of the target . + */ + clientX?: number; + + /** Returns the current Y position of the target . + */ + clientY?: number; + + /** returns the target of the current object. + */ + currentTarget?: any; +} + +export interface OverflowCloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** Returns the current X position of the target . + */ + clientX?: number; + + /** Returns the current Y position of the target . + */ + clientY?: number; + + /** returns the target of the current object. + */ + currentTarget?: any; +} + +export interface Fields { + + /** Defines the group name for the item. + */ + group?: string; + + /** Defines the HTML attributes such as id, class, styles for the item to extend the capability. + */ + htmlAttributes?: any; + + /** Defines id for the tag. + */ + id?: string; + + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; + + /** Defines the imageURL for the image location. + */ + imageUrl?: string; + + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; + + /** Defines the text content for the tag. + */ + text?: string; + + /** Defines the tooltip text for the tag. + */ + tooltipText?: string; + + /** Allows you to add template as toolbar item + */ + template?: string; +} + +export interface Items { + + /** Defines the group name for the item. + */ + group?: string; + + /** Defines the HTML attributes such as id, class, styles for the item . + */ + htmlAttributes?: any; + + /** Defines id for the tag. + */ + id?: string; + + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; + + /** Defines the imageURL for the image location. + */ + imageUrl?: string; + + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; + + /** Defines the text content for the tag. + */ + text?: string; + + /** Defines the tooltip text for the tag. + */ + tooltipText?: string; + + /** Allows to add template as toolbar item. + */ + template?: string; +} + +enum ResponsiveType{ + + ///To display the toolbar overflow items as popup + Popup, + + ///To display the toolbar overflow items as inline toolbar + Inline +} + +} + +class TreeView extends ej.Widget { + static fn: TreeView; + constructor(element: JQuery, options?: TreeView.Model); + constructor(element: Element, options?: TreeView.Model); + static Locale: any; + model:TreeView.Model; + defaults:TreeView.Model; + + /** To add a Node or collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + addNode(newNodeText: string|any, target: string|any): void; + + /** To add a collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. + * @param {any|Array} New node details in JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + addNodes(collection: any|Array, target: string|any): void; + + /** To check all the nodes in TreeView. + * @returns {void} + */ + checkAll(): void; + + /** To check a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + checkNode(element: string|any|Array): void; + + /** This method is used to collapse all nodes in TreeView control. If you want to collapse all nodes up to the specific level in TreeView control then we need to pass levelUntil as argument to this method. + * @param {number} TreeView nodes will collapse until the given level + * @param {boolean} Weather exclude the hidden nodes of TreeView while collapse all nodes + * @returns {void} + */ + collapseAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; + + /** To collapse a particular node in TreeView. + * @param {string|any|Array} ID of TreeView node|object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + collapseNode(element: string|any|Array): void; + + /** To disable the node in the TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + disableNode(element: string|any|Array): void; + + /** To enable the node in the TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + enableNode(element: string|any|Array): void; + + /** To ensure that the TreeView node is visible in the TreeView. This method is useful if we need select a TreeView node dynamically. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + ensureVisible(element: string|any): boolean; + + /** This method is used to expand all nodes in TreeView control. If you want to expand all nodes up to the specific level in TreeView control then we need to pass levelUntil as argument to this method. + * @param {number} TreeView nodes will expand until the given level + * @param {boolean} Weather exclude the hidden nodes of TreeView while expand all nodes + * @returns {void} + */ + expandAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; + + /** To expandNode particular node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + expandNode(element: string|any|Array): void; + + /** To get currently checked nodes in TreeView. + * @returns {any} + */ + getCheckedNodes(): any; + + /** To get currently checked nodes indexes in TreeView. + * @returns {Array} + */ + getCheckedNodesIndex(): Array; + + /** This method is used to get immediate child nodes of a node in TreeView control. If you want to get the all child nodes include nested child nodes then we need to pass includeNestedChild as true along with element arguments to this method. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {boolean} Weather include nested child nodes of TreeView node + * @returns {Array} + */ + getChildren(element: string|any, includeNestedChild?: boolean): Array; + + /** To get number of nodes in TreeView. + * @returns {number} + */ + getNodeCount(): number; + + /** To get currently expanded nodes in TreeView. + * @returns {any} + */ + getExpandedNodes(): any; + + /** To get currently expanded nodes indexes in TreeView. + * @returns {Array} + */ + getExpandedNodesIndex(): Array; + + /** To get TreeView node by using index position in TreeView. + * @param {number} Index position of TreeView node + * @returns {any} + */ + getNodeByIndex(index: number): any; + + /** To get TreeView node data such as id, text, parentId, selected, checked, expanded, level, childes and index. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {any} + */ + getNode(element: string|any): any; + + /** To get current index position of TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {number} + */ + getNodeIndex(element: string|any): number; + + /** To get immediate parent TreeView node of particular TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {any} + */ + getParent(element: string|any): any; + + /** To get the currently selected node in TreeView. + * @returns {any} + */ + getSelectedNode(): any; + + /** To get the currently selected nodes in TreeView. + * @returns {Array} + */ + getSelectedNodes(): Array; + + /** To get the index position of currently selected node in TreeView. + * @returns {number} + */ + getSelectedNodeIndex(): number; + + /** To get the index positions of currently selected nodes in TreeView. + * @returns {Array} + */ + getSelectedNodesIndex(): Array; + + /** To get the text of a node in TreeView. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {string} + */ + getText(element: string|any): string; + + /** To get the updated datasource of TreeView after performing some operation like drag and drop, node editing, adding and removing node. + * @param {string|number} ID of TreeView node + * @returns {Array} + */ + getTreeData(id?: string|number): Array; + + /** To get currently visible nodes in TreeView. + * @returns {any} + */ + getVisibleNodes(): any; + + /** To check a node having child or not. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + hasChildNode(element: string|any): boolean; + + /** To show nodes in TreeView. + * @returns {void} + */ + hide(): void; + + /** To hide particular node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + hideNode(element: string|any|Array): void; + + /** To add a Node or collection of nodes after the particular TreeView node. + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + insertAfter(newNodeText: string|any, target: string|any): void; + + /** To add a Node or collection of nodes before the particular TreeView node. + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + insertBefore(newNodeText: string|any, target: string|any): void; + + /** To check the given TreeView node is checked or unchecked. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isNodeChecked(element: string|any): boolean; + + /** To check whether the child nodes are loaded of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isChildLoaded(element: string|any): boolean; + + /** To check the given TreeView node is disabled or enabled. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isDisabled(element: string|any): boolean; + + /** To check the given node is exist in TreeView. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isExist(element: string|any): boolean; + + /** To get the expand status of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isExpanded(element: string|any): boolean; + + /** To get the select status of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isSelected(element: string|any): boolean; + + /** To get the visibility status of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isVisible(element: string|any): boolean; + + /** To load the TreeView nodes from the particular URL. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. + * @param {string} URL location, the data returned from the URL will be loaded in TreeView + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + loadData(URL: string, target: string|any): void; + + /** To move the TreeView node with in same TreeView. The new position of given TreeView node will be based on destination node and index position. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {number} New index position of given source node + * @returns {void} + */ + moveNode(sourceNode: string|any, destinationNode: string|any, index: number): void; + + /** To refresh the TreeView + * @returns {void} + */ + refresh(): void; + + /** To remove all the nodes in TreeView. + * @returns {void} + */ + removeAll(): void; + + /** To remove a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + removeNode(element: string|any|Array): void; + + /** To select all the TreeView nodes when enable allowMultiSelection property. + * @returns {void} + */ + selectAll(): void; + + /** This method is used to select a node in TreeView control. If you want to select the collection of nodes in TreeView control then we need to enable allowMultiSelection property. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes + * @returns {void} + */ + selectNode(element: string|any|Array): void; + + /** To show nodes in TreeView. + * @returns {void} + */ + show(): void; + + /** To show a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + showNode(element: string|any|Array): void; + + /** To uncheck all the nodes in TreeView. + * @returns {void} + */ + unCheckAll(): void; + + /** To uncheck a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + uncheckNode(element: string|any|Array): void; + + /** To unselect all the TreeView nodes when enable allowMultiSelection property. + * @returns {void} + */ + unselectAll(): void; + + /** This method is used to unselect a node in TreeView control. If you want to unselect the collection of nodes in TreeView control then we need to enable allowMultiSelection property. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes + * @returns {void} + */ + unselectNode(element: string|any|Array): void; + + /** To edit or update the text of the TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {string} New text + * @returns {void} + */ + updateText(target: string|any, newText: string): void; +} +export module TreeView{ + +export interface Model { + + /** Gets or sets a value that indicates whether to enable drag and drop a node within the same tree. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable drag and drop a node in inter ej.TreeView. + * @Default {true} + */ + allowDragAndDropAcrossControl?: boolean; + + /** Gets or sets a value that indicates whether to drop a node to a sibling of particular node. + * @Default {true} + */ + allowDropSibling?: boolean; + + /** Gets or sets a value that indicates whether to drop a node to a child of particular node. + * @Default {true} + */ + allowDropChild?: boolean; + + /** Gets or sets a value that indicates whether to enable node editing support for TreeView. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for TreeView actions like nodeSelection, nodeEditing, nodeExpand, nodeCollapse, nodeCut and Paste. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable multi selection support for TreeView. + * @Default {false} + */ + allowMultiSelection?: boolean; + + /** Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node. + * @Default {true} + */ + autoCheck?: boolean; + + /** Allow us to specify the parent node to be retain in checked or unchecked state instead of going for indeterminate state. + * @Default {false} + */ + autoCheckParentNode?: boolean; + + /** Gets or sets a value that indicates the checkedNodes index collection as an array. The given array index position denotes the nodes, that are checked while rendering TreeView. + * @Default {[]} + */ + checkedNodes?: Array; + + /** Sets the root CSS class for TreeView which allow us to customize the appearance. + */ + cssClass?: string; + + /** Gets or sets a value that indicates whether to enable or disable the animation effect while expanding or collapsing a node. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Gets or sets a value that indicates whether a TreeView can be enabled or disabled. No actions can be performed while this property is set as false + * @Default {true} + */ + enabled?: boolean; + + /** Allow us to prevent multiple nodes to be in expanded state. If it set to false, previously expanded node will be collapsed automatically, while we expand a node. + * @Default {true} + */ + enableMultipleExpand?: boolean; + + /** Sets a value that indicates whether to persist the TreeView model state in page using applicable medium i.e., HTML5 localStorage or cookies + * @Default {false} + */ + enablePersistence?: boolean; + + /** Gets or sets a value that indicates to align content in the TreeView control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** Gets or sets a array of value that indicates the expandedNodes index collection as an array. The given array index position denotes the nodes, that are expanded while rendering TreeView. + * @Default {[]} + */ + expandedNodes?: Array; + + /** Gets or sets a value that indicates the TreeView node can be expand or collapse by using the specified action. + * @Default {dblclick} + */ + expandOn?: string; + + /** Gets or sets a fields object that allow us to map the data members with field properties in order to make the data binding easier. + * @Default {null} + */ + fields?: Fields; + + /** Gets or sets a value that indicates whether to enable full row selection support for TreeView. + * @Default {false} + */ + fullRowSelect?: boolean; + + /** Defines the height of the TreeView. + * @Default {Null} + */ + height?: string|number; + + /** Specifies the HTML Attributes for the TreeView. Using this API we can add custom attributes in TreeView control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the child nodes to be loaded on demand + * @Default {false} + */ + loadOnDemand?: boolean; + + /** Gets or Sets a value that indicates the index position of a tree node. The particular index tree node will be selected while rendering the TreeView. + * @Default {-1} + */ + selectedNode?: number; + + /** Gets or sets a value that indicates the selectedNodes index collection as an array. The given array index position denotes the nodes, that are selected while rendering TreeView. + * @Default {[]} + */ + selectedNodes?: Array; + + /** Gets or sets a value that indicates whether to display or hide checkbox for all TreeView nodes. + * @Default {false} + */ + showCheckbox?: boolean; + + /** By using sortSettings property, you can customize the sorting option in TreeView control. + */ + sortSettings?: SortSettings; + + /** Allow us to use custom template in order to create TreeView. + * @Default {null} + */ + template?: string; + + /** Defines the width of the TreeView. + * @Default {Null} + */ + width?: string|number; + + /** Fires before adding node to TreeView. */ + beforeAdd? (e: BeforeAddEventArgs): void; + + /** Fires before collapse a node. */ + beforeCollapse? (e: BeforeCollapseEventArgs): void; + + /** Fires before cut node in TreeView. */ + beforeCut? (e: BeforeCutEventArgs): void; + + /** Fires before deleting node in TreeView. */ + beforeDelete? (e: BeforeDeleteEventArgs): void; + + /** Fires before editing the node in TreeView. */ + beforeEdit? (e: BeforeEditEventArgs): void; + + /** Fires before expanding the node. */ + beforeExpand? (e: BeforeExpandEventArgs): void; + + /** Fires before loading nodes to TreeView. */ + beforeLoad? (e: BeforeLoadEventArgs): void; + + /** Fires before paste node in TreeView. */ + beforePaste? (e: BeforePasteEventArgs): void; + + /** Fires before selecting node in TreeView. */ + beforeSelect? (e: BeforeSelectEventArgs): void; + + /** Fires when TreeView created successfully. */ + create? (e: CreateEventArgs): void; + + /** Fires when TreeView destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires before nodeEdit Successful. */ + inlineEditValidation? (e: InlineEditValidationEventArgs): void; + + /** Fires when key pressed successfully. */ + keyPress? (e: KeyPressEventArgs): void; + + /** Fires when data load fails. */ + loadError? (e: LoadErrorEventArgs): void; + + /** Fires when data loaded successfully. */ + loadSuccess? (e: LoadSuccessEventArgs): void; + + /** Fires once node added successfully. */ + nodeAdd? (e: NodeAddEventArgs): void; + + /** Fires once node checked successfully. */ + nodeCheck? (e: NodeCheckEventArgs): void; + + /** Fires when node clicked successfully. */ + nodeClick? (e: NodeClickEventArgs): void; + + /** Fires when node collapsed successfully. */ + nodeCollapse? (e: NodeCollapseEventArgs): void; + + /** Fires when node cut successfully. */ + nodeCut? (e: NodeCutEventArgs): void; + + /** Fires when node deleted successfully. */ + nodeDelete? (e: NodeDeleteEventArgs): void; + + /** Fires when node dragging. */ + nodeDrag? (e: NodeDragEventArgs): void; + + /** Fires once node drag start successfully. */ + nodeDragStart? (e: NodeDragStartEventArgs): void; + + /** Fires before the dragged node to be dropped. */ + nodeDragStop? (e: NodeDragStopEventArgs): void; + + /** Fires once node dropped successfully. */ + nodeDropped? (e: NodeDroppedEventArgs): void; + + /** Fires once node edited successfully. */ + nodeEdit? (e: NodeEditEventArgs): void; + + /** Fires once node expanded successfully. */ + nodeExpand? (e: NodeExpandEventArgs): void; + + /** Fires once node pasted successfully. */ + nodePaste? (e: NodePasteEventArgs): void; + + /** Fires when node selected successfully. */ + nodeSelect? (e: NodeSelectEventArgs): void; + + /** Fires once node unchecked successfully. */ + nodeUncheck? (e: NodeUncheckEventArgs): void; + + /** Fires once node unselected successfully. */ + nodeUnselect? (e: NodeUnselectEventArgs): void; + + /** Fires when TreeView nodes are loaded successfully */ + ready? (e: ReadyEventArgs): void; +} + +export interface BeforeAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the given new node data + */ + data?: string|any; + + /** returns the parent element, the given new nodes to be appended to the given parent element + */ + targetParent?: any; + + /** returns the given parent node details + */ + parentDetails?: any; +} + +export interface BeforeCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the child nodes are loaded or not + */ + isChildLoaded?: boolean; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; +} + +export interface BeforeCutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be cut + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; +} + +export interface BeforeDeleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be deleted + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the current parent element of the target node + */ + parentElement?: any; + + /** returns the parent node values + */ + parentDetails?: any; + + /** returns the currently removed nodes + */ + removedNodes?: Array; +} + +export interface BeforeEditEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; +} + +export interface BeforeExpandEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** if the child node is ready to expanded state; otherwise, false. + */ + isChildLoaded?: boolean; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; +} + +export interface BeforeLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the AJAX settings object + */ + AjaxOptions?: any; +} + +export interface BeforePasteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be pasted + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; +} + +export interface BeforeSelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element, the given node to be selected + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface InlineEditValidationEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the new entered text for the node + */ + newText?: string; + + /** returns the current node element id + */ + id?: any; + + /** returns the old node text + */ + oldText?: string; +} + +export interface KeyPressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns node path from root element + */ + path?: string; + + /** returns the key pressed key code value + */ + keyCode?: number; + + /** it returns when the current node is in expanded state; otherwise, false. + */ + isExpanded?: boolean; + + /** returns the id of current TreeView node + */ + id?: string; + + /** returns the parentId of current TreeView node + */ + parentId?: string; +} + +export interface LoadErrorEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the AJAX error object + */ + error?: any; +} + +export interface LoadSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the success data from the URL + */ + data?: any; + + /** returns the target parent element, the data returned from the URL to be appended to the given parent element, else in TreeView + */ + targetParent?: any; + + /** returns the given parent node details + */ + parentDetails?: any; +} + +export interface NodeAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the added data, that are given initially + */ + data?: any; + + /** returns the newly added elements + */ + nodes?: any; + + /** returns the target parent element of the added element + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; +} + +export interface NodeCheckEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns the id of the current element of the node clicked + */ + id?: string; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** it returns true when the node checkbox is checked; otherwise, false. + */ + isChecked?: boolean; + + /** it returns the currently checked node name + */ + currentNode?: Array; + + /** it returns the currently checked and its child node details + */ + currentCheckedNodes?: Array; +} + +export interface NodeClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked TreeView node + */ + id?: string; + + /** returns the parentId of currently clicked TreeView node + */ + parentId?: string; +} + +export interface NodeCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the id of the current element of the node clicked + */ + id?: string; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: string; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the child nodes are loaded or not + */ + isChildLoaded?: boolean; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; +} + +export interface NodeCutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current parent element of the cut node + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; +} + +export interface NodeDeleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current parent element of the deleted node + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + + /** returns the currently removed nodes + */ + removedNodes?: Array; +} + +export interface NodeDragEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drag target + */ + dragTarget?: any; + + /** returns the current target TreeView node + */ + target?: any; + + /** returns the current target details + */ + targetElementData?: any; + + /** returns the current parent element of the target node + */ + draggedElement?: any; + + /** returns the given parent node details + */ + draggedElementData?: any; + + /** returns the event object + */ + event?: any; +} + +export interface NodeDragStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drag target + */ + dragTarget?: any; + + /** returns the current dragging parent TreeView node + */ + parentElement?: any; + + /** returns the current dragging parent TreeView node details + */ + parentElementData?: any; + + /** returns the current parent element of the dragging node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the event object + */ + event?: any; +} + +export interface NodeDragStopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drop target + */ + dropTarget?: any; + + /** returns the current dragged TreeView node + */ + draggedElement?: any; + + /** returns the current dragged TreeView node details + */ + draggedElementData?: any; + + /** returns the current parent element of the dragged node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the drop position such as before, after or over + */ + position?: string; + + /** returns the event object + */ + event?: any; +} + +export interface NodeDroppedEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drop target + */ + dropTarget?: any; + + /** returns the current dropped TreeView node + */ + droppedElement?: any; + + /** returns the current dropped TreeView node details + */ + droppedElementData?: any; + + /** returns the current parent element of the dropped node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the drop position such as before, after or over + */ + position?: string; + + /** returns the event object + */ + event?: any; +} + +export interface NodeEditEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the element + */ + id?: string; + + /** returns the oldText of the element + */ + oldText?: string; + + /** returns the newText of the element + */ + newText?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be cut + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; +} + +export interface NodeExpandEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** if the child node is ready to expanded state; otherwise, false. + */ + isChildLoaded?: boolean; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; +} + +export interface NodePasteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the pasted element + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; +} + +export interface NodeSelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the current element of the node clicked + */ + id?: any; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: any; + + /** returns the current selected nodes index of TreeView + */ + selectedNodes?: Array; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; +} + +export interface NodeUncheckEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the id of the current element of the node clicked + */ + id?: any; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** it returns true when the node checkbox is checked; otherwise, false. + */ + isChecked?: boolean; + + /** it returns currently unchecked node name + */ + currentNode?: string; + + /** it returns currently unchecked node and its child node details. + */ + currentUncheckedNodes?: Array; +} + +export interface NodeUnselectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the current element of the node unselected + */ + currentElement?: any; + + /** returns the id of the current element of the node unselected + */ + id?: string; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the id of the parent element of current element of the node unselected + */ + parentId?: string; + + /** returns the current selected nodes index of TreeView + */ + selectedNodes?: Array; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; +} + +export interface ReadyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface Fields { + + /** It receives the child level or inner level data source such as Essential DataManager object and JSON object. + */ + child?: any; + + /** It receives Essential DataManager object and JSON object. + */ + dataSource?: any; + + /** Specifies the node to be in expanded state. + */ + expanded?: string; + + /** Its allow us to indicate whether the node has child or not in load on demand + */ + hasChild?: string; + + /** Specifies the HTML Attributes to "li" item list. + */ + htmlAttribute?: any; + + /** Specifies the id to TreeView node items list. + */ + id?: string; + + /** Specifies the image attribute to “img” tag inside items list + */ + imageAttribute?: any; + + /** Specifies the HTML Attributes to "li" item list. + */ + imageUrl?: string; + + /** If its true Checkbox node will be checked when rendered with checkbox. + */ + isChecked?: string; + + /** Specifies the link attribute to “a” tag in item list. + */ + linkAttribute?: any; + + /** Specifies the parent id of the node. The nodes are listed as child nodes of the specified parent node by using its parent id. + */ + parentId?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + */ + query?: any; + + /** Allow us to specify the node to be in selected state + */ + selected?: string; + + /** Specifies the sprite CSS class to "li" item list. + */ + spriteCssClass?: string; + + /** It receives the table name to execute query on the corresponding table. + */ + tableName?: string; + + /** Specifies the text of TreeView node items list. + */ + text?: string; +} + +export interface SortSettings { + + /** Enables or disables the sorting option in TreeView control + * @Default {false} + */ + allowSorting?: boolean; + + /** Sets the sorting order type. There are two sorting types available, such as "ascending", "descending". + * @Default {ej.sortOrder.Ascending} + */ + sortOrder?: ej.sortOrder|string; +} +} +enum sortOrder +{ +//Enum for Ascending sort order +Ascending, +//Enum for Descending sort order +Descending, +} + +class Uploadbox extends ej.Widget { + static fn: Uploadbox; + constructor(element: JQuery, options?: Uploadbox.Model); + constructor(element: Element, options?: Uploadbox.Model); + static Locale: any; + model:Uploadbox.Model; + defaults:Uploadbox.Model; + + /** The destroy method destroys the control and brings the control to a pre-init state. All the events of the Upload control is bound by using this._on unbinds automatically. + * @returns {void} + */ + destroy(): void; + + /** Disables the Uploadbox control + * @returns {void} + */ + disable(): void; + + /** Enables the Uploadbox control + * @returns {void} + */ + enable(): void; + + /** Refresh the Uploadbox control + * @returns {void} + */ + refresh(): void; +} +export module Uploadbox{ + +export interface Model { + + /** Enables the file drag and drop support to the Uploadbox control. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Uploadbox supports both synchronous and asynchronous upload. This can be achieved by using the asyncUpload property. + * @Default {true} + */ + asyncUpload?: boolean; + + /** Uploadbox supports auto uploading of files after the file selection is done. + * @Default {false} + */ + autoUpload?: boolean; + + /** Sets the text for each action button. + * @Default {{browse: Browse, upload: Upload, cancel: Cancel, close: Close}} + */ + buttonText?: ButtonText; + + /** Sets the root class for the Uploadbox control theme. This cssClass API helps to use custom skinning option for the Uploadbox button and dialog content. + */ + cssClass?: string; + + /** Specifies the custom file details in the dialog popup on initialization. + * @Default {{ title:true, name:true, size:true, status:true, action:true}} + */ + customFileDetails?: CustomFileDetails; + + /** Specifies the actions for dialog popup while initialization. + * @Default {{ modal:false, closeOnComplete:false, content:null, drag:true}} + */ + dialogAction?: DialogAction; + + /** Displays the Uploadbox dialog at the given X and Y positions. X: Dialog sets the left position value. Y: Dialog sets the top position value. + * @Default {null} + */ + dialogPosition?: any; + + /** Property for applying the text to the Dialog title and content headers. + * @Default {{ title: Upload Box, name: Name, size: Size, status: Status}} + */ + dialogText?: DialogText; + + /** The dropAreaText is displayed when the drag and drop support is enabled in the Uploadbox control. + * @Default {Drop files or click to upload} + */ + dropAreaText?: string; + + /** Specifies the dropAreaHeight when the drag and drop support is enabled in the Uploadbox control. + * @Default {100%} + */ + dropAreaHeight?: number|string; + + /** Specifies the dropAreaWidth when the drag and drop support is enabled in the Uploadbox control. + * @Default {100%} + */ + dropAreaWidth?: number|string; + + /** Based on the property value, Uploadbox is enabled or disabled. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the right-to-left direction property for the Uploadbox control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Only the files with the specified extension is allowed to upload. This is mentioned in the string format. + */ + extensionsAllow?: string; + + /** Only the files with the specified extension is denied for upload. This is mentioned in the string format. + */ + extensionsDeny?: string; + + /** Sets the maximum size limit for uploading the file. This is mentioned in the number format. + * @Default {31457280} + */ + fileSize?: number; + + /** Sets the height of the browse button. + * @Default {35px} + */ + height?: string; + + /** Specifies the list of HTML attributes to be added to uploadbox control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Configures the culture data and sets the culture to the Uploadbox. + * @Default {en-US} + */ + locale?: string; + + /** Enables multiple file selection for upload. + * @Default {true} + */ + multipleFilesSelection?: boolean; + + /** You can push the file to the Uploadbox in the client-side of the XHR supported browsers alone. + * @Default {null} + */ + pushFile?: any; + + /** Specifies the remove action to be performed after the file uploading is completed. Here, mention the server address for removal. + */ + removeUrl?: string; + + /** Specifies the save action to be performed after the file is pushed for uploading. Here, mention the server address to be saved. + */ + saveUrl?: string; + + /** Enables the browse button support to the Uploadbox control. + * @Default {true} + */ + showBrowseButton?: boolean; + + /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. + * @Default {true} + */ + showFileDetails?: boolean; + + /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. + * @Default {true} + */ + showRoundedCorner?: boolean; + + /** Sets the name for the Uploadbox control. This API helps to Map the action in code behind to retrieve the files. + */ + uploadName?: string; + + /** Sets the width of the browse button. + * @Default {100px} + */ + width?: string; + + /** Fires when the upload progress beforeSend. */ + beforeSend? (e: BeforeSendEventArgs): void; + + /** Fires when the upload progress begins. */ + begin? (e: BeginEventArgs): void; + + /** Fires when the upload progress is cancelled. */ + cancel? (e: CancelEventArgs): void; + + /** Fires when the file upload progress is completed. */ + complete? (e: CompleteEventArgs): void; + + /** Fires when the file upload progress is succeeded. */ + success? (e: SuccessEventArgs): void; + + /** Fires when the Uploadbox control is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when the Uploadbox control is destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires when the Upload process ends in Error. */ + error? (e: ErrorEventArgs): void; + + /** Fires when the file is selected for upload successfully. */ + fileSelect? (e: FileSelectEventArgs): void; + + /** Fires when the file is uploading. */ + inProgress? (e: InProgressEventArgs): void; + + /** Fires when the uploaded file is removed successfully. */ + remove? (e: RemoveEventArgs): void; +} + +export interface BeforeSendEventArgs { + + /** Selected FileList Object. + */ + files?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Uploadbox model + */ + model?: any; + + /** XHR-AJAX Object for reference. + */ + xhr?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface BeginEventArgs { + + /** To pass additional information to the server. + */ + data?: any; + + /** Selected FileList Object. + */ + files?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface CancelEventArgs { + + /** Canceled FileList Object. + */ + fileStatus?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface CompleteEventArgs { + + /** AJAX event argument for reference. + */ + e?: any; + + /** Uploaded file list. + */ + files?: any; + + /** response from the server. + */ + responseText?: string; + + /** XHR-AJAX Object for reference. + */ + xhr?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface SuccessEventArgs { + + /** response from the server. + */ + responseText?: string; + + /** AJAX event argument for reference. + */ + e?: any; + + /** successfully uploaded files list. + */ + success?: any; + + /** Uploaded file list. + */ + files?: any; + + /** XHR-AJAX Object for reference. + */ + xhr?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ErrorEventArgs { + + /** details about the error information. + */ + error?: string; + + /** returns the name of the event. + */ + type?: string; + + /** error event action details. + */ + action?: string; + + /** returns the file details of the file uploaded + */ + files?: any; +} + +export interface FileSelectEventArgs { + + /** returns Selected FileList objects + */ + files?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface InProgressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** AJAX event argument for reference. + */ + e?: any; + + /** returns Selected FileList objects + */ + files?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the current progress percentage. + */ + percentage?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface RemoveEventArgs { + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the file details of the file object + */ + fileStatus?: any; +} + +export interface ButtonText { + + /** Sets the text for the browse button. + */ + browse?: string; + + /** Sets the text for the cancel button. + */ + cancel?: string; + + /** Sets the text for the close button. + */ + Close?: string; + + /** Sets the text for the Upload button inside the dialog popup. + */ + upload?: string; +} + +export interface CustomFileDetails { + + /** Enables the file upload interactions like remove/cancel in File details of the dialog popup. + */ + action?: boolean; + + /** Enables the name in the File details of the dialog popup. + */ + name?: boolean; + + /** Enables or disables the File size details of the dialog popup. + */ + size?: boolean; + + /** Enables or disables the file uploading status visibility in the dialog file details content. + */ + status?: boolean; + + /** Enables the title in File details for the dialog popup. + */ + title?: boolean; +} + +export interface DialogAction { + + /** Once uploaded successfully, the dialog popup closes immediately. + */ + closeOnComplete?: boolean; + + /** Sets the content container option to the Uploadbox dialog popup. + */ + content?: string; + + /** Enables the drag option to the dialog popup. + */ + drag?: boolean; + + /** Enables or disables the Uploadbox dialog’s modal property to the dialog popup. + */ + modal?: boolean; +} + +export interface DialogText { + + /** Sets the uploaded file’s Name (header text) to the Dialog popup. + */ + name?: string; + + /** Sets the upload file Size (header text) to the dialog popup. + */ + size?: string; + + /** Sets the upload file Status (header text) to the dialog popup. + */ + status?: string; + + /** Sets the title text of the dialog popup. + */ + title?: string; +} +} + +class WaitingPopup extends ej.Widget { + static fn: WaitingPopup; + constructor(element: JQuery, options?: WaitingPopup.Model); + constructor(element: Element, options?: WaitingPopup.Model); + static Locale: any; + model:WaitingPopup.Model; + defaults:WaitingPopup.Model; + + /** To hide the waiting popup + * @returns {void} + */ + hide(): void; + + /** Refreshes the WaitingPopup control by resetting the pop-up panel position and content position + * @returns {void} + */ + refresh(): void; + + /** To show the waiting popup + * @returns {void} + */ + show(): void; +} +export module WaitingPopup{ + +export interface Model { + + /** Sets the root class for the WaitingPopup control theme + * @Default {null} + */ + cssClass?: string; + + /** Specifies the list of HTML attributes to be added to waitingpopup control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Enables or disables the default loading icon. + * @Default {true} + */ + showImage?: boolean; + + /** Enables the visibility of the WaitingPopup control + * @Default {false} + */ + showOnInit?: boolean; + + /** Specified a selector for elements, within the container. + * @Default {null} + */ + target?: string; + + /** Waitingpopup element append to given container element. + * @Default {null} + */ + appendTo?: string; + + /** Loads HTML content inside the popup panel instead of the default icon + * @Default {null} + */ + template?: any; + + /** Sets the custom text in the pop-up panel to notify the waiting process + * @Default {null} + */ + text?: string; + + /** Fires after Create WaitingPopup successfully */ + create? (e: CreateEventArgs): void; + + /** Fires after Destroy WaitingPopup successfully */ + destroy? (e: DestroyEventArgs): void; +} + +export interface CreateEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the WaitingPopup model + */ + model?: ej.WaitingPopup.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the WaitingPopup model + */ + model?: ej.WaitingPopup.Model; + + /** returns the name of the event + */ + type?: string; +} +} + +class Grid extends ej.Widget { + static fn: Grid; + constructor(element: JQuery, options?: Grid.Model); + constructor(element: Element, options?: Grid.Model); + static Locale: any; + model:Grid.Model; + defaults:Grid.Model; + + /** Adds a grid model property which is to be ignored upon exporting. + * @param {Array} Pass the array of parameters which need to be ignored on exporting + * @returns {void} + */ + addIgnoreOnExport(propertyNames: Array): void; + + /** Add a new record in grid control when allowAdding is set as true. + * @returns {void} + */ + addRecord(): void; + + /** Add a new record in grid control when allowAdding is set as true. + * @param {Array} Pass the array of added Records + * @param {Array} optionalIf we pass serverChange as true, send post to server side for server action. + * @returns {void} + */ + addRecord(data: Array, serverChange?: Array): void; + + /** Cancel the modified changes in grid control when edit mode is "batch". + * @returns {void} + */ + batchCancel(): void; + + /** Save the modified changes to data source in grid control when edit mode is "batch". + * @returns {void} + */ + batchSave(): void; + + /** Send a cancel request in grid. + * @returns {void} + */ + cancelEdit(): void; + + /** Send a cancel request to the edited cell in grid. + * @returns {void} + */ + cancelEditCell(): void; + + /** It is used to clear all the cell selection. + * @returns {Boolean} + */ + clearCellSelection(): Boolean; + + /** It is used to clear specified cell selection based on the rowIndex and columnIndex provided. + * @param {number} It is used to pass the row index of the cell + * @param {number} It is used to pass the column index of the cell. + * @returns {Boolean} + */ + clearCellSelection(rowIndex: number, columnIndex: number): Boolean; + + /** It is used to clear all the row selection or at specific row selection based on the index provided. + * @param {number} optional If index of the column is specified then it will remove the selection from the particular column else it will clears all of the column selection + * @returns {Boolean} + */ + clearColumnSelection(index?: number): Boolean; + + /** It is used to clear all the filtering done. + * @param {string} If field of the column is specified then it will clear the particular filtering column + * @returns {void} + */ + clearFiltering(field: string): void; + + /** Clear the searching from the grid + * @returns {void} + */ + clearSearching(): void; + + /** Clear all the row selection or at specific row selection based on the index provided + * @param {number} optional If index of the row is specified then it will remove the selection from the particular row else it will clears all of the row selection + * @returns {Boolean} + */ + clearSelection(index?: number): Boolean; + + /** Clear the sorting from columns in the grid + * @returns {void} + */ + clearSorting(): void; + + /** Collapse all the group caption rows in grid + * @returns {void} + */ + collapseAll(): void; + + /** Collapse the group drop area in grid + * @returns {void} + */ + collapseGroupDropArea(): void; + + /** Add or remove columns in grid column collections + * @param {Array|string} Pass array of columns or string of field name to add/remove the column in grid + * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform + * @returns {void} + */ + columns(columnDetails: Array|string, action?: string): void; + + /** Refresh the grid with new data source + * @param {Array} Pass new data source to the grid + * @param {boolean} optional When templateRefresh is set true, both header and contents get refreshed + * @returns {void} + */ + dataSource(datasource: Array, templateRefresh?: boolean): void; + + /** Delete a record in grid control when allowDeleting is set as true + * @param {string} Pass the primary key field Name of the column + * @param {any} Pass the JSON data of record need to be delete. + * @returns {void} + */ + deleteRecord(fieldName: string, data: any): void; + + /** Delete the row based on the given tr element in grid. + * @param {JQuery} Pass the tr element in grid content to get its row index + * @returns {HTMLElement} + */ + deleteRow($tr: JQuery): HTMLElement; + + /** Destroy the grid widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Edit a particular cell based on the row index and field name provided in "batch" edit mode. + * @param {number} Pass row index to edit particular cell + * @param {string} Pass the field name of the column to perform batch edit + * @returns {void} + */ + editCell(index: number, fieldName: string): void; + + /** It returns a value and if the input field values of edit form is not based on the validation rules then it will show the validation message. + * @returns {Boolean} + */ + editFormValidate(): Boolean; + + /** Send a save request in grid. + * @returns {void} + */ + endEdit(): void; + + /** Expand all the group caption rows in grid. + * @returns {void} + */ + expandAll(): void; + + /** Expand or collapse the row based on the row state in grid + * @param {JQuery} Pass the target object to expand/collapse the row based on its row state + * @returns {void} + */ + expandCollapse($target: JQuery): void; + + /** Expand the group drop area in grid. + * @returns {void} + */ + expandGroupDropArea(): void; + + /** Export the grid content to excel, word or PDF document. + * @param {string} Pass the controller action name corresponding to exporting + * @param {string} optionalASP server event name corresponding to exporting + * @param {boolean} optionalPass the multiple exporting value as true/false + * @param {Array} optionalPass the array of the gridIds to be filtered + * @returns {void} + */ + export(action: string, serverEvent?: string, multipleExport?: boolean, gridIds?: Array): void; + + /** Export the grid content to excel, word or PDF document. + * @param {string} Pass the controller action name corresponding to exporting + * @param {string} optionalASP server event name corresponding to exporting + * @param {boolean} optionalPass the multiple exporting value as true/false + * @returns {void} + */ + export(action: string, serverEvent?: string, multipleExport?: boolean): void; + + /** Send a filtering request to filter one column in grid. + * @param {Array} Pass the field name of the column + * @param {string} string/integer/dateTime operator + * @param {string} Pass the value to be filtered in a column + * @param {string} Pass the predicate as and/or + * @param {boolean} optional Pass the match case value as true/false + * @param {any} optionalactualFilterValue denote the filter object of current filtered columns.Pass the value to filtered in a column + * @returns {void} + */ + filterColumn(fieldName: Array, filterOperator: string, filterValue: string, predicate: string, matchcase?: boolean, actualFilterValue?: any): void; + + /** Send a filtering request to filter single or multiple column in grid. + * @param {Array} Pass array of filterColumn query for performing filter operation + * @returns {void} + */ + filterColumn(filterQueries: Array): void; + + /** Get the batch changes of edit, delete and add operations of grid. + * @returns {any} + */ + getBatchChanges(): any; + + /** Get the browser details + * @returns {any} + */ + getBrowserDetails(): any; + + /** Get the column details based on the given field in grid + * @param {string} Pass the field name of the column to get the corresponding column object + * @returns {any} + */ + getColumnByField(fieldName: string): any; + + /** Get the column details based on the given header text in grid. + * @param {string} Pass the header text of the column to get the corresponding column object + * @returns {any} + */ + getColumnByHeaderText(headerText: string): any; + + /** Get the column details based on the given column index in grid + * @param {number} Pass the index of the column to get the corresponding column object + * @returns {any} + */ + getColumnByIndex(columnIndex: number): any; + + /** Get the list of field names from column collection in grid. + * @returns {Array} + */ + getColumnFieldNames(): Array; + + /** Get the column index of the given field in grid. + * @param {string} Pass the field name of the column to get the corresponding column index + * @returns {number} + */ + getColumnIndexByField(fieldName: string): number; + + /** Get the column index of the given headerText of column in grid. + * @param {string} Pass the headerText of the column to get that column index + * @param {string} optionalOptional Pass the field name of the column. + * @returns {number} + */ + getColumnIndexByHeaderText(headerText: string, field?: string): number; + + /** Get the content div element of grid. + * @returns {HTMLElement} + */ + getContent(): HTMLElement; + + /** Get the content table element of grid + * @returns {Array} + */ + getContentTable(): Array; + + /** Get the data of currently edited cell value in "batch" edit mode + * @returns {any} + */ + getCurrentEditCellData(): any; + + /** Get the current page index in grid pager. + * @returns {number} + */ + getCurrentIndex(): number; + + /** Get the current page data source of grid. + * @returns {Array} + */ + getCurrentViewData(): Array; + + /** Get the data of given row index in grid. + * @returns {any} + */ + getDataByIndex(): any; + + /** Get the column field name from the given header text in grid. + * @param {string} Pass header text of the column to get its corresponding field name + * @returns {String} + */ + getFieldNameByHeaderText(headerText: string): String; + + /** Get the filter bar of grid + * @returns {HTMLElement} + */ + getFilterBar(): HTMLElement; + + /** Get the records filtered or searched in Grid + * @returns {Array} + */ + getFilteredRecords(): Array; + + /** Get the footer content of grid. + * @returns {HTMLElement} + */ + getFooterContent(): HTMLElement; + + /** Get the footer table element of grid. + * @returns {HTMLElement} + */ + getFooterTable(): HTMLElement; + + /** Get the header content div element of grid. + * @returns {HTMLElement} + */ + getHeaderContent(): HTMLElement; + + /** Get the header table element of grid + * @returns {HTMLElement} + */ + getHeaderTable(): HTMLElement; + + /** Get the column header text from the given field name in grid. + * @param {string} Pass field name of the column to get its corresponding header text + * @returns {String} + */ + getHeaderTextByFieldName(field: string): String; + + /** Get the names of all the hidden column collections in grid. + * @returns {Array} + */ + getHiddenColumnNames(): Array; + + /** Get the row index based on the given tr element in grid. + * @param {JQuery} Pass the tr element in grid content to get its row index + * @returns {number} + */ + getIndexByRow($tr: JQuery): number; + + /** Get the pager of grid. + * @returns {HTMLElement} + */ + getPager(): HTMLElement; + + /** Get the names of primary key columns in Grid + * @returns {Array} + */ + getPrimaryKeyFieldNames(): Array; + + /** Get the rows(tr element) from the given from and to row index in grid + * @param {number} Pass the from index from which the rows to be returned + * @param {number} Pass the to index to which the rows to be returned + * @returns {HTMLElement} + */ + getRowByIndex(from: number, to: number): HTMLElement; + + /** Get the row height of grid. + * @returns {number} + */ + getRowHeight(): number; + + /** Get the rows(tr element)of grid which is displayed in the current page. + * @returns {HTMLElement} + */ + getRows(): HTMLElement; + + /** Get the scroller object of grid. + * @returns {ej.Scroller} + */ + getScrollObject(): ej.Scroller; + + /** Get the selected records details in grid. + * @returns {Array} + */ + getSelectedRecords(): Array; + + /** Get the selected row element details in grid. + * @returns {Array} + */ + getSelectedRows(): Array; + + /** It accepts the string value and returns the field and sorted direction of the column in grid. + * @param {string} Pass the field of the column to get the sorted direction of the corresponding column in Grid. + * @returns {number} + */ + getsortColumnByField(field: string): number; + + /** Get the calculated summary values of JSON data passed to it + * @param {any} Pass Summary Column details + * @param {any} Pass JSON Array for which its field values to be calculated + * @returns {Number} + */ + getSummaryValues(summaryCol: any, summaryData: any): Number; + + /** Get the names of all the visible column collections in grid + * @returns {Array} + */ + getVisibleColumnNames(): Array; + + /** Send a paging request to specified page in grid + * @param {number} Pass the page index to perform paging at specified page index + * @returns {void} + */ + gotoPage(pageIndex: number): void; + + /** Send a column grouping request in grid. + * @param {string} Pass the field Name of the column to be grouped in grid control + * @returns {void} + */ + groupColumn(fieldName: string): void; + + /** Hide columns from the grid based on the header text + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide + * @returns {void} + */ + hideColumns(headerText: Array|string): void; + + /** Print the grid control + * @returns {void} + */ + print(): void; + + /** It is used to refresh and reset the changes made in "batch" edit mode + * @returns {void} + */ + refreshBatchEditChanges(): void; + + /** It is used to refresh the grid header. + * @returns {void} + */ + refreshHeader(): void; + + /** Refresh the grid contents. The template refreshment is based on the argument passed along with this method + * @param {boolean} optional When templateRefresh is set true, template and grid contents both are refreshed in grid else only grid content is refreshed + * @returns {void} + */ + refreshContent(templateRefresh?: boolean): void; + + /** Refresh the template of the grid + * @returns {void} + */ + refreshTemplate(): void; + + /** Refresh the toolbar items in grid. + * @returns {void} + */ + refreshToolbar(): void; + + /** Remove a column or collection of columns from a sorted column collections in grid. + * @param {Array|string} Pass array of field names of the columns to remove a collection of sorted columns or pass a string of field name to remove a column from sorted column collections + * @returns {void} + */ + removeSortedColumns(fieldName: Array|string): void; + + /** Creates a grid control + * @returns {void} + */ + render(): void; + + /** Re-order the column in grid + * @param {string} Pass the from field name of the column needs to be changed + * @param {string} Pass the to field name of the column needs to be changed + * @returns {void} + */ + reorderColumns(fromFieldName: string, toFieldName: string): void; + + /** Re-order the row in grid + * @param {Array} Pass the indexes of the rows needs to reorder. + * @param {number} Pass the index of a row where to be reordered. + * @returns {void} + */ + reorderRows(indexes: Array, toIndex: number): void; + + /** Reset the model collections like pageSettings, groupSettings, filterSettings, sortSettings and summaryRows. + * @returns {void} + */ + resetModelCollections(): void; + + /** Resize the columns by giving column name and width for the corresponding one. + * @param {string} Pass the column name that needs to be changed + * @param {string} Pass the width to resize the particular columns + * @returns {void} + */ + resizeColumns(column: string, width: string): void; + + /** Resolves row height issue when unbound column is used with FrozenColumn + * @returns {void} + */ + rowHeightRefresh(): void; + + /** Save the particular edited cell in grid. + * @returns {void} + */ + saveCell(): void; + + /** We can prevent the client side cellSave event triggering by passing the preventSaveEvent argument as true. + * @param {boolean} optionalIf we pass preventSaveEvent as true, it prevents the client side cellSave event triggering + * @returns {void} + */ + saveCell(preventSaveEvent: boolean): void; + + /** Set dimension for grid with corresponding to grid parent. + * @param {number} Pass the height of the grid container + * @param {number} Pass the width of the grid container + * @returns {void} + */ + setDimension(height: number, width: number): void; + + /** Send a request to grid to refresh the width set to columns + * @returns {void} + */ + setWidthToColumns(): void; + + /** Send a search request to grid with specified string passed in it + * @param {string} Pass the string to search in Grid records + * @returns {void} + */ + search(searchString: string): void; + + /** Select cells in grid. + * @param {any} It is used to set the starting index of row and indexes of cells for that corresponding row for selecting cells. + * @returns {void} + */ + selectCells(rowCellIndexes: any): void; + + /** Select columns in grid. + * @param {number} It is used to set the starting index of column for selecting columns. + * @returns {void} + */ + selectColumns(fromIndex: number): void; + + /** Select the specified columns in grid based on Index provided. + * @param {number} It is used to set the starting index of column for selecting columns. + * @param {number} optionalIt is used to set the ending index of column for selecting columns. + * @returns {Boolean} + */ + selectColumns(columnIndex: number, toIndex?: number): Boolean; + + /** Select rows in grid. + * @param {number} It is used to set the starting index of row for selecting rows. + * @param {number} It is used to set the ending index of row for selecting rows. + * @returns {void} + */ + selectRows(fromIndex: number, toIndex: number): void; + + /** Select specified rows in grid based on Index provided. + * @param {Array|number} It is used to set the starting index of row for selecting rows. + * @param {number} optionalIt is used to set the ending index of row for selecting rows. + * @param {any} optionalTarget element which is clicked. + * @returns {void} + */ + selectRows(from: Array|number, to: number, target?: any): void; + + /** Select rows in grid. + * @param {Array} Pass array of rowIndexes for selecting rows + * @returns {void} + */ + selectRows(rowIndexes: Array): void; + + /** Used to update a particular cell value. + * @returns {void} + */ + setCellText(): void; + + /** Used to update a particular cell value based on specified row Index and the fieldName. + * @param {number} It is used to set the index for selecting the row. + * @param {string} It is used to set the field name for selecting column. + * @param {any} It is used to set the value for the selected cell. + * @returns {void} + */ + setCellValue(Index: number, fieldName: string, value: any): void; + + /** It sets the default data to the column in grid during adding record in batch edit mode. + * @returns {void} + */ + setDefaultData(): void; + + /** The grid rows has to be rendered as detail view in mobile mode based on given value. + * @param {number} It is used to render grid rows as details view in mobile mode. + * @returns {void} + */ + setPhoneModeMaxWidth(Index: number): void; + + /** Set validation to edit form in the grid. + * @returns {void} + */ + setValidation(): void; + + /** Set validation to a particular input field in a edit form dynamically. + * @param {string} Specify the field name of the column to set validation rules + * @param {any} Specify the validation rules for the field + * @returns {void} + */ + setValidationToField(fieldName: string, rules: any): void; + + /** Show columns in the grid based on the header text + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to show + * @returns {void} + */ + showColumns(headerText: Array|string): void; + + /** Send a sorting request in grid. + * @param {string} Pass the field name of the column as columnName for which sorting have to be performed + * @param {string} optional Pass the sort direction ascending/descending by which the column have to be sort. By default it is sorting in an ascending order + * @returns {void} + */ + sortColumn(columnName: string, sortingDirection?: string): void; + + /** Send an edit record request in grid + * @param {JQuery} Pass the tr- selected row element to be edited in grid + * @returns {void} + */ + startEdit($tr: JQuery): void; + + /** Un-group a column from grouped columns collection in grid + * @param {string} Pass the field Name of the column to be ungrouped from grouped column collection + * @returns {void} + */ + ungroupColumn(fieldName: string): void; + + /** Update a edited record in grid control when allowEditing is set as true. + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the edited JSON data of record need to be update. + * @returns {void} + */ + updateRecord(fieldName: string, data: Array): void; + + /** It adapts grid to its parent element or to the browsers window. + * @returns {void} + */ + windowonresize(): void; +} +export module Grid{ + +export interface Model { + + /** Gets or sets a value that indicates whether to customizing cell based on our needs. + * @Default {false} + */ + allowCellMerging?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic grouping behavior. Grouping can be done by drag on drop desired columns to grid’s GroupDropArea. This can be further customized through “groupSettings” property. + * @Default {false} + */ + allowGrouping?: Boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for performing grid actions. selectionType – Gets or sets a value that indicates whether to enable single row or multiple rows selection behavior in grid. Multiple selection can be done through by holding CTRL and clicking the grid rows + * @Default {true} + */ + allowKeyboardNavigation?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic filtering behavior on grid. Filtering can be used to limit the records displayed using required criteria and this can be further customized through “filterSettings” property + * @Default {false} + */ + allowFiltering?: Boolean; + + /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. + * @Default {false} + */ + allowSorting?: Boolean; + + /** Gets or sets a value that indicates whether to enable multi columns sorting behavior in grid. Sort multiple columns by holding CTRL and click on the corresponding column header. + * @Default {false} + */ + allowMultiSorting?: Boolean; + + /** This specifies the grid to show the paginated data. Also enables pager control at the bottom of grid for dynamic navigation through data source. Paging can be further customized through “pageSettings” property. + * @Default {false} + */ + allowPaging?: Boolean; + + /** Gets or sets a value that indicates whether to enable the columns reordering behavior in the grid. Reordering can be done through by drag and drop the particular column from one index to another index within the grid. + * @Default {false} + */ + allowReordering?: Boolean; + + /** Gets or sets a value that indicates whether the column is non resizable. Column width is set automatically based on the content or header text which is large. + * @Default {false} + */ + allowResizeToFit?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic resizable of columns. Resize the width of the columns by simply click and move the particular column header line + * @Default {false} + */ + allowResizing?: Boolean; + + /** Gets or sets a value that indicates whether to enable the rows reordering in Grid and drag & drop rows between multiple Grid. + * @Default {false} + */ + allowRowDragAndDrop?: Boolean; + + /** Gets or sets a value that indicates whether to enable the scrollbar in the grid and view the records by scroll through the grid manually + * @Default {false} + */ + allowScrolling?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic searching behavior in grid. Currently search box can be enabled through “toolbarSettings” + * @Default {false} + */ + allowSearching?: Boolean; + + /** Gets or sets a value that indicates whether user can select rows on grid. On enabling feature, selected row will be highlighted. + * @Default {true} + */ + allowSelection?: Boolean; + + /** Gets or sets a value that indicates whether the Content will wrap to the next line if the content exceeds the boundary of the Column Cells. + * @Default {false} + */ + allowTextWrap?: Boolean; + + /** Gets or sets a value that indicates whether to enable the multiple exporting behavior on grid data. + * @Default {false} + */ + allowMultipleExporting?: Boolean; + + /** Gets or sets a value that indicates to define common width for all the columns in the grid. + */ + commonWidth?: Number; + + /** Gets or sets a value that indicates to enable the visibility of the grid lines. + * @Default {ej.Grid.GridLines.Both} + */ + gridLines?: ej.Grid.GridLines|string; + + /** This specifies the grid to add the grid control inside the grid row of the parent with expand/collapse options + * @Default {null} + */ + childGrid?: any; + + /** Used to enable or disable static width settings for column. If the columnLayout is set as fixed, then column width will be static. + * @Default {ej.Grid.ColumnLayout.Auto} + */ + columnLayout?: ej.Grid.ColumnLayout|string; + + /** Gets or sets an object that indicates to render the grid with specified columns + * @Default {[]} + */ + columns?: Array; + + /** Gets or sets an object that indicates whether to customize the context menu behavior of the grid. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Gets or sets a value that indicates to render the grid with custom theme. + */ + cssClass?: String; + + /** Gets or sets the data to render the grid with records + * @Default {null} + */ + dataSource?: any; + + /** Default Value: + * @Default {null} + */ + detailsTemplate?: String; + + /** Gets or sets an object that indicates whether to customize the editing behavior of the grid. + */ + editSettings?: EditSettings; + + /** Gets or sets a value that indicates whether to enable the alternative rows differentiation in the grid records based on corresponding theme. + * @Default {true} + */ + enableAltRow?: Boolean; + + /** Gets or sets a value that indicates whether to enable the save action in the grid through row selection + * @Default {true} + */ + enableAutoSaveOnSelectionChange?: Boolean; + + /** Gets or sets a value that indicates whether to enable mouse over effect on the corresponding column header cell of the grid + * @Default {false} + */ + enableHeaderHover?: Boolean; + + /** Gets or sets a value that indicates whether to persist the grid model state in page using applicable medium i.e., HTML5 localStorage or cookies + * @Default {false} + */ + enablePersistence?: Boolean; + + /** Gets or sets a value that indicates whether the grid rows has to be rendered as detail view in mobile mode + * @Default {false} + */ + enableResponsiveRow?: Boolean; + + /** Gets or sets a value that indicates whether to enable mouse over effect on corresponding grid row. + * @Default {true} + */ + enableRowHover?: Boolean; + + /** Align content in the grid control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: Boolean; + + /** To Disable the mouse swipe property as false. + * @Default {true} + */ + enableTouch?: Boolean; + + /** It sets a value that indicates whether to enable toolbar items, when allowEditing, allowAdding and allowDeleting property set as false in the grid. + * @Default {false} + */ + enableToolbarItems?: Boolean; + + /** Act as mapper for the excel exporting URL. + * @Default {ExportToExcel} + */ + exportToExcelAction?: string; + + /** Act as mapper for the PDF exporting URL. + * @Default {ExportToPdf} + */ + exportToPdfAction?: string; + + /** Act as mapper for the Word exporting URL. + * @Default {ExportToWord} + */ + exportToWordAction?: string; + + /** Gets or sets an object that indicates whether to customize the filtering behavior of the grid + */ + filterSettings?: FilterSettings; + + /** Gets or sets an object that indicates whether to customize the grouping behavior of the grid. + */ + groupSettings?: GroupSettings; + + /** Gets or sets a value that indicates whether the grid design has be to made responsive. + * @Default {false} + */ + isResponsive?: Boolean; + + /** This specifies to change the key in keyboard interaction to grid control + * @Default {null} + */ + keySettings?: any; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: String; + + /** Gets or sets a value that indicates whether to set the minimum width of the responsive grid while isResponsive property is true and enableResponsiveRow property is set as false. + * @Default {0} + */ + minWidth?: Number; + + /** Gets or sets an object that indicates whether to modify the pager default configuration. + */ + pageSettings?: PageSettings; + + /** Query the dataSource from the table for Grid. + * @Default {null} + */ + query?: any; + + /** Gets or sets an object that indicates whether to modify the resizing behavior. + */ + resizeSettings?: ResizeSettings; + + /** Gets or sets a value that indicates to render the grid with template rows. The template row must be a table row. That table row must have the JavaScript render binding format ({{:columnName}}) then the grid data source binds the data to the corresponding table row of the template. + * @Default {null} + */ + rowTemplate?: String; + + /** Gets or sets an object that indicates whether to customize the drag and drop behavior of the grid rows + */ + rowDropSettings?: RowDropSettings; + + /** Gets or sets an object that indicates whether to customize the searching behavior of the grid + */ + searchSettings?: SearchSettings; + + /** Gets a value that indicates whether the grid model to hold multiple selected records . selectedRecords can be used to displayed hold the single or multiple selected records using “selectedRecords” property + * @Default {null} + */ + selectedRecords?: Array; + + /** Gets or sets a value that indicates to select the row while initializing the grid + * @Default {-1} + */ + selectedRowIndex?: Number; + + /** Gets or sets a value that indicates the selected rows in grid + * @Default {[]} + */ + selectedRowIndices?: Array; + + /** This property is used to configure the selection behavior of the grid. + */ + selectionSettings?: SelectionSettings; + + /** The row selection behavior of grid. Accepting types are "single" and "multiple". + * @Default {ej.Grid.SelectionType.Single} + */ + selectionType?: ej.Grid.SelectionType|string; + + /** Gets or sets an object that indicates whether to customize the scrolling behavior of the grid. + */ + scrollSettings?: ScrollSettings; + + /** Default Value: + * @Default {false} + */ + showColumnChooser?: Boolean; + + /** Gets or sets a value that indicates stacked header should be shown on grid layout when the property “stackedHeaderRows” is set. + * @Default {false} + */ + showStackedHeader?: Boolean; + + /** Gets or sets a value that indicates summary rows should be shown on grid layout when the property “summaryRows” is set + * @Default {false} + */ + showSummary?: Boolean; + + /** Gets or sets a value that indicates whether to customize the sorting behavior of the grid. + */ + sortSettings?: SortSettings; + + /** Gets or sets an object that indicates to managing the collection of stacked header rows for the grid. + * @Default {[]} + */ + stackedHeaderRows?: Array; + + /** Gets or sets an object that indicates to managing the collection of summary rows for the grid. + * @Default {[]} + */ + summaryRows?: Array; + + /** Gets or sets an object that indicates whether to auto wrap the grid header or content or both + */ + textWrapSettings?: TextWrapSettings; + + /** Gets or sets an object that indicates whether to enable the toolbar in the grid and add toolbar items + */ + toolbarSettings?: ToolbarSettings; + + /** Triggered for every grid action before its starts. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggered for every grid action success event. */ + actionComplete? (e: ActionCompleteEventArgs): void; + + /** Triggered for every grid action server failure event. */ + actionFailure? (e: ActionFailureEventArgs): void; + + /** Triggered when record batch add. */ + batchAdd? (e: BatchAddEventArgs): void; + + /** Triggered when record batch delete. */ + batchDelete? (e: BatchDeleteEventArgs): void; + + /** Triggered before the batch add. */ + beforeBatchAdd? (e: BeforeBatchAddEventArgs): void; + + /** Triggered before the batch delete. */ + beforeBatchDelete? (e: BeforeBatchDeleteEventArgs): void; + + /** Triggered before the batch save. */ + beforeBatchSave? (e: BeforeBatchSaveEventArgs): void; + + /** Triggered before the print. */ + beforePrint? (e: BeforePrintEventArgs): void; + + /** Triggered before row drop in the grid */ + beforeRowDrop? (e: BeforeRowDropEventArgs): void; + + /** Triggered before the record is going to be edited. */ + beginEdit? (e: BeginEditEventArgs): void; + + /** Triggered when record cell edit. */ + cellEdit? (e: CellEditEventArgs): void; + + /** Triggered when record cell save. */ + cellSave? (e: CellSaveEventArgs): void; + + /** Triggered after the cell is selected. */ + cellSelected? (e: CellSelectedEventArgs): void; + + /** Triggered before the cell is going to be selected. */ + cellSelecting? (e: CellSelectingEventArgs): void; + + /** Triggered after the cell is deselected. */ + cellDeselected? (e: CellDeselectedEventArgs): void; + + /** Triggered before the cell is going to be deselected. */ + cellDeselecting? (e: CellDeselectingEventArgs): void; + + /** Triggered when the column is being dragged. */ + columnDrag? (e: ColumnDragEventArgs): void; + + /** Triggered when column dragging begins. */ + columnDragStart? (e: ColumnDragStartEventArgs): void; + + /** Triggered when the column is dropped. */ + columnDrop? (e: ColumnDropEventArgs): void; + + /** Triggered when the row is being dragged. */ + rowDrag? (e: RowDragEventArgs): void; + + /** Triggered when row dragging begins. */ + rowDragStart? (e: RowDragStartEventArgs): void; + + /** Triggered when the row is dropped. */ + rowDrop? (e: RowDropEventArgs): void; + + /** Triggered after the column is selected. */ + columnSelected? (e: ColumnSelectedEventArgs): void; + + /** Triggered before the column is going to be selected. */ + columnSelecting? (e: ColumnSelectingEventArgs): void; + + /** Triggered after the column is deselected. */ + columnDeselected? (e: ColumnDeselectedEventArgs): void; + + /** Triggered before the column is going to be deselected. */ + columnDeselecting? (e: ColumnDeselectingEventArgs): void; + + /** Triggered when context menu item is clicked */ + contextClick? (e: ContextClickEventArgs): void; + + /** Triggered before the context menu is opened. */ + contextOpen? (e: ContextOpenEventArgs): void; + + /** Triggered when the grid is rendered completely. */ + create? (e: CreateEventArgs): void; + + /** Triggered when the grid is bound with data during initial rendering. */ + dataBound? (e: DataBoundEventArgs): void; + + /** Triggered when grid going to destroy. */ + destroy? (e: DestroyEventArgs): void; + + /** Triggered when detail template row is clicked to collapse. */ + detailsCollapse? (e: DetailsCollapseEventArgs): void; + + /** Triggered detail template row is initialized. */ + detailsDataBound? (e: DetailsDataBoundEventArgs): void; + + /** Triggered when detail template row is clicked to expand. */ + detailsExpand? (e: DetailsExpandEventArgs): void; + + /** Triggered after the record is added. */ + endAdd? (e: EndAddEventArgs): void; + + /** Triggered after the record is deleted. */ + endDelete? (e: EndDeleteEventArgs): void; + + /** Triggered after the record is edited. */ + endEdit? (e: EndEditEventArgs): void; + + /** Triggered initial load. */ + load? (e: LoadEventArgs): void; + + /** Triggered every time a request is made to access particular cell information, element and data. */ + mergeCellInfo? (e: MergeCellInfoEventArgs): void; + + /** Triggered every time a request is made to access particular cell information, element and data. */ + queryCellInfo? (e: QueryCellInfoEventArgs): void; + + /** Triggered when record is clicked. */ + recordClick? (e: RecordClickEventArgs): void; + + /** Triggered when record is double clicked. */ + recordDoubleClick? (e: RecordDoubleClickEventArgs): void; + + /** Triggered after column resized. */ + resized? (e: ResizedEventArgs): void; + + /** Triggered when column resize end. */ + resizeEnd? (e: ResizeEndEventArgs): void; + + /** Triggered when column resize start. */ + resizeStart? (e: ResizeStartEventArgs): void; + + /** Triggered when right clicked on grid element. */ + rightClick? (e: RightClickEventArgs): void; + + /** Triggered every time a request is made to access row information, element and data. */ + rowDataBound? (e: RowDataBoundEventArgs): void; + + /** Triggered after the row is selected. */ + rowSelected? (e: RowSelectedEventArgs): void; + + /** Triggered before the row is going to be selected. */ + rowSelecting? (e: RowSelectingEventArgs): void; + + /** Triggered after the row is deselected. */ + rowDeselected? (e: RowDeselectedEventArgs): void; + + /** Triggered before the row is going to be deselected. */ + rowDeselecting? (e: RowDeselectingEventArgs): void; + + /** Triggered when refresh the template column elements in the Grid. */ + templateRefresh? (e: TemplateRefreshEventArgs): void; + + /** Triggered when toolbar item is clicked in grid. */ + toolbarClick? (e: ToolbarClickEventArgs): void; +} + +export interface ActionBeginEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current selected page number. + */ + currentPage?: number; + + /** Returns the previous selected page number. + */ + previousPage?: number; + + /** Returns the end row index of that current page. + */ + endIndex?: number; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the start row index of that current page. + */ + startIndex?: number; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns the column sort direction. + */ + columnSortDirection?: string; + + /** Returns current edited row. + */ + row?: any; + + /** Returns the current action event type. + */ + originalEventType?: string; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the record object (JSON). + */ + data?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the selected row index. + */ + selectedRow?: number; + + /** Returns selected row for delete. + */ + tr?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: any; + + /** Returns current filtering object. + */ + currentFilterObject?: any; + + /** Returns filter details. + */ + filterCollection?: any; + + /** Returns type of the column like number, string and so on. + */ + columnType?: string; + + /** Returns the excel filter model. + */ + filtermodel?: any; + + /** Returns the dataSource. + */ + dataSource?: any; + + /** Returns the query manager. + */ + query?: any; + + /** Returns the customfilter option value. + */ + isCustomFilter?: boolean; +} + +export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current selected page number. + */ + currentPage?: number; + + /** Returns the previous selected page number. + */ + previousPage?: number; + + /** Returns the end row index of that current page. + */ + endIndex?: number; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns the start row index of the current page. + */ + startIndex?: number; + + /** Returns grid element. + */ + target?: any; + + /** Returns the current sorted column field name. + */ + columnName?: string; + + /** Returns the column sort direction. + */ + columnSortDirection?: string; + + /** Returns current edited row. + */ + row?: any; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the record object (JSON). + */ + data?: any; + + /** Returns the selectedRow index. + */ + selectedRow?: number; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns selected row for delete. + */ + tr?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns current filtering object. + */ + currentFilterObject?: any; + + /** Returns filter details. + */ + filterCollection?: any; + + /** Returns the dataSource. + */ + dataSource?: any; + + /** Returns the excel filter model. + */ + filtermodel?: any; + + /** Returns type of the column like number, string and so on. + */ + columnType?: string; + + /** Returns the customfilter option value. + */ + isCustomFilter?: boolean; +} + +export interface ActionFailureEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the error return by server. + */ + error?: any; + + /** Returns the current selected page number. + */ + currentPage?: number; + + /** Returns the previous selected page number. + */ + previousPage?: number; + + /** Returns the end row index of that current page. + */ + endIndex?: number; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns the start row index of the current page. + */ + startIndex?: number; + + /** Returns grid element. + */ + target?: any; + + /** Returns the current sorted column field name. + */ + columnName?: string; + + /** Returns the column sort direction. + */ + columnSortDirection?: string; + + /** Returns current edited row. + */ + row?: any; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the record object (JSON). + */ + data?: any; + + /** Returns the selectedRow index. + */ + selectedRow?: number; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns selected row for delete. + */ + tr?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns current filtering object. + */ + currentFilterObject?: any; + + /** Returns filter details. + */ + filterCollection?: any; +} + +export interface BatchAddEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column object. + */ + columnObject?: any; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the row element. + */ + row?: any; + + /** Returns the primaryKey. + */ + primaryKey?: any; + + /** Returns the cell object. + */ + cell?: any; +} + +export interface BatchDeleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the primary key. + */ + primaryKey?: any; + + /** Returns the row Index. + */ + rowIndex?: number; +} + +export interface BeforeBatchAddEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the default data object. + */ + defaultData?: any; + + /** Returns the primaryKey. + */ + primaryKey?: any; +} + +export interface BeforeBatchDeleteEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the primaryKey. + */ + primaryKey?: any; + + /** Returns the row index. + */ + rowIndex?: number; + + /** Returns the row data. + */ + rowData?: any; + + /** Returns the row element. + */ + row?: any; +} + +export interface BeforeBatchSaveEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the changed record object. + */ + batchChanges?: any; +} + +export interface BeforePrintEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Grid element. + */ + element?: any; + + /** Returns the selected records. + */ + selectedRows?: any; +} + +export interface BeforeRowDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the targeted row. + */ + target?: any; + + /** Returns the targeted row index. + */ + targetIndex?: any; + + /** Returns the dragged record details + */ + draggedRecords?: any; + + /** Returns the drop details + */ + dropDetails?: any; +} + +export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current edited row. + */ + row?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the primary key. + */ + primaryKey?: any; + + /** Returns the primary key value. + */ + primaryKeyValue?: any; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellEditEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the validation rules. + */ + validationRules?: any; + + /** Returns the column name. + */ + columnName?: string; + + /** Returns the cell value. + */ + value?: string; + + /** Returns the row data object. + */ + rowData?: any; + + /** Returns the previous value of the cell. + */ + previousValue?: string; + + /** Returns the column object. + */ + columnObject?: any; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns isForeignKey option value. + */ + isForeignKey?: boolean; +} + +export interface CellSaveEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column name. + */ + columnName?: string; + + /** Returns the cell value. + */ + value?: string; + + /** Returns the row data object. + */ + rowData?: any; + + /** Returns the previous value of the cell. + */ + previousValue?: string; + + /** Returns the column object. + */ + columnObject?: any; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns isForeignKey option value. + */ + isForeignKey?: boolean; +} + +export interface CellSelectedEventArgs { + + /** Returns the selected cell index value. + */ + cellIndex?: number; + + /** Returns the previous selected cell index value. + */ + previousRowCellIndex?: number; + + /** Returns the selected cell element. + */ + currentCell?: any; + + /** Returns the previous selected cell element. + */ + previousRowCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the selected row cell index values. + */ + selectedRowCellIndex?: Array; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellSelectingEventArgs { + + /** Returns the selected cell index value. + */ + cellIndex?: number; + + /** Returns the previous selected cell index value. + */ + previousRowCellIndex?: number; + + /** Returns the selected cell element. + */ + currentCell?: any; + + /** Returns the previous selected cell element. + */ + previousRowCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns whether the ctrl key is pressed while selecting cell + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while selecting cell + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellDeselectedEventArgs { + + /** Returns the deselected cell index value. + */ + cellIndex?: number; + + /** Returns the deselected cell element. + */ + currentCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellDeselectingEventArgs { + + /** Returns the deselecting cell index value. + */ + cellIndex?: number; + + /** Returns the deselecting cell element. + */ + currentCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns whether the ctrl key is pressed while deselecting cell + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while deselecting cell + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ColumnDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable column object. + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns target elements based on mouse move position. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ColumnDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable column object. + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns drag start element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ColumnDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: string; + + /** Returns the draggable column object. + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns dropped dragged element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable row object. + */ + target?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns target elements based on mouse move position. + */ + currentTarget?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns JSON data of dragged rows. + */ + data?: any; +} + +export interface RowDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable row object. + */ + target?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns drag start element cell. + */ + currentTarget?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the JSON data of dragged rows. + */ + data?: any; +} + +export interface RowDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: string; + + /** Returns the draggable row object. + */ + rows?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the current mouse position cell element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the JSON data of dragged rows. + */ + data?: any; +} + +export interface ColumnSelectedEventArgs { + + /** Returns the selected cell index value. + */ + columnIndex?: number; + + /** Returns the previous selected column index value. + */ + previousColumnIndex?: number; + + /** Returns the selected header cell element. + */ + headerCell?: any; + + /** Returns the previous selected header cell element. + */ + prevColumnHeaderCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns the selected columns values. + */ + selectedColumnsIndex?: Array; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ColumnSelectingEventArgs { + + /** Returns the selected column index value. + */ + columnIndex?: number; + + /** Returns the previous selected column index value. + */ + previousColumnIndex?: number; + + /** Returns the selected header cell element. + */ + headerCell?: any; + + /** Returns the previous selected header cell element. + */ + prevColumnHeaderCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns whether the ctrl key is pressed while selecting cell + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while selecting cell + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ColumnDeselectedEventArgs { + + /** Returns the Deselected column index value. + */ + columnIndex?: number; + + /** Returns the Deselected column header element. + */ + headerCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ColumnDeselectingEventArgs { + + /** Returns the deselecting column index value. + */ + columnIndex?: number; + + /** Returns the deselecting column header element. + */ + headerCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns whether the ctrl key is pressed while deselecting column + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while deselecting column + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ContextClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the status of contextmenu item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ContextOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the status of contextmenu item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DetailsCollapseEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns detail row element. + */ + detailsRow?: any; + + /** Returns master row of detail row record object (JSON). + */ + masterData?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns master row element. + */ + masterRow?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DetailsDataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns details row element. + */ + detailsElement?: any; + + /** Returns the details row data. + */ + data?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DetailsExpandEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns detail row element. + */ + detailsRow?: any; + + /** Returns master row of detail row record object (JSON). + */ + masterData?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns master row element. + */ + masterRow?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface EndAddEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns added data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface EndDeleteEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface EndEditEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns modified data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface LoadEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface MergeCellInfoEventArgs { + + /** Returns grid cell. + */ + cell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the text value in the cell. + */ + text?: string; + + /** Returns the column object. + */ + column?: any; + + /** Method to merge Grid rows. + */ + rowMerge?: void; + + /** Method to merge Grid columns. + */ + colMerge?: void; + + /** Method to merge Grid rows and columns. + */ + merge?: void; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface QueryCellInfoEventArgs { + + /** Returns grid cell. + */ + cell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the text value in the cell. + */ + text?: string; + + /** Returns the column object. + */ + column?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RecordClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the jQuery object of the current selected row. + */ + row?: any; + + /** Returns the current selected cell. + */ + cell?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the cell index value. + */ + cellIndex?: number; + + /** Returns the corresponding cell value. + */ + cellValue?: string; + + /** Returns the Header text of the column corresponding to the selected cell. + */ + columnName?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RecordDoubleClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the jQuery object of the current selected row. + */ + row?: any; + + /** Returns the current selected cell. + */ + cell?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the selected cell index value. + */ + cellIndex?: number; + + /** Returns the corresponding cell value. + */ + cellValue?: string; + + /** Returns the Header text of the column corresponding to the selected cell. + */ + columnName?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ResizedEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the column object. + */ + column?: any; + + /** Returns the grid object. + */ + target?: any; + + /** Returns the old width value. + */ + oldWidth?: number; + + /** Returns the new width value. + */ + newWidth?: number; +} + +export interface ResizeEndEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the column object. + */ + column?: any; + + /** Returns the grid object. + */ + target?: any; + + /** Returns the old width value. + */ + oldWidth?: number; + + /** Returns the new width value. + */ + newWidth?: number; + + /** Returns the extra width value. + */ + extra?: number; +} + +export interface ResizeStartEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the column object. + */ + column?: any; + + /** Returns the grid object. + */ + target?: any; + + /** Returns the old width value. + */ + oldWidth?: number; +} + +export interface RightClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + currentData?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the current selected row. + */ + row?: any; + + /** Returns the selected row data object. + */ + data?: any; + + /** Returns the cell index of the selected cell. + */ + cellIndex?: number; + + /** Returns the cell value. + */ + cellValue?: string; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDataBoundEventArgs { + + /** Returns grid row. + */ + row?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the current selected row. + */ + row?: any; + + /** Returns the previous selected row element. + */ + prevRow?: any; + + /** Returns the previous selected row index. + */ + prevRowIndex?: number; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowSelectingEventArgs { + + /** Returns the selected row index value. + */ + rowIndex?: number; + + /** Returns the selected row element. + */ + row?: any; + + /** Returns the previous selected row element. + */ + prevRow?: any; + + /** Returns the previous selected row index. + */ + prevRowIndex?: number; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDeselectedEventArgs { + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the row index of the deselected row. + */ + rowIndex?: number; + + /** Returns the current deselected row element. + */ + row?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDeselectingEventArgs { + + /** Returns the deselecting row index value. + */ + rowIndex?: number; + + /** Returns the deselecting row element. + */ + row?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns whether the ctrl key is pressed while deselecting row + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while deselecting row + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface TemplateRefreshEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns the column object. + */ + column?: any; + + /** Returns the current row data. + */ + data?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the current row index. + */ + rowIndex?: number; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the status of toolbar item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the grid model. + */ + gridModel?: any; + + /** Returns the toolbar object of the selected toolbar element. + */ + toolbarData?: any; + + /** Returns the Id of the current toolbar element. + */ + itemId?: string; + + /** Returns the index of the current toolbar element. + */ + itemIndex?: number; + + /** Returns the name of the current toolbar element. + */ + itemName?: string; +} + +export interface ColumnsCommand { + + /** Gets or sets an object that indicates to define all the button options which are available in ejButton. + */ + buttonOptions?: any; + + /** Gets or sets a value that indicates to add the command column button. See unboundType + */ + type?: ej.Grid.UnboundType|string; +} + +export interface Column { + + /** Sets the clip mode for Grid cell as ellipsis or clipped content(both header and content) + * @Default {ej.Grid.ClipMode.Clip} + */ + clipMode?: ej.Grid.ClipMode|string; + + /** Gets or sets a value that indicates whether to enable editing behavior for particular column. + * @Default {true} + */ + allowEditing?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic filtering behavior for particular column. + * @Default {true} + */ + allowFiltering?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic grouping behavior for particular column. + * @Default {true} + */ + allowGrouping?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic sorting behavior for particular column. + * @Default {true} + */ + allowSorting?: Boolean; + + /** Gets or sets a value that indicates whether to enable dynamic resizable for particular column. + * @Default {true} + */ + allowResizing?: Boolean; + + /** Gets or sets an object that indicates to define a command column in the grid. + * @Default {[]} + */ + commands?: Array; + + /** Gets or sets a value that indicates to provide custom CSS for an individual column. + */ + cssClass?: String; + + /** Gets or sets a value that indicates the attribute values to the td element of a particular column + */ + customAttributes?: any; + + /** Gets or sets a value that indicates to bind the external datasource to the particular column when column editType as dropdownedit and also it is used to bind the datasource to the foreign key column while editing the grid. //Where data is array of JSON objects of text and value for the drop-down and array of JSON objects for foreign key column. + * @Default {null} + */ + dataSource?: Array; + + /** Gets or sets a value that indicates to display the specified default value while adding a new record to the grid + */ + defaultValue?: String|Number|Boolean|Date; + + /** Gets or sets a value that indicates to render the grid content and header with an HTML elements + * @Default {false} + */ + disableHtmlEncode?: Boolean; + + /** Gets or sets a value that indicates to display a column value as checkbox or string + * @Default {true} + */ + displayAsCheckBox?: Boolean; + + /** Gets or sets a value that indicates to customize ejNumericTextbox of an editable column. See editingType + */ + editParams?: any; + + /** Gets or sets a template that displays a custom editor used to edit column values. See editTemplate + * @Default {null} + */ + editTemplate?: any; + + /** Gets or sets a value that indicates to render the element(based on edit type) for editing the grid record. See editingType + * @Default {ej.Grid.EditingType.String} + */ + editType?: ej.Grid.EditingType|string; + + /** Gets or sets a value that indicates to groups the column based on its column format. + * @Default {false} + */ + enableGroupByFormat?: Boolean; + + /** Gets or sets a value that indicates to display the columns in the grid mapping with column name of the dataSource. + */ + field?: string; + + /** Gets or sets a template that customize the filter control from default . See filterBarTemplate + * @Default {null} + */ + filterBarTemplate?: any; + + /** Gets or sets a value that indicates to render the excel or menu filter dialog to the grid columns. See filterType + * @Default {null} + */ + filterType?: ej.Grid.FilterType|string; + + /** Gets or sets a value that indicates to define foreign key field name of the grid datasource. + * @Default {null} + */ + foreignKeyField?: string; + + /** Gets or sets a value that indicates to bind the field which is in foreign column datasource based on the foreignKeyField + * @Default {null} + */ + foreignKeyValue?: string; + + /** Gets or sets a value that indicates the format for the text applied on the column + */ + format?: string; + + /** Gets or sets a value that indicates to add the template within the header element of the particular column. + * @Default {null} + */ + headerTemplateID?: string; + + /** Gets or sets a value that indicates to display the title of that particular column. + */ + headerText?: string; + + /** This defines the text alignment of a particular column header cell value. See headerTextAlign + * @Default {null} + */ + headerTextAlign?: ej.TextAlign|string; + + /** It accepts the string value and shows the tooltip for the Grid column header. + * @Default {null} + */ + headerTooltip?: String; + + /** You can use this property to freeze selected columns in grid at the time of scrolling. + * @Default {false} + */ + isFrozen?: Boolean; + + /** Gets or sets a value that indicates the column has an identity in the database. + * @Default {false} + */ + isIdentity?: Boolean; + + /** Gets or sets a value that indicates the column is act as a primary key(read-only) of the grid. The editing is performed based on the primary key column + * @Default {false} + */ + isPrimaryKey?: Boolean; + + /** Gets or sets a value that indicates the order of Column that are to be hidden or visible when Grid element is in responsive mode and could not occupy all columns. + * @Default {-1} + */ + priority?: Number; + + /** Used to hide the particular column in column chooser by giving value as false. + * @Default {true} + */ + showInColumnChooser?: Boolean; + + /** Gets or sets a value that indicates whether to enables column template for a particular column. + * @Default {false} + */ + template?: Boolean|String; + + /** Gets or sets a value that indicates to align the text within the column. See textAlign + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign|string; + + /** Sets the template for Tooltip in Grid Columns(both header and content) + */ + tooltip?: string; + + /** Gets or sets a value that indicates to specify the data type of the specified columns. + */ + type?: String; + + /** Gets or sets a value that indicates to define constraints for saving data to the database. + */ + validationRules?: any; + + /** Gets or sets a value that indicates whether this column is visible in the grid. + * @Default {true} + */ + visible?: Boolean; + + /** Gets or sets a value that indicates to define the width for a particular column in the grid. + */ + width?: Number; +} + +export interface ContextMenuSettingsSubContextMenu { + + /** Used to get or set the corresponding custom context menu item to which the submenu to be appended. + * @Default {null} + */ + contextMenuItem?: string; + + /** Used to get or set the sub menu items to the custom context menu item. + * @Default {[]} + */ + subMenu?: Array; +} + +export interface ContextMenuSettings { + + /** Gets or sets a value that indicates whether to add the default context menu actions as a context menu items If enableContextMenu is true it will show all the items related to the target, if you want selected items from contextmenu you have to mention in the contextMenuItems + * @Default {[]} + */ + contextMenuItems?: Array; + + /** Gets or sets a value that indicates whether to add custom contextMenu items within the toolbar to perform any action in the grid + * @Default {[]} + */ + customContextMenuItems?: Array; + + /** Gets or sets a value that indicates whether to enable the context menu action in the grid. + * @Default {false} + */ + enableContextMenu?: Boolean; + + /** Used to get or set the subMenu to the corresponding custom context menu item. + */ + subContextMenu?: Array; + + /** Gets or sets a value that indicates whether to disable the default context menu items in the grid. + * @Default {false} + */ + disableDefaultItems?: Boolean; +} + +export interface EditSettings { + + /** Gets or sets a value that indicates whether to enable insert action in the editing mode. + * @Default {false} + */ + allowAdding?: Boolean; + + /** Gets or sets a value that indicates whether to enable the delete action in the editing mode. + * @Default {false} + */ + allowDeleting?: Boolean; + + /** Gets or sets a value that indicates whether to enable the edit action in the editing mode. + * @Default {false} + */ + allowEditing?: Boolean; + + /** Gets or sets a value that indicates whether to enable the editing action while double click on the record + * @Default {true} + */ + allowEditOnDblClick?: Boolean; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Dialog Box + * @Default {null} + */ + dialogEditorTemplateID?: String; + + /** Gets or sets a value that indicates whether to define the mode of editing See editMode + * @Default {ej.Grid.EditMode.Normal} + */ + editMode?: ej.Grid.EditMode|string; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the External edit form + * @Default {null} + */ + externalFormTemplateID?: String; + + /** This specifies to set the position of an External edit form either in the top-right or bottom-left of the grid. See formPosition + * @Default {ej.Grid.FormPosition.BottomLeft} + */ + formPosition?: ej.Grid.FormPosition|string; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Inline edit form + * @Default {null} + */ + inlineFormTemplateID?: String; + + /** This specifies to set the position of an adding new row either in the top or bottom of the grid. See rowPosition + * @Default {ej.Grid.RowPosition.Top} + */ + rowPosition?: ej.Grid.RowPosition|string; + + /** Gets or sets a value that indicates whether the confirm dialog has to be shown while saving or discarding the batch changes + * @Default {true} + */ + showConfirmDialog?: Boolean; + + /** Gets or sets a value that indicates whether the confirm dialog has to be shown while deleting record + * @Default {false} + */ + showDeleteConfirmDialog?: Boolean; + + /** Gets or sets a value that indicates whether the title for edit form is different from the primarykey column. + * @Default {null} + */ + titleColumn?: String; + + /** Gets or sets a value that indicates whether to display the add new form by default in the grid. + * @Default {false} + */ + showAddNewRow?: Boolean; +} + +export interface FilterSettingsFilteredColumn { + + /** Gets or sets a value that indicates whether to define the field name of the column to be filter. + */ + field?: string; + + /** Gets or sets a value that indicates whether to define the matchCase of given value to be filter. + */ + matchCase?: Boolean; + + /** Gets or sets a value that indicates whether to define the filter condition to filtered column. See operator + */ + operator?: ej.FilterOperators|string; + + /** Gets or sets a value that indicates whether to define the predicate as and/or. + */ + predicate?: string; + + /** Gets or sets a value that indicates whether to define the value to be filtered in a column. + */ + value?: string|number; +} + +export interface FilterSettings { + + /** Gets or sets a value that indicates to perform the filter operation with case sensitive in excel styled filter menu mode + * @Default {false} + */ + enableCaseSensitivity?: Boolean; + + /** Gets or sets a value that indicates to define the interDeterminateState of checkbox in excel filter dialog. + * @Default {true} + */ + enableInterDeterminateState?: Boolean; + + /** This specifies the grid to starts the filter action while typing in the filterBar or after pressing the enter key. based on the filterBarMode. See filterBarMode. + * @Default {ej.Grid.FilterBarMode.Immediate} + */ + filterBarMode?: ej.Grid.FilterBarMode|string; + + /** Gets or sets a value that indicates whether to define the filtered columns details programmatically at initial load + * @Default {[]} + */ + filteredColumns?: Array; + + /** This specifies the grid to show the filterBar or filterMenu to the grid records. See filterType + * @Default {ej.Grid.FilterType.FilterBar} + */ + filterType?: ej.Grid.FilterType|string; + + /** This specifies the grid to delay the filter action while typing in the filterBar. + * @Default {1500} + */ + immediateModeDelay?: Number; + + /** Gets or sets a value that indicates the maximum number of filter choices that can be showed in the excel styled filter menu. + * @Default {1000} + */ + maxFilterChoices?: Number; + + /** This specifies the grid to show the filter text within the grid pager itself. + * @Default {true} + */ + showFilterBarStatus?: Boolean; + + /** Gets or sets a value that indicates whether to enable the predicate options in the filtering menu + * @Default {false} + */ + showPredicate?: Boolean; +} + +export interface GroupSettings { + + /** Gets or sets a value that customize the group caption format. + * @Default {null} + */ + captionFormat?: String; + + /** Gets or sets a value that indicates whether to enable animation button option in the group drop area of the grid. + * @Default {false} + */ + enableDropAreaAutoSizing?: Boolean; + + /** Gets or sets a value that indicates whether to add grouped columns programmatically at initial load + * @Default {[]} + */ + groupedColumns?: Array; + + /** Gets or sets a value that indicates whether to show the group drop area just above the column header. It can be used to avoid ungrouping the already grouped column using groupSettings. + * @Default {true} + */ + showDropArea?: Boolean; + + /** Gets or sets a value that indicates whether to hide the grouped columns from the grid + * @Default {false} + */ + showGroupedColumn?: Boolean; + + /** Gets or sets a value that indicates whether to show the group button image(toggle button)in the column header and also in the grouped column in the group drop area . It can be used to group/ungroup the columns by click on the toggle button. + * @Default {false} + */ + showToggleButton?: Boolean; + + /** Gets or sets a value that indicates whether to enable the close button in the grouped column which is in the group drop area to ungroup the grouped column + * @Default {false} + */ + showUngroupButton?: Boolean; +} + +export interface PageSettings { + + /** Gets or sets a value that indicates whether to define which page to display currently in the grid + * @Default {1} + */ + currentPage?: Number; + + /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. + * @Default {false} + */ + enableQueryString?: Boolean; + + /** Gets or sets a value that indicates whether to enables pager template for the grid. + * @Default {false} + */ + enableTemplates?: Boolean; + + /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation + * @Default {8} + */ + pageCount?: Number; + + /** Gets or sets a value that indicates whether to define the number of records displayed per page + * @Default {12} + */ + pageSize?: Number; + + /** Gets or sets a value that indicates whether to enables default pager for the grid. + * @Default {false} + */ + showDefaults?: Boolean; + + /** Gets or sets a value that indicates to add the template as a pager template for grid. + * @Default {null} + */ + template?: String; + + /** Get the value of total number of pages in the grid. The totalPages value is calculated based on page size and total records of grid + * @Default {null} + */ + totalPages?: Number; + + /** Get the value of total number of records which is bound to the grid. The totalRecordsCount value is calculated based on dataSource bound to the grid. + * @Default {null} + */ + totalRecordsCount?: Number; + + /** Gets or sets a value that indicates whether to define the number of pages to print. See printMode. + * @Default {ej.Grid.PrintMode.AllPages} + */ + printMode?: ej.Grid.PrintMode|string; +} + +export interface ResizeSettings { + + /** Gets or sets a value that indicates whether to define the mode of resizing. + * @Default {ej.Grid.ResizeMode.Normal} + */ + resizeMode?: ej.Grid.ResizeMode|string; +} + +export interface RowDropSettings { + + /** This specifies the grid to drop the grid rows only at particular target element. + * @Default {null} + */ + dropTargetID?: any; + + /** This helps in mapping server-side action when rows are dragged from Grid. + * @Default {null} + */ + dragMapper?: string; + + /** This helps in mapping server-side action when rows are dropped in Grid. + * @Default {null} + */ + dropMapper?: string; +} + +export interface SearchSettings { + + /** This specify the grid to search for the value in particular columns that is mentioned in the field. + * @Default {[]} + */ + fields?: any; + + /** This specifies the grid to search the particular data that is mentioned in the key. + */ + key?: string; + + /** It specifies the grid to search the records based on operator. + * @Default {contains} + */ + operator?: string; + + /** It enables or disables case-sensitivity while searching the search key in grid. + * @Default {true} + */ + ignoreCase?: boolean; +} + +export interface SelectionSettings { + + /** Gets or sets a value that indicates the cell selection actions based on the cell selection mode. + * @Default {flow} + */ + cellSelectionMode?: String; + + /** Gets or sets a value that indicates whether to enable the toggle selection behavior for row, cell and column. + * @Default {false} + */ + enableToggle?: Boolean; + + /** Gets or sets a value that indicates whether to add the default selection actions as a selection mode.See selectionMode + * @Default {[row]} + */ + selectionMode?: Array; +} + +export interface ScrollSettings { + + /** This specify the grid to to view data that you require without buffering the entire load of a huge database + * @Default {false} + */ + allowVirtualScrolling?: Boolean; + + /** It accepts the boolean value and shows or hides the scrollbar while focus in or focus out of the Grid. + * @Default {false} + */ + autoHide?: Boolean; + + /** Specifies the height and width of button in the scrollbar. + * @Default {18} + */ + buttonSize?: Number; + + /** This specify the grid to enable/disable touch control for scrolling. + * @Default {true} + */ + enableTouchScroll?: Boolean; + + /** This specify the grid to freeze particular columns at the time of scrolling. + * @Default {0} + */ + frozenColumns?: Number; + + /** This specify the grid to freeze particular rows at the time of scrolling. + * @Default {0} + */ + frozenRows?: Number; + + /** This specify the grid to show the vertical scroll bar, to scroll and view the grid contents. + * @Default {0} + */ + height?: String|Number; + + /** It accepts the integer value and sets the width of scrollbar. + * @Default {18} + */ + scrollerSize?: Number; + + /** This is used to define the mode of virtual scrolling in grid. See virtualScrollMode + * @Default {ej.Grid.VirtualScrollMode.Normal} + */ + virtualScrollMode?: ej.Grid.VirtualScrollMode|string; + + /** This is used to enable the enhanced virtual scrolling in Grid. + * @Default {false} + */ + enableVirtualization?: Boolean; + + /** This specify the grid to show the horizontal scroll bar, to scroll and view the grid contents + * @Default {250} + */ + width?: String|Number; + + /** This specify the scroll down pixel of mouse wheel, to scroll mouse wheel and view the grid contents. + * @Default {57} + */ + scrollOneStepBy?: Number; +} + +export interface SortSettingsSortedColumn { + + /** Gets or sets a value that indicates whether to define the direction to sort the column. + */ + direction?: string; + + /** Gets or sets a value that indicates whether to define the field name of the column to be sort + */ + field?: string; +} + +export interface SortSettings { + + /** Gets or sets a value that indicates whether to define the direction and field to sort the column. + */ + sortedColumns?: Array; +} + +export interface StackedHeaderRowsStackedHeaderColumn { + + /** Gets or sets a value that indicates the header text for the particular stacked header column. + * @Default {null} + */ + column?: any; + + /** Gets or sets a value that indicates class to the corresponding stackedHeaderColumn. + * @Default {null} + */ + cssClass?: string; + + /** Gets or sets a value that indicates the header text for the particular stacked header column. + * @Default {null} + */ + headerText?: string; + + /** Gets or sets a value that indicates the text alignment of the corresponding headerText. + * @Default {ej.TextAlign.Left} + */ + textAlign?: string; + + /** Sets the template for tooltip for the Grid stackedHeaderColumns. + * @Default {null} + */ + tooltip?: String; +} + +export interface StackedHeaderRow { + + /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows + * @Default {[]} + */ + stackedHeaderColumns?: Array; +} + +export interface SummaryRowsSummaryColumn { + + /** Gets or sets a value that indicates the text displayed in the summary column as a value + * @Default {null} + */ + customSummaryValue?: string; + + /** This specifies summary column used to perform the summary calculation + * @Default {null} + */ + dataMember?: string; + + /** Gets or sets a value that indicates to define the target column at which to display the summary. + * @Default {null} + */ + displayColumn?: string; + + /** Gets or sets a value that indicates the format for the text applied on the column + * @Default {null} + */ + format?: string; + + /** Gets or sets a value that indicates the text displayed before the summary column value + * @Default {null} + */ + prefix?: string; + + /** Gets or sets a value that indicates the text displayed after the summary column value + * @Default {null} + */ + suffix?: string; + + /** Gets or sets a value that indicates the type of calculations to be performed for the corresponding summary column. See summaryType. + * @Default {[]} + */ + summaryType?: ej.Grid.SummaryType|string; + + /** Gets or sets a value that indicates to add the template for the summary value of dataMember given. + * @Default {null} + */ + template?: String; +} + +export interface SummaryRow { + + /** Gets or sets a value that indicates whether to show the summary value within the group caption area for the corresponding summary column while grouping the column + * @Default {false} + */ + showCaptionSummary?: Boolean; + + /** Gets or sets a value that indicates whether to show the group summary value for the corresponding summary column while grouping a column + * @Default {false} + */ + showGroupSummary?: Boolean; + + /** Gets or sets a value that indicates whether to show the total summary value the for the corresponding summary column. The summary row is added after the grid content. + * @Default {true} + */ + showTotalSummary?: Boolean; + + /** Gets or sets a value that indicates whether to add summary columns into the summary rows. + * @Default {[]} + */ + summaryColumns?: Array; + + /** This specifies the grid to show the title for the summary rows. + */ + title?: string; + + /** This specifies the grid to show the title of summary row in the specified column. + * @Default {null} + */ + titleColumn?: string; +} + +export interface TextWrapSettings { + + /** This specifies the grid to apply the auto wrap for grid content or header or both. + * @Default {ej.Grid.WrapMode.Both} + */ + wrapMode?: ej.Grid.WrapMode|string; +} + +export interface ToolbarSettings { + + /** Gets or sets a value that indicates whether to add custom toolbar items within the toolbar to perform any action in the grid + * @Default {[]} + */ + customToolbarItems?: Array; + + /** Gets or sets a value that indicates whether to enable toolbar in the grid. + * @Default {false} + */ + showToolbar?: Boolean; + + /** Gets or sets a value that indicates whether to add the default editing actions as a toolbar items. See toolbarItems. + * @Default {[]} + */ + toolbarItems?: Array; +} + +enum GridLines{ + + ///Displays both the horizontal and vertical grid lines. + Both, + + ///Displays the horizontal grid lines only. + Horizontal, + + ///Displays the vertical grid lines only. + Vertical, + + ///No grid lines are displayed. + None +} + + +enum ClipMode{ + + ///Shows ellipsis for the overflown cell. + Ellipsis, + + ///Truncate the text in the cell + Clip, + + ///Shows ellipsis and tooltip for the overflown cell. + EllipsisWithTooltip +} + + +enum ColumnLayout{ + + ///Column layout is auto(based on width). + Auto, + + ///Column layout is fixed(based on width). + Fixed +} + + +enum UnboundType{ + + ///Unbound type is edit. + Edit, + + ///Unbound type is save. + Save, + + ///Unbound type is delete. + Delete, + + ///Unbound type is cancel. + Cancel +} + + +enum EditingType{ + + ///Specifies editing type as string edit. + String, + + ///Specifies editing type as boolean edit. + Boolean, + + ///Specifies editing type as numeric edit. + Numeric, + + ///Specifies editing type as dropdown edit. + Dropdown, + + ///Specifies editing type as datepicker. + DatePicker, + + ///Specifies editing type as datetime picker. + DateTimePicker +} + + +enum FilterType{ + + ///Specifies the filter type as menu. + Menu, + + ///Specifies the filter type as excel. + Excel +} + + +enum EditMode{ + + ///Edit mode is normal. + Normal, + + ///Edit mode is dialog. + Dialog, + + ///Edit mode is dialog template. + DialogTemplate, + + ///Edit mode is batch. + Batch, + + ///Edit mode is inline form. + InlineForm, + + ///Edit mode is inline template form. + InlineTemplateForm, + + ///Edit mode is external form. + ExternalForm, + + ///Edit mode is external form template. + ExternalFormTemplate +} + + +enum FormPosition{ + + ///Form position is bottomleft. + BottomLeft, + + ///Form position is topright. + TopRight +} + + +enum RowPosition{ + + ///Specifies position of add new row as top. + Top, + + ///Specifies position of add new row as bottom. + Bottom +} + + +enum FilterBarMode{ + + ///Initiate filter operation on typing the filter query. + Immediate, + + ///Initiate filter operation after Enter key is pressed. + OnEnter +} + + +enum PrintMode{ + + ///Prints all pages. + AllPages, + + ///Prints current page. + CurrentPage +} + + +enum ResizeMode{ + + ///New column size will be adjusted by all other Columns + Normal, + + ///New column Size will be adjusted using next column. + NextColumn, + + ///New column Size will be adjusted using entire control + Control +} + + +enum SelectionType{ + + ///Specifies the selection type as single. + Single, + + ///Specifies the selection type as multiple. + Multiple +} + + +enum VirtualScrollMode{ + + ///virtual scroll mode is normal. + Normal, + + ///virtual scroll mode is continuous. + Continuous +} + + +enum SummaryType{ + + ///Summary type is average. + Average, + + ///Summary type is minimum. + Minimum, + + ///Summary type is maximum. + Maximum, + + ///Summary type is count. + Count, + + ///Summary type is sum. + Sum, + + ///Summary type is custom. + Custom, + + ///Summary type is true count. + TrueCount, + + ///Summary type is false count. + FalseCount +} + + +enum WrapMode{ + + ///Auto wrap is applied for both content and header. + Both, + + ///Auto wrap is applied only for content. + Content, + + ///Auto wrap is applied only for header. + Header +} + + +enum ToolBarItems{ + + ///Toolbar item is add. + Add, + + ///Toolbar item is edit. + Edit, + + ///Toolbar item is delete. + Delete, + + ///Toolbar item is update. + Update, + + ///Toolbar item is cancel. + Cancel, + + ///Toolbar item is search. + Search, + + ///Toolbar item is pdfExport. + PdfExport, + + ///Toolbar item is printGrid. + PrintGrid, + + ///Toolbar item is wordExport. + WordExport +} + +} + +class Sparkline extends ej.Widget { + static fn: Sparkline; + constructor(element: JQuery, options?: Sparkline.Model); + constructor(element: Element, options?: Sparkline.Model); + static Locale: any; + model:Sparkline.Model; + defaults:Sparkline.Model; + + /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; +} +export module Sparkline{ + +export interface Model { + + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; + + /** Fill color for the sparkline series. + * @Default {#33ccff} + */ + fill?: string; + + /** Border color of the series. + * @Default {null} + */ + stroke?: string; + + /** Options for customizing the color, opacity and width of the sparkline border. + */ + border?: Border; + + /** Border width of the series. + * @Default {1} + */ + width?: number; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Color for series high point. + * @Default {null} + */ + highPointColor?: string; + + /** Color for series low point. + * @Default {null} + */ + lowPointColor?: string; + + /** Color for series start point. + * @Default {null} + */ + startPointColor?: string; + + /** Color for series end point. + * @Default {null} + */ + endPointColor?: string; + + /** Color for series negative point. + * @Default {null} + */ + negativePointColor?: string; + + /** Options for customizing the color, opacity of the sparkline start and end range. + */ + rangeBandSettings?: RangeBandSettings; + + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; + + /** Controls whether sparkline has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. + * @Default {false} + */ + enableCanvasRendering?: boolean; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Gap or padding for sparkline. + * @Default {8} + */ + padding?: number; + + /** Specifies the type of the series to render in sparkline. + * @Default {line. See Type} + */ + type?: ej.datavisualization.Sparkline.Type|string; + + /** Specifies the theme for Sparkline. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sparkline.Theme|string; + + /** Options to customize the tooltip. + */ + tooltip?: Tooltip; + + /** Options for displaying and customizing marker for a data point. + */ + markerSettings?: MarkerSettings; + + /** Options to customize the Sparkline size. + */ + size?: Size; + + /** Options for customizing the color,dashArray and width of the axisLine. + */ + axisLineSettings?: AxisLineSettings; + + /** Fires before loading the sparkline. */ + load? (e: LoadEventArgs): void; + + /** Fires after loaded the sparkline. */ + loaded? (e: LoadedEventArgs): void; + + /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ + tooltipInitialize? (e: TooltipInitializeEventArgs): void; + + /** Fires before rendering a series. This event is fired for each series in Sparkline. */ + seriesRendering? (e: SeriesRenderingEventArgs): void; + + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + + /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ + pointRegionMouseClick? (e: PointRegionMouseClickEventArgs): void; + + /** Fires on moving mouse over the sparkline. */ + sparklineMouseMove? (e: SparklineMouseMoveEventArgs): void; + + /** Fires on moving mouse outside the sparkline. */ + sparklineMouseLeave? (e: SparklineMouseLeaveEventArgs): void; +} + +export interface LoadEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface LoadedEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface TooltipInitializeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X Location of the trackball tooltip in pixels + */ + locationX?: any; + + /** Y Location of the trackball tooltip in pixels + */ + locationY?: any; + + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; + + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; +} + +export interface SeriesRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Minimum x value of the data point + */ + minX?: any; + + /** Minimum y value of the data point + */ + minY?: any; + + /** Maximum x value of the data point + */ + maxX?: any; + + /** Maximum y value of the data point + */ + maxY?: any; +} + +export interface PointRegionMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; +} + +export interface PointRegionMouseClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; +} + +export interface SparklineMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface SparklineMouseLeaveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface Border { + + /** Border color of the sparkline. + * @Default {transparent} + */ + color?: string; + + /** Width of the Sparkline border. + * @Default {1} + */ + width?: number; +} + +export interface RangeBandSettings { + + /** Start value of the range band. + * @Default {null} + */ + startRange?: number; + + /** End value of the range band. + * @Default {null} + */ + endRange?: number; + + /** Range band opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Range band color of the series. + * @Default {transparent} + */ + color?: string; +} + +export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {transparent} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; +} + +export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {#111111} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sparkline.FontStyle|string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sparkline.FontWeight|string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {8px} + */ + size?: string; +} + +export interface Tooltip { + + /** Show/hides the tooltip visibility. + * @Default {false} + */ + visible?: boolean; + + /** Fill color for the sparkline tooltip. + * @Default {white} + */ + fill?: string; + + /** Custom template to the tooltip. + */ + template?: string; + + /** Options for customizing the border of the tooltip. + */ + border?: TooltipBorder; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; +} + +export interface MarkerSettingsBorder { + + /** Border color of the marker shape. + * @Default {transparent} + */ + color?: string; + + /** Controls the opacity of the marker border. + * @Default {1} + */ + opacity?: number; + + /** Border width of the marker shape. + * @Default {null} + */ + width?: number; +} + +export interface MarkerSettings { + + /** Controls the opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + + /** width of the marker shape. + * @Default {2} + */ + width?: number; + + /** Color of the marker shape. + * @Default {white} + */ + fill?: string; + + /** Options for customizing the border of the marker shape. + */ + border?: MarkerSettingsBorder; +} + +export interface Size { + + /** Height of the Sparkline. Height can be specified in either pixel or percentage. + * @Default {''} + */ + height?: string; + + /** Width of the Sparkline. Width can be specified in either pixel or percentage. + * @Default {''} + */ + width?: string; +} + +export interface AxisLineSettings { + + /** Controls the visibility of the axis. + * @Default {false} + */ + visible?: boolean; + + /** Color of the axis line. + * @Default {'#111111'} + */ + color?: string; + + /** Width of the axis line. + * @Default {1} + */ + width?: number; + + /** Dash array of the axis line. + * @Default {1} + */ + dashArray?: number; +} +} +module Sparkline +{ +enum Type +{ +//string +Area, +//string +Line, +//string +Column, +//string +Pie, +//string +WinLoss, +} +} +module Sparkline +{ +enum Theme +{ +//string +Azure, +//string +FlatLight, +//string +FlatDark, +//string +Azuredark, +//string +Lime, +//string +LimeDark, +//string +Saffron, +//string +SaffronDark, +//string +GradientLight, +//string +GradientDark, +} +} +module Sparkline +{ +enum FontStyle +{ +//string +Normal, +//string +Italic, +} +} +module Sparkline +{ +enum FontWeight +{ +//string +Regular, +//string +Bold, +//string +Lighter, +} +} + +class SunburstChart extends ej.Widget { + static fn: SunburstChart; + constructor(element: JQuery, options?: SunburstChart.Model); + constructor(element: Element, options?: SunburstChart.Model); + static Locale: any; + model:SunburstChart.Model; + defaults:SunburstChart.Model; + + /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; + + /** destroy the sunburst + * @returns {void} + */ + _destroy(): void; +} +export module SunburstChart{ + +export interface Model { + + /** Background color of the plot area. + * @Default {null} + */ + background?: string; + + /** Bind the data field from the data source. + * @Default {null} + */ + valueMemberPath?: string; + + /** Options for customizing the sunburst border. + */ + border?: Border; + + /** Options for customizing the sunburst segment border. + */ + segmentBorder?: SegmentBorder; + + /** Specifies the dataSource to the sunburst. + * @Default {null} + */ + dataSource?: any; + + /** Palette color for the data points. + * @Default {null} + */ + palette?: string; + + /** Parent node of the data points. + * @Default {null} + */ + parentNode?: string; + + /** Name of the property in the datasource that contains x values. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y values. + * @Default {null} + */ + yName?: string; + + /** Controls whether sunburst has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Options to customize the Sunburst size. + */ + size?: Size; + + /** Controls the visibility of sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options to customize the Sunburst tooltip. + */ + tooltip?: Tooltip; + + /** Options for customizing sunburst points. + */ + points?: Points; + + /** Sunburst rendering will start from the specified value + * @Default {null} + */ + startAngle?: number; + + /** Sunburst rendering will end at the specified value + * @Default {null} + */ + endAngle?: number; + + /** Sunburst outer radius value + * @Default {1} + */ + radius?: number; + + /** Sunburst inner radius value + * @Default {0.4} + */ + innerRadius?: number; + + /** Options to customize the Sunburst dataLabel. + */ + dataLabelSettings?: DataLabelSettings; + + /** Options for customizing the title and subtitle of sunburst. + */ + title?: Title; + + /** Options for customizing the appearance of the levels or point while highlighting. + */ + highlightSettings?: HighlightSettings; + + /** Options for customizing the appearance of the levels or data point while selection. + */ + selectionSettings?: SelectionSettings; + + /** Specify levels of sunburst for grouped visualization of data + * @Default {[]} + */ + levels?: Array; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; + + /** Specifies the theme for Sunburst. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sunburst.SunburstTheme|string; + + /** Options to customize the left, right, top and bottom margins of sunburst area. + */ + margin?: Margin; + + /** Enable/disable the animation for all the levels. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Opacity of the levels. + * @Default {1} + */ + opacity?: number; + + /** Options for enable zooming feature of chart. + */ + zoomSettings?: ZoomSettings; + + /** Animation type of sunburst + * @Default {rotation. See Alignment} + */ + animationType?: ej.datavisualization.Sunburst.Animation|string; + + /** Fires before loading. */ + load? (e: LoadEventArgs): void; + + /** Fires before rendering sunburst. */ + preRender? (e: PreRenderEventArgs): void; + + /** Fires after rendering sunburst. */ + loaded? (e: LoadedEventArgs): void; + + /** Fires before rendering the datalabel */ + dataLabelRendering? (e: DataLabelRenderingEventArgs): void; + + /** Fires before rendering each segment */ + segmentRendering? (e: SegmentRenderingEventArgs): void; + + /** Fires before rendering sunburst title. */ + titleRendering? (e: TitleRenderingEventArgs): void; + + /** Fires during initialization of tooltip. */ + tooltipInitialize? (e: TooltipInitializeEventArgs): void; + + /** Fires after clicking the point in sunburst */ + pointRegionClick? (e: PointRegionClickEventArgs): void; + + /** Fires while moving the mouse over sunburst points */ + pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + + /** Fires when clicking the point to perform drilldown. */ + drillDownClick? (e: DrillDownClickEventArgs): void; + + /** Fires when resetting drilldown points. */ + drillDownBack? (e: DrillDownBackEventArgs): void; + + /** Fires after resetting the sunburst points */ + drillDownReset? (e: DrillDownResetEventArgs): void; +} + +export interface LoadEventArgs { + + /** Load event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface PreRenderEventArgs { + + /** PreRender event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface LoadedEventArgs { + + /** Loaded event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DataLabelRenderingEventArgs { + + /** Sunburst datalabel data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface SegmentRenderingEventArgs { + + /** Sunburst datalabel data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface TitleRenderingEventArgs { + + /** Sunburst title data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface TooltipInitializeEventArgs { + + /** Sunburst tooltip data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface PointRegionClickEventArgs { + + /** Includes clicked points region data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface PointRegionMouseMoveEventArgs { + + /** Includes data of mouse moved region + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DrillDownClickEventArgs { + + /** Clicked point data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DrillDownBackEventArgs { + + /** Drill down data of points + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DrillDownResetEventArgs { + + /** Drill down reset data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface Border { + + /** Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst border. + * @Default {2} + */ + width?: number; +} + +export interface SegmentBorder { + + /** Segment Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst segment border. + * @Default {2} + */ + width?: number; +} + +export interface Size { + + /** Height of the Sunburst. + * @Default {''} + */ + height?: string; + + /** Width of the Sunburst. + * @Default {''} + */ + width?: string; +} + +export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {5} + */ + width?: number; +} + +export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {null} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {12px} + */ + size?: string; +} + +export interface Tooltip { + + /** tooltip visibility of the Sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options for customizing the border of the sunburst tooltip. + */ + border?: TooltipBorder; + + /** Fill color for the sunburst tooltip. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + + /** Custom template to the tooltip. + * @Default {null} + */ + template?: string; +} + +export interface Points { + + /** Points x value of the sunburst. + * @Default {null} + */ + x?: string; + + /** Points y value of the sunburst. + * @Default {null} + */ + y?: number; + + /** Points text of the sunburst. + * @Default {null} + */ + text?: string; + + /** Points fill color of the sunburst. + * @Default {null} + */ + fill?: string; +} + +export interface DataLabelSettingsFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; +} + +export interface DataLabelSettings { + + /** Datalabel visibility of the Sunburst. + * @Default {false} + */ + visible?: boolean; + + /** Alignment of sunburst datalabel + * @Default {Angle. See DatalabelAlignment} + */ + labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode|string; + + /** Options for customizing the data label font. + */ + font?: DataLabelSettingsFont; + + /** Custom template for datalabel + * @Default {null} + */ + template?: string; + + /** Fill color for the datalabel + * @Default {null} + */ + fill?: string; + + /** Datalabel overflow mode + * @Default {Trim. See LabelOverflowMode} + */ + labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode|string; +} + +export interface TitleFont { + + /** Font family for Sunburst title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Sunburst title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for Sunburst title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity of the Sunburst title. + * @Default {1} + */ + opacity?: number; + + /** Font size for Sunburst title. + * @Default {20px} + */ + size?: string; +} + +export interface TitleSubtitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; +} + +export interface TitleSubtitle { + + /** Subtitle text for sunburst + */ + text?: string; + + /** Sub title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Sub title text alignment + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + + /** Options for customizing the font of sub title. + */ + font?: TitleSubtitleFont; +} + +export interface Title { + + /** Title text for sunburst + */ + text?: string; + + /** Title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Title text alignment + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + + /** Options for customizing the font of sunburst title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Sunburst. + */ + subtitle?: TitleSubtitle; +} + +export interface HighlightSettings { + + /** Enables/disables the ability to highlight the levels or point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or point has to be highlighted. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; + + /** Color of the levels/point on highlight. + * @Default {red} + */ + color?: string; + + /** Opacity of the levels/point on highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be highlighted. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; +} + +export interface SelectionSettings { + + /** Enables/disables the ability to select the levels or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or data point has to be selected. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; + + /** Color of the levels/point on selection. + * @Default {green} + */ + color?: string; + + /** Opacity of the levels/point on selection. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be selected. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; +} + +export interface Level { + + /** Specifies the group member path + * @Default {null} + */ + groupMemberPath?: string; +} + +export interface LegendBorder { + + /** Border color of the legend. + * @Default {null} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; +} + +export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; +} + +export interface LegendItemStyle { + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; +} + +export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; +} + +export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; +} + +export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; +} + +export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Enables or disables the legend title. + * @Default {true} + */ + visible?: string; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; +} + +export interface Legend { + + /** Visibility of the legend. + * @Default {false} + */ + visible?: boolean; + + /** Interactive action of legend items. + * @Default {toggleSegmentVisibility. See Alignment} + */ + clickAction?: ej.datavisualization.Sunburst.SunburstClickAction|string; + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Sunburst.SunburstLegendPosition|string; + + /** Shape of the legend items. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Sunburst.SunburstLegendShape|string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; +} + +export interface Margin { + + /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. + * @Default {10} + */ + left?: number; + + /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. + * @Default {10} + */ + right?: number; + + /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. + * @Default {10} + */ + top?: number; + + /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. + * @Default {10} + */ + bottom?: number; +} + +export interface ZoomSettings { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Toolbar horizontal alignment + * @Default {right. See Alignment} + */ + toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment|string; + + /** Toolbar vertical alignment + * @Default {top. See Alignment} + */ + toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment|string; +} +} +module Sunburst +{ +enum FontStyle +{ +//string +Normal, +//string +Italic, +} +} +module Sunburst +{ +enum FontWeight +{ +//string +Regular, +//string +Bold, +//string +Lighter, +} +} +module Sunburst +{ +enum SunburstLabelRotationMode +{ +//string +Angle, +//string +Normal, +} +} +module Sunburst +{ +enum SunburstLabelOverflowMode +{ +//string +Trim, +//string +Hide, +//string +None, +} +} +module Sunburst +{ +enum SunburstAlignment +{ +//string +Center, +//string +Near, +//string +Far, +} +} +module Sunburst +{ +enum SunburstHighlightMode +{ +//string +Point, +//string +Parent, +//string +Child, +//string +All, +} +} +module Sunburst +{ +enum SunburstHighlightType +{ +//string +Opacity, +//string +Color, +} +} +module Sunburst +{ +enum SunburstClickAction +{ +//string +None, +//string +ToggleSegmentVisibility, +//string +ToggleSegmentSelection, +} +} +module Sunburst +{ +enum SunburstLegendPosition +{ +//string +Left, +//string +Right, +//string +Top, +//string +Bottom, +} +} +module Sunburst +{ +enum SunburstLegendShape +{ +//string +Diamond, +//string +Pentagon, +//string +Rectangle, +//string +Circle, +//string +Cross, +//string +Triangle, +} +} +module Sunburst +{ +enum SunburstTheme +{ +//string +FlatLight, +//string +FlatDark, +} +} +module Sunburst +{ +enum SunburstHorizontalAlignment +{ +//string +Center, +//string +Left, +//string +Right, +} +} +module Sunburst +{ +enum SunburstVerticalAlignment +{ +//string +Top, +//string +Bottom, +//string +Middle, +} +} +module Sunburst +{ +enum Animation +{ +//string +Rotation, +//string +FadeIn, +} +} + +class PivotGrid extends ej.Widget { + static fn: PivotGrid; + constructor(element: JQuery, options?: PivotGrid.Model); + constructor(element: Element, options?: PivotGrid.Model); + static Locale: any; + model:PivotGrid.Model; + defaults:PivotGrid.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** Performs an asynchronous HTTP (FullPost) submit. + * @returns {void} + */ + doPostBack(): void; + + /** Exports the PivotGrid to the specified format. + * @returns {void} + */ + exportPivotGrid(): void; + + /** This function re-renders the PivotGrid on clicking the navigation buttons on PivotPager. + * @returns {void} + */ + refreshPagedPivotGrid(): void; + + /** This function refreshes the PivotGrid with modified data input in client-mode. + * @returns {void} + */ + refreshPivotGrid(): void; + + /** This function re-renders the control with the report available at that instant. + * @returns {void} + */ + refreshControl(): void; + + /** This function returns the height of all rows and width each and every column. + * @returns {any} + */ + calculateCellWidths(): any; + + /** This function creates the conditional formatting dialog to apply conditional formatting for PivotGrid control. + * @returns {void} + */ + createConditionalDialog(): void; + + /** This function saves the current report to the database/local storage. + * @returns {void} + */ + saveReport(): void; + + /** This function loads the specified report from the database/local storage. + * @returns {void} + */ + loadReport(): void; + + /** This function reconstructs the JSON data formed for rendering PivotGrid in excel-like layout format. + * @returns {void} + */ + excelLikeLayout(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): Array; + + /** Sets the JSON records formed to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** This function allows user to change the caption of the Pivot Item (name displayed in UI) on-demand for relational datasource in client-mode. + * @returns {void} + */ + refreshFieldCaption(): void; + + /** This function receives the JSON formatted datasource to render the PivotGrid control. + * @returns {void} + */ + renderControlFromJSON(): void; +} +export module PivotGrid{ + +export interface Model { + + /** Sets the mode for the PivotGrid widget for binding either OLAP or relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode|string; + + /** Specifies the CSS class to PivotGrid to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Connects the PivotSchemaDesigner with the specified ID to the PivotGrid Control. + * @Default {“”} + */ + pivotTableFieldListID?: string; + + /** Initializes the data source for the PivotGrid widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Holds the necessary properties for value sorting. + * @Default {{}} + */ + valueSortSettings?: ValueSortSettings; + + /** Object that holds the settings of frozen headers. + * @Default {{}} + */ + frozenHeaderSettings?: FrozenHeaderSettings; + + /** Allows user to display header name in PivotGrid control. + * @Default {{}} + */ + headerSettings?: HeaderSettings; + + /** Allows user to show appropriate unique name on Pivot button. + * @Default {false} + */ + showUniqueNameOnPivotButton?: boolean; + + /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. + * @Default {null} + */ + customObject?: any; + + /** Allows the user to collapsed the specified members in each field by default. + * @Default {null} + */ + collapsedMembers?: any; + + /** Allows the user to access each cell on mouse right-click. + * @Default {false} + */ + enableCellContext?: boolean; + + /** Enables the cell selection for a specific range of value cells. + * @Default {false} + */ + enableCellSelection?: boolean; + + /** Enables the Drill-Through feature which retrieves the raw items that are used to create the specific cell in PivotGrid. + * @Default {false} + */ + enableDrillThrough?: boolean; + + /** Allows user to get the cell details in JSON format on double clicking the cell. + * @Default {false} + */ + enableCellDoubleClick?: boolean; + + /** Allows user to edit the value cells for write-back support in PivotGrid. This is applicable only for server-mode. + * @Default {false} + */ + enableCellEditing?: boolean; + + /** Collapses the Pivot items along rows and columns by default. It works only for relational data source. + * @Default {false} + */ + enableCollapseByDefault?: boolean; + + /** Enables/Disables the display of grand total for all the columns. + * @Default {true} + */ + enableColumnGrandTotal?: boolean; + + /** Allows the user to format a specific set of cells based on the condition. + * @Default {false} + */ + enableConditionalFormatting?: boolean; + + /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each fields in server mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Allows the user to refresh the control on-demand and not during every UI operation. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Enables the display of GroupingBar allowing you to filter, sort and remove fields obtained from datasource. + * @Default {false} + */ + enableGroupingBar?: boolean; + + /** Enables/Disables the display of grand total for rows and columns. + * @Default {true} + */ + enableGrandTotal?: boolean; + + /** Allows the user to load PivotGrid using JSON data. + * @Default {false} + */ + enableJSONRendering?: boolean; + + /** Enables rendering of PivotGrid widget along with the PivotTable Field List, which allows UI operations. + * @Default {true} + */ + enablePivotFieldList?: boolean; + + /** Enables the display of grand total for all the rows. + * @Default {true} + */ + enableRowGrandTotal?: boolean; + + /** Allows the user to view layout of the PivotGrid from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable ToolTip option. + * @Default {false} + */ + enableToolTip?: boolean; + + /** Allows the user to enable the animation effects in tooltip. + * @Default {false} + */ + enableToolTipAnimation?: boolean; + + /** Allows the user to adjust the width of the columns dynamically. + * @Default {false} + */ + enableColumnResizing?: boolean; + + /** Allows the user to view large amount of data through virtual scrolling. + * @Default {false} + */ + enableVirtualScrolling?: boolean; + + /** Allows the user to view large amount of data by applying paging. + * @Default {false} + */ + enablePaging?: boolean; + + /** Allows the user to configure hyperlink settings of PivotGrid control. + * @Default {{}} + */ + hyperlinkSettings?: HyperlinkSettings; + + /** Allows the user to enable PivotGrid’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Contains the serialized JSON string which renders PivotGrid. + */ + jsonRecords?: string; + + /** Sets the summary layout for PivotGrid.Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. + * @Default {ej.PivotGrid.Layout.Normal} + */ + layout?: ej.PivotGrid.Layout|string; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotGrid widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode|string; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotGrid to service methods. */ + beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + + /** Triggers before Pivot Engine starts to populate. */ + beforePivotEnginePopulate? (e: BeforePivotEnginePopulateEventArgs): void; + + /** Triggers when double click action is performed over a cell. */ + cellDoubleClick? (e: CellDoubleClickEventArgs): void; + + /** Triggers when right-click action is performed on a cell. */ + cellContext? (e: CellContextEventArgs): void; + + /** Triggers when a specific range of value cells are selected. */ + cellSelection? (e: CellSelectionEventArgs): void; + + /** Triggers when the hyperlink of column header is clicked. */ + columnHeaderHyperlinkClick? (e: ColumnHeaderHyperlinkClickEventArgs): void; + + /** Triggers after performing drill operation in PivotGrid. */ + drillSuccess? (e: DrillSuccessEventArgs): void; + + /** Triggers while clicking "OK" button in the drill-through dialog. */ + drillThrough? (e: DrillThroughEventArgs): void; + + /** Triggers when PivotGrid loading is initiated. */ + load? (e: LoadEventArgs): void; + + /** Triggers when PivotGrid widget completes all operations at client-side after any AJAX request. */ + renderComplete? (e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure? (e: RenderFailureEventArgs): void; + + /** Triggers when PivotGrid successfully reaches client-side after any AJAX request. */ + renderSuccess? (e: RenderSuccessEventArgs): void; + + /** Triggers when the hyperlink of row header is clicked. */ + rowHeaderHyperlinkClick? (e: RowHeaderHyperlinkClickEventArgs): void; + + /** Triggers when the hyperlink of summary cell is clicked. */ + summaryCellHyperlinkClick? (e: SummaryCellHyperlinkClickEventArgs): void; + + /** Triggers when the hyperlink of value cell is clicked. */ + valueCellHyperlinkClick? (e: ValueCellHyperlinkClickEventArgs): void; + + /** Triggers before saving the current report to database. */ + saveReport? (e: SaveReportEventArgs): void; + + /** Triggers before loading a report from database. */ + loadReport? (e: LoadReportEventArgs): void; + + /** Triggers before performing exporting in pivot grid. */ + beforeExport? (e: BeforeExportEventArgs): void; + + /** Triggers before editing the cells. */ + cellEdit? (e: CellEditEventArgs): void; +} + +export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface BeforePivotEnginePopulateEventArgs { + + /** returns the PivotGrid object + */ + pivotGridObject?: any; +} + +export interface CellDoubleClickEventArgs { + + /** returns the JSON details of the double clicked cell. + */ + selectedData?: Array; + + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface CellContextEventArgs { + + /** returns the cell position (row index and column index) in table. + */ + cellPosition?: string; + + /** returns the type of the cell. + */ + cellType?: string; + + /** returns the content of the cell. + */ + cellValue?: string; + + /** returns the unique name of levels/members. + */ + uniqueName?: string; + + /** returns the role of the cell in PivotGrid. + */ + role?: string; + + /** returns JSON record corresponding to the selected cell. + */ + rawdata?: any; + + /** returns the original event object. + */ + args?: any; +} + +export interface CellSelectionEventArgs { + + /** returns the JSON records of the selected range of cells. + */ + JSONRecords?: any; + + /** Returns the row headers corresponding to the selected value cells. + */ + rowheader?: any; + + /** Returns the column headers corresponding to the selected value cells. + */ + columnheader?: any; + + /** Returns the information about the measure associated with the selected cell. + */ + measureCount?: string; +} + +export interface ColumnHeaderHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; +} + +export interface DrillSuccessEventArgs { + + /** returns the HTML element of the control. + */ + args?: any; +} + +export interface DrillThroughEventArgs { + + /** return the JSON records of the generated cells on drill-through operation. + */ + data?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface LoadEventArgs { + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface RenderFailureEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + + /** returns the error message with error code. + */ + message?: string; +} + +export interface RenderSuccessEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; +} + +export interface RowHeaderHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; +} + +export interface SummaryCellHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; +} + +export interface ValueCellHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; +} + +export interface SaveReportEventArgs { + + /** returns the report to be stored in database. + */ + report?: any; +} + +export interface LoadReportEventArgs { + + /** returns the PivotGrid object. + */ + targetControl?: any; + + /** returns whether the control is bound with OLAP or Relational data source. + */ + dataModel?: string; +} + +export interface BeforeExportEventArgs { + + /** contains the url of the service responsible for exporting. + */ + url?: string; + + /** contains the name of the exporting file. + */ + fileName?: string; +} + +export interface CellEditEventArgs { + + /** contains the array of cells selected for editing. + */ + editCellsInfo?: Array; +} + +export interface DataSourceColumnsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: Array; +} + +export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: Array; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field in PivotGrid. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: Array; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; +} + +export interface DataSourceRowsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: Array; +} + +export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: Array; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: Array; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; +} + +export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; +} + +export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: Array; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. + * @Default {ej.PivotAnalysis.SummaryType.Sum} + */ + summaryType?: ej.PivotAnalysis.SummaryType|string; + + /** Allows to set the format of the values. + */ + format?: string; + + /** This property sets type of display of date. + */ + formatString?: string; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; +} + +export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display name for an item. + */ + fieldCaption?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; +} + +export interface DataSourcePagerOptions { + + /** Allows to set the number of categorical columns to be displayed in each page on applying paging. + * @Default {0} + */ + categoricalPageSize?: number; + + /** Allows to set the number of series rows to be displayed in each page on applying paging. + * @Default {0} + */ + seriesPageSize?: number; + + /** Allows to set the page number in categorical axis to be loaded by default. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Allows to set the page number in series axis to be loaded by default. + * @Default {1} + */ + seriesCurrentPage?: number; +} + +export interface DataSource { + + /** Lists out the items to be arranged in columns section of PivotGrid. + * @Default {[]} + */ + columns?: Array; + + /** Lists out the items to be arranged in rows section of PivotGrid. + * @Default {[]} + */ + rows?: Array; + + /** Lists out the items which supports calculation in PivotGrid. + * @Default {[]} + */ + values?: Array; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGrid. + * @Default {[]} + */ + filters?: Array; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotGrid. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Sets a name to the report bound to the control. + */ + reportName?: string; + + /** Allows to set the page size and current page number for each axis on applying paging. + * @Default {{}} + */ + pagerOptions?: DataSourcePagerOptions; +} + +export interface ValueSortSettings { + + /** Contains the headers of the specific column to which value sorting is applied. + */ + headerText?: string; + + /** Allows the user to set the string for separating column headers provided in the above property headerText. + */ + headerDelimiters?: string; + + /** Allows the user to set the sorting order of the values of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; +} + +export interface FrozenHeaderSettings { + + /** Allows the user to freeze the row headers alone on scrolling the horizontal scroll bar. + * @Default {false} + */ + enableFrozenRowHeaders?: boolean; + + /** Allows the user to freeze the column headers alone on scrolling the vertical scroll bar. + * @Default {false} + */ + enableFrozenColumnHeaders?: boolean; + + /** Allows the user to freeze both the row headers and column headers on scrolling. + * @Default {false} + */ + enableFrozenHeaders?: boolean; + + /** Allows user to set the size of the scrollbar (horizontal and vertical) visible in PivotGrid. + * @Default {18} + */ + scrollerSize?: number; +} + +export interface HeaderSettings { + + /** Allows user to enable/disable row header names in PivotGrid control. + * @Default {false} + */ + showRowItems?: boolean; + + /** Allows user to enable/disable column header names in PivotGrid control. + * @Default {false} + */ + showColumnItems?: boolean; +} + +export interface HyperlinkSettings { + + /** Allows the user to enable/disable hyperlink for column header. + * @Default {false} + */ + enableColumnHeaderHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for row header. + * @Default {false} + */ + enableRowHeaderHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for summary cells. + * @Default {false} + */ + enableSummaryCellHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for value cells. + * @Default {false} + */ + enableValueCellHyperlink?: boolean; +} + +export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for drill up/down operation in PivotGrid. + * @Default {DrillGrid} + */ + drillDown?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotGrid?: string; + + /** Allows the user to set the custom name for the service method responsible for performing server-side actions on defer update. + * @Default {DeferUpdate} + */ + deferUpdate?: string; + + /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. + * @Default {FetchMembers} + */ + fetchMembers?: string; + + /** Allows the user to set the custom name for the service method responsible for filtering operation in PivotGrid. + * @Default {Filtering} + */ + filtering?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotGrid. + * @Default {InitializeGrid} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node from Field List. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. + * @Default {NodeStateModified} + */ + nodeStateModified?: string; + + /** Allows the user to set the custom name for the service method responsible for performing paging operation in PivotGrid. + * @Default {Paging} + */ + paging?: string; + + /** Allows the user to set the custom name for the service method responsible for sorting operation in PivotGrid. + * @Default {Sorting} + */ + sorting?: string; + + /** Allows the user to set the custom name for the service method responsible for expanding members inside member editor. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for editing the cells. + * @Default {CellEditing} + */ + cellEditing?: string; + + /** Allows the user to set the custom name for the service method responsible for saving the current report to database. + * @Default {SaveReport} + */ + saveReport?: string; + + /** Allows the user to set the custom name for the service method responsible for loading a report from database. + * @Default {LoadReportFromDB} + */ + loadReport?: string; + + /** Allows the user to set the custom name for the service method responsible for adding a calculated field to the report. + * @Default {CalculatedField} + */ + calculatedField?: string; + + /** Allows the user to set the custom name for the service method responsible for performing drill through operation. + * @Default {DrillThroughHierarchies} + */ + drillThroughHierarchies?: string; + + /** Allows the user to set the custom name for the service method responsible for performing drill through operation in data table. + * @Default {DrillThroughDataTable} + */ + drillThroughDataTable?: string; + + /** Allows the user to set the custom name for the service method responsible for write-back operation in OLAP Cube. This is only applicable in server-side component. + * @Default {WriteBack} + */ + writeBack?: string; +} + +enum Layout{ + + ///To set normal summary layout in PivotGrid. + Normal, + + ///To set layout with summaries at the top in PivotGrid. + NormalTopSummary, + + ///To set layout without summaries in PivotGrid. + NoSummaries, + + ///To set excel-like layout in PivotGrid. + ExcelLikeLayout +} + +} +module Pivot +{ +enum AnalysisMode +{ +//To bind an OLAP data source to PivotGrid. +OLAP, +//To bind a relational data source to PivotGrid. +Pivot, +} +} +module PivotAnalysis +{ +enum SortOrder +{ +//Sorts the members of the field in ascending order. +Ascending, +//Sorts the members of the field in descending order. +Descending, +//Displays the members without sorting in any order. +None, +} +} +module PivotAnalysis +{ +enum FilterType +{ +//Excludes the specified values among the members of the field. +Exclude, +//Includes the specified values alone among the members of the field. +Include, +} +} +module PivotAnalysis +{ +enum SummaryType +{ +//Calculates the summary as the total of all values. +Sum, +//Displays the average of all values as the summaries. +Average, +//Displays the count of items in summaries. +Count, +//Displays the minimum value of all the items in the summary. +Min, +//Displays the maximum value of all the items in the summary. +Max, +} +} +module Pivot +{ +enum OperationalMode +{ +//To bind data source completely from client-side. +ClientMode, +//To bind data source completely from server-side. +ServerMode, +} +} + +class PivotSchemaDesigner extends ej.Widget { + static fn: PivotSchemaDesigner; + constructor(element: JQuery, options?: PivotSchemaDesigner.Model); + constructor(element: Element, options?: PivotSchemaDesigner.Model); + static Locale: any; + model:PivotSchemaDesigner.Model; + defaults:PivotSchemaDesigner.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** Re-renders the control with the data source bound to the pivot control at that instant. + * @returns {void} + */ + refreshControl(): void; +} +export module PivotSchemaDesigner{ + +export interface Model { + + /** Specifies the CSS class to PivotSchemaDesigner to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end. + * @Default {{}} + */ + customObject?: any; + + /** For ASP.NET and MVC Wrapper, PivotSchemaDesigner will be initialized and rendered empty initially. Once the connected pivot control widget is rendered completely, PivotSchemaDesigner will just be populated with data source by setting this property to “true”. + * @Default {false} + */ + enableWrapper?: boolean; + + /** Allows the user to view PivotTable Field List from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the visibility of OLAP elements in PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {null} + */ + olap?: Olap; + + /** Allows the user to enable/disable drag and drop operations within the PivotTable Field List. + * @Default {true} + */ + enableDragDrop?: boolean; + + /** Sets the height for PivotSchemaDesigner. + * @Default {“”} + */ + height?: string; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the Pivot control bound with this PivotSchemaDesigner. + * @Default {null} + */ + pivotControl?: any; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethod?: ServiceMethod; + + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; + + /** Sets the width for PivotSchemaDesigner. + * @Default {“”} + */ + width?: string; + + /** Sets the layout for PivotSchemaDesigner. + * @Default {ej.PivotSchemaDesigner.Layouts.Excel} + */ + layout?: ej.PivotSchemaDesigner.Layouts|string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotSchemaDesigner to service methods. */ + beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + + /** Triggers when we start dragging any field from PivotSchemaDesigner. */ + dragMove? (e: DragMoveEventArgs): void; +} + +export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotSchemaDesigner control. + */ + action?: string; + + /** returns the custom object bound with PivotSchemaDesigner control. + */ + customObject?: any; + + /** returns the HTML element of PivotSchemaDesigner control. + */ + element?: any; +} + +export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotSchemaDesigner control. + */ + action?: string; + + /** returns the custom object bound with PivotSchemaDesigner control. + */ + customObject?: any; + + /** returns the HTML element of PivotSchemaDesigner control. + */ + element?: any; +} + +export interface DragMoveEventArgs { + + /** returns the HTML element of the dragged field from PivotSchemaDesigner. + */ + dragTarget?: any; + + /** return the JSON details of the dragged field. + */ + draggedElementData?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the PivotSchemaDesigner model + */ + model?: any; +} + +export interface Olap { + + /** Allows the user to view the KPI elements in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {false} + */ + showKPI?: boolean; + + /** Allows the user to view the named sets in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {false} + */ + showNamedSets?: boolean; +} + +export interface ServiceMethod { + + /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. + * @Default {FetchMembers} + */ + fetchMembers?: string; + + /** Allows the user to set the custom name for the service method responsible for filtering operation in Field List. + * @Default {Filtering} + */ + filtering?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on expanding members in Field List. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node into Field List. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. + * @Default {NodeStateModified} + */ + nodeStateModified?: string; + + /** Allows the user to set the custom name for the service method responsible for button removing operation in Field List. + * @Default {RemoveButton} + */ + removeButton?: string; +} + +enum Layouts{ + + ///To set the layout as same in the Excel. + Excel, + + ///To set normal layout for Field List. + Normal, + + ///To set layout with the axes one above the other. + OneByOne +} + +} + +class PivotPager extends ej.Widget { + static fn: PivotPager; + constructor(element: JQuery, options?: PivotPager.Model); + constructor(element: Element, options?: PivotPager.Model); + static Locale: any; + model:PivotPager.Model; + defaults:PivotPager.Model; + + /** This function initializes the page counts and page numbers for the PivotPager. + * @returns {void} + */ + initPagerProperties(): void; +} +export module PivotPager{ + +export interface Model { + + /** Contains the current page number in categorical axis. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Contains the total page count in categorical axis. + * @Default {1} + */ + categoricalPageCount?: number; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the pager mode (Only Categorical Pager/Only Series Pager/Both) for the PivotPager. + * @Default {ej.PivotPager.Mode.Both} + */ + mode?: ej.PivotPager.Mode|string; + + /** Contains the current page number in series axis. + * @Default {1} + */ + seriesCurrentPage?: number; + + /** Contains the total page count in series axis. + * @Default {1} + */ + seriesPageCount?: number; + + /** Contains the ID of the target element for which paging needs to be done. + * @Default {“”} + */ + targetControlID?: string; +} + +enum Mode{ + + ///To set both categorical and series pager for paging. + Both, + + ///To set only categorical pager for paging. + Categorical, + + ///To set only series pager for paging. + Series +} + +} + +class PivotChart extends ej.Widget { + static fn: PivotChart; + constructor(element: JQuery, options?: PivotChart.Model); + constructor(element: Element, options?: PivotChart.Model); + static Locale: any; + model:PivotChart.Model; + defaults:PivotChart.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** Perform an asynchronous HTTP (FullPost) submit. + * @returns {void} + */ + doPostBack(): void; + + /** Exports the PivotChart to the format specified in the parameter. + * @returns {void} + */ + exportPivotChart(): void; + + /** This function renders the PivotChart control with the JSON formatted datasource. + * @returns {void} + */ + renderChartFromJSON(): void; + + /** This function receives the update from service-end, which would be utilized for rendering the widget. + * @returns {void} + */ + renderControlSuccess(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): Array; + + /** Sets the JSON records to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** Returns the PivotEngine formed to render the control. + * @returns {Array} + */ + getPivotEngine(): Array; + + /** Sets the PivotEngine required to render the control. + * @returns {void} + */ + setPivotEngine(): void; + + /** Re-renders the control with the data source at the instant. + * @returns {void} + */ + refreshControl(): void; + + /** Renders the control with the pivot engine obtained from olap cube. + * @returns {void} + */ + generateJSON(): void; + + /** Navigates to the specified page number in specified axis. + * @returns {void} + */ + refreshPagedPivotChart(): void; +} +export module PivotChart{ + +export interface Model { + + /** Sets the mode for the PivotChart widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode|string; + + /** Specifies the CSS class to PivotChart to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Options for enabling zooming feature of PivotChart. + * @Default {{}} + */ + zooming?: Zooming; + + /** Options available to configure the properties of entire series. You can also override the options for specific series by using series collection. + * @Default {{}} + */ + commonSeriesOptions?: CommonSeriesOptions; + + /** Initializes the data source for the PivotChart widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. + * @Default {{}} + */ + customObject?: any; + + /** Allows the user to enable 3D view of PivotChart. + * @Default {false} + */ + enable3D?: boolean; + + /** Allows the user to view PivotChart from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows user to render complete PivotChart on drill operation, that is, when expanding and collapsing members which are shown in multi-level labels. + * @Default {false} + */ + enableMultiLevelLabels?: boolean; + + /** Allows the user to enable PivotChart’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Lets the user to customize the legend items and their labels. + * @Default {{}} + */ + legend?: any; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotChart widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode|string; + + /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s xAxisName property to link both axis and series. + * @Default {{}} + */ + primaryXAxis?: any; + + /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s yAxisName property to link both axis and series. + * @Default {{}} + */ + primaryYAxis?: any; + + /** Allows the user to rotate the angle of PivotChart in 3D view. + * @Default {0} + */ + rotation?: number; + + /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Options to customize the size of the PivotChart control. + * @Default {{}} + */ + size?: any; + + /** Connects the service using the specified URL for any server updates on operating the control in server mode. + * @Default {“”} + */ + url?: string; + + /** Triggers when PivotChart starts to render. */ + load? (e: LoadEventArgs): void; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotChart to service methods. */ + beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + + /** Triggers on performing drill up/down in PivotChart control. */ + drillSuccess? (e: DrillSuccessEventArgs): void; + + /** Triggers when PivotChart widget completes all operations at client-side after any AJAX request. */ + renderComplete? (e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure? (e: RenderFailureEventArgs): void; + + /** Triggers when PivotChart successfully reaches client-side after any AJAX request. */ + renderSuccess? (e: RenderSuccessEventArgs): void; + + /** Triggers before performing exporting in pivot chart. */ + beforeExport? (e: BeforeExportEventArgs): void; +} + +export interface LoadEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; +} + +export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; +} + +export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; +} + +export interface DrillSuccessEventArgs { + + /** returns the current instance of PivotChart. + */ + chartObj?: any; + + /** returns the drill action of PivotChart. + */ + drillAction?: string; + + /** contains the name of the member drilled. + */ + drilledMember?: string; + + /** returns the event object. + */ + event?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; +} + +export interface RenderFailureEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + + /** returns the error stack trace of the original exception. + */ + message?: string; +} + +export interface RenderSuccessEventArgs { + + /** returns the current instance of PivotChart. + */ + args?: any; +} + +export interface BeforeExportEventArgs { + + /** contains the url of the service responsible for exporting. + */ + url?: string; + + /** contains the name of the exporting file. + */ + fileName?: string; +} + +export interface Zooming { + + /** Enables or disables horizontal scrollbar. + * @Default {false} + */ + enableScrollbar?: boolean; +} + +export interface CommonSeriesOptions { + + /** Allows the user to set the specific chart type for PivotChart widget. + * @Default {ej.PivotChart.ChartTypes.Column} + */ + type?: ej.PivotChart.ChartTypes|string; +} + +export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; +} + +export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; +} + +export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; +} + +export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: Array; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; +} + +export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; +} + +export interface DataSource { + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotChart. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to be displayed as series of PivotChart. + * @Default {[]} + */ + columns?: Array; + + /** Lists out the items to be displayed as segments of PivotChart. + * @Default {[]} + */ + rows?: Array; + + /** Lists out the items supports calculation in PivotChart. + * @Default {[]} + */ + values?: Array; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotChart. + * @Default {[]} + */ + filters?: Array; +} + +export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotChart. + * @Default {DrillChart} + */ + drillDown?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotChart?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotChart. + * @Default {InitializeChart} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for navigating between pages in paged PivotChart. + * @Default {Paging} + */ + paging?: string; +} + +enum ChartTypes{ + + ///To render a Line type PivotChart. + Line, + + ///To render a Spline type PivotChart. + Spline, + + ///To render a Column type PivotChart. + Column, + + ///To render an Area type PivotChart. + Area, + + ///To render a SplineArea type PivotChart. + SplineArea, + + ///To render a StepLine type PivotChart. + StepLine, + + ///To render a StepArea type PivotChart. + StepArea, + + ///To render a Pie type PivotChart. + Pie, + + ///To render a Bar type PivotChart. + Bar, + + ///To render a StackingArea type PivotChart. + StackingArea, + + ///To render a StackingColumn type PivotChart. + StackingColumn, + + ///To render a StackingBar type PivotChart. + StackingBar, + + ///To render a Pyramid type PivotChart. + Pyramid, + + ///To render a Funnel type PivotChart. + Funnel, + + ///To render a Doughnut type PivotChart. + Doughnut, + + ///To render a Scatter type PivotChart. + Scatter, + + ///To render a Bubble type PivotChart. + Bubble +} + +} + +class PivotClient extends ej.Widget { + static fn: PivotClient; + constructor(element: JQuery, options?: PivotClient.Model); + constructor(element: Element, options?: PivotClient.Model); + static Locale: any; + model:PivotClient.Model; + defaults:PivotClient.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** Performs an asynchronous HTTP (FullPost) submit. + * @returns {void} + */ + doPostBack(): void; + + /** Navigates to the specified page in specified axis. + * @returns {void} + */ + refreshPagedPivotClient(): void; + + /** Updates the PivotClient component with the JSON data fetched from the service on navigating between pages. + * @returns {void} + */ + refreshPagedPivotClientSuccess(): void; + + /** Renders the PivotChart and PivotGrid with the JSON data provided. + * @returns {void} + */ + generateJSON(): void; + + /** Re-renders the control with the report at that instant. + * @returns {void} + */ + refreshControl(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): Array; + + /** Sets the JSON records formed to render the control to a property. + * @returns {void} + */ + setJSONRecords(): void; +} +export module PivotClient{ + +export interface Model { + + /** Sets the mode for the PivotClient widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode|string; + + /** Allows the user to set the specific chart type for PivotChart inside PivotClient widget. + * @Default {ej.PivotChart.ChartTypes.Column} + */ + chartType?: ej.PivotChart.ChartTypes|string; + + /** Allows the user to set the content on exporting the PivotClient widget. + * @Default {ej.PivotClient.ClientExportMode.ChartAndGrid} + */ + clientExportMode?: ej.PivotClient.ClientExportMode|string; + + /** Specifies the CSS class to PivotClient to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end when the control functions in server-mode. + * @Default {{}} + */ + customObject?: any; + + /** Initializes the data source for the PivotClient widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Allows the user to customize the widget's layout and appearance. + * @Default {{}} + */ + displaySettings?: DisplaySettings; + + /** Allows user to set visibility of icons in toolbar panel. + * @Default {{}} + */ + toolbarIconSettings?: ToolbarIconSettings; + + /** Allows user to show unique name on pivotbutton. + * @Default {false} + */ + showUniqueNameOnPivotButton?: boolean; + + /** Enables the splitter option for resizing the elements inside the control. + * @Default {false} + */ + enableSplitter?: boolean; + + /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each dimensions on binding OLAP data in server mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Allows the user to refresh the control on-demand and not during every UI operation. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Lets the user to save and load reports in a customized way with the help of events. + * @Default {false} + */ + enableLocalStorage?: boolean; + + /** Allows the user to enable paging for both the PivotChart and PivotGrid components for the ease of viewing large data. + * @Default {false} + */ + enablePaging?: boolean; + + /** Allows the user to include the PivotTreeMap component as one of the chart types. + * @Default {false} + */ + enablePivotTreeMap?: boolean; + + /** Allows the user to view the layout of PivotClient from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Enables/disables the visibility of measure group selector drop-down in Cube Browser. + * @Default {false} + */ + enableMeasureGroups?: boolean; + + /** Allows the user to enable virtual scrolling for both the PivotChart and PivotGrid components for the ease of viewing large data. + * @Default {false} + */ + enableVirtualScrolling?: boolean; + + /** Enables/Disables paging in Member Editor for viewing the large count of members in pages. + * @Default {false} + */ + enableMemberEditorPaging?: boolean; + + /** Allows the user to set the number of members to be displayed in each page of Member Editor on applying paging in it. + * @Default {100} + */ + memberEditorPageSize?: number; + + /** Sets the summary layout for PivotGrid. Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. + * @Default {ej.PivotGrid.Layout.Normal} + */ + gridLayout?: ej.PivotGrid.Layout|string; + + /** Allows the user to enable PivotClient’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotClient widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode|string; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Sets the title for PivotClient widget. + */ + title?: string; + + /** Connects the service using the specified URL for any server updates. + */ + url?: string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from client-side to service methods. */ + beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + + /** Triggers before saving the current collection of reports. */ + saveReport? (e: SaveReportEventArgs): void; + + /** Triggers before loading a saved collection of reports. */ + loadReport? (e: LoadReportEventArgs): void; + + /** Triggers before fetching the report collection from storage. */ + fetchReport? (e: FetchReportEventArgs): void; + + /** Triggers before exporting the control. */ + beforeExport? (e: BeforeExportEventArgs): void; + + /** Triggers before rendering the PivotChart. */ + chartLoad? (e: ChartLoadEventArgs): void; + + /** Triggers before rendering the PivotTreeMap. */ + treeMapLoad? (e: TreeMapLoadEventArgs): void; + + /** Triggers while we initiate loading of the widget. */ + load? (e: LoadEventArgs): void; + + /** Triggers when PivotClient widget completes all operations at client-end after any AJAX request. */ + renderComplete? (e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure? (e: RenderFailureEventArgs): void; + + /** Triggers when PivotClient successfully completes rendering. */ + renderSuccess? (e: RenderSuccessEventArgs): void; +} + +export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotClient control. + */ + action?: string; + + /** returns the custom object bounds with PivotClient control. + */ + customObject?: any; + + /** returns the HTML element of PivotClient control. + */ + element?: any; +} + +export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotClient control. + */ + action?: string; + + /** returns the custom object bounds with PivotClient control. + */ + customObject?: any; + + /** returns the HTML element of PivotClient control. + */ + element?: any; +} + +export interface SaveReportEventArgs { + + /** returns the current instance of PivotClient control. + */ + targetControl?: any; + + /** returns the object which holds the necessary parameters required for saving the report collection. + */ + saveReportSetting?: any; +} + +export interface LoadReportEventArgs { + + /** returns the current instance of PivotClient control. + */ + targetControl?: any; + + /** returns the object which holds the necessary parameters required for loading a report collection from database. + */ + loadReportSetting?: any; +} + +export interface FetchReportEventArgs { + + /** returns the current instance of PivotClient control. + */ + targetControl?: any; + + /** returns the object which holds the necessary parameters required for fetching the report names stored in database. + */ + fetchReportSetting?: any; +} + +export interface BeforeExportEventArgs { + + /** holds the url of the service method responsible for exporting the PivotClient control. + */ + url?: string; + + /** holds the name of the file to be exported. + */ + fileName?: string; +} + +export interface ChartLoadEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; +} + +export interface TreeMapLoadEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface LoadEventArgs { + + /** returns the HTML element of PivotClient component. + */ + element?: any; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the HTML element of PivotClient component. + */ + element?: any; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; +} + +export interface RenderFailureEventArgs { + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotClient control. + */ + element?: any; + + /** returns the error message with error code. + */ + message?: string; +} + +export interface RenderSuccessEventArgs { + + /** returns the object of PivotClient control at that instant. + */ + args?: any; +} + +export interface DataSourceColumnsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: Array; +} + +export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: Array; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field in PivotGrid. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: Array; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; +} + +export interface DataSourceRowsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: Array; +} + +export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: Array; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder|string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: Array; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; +} + +export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; +} + +export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: Array; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. + * @Default {ej.PivotAnalysis.SummaryType.Sum} + */ + summaryType?: ej.PivotAnalysis.SummaryType|string; + + /** Allows to set the format of the values. + */ + format?: string; + + /** This property sets type of display of date. + */ + formatString?: string; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; +} + +export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display name for an item. + */ + fieldCaption?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; +} + +export interface DataSourcePagerOptions { + + /** Allows to set the number of categorical columns to be displayed in each page on applying paging. + * @Default {0} + */ + categoricalPageSize?: number; + + /** Allows to set the number of series rows to be displayed in each page on applying paging. + * @Default {0} + */ + seriesPageSize?: number; + + /** Allows to set the page number in categorical axis to be loaded by default. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Allows to set the page number in series axis to be loaded by default. + * @Default {1} + */ + seriesCurrentPage?: number; +} + +export interface DataSource { + + /** Lists out the items to be arranged in columns section of PivotClient. + * @Default {[]} + */ + columns?: Array; + + /** Lists out the items to be arranged in rows section of PivotClient. + * @Default {[]} + */ + rows?: Array; + + /** Lists out the items which supports calculation in PivotClient. + * @Default {[]} + */ + values?: Array; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotClient. + * @Default {[]} + */ + filters?: Array; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotClient. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option in client-mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Sets a name to the report bound to the control. + */ + reportName?: string; + + /** Allows to set the page size and current page number for each axis on applying paging. + * @Default {{}} + */ + pagerOptions?: DataSourcePagerOptions; +} + +export interface DisplaySettings { + + /** Lets the user to customize the display of PivotChart and PivotGrid widgets, either in tabs or tiles. + * @Default {ej.PivotClient.ControlPlacement.Tab} + */ + controlPlacement?: ej.PivotClient.ControlPlacement|string; + + /** Lets the user to set either Chart or Grid as the start-up widget. + * @Default {ej.PivotClient.DefaultView.Grid} + */ + defaultView?: ej.PivotClient.DefaultView|string; + + /** Lets the user to have an option for switching to full screen view of PivotChart and PivotGrid from default view in PivotClient. + * @Default {false} + */ + enableFullScreen?: boolean; + + /** Enables an option to enhance the space for PivotGrid and PivotChart by hiding Cube Browser and Axis Element Builder. + * @Default {false} + */ + enableTogglePanel?: boolean; + + /** Sets the display mode (Only Chart/Only Grid/Both) in PivotClient. + * @Default {ej.PivotClient.DisplayMode.ChartAndGrid} + */ + mode?: ej.PivotClient.DisplayMode|string; +} + +export interface ToolbarIconSettings { + + /** Allows user to set the visibility of Add Report icon in toolbar panel. + * @Default {true} + */ + enableAddReport?: boolean; + + /** Allows user to set the visibility of New Report icon in toolbar panel. + * @Default {true} + */ + enableNewReport?: boolean; + + /** Allows user to set the visibility of Rename Report icon in toolbar panel. + * @Default {true} + */ + enableRenameReport?: boolean; + + /** Allows user to set the visibility of DB Manipulation icon in toolbar panel. + * @Default {true} + */ + enableDBManipulation?: boolean; + + /** Allows user to set the visibility of Word Export icon in toolbar panel. + * @Default {true} + */ + enableWordExport?: boolean; + + /** Allows user to set the visibility of Excel Export icon in toolbar panel. + * @Default {true} + */ + enableExcelExport?: boolean; + + /** Allows user to set the visibility of PDF Export icon in toolbar panel. + * @Default {true} + */ + enablePdfExport?: boolean; + + /** Allows user to set the visibility of MDX Query icon in toolbar panel. + * @Default {true} + */ + enableMDXQuery?: boolean; + + /** Allows user to set the visibility of Defer Update icon in toolbar panel. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Allows user to set the visibility of Full Screen icon in toolbar panel. + * @Default {false} + */ + enableFullScreen?: boolean; + + /** Allows user to set the visibility of Sort/Filter Column icon in toolbar panel. + * @Default {true} + */ + enableSortOrFilterColumn?: boolean; + + /** Allows user to set the visibility of Sort/Filter Row icon in toolbar panel. + * @Default {true} + */ + enableSortOrFilterRow?: boolean; + + /** Allows user to set the visibility of Toggle Axis icon in toolbar panel. + * @Default {true} + */ + enableToggleAxis?: boolean; + + /** Allows user to set the visibility of Chart Types icon in toolbar panel. + * @Default {true} + */ + enableChartTypes?: boolean; + + /** Allows user to set the visibility of Remove Report icon in toolbar panel. + * @Default {true} + */ + enableRemoveReport?: boolean; + + /** Allows user to set the visibility of Calculated Member icon in toolbar panel. + * @Default {false} + */ + enableCalculatedMember?: boolean; +} + +export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for updating the entire report and widget, while changing the Cube. + * @Default {CubeChanged} + */ + cubeChanged?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotClient?: string; + + /** Allows the user to set the custom name for the service method responsible to get the members for the tree-view, inside member-editor dialog. + * @Default {FetchMemberTreeNodes} + */ + fetchMemberTreeNodes?: string; + + /** Allows the user to set the custom name for the service method responsible for fetching the report names from the database. + * @Default {FetchReportListFromDB} + */ + fetchReportList?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while filtering members. + * @Default {FilterElement} + */ + filterElement?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotClient. + * @Default {InitializeClient} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for loading a report collection from the database. + * @Default {LoadReportFromDB} + */ + loadReport?: string; + + /** Allows the user to set the custom name for the service method responsible for retrieving the MDX query for the current report. + * @Default {GetMDXQuery} + */ + mdxQuery?: string; + + /** Allows the user to set the custom name for the service method responsible for updating the tree-view inside Cube Browser, while changing the measure group. + * @Default {MeasureGroupChanged} + */ + measureGroupChanged?: string; + + /** Allows the user to set the custom name for the service method responsible to get the child members, on tree-view node expansion. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while dropping a node/SplitButton inside Axis Element Builder. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while removing SplitButton from Axis Element Builder. + * @Default {RemoveSplitButton} + */ + removeSplitButton?: string; + + /** Allows the user to set the custom name for the service method responsible for saving the report collection to database. + * @Default {SaveReportToDB} + */ + saveReport?: string; + + /** Allows the user to set the custom name for the service method responsible for toggling the elements in row and column axes. + * @Default {ToggleAxis} + */ + toggleAxis?: string; + + /** Allows the user to set the custom name for the service method responsible for all the toolbar operations. + * @Default {ToolbarOperations} + */ + toolbarServices?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report collection. + * @Default {UpdateReport} + */ + updateReport?: string; + + /** Allows the user to set the custom name for the service method responsible on navigating between pages in paged PivotClient. + * @Default {Paging} + */ + paging?: string; +} + +enum ClientExportMode{ + + ///Exports both the PivotChart and PivotGrid on exporting. + ChartAndGrid, + + ///Exports the PivotChart control alone on exporting. + ChartOnly, + + ///Exports the PivotGrid control alone on exporting. + GridOnly +} + + +enum ControlPlacement{ + + ///Displays PivotChart and PivotGrid widgets in separate tabs. + Tab, + + ///Displays PivotChart and PivotGrid widgets one above the other. + Tile +} + + +enum DefaultView{ + + ///To set PivotChart as a default control in view. + Chart, + + ///To set PivotGrid as a default control in view. + Grid +} + + +enum DisplayMode{ + + ///To display only PivotChart widget. + ChartOnly, + + ///To display only PivotGrid widget. + GridOnly, + + ///To display both PivotChart and PivotGrid widgets. + ChartAndGrid +} + +} + +class PivotGauge extends ej.Widget { + static fn: PivotGauge; + constructor(element: JQuery, options?: PivotGauge.Model); + constructor(element: Element, options?: PivotGauge.Model); + static Locale: any; + model:PivotGauge.Model; + defaults:PivotGauge.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** This function is used to refresh the PivotGauge at client-side itself. + * @returns {void} + */ + refresh(): void; + + /** This function removes the KPI related images from PivotGauge on binding OLAP datasource. + * @returns {void} + */ + removeImg(): void; + + /** This function receives the JSON formatted datasource and renders the PivotGauge control. + * @returns {void} + */ + renderControlFromJSON(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): Array; + + /** Sets the JSON records to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** Returns the JSON records required to render the PivotGauge on performing any action with OLAP data source. + * @returns {void} + */ + getJSONData(): void; +} +export module PivotGauge{ + +export interface Model { + + /** Sets the number of columns to arrange the Pivot Gauges. + * @Default {0} + */ + columnsCount?: number; + + /** Specifies the CSS class to PivotGauge to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end on operating in server mode. + * @Default {{}} + */ + customObject?: any; + + /** Initializes the data source for the PivotGauge widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Enables/disables the animation of pointer in PivotGauge. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Enables/disables tooltip visibility in PivotGauge. + * @Default {false} + */ + enableTooltip?: boolean; + + /** Allows the user to view PivotGauge from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable PivotGauge’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to change the format of the label values in PivotGauge. + * @Default {null} + */ + labelFormatSettings?: LabelFormatSettings; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the number of rows to arrange the Pivot Gauges. + * @Default {0} + */ + rowsCount?: number; + + /** Sets the scale values such as pointers, indicators, etc... for PivotGauge. + * @Default {{}} + */ + scales?: any; + + /** Allows the user to set the custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Enables/disables the header labels in PivotGauge. + * @Default {true} + */ + showHeaderLabel?: boolean; + + /** Connects the service using the specified URL for any server updates on server mode operation. + * @Default {“”} + */ + url?: string; + + /** Sets the mode for the PivotGauge widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode|string; + + /** Sets the mode for the PivotGauge widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode|string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotGauge to service methods. */ + beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + + /** Triggers before populating the pivot engine on operating in client mode. */ + beforePivotEnginePopulate? (e: BeforePivotEnginePopulateEventArgs): void; + + /** Triggers when PivotGauge started loading at client-side. */ + load? (e: LoadEventArgs): void; + + /** Triggers when PivotGauge widget completes all operations at client-side after any AJAX request. */ + renderComplete? (e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure? (e: RenderFailureEventArgs): void; + + /** Triggers when PivotGauge successfully reaches client-side after any AJAX request. */ + renderSuccess? (e: RenderSuccessEventArgs): void; +} + +export interface AfterServiceInvokeEventArgs { + + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; + + /** returns the HTML element of PivotGauge control. + */ + element?: any; +} + +export interface BeforeServiceInvokeEventArgs { + + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; + + /** returns the HTML element of PivotGauge control. + */ + element?: any; +} + +export interface BeforePivotEnginePopulateEventArgs { + + /** returns the current instance of PivotGauge control. + */ + gaugeObject?: any; +} + +export interface LoadEventArgs { + + /** returns the current action of PivotGauge control. + */ + action?: string; + + /** returns the model of PivotGauge control. + */ + model?: any; + + /** returns the HTML element of the widget. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; + + /** returns the HTML element of PivotGauge control. + */ + element?: any; +} + +export interface RenderFailureEventArgs { + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the error message with error code. + */ + message?: string; +} + +export interface RenderSuccessEventArgs { + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + + /** returns the custom object bound with the control. + */ + customObject?: any; +} + +export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; +} + +export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; +} + +export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; +} + +export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: Array; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; +} + +export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType|string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; +} + +export interface DataSource { + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotGauge. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to bind in columns section. + * @Default {[]} + */ + columns?: Array; + + /** Lists out the items to bind in rows section. + * @Default {[]} + */ + rows?: Array; + + /** Lists out the items supports calculation in PivotGauge. + * @Default {[]} + */ + values?: Array; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGauge. + * @Default {[]} + */ + filters?: Array; +} + +export interface LabelFormatSettings { + + /** Allows the user to change the number format of the label values in PivotGauge. + * @Default {ej.PivotGauge.NumberFormat.Default} + */ + numberFormat?: ej.PivotGauge.NumberFormat|string; + + /** Allows you to set the number of digits displayed after decimal point. + * @Default {5} + */ + decimalPlaces?: number; + + /** Allows you to add a text at the beginning of the label. + */ + prefixText?: string; + + /** Allows you to add text at the end of the label. + */ + suffixText?: string; +} + +export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for initializing PivotGauge. + * @Default {InitializeGauge} + */ + initialize?: string; +} + +enum NumberFormat{ + + ///To set default format for label values. + Default, + + ///To set currency format for label values. + Currency, + + ///To set percentage format for label values. + Percentage, + + ///To set fraction format for label values. + Fraction, + + ///To set scientific format for label values. + Scientific, + + ///To set text format for label values. + Text, + + ///To set notation format for label values. + Notation +} + +} + +class PivotTreeMap extends ej.Widget { + static fn: PivotTreeMap; + constructor(element: JQuery, options?: PivotTreeMap.Model); + constructor(element: Element, options?: PivotTreeMap.Model); + static Locale: any; + model:PivotTreeMap.Model; + defaults:PivotTreeMap.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): Array; + + /** Sets the JSON records to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** Renders the control with the pivot engine obtained from OLAP cube. + * @returns {void} + */ + generateJSON(): void; + + /** This function receives the JSON formatted datasource to render the PivotTreeMap control. + * @returns {void} + */ + renderTreeMapFromJSON(): void; + + /** This function receives the update from service-end, which would be utilized for rendering the widget. + * @returns {void} + */ + renderControlSuccess(): void; +} +export module PivotTreeMap{ + +export interface Model { + + /** Specifies the CSS class to PivotTreeMap to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Initializes the data source for the PivotTreeMap widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Object utilized to pass additional information between client-end and service-end. + * @Default {{}} + */ + customObject?: any; + + /** Allows the user to enable PivotTreeMap’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotTreeMap widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode|string; + + /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotTreeMap to service methods. */ + beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + + /** Triggers when PivotTreeMap starts to render. */ + load? (e: LoadEventArgs): void; + + /** Triggers before populating the pivot engine from datasource. */ + beforePivotEnginePopulate? (e: BeforePivotEnginePopulateEventArgs): void; + + /** Triggers when drill up/down happens in PivotTreeMap control. And it returns the outer HTML of PivotTreeMap control. */ + drillSuccess? (e: DrillSuccessEventArgs): void; + + /** Triggers when PivotTreeMap widget completes all operations at client-side after any AJAX request. */ + renderComplete? (e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure? (e: RenderFailureEventArgs): void; + + /** Triggers when PivotTreeMap successfully reaches client-side after any AJAX request. */ + renderSuccess? (e: RenderSuccessEventArgs): void; +} + +export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface LoadEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface BeforePivotEnginePopulateEventArgs { + + /** returns the current instance of PivotTreeMap control. + */ + treeMapObject?: any; +} + +export interface DrillSuccessEventArgs { + + /** return the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface RenderFailureEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + + /** returns the error stack trace of the original exception. + */ + message?: string; +} + +export interface RenderSuccessEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; +} + +export interface DataSourceColumnsFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; +} + +export interface DataSourceRowsFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; +} + +export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; +} + +export interface DataSourceValue { + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: Array; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; +} + +export interface DataSourceFiltersFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: Array; +} + +export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; +} + +export interface DataSource { + + /** Provides the raw data source for the PivotTreeMap. + * @Default {null} + */ + data?: any; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to be displayed as series of PivotTreeMap. + * @Default {[]} + */ + columns?: Array; + + /** Lists out the items to be displayed as segments of PivotTreeMap. + * @Default {[]} + */ + rows?: Array; + + /** Lists out the items supports calculation in PivotTreeMap. + * @Default {[]} + */ + values?: Array; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotTreeMap. + * @Default {[]} + */ + filters?: Array; +} + +export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for initializing PivotTreeMap. + * @Default {InitializeTreemap} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotTreeMap. + * @Default {DrillTreeMap} + */ + drillDown?: string; +} +} + +class Schedule extends ej.Widget { + static fn: Schedule; + constructor(element: JQuery, options?: Schedule.Model); + constructor(element: Element, options?: Schedule.Model); + static Locale: any; + model:Schedule.Model; + defaults:Schedule.Model; + + /** This method is used to delete the appointment based on the guid value or the appointment data passed to it. + * @param {string|any} GUID value of an appointment element or an appointment object + * @returns {void} + */ + deleteAppointment(data: string|any): void; + + /** Destroys the Schedule widget. All the events bound using this._on are unbound automatically and the control is moved to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Exports the appointments from the Schedule control. + * @param {string} It refers the controller action name to redirect. (For MVC) + * @param {string} It refers the server event name.(For ASP) + * @param {string|number} Pass the id of an appointment, in case if a single appointment needs to be exported. Otherwise, it takes the null value. + * @returns {void} + */ + exportSchedule(action: string, serverEvent: string, id: string|number): void; + + /** Searches and filters the appointments from appointment list of Schedule control. + * @param {Array} Holds array of one or more conditional objects for filtering the appointments based on it. + * @returns {Array} + */ + filterAppointments(filterConditions: Array): Array; + + /** Gets the complete appointment list of Schedule control. + * @returns {Array} + */ + getAppointments(): Array; + + /** Prints the entire Scheduler or a single appointment based on the appointment data passed as an argument to it. Simply calling the print() method, without passing any argument will print the entire Scheduler. + * @param {any} Either accepts no arguments at all or else accepts an appointment object. + * @returns {void} + */ + print(data: any): void; + + /** Refreshes the Scroller of Scheduler while using it within some other controls or application. + * @returns {void} + */ + refreshScroller(): void; + + /** It is used to save the appointment. The appointment object is based on the argument passed to this method. + * @param {any} appointment object which includes appointment details + * @returns {void} + */ + saveAppointment(appointmentObject: any): void; + + /** Generate the recurrence rule as a string, based on the repeat options selected. + * @returns {string} + */ + getRecurrenceRule(): string; + + /** Retrieves the time slot information (start/end time and resource details) of the given element. The parameter is optional - as when no element is passed to it, the currently selected cell information will be retrieved. When multiple cells are selected in the Scheduler, it is not necessary to provide the parameter. + * @param {any} TD element object rendered as Scheduler work cell + * @returns {any} + */ + getSlotByElement(element: any): any; + + /** Searches the appointments from the appointment list of Schedule control based on the provided search string in its argument list. + * @param {any|string} Defines the search word or the filter condition, based on which the appointments are filtered from the list. + * @param {string} Defines the field name on which the search is to be made. + * @param {ej.FilterOperators|string} Defines the filterOperator value for the search operation. + * @param {boolean} Defines the ignoreCase value for performing the search operation. + * @returns {Array} + */ + searchAppointments(searchString: any|string, field: string, operator: ej.FilterOperators|string, ignoreCase: boolean): Array; + + /** Refreshes the entire Schedule control. + * @returns {void} + */ + refresh(): void; + + /** Refreshes only the appointment elements within the Schedule control. + * @returns {void} + */ + refreshAppointments(): void; + + /** Passes the server-side action and data to the client-side for rendering the modified appointment list on the Schedule control. + * @returns {void} + */ + notifyChanges(): void; +} +export module Schedule{ + +export interface Model { + + /** When set to true, Schedule allows the appointments to be dragged and dropped at required time. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** When set to true, Scheduler allows interaction through keyboard shortcut keys. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** It includes the dataSource option and the fields related to Schedule appointments. The appointment fields within the appointmentSettings can accept both string and object type values. To apply validation rules on the appointment window fields, then the appointment fields needs to be defined with object type values. + */ + appointmentSettings?: AppointmentSettings; + + /** Template design that applies on the Schedule appointments. All the field names that are mapped from dataSource to the appropriate field properties within the appointmentSettings can be used within the template. + * @Default {null} + */ + appointmentTemplateId?: string; + + /** Accepts the custom CSS class name that defines specific user-defined styles and themes to be applied for partial or complete elements of the Schedule. + */ + cssClass?: string; + + /** Sets various categorize colors to the Schedule appointments to differentiate it. + */ + categorizeSettings?: CategorizeSettings; + + /** Sets the height for Schedule cells. + * @Default {20px} + */ + cellHeight?: string; + + /** Sets the width for Schedule cells. + */ + cellWidth?: string; + + /** Holds all options related to the context menu settings of Scheduler. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Sets current date of the Schedule. The Schedule displays initially with the date that is provided here. + * @Default {new Date()} + */ + currentDate?: any; + + /** Sets current view of the Schedule. Schedule renders initially with the view that is specified here. The available views are day, week, workweek, month, agenda and custom view - from which any one of the required view can be set to the Schedule. It accepts both string or enum values. The enum values that are accepted by currentView(ej.Schedule.CurrentView) are as follows, + * @Default {ej.Schedule.CurrentView.Week} + */ + currentView?: string|ej.Schedule.CurrentView; + + /** Sets the date format for Schedule. + */ + dateFormat?: string; + + /** When set to true, shows the previous/next appointment navigator button on the Scheduler. + * @Default {true} + */ + showAppointmentNavigator?: boolean; + + /** When set to true, enables the resize behavior of appointments within the Schedule. + * @Default {true} + */ + enableAppointmentResize?: boolean; + + /** When set to true, enables the loading of Schedule appointments based on your demand. With this load on demand concept, the data consumption of the Schedule can be limited. + * @Default {false} + */ + enableLoadOnDemand?: boolean; + + /** Saves the current model value to browser cookies for state maintenance. When the page gets refreshed, Schedule control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** When set to true, the Schedule layout and behavior changes as per the common RTL conventions. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the end hour time limit to be displayed on the Schedule. + * @Default {24} + */ + endHour?: number; + + /** To configure resource grouping on the Schedule. + */ + group?: Group; + + /** Sets the height of the Schedule. Accepts both pixel and percentage values. + * @Default {1120px} + */ + height?: string; + + /** To define the work hours within the Schedule control. + */ + workHours?: WorkHours; + + /** When set to true, enables the Schedule to observe Daylight Saving Time for supported timezones. + * @Default {false} + */ + isDST?: boolean; + + /** When set to true, adapts the Schedule layout to fit the screen size of devices on which it renders. + * @Default {true} + */ + isResponsive?: boolean; + + /** Sets the specific culture to the Schedule. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum date limit to display on the Schedule. Setting maxDate with specific date value disallows the Schedule to navigate beyond that date. + * @Default {new Date(2099, 12, 31)} + */ + maxDate?: any; + + /** Sets the minimum date limit to display on the Schedule. Setting minDate with specific date value disallows the Schedule to navigate beyond that date. + * @Default {new Date(1900, 01, 01)} + */ + minDate?: any; + + /** Sets the mode of Schedule rendering either in a vertical or horizontal direction. It accepts either string("vertical" or "horizontal") or enum values. The enum values that are accepted by orientation(ej.Schedule.Orientation) are as follows, + * @Default {ej.Schedule.Orientation.Vertical} + */ + orientation?: string|ej.Schedule.Orientation; + + /** Holds all the options related to priority settings of the Schedule. + */ + prioritySettings?: PrioritySettings; + + /** When set to true, disables the interaction with the Schedule appointments, simply allowing the date and view navigation to occur. + * @Default {false} + */ + readOnly?: boolean; + + /** Holds all the options related to reminder settings of the Schedule. + */ + reminderSettings?: ReminderSettings; + + /** Defines the specific start and end dates to be rendered in the Schedule control. To render such user-specified custom date ranges in the Schedule control, set the currentView property to ej.Schedule.CurrentView.CustomView. + * @Default {null} + */ + renderDates?: RenderDates; + + /** Template design that applies on the Schedule resource header. + * @Default {null} + */ + resourceHeaderTemplateId?: string; + + /** Holds all the options related to the resources settings of the Schedule. It is a collection of one or more resource objects, where the levels of resources are rendered on the Schedule based on the order of the resource data provided within this collection. + * @Default {null} + */ + resources?: Array; + + /** When set to true, displays the all-day row cells on the Schedule. + * @Default {true} + */ + showAllDayRow?: boolean; + + /** When set to false, hides the weekend days on all the Scheduler views. + * @Default {true} + */ + showWeekend?: boolean; + + /** When set to true, displays the current time indicator on the Schedule. + * @Default {true} + */ + showCurrentTimeIndicator?: boolean; + + /** When set to true, displays the header bar on the Schedule. + * @Default {true} + */ + showHeaderBar?: boolean; + + /** When set to true, displays the location field additionally on Schedule appointment window. + * @Default {false} + */ + showLocationField?: boolean; + + /** When set to false, doesn't render the start and end timezone fields on the Schedule appointment window. + * @Default {true} + */ + showTimeZoneFields?: boolean; + + /** When set to true, displays the quick window for every single click made on the Schedule cells or appointments. + * @Default {true} + */ + showQuickWindow?: boolean; + + /** Sets the start hour time range to be displayed on the Schedule. + * @Default {0} + */ + startHour?: number; + + /** Sets either 12 or 24 hour time mode on the Schedule. It accepts either the string value("12" or "24") or the below mentioned enum values. The enum values that are accepted by timeMode(ej.Schedule.TimeMode) are as follows, + * @Default {null} + */ + timeMode?: string|ej.Schedule.TimeMode; + + /** Sets the timezone for the Schedule. + * @Default {null} + */ + timeZone?: string; + + /** Sets the collection of timezone items to be bound to the Schedule. Only the items bound to this property gets listed out in the timezone field of the appointment window. + */ + timeZoneCollection?: TimeZoneCollection; + + /** Defines the view collection to be displayed on the Schedule. By default, it displays all the views namely, Day, Week, WorkWeek and Month. + * @Default {[Day, Week, WorkWeek, Month, Agenda]} + */ + views?: Array; + + /** Sets the width of the Schedule. Accepts both pixel and percentage values. + * @Default {100%} + */ + width?: string; + + /** When set to true, Schedule allows the validation of recurrence pattern to take place before it is being assigned to the appointments. For example, when one of the instance of recurrence appointment is dragged beyond the next or previous instance of the same recurrence appointment, a pop-up is displayed with the validation message disallowing the drag functionality. + * @Default {true} + */ + enableRecurrenceValidation?: boolean; + + /** Sets the week to display more than one week appointment summary. + */ + agendaViewSettings?: AgendaViewSettings; + + /** Sets specific day as the starting day of the week. + * @Default {null} + */ + firstDayOfWeek?: string; + + /** Sets different day collection within workWeek view. + * @Default {[Monday, Tuesday, Wednesday, Thursday, Friday]} + */ + workWeek?: Array; + + /** Allows to pop-up appointment details in a tooltip while hovering over the appointments. + */ + tooltipSettings?: TooltipSettings; + + /** Holds all the options related to the time scale of Scheduler. The timeslots either major or minor slots can be customized with this property. + */ + timeScale?: TimeScale; + + /** When set to true, shows the delete confirmation dialog before deleting an appointment. + * @Default {true} + */ + showDeleteConfirmationDialog?: boolean; + + /** Accepts the id value of the template layout defined for the all-day cells and customizes it. + * @Default {null} + */ + allDayCellsTemplateId?: string; + + /** Accepts the id value of the template layout defined for the work cells and month cells. + * @Default {null} + */ + workCellsTemplateId?: string; + + /** Accepts the id value of the template layout defined for the date header cells and customizes it. + * @Default {null} + */ + dateHeaderTemplateId?: string; + + /** when set to false, allows the height of the work-cells to adjust automatically (either expand or collapse) based on the number of appointment count it has. + * @Default {true} + */ + showOverflowButton?: boolean; + + /** Allows setting draggable area for the Scheduler appointments. Also, turns on the external drag and drop, when set with some specific external drag area name. + */ + appointmentDragArea?: string; + + /** When set to true, displays the other months days from the current month on the Schedule. + * @Default {true} + */ + showNextPrevMonth?: boolean; + + /** Blocks the user-specific time interval on the Scheduler, so that no appointments can be created on that particular time slots. It includes the dataSource option and also the fields related to block intervals. + */ + blockoutSettings?: BlockoutSettings; + + /** Triggers on the beginning of every action that starts within the Schedule. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggers after the completion of every action within the Schedule. */ + actionComplete? (e: ActionCompleteEventArgs): void; + + /** Triggers after an appointment is clicked. */ + appointmentClick? (e: AppointmentClickEventArgs): void; + + /** Triggers before the appointment is being removed from the Scheduler. */ + beforeAppointmentRemove? (e: BeforeAppointmentRemoveEventArgs): void; + + /** Triggers before the edited appointment is being saved. */ + beforeAppointmentChange? (e: BeforeAppointmentChangeEventArgs): void; + + /** Triggers on hovering the mouse over the appointments. */ + appointmentHover? (e: AppointmentHoverEventArgs): void; + + /** Triggers before the new appointment gets saved. */ + beforeAppointmentCreate? (e: BeforeAppointmentCreateEventArgs): void; + + /** Triggers before the appointment window opens. */ + appointmentWindowOpen? (e: AppointmentWindowOpenEventArgs): void; + + /** Triggers before the context menu opens. */ + beforeContextMenuOpen? (e: BeforeContextMenuOpenEventArgs): void; + + /** Triggers after the cell is clicked. */ + cellClick? (e: CellClickEventArgs): void; + + /** Triggers after the cell is clicked twice. */ + cellDoubleClick? (e: CellDoubleClickEventArgs): void; + + /** Triggers on hovering the mouse overs the cells. */ + cellHover? (e: CellHoverEventArgs): void; + + /** Triggers when the Scheduler completely renders on the page. */ + create? (e: CreateEventArgs): void; + + /** Triggers when the Scheduler and all its sub-components gets destroyed. */ + destroy? (e: DestroyEventArgs): void; + + /** Triggers while the appointment is being dragged over the work cells. */ + drag? (e: DragEventArgs): void; + + /** Triggers when the appointment dragging begins. */ + dragStart? (e: DragStartEventArgs): void; + + /** Triggers when the appointment is dropped. */ + dragStop? (e: DragStopEventArgs): void; + + /** Triggers after the menu/sub-menu items within the context menu is clicked. */ + menuItemClick? (e: MenuItemClickEventArgs): void; + + /** Triggers after the Schedule view or date is navigated. */ + navigation? (e: NavigationEventArgs): void; + + /** Triggers every time before the elements of the scheduler such as work cells, time cells or header cells and so on renders or re-renders on a page. */ + queryCellInfo? (e: QueryCellInfoEventArgs): void; + + /** Triggers when the reminder is raised for an appointment based on the alertBefore value. */ + reminder? (e: ReminderEventArgs): void; + + /** Triggers while resizing the appointment. */ + resize? (e: ResizeEventArgs): void; + + /** Triggers when the appointment resizing begins. */ + resizeStart? (e: ResizeStartEventArgs): void; + + /** Triggers when an appointment resizing stops. */ + resizeStop? (e: ResizeStopEventArgs): void; + + /** Triggers when the overflow button is clicked. */ + overflowButtonClick? (e: OverflowButtonClickEventArgs): void; + + /** Triggers while mouse hovering on the overflow button. */ + overflowButtonHover? (e: OverflowButtonHoverEventArgs): void; + + /** Triggers when any of the keyboard keys are pressed. */ + keyDown? (e: KeyDownEventArgs): void; + + /** Triggers after the new appointment is saved. */ + appointmentCreated? (e: AppointmentCreatedEventArgs): void; + + /** Triggers after an existing appointment is edited. */ + appointmentChanged? (e: AppointmentChangedEventArgs): void; + + /** Triggers after the appointment is deleted. */ + appointmentRemoved? (e: AppointmentRemovedEventArgs): void; +} + +export interface ActionBeginEventArgs { + + /** Returns the current date value. + */ + currentDate?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current view value. + */ + currentView?: string; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the action begin request type. + */ + requestType?: string; + + /** Returns the target of the click. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the save appointment value. + */ + data?: any; + + /** Returns the id of delete appointment. + */ + id?: number; +} + +export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data about view change action. + */ + data?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the action complete request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the appointment data dropped. + */ + appointment?: any; +} + +export interface AppointmentClickEventArgs { + + /** Returns the object of appointmentClick event. + */ + object?: any; + + /** Returns the clicked appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface BeforeAppointmentRemoveEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the deleted appointment object. + */ + appointment?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface BeforeAppointmentChangeEventArgs { + + /** Returns the edited appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface AppointmentHoverEventArgs { + + /** Returns the object of appointmentHover event. + */ + object?: any; + + /** Returns the hovered appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface BeforeAppointmentCreateEventArgs { + + /** Returns the appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface AppointmentWindowOpenEventArgs { + + /** returns the object of appointmentWindowOpen event while selecting the detail option from quick window or edit appointment or edit series option. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the end time of the double clicked cell. + */ + endTime?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the action name that triggers window open. + */ + originalEventType?: string; + + /** Returns the start time of the double clicked cell. + */ + startTime?: any; + + /** Returns the target of the double clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the edit appointment object. + */ + appointment?: any; + + /** Returns the edit occurrence option value. + */ + edit?: boolean; +} + +export interface BeforeContextMenuOpenEventArgs { + + /** Returns the object of beforeContextMenuOpen event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current cell index value. + */ + cellIndex?: number; + + /** Returns the current date value. + */ + currentDate?: any; + + /** Returns the current resource details, when multiple resources are present, otherwise returns null. + */ + resources?: any; + + /** Returns the current appointment details while opening the menu from appointment. + */ + appointment?: any; + + /** Returns the object of before opening menu target. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellClickEventArgs { + + /** Returns the object of cellClick event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the end time of the clicked cell. + */ + endTime?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the start time of the clicked cell. + */ + startTime?: any; + + /** Returns the target of the clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellDoubleClickEventArgs { + + /** Returns the object of cellDoubleClick event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the end time of the double clicked cell. + */ + endTime?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the start time of the double clicked cell. + */ + startTime?: any; + + /** Returns the target of the double clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellHoverEventArgs { + + /** Returns the object of cellHover event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the index of the hovered cell. + */ + cellIndex?: any; + + /** Returns the current date of the hovered cell. + */ + currentDate?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface DragEventArgs { + + /** Returns the object of dragOver event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the drag over appointment. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DragStartEventArgs { + + /** Returns the object of dragStart event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the dragging appointment. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DragStopEventArgs { + + /** Returns the object of dragDrop event. + */ + object?: any; + + /** Returns the dropped appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface MenuItemClickEventArgs { + + /** Returns the object of menuItemClick event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface NavigationEventArgs { + + /** Returns the current date object. + */ + currentDate?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the current view value. + */ + currentView?: string; + + /** Returns the previous view value. + */ + previousView?: string; + + /** Returns the target of the action. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the previous date of the Schedule. + */ + previousDate?: any; +} + +export interface QueryCellInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the current appointment data. + */ + appointment?: any; + + /** Returns the currently rendering DOM element. + */ + element?: any; + + /** Returns the name of the currently rendering element on the scheduler. + */ + requestType?: string; + + /** Returns the cell type which is currently rendering on the Scheduler. + */ + cellType?: string; + + /** Returns the start date of the currently rendering appointment. + */ + currentAppointmentDate?: any; + + /** Returns the currently rendering cell information. + */ + cell?: any; + + /** Returns the currently rendering resource details. + */ + resource?: any; + + /** Returns the currently rendering date information. + */ + currentDay?: any; +} + +export interface ReminderEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the appointment object for which the reminder is raised. + */ + reminderAppointment?: any; +} + +export interface ResizeEventArgs { + + /** Returns the object of resizing event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the resize element value. + */ + element?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ResizeStartEventArgs { + + /** Returns the object of resizeStart event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the resize element value. + */ + element?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ResizeStopEventArgs { + + /** Returns the object of resizeStop event. + */ + object?: any; + + /** Returns the resized appointment value. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the resized appointment. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface OverflowButtonClickEventArgs { + + /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the clicked overflow button is present. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface OverflowButtonHoverEventArgs { + + /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the overflow button is currently hovered. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface KeyDownEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface AppointmentCreatedEventArgs { + + /** Returns the appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface AppointmentChangedEventArgs { + + /** Returns the edited appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface AppointmentRemovedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the deleted appointment object. + */ + appointment?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; +} + +export interface AppointmentSettings { + + /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule appointments. + * @Default {[]} + */ + dataSource?: any|Array; + + /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. + * @Default {null} + */ + query?: string; + + /** Assign the table name from where the records are to be fetched for the Schedule. + * @Default {null} + */ + tableName?: string; + + /** When set to false, doesn't consider the time difference offset calculation on appointment time. + * @Default {true} + */ + applyTimeOffset?: boolean; + + /** Binds the id field name in dataSource to the id of Schedule appointments. It denotes the unique id assigned to appointments. + * @Default {null} + */ + id?: string; + + /** Binds the name of startTime field in the dataSource with start time of the Schedule appointments. It indicates the date and Time when Schedule appointment actually starts. + * @Default {null} + */ + startTime?: string; + + /** Binds the name of endTime field in dataSource with the end time of Schedule appointments. It indicates the date and time when Schedule appointment actually ends. + * @Default {null} + */ + endTime?: string; + + /** Binds the name of subject field in the dataSource to appointment Subject. Indicates the Subject or title that gets displayed on Schedule appointments. + * @Default {null} + */ + subject?: string; + + /** Binds the description field name in dataSource. It indicates the appointment description. + * @Default {null} + */ + description?: string; + + /** Binds the name of recurrence field in dataSource. It indicates whether the appointment is a recurrence appointment or not. + * @Default {null} + */ + recurrence?: string; + + /** Binds the name of recurrenceRule field in dataSource. It indicates the recurrence pattern associated with appointments. + * @Default {null} + */ + recurrenceRule?: string; + + /** Binds the name of allDay field in dataSource. It indicates whether the appointment is an all-day appointment or not. + * @Default {null} + */ + allDay?: string; + + /** Binds one or more fields in resource collection dataSource. It maps the resource field names with appointments denoting the resource of appointments actually belongs. + * @Default {null} + */ + resourceFields?: string; + + /** Binds the name of categorize field in dataSource. It indicates the categorize value, red categorize, green, yellow and so on applied to the appointments. + * @Default {null} + */ + categorize?: string; + + /** Binds the name of location field in dataSource. It indicates the appointment location. + * @Default {null} + */ + location?: string; + + /** Binds the name of the priority field in dataSource. It indicates the priority, high, low, medium and none of the appointments. + * @Default {null} + */ + priority?: string; + + /** Binds the name of start timezone field in dataSource. It indicates the timezone of appointment start date. When startTimeZone field is not mentioned, the appointment uses the Schedule timeZone or System timeZone. + * @Default {null} + */ + startTimeZone?: string; + + /** Binds the name of end timezone field in dataSource. It indicates the timezone of appointment end date. When the endTimeZone field is not mentioned, the appointment uses the Schedule timeZone or System timeZone. + * @Default {null} + */ + endTimeZone?: string; +} + +export interface CategorizeSettings { + + /** When set to true, enables the multiple selection of categories to be applied for the appointments. + * @Default {false} + */ + allowMultiple?: boolean; + + /** When set to true, enables the categories option to be applied for the appointments. + * @Default {false} + */ + enable?: boolean; + + /** The dataSource option accepts either the JSON object collection or DataManager [ej.DataManager] instance that contains the categorize data. + */ + dataSource?: Array|any; + + /** Binds id field name in the dataSource to id of category data. + * @Default {id} + */ + id?: string; + + /** Binds text field name in the dataSource to category text. + * @Default {text} + */ + text?: string; + + /** Binds color field name in the dataSource to category color. + * @Default {color} + */ + color?: string; + + /** Binds fontColor field name in the dataSource to category font. + * @Default {fontColor} + */ + fontColor?: string; +} + +export interface ContextMenuSettingsMenuItems { + + /** All the appointment related context menu items are grouped under this appointment menu collection. + */ + appointment?: Array; + + /** All the Scheduler cell related context menu items are grouped under this cells menu item collection. + */ + cells?: Array; +} + +export interface ContextMenuSettings { + + /** When set to true, enables the context menu options available for the Schedule cells and appointments. + * @Default {false} + */ + enable?: boolean; + + /** Contains all the default context menu options that are applicable for both Schedule cells and appointments. It also supports adding custom menu items to cells or appointment collection. + */ + menuItems?: ContextMenuSettingsMenuItems; +} + +export interface Group { + + /** Holds the array of resource names to be grouped on the Schedule. + */ + resources?: Array; +} + +export interface WorkHours { + + /** When set to true, highlights the work hours of the Schedule. + * @Default {true} + */ + highlight?: boolean; + + /** Sets the start time to depict the start of working or business hour in a day. + * @Default {9} + */ + start?: number; + + /** Sets the end time to depict the end of working or business hour in a day. + * @Default {18} + */ + end?: number; +} + +export interface PrioritySettings { + + /** When set to true, enables the priority options available for the Schedule appointments. + * @Default {false} + */ + enable?: boolean; + + /** The dataSource option can accept the JSON object collection that contains the priority related data. + * @Default {{% highlight js%}[{ text: None, value: none },{ text: High, value: high },{ text: Medium, value: medium },{ text: Low, value: low }]{% endhighlight %}} + */ + dataSource?: any|Array; + + /** Binds text field name in the dataSource to prioritySettings text. These text gets listed out in priority field of the appointment window. + * @Default {text} + */ + text?: string; + + /** Binds value field name in the dataSource to prioritySettings value. These field names usually accepts four priority values by default, high, low, medium and none. + * @Default {value} + */ + value?: string; + + /** Allows priority field customization in the appointment window to add custom icons denoting the priority level for the appointments. + * @Default {null} + */ + template?: string; +} + +export interface ReminderSettings { + + /** When set to true, enables the reminder option available for the Schedule appointments. + * @Default {false} + */ + enable?: boolean; + + /** Sets the timing, when the reminders are to be alerted for the Schedule appointments. + * @Default {5} + */ + alertBefore?: number; +} + +export interface RenderDates { + + /** Sets the start of custom date range to be rendered in the Schedule. + * @Default {null} + */ + start?: any; + + /** Sets the end limit of the custom date range. + * @Default {null} + */ + end?: any; +} + +export interface ResourcesResourceSettings { + + /** The dataSource option accepts either JSON object collection or DataManager (ejDataManager) instance that contains the resources related data. + * @Default {[]} + */ + dataSource?: any|Array; + + /** Binds text field name in the dataSource to resourceSettings text. These text gets listed out in resources field of the appointment window. + * @Default {null} + */ + text?: string; + + /** Binds id field name in the dataSource to resourceSettings id. + * @Default {null} + */ + id?: string; + + /** Binds groupId field name in the dataSource to resourceSettings groupId. + * @Default {null} + */ + groupId?: string; + + /** Binds color field name in the dataSource to resourceSettings color. The color specified here gets applied to the Schedule appointments denoting to the resource it belongs. + * @Default {null} + */ + color?: string; + + /** Binds the starting work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the starting work hour for specific resources. + * @Default {null} + */ + start?: string; + + /** Binds the end work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the end work hour for specific resources. + * @Default {null} + */ + end?: string; + + /** Binds the resources working days field name in the dataSource. It's optional, and accepts the array of strings (week day names). When provided with specific collection of days (array of day names), only those days will render for the specific resources. + * @Default {null} + */ + workWeek?: string; + + /** Binds appointmentClass field name in the dataSource. It applies custom CSS class name to appointments depicting to the resource it belongs. + * @Default {null} + */ + appointmentClass?: string; +} + +export interface Resource { + + /** It holds the name of the resource field to be bound to the Schedule appointments that contains the resource Id. + * @Default {null} + */ + field?: string; + + /** It holds the title name of the resource field to be displayed on the Schedule appointment window. + * @Default {null} + */ + title?: string; + + /** A unique resource name that is used for differentiating various resource objects while grouping it in various levels. + * @Default {null} + */ + name?: string; + + /** When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. + * @Default {false} + */ + allowMultiple?: boolean; + + /** It holds the field names of the resources to be bound to the Schedule and also the dataSource. + */ + resourceSettings?: ResourcesResourceSettings; +} + +export interface TimeZoneCollection { + + /** Sets the collection of timezone items to the dataSource that accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule timezones. + */ + dataSource?: any; + + /** Binds text field name in the dataSource to timeZoneCollection text. These text gets listed out in the timezone fields of the appointment window. + * @Default {text} + */ + text?: string; + + /** Binds id field name in the dataSource to timeZoneCollection id. + * @Default {id} + */ + id?: string; + + /** Binds value field name in the dataSource to timeZoneCollection value. + * @Default {value} + */ + value?: string; +} + +export interface AgendaViewSettings { + + /** You can display the summary of multiple week's appointment by setting this value. + * @Default {7} + */ + daysInAgenda?: number; + + /** You can customize the Date column display based on the requirement. + * @Default {null} + */ + dateColumnTemplateId?: string; + + /** You can customize the time column display based on the requirement. + * @Default {null} + */ + timeColumnTemplateId?: string; +} + +export interface TooltipSettings { + + /** Enables or disables the tooltip display. + * @Default {false} + */ + enable?: boolean; + + /** Template design that customizes the tooltip. All the field names that are mapped from dataSource to the appropriate field properties within the appointmentSettings can be accessed within the template. + * @Default {null} + */ + templateId?: string; +} + +export interface TimeScale { + + /** When set to true, displays the time slots on the Scheduler. + * @Default {true} + */ + enable?: boolean; + + /** When set with some specific value, defines the number of time divisions split per hour(as per value given for the majorTimeSlot). Those time divisions are meant to be the minor slots. + * @Default {2} + */ + minorSlotCount?: number; + + /** Accepts the value in minutes. When provided with specific value, displays the appropriate time interval on the Scheduler + * @Default {60} + */ + majorSlot?: number; + + /** Template design that customizes the timecells (minor slots) that are partitioned based on minorSlotCount. Accepts id value of the template defined for minor time slots. + * @Default {null} + */ + minorSlotTemplateId?: string; + + /** Template design that customizes the timecells (major slots). Accepts id value of the template defined for major time slots. + * @Default {null} + */ + majorSlotTemplateId?: string; +} + +export interface BlockoutSettings { + + /** When set to true, enables the blockout option to be applied on the Scheduler cells. + * @Default {false} + */ + enable?: boolean; + + /** Template design that applies on the Schedule block intervals. All the field names that are mapped from dataSource to the appropriate field properties within the blockoutSettings can be used within the template. + * @Default {null} + */ + templateId?: string; + + /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule block intervals. + * @Default {[]} + */ + dataSource?: any|Array; + + /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. + * @Default {null} + */ + query?: string; + + /** Assign the table name from where the records are to be fetched for the Schedule. + * @Default {null} + */ + tableName?: string; + + /** Binds the id field name in dataSource to the id of block time interval. It denotes the unique id assigned to each of the block records. + * @Default {null} + */ + id?: string; + + /** Binds the name of startTime field in the dataSource with start time of block time interval. It indicates the date and time, when the block interval actually starts in the Scheduler. + * @Default {null} + */ + startTime?: string; + + /** Binds the name of endTime field in dataSource with the end time of block time interval. It indicates the date and time, when the block interval actually ends in the Scheduler. + * @Default {null} + */ + endTime?: string; + + /** Binds the name of subject field in the dataSource to block time Subject. Indicates the Subject or title that gets displayed on the Schedule block intervals. + * @Default {null} + */ + subject?: string; + + /** Binds the name of isBlockAppointment field in dataSource. When set to true, disables the appointments that lies on the blocked area and restrict to perform CRUD operations in it. + * @Default {null} + */ + isBlockAppointment?: string; + + /** Binds the name of isAllDay field in dataSource. It indicates whether an entire day is blocked or not. + * @Default {null} + */ + isAllDay?: string; + + /** Binds the name of resourceId field in dataSource. Specifies the id of the resources, to which the time intervals are needed to be blocked. + * @Default {null} + */ + resourceId?: string; + + /** Binds the name of customStyle field in dataSource. It applies the custom CSS to the block intervals. + * @Default {null} + */ + customStyle?: string; +} + +enum CurrentView{ + + ///Sets currentView of the Scheduler as Day + Day, + + ///Sets currentView of the Scheduler as Week + Week, + + ///Sets currentView of the Scheduler as WorkWeek + Workweek, + + ///Sets currentView of the Scheduler as Month + Month, + + ///Sets currentView of the Scheduler as Agenda + Agenda, + + ///Sets currentView of the Scheduler as CustomView with user-specified date range. + CustomView +} + + +enum Orientation{ + + ///Set orientation as vertical to Scheduler + Vertical, + + ///Set orientation as horizontal to Scheduler + Horizontal +} + + +enum TimeMode{ + + ///Sets 12 hour time mode to Scheduler + Hour12, + + ///Sets 24 hour time mode to Scheduler + Hour24 +} + +} + +class RecurrenceEditor extends ej.Widget { + static fn: RecurrenceEditor; + constructor(element: JQuery, options?: RecurrenceEditor.Model); + constructor(element: Element, options?: RecurrenceEditor.Model); + static Locale: any; + model:RecurrenceEditor.Model; + defaults:RecurrenceEditor.Model; + + /** Generates the recurrence rule with the options selected within the Recurrence Editor. + * @returns {String} + */ + getRecurrenceRule(): String; + + /** Generates the collection of date, that lies within the selected recurrence start and end date for which the recurrence pattern applies. + * @param {string} It refers the recurrence rule. + * @param {any} It refers the start date of the recurrence. + * @returns {any} + */ + recurrenceDateGenerator(recurrenceString: string, startDate: any): any; + + /** It splits and returns the recurrence rule string into object collection. + * @param {string} It refers the recurrence rule string. + * @param {any} It refers the appointment dates (ExDate) to be excluded + * @returns {any} + */ + recurrenceRuleSplit(recurrenceRule: string, exDate: any): any; +} +export module RecurrenceEditor{ + +export interface Model { + + /** Defines the collection of recurrence frequencies within Recurrence Editor such as Never, Daily, Weekly, Monthly, Yearly and Every Weekday. + * @Default {[never, daily, weekly, monthly, yearly, everyweekday]} + */ + frequencies?: Array; + + /** Sets the starting day of the week. + * @Default {null} + */ + firstDayOfWeek?: string; + + /** When set to true, enables the spin button of numeric textboxes within the Recurrence Editor. + * @Default {true} + */ + enableSpinners?: boolean; + + /** Sets the start date of the recurrence. The Recurrence Editor initially displays the current date as its start date. + * @Default {new Date()} + */ + startDate?: any; + + /** Sets the specific culture to the Recurrence Editor. + * @Default {en-US} + */ + locale?: string; + + /** Sets the date format for the datepickers available within the Recurrence Editor. + */ + dateFormat?: string; + + /** When set to true, renders the Recurrence Editor options from Right-to-Left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the active/current repeat type(frequency) on Recurrence Editor based on the index value provided. For example, setting the value 1 will initially set the repeat type as Daily and display its related options. + * @Default {0} + */ + selectedRecurrenceType?: number; + + /** Sets the minimum date limit to display on the datepickers defined within the Recurrence Editor. Setting minDate with specific date value disallows the datepickers within Recurrence Editor to navigate beyond that date. + * @Default {new Date(1900, 01, 01)} + */ + minDate?: any; + + /** Sets the maximum date limit to display on the datepickers used within the Recurrence Editor. Setting maxDate with specific date value disallows the datepickers within the Recurrence Editor to navigate beyond that date. + * @Default {new Date(2099, 12, 31)} + */ + maxDate?: any; + + /** Accepts the custom CSS class name, that defines user-defined styles and themes to be applied on partial or complete elements of the Recurrence Editor. + */ + cssClass?: string; + + /** Triggers whenever any of the Recurrence Editor's value is changed. */ + change? (e: ChangeEventArgs): void; +} + +export interface ChangeEventArgs { + + /** When set to true, event gets canceled. + */ + cancel?: boolean; + + /** Returns the Recurrence Editor model + */ + model?: ej.RecurrenceEditor.Model; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the recurrence rule value. + */ + recurrenceRule?: string; +} +} + +class Gantt extends ej.Widget { + static fn: Gantt; + constructor(element: JQuery, options?: Gantt.Model); + constructor(element: Element, options?: Gantt.Model); + static Locale: any; + model:Gantt.Model; + defaults:Gantt.Model; + + /** To add a new item in Gantt + * @param {any} Item to add in Gantt row. + * @param {string} Defines in which position the row wants to add + * @returns {void} + */ + addRecord(data: any, rowPosition: string): void; + + /** To select cell based on the cell and row index dynamically. + * @param {Array} array of cell indexes to be select + * @param {boolean} Defines that we need to preserve the previously selected cells of not + * @returns {void} + */ + selectCells(Indexes: Array, preservePreviousSelectedCell: boolean): void; + + /** Positions the splitter by the specified column index. + * @param {number} Set the splitter position based on column index. + * @returns {void} + */ + setSplitterIndex(index: number): void; + + /** To cancel the edited state of an item in Gantt + * @returns {void} + */ + cancelEdit(): void; + + /** To collapse all the parent items in Gantt + * @returns {void} + */ + collapseAllItems(): void; + + /** To delete a selected item in Gantt + * @returns {void} + */ + deleteItem(): void; + + /** destroy the Gantt widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To Expand all the parent items in Gantt + * @returns {void} + */ + expandAllItems(): void; + + /** To expand and collapse an item in Gantt using item's ID + * @param {number} Expand or Collapse a record based on task id. + * @returns {void} + */ + expandCollapseRecord(taskId: number): void; + + /** Export the Gantt content to excel or PDF document. + * @param {string} Pass the controller action name corresponding to exporting + * @param {string} optionalASP server event name corresponding to exporting + * @param {boolean} optionalPass the multiple exporting value as true/false + * @returns {void} + */ + export(action: string, serverEvent?: string, multipleExport?: boolean): void; + + /** To hide the column by using header text + * @param {string} you can pass a header text of a column to hide + * @returns {void} + */ + hideColumn(headerText: string): void; + + /** To indent a selected item in Gantt + * @returns {void} + */ + indentItem(): void; + + /** To Open the dialog to add new task to the Gantt + * @returns {void} + */ + openAddDialog(): void; + + /** To Open the dialog to edit existing task to the Gantt + * @returns {void} + */ + openEditDialog(): void; + + /** To outdent a selected item in Gantt + * @returns {void} + */ + outdentItem(): void; + + /** To save the edited state of an item in Gantt + * @returns {void} + */ + saveEdit(): void; + + /** To search an item with search string provided at the run time + * @param {string} you can pass a text to search in Gantt Control. + * @returns {void} + */ + searchItem(searchString: string): void; + + /** To set the grid width in Gantt + * @param {string} you can give either percentage or pixels value + * @returns {void} + */ + setSplitterPosition(width: string): void; + + /** To show the column by using header text + * @param {string} you can pass a header text of a column to show + * @returns {void} + */ + showColumn(headerText: string): void; +} +export module Gantt{ + +export interface Model { + + /** Specifies the fields to be included in the add dialog in Gantt + * @Default {[]} + */ + addDialogFields?: Array; + + /** Enables or disables the ability to resize column. + * @Default {false} + */ + allowColumnResize?: boolean; + + /** Enables or Disables Gantt chart editing in Gantt + * @Default {true} + */ + allowGanttChartEditing?: boolean; + + /** Enables or Disables Keyboard navigation in Gantt + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specifies enabling or disabling multiple sorting for Gantt columns + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** Enables or disables the option for multiple exporting + * @Default {false} + */ + allowMultipleExporting?: boolean; + + /** Enables or disables the interactive selection of a row. + * @Default {true} + */ + allowSelection?: boolean; + + /** Enables or disables sorting. When enabled, we can sort the column by clicking on the column. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables or disables the ability to drag and drop the row interactively to reorder the rows + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Enable or disable predecessor validation. When it is true, all the task's start and end dates are aligned based on its predecessors start and end dates. + * @Default {true} + */ + enablePredecessorValidation?: boolean; + + /** Specifies the baseline background color in Gantt + * @Default {#fba41c} + */ + baselineColor?: string; + + /** Specifies the mapping property path for the work field of a task in the data source. When it is mapped the end date and duration for a task will be calculated automatically. + */ + workMapping?: string; + + /** Specifies the mapping property path for the expand status of a record in data source. + */ + expandStateMapping?: string; + + /** Specifies the mapping property path for baseline end date in datasource + */ + baselineEndDateMapping?: string; + + /** Specifies the mapping property path for baseline start date of a task in datasource + */ + baselineStartDateMapping?: string; + + /** Specifies the mapping property path for sub tasks in datasource + */ + childMapping?: string; + + /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. + * @Default {[]} + */ + columnDialogFields?: Array; + + /** Specifies the background of connector lines in Gantt + */ + connectorLineBackground?: string; + + /** Specifies the width of the connector lines in Gantt + * @Default {1} + */ + connectorlineWidth?: number; + + /** Specify the CSS class for Gantt to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the template for cell tooltip + * @Default {null} + */ + cellTooltipTemplate?: string; + + /** Option for customizing the drag tooltip while reordering the rows. + */ + dragTooltip?: DragTooltip; + + /** Collection of data or hierarchical data to represent in Gantt + * @Default {null} + */ + dataSource?: Array; + + /** Specifies the dateFormat for Gantt , given format is displayed in tooltip , Grid . + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Specifies the mapping property path for duration of a task in datasource + */ + durationMapping?: string; + + /** Specifies the duration unit for each tasks whether days or hours or minutes + * @Default {ej.Gantt.DurationUnit.Day} + */ + durationUnit?: ej.Gantt.DurationUnit|string; + + /** Specifies the fields to be included in the edit dialog in Gantt + * @Default {[]} + */ + editDialogFields?: Array; + + /** Enables or disables the responsiveness of Gantt + * @Default {false} + */ + isResponsive?: boolean; + + /** Option to configure the splitter position. + */ + splitterSettings?: SplitterSettings; + + /** Specifies the editSettings options in Gantt. + */ + editSettings?: EditSettings; + + /** Enables or Disables enableAltRow row effect in Gantt + * @Default {true} + */ + enableAltRow?: boolean; + + /** Enables/disables work breakdown structure column. + * @Default {false} + */ + enableWBS?: boolean; + + /** Enables/disables WBS predecessor column. + * @Default {false} + */ + enableWBSPredecessor?: boolean; + + /** Enables or disables the collapse all records when loading the Gantt. + * @Default {false} + */ + enableCollapseAll?: boolean; + + /** Specifies the data source field name to be displayed as left task label + */ + leftTaskLabelMapping?: string; + + /** Specifies the data source field name to be displayed as right task label + */ + rightTaskLabelMapping?: string; + + /** Specifies the template for left task label + */ + leftTaskLabelTemplate?: string; + + /** Specifies the template for right task label + */ + rightTaskLabelTemplate?: string; + + /** Enables or disables the contextmenu for Gantt , when enabled contextmenu appears on right clicking Gantt + * @Default {false} + */ + enableContextMenu?: boolean; + + /** Indicates whether we can edit the progress of a task interactively in Gantt. + * @Default {true} + */ + enableProgressBarResizing?: boolean; + + /** Enables or disables the option for dynamically updating the Gantt size on window resizing + * @Default {false} + */ + enableResize?: boolean; + + /** Enables or disables tooltip while editing (dragging/resizing) the taskbar. + * @Default {true} + */ + enableTaskbarDragTooltip?: boolean; + + /** Enables or disables tooltip for taskbar. + * @Default {true} + */ + enableTaskbarTooltip?: boolean; + + /** Enables/Disables virtualization for rendering Gantt items. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the mapping property path for end Date of a task in datasource + */ + endDateMapping?: string; + + /** Specifies whether to highlight the weekends in Gantt . + * @Default {true} + */ + highlightWeekends?: boolean; + + /** Collection of holidays with date, background and label information to be displayed in Gantt. + * @Default {[]} + */ + holidays?: Array; + + /** Specifies whether to include weekends while calculating the duration of a task. + * @Default {true} + */ + includeWeekend?: boolean; + + /** Specify the locale for Gantt + * @Default {en-US} + */ + locale?: string; + + /** Specifies the mapping property path for milestone in datasource + */ + milestoneMapping?: string; + + /** Enables/disables the options for inserting , deleting and renaming columns. + * @Default {false} + */ + showColumnOptions?: boolean; + + /** Specifies the template for parent taskbar + */ + parentTaskbarTemplate?: string; + + /** Specifies the nature of a task for calculating the work, and it can fixed duration, fixed work and fixed resource unit + * @Default {ej.Gantt.TaskType.FixedUnit} + */ + taskType?: ej.Gantt.TaskType|string; + + /** Specifies the unit for the work involved in a task and it can be day, hour or minute + * @Default {ej.Gantt.WorkUnit.Hour} + */ + workUnit?: ej.Gantt.WorkUnit|string; + + /** Specifies the task scheduling mode for a project and this will be set to all the tasks available in the project + * @Default {ej.Gantt.TaskSchedulingMode.Auto} + */ + taskSchedulingMode?: ej.Gantt.TaskSchedulingMode|string; + + /** Specifies the row selection type. + * @Default {ej.Gantt.SelectionType.Single} + */ + selectionType?: ej.Gantt.SelectionType|string; + + /** Specifies the background of parent progressbar in Gantt + */ + parentProgressbarBackground?: string; + + /** Specifies the mapping property path for resource's percent effort involved in a task in datasource + */ + resourceUnitMapping?: string; + + /** Specifies the mapping property path for the task description in datasource + */ + notesMapping?: string; + + /** Specifies the mapping property path for the task scheduling mode for a task in datasource + * @Default {auto} + */ + taskSchedulingModeMapping?: string; + + /** Specifies the mapping property path for task duration unit in datasource + */ + durationUnitMapping?: string; + + /** Specifies the background of parent taskbar in Gantt + */ + parentTaskbarBackground?: string; + + /** Specifies the mapping property path for parent task Id in self reference datasource + */ + parentTaskIdMapping?: string; + + /** Specifies the mapping property path for predecessors of a task in datasource + */ + predecessorMapping?: string; + + /** Specifies the background of progressbar in Gantt + */ + progressbarBackground?: string; + + /** Specified the height of the progressbar in taskbar + * @Default {100} + */ + progressbarHeight?: number; + + /** Specifies the template for tooltip on resizing progressbar + * @Default {null} + */ + progressbarTooltipTemplate?: string; + + /** Specifies the template ID for customized tooltip for progressbar editing in Gantt + * @Default {null} + */ + progressbarTooltipTemplateId?: string; + + /** Specifies the mapping property path for progress percentage of a task in datasource + */ + progressMapping?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + * @Default {null} + */ + query?: any; + + /** Enables or Disables rendering baselines in Gantt , when enabled baseline is rendered in Gantt + * @Default {false} + */ + renderBaseline?: boolean; + + /** Enables or disables the schedule date validation while connecting a manually scheduled task with predecessor + * @Default {false} + */ + validateManualTasksOnLinking?: boolean; + + /** Specifies the mapping property name for resource ID in resource Collection in Gantt + */ + resourceIdMapping?: string; + + /** Specifies the mapping property path for resources of a task in datasource + */ + resourceInfoMapping?: string; + + /** Specifies the mapping property path for resource name of a task in Gantt + */ + resourceNameMapping?: string; + + /** Collection of data regarding resources involved in entire project + * @Default {[]} + */ + resources?: Array; + + /** Specifies whether rounding off the day working time edits + * @Default {true} + */ + roundOffDayworkingTime?: boolean; + + /** Specifies the height of a single row in Gantt. Also, we need to set same height in the CSS style with class name e-rowcell. + * @Default {30} + */ + rowHeight?: number; + + /** Specifies end date of the Gantt schedule. By default, end date will be rounded to its next Saturday. + * @Default {null} + */ + scheduleEndDate?: string; + + /** Specifies the options for customizing schedule header. + */ + scheduleHeaderSettings?: ScheduleHeaderSettings; + + /** Specifies start date of the Gantt schedule. By default, start date will be rounded to its previous Sunday. + * @Default {null} + */ + scheduleStartDate?: string; + + /** Specifies the selected row Index in Gantt , the row with given index will highlighted + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Enables or disables the column chooser. + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Specifies the template for cell tooltip + * @Default {true} + */ + showGridCellTooltip?: boolean; + + /** Specifies whether to show grid cell tooltip over expander cell alone. + * @Default {true} + */ + showGridExpandCellTooltip?: boolean; + + /** Specifies whether display task progress inside taskbar. + * @Default {true} + */ + showProgressStatus?: boolean; + + /** Specifies whether to display resource names for a task beside taskbar. + * @Default {true} + */ + showResourceNames?: boolean; + + /** Specifies whether to display task name beside task bar. + * @Default {true} + */ + showTaskNames?: boolean; + + /** Specifies the size option of Gantt control. + */ + sizeSettings?: SizeSettings; + + /** Specifies the selected cell information on rendering Gantt. + */ + selectedCellIndexes?: Array; + + /** Specifies the sorting options for Gantt. + */ + sortSettings?: SortSettings; + + /** Specifies splitter position in Gantt. + * @Default {null} + */ + splitterPosition?: string; + + /** Specifies the mapping property path for start date of a task in datasource + */ + startDateMapping?: string; + + /** Specifies the options for striplines + * @Default {[]} + */ + stripLines?: Array; + + /** Specifies the background of the taskbar in Gantt + */ + taskbarBackground?: string; + + /** Specifies the template script for customized tooltip for taskbar editing in Gantt + */ + taskbarEditingTooltipTemplate?: string; + + /** Specifies the template Id for customized tooltip for taskbar editing in Gantt + */ + taskbarEditingTooltipTemplateId?: string; + + /** Specifies the template for tooltip on mouse action on taskbars + */ + taskbarTooltipTemplate?: string; + + /** To Specify the JsRender script Id to customize the task bar with our preference + */ + taskbarTemplate?: string; + + /** To Specify the JsRender script Id to customize the mile stone with our preference + */ + milestoneTemplate?: string; + + /** Enables or disables Gantt to read-only mode + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies the template id for tooltip on mouse action on taskbars + */ + taskbarTooltipTemplateId?: string; + + /** Specifies the mapping property path for task Id in datasource + */ + taskIdMapping?: string; + + /** Specifies the mapping property path for task name in datasource + */ + taskNameMapping?: string; + + /** Specifies the toolbarSettings options. + */ + toolbarSettings?: ToolbarSettings; + + /** Specifies the tree expander column in Gantt + * @Default {0} + */ + treeColumnIndex?: number; + + /** Specifies the type of selection whether to select row or cell. + * @Default {ej.Gantt.SelectionMode.Row} + */ + selectionMode?: ej.Gantt.SelectionMode|string; + + /** Specifies the weekendBackground color in Gantt + * @Default {#F2F2F2} + */ + weekendBackground?: string; + + /** Specifies the working time schedule of day + * @Default {ej.Gantt.workingTimeScale.TimeScale8Hours} + */ + workingTimeScale?: ej.Gantt.workingTimeScale|string; + + /** Triggered for every Gantt action before its starts. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggered for every Gantt action success event. */ + actionComplete? (e: ActionCompleteEventArgs): void; + + /** Triggered while enter the edit mode in the TreeGrid cell */ + beginEdit? (e: BeginEditEventArgs): void; + + /** Triggered before selecting a cell */ + cellSelecting? (e: CellSelectingEventArgs): void; + + /** Triggered after selected a cell */ + cellSelected? (e: CellSelectedEventArgs): void; + + /** Triggered while dragging a row in Gantt control */ + rowDrag? (e: RowDragEventArgs): void; + + /** Triggered while start to drag row in Gantt control */ + rowDragStart? (e: RowDragStartEventArgs): void; + + /** Triggered while drop a row in Gantt control */ + rowDragStop? (e: RowDragStopEventArgs): void; + + /** Triggered after collapsed the Gantt record */ + collapsed? (e: CollapsedEventArgs): void; + + /** Triggered while collapsing the Gantt record */ + collapsing? (e: CollapsingEventArgs): void; + + /** Triggered while Context Menu is rendered in Gantt control */ + contextMenuOpen? (e: ContextMenuOpenEventArgs): void; + + /** Triggered when Gantt is rendered completely. */ + create? (e: CreateEventArgs): void; + + /** Triggered after save the modified cellValue in Gantt. */ + endEdit? (e: EndEditEventArgs): void; + + /** Triggered after expand the record */ + expanded? (e: ExpandedEventArgs): void; + + /** Triggered while expanding the Gantt record */ + expanding? (e: ExpandingEventArgs): void; + + /** Triggered while Gantt is loaded */ + load? (e: LoadEventArgs): void; + + /** Triggered while rendering each cell in the TreeGrid */ + queryCellInfo? (e: QueryCellInfoEventArgs): void; + + /** Triggered while rendering each taskbar in the Gantt */ + queryTaskbarInfo? (e: QueryTaskbarInfoEventArgs): void; + + /** Triggered while rendering each row */ + rowDataBound? (e: RowDataBoundEventArgs): void; + + /** Triggered after the row is selected. */ + rowSelected? (e: RowSelectedEventArgs): void; + + /** Triggered before the row is going to be selected. */ + rowSelecting? (e: RowSelectingEventArgs): void; + + /** Triggered after completing the editing operation in taskbar */ + taskbarEdited? (e: TaskbarEditedEventArgs): void; + + /** Triggered while editing the Gantt chart (dragging, resizing the taskbar ) */ + taskbarEditing? (e: TaskbarEditingEventArgs): void; + + /** Triggered when taskbar item is clicked in Gantt. */ + taskbarClick? (e: TaskbarClickEventArgs): void; + + /** Triggered when toolbar item is clicked in Gantt. */ + toolbarClick? (e: ToolbarClickEventArgs): void; +} + +export interface ActionBeginEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; + + /** Returns the value of searching element. + */ + keyValue?: string; + + /** Returns the data of deleting element. + */ + data?: string; + + /** Returns selected record index + */ + recordIndex?: number; +} + +export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; + + /** Returns the value of searched element. + */ + keyValue?: string; + + /** Returns the data of deleted element. + */ + data?: string; + + /** Returns selected record index + */ + recordIndex?: number; +} + +export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column Index of cell belongs. + */ + columnIndex?: number; +} + +export interface CellSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; +} + +export interface CellSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; + + /** Returns the previously selected row data + */ + previousData?: any; + + /** Returns the previously selected cell index + */ + previousCellIndex?: any; + + /** Returns the previously selected row index + */ + previousRowIndex?: any; + + /** Returns the previously selected cell element + */ + previousTargetCell?: any; + + /** Returns the previously selected row element + */ + previousTargetRow?: any; +} + +export interface RowDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row on which we are dragging. + */ + targetRow?: any; + + /** Returns the row index on which we are dragging. + */ + targetRowIndex?: number; + + /** Returns that we can drop over that record or not. + */ + canDrop?: boolean; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: boolean; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDragStopEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row which we are dropped to row. + */ + targetRow?: any; + + /** Returns the row index which we are dropped to row. + */ + targetRowIndex?: number; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CollapsedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsed record. + */ + recordIndex?: number; + + /** Returns the data of collapsed record. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; +} + +export interface CollapsingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsing record. + */ + recordIndex?: number; + + /** Returns the data of edited cell record.. + */ + data?: any; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; +} + +export interface ContextMenuOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the default context menu items to which we add custom items. + */ + contextMenuItems?: Array; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Gantt model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface EndEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of edited cell record. + */ + data?: any; + + /** Returns the column name of edited cell belongs. + */ + columnName?: string; + + /** Returns the column object of edited cell belongs. + */ + columnObject?: any; +} + +export interface ExpandedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of record. + */ + recordIndex?: number; + + /** Returns the data of expanded record. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; +} + +export interface ExpandingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of record. + */ + recordIndex?: any; + + /** Returns the data of edited cell record.. + */ + data?: any; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; +} + +export interface LoadEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Gantt model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface QueryCellInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting cell element. + */ + cellElement?: any; + + /** Returns the value of cell. + */ + cellValue?: string; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column of cell belongs. + */ + column?: any; +} + +export interface QueryTaskbarInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the taskbar background of current item. + */ + TaskbarBackground?: string; + + /** Returns the progressbar background of current item. + */ + ProgressbarBackground?: string; + + /** Returns the parent taskbar background of current item. + */ + parentTaskbarBackground?: string; + + /** Returns the parent progressbar background of current item. + */ + parentProgressbarBackground?: string; + + /** Returns the data of the record. + */ + data?: any; +} + +export interface RowDataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of rendering row. + */ + rowElement?: any; + + /** Returns the data of rendering row record.. + */ + data?: any; +} + +export interface RowSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: number; + + /** Returns the data of selected record. + */ + data?: any; +} + +export interface RowSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data selecting record. + */ + data?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: string; + + /** Returns the selecting row chart element. + */ + targetChartRow?: any; + + /** Returns the selecting row grid element. + */ + targetGridRow?: any; + + /** Returns the previous selected data. + */ + previousData?: any; + + /** Returns the previous selected row index. + */ + previousIndex?: string; + + /** Returns the previous selected row chart element. + */ + previousChartRow?: any; + + /** Returns the previous selected row grid element. + */ + previousGridRow?: any; +} + +export interface TaskbarEditedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data of edited record. + */ + data?: any; + + /** Returns the previous data value of edited record. + */ + previousData?: any; + + /** Returns 'true' if taskbar is dragged. + */ + dragging?: boolean; + + /** Returns 'true' if taskbar is left resized. + */ + leftResizing?: boolean; + + /** Returns 'true' if taskbar is right resized. + */ + rightResizing?: boolean; + + /** Returns 'true' if taskbar is progress resized. + */ + progressResizing?: boolean; + + /** Returns the field values of record being edited. + */ + editingFields?: any; + + /** Returns the Gantt model. + */ + model?: any; +} + +export interface TaskbarEditingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the row object being edited. + */ + rowData?: any; + + /** Returns the field values of record being edited. + */ + editingFields?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface TaskbarClickEventArgs { + + /** Returns currently clicked row data + */ + data?: any; + + /** Returns the current item index. + */ + index?: number; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the clicked row element + */ + taskbarElement?: any; + + /** Returns the target element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the name of the toolbar item on which mouse click has been performed + */ + itemName?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DragTooltip { + + /** Specifies option to enable/disable tooltip while drag and drop a row. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the data source fields to be displayed in the drag tooltip. + * @Default {[]} + */ + tooltipItems?: Array; + + /** Specifies the custom template for drag tooltip. + * @Default {null} + */ + tooltipTemplate?: string; +} + +export interface SplitterSettings { + + /** Specifies position of the splitter in Gantt , splitter can be placed either based on percentage values or pixel values. + */ + position?: string; + + /** Specifies the position of splitter in Gantt, based on column index in Gantt. + */ + index?: string; +} + +export interface EditSettings { + + /** Enables or disables add record icon in Gantt toolbar + * @Default {false} + */ + allowAdding?: boolean; + + /** Enables or disables delete icon in Gantt toolbar + * @Default {false} + */ + allowDeleting?: boolean; + + /** Specifies the option for enabling or disabling editing in Gantt grid part + * @Default {false} + */ + allowEditing?: boolean; + + /** Specifies the option for enabling or disabling indent action in Gantt. + * @Default {false} + */ + allowIndent?: boolean; + + /** Specifies the option for enabling or disabling outdent action in Gantt + * @Default {false} + */ + allowOutdent?: boolean; + + /** Specifies the mouse action whether single click or double click to begin the editing + * @Default {ej.Gantt.BeginEditAction.DblClick} + */ + beginEditAction?: ej.Gantt.BeginEditAction|string; + + /** Specifies the edit mode in Gantt, "normal" is for dialog editing ,"cellEditing" is for cell type editing + * @Default {normal} + */ + editMode?: string; + + /** Specifies the position where the new row has to be added. + * @Default {ej.Gantt.RowPosition.BelowSelectedRow} + */ + rowPosition?: ej.Gantt.RowPosition|string; +} + +export interface ScheduleHeaderSettings { + + /** Specified the format for day view in schedule header + * @Default {ddd} + */ + dayHeaderFormat?: string; + + /** Specified the format for Hour view in schedule header + * @Default {HH} + */ + hourHeaderFormat?: string; + + /** Specifies the number of minutes per interval + * @Default {ej.Gantt.minutesPerInterval.Auto} + */ + minutesPerInterval?: ej.Gantt.minutesPerInterval|string; + + /** Specified the format for month view in schedule header + * @Default {MMM} + */ + monthHeaderFormat?: string; + + /** Specifies the schedule mode + * @Default {ej.Gantt.ScheduleHeaderType.Week} + */ + scheduleHeaderType?: ej.Gantt.ScheduleHeaderType|string; + + /** Specifies the round-off mode for the start date in schedule header. + * @Default {ej.Gantt.TimescaleRoundMode.Auto} + */ + timescaleStartDateMode?: ej.Gantt.TimescaleRoundMode|string; + + /** Specified the background for weekends in Gantt + * @Default {#F2F2F2} + */ + weekendBackground?: string; + + /** Specified the format for week view in schedule header + * @Default {ddd} + */ + weekHeaderFormat?: string; + + /** Specified the format for year view in schedule header + * @Default {yyyy} + */ + yearHeaderFormat?: string; + + /** Specifies the size of the lowest time unit along the timescale, with minimum value as "50%" and maximum value as "500%". It is also possible to set the value in pixels. + * @Default {100%} + */ + timescaleUnitSize?: string; + + /** Specifies the start day of the week in week timescale mode + * @Default {0} + */ + weekStartDay?: number; +} + +export interface SizeSettings { + + /** Specifies the height of Gantt control + * @Default {450px} + */ + height?: string; + + /** Specifies the width of Gantt control + * @Default {1000px} + */ + width?: string; +} + +export interface SelectedCellIndex { + + /** Specifies the row index of the cell to be selected Gantt control + */ + rowIndex?: number; + + /** Specifies the cell index to be selected in the row. + * @Default { } + */ + cellIndex?: number; +} + +export interface SortSettings { + + /** Specifies the sorted columns for Gantt + * @Default {[]} + */ + sortedColumns?: Array; +} + +export interface ToolbarSettingsCustomToolbarItem { + + /** Allows the user to insert the custom icons in toolbar using CSS class name selector. + */ + text?: string; + + /** Allows the user to insert the custom icons in toolbar using script templates. Using this property we can bind HTML elements and other EJ controls to Gantt toolbar. + */ + templateID?: string; + + /** Allows the user to display custom tooltip text for Gantt custom toolbar items. + */ + tooltipText?: string; +} + +export interface ToolbarSettings { + + /** Specifies the state of enabling or disabling toolbar + * @Default {true} + */ + showToolbar?: boolean; + + /** Specifies the list of toolbar items to be rendered in Gantt toolbar + * @Default {[]} + */ + toolbarItems?: Array; + + /** Allows the user to insert custom toolbar items. + */ + customToolbarItems?: Array; +} + +enum DurationUnit{ + + ///Sets the Duration Unit as day. + Day, + + ///Sets the Duration Unit as hour. + Hour, + + ///Sets the Duration Unit as minute. + Minute +} + + +enum BeginEditAction{ + + ///you can begin the editing at double click + DblClick, + + ///you can begin the editing at single click + Click +} + + +enum RowPosition{ + + ///you can add a new row at top. + Top, + + ///you can add a new row at bottom. + Bottom, + + ///you can add a new row to above selected row. + AboveSelectedRow, + + ///you can add a new row to below selected row. + BelowSelectedRow, + + ///you can add a new row as a child for selected row. + Child +} + + +enum TaskType{ + + ///Resource unit remains constant while editing the work and duration values. + FixedUnit, + + ///Work value of a task remains constant while editing duration and resource unit values. + FixedWork, + + ///Duration value remains constant while editing work and resource unit values. + FixedDuration +} + + +enum WorkUnit{ + + ///Displays the work involved in a task in days. + Day, + + ///Displays the work involved in a task in hours. + Hour, + + ///Displays the work involved in a task in minutes + Minute +} + + +enum TaskSchedulingMode{ + + ///All the tasks in the project will be displayed in auto scheduled mode, where the tasks are scheduled automatically over non-working days and holidays. + Auto, + + ///All the tasks in the project will be displayed in manually scheduled mode. + Manual, + + ///Project consists of tasks with both auto and manually scheduled modes, based on the datasource values + Custom +} + + +enum SelectionType{ + + ///you can select a single row. + Single, + + ///you can select a multiple row. + Multiple +} + + +enum minutesPerInterval{ + + ///Sets the interval automatically according with schedule start and end date. + Auto, + + ///Sets one minute intervals per hour. + OneMinute, + + ///Sets Five minute intervals per hour. + FiveMinutes, + + ///Sets fifteen minute intervals per hour. + FifteenMinutes, + + ///Sets thirty minute intervals per hour. + ThirtyMinutes +} + + +enum ScheduleHeaderType{ + + ///Sets year Schedule Mode. + Year, + + ///Sets month Schedule Mode. + Month, + + ///Sets week Schedule Mode. + Week, + + ///Sets day Schedule Mode. + Day, + + ///Sets hour Schedule Mode. + Hour +} + + +enum TimescaleRoundMode{ + + ///The round-off value will be automatically calculated based on the data source values. + Auto, + + ///Schedule header start date will round-off to the immediate week. + Week, + + ///Schedule headers start date will round off to the immediate month + Month, + + ///Schedule headers start date will round off to the immediate year + Year +} + + +enum SelectionMode{ + + ///you can select a row. + Row, + + ///you can select a cell. + Cell +} + + +enum workingTimeScale{ + + ///Sets eight hour timescale. + TimeScale8Hours, + + ///Sets twenty four hour timescale. + TimeScale24Hours +} + +} + +class ReportViewer extends ej.Widget { + static fn: ReportViewer; + constructor(element: JQuery, options?: ReportViewer.Model); + constructor(element: Element, options?: ReportViewer.Model); + static Locale: any; + model:ReportViewer.Model; + defaults:ReportViewer.Model; + + /** Export the report to the specified format. + * @returns {void} + */ + exportReport(): void; + + /** Fit the report page to the container. + * @returns {void} + */ + fitToPage(): void; + + /** Fit the report page height to the container. + * @returns {void} + */ + fitToPageHeight(): void; + + /** Fit the report page width to the container. + * @returns {void} + */ + fitToPageWidth(): void; + + /** Get the available datasets name of the rdlc report. + * @returns {void} + */ + getDataSetNames(): void; + + /** Get the available parameters of the report. + * @returns {void} + */ + getParameters(): void; + + /** Navigate to first page of report. + * @returns {void} + */ + gotoFirstPage(): void; + + /** Navigate to last page of the report. + * @returns {void} + */ + gotoLastPage(): void; + + /** Navigate to next page from the current page. + * @returns {void} + */ + gotoNextPage(): void; + + /** Go to specific page index of the report. + * @returns {void} + */ + gotoPageIndex(): void; + + /** Navigate to previous page from the current page. + * @returns {void} + */ + gotoPreviousPage(): void; + + /** Print the report. + * @returns {void} + */ + print(): void; + + /** Apply print layout to the report. + * @returns {void} + */ + printLayout(): void; + + /** Refresh the report. + * @returns {void} + */ + refresh(): void; +} +export module ReportViewer{ + +export interface Model { + + /** Gets or sets the list of data sources for the RDLC report. + * @Default {[]} + */ + dataSources?: Array; + + /** Enables or disables the page cache of report. + * @Default {false} + */ + enablePageCache?: Boolean; + + /** Specifies the export settings. + */ + exportSettings?: ExportSettings; + + /** When set to true, adapts the report layout to fit the screen size of devices on which it renders. + * @Default {true} + */ + isResponsive?: Boolean; + + /** Specifies the locale for report viewer. + * @Default {en-US} + */ + locale?: String; + + /** Specifies the page settings. + */ + pageSettings?: PageSettings; + + /** Gets or sets the list of parameters associated with the report. + * @Default {[]} + */ + parameters?: Array; + + /** Enables and disables the print mode. + * @Default {false} + */ + printMode?: Boolean; + + /** Specifies the print option of the report. + * @Default {ej.ReportViewer.PrintOptions.Default} + */ + printOptions?: ej.ReportViewer.PrintOptions|string; + + /** Specifies the processing mode of the report. + * @Default {ej.ReportViewer.ProcessingMode.Remote} + */ + processingMode?: ej.ReportViewer.ProcessingMode|string; + + /** Specifies the render layout. + * @Default {ej.ReportViewer.RenderMode.Default} + */ + renderMode?: ej.ReportViewer.RenderMode|string; + + /** Gets or sets the path of the report file. + * @Default {empty} + */ + reportPath?: String; + + /** Gets or sets the reports server URL. + * @Default {empty} + */ + reportServerUrl?: String; + + /** Specifies the report Web API service URL. + * @Default {empty} + */ + reportServiceUrl?: String; + + /** Specifies the toolbar settings. + */ + toolbarSettings?: ToolbarSettings; + + /** Gets or sets the zoom factor for report viewer. + * @Default {1} + */ + zoomFactor?: Number; + + /** Fires when the report viewer is destroyed successfully.If you want to perform any operation after destroying the reportviewer control,you can make use of the destroy event. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires during drill through action done in report.If you want to perform any operation when a drill through action is performed, you can make use of the drillThrough event. */ + drillThrough? (e: DrillThroughEventArgs): void; + + /** Fires before report rendering is completed.If you want to perform any operation before the rendering of report,you can make use of the renderingBegin event. */ + renderingBegin? (e: RenderingBeginEventArgs): void; + + /** Fires after report rendering completed.If you want to perform any operation after the rendering of report,you can make use of this renderingComplete event. */ + renderingComplete? (e: RenderingCompleteEventArgs): void; + + /** Fires when any error occurred while rendering the report.If you want to perform any operation when an error occurs in the report, you can make use of the reportError event. */ + reportError? (e: ReportErrorEventArgs): void; + + /** Fires when the report is being exported.If you want to perform any operation before exporting of report, you can make use of the reportExport event. */ + reportExport? (e: ReportExportEventArgs): void; + + /** Fires when the report is loaded.If you want to perform any operation after the successful loading of report, you can make use of the reportLoaded event. */ + reportLoaded? (e: ReportLoadedEventArgs): void; + + /** Fires when click the View Report Button. */ + viewReportClick? (e: ViewReportClickEventArgs): void; +} + +export interface DestroyEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DrillThroughEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the actionInfo's parameters bookmarkLink, hyperLink, reportName, parameters. + */ + actionInfo?: any; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface RenderingBeginEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface RenderingCompleteEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the collection of parameters. + */ + reportParameters?: any; +} + +export interface ReportErrorEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the error details. + */ + error?: string; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ReportExportEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ReportLoadedEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface ViewReportClickEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the parameter collection. + */ + parameters?: any; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; +} + +export interface DataSource { + + /** Gets or sets the name of the data source. + * @Default {empty} + */ + name?: String; + + /** Gets or sets the values of data source. + * @Default {[]} + */ + values?: Array; +} + +export interface ExportSettings { + + /** Specifies the export formats. + * @Default {ej.ReportViewer.ExportOptions.All} + */ + exportOptions?: ej.ReportViewer.ExportOptions|string; + + /** Specifies the excel export format. + * @Default {ej.ReportViewer.ExcelFormats.Excel97to2003} + */ + excelFormat?: ej.ReportViewer.ExcelFormats|string; + + /** Specifies the word export format. + * @Default {ej.ReportViewer.WordFormats.Doc} + */ + wordFormat?: ej.ReportViewer.WordFormats|string; +} + +export interface PageSettings { + + /** Specifies the print layout orientation. + * @Default {null} + */ + orientation?: ej.ReportViewer.Orientation|string; + + /** Specifies the paper size of print layout. + * @Default {null} + */ + paperSize?: ej.ReportViewer.PaperSize|string; +} + +export interface Parameter { + + /** Gets or sets the parameter labels. + * @Default {null} + */ + labels?: Array; + + /** Gets or sets the name of the parameter. + * @Default {empty} + */ + name?: String; + + /** Gets or sets whether the parameter allows nullable value or not. + * @Default {false} + */ + nullable?: Boolean; + + /** Gets or sets the prompt message associated with the specified parameter. + * @Default {empty} + */ + prompt?: String; + + /** Gets or sets the parameter values. + * @Default {[]} + */ + values?: Array; +} + +export interface ToolbarSettings { + + /** Fires when user click on toolbar item in the toolbar. + * @Default {empty} + */ + click?: String; + + /** Specifies the toolbar items. + * @Default {ej.ReportViewer.ToolbarItems.All} + */ + items?: ej.ReportViewer.ToolbarItems|string; + + /** Shows or hides the toolbar. + * @Default {true} + */ + showToolbar?: Boolean; + + /** Shows or hides the tooltip of toolbar items. + * @Default {true} + */ + showTooltip?: Boolean; + + /** Specifies the toolbar template ID. + * @Default {empty} + */ + templateId?: String; +} + +enum ExportOptions{ + + ///Specifies the All property in ExportOptions to get all available options. + All, + + ///Specifies the PDF property in ExportOptions to get PDF option. + PDF, + + ///Specifies the Word property in ExportOptions to get Word option. + Word, + + ///Specifies the Excel property in ExportOptions to get Excel option. + Excel, + + ///Specifies the HTML property in ExportOptions to get HTML option. + HTML +} + + +enum ExcelFormats{ + + ///Specifies the Excel97to2003 property in ExcelFormats to get specified version of exported format. + Excel97to2003, + + ///Specifies the Excel2007 property in ExcelFormats to get specified version of exported format. + Excel2007, + + ///Specifies the Excel2010 property in ExcelFormats to get specified version of exported format. + Excel2010, + + ///Specifies the Excel2013 property in ExcelFormats to get specified version of exported format. + Excel2013 +} + + +enum WordFormats{ + + ///Specifies the Doc property in WordFormats to get specified version of exported format. + Doc, + + ///Specifies the Dot property in WordFormats to get specified version of exported format. + Dot, + + ///Specifies the DOCX property in WordFormats to get specified version of exported format. + DOCX, + + ///Specifies the Word2007 property in WordFormats to get specified version of exported format. + Word2007, + + ///Specifies the Word2010 property in WordFormats to get specified version of exported format. + Word2010, + + ///Specifies the Word2013 property in WordFormats to get specified version of exported format. + Word2013, + + ///Specifies the Word2007Dotx property in WordFormats to get specified version of exported format. + Word2007Dotx, + + ///Specifies the Word2010Dotx property in WordFormats to get specified version of exported format. + Word2010Dotx, + + ///Specifies the Word2013Dotx property in WordFormats to get specified version of exported format. + Word2013Dotx, + + ///Specifies the Word2007Docm property in WordFormats to get specified version of exported format. + Word2007Docm, + + ///Specifies the Word2010Docm property in WordFormats to get specified version of exported format. + Word2010Docm, + + ///Specifies the Word2013Docm property in WordFormats to get specified version of exported format. + Word2013Docm, + + ///Specifies the Word2007Dotm property in WordFormats to get specified version of exported format. + Word2007Dotm, + + ///Specifies the Word2010Dotm property in WordFormats to get specified version of exported format. + Word2010Dotm, + + ///Specifies the Word2013Dotm property in WordFormats to get specified version of exported format. + Word2013Dotm, + + ///Specifies the RTF property in WordFormats to get specified version of exported format. + RTF, + + ///Specifies the Txt property in WordFormats to get specified version of exported format. + Txt, + + ///Specifies the EPUB property in WordFormats to get specified version of exported format. + EPUB, + + ///Specifies the HTML property in WordFormats to get specified version of exported format. + HTML, + + ///Specifies the XML property in WordFormats to get specified version of exported format. + XML, + + ///Specifies the Automatic property in WordFormats to get specified version of exported format. + Automatic +} + + +enum Orientation{ + + ///Specifies the Landscape property in pageSettings.orientation to get specified layout. + Landscape, + + ///Specifies the portrait property in pageSettings.orientation to get specified layout. + Portrait +} + + +enum PaperSize{ + + ///Specifies the A3 as value in pageSettings.paperSize to get specified size. + A3, + + ///Specifies the A4 as value in pageSettings.paperSize to get specified size. + Portrait, + + ///Specifies the B4(JIS) as value in pageSettings.paperSize to get specified size. + B4_JIS, + + ///Specifies the B5(JIS) as value in pageSettings.paperSize to get specified size. + B5_JIS, + + ///Specifies the Envelope #10 as value in pageSettings.paperSize to get specified size. + Envelope_10, + + ///Specifies the Envelope as value in pageSettings.paperSize to get specified size. + Envelope_Monarch, + + ///Specifies the Executive as value in pageSettings.paperSize to get specified size. + Executive, + + ///Specifies the Legal as value in pageSettings.paperSize to get specified size. + Legal, + + ///Specifies the Letter as value in pageSettings.paperSize to get specified size. + Letter, + + ///Specifies the Tabloid as value in pageSettings.paperSize to get specified size. + Tabloid, + + ///Specifies the Custom as value in pageSettings.paperSize to get specified size. + Custom +} + + +enum PrintOptions{ + + ///Specifies the Default property in printOptions. + Default, + + ///Specifies the NewTab property in printOptions. + NewTab, + + ///Specifies the None property in printOptions. + None +} + + +enum ProcessingMode{ + + ///Specifies the Remote property in processingMode. + Remote, + + ///Specifies the Local property in processingMode. + Local +} + + +enum RenderMode{ + + ///Specifies the Default property in RenderMode to get default output. + Default, + + ///Specifies the Mobile property in RenderMode to get specified output. + Mobile, + + ///Specifies the Desktop property in RenderMode to get specified output. + Desktop +} + + +enum ToolbarItems{ + + ///Specifies the Print as value in ToolbarItems to get specified item. + Print, + + ///Specifies the Refresh as value in ToolbarItems to get specified item. + Refresh, + + ///Specifies the Zoom as value in ToolbarItems to get specified item. + Zoom, + + ///Specifies the FittoPage as value in ToolbarItems to get specified item. + FittoPage, + + ///Specifies the Export as value in ToolbarItems to get specified item. + Export, + + ///Specifies the PageNavigation as value in ToolbarItems to get specified item. + PageNavigation, + + ///Specifies the Parameters as value in ToolbarItems to get specified item. + Parameters, + + ///Specifies the PrintLayout as value in ToolbarItems to get specified item. + PrintLayout, + + ///Specifies the PageSetup as value in ToolbarItems to get specified item. + PageSetup +} + +} + +class TreeGrid extends ej.Widget { + static fn: TreeGrid; + constructor(element: JQuery, options?: TreeGrid.Model); + constructor(element: Element, options?: TreeGrid.Model); + static Locale: any; + model:TreeGrid.Model; + defaults:TreeGrid.Model; + + /** Add a new row in TreeGrid, while allowAdding is set to true + * @param {any} Item to add in TreeGrid row. + * @param {string} Defines in which position the row wants to be added + * @returns {void} + */ + addRow(data: any, rowPosition: string): void; + + /** To clear all the selection in TreeGrid + * @param {number} you can pass a row index to clear the row selection. + * @returns {void} + */ + clearSelection(index: number): void; + + /** To select cell based on the cell and row index dynamically. + * @param {Array} array of cell indexes to be select + * @param {boolean} Defines that we need to preserve the previously selected cells or not + * @returns {void} + */ + selectCells(Indexes: Array, preservePreviousSelectedCell: boolean): void; + + /** To rename a column with the specified name + * @param {number} Index of the column to be renamed + * @param {string} Header text of the column + * @returns {void} + */ + renameColumn(columnIndex: number, name: string): void; + + /** To delete the specified column + * @param {number} Index of the column to be deleted + * @returns {void} + */ + deleteColumn(columnIndex: number): void; + + /** To collapse all the parent items in tree grid + * @returns {void} + */ + collapseAll(): void; + + /** To hide the column by using header text + * @param {string} you can pass a header text of a column to hide. + * @returns {void} + */ + hideColumn(headerText: string): void; + + /** Expands the records at specific hierarchical level + * @param {number} you can pass the level as index number to expand + * @returns {void} + */ + expandAtLevel(index: number): void; + + /** Collapses the records at specific hierarchical level + * @param {number} you can pass the particular level as index. + * @returns {void} + */ + collapseAtLevel(index: number): void; + + /** To refresh the changes in tree grid + * @param {Array} Pass which data source you want to show in tree grid + * @param {any} Pass which data you want to show in tree grid + * @returns {void} + */ + refresh(dataSource: Array, query: any): void; + + /** Freeze all the columns preceding to the column specified by the field name. + * @param {string} Freeze all Columns before this field column. + * @returns {void} + */ + freezePrecedingColumns(field: string): void; + + /** Freeze/unfreeze the specified column. + * @param {string} Freeze/Unfreeze this field column. + * @param {boolean} Decides to Freeze/Unfreeze this field column. + * @returns {void} + */ + freezeColumn(field: string, isFrozen: boolean): void; + + /** To save the edited cell in TreeGrid + * @returns {void} + */ + saveCell(): void; + + /** To search an item with search string provided at the run time + * @param {string} you can pass a searchString to search the tree grid + * @returns {void} + */ + search(searchString: string): void; + + /** To show the column by using header text + * @param {string} you can pass a header text of a column to show. + * @returns {void} + */ + showColumn(headerText: string): void; + + /** To sorting the data based on the particular fields + * @param {string} you can pass a name of column to sort. + * @param {string} you can pass a sort direction to sort the column. + * @returns {void} + */ + sortColumn(columnName: string, columnSortDirection: string): void; + + /** To reorder the column with field name and target index values + * @param {string} you can pass a name of column to reorder. + * @param {string} you can pass a target column index to be inserted. + * @returns {void} + */ + reorderColumn(fieldName: string, targetIndex: string): void; +} +export module TreeGrid{ + +export interface Model { + + /** Enables or disables the ability to resize the column width interactively. + * @Default {false} + */ + allowColumnResize?: boolean; + + /** Enables or disables the option for column reordering + * @Default {false} + */ + allowColumnReordering?: boolean; + + /** Enables or disables the ability to drag and drop the row interactively to reorder the rows. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Enables or disables the ability to filter the data on all the columns. Enabling this property will display a row with editor controls corresponding to each column. You can restrict filtering on particular column by disabling this property directly on that column instance itself. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Enables or disables keyboard navigation. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Enables or disables the ability to sort the rows based on multiple columns/fields by clicking on each column header. Rows will be sorted recursively on clicking the column headers. + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** Enables or disables the ability to select a row interactively. + * @Default {true} + */ + allowSelection?: boolean; + + /** Enables or disables the ability to sort the rows based on a single field/column by clicking on that column header. When enabled, rows can be sorted only by single field/column. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables/disables pagination of rows in TreeGrid + * @Default {false} + */ + allowPaging?: boolean; + + /** Specifies the id of the template that has to be applied for alternate rows. + */ + altRowTemplateID?: string; + + /** Specifies the mapping property path for the expand status of a record in data source. + */ + expandStateMapping?: string; + + /** Specifies the mapping property path for sub tasks in datasource + */ + childMapping?: string; + + /** Option for adding columns; each column has the option to bind to a field in the dataSource. + */ + columns?: Array; + + /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. + * @Default {[]} + */ + columnDialogFields?: Array; + + /** Options for displaying and customizing context menu items. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Specify the CSS class for TreeGrid to achieve custom theme. + */ + cssClass?: string; + + /** Specifies hierarchical or self-referential data to populate the TreeGrid. + * @Default {null} + */ + dataSource?: Array; + + /** Specifies whether to wrap the header text when it is overflown i.e., when it exceeds the header width. + * @Default {none} + */ + headerTextOverflow?: string; + + /** Options for displaying and customizing the tooltip. This tooltip will show the preview of the row that is being dragged. + */ + dragTooltip?: DragTooltip; + + /** Options for enabling and configuring the editing related operations. + */ + editSettings?: EditSettings; + + /** Specifies whether to render alternate rows in different background colors. + * @Default {true} + */ + enableAltRow?: boolean; + + /** Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time. + * @Default {false} + */ + enableCollapseAll?: boolean; + + /** Specifies whether to resize TreeGrid whenever window size changes. + * @Default {false} + */ + enableResize?: boolean; + + /** Specifies whether to render only the visual elements that are visible in the UI. When you enable this property, it will reduce the loading time for loading large number of records. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the settings for column resize + */ + columnResizeSettings?: ColumnResizeSettings; + + /** Options for filtering and customizing filter actions. + */ + filterSettings?: FilterSettings; + + /** Specifies the localization information to customize the User Interface (UI) to support regional language and culture + * @Default {en-US} + */ + locale?: string; + + /** Enables or disables internal parsing of a row. When disabled this property, row will be displayed using the defined template without any internal event bindings. + * @Default {true} + */ + parseRowTemplate?: boolean; + + /** Specifies the name of the field in the dataSource, which contains the id of that row. + */ + idMapping?: string; + + /** Enables or disables the responsiveness of TreeGrid + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the name of the field in the dataSource, which contains the parent's id. This is necessary to form a parent-child hierarchy, if the dataSource contains self-referential data. + */ + parentIdMapping?: string; + + /** Specifies the options for customizing the pager. + */ + pageSettings?: PageSettings; + + /** Specifies the template for cell tooltip + * @Default {null} + */ + cellTooltipTemplate?: string; + + /** Specifies ej.Query to select data from the dataSource. This property is applicable only when the dataSource is ej.DataManager. + * @Default {null} + */ + query?: any; + + /** Specifies the height of a single row in tree grid. Also, we need to set same height in the CSS style with class name e-rowcell. + * @Default {30} + */ + rowHeight?: number; + + /** Specifies the id of the template to be applied for all the rows. + */ + rowTemplateID?: string; + + /** Specifies the index of the selected row. + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Specifies the settings for row and cell selection. + */ + selectionSettings?: SelectionSettings; + + /** Enables/disables the options for inserting , deleting and renaming columns. + * @Default {false} + */ + showColumnOptions?: boolean; + + /** Controls the visibility of the menu button, which is displayed on the column header. Clicking on this button will show a popup menu. When you choose Columns item from this popup, a list box with column names will be shown, from which you can select/deselect a column name to control the visibility of the respective columns. + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Specifies the visibility of details view + * @Default {false} + */ + showDetailsRow?: boolean; + + /** Specifies the visibility of the expander column which is used to expand or collapse the details view + * @Default {false} + */ + showDetailsRowInfoColumn?: boolean; + + /** Specifies the template for details view + */ + detailsTemplate?: string; + + /** Specifies the row height of the details view + * @Default {100} + */ + detailsRowHeight?: number; + + /** Specifies the visibility of summary row + * @Default {false} + */ + showSummaryRow?: boolean; + + /** Specifies the visibility of total summary row for the corresponding summary column + * @Default {false} + */ + showTotalSummary?: boolean; + + /** Specifies the summary row collection object to be displayed + * @Default {[]} + */ + summaryRows?: Array; + + /** Specifies whether to show tooltip when mouse is hovered on the cell. + * @Default {true} + */ + showGridCellTooltip?: boolean; + + /** Specifies whether to show tooltip for the cells, which has expander button. + * @Default {true} + */ + showGridExpandCellTooltip?: boolean; + + /** Options for setting width and height for TreeGrid. + */ + sizeSettings?: SizeSettings; + + /** Options for sorting the rows. + */ + sortSettings?: SortSettings; + + /** Options for displaying and customizing the toolbar items. + */ + toolbarSettings?: ToolbarSettings; + + /** Specifies the index of the column that needs to have the expander button. By default, cells in the first column contain the expander button. + * @Default {0} + */ + treeColumnIndex?: number; + + /** Triggered before every success event of TreeGrid action. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggered for every TreeGrid action success event. */ + actionComplete? (e: ActionCompleteEventArgs): void; + + /** Triggered while enter the edit mode in the TreeGrid cell */ + beginEdit? (e: BeginEditEventArgs): void; + + /** Triggered after collapsed the TreeGrid record */ + collapsed? (e: CollapsedEventArgs): void; + + /** Triggered while collapsing the TreeGrid record */ + collapsing? (e: CollapsingEventArgs): void; + + /** Triggered while clicking a row, even when allowSelection property is disabled. */ + recordClick? (e: RecordClickEventArgs): void; + + /** Triggered when you start to drag a column */ + columnDragStart? (e: ColumnDragStartEventArgs): void; + + /** Triggered while dragging a column */ + columnDrag? (e: ColumnDragEventArgs): void; + + /** Triggered when a column is dropped */ + columnDrop? (e: ColumnDropEventArgs): void; + + /** Triggered after a column resized */ + columnResized? (e: ColumnResizedEventArgs): void; + + /** Triggered while start to resize a column */ + columnResizeStart? (e: ColumnResizeStartEventArgs): void; + + /** Triggered when a column has been resized */ + columnResizeEnd? (e: ColumnResizeEndEventArgs): void; + + /** Triggered while Context Menu is rendered in TreeGrid control */ + contextMenuOpen? (e: ContextMenuOpenEventArgs): void; + + /** Triggered when TreeGrid is rendered completely */ + create? (e: CreateEventArgs): void; + + /** Triggered after saved the modified cellValue in TreeGrid */ + endEdit? (e: EndEditEventArgs): void; + + /** Triggered after expand the record */ + expanded? (e: ExpandedEventArgs): void; + + /** Triggered while expanding the TreeGrid record */ + expanding? (e: ExpandingEventArgs): void; + + /** Triggered while Treegrid is loaded */ + load? (e: LoadEventArgs): void; + + /** Triggered while rendering each cell in the TreeGrid */ + queryCellInfo? (e: QueryCellInfoEventArgs): void; + + /** Triggered while rendering each row */ + rowDataBound? (e: RowDataBoundEventArgs): void; + + /** Triggered while dragging a row in TreeGrid control */ + rowDrag? (e: RowDragEventArgs): void; + + /** Triggered while start to drag row in TreeGrid control */ + rowDragStart? (e: RowDragStartEventArgs): void; + + /** Triggered while drop a row in TreeGrid control */ + rowDragStop? (e: RowDragStopEventArgs): void; + + /** Triggered before selecting a cell */ + cellSelecting? (e: CellSelectingEventArgs): void; + + /** Triggered after selected a cell */ + cellSelected? (e: CellSelectedEventArgs): void; + + /** Triggered after the row is selected. */ + rowSelected? (e: RowSelectedEventArgs): void; + + /** Triggered before the row is going to be selected. */ + rowSelecting? (e: RowSelectingEventArgs): void; + + /** Triggered when toolbar item is clicked in TreeGrid. */ + toolbarClick? (e: ToolbarClickEventArgs): void; +} + +export interface ActionBeginEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the direction of sorting ascending or descending. + */ + columnSortDirection?: string; + + /** Returns the value of expanding parent element. + */ + keyValue?: string; + + /** Returns the data or deleting element. + */ + data?: string; +} + +export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; + + /** Returns the value of searched element. + */ + keyValue?: string; + + /** Returns the data of deleted element. + */ + data?: string; + + /** Returns selected record index + */ + recordIndex?: number; +} + +export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column Index of cell belongs. + */ + columnIndex?: number; +} + +export interface CollapsedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsed record. + */ + recordIndex?: number; + + /** Returns the data of collapsed record.. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + + /** Returns the event type. + */ + type?: string; +} + +export interface CollapsingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsing record. + */ + recordIndex?: number; + + /** Returns the data of collapsing record.. + */ + data?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns state of a record whether it is in expanded or collapsing state. + */ + expanded?: boolean; +} + +export interface RecordClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the element of clicked cell. + */ + cell?: any; + + /** Returns the index of the clicked cell. + */ + cellIndex?: number; + + /** Returns the data of clicked cell. + */ + cellValue?: any; + + /** Returns the element of the clicked row. + */ + row?: any; + + /** Returns the index of the clicked row. + */ + rowIndex?: number; + + /** Returns the column name of the clicked cell. + */ + columnName?: string; +} + +export interface ColumnDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is dragged + */ + draggedColumn?: any; + + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; +} + +export interface ColumnDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is dragged + */ + draggedColumn?: any; + + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; + + /** Returns the target column data + */ + targetColumn?: any; + + /** Returns the index of the target column + */ + targetColumnIndex?: number; + + /** Returns that we can drop over the column or not. + */ + canDrop?: boolean; +} + +export interface ColumnDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is dragged + */ + draggedColumn?: any; + + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; + + /** Returns the target column data + */ + targetColumn?: any; + + /** Returns the index of the target column + */ + targetColumnIndex?: number; +} + +export interface ColumnResizedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is resized + */ + column?: any; + + /** Returns the index of the column being resized. + */ + columnIndex?: number; + + /** Returns resized column width after resized. + */ + newWidth?: number; + + /** Returns resized column width before resizing + */ + oldWidth?: number; +} + +export interface ColumnResizeStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data in which the resizing started + */ + column?: any; + + /** Returns the column index in which the resizing started + */ + columnIndex?: number; + + /** Returns column width before dragging + */ + oldWidth?: number; + + /** Returns initial column element object. + */ + target?: any; +} + +export interface ColumnResizeEndEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data in which the resizing started + */ + column?: any; + + /** Returns the column index in which the resizing started + */ + columnIndex?: number; + + /** Returns the column width difference, before and after the resizing + */ + extra?: number; + + /** Returns the new column width after resized + */ + newWidth?: number; + + /** Returns column width before dragging + */ + oldWidth?: number; + + /** Returns initial column element object. + */ + target?: any; +} + +export interface ContextMenuOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the default context menu items to which we add custom items. + */ + contextMenuItems?: Array; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the TreeGrid model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface EndEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of edited cell record. + */ + data?: any; + + /** Returns the column name of edited cell belongs. + */ + columnName?: string; + + /** Returns the column object of edited cell belongs. + */ + columnObject?: any; +} + +export interface ExpandedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of expanded record. + */ + recordIndex?: number; + + /** Returns the data of expanded record.. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or expanded state. + */ + expanded?: boolean; + + /** Returns the event type. + */ + type?: string; +} + +export interface ExpandingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of expanding record. + */ + recordIndex?: number; + + /** Returns the data of expanding record.. + */ + data?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; +} + +export interface LoadEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the TreeGrid model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface QueryCellInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting cell element. + */ + cellElement?: any; + + /** Returns the value of cell. + */ + cellValue?: string; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column of cell belongs. + */ + column?: any; +} + +export interface RowDataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of rendering row. + */ + rowElement?: any; + + /** Returns the data of rendering row record. + */ + data?: any; +} + +export interface RowDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row on which we are dragging. + */ + targetRow?: any; + + /** Returns the row index on which we are dragging. + */ + targetRowIndex?: number; + + /** Returns that we can drop over that record or not. + */ + canDrop?: boolean; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: boolean; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface RowDragStopEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row which we are dropped to row. + */ + targetRow?: any; + + /** Returns the row index which we are dropped to row. + */ + targetRowIndex?: number; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CellSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; +} + +export interface CellSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; + + /** Returns the previously selected row data + */ + previousData?: any; + + /** Returns the previously selected cell index + */ + previousCellIndex?: any; + + /** Returns the previously selected row index + */ + previousRowIndex?: any; + + /** Returns the previously selected cell element + */ + previousTargetCell?: any; + + /** Returns the previously selected row element + */ + previousTargetRow?: any; +} + +export interface RowSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: number; + + /** Returns the data of selected record. + */ + data?: any; + + /** Returns the event type. + */ + type?: string; +} + +export interface RowSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data selecting record. + */ + data?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: string; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the previous selected data. + */ + previousData?: any; + + /** Returns the previous selected row index. + */ + previousIndex?: string; + + /** Returns the previous selected row element. + */ + previousTreeGridRow?: any; +} + +export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns the name of the toolbar item on which mouse click has been performed + */ + itemName?: string; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface Column { + + /** Enables or disables the ability to filter the rows based on this column. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Enables or disables the ability to sort the rows based on this column/field. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables/disables cell selection. + * @Default {false} + */ + allowCellSelection?: boolean; + + /** Specifies the edit type of the column. + * @Default {ej.TreeGrid.EditingType.String} + */ + editType?: ej.TreeGrid.EditingType|string; + + /** Specifies the name of the field from the dataSource to bind with this column. + */ + field?: string; + + /** Specifies the template string of the script element to enable column template for a column. + */ + template?: string; + + /** Specifies the template ID of the script element to enable column template for a column. + */ + templateID?: string; + + /** Specifies the template ID or the template string of the AngularJS script element to enable column template for a column. + */ + angularTemplate?: string; + + /** Specifies the type of the editor control to be used to filter the rows. + * @Default {ej.TreeGrid.EditingType.String} + */ + filterEditType?: ej.TreeGrid.EditingType|string; + + /** Header text of the column. + * @Default {null} + */ + headerText?: string; + + /** Gets or sets a value that indicates to display a column value as checkbox or string + * @Default {false} + */ + displayAsCheckbox?: boolean; + + /** Enables or disables the checkbox visibility in a column for checkbox selection. + * @Default {false} + */ + showCheckbox?: boolean; + + /** Controls the visibility of the column. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets a value for treegrid column width + */ + width?: Number; + + /** Specifies the header template value for the column header + */ + headerTemplateID?: String; + + /** Specifies the display format of a column + * @Default {null} + */ + format?: any; + + /** Specifies whether the column is a template column + * @Default {false} + */ + isTemplateColumn?: boolean; + + /** Specifies the alignment of the column header text + * @Default {ej.TextAlign.Left} + */ + headerTextAlign?: ej.TextAlign|string; + + /** Specifies whether the column is frozen + * @Default {false} + */ + isFrozen?: boolean; + + /** Specifies the text alignment for the column + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign|string; + + /** Enables or disables the ability to edit a row or cell. + * @Default {false} + */ + allowEditing?: boolean; + + /** We can include or exclude particular column from column visibility list in column menu. + * @Default {true} + */ + showInColumnChooser?: boolean; + + /** Sets the clip mode for TreeGrid cell as ellipsis or clipped content(both header and content) + * @Default {ej.TreeGrid.ClipMode.Clip} + */ + clipMode?: ej.TreeGrid.ClipMode|string; + + /** Sets the tooltip template for the specific column. + * @Default {null} + */ + tooltip?: string; + + /** Sets the tooltip template for the column header + * @Default {null} + */ + headerTooltip?: string; + + /** specifies the conditions for saving data to the database while adding or editing the fields. + */ + validationRules?: any; + + /** Enables or disables the ability to freeze/unfreeze the columns + * @Default {false} + */ + allowFreezing?: boolean; +} + +export interface ContextMenuSettings { + + /** Option for adding items to context menu. + * @Default {[]} + */ + contextMenuItems?: Array; + + /** Shows/hides the context menu. + * @Default {false} + */ + showContextMenu?: boolean; +} + +export interface DragTooltip { + + /** Specifies whether to show tooltip while dragging a row. + * @Default {true} + */ + showTooltip?: boolean; + + /** Option to add field names whose corresponding values in the dragged row needs to be shown in the preview tooltip. + * @Default {[]} + */ + tooltipItems?: Array; + + /** Custom template for that tooltip that is shown while dragging a row. + * @Default {null} + */ + tooltipTemplate?: string; +} + +export interface EditSettings { + + /** Enables or disables the button to add new row in context menu as well as in toolbar. + * @Default {true} + */ + allowAdding?: boolean; + + /** Enables or disables the button to delete the selected row in context menu as well as in toolbar. + * @Default {true} + */ + allowDeleting?: boolean; + + /** Enables or disables the ability to edit a row or cell. + * @Default {false} + */ + allowEditing?: boolean; + + /** Specifies the mouse action whether single click or double click to begin the editing + * @Default {ej.TreeGrid.BeginEditAction.DblClick} + */ + beginEditAction?: ej.TreeGrid.BeginEditAction|string; + + /** specifies the edit mode in TreeGrid , "cellEditing" is for cell type editing and "rowEditing" is for entire row. + * @Default {ej.TreeGrid.EditMode.CellEditing} + */ + editMode?: ej.TreeGrid.EditMode|string; + + /** Specifies the position where the new row has to be added. + * @Default {top} + */ + rowPosition?: ej.TreeGrid.RowPosition|string; + + /** Specifies the template ID for the custom dialog. + * @Default {null} + */ + dialogEditorTemplateID?: string; +} + +export interface ColumnResizeSettings { + + /** Specifies the mode for column resizing + * @Default {normal} + */ + columnResizeMode?: string; +} + +export interface FilterSettings { + + /** Specifies the mode on which column filtering should start + * @Default {immediate} + */ + filterBarMode?: string; + + /** Specifies the type of column filtering. + * @Default {filterbar} + */ + filterType?: string; + + /** Specifies the column collection for filtering the TreeGrid content on initial load + * @Default {[]} + */ + filteredColumns?: Array; +} + +export interface PageSettings { + + /** Using this property we can specify the number of pages should pager contains, according to this count TreeGrid height will be updated. + * @Default {8} + */ + pageCount?: number; + + /** This specifies the number of rows to display in each page. + * @Default {12} + */ + pageSize?: number; + + /** Get the value of records which is bound to TreeGrid. The totalRecordsCount value is calculated based on the datasource bound to TreeGrid. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Specifies the current page to display at load time. + * @Default {1} + */ + currentPage?: number; + + /** Specifies the mode of record count in a page, whether it should count all the records or the root to count zero level parent records. + * @Default {ej.TreeGrid.PageSizeMode.All} + */ + pageSizeMode?: ej.TreeGrid.PageSizeMode|string; + + /** Specifies the Custom template for Pager control. + * @Default {null} + */ + template?: string; +} + +export interface SelectionSettings { + + /** Specifies the type of selection whether to select row or cell. + * @Default {ej.TreeGrid.SelectionMode.Row} + */ + selectionMode?: ej.TreeGrid.SelectionMode|string; + + /** Specifies the type of selection whether single, multiple or checkbox. + * @Default {ej.TreeGrid.SelectionType.Single} + */ + selectionType?: ej.TreeGrid.SelectionType|string; + + /** Enables or disables the selection by hierarchy in check box selection + * @Default {true} + */ + enableHierarchySelection?: boolean; + + /** Toggles the visibility of the checkbox in column header, using which all the check boxes can be selected or unselected. + * @Default {true} + */ + enableSelectAll?: boolean; +} + +export interface SizeSettings { + + /** Height of the TreeGrid. + * @Default {null} + */ + height?: string; + + /** Width of the TreeGrid. + * @Default {null} + */ + width?: string; +} + +export interface SortSettings { + + /** Option to add columns based on which the rows have to be sorted recursively. + * @Default {[]} + */ + sortedColumns?: Array; +} + +export interface ToolbarSettingsCustomToolbarItem { + + /** Allows the user to insert the custom icons in toolbar using CSS class name selector. + */ + text?: string; + + /** Allows the user to insert the custom icons in toolbar using script templates. Using this property we can bind HTML elements and other EJ controls to TreeGrid toolbar. + */ + templateID?: string; + + /** Allows the user to display custom tooltip text for TreeGrid custom toolbar items. + */ + tooltipText?: string; +} + +export interface ToolbarSettings { + + /** Shows/hides the toolbar. + * @Default {false} + */ + showToolbar?: boolean; + + /** Specifies the list of toolbar items to be rendered in TreeGrid toolbar + * @Default {[]} + */ + toolbarItems?: Array; + + /** Allows the user to insert custom toolbar items. + */ + customToolbarItems?: Array; +} + +enum EditingType{ + + ///It Specifies String edit type. + String, + + ///It Specifies Boolean edit type. + Boolean, + + ///It Specifies Numeric edit type. + Numeric, + + ///It Specifies Dropdown edit type. + Dropdown, + + ///It Specifies DatePicker edit type. + DatePicker, + + ///It Specifies DateTimePicker edit type. + DateTimePicker, + + ///It Specifies Maskedit edit type. + Maskedit +} + + +enum ClipMode{ + + ///Shows ellipsis for the overflown cell. + Ellipsis, + + ///Truncate the text in the cell. + Clip +} + + +enum BeginEditAction{ + + ///you can begin the editing at double click + DblClick, + + ///you can begin the editing at single click + Click +} + + +enum EditMode{ + + ///you can edit a cell. + CellEditing, + + ///you can edit a row. + RowEditing, + + ///you can edit a row in dialog form. + DialogEditing +} + + +enum RowPosition{ + + ///you can add a new row at top. + Top, + + ///you can add a new row at bottom. + Bottom, + + ///you can add a new row to above selected row. + Above, + + ///you can add a new row to below selected row. + Below, + + ///you can add a new row as a child for selected row. + Child +} + + +enum PageSizeMode{ + + ///To count all the parent and child records. + All, + + ///To count the Zeroth level parent records. + Root +} + + +enum SelectionMode{ + + ///you can select a row. + Row, + + ///you can select a cell. + Cell +} + + +enum SelectionType{ + + ///you can select a single row. + Single, + + ///you can select a multiple row. + Multiple, + + ///you can select rows using checkbox. + Checkbox +} + +} + +class GroupButton extends ej.Widget { + static fn: GroupButton; + constructor(element: JQuery, options?: GroupButton.Model); + constructor(element: Element, options?: GroupButton.Model); + static Locale: any; + model:GroupButton.Model; + defaults:GroupButton.Model; + + /** Remove the selection state of the specified the button element from the GroupButton + * @param {JQuery} Specific button element + * @returns {void} + */ + deselectItem(element: JQuery): void; + + /** Destroy the GroupButton widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Disables the GroupButton control + * @returns {void} + */ + disable(): void; + + /** Disable the specified button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + disableItem(element: JQuery): void; + + /** Enables the disabled ejGroupButton control. + * @returns {void} + */ + enable(): void; + + /** Enable the specified disabled button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + enableItem(element: JQuery): void; + + /** Returns the index value for specified button element in the GroupButton control. + * @param {JQuery} Specific button element + * @returns {number} + */ + getIndex(element: JQuery): number; + + /** This method returns the list of active state button elements from the GroupButton control. + * @returns {any} + */ + getSelectedItem(): any; + + /** Hides the GroupButton control + * @returns {void} + */ + hide(): void; + + /** Hide the specified button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + hideItem(element: JQuery): void; + + /** Returns the disabled state of the specified element button element in GroupButton as Boolean. + * @returns {boolean} + */ + isDisabled(): boolean; + + /** Returns the state of the specified button element as Boolean. + * @returns {boolean} + */ + isSelected(): boolean; + + /** Public method used to select the specified button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + selectItem(element: JQuery): void; + + /** Shows the GroupButton control, if its hide. + * @returns {void} + */ + show(): void; + + /** Show the specified hidden button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + showItem(element: JQuery): void; +} +export module GroupButton{ + +export interface Model { + + /** Sets the specified class to GroupButton wrapper element, which allows for custom skinning option in ejGroupButton control. + */ + cssClass?: string; + + /** To set the local JSON data, define a JSON array and initialize the GroupButton with dataSource property. Specify the column names in the fields property. + * @Default {null} + */ + dataSource?: any; + + /** Displays the ejGroupButton in Right to Left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Used to enable or disable the ejGroupButton control. + * @Default {true} + */ + enabled?: boolean; + + /** Gets or sets a value that indicates to display the values of the data. + * @Default {null} + */ + fields?: any; + + /** Sets the GroupButton behavior to works as Checkbox mode/ radio button mode based on the specified option. + * @Default {ej.GroupButtonMode.RadioButton} + */ + groupButtonMode?: ej.GroupButtonMode | string; + + /** Used to sets the height of the ejGroupButton control. + * @Default {28} + */ + height?: string|number; + + /** Defines the characteristics of the ejGroupButton control and extend the capability of an HTML element by adding specified attributes to element tag and by performing the related actions + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specify the orientation of the GroupButton. See below to get available orientations + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation|string; + + /** Query the dataSource from the table for Groupbutton + * @Default {null} + */ + query?: any; + + /** Sets the list of button elements to be selected. To enable this option groupButtonMode should be in “checkbox” mode. + * @Default {[]} + */ + selectedItemIndex?: number[]|string[]; + + /** Sets the rounder corner to the GroupButton, if sets as true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the button. See available size + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize|string; + + /** Defines the width of the ejGroupButton control. + */ + width?: string|number; + + /** Triggered before any button element in the GroupButton get selected. */ + beforeSelect? (e: BeforeSelectEventArgs): void; + + /** Fires after GroupButton control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ + create? (e: CreateEventArgs): void; + + /** Fires when the GroupButton is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ + destroy? (e: DestroyEventArgs): void; + + /** Triggered once the key is pressed, when the control is in focused state. */ + keyPress? (e: KeyPressEventArgs): void; + + /** Triggered when the button element get selected. */ + select? (e: SelectEventArgs): void; +} + +export interface BeforeSelectEventArgs { + + /** Boolean value based on whether the button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the button element ID. + */ + id?: string; + + /** Button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model ; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the GroupButton model + */ + model?: ej.GroupButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the GroupButton model + */ + model?: ej.GroupButton.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface KeyPressEventArgs { + + /** Boolean value based on whether the button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the button element ID. + */ + id?: string; + + /** Button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; +} + +export interface SelectEventArgs { + + /** Boolean value based on whether the selected button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the selected button element ID. + */ + id?: string; + + /** Selected button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; +} +} +enum GroupButtonMode +{ +//Sets the GroupButton to work as checkbox mode +CheckBox, +//Sets the RadioButton to work as radio button mode +RadioButton, +} + +class NavigationDrawer extends ej.Widget { + static fn: NavigationDrawer; + constructor(element: JQuery, options?: NavigationDrawer.Model); + constructor(element: Element, options?: NavigationDrawer.Model); + static Locale: any; + model:NavigationDrawer.Model; + defaults:NavigationDrawer.Model; + + /** To close the navigation drawer control + * @returns {void} + */ + close(): void; + + /** To load AJAX content into NavigationDrawer container. + * @returns {void} + */ + loadContent(): void; + + /** To open the navigation drawer control + * @returns {void} + */ + open(): void; + + /** To Toggle the navigation drawer control + * @returns {void} + */ + toggle(): void; +} +export module NavigationDrawer{ + +export interface Model { + + /** Specifies the ajaxSettings option to load the content to the NavigationDrawer control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Specifies the contentId for navigation drawer, where the AJAX content need to updated + * @Default {null} + */ + contentId?: string; + + /** Sets the root class for NavigationDrawer theme. This cssClass API helps to use custom skinning option for NavigationDrawer control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** Sets the Direction for the control. See Direction + * @Default {left} + */ + direction?: ej.Direction|string; + + /** Sets the listview to be enabled or not + * @Default {false} + */ + enableListView?: boolean; + + /** Specifies the listview items as an array of object. + * @Default {[]} + */ + items?: Array; + + /** Sets all the properties of listview to render in navigation drawer + */ + listViewSettings?: any; + + /** Specifies position whether it is in fixed or relative to the page. See Position + * @Default {normal} + */ + position?: string; + + /** Specifies the targetId for navigation drawer + */ + targetId?: string; + + /** Sets the rendering type of the control. See Type + * @Default {overlay} + */ + type?: string; + + /** Specifies the width of the control + * @Default {auto} + */ + width?: number; + + /** Navigation pane opened initially when isPaneOpen property is true. + * @Default {false} + */ + isPaneOpen?: boolean; + + /** Event triggers after the AJAX content loaded completely. */ + ajaxComplete? (e: AjaxCompleteEventArgs): void; + + /** Event triggers when the AJAX request failed. */ + ajaxError? (e: AjaxErrorEventArgs): void; + + /** Event triggers after the AJAX content loaded successfully. */ + ajaxSuccess? (e: AjaxSuccessEventArgs): void; + + /** Event triggers before the control gets closed. */ + beforeClose? (e: BeforeCloseEventArgs): void; + + /** Event triggers when the control open. */ + open? (e: OpenEventArgs): void; + + /** Event triggers when the Swipe happens. */ + swipe? (e: SwipeEventArgs): void; +} + +export interface AjaxCompleteEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; +} + +export interface AjaxErrorEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; + + /** returns the error thrown in the AJAX post. + */ + errorThrown?: any; + + /** returns the status. + */ + textStatus?: any; +} + +export interface AjaxSuccessEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; + + /** returns the AJAX current content. + */ + content?: string; + + /** returns the current URL of the AJAX post. + */ + URL?: string; +} + +export interface BeforeCloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface SwipeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; + + /** returns the name of the event + */ + type?: string; +} + +export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; + + /** It specifies the HTTP request type. + */ + type?: string; +} +} + +class RadialMenu extends ej.Widget { + static fn: RadialMenu; + constructor(element: JQuery, options?: RadialMenu.Model); + constructor(element: Element, options?: RadialMenu.Model); + static Locale: any; + model:RadialMenu.Model; + defaults:RadialMenu.Model; + + /** To hide the radialmenu + * @returns {void} + */ + hide(): void; + + /** To hide the radialmenu items + * @returns {void} + */ + hideMenu(): void; + + /** To Show the radial menu + * @returns {void} + */ + show(): void; + + /** To show menu items + * @returns {void} + */ + showMenu(): void; + + /** To enable menu item using index + * @param {number} Index of the Radialmenu to be enabled. + * @returns {void} + */ + enableItemByIndex(itemIndex: number): void; + + /** To enable menu items using indices + * @param {Array} Index of the Radialmenu to be enabled. + * @returns {void} + */ + enableItemsByIndices(itemIndices: Array): void; + + /** To disable menu item using index + * @param {number} Index of the Radialmenu to be disabled. + * @returns {void} + */ + disableItemByIndex(itemIndex: number): void; + + /** To disable menu items using indices + * @param {Array} items of the Radialmenu to disable. + * @returns {void} + */ + disableItemsByIndices(itemIndices: Array): void; + + /** To enable menu item using item text + * @param {string} item of the Radialmenu item to enable. + * @returns {void} + */ + enableItem(item: string): void; + + /** To disable menu item using item text + * @param {string} item of the Radialmenu item to disable. + * @returns {void} + */ + disableItem(item: string): void; + + /** To enable menu items using item texts + * @param {Array} items of the Radialmenu item to enable. + * @returns {void} + */ + enableItems(items: Array): void; + + /** To disable menu items using item texts + * @param {Array} items of the Radialmenu item to disable. + * @returns {void} + */ + disableItems(items: Array): void; + + /** To update menu item badge value + * @param {number} The index value to add the given items at the specified index. If index is not specified, the given value will not be updated. + * @param {number} The Value to be updated in the badge. It will be updated based on the given index + * @returns {void} + */ + updateBadgeValue(index: number, value: number): void; + + /** To show menu item badge + * @param {number} Index of the Radialmenu item to be shown badge. + * @returns {void} + */ + showBadge(index: number): void; + + /** To hide menu item badge + * @param {number} Index of the Radialmenu item to hide the badge. + * @returns {void} + */ + hideBadge(index: number): void; +} +export module RadialMenu{ + +export interface Model { + + /** To show the Radial in initial render. + */ + autoOpen?: boolean; + + /** Renders the back button Image for Radial using class. + */ + backImageClass?: string; + + /** Sets the root class for RadialMenu theme. This cssClass API helps to use custom skinning option for RadialMenu control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** To enable Animation for Radial Menu. + */ + enableAnimation?: boolean; + + /** Renders the Image for Radial using Class. + */ + imageClass?: string; + + /** Specify the items of radial menu + */ + items?: Array; + + /** Specifies the radius of radial menu + */ + radius?: number; + + /** To show the Radial while clicking given target element. + */ + targetElementId?: string; + + /** To set radial render position. + */ + position?: any; + + /** Event triggers when we click an item. */ + click? (e: ClickEventArgs): void; + + /** Event triggers when the menu is opened. */ + open? (e: OpenEventArgs): void; + + /** Event triggers when the menu is closed. */ + close? (e: CloseEventArgs): void; +} + +export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialmenu model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the item of element + */ + item?: any; + + /** returns the name of item + */ + itemName?: string; +} + +export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialmenu model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface CloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialmenu model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ItemsBadge { + + /** Specifies whether to enable radialmenu item badge or not. + */ + enabled?: boolean; + + /** Specifies the value of radial menu item badge. + */ + value?: number; +} + +export interface ItemsSliderSettings { + + /** Specifies the sliderSettings ticks values of nested radial menu items. + */ + ticks?: Array; + + /** Specifies the sliderSettings stroke Width value. + */ + strokeWidth?: number; + + /** Specifies the value of sliderSettings labelSpace . + */ + labelSpace?: number; +} + +export interface Item { + + /** Specify the URL of the frame background image for radial menu item. + */ + imageUrl?: string; + + /** Specifies the text of RadialMenu item. + */ + text?: string; + + /** Specifies the enable state of RadialMenu item. + */ + enabled?: boolean; + + /** specify the click event to corresponding image/text for performing some specific action. + */ + click?: string; + + /** Specifies radialmenu item badges. + */ + badge?: ItemsBadge; + + /** Specifies the type of nested radial menu item. + */ + type?: string; + + /** Specifies the sliderSettings ticks for nested radial menu items. + */ + sliderSettings?: ItemsSliderSettings; + + /** Specifies to add sub level items . + */ + items?: Array; +} +} + +class Tile extends ej.Widget { + static fn: Tile; + constructor(element: JQuery, options?: Tile.Model); + constructor(element: Element, options?: Tile.Model); + static Locale: any; + model:Tile.Model; + defaults:Tile.Model; + + /** Update the image template of tile item to another one. + * @param {string} UpdateTemplate by using id + * @param {number} index of the tile + * @returns {void} + */ + updateTemplate(id: string, index: number): void; +} +export module Tile{ + +export interface Model { + + /** Section for badge specific functionalities and it represents the notification for tile items. + */ + badge?: Badge; + + /** Section for caption specific functionalities and it represents the notification for tile items. + */ + caption?: Caption; + + /** Sets the root class for Tile theme. This cssClass API helps to use custom skinning option for Tile control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** Saves current model value to browser cookies for state maintains. While refreshing the page retains the model value applies from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Customize the tile size height. + * @Default {null} + */ + height?: number; + + /** Specifies Tile imageClass, using this property we can give images for each tile through CSS classes. + * @Default {null} + */ + imageClass?: string; + + /** Specifies the position of tile image. + * @Default {center} + */ + imagePosition?: ej.Tile.ImagePosition|string; + + /** Specifies the tile image in outside of template content. + * @Default {null} + */ + imageTemplateId?: string; + + /** Specifies the URL of tile image. + * @Default {null} + */ + imageUrl?: string; + + /** Set the localization culture for Tile Widget. + */ + locale?: String; + + /** Section for liveTile specific functionalities. + */ + liveTile?: LiveTile; + + /** Specifies the size of a tile. See tileSize + * @Default {small} + */ + tileSize?: ej.Tile.TileSize|string; + + /** Customize the tile size width. + * @Default {null} + */ + width?: number; + + /** Sets the rounded corner to tile. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Sets allowSelection to tile. + * @Default {false} + */ + allowSelection?: boolean; + + /** Sets the background color to tile. + * @Default {null} + */ + backgroundColor?: string; + + /** Event triggers when the mouseDown happens in the tile */ + mouseDown? (e: MouseDownEventArgs): void; + + /** Event triggers when the mouseUp happens in the tile */ + mouseUp? (e: MouseUpEventArgs): void; +} + +export interface MouseDownEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tile model + */ + model?: boolean; + + /** returns the name of the event + */ + type?: boolean; + + /** returns the current tile text + */ + text?: string; + + /** returns the index of current tile item + */ + index?: number; +} + +export interface MouseUpEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tile model + */ + model?: boolean; + + /** returns the name of the event + */ + type?: boolean; + + /** returns the current tile text + */ + text?: boolean; + + /** returns the index of current tile item + */ + index?: number; +} + +export interface Badge { + + /** Specifies whether to enable badge or not. + * @Default {false} + */ + enabled?: boolean; + + /** Specifies maximum value for tile badge. + * @Default {100} + */ + maxValue?: number; + + /** Specifies minimum value for tile badge. + * @Default {1} + */ + minValue?: number; + + /** Specifies text instead of number for tile badge. + * @Default {null} + */ + text?: string; + + /** Sets value for tile badge. + * @Default {1} + */ + value?: number; + + /** Sets position for tile badge. + * @Default {“bottomright”} + */ + position?: ej.Tile.BadgePosition|string; +} + +export interface Caption { + + /** Specifies whether the tile text to be shown or hidden. + * @Default {true} + */ + enabled?: boolean; + + /** Changes the text of a tile. + * @Default {Text} + */ + text?: string; + + /** It is used to align the text of a tile. + * @Default {normal} + */ + alignment?: ej.Tile.CaptionAlignment|string; + + /** It is used to specify the caption position like Inner top, inner bottom and outer. + * @Default {Innerbottom} + */ + position?: ej.Tile.CaptionPosition|string; + + /** sets the icon instead of text. + * @Default {null} + */ + icon?: string; +} + +export interface LiveTile { + + /** Specifies whether to enable liveTile or not. + * @Default {false} + */ + enabled?: boolean; + + /** Specifies liveTile images in CSS classes. + * @Default {null} + */ + imageClass?: Array; + + /** Specifies liveTile images in templates. + * @Default {null} + */ + imageTemplateId?: Array; + + /** Specifies liveTile images in CSS classes. + * @Default {null} + */ + imageUrl?: Array; + + /** Specifies liveTile type for Tile. See orientation + * @Default {flip} + */ + type?: ej.Tile.liveTileType|string; + + /** Specifies time interval between two successive liveTile animation + * @Default {2000} + */ + updateInterval?: number; + + /** Sets the text to each living tile + * @Default {Null} + */ + text?: Array; +} + +enum BadgePosition{ + + ///To set the topright position of tile badge + Topright, + + ///To set the bottomright of tile badge + Bottomright +} + + +enum CaptionAlignment{ + + ///To set the normal alignment of text in tile control + Normal, + + ///To set the left alignment of text in tile control + Left, + + ///To set the right alignment of text in tile control + Right, + + ///To set the center alignment of text in tile control + Center +} + + +enum CaptionPosition{ + + ///To set the inner top position of the tile text + Innertop, + + ///To set the inner bottom position of the tile text + Innerbottom, + + ///To set the outer position of the tile text + Outer +} + + +enum ImagePosition{ + + ///To set the center position of tile image + Center, + + ///To set the top center position of tile image + TopCenter, + + ///To set the bottom center position of tile image + BottomCenter, + + ///To set the right center position of tile image + RightCenter, + + ///To set the left center position of tile image + LeftCenter, + + ///To set the topleft position of tile image + TopLeft, + + ///To set the topright position of tile image + TopRight, + + ///To set the bottomright position of tile image + BottomRight, + + ///To set the bottomleft position of tile image + BottomLeft, + + ///To set the fill position of tile image + Fill +} + + +enum liveTileType{ + + ///To set flip type of liveTile for tile control + Flip, + + ///To set slide type of liveTile for tile control + Slide, + + ///To set carousel type of liveTile for tile control + Carousel +} + + +enum TileSize{ + + ///To set the medium size for tile control + Medium, + + ///To set the small size for tile control + Small, + + ///To set the large size for tile control + Large, + + ///To set the wide size for tile control + Wide +} + +} + +class Signature extends ej.Widget { + static fn: Signature; + constructor(element: JQuery, options?: Signature.Model); + constructor(element: Element, options?: Signature.Model); + static Locale: any; + model:Signature.Model; + defaults:Signature.Model; + + /** Clears the strokes in the signature. + * @returns {void} + */ + clear(): void; + + /** Destroys the signature widget. + * @returns {void} + */ + destroy(): void; + + /** Disables the signature widget. + * @returns {void} + */ + disable(): void; + + /** Enables the signature widget. + * @returns {void} + */ + enable(): void; + + /** Hides the signature widget. + * @returns {void} + */ + hide(): void; + + /** redo the last drawn stroke of the signature + * @returns {void} + */ + redo(): void; + + /** used to save the drawn image. + * @param {string} The file name of the signature to be downloaded. + * @returns {void} + */ + save(Filename: string): void; + + /** Used to Show the signature widget, if it is already hided. + * @returns {void} + */ + show(): void; + + /** undo the last drawn stroke of the signature. + * @returns {void} + */ + undo(): void; +} +export module Signature{ + +export interface Model { + + /** This property is used to set the background color for the signature. + * @Default {#ffffff} + */ + backgroundColor?: string; + + /** This property is used to set the background image for the signature. + */ + backgroundImage?: string; + + /** Enables or disables the Signature textbox widget. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the height of the Signature control. + * @Default {100%} + */ + height?: string; + + /** Enables/disables responsive support for the signature control (i.e) maintain the signature drawing during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the type of the image format to be saved when the signature image is saved. + */ + saveImageFormat?: ej.Signature.SaveImageFormat|string; + + /** Allows the signature image to be saved along with its background. + * @Default {false} + */ + saveWithBackground?: boolean; + + /** Enables or disables rounded corner. + * @Default {true} + */ + showRoundedCorner?: boolean; + + /** Sets the stroke color for the stroke of the signature. + * @Default {#000000} + */ + strokeColor?: string; + + /** Sets the stroke width for the stroke of the signature. + * @Default {2} + */ + strokeWidth?: number; + + /** Sets the width of the Signature control. + * @Default {100%} + */ + width?: string; + + /** Triggers when the stroke is changed. */ + change? (e: ChangeEventArgs): void; + + /** Triggered when the pointer is clicked or touched in the signature canvas. */ + mouseDown? (e: MouseDownEventArgs): void; + + /** Triggered when the pointer is moved in the signature canvas. */ + mouseMove? (e: MouseMoveEventArgs): void; + + /** Triggered when the pointer is released after click or touch in the signature canvas. */ + mouseUp? (e: MouseUpEventArgs): void; +} + +export interface ChangeEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** Gives the last stored image + */ + lastImage?: string; +} + +export interface MouseDownEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** returns all the event values + */ + value?: any; +} + +export interface MouseMoveEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** returns all the event values + */ + value?: any; +} + +export interface MouseUpEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** returns all the event values + */ + value?: any; +} + +enum SaveImageFormat{ + + ///To save the signature image with PNG format only. + PNG, + + ///To save the signature image with JPG format only. + JPG, + + ///To save the signature image with BMP format only. + BMP, + + ///To save the signature image with TIFF format only. + TIFF +} + +} + +class RadialSlider extends ej.Widget { + static fn: RadialSlider; + constructor(element: JQuery, options?: RadialSlider.Model); + constructor(element: Element, options?: RadialSlider.Model); + static Locale: any; + model:RadialSlider.Model; + defaults:RadialSlider.Model; + + /** To show the radialslider + * @returns {void} + */ + show(): void; + + /** To hide the radialslider + * @returns {void} + */ + hide(): void; +} +export module RadialSlider{ + +export interface Model { + + /** To show the RadialSlider in initial render. + * @Default {false} + */ + autoOpen?: boolean; + + /** Sets the root class for RadialSlider theme. This cssClass API helps to use custom skinning option for RadialSlider control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** To enable Animation for Radial Slider. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Enable/Disable the Roundoff property of RadialSlider + * @Default {true} + */ + enableRoundOff?: boolean; + + /** Specifies the endAngle value for radial slider circle. + * @Default {360} + */ + endAngle?: number; + + /** Specifies the inline for label show or not on given radius. + * @Default {false} + */ + inline?: boolean; + + /** Specifies innerCircleImageClass, using this property we can give images for center radial circle through CSS classes. + * @Default {null} + */ + innerCircleImageClass?: string; + + /** Specifies the file name of center circle icon + * @Default {null} + */ + innerCircleImageUrl?: string; + + /** Specifies the Space between the radial slider element and the label. + * @Default {30} + */ + labelSpace?: number; + + /** Specifies the radius of radial slider + * @Default {200} + */ + radius?: number; + + /** To show the RadialSlider inner circle. + * @Default {true} + */ + showInnerCircle?: boolean; + + /** Specifies the endAngle value for radial slider circle. + * @Default {0} + */ + startAngle?: number; + + /** Specifies the strokeWidth for customize the needle, outer circle and inner circle. + * @Default {2} + */ + strokeWidth?: number; + + /** Specifies the ticks value of radial slider + */ + ticks?: Array; + + /** Specifies the value of radial slider + * @Default {10} + */ + value?: number; + + /** Event triggers when the change occurs. */ + change? (e: ChangeEventArgs): void; + + /** Event triggers when the radial slider is created. */ + create? (e: CreateEventArgs): void; + + /** Event triggers when the mouse pointer is dragged over the radial slider. */ + mouseover? (e: MouseoverEventArgs): void; + + /** Event triggers when the Radial slider slides. */ + slide? (e: SlideEventArgs): void; + + /** Event triggers when the radial slider starts. */ + start? (e: StartEventArgs): void; + + /** Event triggers when the radial slider stops. */ + stop? (e: StopEventArgs): void; +} + +export interface ChangeEventArgs { + + /** returns the Radialslider model + */ + model?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the initial value of Radial slider + */ + oldValue?: number; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value of the Radial slider + */ + value?: number; +} + +export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface MouseoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the value selected + */ + selectedValue?: number; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value selected in Radial slider + */ + value?: number; +} + +export interface SlideEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the value selected in Radial slider + */ + selectedValue?: number; + + /** returns the name of the event + */ + type?: string; + + /** returns the currently selected value + */ + value?: number; +} + +export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value selected in Radial slider + */ + value?: number; +} + +export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value selected in Radial slider + */ + value?: number; +} +} + +class Spreadsheet extends ej.Widget { + static fn: Spreadsheet; + constructor(element: JQuery, options?: Spreadsheet.Model); + constructor(element: Element, options?: Spreadsheet.Model); + static Locale: any; + model:Spreadsheet.Model; + defaults:Spreadsheet.Model; + + /** This method is used to add custom formulas in Spreadsheet. + * @param {string} Pass the name of the formula. + * @param {string} Pass the name of the function. + * @returns {void} + */ + addCustomFormula(formulaName: string, functionName: string): void; + + /** This method is used to add a new sheet in the last position of the sheet container. + * @returns {void} + */ + addNewSheet(): void; + + /** It is used to clear all the data and format in the specified range of cells in Spreadsheet. + * @param {string|Array} Optional. If range is specified, then it will clear all content in the specified range else it will use the current selected range. + * @returns {void} + */ + clearAll(range?: string|Array): void; + + /** This property is used to clear all the formats applied in the specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, then it will clear all format in the specified range else it will use the current selected range. + * @returns {void} + */ + clearAllFormat(range?: string|Array): void; + + /** Used to clear the applied border in the specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, then it will clear border in the specified range else it will use the current selected range. + * @returns {void} + */ + clearBorder(range?: string|Array): void; + + /** This property is used to clear the contents in the specified range in Spreadsheet. + * @param {string|Array} Optional. If the range is specified, then it will clear the content in the specified range else it will use the current selected range. + * @returns {void} + */ + clearContents(range?: string|Array): void; + + /** This method is used to remove only the data in the range denoted by the specified range name. + * @param {string} Pass the defined rangeSettings property name. + * @returns {void} + */ + clearRange(rangeName: string): void; + + /** It is used to remove data in the specified range of cells based on the defined property. + * @param {Array|string} Optional. If range is specified, it will clear data for the specified range else it will use the current selected range. + * @param {string} Optional. If property is specified, it will remove the specified property in the range else it will remove default properties + * @param {any} Optional. + * @param {boolean} Optional. pass {{'`true`' | markdownify}}, if you want to skip the hidden rows + * @param {any} Optional. Pass the status to perform undo and redo operation. + * @param {any} Optional. It specifies whether to skip element processing or not. + * @returns {void} + */ + clearRangeData(range?: Array|string, property?: string, cells?: any, skipHiddenRow?: boolean, status?: any, skipCell?: any): void; + + /** This method is used to clear undo and redo collections in the Spreadsheet. + * @returns {void} + */ + clearUndoRedo(): void; + + /** This method is used to copy or move the sheets in Spreadsheet. + * @param {number} Pass the sheet index that you want to copy or move. + * @param {number} Pass the position index where you want to copy or move. + * @param {boolean} Pass {{'`true`' | markdownify}},If you want to copy sheet or else it will move sheet. + * @returns {void} + */ + copySheet(fromIdx: number, toIdx: number, isCopySheet: boolean): void; + + /** This method is used to delete the entire column which is selected. + * @param {number} Pass the start column index. + * @param {number} Pass the end column index. + * @returns {void} + */ + deleteEntireColumn(startCol: number, endCol: number): void; + + /** This method is used to delete the entire row which is selected. + * @param {number} Pass the start row index. + * @param {number} Pass the end row index. + * @returns {void} + */ + deleteEntireRow(startRow: number, endRow: number): void; + + /** This method is used to delete a particular sheet in the Spreadsheet. + * @param {number} Pass the sheet index to perform delete action. + * @returns {void} + */ + deleteSheet(idx: number): void; + + /** This method is used to delete the selected cells and shift the remaining cells to left. + * @param {any} Row index and column index of the starting cell. + * @param {any} Row index and column index of the ending cell. + * @returns {void} + */ + deleteShiftLeft(startCell: any, endCell: any): void; + + /** This method is used to delete the selected cells and shift the remaining cells up. + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ + deleteShiftUp(startCell: any, endCell: any): void; + + /** This method is used to edit data in the specified range of cells based on its corresponding rangeSettings. + * @param {string} Pass the defined rangeSettings property name. + * @param {Function} Pass the function that you want to perform range edit. + * @returns {void} + */ + editRange(rangeName: string, fn: Function): void; + + /** This method is used to get the activation panel in the Spreadsheet. + * @returns {HTMLElement} + */ + getActivationPanel(): HTMLElement; + + /** This method is used to get the active cell object in Spreadsheet. It will returns object which contains rowIndex and colIndex of the active cell. + * @param {number} Optional. If sheetIdx is specified, it will return the active cell object in specified sheet index else it will use the current sheet index + * @returns {any} + */ + getActiveCell(sheetIdx?: number): any; + + /** This method is used to get the active cell element based on the given sheet index in the Spreadsheet. + * @param {number} Optional. If sheetIndex is specified, it will return the active cell element in specified sheet index else it will use the current active sheet index. + * @returns {HTMLElement} + */ + getActiveCellElem(sheetIdx?: number): HTMLElement; + + /** This method is used to get the current active sheet index in Spreadsheet. + * @returns {number} + */ + getActiveSheetIndex(): number; + + /** This method is used to get the auto fill element in Spreadsheet. + * @returns {HTMLElement} + */ + getAutoFillElem(): HTMLElement; + + /** This method is used to get the cell element based on specified row and column index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @param {number} Optional. Pass the sheet index that you want to get cell. + * @returns {HTMLElement} + */ + getCell(rowIdx: number, colIdx: number, sheetIdx?: number): HTMLElement; + + /** This method is used to get the data settings in the Spreadsheet. + * @param {number} Pass the sheet index. + * @returns {number} + */ + getDataSettings(sheetIdx: number): number; + + /** This method is used to get the frozen columns index in the Spreadsheet. + * @param {number} Pass the sheet index. + * @returns {number} + */ + getFrozenColumns(sheetIdx: number): number; + + /** This method is used to get the frozen row index in Spreadsheet. + * @param {number} Pass the sheet index. + * @returns {number} + */ + getFrozenRows(sheetIdx: number): number; + + /** This method is used to get the hyperlink data as object from the specified cell in Spreadsheet. + * @param {HTMLElement} Pass the DOM element to get hyperlink + * @returns {any} + */ + getHyperlink(cell: HTMLElement): any; + + /** This method is used to get all cell elements in the specified range. + * @param {string} Pass the range that you want to get the cells. + * @param {number} Pass the index of the sheet. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. + * @returns {HTMLElement} + */ + getRange(range: string, sheetIdx: number, skipHiddenRow?: boolean): HTMLElement; + + /** This method is used to get the data in specified range in Spreadsheet. + * @param {any} Optional. Pass the range, property, sheetIdx, valueOnly in options. + * @returns {Array} + */ + getRangeData(options?: any): Array; + + /** This method is used to get the range indices array based on the specified alpha range in Spreadsheet. + * @param {string} Pass the alpha range that you want to get range indices. + * @returns {Array} + */ + getRangeIndices(range: string): Array; + + /** This method is used to get the sheet details based on the given sheet index in Spreadsheet. + * @param {number} Pass the sheet index to get the sheet object. + * @returns {any} + */ + getSheet(sheetIdx: number): any; + + /** This method is used to get the sheet content div element of Spreadsheet. + * @param {number} Pass the sheet index to get the sheet content. + * @returns {HTMLElement} + */ + getSheetElement(sheetIdx: number): HTMLElement; + + /** This method is used to get all the sheets in workbook. + * @returns {Array} + */ + getSheets(): Array; + + /** This method is used to send a paging request to the specified sheet Index in the Spreadsheet. + * @param {number} Pass the sheet index to perform paging at specified sheet index + * @param {boolean} Pass {{'`true`' | markdownify}} to create a new sheet. If the specified sheet index is already exist, it navigate to that sheet else it create a new sheet. + * @returns {void} + */ + gotoPage(sheetIdx: number, newSheet: boolean): void; + + /** This method is used to hide the pivot table activationPanel in the Spreadsheet. + * @returns {void} + */ + hideActivationPanel(): void; + + /** This method is used to hide the entire columns from the specified range (startCol, endCol) in Spreadsheet. + * @param {number} Index of the start column. + * @param {number} Optional. Index of the end column. + * @returns {void} + */ + hideColumn(startCol: number, endCol: number): void; + + /** This method is used to hide the formula bar in Spreadsheet. + * @returns {void} + */ + hideFormulaBar(): void; + + /** This method is used to hide the rows, based on the specified row index in Spreadsheet. + * @param {number} Index of the start row. + * @param {number} Optional. Index of the end row. + * @returns {void} + */ + hideRow(startRow: number, endRow: number): void; + + /** This method is used to hide the sheet based on the specified sheetIndex or sheet name in the Spreadsheet. + * @param {string|number} Pass the sheet name or index that you want to hide. + * @returns {void} + */ + hideSheet(sheetIdx: string|number): void; + + /** This method is used to hide the displayed waiting pop-up in Spreadsheet. + * @returns {void} + */ + hideWaitingPopUp(): void; + + /** This method is used to insert a column before the active cell's column in the Spreadsheet. + * @param {number} Pass start column. + * @param {number} Pass end column. + * @returns {void} + */ + insertEntireColumn(startCol: number, endCol: number): void; + + /** This method is used to insert a row before the active cell's row in the Spreadsheet. + * @param {number} Pass start row. + * @param {number} Pass end row. + * @returns {void} + */ + insertEntireRow(startRow: number, endRow: number): void; + + /** This method is used to insert a new sheet to the left of the current active sheet. + * @returns {void} + */ + insertSheet(): void; + + /** This method is used to insert cells in the selected or specified range and shift remaining cells to bottom. + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ + insertShiftBottom(startCell: any, endCell: any): void; + + /** This method is used to insert cells in the selected or specified range and shift remaining cells to right. + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ + insertShiftRight(startCell: any, endCell: any): void; + + /** This method is used to import excel file manually by using form data. + * @param {any} Pass the form data object to import files manually. + * @returns {void} + */ + import(importRequest: any): void; + + /** This method is used to load JSON data in Spreadsheet. + * @param {any} Pass the response that you want to load. + * @returns {void} + */ + loadFromJSON(response: any): void; + + /** This method is used to lock/unlock the range of cells in active sheet. Lock cells are activated only after the sheet is protected. Once the sheet is protected it is unable to lock/unlock cells. + * @param {string|Array} Pass the alpha range cells or array range of cells. + * @param {string} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} locked cells are unlocked. + * @returns {void} + */ + lockCells(range: string|Array, isLocked?: string): void; + + /** This method is used to merge cells by across in the Spreadsheet. + * @param {string} Optional. To pass the cell range or selected cells are process. + * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. + * @returns {void} + */ + mergeAcrossCells(range?: string, alertStatus?: boolean): void; + + /** This method is used to merge the selected cells in the Spreadsheet. + * @param {string|Array} Optional. To pass the cell range or selected cells are process. + * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. + * @returns {void} + */ + mergeCells(range?: string|Array, alertStatus?: boolean): void; + + /** This method is used to select a cell or range in the Spreadsheet. + * @param {any} Pass the start cell to perform selection. + * @param {any} Pass the end cell to perform selection. + * @returns {void} + */ + performSelection(startCell: any, endCell: any): void; + + /** This method is used to protect or unprotect active sheet. + * @param {boolean} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} active sheet is unprotected. + * @returns {void} + */ + protectSheet(isProtected?: boolean): void; + + /** This method is used to refresh the content in Spreadsheet. + * @param {number} Pass the index of the sheet. + * @returns {void} + */ + refreshContent(sheetIdx: number): void; + + /** This method is used to refresh the Spreadsheet. + * @returns {void} + */ + refreshSpreadsheet(): void; + + /** This method is used to remove custom formulae in Spreadsheet. + * @param {string} Pass the name of the formula. + * @param {string} Pass the name of the function. + * @returns {void} + */ + removeCustomFormula(formulaName: string, functionName: string): void; + + /** This method is used to remove the hyperlink from selected cells of current sheet. + * @param {string} Hyperlink remove from the specified range. + * @param {boolean} Optional. If it is {{'`true`' | markdownify}}, It will clear link only not format. + * @param {boolean} Optional. Pass the status to perform undo and redo operations. + * @param {any} Optional. Pass the cells that you want to remove hyperlink. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. + * @returns {void} + */ + removeHyperlink(range: string, isClearHLink?: boolean, status?: boolean, cells?: any, skipHiddenRow?: boolean): void; + + /** This method is used to remove the range data and its defined rangeSettings property based on the specified range name. + * @param {string} Pass the defined rangeSetting property name. + * @returns {void} + */ + removeRange(rangeName: string): void; + + /** This method is used to remove the readonly option for the specified range. + * @param {string|Array} Pass the range. + * @returns {void} + */ + removeReadOnly(range?: string|Array): void; + + /** This method is used to save JSON data in Spreadsheet. + * @returns {any} + */ + saveAsJSON(): any; + + /** This method is used to save batch changes in Spreadsheet. + * @param {number} Pass the sheet index for Spreadsheet. + * @returns {void} + */ + saveBatchChanges(sheetIdx: number): void; + + /** This method is used to set the active cell in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @param {number} Pass the index of the sheet. + * @returns {void} + */ + setActiveCell(rowIdx: number, colIdx: number, sheetIdx: number): void; + + /** This method is used to set active sheet index for the Spreadsheet. + * @param {number} Pass the active sheet index for Spreadsheet. + * @returns {void} + */ + setActiveSheetIndex(sheetIdx: number): void; + + /** This method is used to set border for the specified range of cells in the Spreadsheet. + * @param {any} Pass the border properties that you want to set. + * @param {string} Optional. If range is specified, it will set border for the specified range else it will use the selected range. + * @returns {void} + */ + setBorder(property: any, range?: string): void; + + /** This method is used to set the height for the rows in the Spreadsheet. + * @param {Array|any} Pass the row index and height of the rows. + * @returns {void} + */ + setHeightToRows(heightColl: Array|any): void; + + /** This method is used to set the hyperlink in selected cells of the current sheet. + * @param {string|Array} If range is specified, it will set the hyperlink in range of the cells. + * @param {any} Pass cellAddress or webAddress + * @param {number} If we pass cellAddress then which sheet to be navigate in the applied link. + * @returns {void} + */ + setHyperlink(range: string|Array, link: any, sheetIdx: number): void; + + /** This method is used to set the readonly option for the specified range. + * @param {string|Array} Pass the range. + * @returns {void} + */ + setReadOnly(range?: string|Array): void; + + /** This method is used to set the focus to the Spreadsheet. + * @returns {void} + */ + setSheetFocus(): void; + + /** This method is used to set the width for the columns in the Spreadsheet. + * @param {Array|any} Pass the column index and width of the columns. + * @returns {void} + */ + setWidthToColumns(widthColl: Array|any): void; + + /** This method is used to rename the active sheet. + * @param {string} Pass the sheet name that you want to change the current active sheet name. + * @returns {void} + */ + sheetRename(sheetName: string): void; + + /** This method is used to display the activationPanel for the specified range name. + * @param {string} Pass the range name that you want to display the activation panel. + * @returns {void} + */ + showActivationPanel(rangeName: string): void; + + /** This method is used to show the hidden columns within the specified range in the Spreadsheet. + * @param {number} Index of the start column. + * @param {number} Optional. Index of the end column. + * @returns {void} + */ + showColumn(startColIdx: number, endColIdx: number): void; + + /** This method is used to show the formula bar in Spreadsheet. + * @returns {void} + */ + showFormulaBar(): void; + + /** This method is used to show/hide gridlines in active sheet in the Spreadsheet. + * @param {boolean} Pass {{'`true`' | markdownify}} to show the gridlines + * @returns {void} + */ + showGridlines(status: boolean): void; + + /** This method is used to show/hide the headers in active sheet in the Spreadsheet. + * @param {boolean} Pass {{'`true`' | markdownify}} to show the sheet headers. + * @returns {void} + */ + showHeadings(startRow: boolean): void; + + /** This method is used to show/hide pager in the Spreadsheet. + * @param {boolean} Pass {{'`true`' | markdownify}} to show pager. + * @returns {void} + */ + showPager(status: boolean): void; + + /** This method is used to show the hidden rows in the specified range in the Spreadsheet. + * @param {number} Index of the start row. + * @param {number} Optional. Index of the end row. + * @returns {void} + */ + showRow(startRow: number, endRow: number): void; + + /** This method is used to show waiting pop-up in Spreadsheet. + * @returns {void} + */ + showWaitingPopUp(): void; + + /** This method is used to unhide the sheet based on specified sheet name or sheet index. + * @param {string|number} Pass the sheet name or index that you want to unhide. + * @returns {void} + */ + unhideSheet(sheetInfo: string|number): void; + + /** This method is used to unmerge the selected range of cells in the Spreadsheet. + * @param {string} Optional. If the range is specified, then it will un merge the specified range else it will use the current selected range. + * @returns {void} + */ + unmergeCells(range?: string): void; + + /** This method is used to unwrap the selected range of cells in the Spreadsheet. + * @param {Array|string} Optional. If the range is specified, then it will update unwrap in the specified range else it will use the current selected range. + * @returns {void} + */ + unWrapText(range?: Array|string): void; + + /** This method is used to update the data for the specified range of cells in the Spreadsheet. + * @param {any} Pass the cells data that you want to update. + * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. + * @returns {void} + */ + updateData(data: any, range?: Array|string): void; + + /** This method is used to update the formula bar in the Spreadsheet. + * @returns {void} + */ + updateFormulaBar(): void; + + /** This method is used to update the range of cells based on the specified settings which we want to update in the Spreadsheet. + * @param {number} Pass the sheet index that you want to update. + * @param {any} Pass the dataSource, startCell and showHeader values as settings. + * @returns {void} + */ + updateRange(sheetIdx: number, settings: any): void; + + /** This method is used to update the details for custom undo and redo operations. + * @param {any} Pass the details to update undo and redo collection + * @returns {void} + */ + updateUndoRedoCollection(details: any): void; + + /** This method is used to update the unique data for the specified range of cells in Spreadsheet. + * @param {any} Pass the data that you want to update in the particular range + * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. + * @param {any} Optional. It specifies whether to skip element processing or not. + * @returns {void} + */ + updateUniqueData(data: any, range?: Array|string, skipCell?: any): void; + + /** This method is used to wrap the selected range of cells in the Spreadsheet. + * @param {Array|string} Optional. If the range is specified, then it will update wrap in the specified range else it will use the current selected range. + * @returns {void} + */ + wrapText(range?: Array|string): void; + + XLCellType: Spreadsheet.XLCellType; + + XLCFormat: Spreadsheet.XLCFormat; + + XLChart: Spreadsheet.XLChart; + + XLClipboard: Spreadsheet.XLClipboard; + + XLComment: Spreadsheet.XLComment; + + XLCMenu: Spreadsheet.XLCMenu; + + XLDragDrop: Spreadsheet.XLDragDrop; + + XLDragFill: Spreadsheet.XLDragFill; + + XLEdit: Spreadsheet.XLEdit; + + XLExport: Spreadsheet.XLExport; + + /** This method is used to get the export properties in the Spreadsheet. + * @returns {any} + */ + getExportProps(): any; + + XLFilter: Spreadsheet.XLFilter; + + XLFormat: Spreadsheet.XLFormat; + + XLFreeze: Spreadsheet.XLFreeze; + + /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. + * @returns {void} + */ + unfreezePanes(): void; + + XLPivot: Spreadsheet.XLPivot; + + XLPrint: Spreadsheet.XLPrint; + + XLResize: Spreadsheet.XLResize; + + XLRibbon: Spreadsheet.XLRibbon; + + XLSearch: Spreadsheet.XLSearch; + + XLSelection: Spreadsheet.XLSelection; + + XLShape: Spreadsheet.XLShape; + + XLSort: Spreadsheet.XLSort; + + XLValidate: Spreadsheet.XLValidate; +} +export module Spreadsheet{ + +export interface XLCellType { + + /** This method is used to set a cell type from the specified range of cells in the spreadsheet. + * @param {string} Pass the range where you want apply cell type. + * @param {any} Pass type of cell type and its settings. + * @param {number} Optional. Pass sheet index. + * @returns {void} + */ + addCellTypes(range: string,settings: any,sheetIdx: number): void; + + /** This method is used to remove cell type from the specified range of cells in the Spreadsheet. + * @param {string|Array} Pass the range where you want remove cell type. + * @param {number} Optional. Pass sheet index. + * @returns {void} + */ + removeCellTypes(range: string|Array,sheetIdx: number): void; +} + +export interface XLCFormat { + + /** This method is used to clear the applied conditional formatting rules in the Spreadsheet. + * @param {Array|string} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + clearCF(range: Array|string): void; + + /** This method is used to get the applied conditional formatting rules as array of objects based on the specified row Index and column Index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @returns {Array} + */ + getCFRule(rowIdx: number,colIdx: number): Array; + + /** This method is used to set the conditional formatting rule in the Spreadsheet. + * @param {any} Pass the rule to set. + * @returns {void} + */ + setCFRule(rule: any): void; +} + +export interface XLChart { + + /** This method is used to change the theme of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {ej.datavisualization.Chart.Theme} Pass the chart theme which want to update. + * @returns {void} + */ + changeTheme(chartId: string,theme: ej.datavisualization.Chart.Theme): void; + + /** This method is used to change the type of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {any} Pass the chart type. + * @returns {void} + */ + changeType(chartId: string,option: any): void; + + /** This method is used to change the data range of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {string} X axis range of chart data. + * @param {string} Y axis range of chart data. + * @param {string} Legend range of chart data. + * @returns {void} + */ + changeDataRange(chartId: string,xRange: string,yRange: string,lRange: string): void; + + /** This method is used to create a chart for specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will create chart for the specified range else it will use the current selected range. + * @param {any} Optional. To pass the type of chart and chart name. + * @returns {void} + */ + createChart(range: string|Array,options: any): void; + + /** This method is used to refresh the chart in the Spreadsheet. + * @param {string} To pass the chart Id. + * @param {any} To pass the type of chart and chart name. + * @returns {void} + */ + refreshChart(id: string,options: any): void; + + /** This method is used to resize the chart of specified id in the Spreadsheet. + * @param {string} To pass the chart id. + * @param {number} To pass height value. + * @param {number} To pass the width value. + * @returns {void} + */ + resizeChart(id: string,height: number,width: number): void; + + /** This method is used to update the chart element, such as axes, titles, data labels, grid lines and legends in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {ej.Spreadsheet.ChartProperties} Pass chart element value which you want to update. + * @returns {void} + */ + updateChartElement(chartId: string,value: ej.Spreadsheet.ChartProperties): void; + + /** This method is used switch row to columns and vice versa for chart in the Spreadsheet. So that the data is displayed in the chart the way you want. + * @param {string} Pass the chart id. + * @returns {void} + */ + switchRowColumn(chartId: string): void; +} + +export interface XLClipboard { + + /** This method is used to copy the selected cells in the Spreadsheet. + * @returns {void} + */ + copy(): void; + + /** This method is used to cut the selected cells in the Spreadsheet. + * @returns {void} + */ + cut(): void; + + /** This method is used to paste the cut or copied cells data in the Spreadsheet. + * @returns {void} + */ + paste(): void; +} + +export interface XLComment { + + /** This method is used to delete the comment in the specified range in Spreadsheet. + * @param {Array|string} Optional. If range is specified, it will delete comments for the specified range else it will use the current selected range. + * @param {number} Optional. If sheetIdx is specified, it will delete comment in specified sheet else it will use active sheet. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows data. + * @returns {void} + */ + deleteComment(range: Array|string,sheetIdx: number,skipHiddenRow: boolean): void; + + /** This method is used to edit the comment in the target Cell in Spreadsheet. + * @param {any} Optional. Pass the row index and column index of the cell which contains comment. + * @returns {void} + */ + editComment(targetCell: any): void; + + /** This method is used to find the next comment from the active cell in Spreadsheet. + * @returns {boolean} + */ + findNextComment(): boolean; + + /** This method is used to find the previous comment from the active cell in Spreadsheet. + * @returns {boolean} + */ + findPrevComment(): boolean; + + /** This method is used to get comment data for the specified cell. + * @param {HTMLElement} Pass the DOM element to get comment data as object. + * @returns {any} + */ + getComment(cell: HTMLElement): any; + + /** This method is used to set new comment in Spreadsheet. + * @param {string|Array} Optional. If we pass the range comment will set in the range otherwise it will set with selected cells. + * @param {string} Optional. Pass the comment data. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show comment in edit mode + * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show the user name + * @returns {void} + */ + setComment(range: string|Array,data: string,showEditPanel: boolean,showUserName: boolean): void; + + /** This method is used to show all the comments in the Spreadsheet. + * @returns {void} + */ + showAllComments(): void; + + /** This method is used to show or hide the specific comment in the Spreadsheet. + * @param {HTMLElement} Optional. Pass the cell DOM element to show or hide its comment. If pass empty argument active cell will processed. + * @returns {void} + */ + showHideComment(targetCell: HTMLElement): void; +} + +export interface XLCMenu { + + /** This method is used to dynamically add items in the context menu. + * @param {string} Specifies the context menu type in which the item to be inserted. + * @param {Array} Pass the items to be inserted + * @param {string} Specifies the type of operation to be performed + * @returns {void} + */ + addItem(target: string,itemColl: Array,operation: string): void; + + /** This method is used to change data source in the context menu. + * @param {string} Specifies the context menu type to bind the data source. + * @param {Array} Pass the data source to be binded + * @returns {void} + */ + changeDataSource(target: string,data: Array): void; + + /** This method is used to disable the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be disabled. + * @param {Array} Specifies the Menu Item id collection to be disabled + * @returns {void} + */ + disableItem(target: string,idxColl: Array): void; + + /** This method is used to enable the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be enabled. + * @param {Array} Specifies the Menu Item id collection to be enabled + * @returns {void} + */ + enableItem(target: string,idxColl: Array): void; + + /** This method is used to remove the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be removed. + * @param {Array} Specifies the Menu Item id collection to be removed + * @returns {void} + */ + removeItem(target: string,idxColl: Array): void; +} + +export interface XLDragDrop { + + /** This method is used to drag and drop the selected range of cells to destination range in the Spreadsheet. + * @param {any|Array} Pass the source range to perform drag and drop. + * @param {any|Array} Pass the destination range to drop the dragged cells. + * @returns {void} + */ + moveRangeTo(sourceRange: any|Array,destinationRange: any|Array): void; +} + +export interface XLDragFill { + + /** This method is used to perform auto fill in Spreadsheet. + * @param {any} Pass the options to perform auto fill in Spreadsheet. + * @returns {void} + */ + autoFill(options: any): void; + + /** This method is used to hide the auto fill element in the Spreadsheet. + * @returns {void} + */ + hideAutoFillElement(): void; + + /** This method is used to hide the auto fill options in the Spreadsheet. + * @returns {void} + */ + hideAutoFillOptions(): void; + + /** This method is used to set position of the auto fill element in the Spreadsheet. + * @param {boolean} Pass the isDragFill option as {{'`boolean`' | markdownify}} value to show auto fill options in Spreadsheet. + * @returns {void} + */ + positionAutoFillElement(isDragFill: boolean): void; +} + +export interface XLEdit { + + /** This method is used to calculate formulas in the specified sheet. + * @param {number} Optional. If sheet index is specified, then it will calculate formulas in the specified sheet only else it will calculate formulas in all sheets. + * @returns {void} + */ + calcNow(sheetIdx: number): void; + + /** This method is used to edit a particular cell based on the row index and column index in the Spreadsheet. + * @param {number} Pass the row index to edit particular cell. + * @param {number} Pass the column index to edit particular cell. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to maintain previous cell value. + * @returns {void} + */ + editCell(rowIdx: number,colIdx: number,oldData: boolean): void; + + /** This method is used to get the property value of particular cell, based on the row and column index in the Spreadsheet. + * @param {number} Pass the row index to get the property value. + * @param {number} Pass the column index to get the property value. + * @param {string} Optional. Pass the property name that you want("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", "decimalPlaces", "cellType"). + * @param {number} Optional. Pass the index of the sheet. + * @returns {any|string|Array} + */ + getPropertyValue(rowIdx: number,colIdx: number,prop: string,sheetIdx: number): any|string|Array; + + /** This method is used to get the property value in specified cell in Spreadsheet. + * @param {HTMLElement} Pass the cell element to get property value. + * @param {string} Pass the property name that you want ("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", "decimalPlaces", "cellType"). + * @param {number} Pass the index of sheet. + * @returns {any|string|Array} + */ + getPropertyValueByElem(elem: HTMLElement,property: string,sheetIdx: number): any|string|Array; + + /** This method is used to save the edited cell value in the Spreadsheet. + * @returns {void} + */ + saveCell(): void; + + /** This method is used to update a particular cell value in the Spreadsheet. + * @param {any} Pass row index and column index of the cell. + * @param {string|number} Pass the cell value. + * @returns {void} + */ + updateCell(cell: any,value: string|number): void; + + /** This method is used to update a particular cell value and its format in the Spreadsheet. + * @param {any} Pass row index and column index of the cell. + * @param {string|number} Pass the cell value. + * @param {string} Pass the class name to update format. + * @param {number} Pass sheet index. + * @returns {void} + */ + updateCellValue(cellIdx: any,val: string|number,formatClass: string,sheetIdx: number): void; +} + +export interface XLExport { + + /** This method is used to save the sheet data as Excel ,CSV or PDF document (.xls, .xlsx .csv, .pdf) in Spreadsheet. + * @param {string} Pass the export type that you want. + * @returns {void} + */ + export(type: string): void; + + /** This method is used to get the export properties in the Spreadsheet. + * @returns {any} + */ + getExportProps(): any; +} + +export interface XLFilter { + + /** This method is used to clear the filter in filtered columns in the Spreadsheet. + * @returns {void} + */ + clearFilter(): void; + + /** This method is used to apply filter for the selected range of cells in the Spreadsheet. + * @param {string|Array} Pass the range of the selected cells. + * @returns {void} + */ + filter(range: string|Array): void; + + /** This method is used to apply filter for the column by active cell's value in the Spreadsheet. + * @returns {void} + */ + filterByActiveCell(): void; +} + +export interface XLFormat { + + /** This method is used to convert table range to normal range. + * @param {any} Pass the sheet index and table id. + * @returns {void} + */ + convertToRange(options: any): void; + + /** This method is used to create a table for the selected range of cells in the Spreadsheet. + * @param {any} Pass the table object. + * @param {string|Array} Optional. If the range is specified, then it will create table in the specified range else it will use the current selected range. + * @returns {string} + */ + createTable(tableObject: any,range: string|Array): string; + + /** This method is used to set format style and values in a cell or range of cells. + * @param {any} Pass the formatObject which contains style, type, format, groupSeparator and decimalPlaces. + * @param {string} Pass the range to format cells. + * @returns {void} + */ + format(formatObj: any,range: string): void; + + /** This method is used to remove the style in the specified range. + * @param {Array|string} Pass the cell range . + * @param {any} Optional. Pass the options for which the style gets removed. + * @returns {void} + */ + removeStyle(range: Array|string,options: any): void; + + /** This method is used to remove table with specified tableId in the Spreadsheet. + * @param {number} Pass the tableId that you want to remove. + * @returns {void} + */ + removeTable(tableId: number): void; + + /** This method is used to update the decimal places for numeric value for the selected range of cells in the Spreadsheet. + * @param {string} Pass the decimal places type in IncreaseDecimal/DecreaseDecimal. + * @param {string|Array} Pass the range. + * @returns {void} + */ + updateDecimalPlaces(type: string,range: string|Array): void; + + /** This method is used to update the format for the selected range of cells in the Spreadsheet. + * @param {any} Pass the format object that you want to update. + * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. + * @returns {void} + */ + updateFormat(formatObj: any,range: Array): void; + + /** This method is used to update the unique format for selected range of cells in the Spreadsheet. + * @param {string} Pass the unique format class. + * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. + * @returns {void} + */ + updateUniqueFormat(formatClass: string,range: Array): void; +} + +export interface XLFreeze { + + /** This method is used to freeze columns upto the specified column index in the Spreadsheet. + * @param {number} Index of the column to be freeze. + * @returns {void} + */ + freezeColumns(colIdx: number): void; + + /** This method is used to freeze the first column in the Spreadsheet. + * @returns {void} + */ + freezeLeftColumn(): void; + + /** This method is used to freeze rows and columns before the specified cell in the Spreadsheet. + * @param {number} Index of the row to be freeze. + * @param {number} Index of the column to be freeze. + * @returns {void} + */ + freezePanes(rowIdx: number,colIdx: number): void; + + /** This method is used to freeze rows upto the specified row index in the Spreadsheet. + * @param {number} Index of the row to be freeze. + * @returns {void} + */ + freezeRows(rowIdx: number): void; + + /** This method is used to freeze the top row in the Spreadsheet. + * @returns {void} + */ + freezeTopRow(): void; + + /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. + * @returns {void} + */ + unfreezePanes(): void; +} + +export interface XLPivot { + + /** This property is used to clear the pivot table list in Spreadsheet. + * @param {string} Pass the name of the pivot table. + * @returns {void} + */ + clearPivotFieldList(pivotName: string): void; + + /** This method is used to create pivot table. + * @param {string} It specifies the range for which the pivot table is created. + * @param {string} It specifies the location in which the pivot table is created. + * @param {string} It specifies the name of the pivot table. + * @param {any} Pass the pivot table settings. + * @param {any} Pass the pivot range, sheet index, address and data source . + * @returns {string} + */ + createPivotTable(range: string,location: string,name: string,settings: any,pvt: any): string; + + /** This method is used to delete the pivot table which is selected. + * @param {string} Pass the name of the pivot table. + * @returns {void} + */ + deletePivotTable(pivotName: string): void; + + /** This method is used to refresh data in pivot table. + * @param {string} Optional. Pass the name of the pivot table. + * @param {number} Optional. Pass the index of the sheet. + * @returns {void} + */ + refreshDataSource(name: string,sheetIdx: number): void; +} + +export interface XLPrint { + + /** This method is used to print the selected contents in the Spreadsheet. + * @returns {void} + */ + printSelection(): void; + + /** This method is used to print the entire contents in the active sheet. + * @returns {void} + */ + printSheet(): void; +} + +export interface XLResize { + + /** This method is used to fit the height of rows in the Spreadsheet. + * @param {Array} Optional. Pass row index collection that you want to fit its height. + * @returns {void} + */ + fitHeight(rowIndexes: Array): void; + + /** This method is used to fit the width of columns in the Spreadsheet. + * @param {Array} Optional. Pass column index collection that you want to fit its width. + * @returns {void} + */ + fitWidth(colIndexes: Array): void; + + /** This method is used to get the column width of the specified column index in the Spreadsheet. + * @param {number} Pass the column index. + * @returns {number} + */ + getColWidth(colIdx: number): number; + + /** This method is used to get the row height of the specified row index in the Spreadsheet. + * @param {number} Pass the row index which you want to find its height. + * @returns {number} + */ + getRowHeight(rowIdx: number): number; + + /** This method is used to set the column width of the specified column index in the Spreadsheet. + * @param {number} Pass the column index. + * @param {number} Pass the width value that you want to set. + * @returns {void} + */ + setColWidth(colIdx: number,size: number): void; + + /** This method is used to set the row height of the specified row index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the height value that you want to set. + * @returns {void} + */ + setRowHeight(rowIdx: number,size: number): void; +} + +export interface XLRibbon { + + /** This method is used to add a new item in the backstage. + * @param {any} Specifies the item to be added in the backstage. + * @param {number} pass the index of the item to be added in the backstage. + * @returns {void} + */ + addBackStageItem(pageItem: any,index: number): void; + + /** This method is used to dynamically add the contextual tabs in the ribbon. + * @param {any} Specifies the contextual tab set object. + * @param {number} pass the index of the contextual tab. + * @returns {void} + */ + addContextualTabs(contextualTabSet: any,index: number): void; + + /** This method is used to dynamically add the menu item in the file menu. + * @param {Array} Specifies the item to be added + * @param {number} pass the index of the menu item. + * @returns {void} + */ + addMenuItem(item: Array,index: number): void; + + /** This method is used to add a new name in the Spreadsheet name manager. + * @param {string} Pass the name that you want to define in name manager. + * @param {string} Pass the cell reference. + * @param {string} Optional. Pass comment, if you want. + * @param {number} Optional. Pass the sheet index. + * @returns {void} + */ + addNamedRange(name: string,refersTo: string,comment: string,sheetIdx: number): void; + + /** This method is used to dynamically add the tab in the ribbon. + * @param {Array} Specifies the text to be displayed in the tab. + * @param {number} pass the groups to be displayed in the ribbon tab. + * @param {number} pass the index of the tab. + * @returns {void} + */ + addTab(tabText: Array,ribbonGroups: number,index: number): void; + + /** This method is used to dynamically add the tab group in the ribbon. + * @param {number} Specifies the ribbon tab index. + * @param {any} pass the groups to be displayed in the ribbon tab. + * @param {number} pass the index of the ribbon group. + * @returns {void} + */ + addTabGroup(tabIndex: number,tabGroup: any,groupIndex: number): void; + + /** This method is used to insert the few type (SUM, MAX, MIN, AVG, COUNT) of formulas in the selected range of cells in the Spreadsheet. + * @param {string} To pass the type("SUM","MAX","MIN","AVG","COUNT"). + * @param {string|Array} If range is specified, it will apply auto sum for the specified range else it will use the current selected range. + * @returns {void} + */ + autoSum(type: string,range: string|Array): void; + + /** This method is used to hide the file menu in the ribbon tab. + * @returns {void} + */ + hideMenu(): void; + + /** This method is used to remove the item from the backstage in the spreadsheet. + * @param {number} Specifies the index of the item to be removed from backstage. + * @returns {void} + */ + removeBackStageItem(index: number): void; + + /** This method is used to remove the menu item form file menu in spreadsheet. + * @param {number} Specifies the index of the item to be removed from the file menu. + * @returns {void} + */ + removeMenuItem(index: number): void; + + /** This method is used to delete the defined name in the Spreadsheet name manager. + * @param {string} Pass the defined name that you want to remove from name manager. + * @returns {void} + */ + removeNamedRange(name: string): void; + + /** This method is used to remove the tab form ribbon in the spreadsheet. + * @param {number} Specifies the index of the tab to be removed from the ribbon. + * @param {boolean} pass the boolean value to remove the tab from ribbon + * @returns {void} + */ + removeTab(index: number,isRemoveMenu: boolean): void; + + /** This method is used to remove the tab group form ribbon in the spreadsheet. + * @param {number} Specifies the index of the tab group to be removed from the ribbon. + * @param {string} Specifies the text to be displayed in the tab group + * @returns {void} + */ + removeTabGroup(tabIndex: number,groupText: string): void; + + /** This method is used to show the file menu in the ribbon tab. + * @returns {void} + */ + showMenu(): void; + + /** This method is used to update the menu item in the file menu. + * @param {any} Specifies the menu item to be updated in the ribbon + * @param {number} pass the index of the item to be updated + * @returns {void} + */ + updateMenuItem(item: any,index: number): void; + + /** This method is used to update the ribbon icons in the Spreadsheet. + * @returns {void} + */ + updateRibbonIcons(): void; +} + +export interface XLSearch { + + /** This method is used to find and replace all data by workbook in the Spreadsheet. + * @param {string} Pass the search data. + * @param {string} Pass the replace data. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. + * @returns {void} + */ + replaceAllByBook(findData: string,replaceData: string,isCSen: boolean,isEMatch: boolean): void; + + /** This method is used to find and replace all data by sheet in Spreadsheet. + * @param {string} Pass the search data. + * @param {string} Pass the replace data. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. + * @returns {void} + */ + replaceAllBySheet(findData: string,replaceData: string,isCSen: boolean,isEMatch: boolean): void; +} + +export interface XLSelection { + + /** This method is used to clear the selection of the active sheet in the Spreadsheet. + * @returns {void} + */ + clearAll(): void; + + /** This method is used to get the selected cells element based on specified sheet index in the Spreadsheet. + * @param {number} Pass the sheet index to get the cells element. + * @returns {HTMLElement} + */ + getSelectedCells(sheetIdx: number): HTMLElement; + + /** This method is used to refresh the selection in the Spreadsheet. + * @param {Array|string} Optional. Pass range to refresh selection. + * @returns {void} + */ + refreshSelection(range: Array|string): void; + + /** This method is used to select a single column in the Spreadsheet. + * @param {number} Pass the column index value. + * @returns {void} + */ + selectColumn(colIdx: number): void; + + /** This method is used to select entire columns in a specified range (start index and end index) in the Spreadsheet. + * @param {number} Pass the column start index. + * @param {number} Pass the column end index. + * @returns {void} + */ + selectColumns(startIdx: number,endIdx: number): void; + + /** This method is used to select the specified range of cells in the Spreadsheet. + * @param {string} Pass range which want to select. + * @returns {void} + */ + selectRange(range: string): void; + + /** This method is used to select a single row in the Spreadsheet. + * @param {number} Pass the row index value. + * @returns {void} + */ + selectRow(rowIdx: number): void; + + /** This method is used to select entire rows in a specified range (start index and end index) in the Spreadsheet. + * @param {number} Pass the start row index. + * @param {number} Pass the end row index. + * @returns {void} + */ + selectRows(startIdx: number,endIdx: number): void; + + /** This method is used to select all cells in active sheet. + * @returns {void} + */ + selectSheet(): void; +} + +export interface XLShape { + + /** This method is used to set a picture in the Spreadsheet. + * @param {string} Pass the range of the cell. + * @param {string} Pass the path of the specified image. + * @param {number} Optional. Pass the width of the image that you want to set. + * @param {number} Optional. Pass the height of the image that you want to set. + * @param {number} Optional. Pass the top of the image that you want to set. + * @param {number} Optional. Pass the left of the image that you want to set. + * @returns {string} + */ + setPicture(range: string,url: string,width: number,height: number,top: number,left: number): string; +} + +export interface XLSort { + + /** This method is used to sort a particular range of cells based on its cell or font color in the Spreadsheet. + * @param {string} Pass {{'`PutCellColor`' | markdownify}} to sort by cell color or {{'`PutFontColor`' | markdownify}} for sort by font color. + * @param {any} Pass the HEX color code to sort. + * @param {string} Pass the range + * @returns {void} + */ + sortByColor(operation: string,color: any,range: string): void; + + /** This method is used to sort a particular range of cells based on its values in the Spreadsheet. + * @param {Array|string} Pass the range to sort. + * @param {string} Pass the column name. + * @param {any} Pass the direction to sort (ascending or descending). + * @returns {boolean} + */ + sortByRange(range: Array|string,columnName: string,direction: any): boolean; +} + +export interface XLValidate { + + /** This method is used to apply data validation rules in a selected range of cells based on the defined condition in the Spreadsheet. + * @param {string|Array} If range is specified, it will apply rules for the specified range else it will use the current selected range. + * @param {Array} Pass the validation condition, value1 and value2. + * @param {string} Pass the data type. + * @param {boolean} Pass {{'`true`' | markdownify}} if you ignore blank values. + * @param {boolean} Pass {{'`true`' | markdownify}} if you want to show an error alert. + * @returns {void} + */ + applyDVRules(range: string|Array,values: Array,type: string,required: boolean,showErrorAlert: boolean): void; + + /** This method is used to clear the applied validation rules in a specified range of cells in the Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + clearDV(range: string|Array): void; + + /** This method is used to highlight invalid data in a specified range of cells in the Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + highlightInvalidData(range: string|Array): void; +} + +export interface Model { + + /** Gets or sets an active sheet index in the Spreadsheet. By defining this value, you can specify which sheet should be active in workbook. + * @Default {1} + */ + activeSheetIndex?: number; + + /** Gets or sets a value that indicates whether to enable or disable auto rendering of cell type in the Spreadsheet. + * @Default {false} + */ + allowAutoCellType?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable auto fill feature in the Spreadsheet. + * @Default {true} + */ + allowAutoFill?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable auto sum feature in the Spreadsheet. + * @Default {true} + */ + allowAutoSum?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable cell format feature in the Spreadsheet. By enabling this, you can customize styles and number formats. + * @Default {true} + */ + allowCellFormatting?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable cell type feature in the Spreadsheet. + * @Default {false} + */ + allowCellType?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable chart feature in the Spreadsheet. By enabling this feature, you can create and customize charts in Spreadsheet. + * @Default {true} + */ + allowCharts?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable clear feature in the Spreadsheet. + * @Default {true} + */ + allowClear?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable clipboard feature in the Spreadsheet. By enabling this feature, you can perform cut/copy and paste operations in Spreadsheet. + * @Default {true} + */ + allowClipboard?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable comment feature in the Spreadsheet. By enabling this, you can add/delete/modify comments in Spreadsheet. + * @Default {true} + */ + allowComments?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable Conditional Format feature in the Spreadsheet. By enabling this, you can apply formatting to the selected range of cells based on the provided conditions (Greater than, Less than, Equal, Between, Contains, etc.). + * @Default {true} + */ + allowConditionalFormats?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable data validation feature in the Spreadsheet. + * @Default {true} + */ + allowDataValidation?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the delete action in the Spreadsheet. By enabling this feature, you can delete existing rows, columns, cells and sheet. + * @Default {true} + */ + allowDelete?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable drag and drop feature in the Spreadsheet. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the edit action in the Spreadsheet. + * @Default {true} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable filtering feature in the Spreadsheet. Filtering can be used to limit the data displayed using required criteria. + * @Default {true} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable table feature in the Spreadsheet. By enabling this, you can render table in selected range. + * @Default {true} + */ + allowFormatAsTable?: boolean; + + /** Get or sets a value that indicates whether to enable or disable format painter feature in the Spreadsheet. By enabling this feature, you can copy the format from the selected range and apply it to another range. + * @Default {true} + */ + allowFormatPainter?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable formula bar in the Spreadsheet. + * @Default {true} + */ + allowFormulaBar?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable freeze pane support in Spreadsheet. By enabling this feature, you can use freeze top row, freeze first column and freeze panes options. + * @Default {true} + */ + allowFreezing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable hyperlink feature in the Spreadsheet. By enabling this feature, you can add hyperlink which is used to easily navigate to the cell reference from one sheet to another or a web page. + * @Default {true} + */ + allowHyperlink?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable import feature in the Spreadsheet. By enabling this feature, you can open existing Spreadsheet documents. + * @Default {true} + */ + allowImport?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the insert action in the Spreadsheet. By enabling this feature, you can insert new rows, columns, cells and sheet. + * @Default {true} + */ + allowInsert?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable keyboard navigation feature in the Spreadsheet. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable lock cell feature in the Spreadsheet. + * @Default {true} + */ + allowLockCell?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable merge feature in the Spreadsheet. + * @Default {true} + */ + allowMerging?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable overflow feature in the Spreadsheet. + * @Default {true} + */ + allowOverflow?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable resizing feature in the Spreadsheet. By enabling this feature, you can change the column width and row height by dragging its header boundaries. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable find and replace feature in the Spreadsheet. By enabling this, you can easily find and replace a specific value in the sheet or workbook. By using goto behavior, you can select and highlight all cells that contains specific data or data types. + * @Default {true} + */ + allowSearching?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable selection in the Spreadsheet. By enabling this feature, selected items will be highlighted. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether to enable the sorting feature in the Spreadsheet. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable undo and redo feature in the Spreadsheet. + * @Default {true} + */ + allowUndoRedo?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable wrap text feature in the Spreadsheet. By enabling this, cell content can wrap to the next line, if the cell content exceeds the boundary of the cell. + * @Default {true} + */ + allowWrap?: boolean; + + /** Gets or sets a value that indicates to define the width of the activation panel in Spreadsheet. + * @Default {300} + */ + apWidth?: number; + + /** Gets or sets an object that indicates to customize the auto fill behavior in the Spreadsheet. + */ + autoFillSettings?: AutoFillSettings; + + /** Gets or sets an object that indicates to customize the chart behavior in the Spreadsheet. + */ + chartSettings?: ChartSettings; + + /** Gets or sets a value that defines the number of columns displayed in the sheet. + * @Default {21} + */ + columnCount?: number; + + /** Gets or sets a value that indicates to define the common width for each column in the Spreadsheet. + * @Default {64} + */ + columnWidth?: number; + + /** Gets or sets a value to add root CSS class for customizing Spreadsheet skins. + */ + cssClass?: string; + + /** Gets or sets a value that indicates custom formulas in Spreadsheet. + * @Default {[]} + */ + customFormulas?: Array; + + /** Gets or sets a value that indicates whether to enable or disable context menu in the Spreadsheet. + * @Default {true} + */ + enableContextMenu?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable pivot table in the Spreadsheet. + * @Default {false} + */ + enablePivotTable?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable touch support in the Spreadsheet. + * @Default {true} + */ + enableTouch?: boolean; + + /** Gets or sets an object that indicates to customize the exporting behavior in Spreadsheet. + */ + exportSettings?: ExportSettings; + + /** Gets or sets an object that indicates to customize the format behavior in the Spreadsheet. + */ + formatSettings?: FormatSettings; + + /** Gets or sets an object that indicates to customize the import behavior in the Spreadsheet. + */ + importSettings?: ImportSettings; + + /** Gets or sets a value that indicates whether to enable or disable readonly support in the Spreadsheet. + * @Default {false} + */ + isReadOnly?: boolean; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data (i.e.) in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets a value that indicates name manager in Spreadsheet. + */ + nameManager?: Array; + + /** Gets or sets an object that indicates to customize the picture behavior in the Spreadsheet. + */ + pictureSettings?: PictureSettings; + + /** Gets or sets an object that indicates to customize the print option in Spreadsheet. + */ + printSettings?: PrintSettings; + + /** Gets or sets an object that indicates to customize the ribbon settings in Spreadsheet. + */ + ribbonSettings?: RibbonSettings; + + /** Gets or sets a value that indicates whether to define the number of rows to be displayed in the sheet. + * @Default {20} + */ + rowCount?: number; + + /** Gets or sets a value that indicates to define the common height for each row in the sheet. + * @Default {20} + */ + rowHeight?: number; + + /** Gets or sets an object that indicates to customize the scroll options in the Spreadsheet. + */ + scrollSettings?: ScrollSettings; + + /** Gets or sets an object that indicates to customize the selection options in the Spreadsheet. + */ + selectionSettings?: SelectionSettings; + + /** Gets or sets a value that indicates to define the number of sheets to be created at the initial load. + * @Default {1} + */ + sheetCount?: number; + + /** Gets or sets an object that indicates to customize the sheet behavior in Spreadsheet. + */ + sheets?: Array; + + /** Gets or sets a value that indicates whether to show or hide pager in the Spreadsheet. + * @Default {true} + */ + showPager?: boolean; + + /** Gets or sets a value that indicates whether to show or hide ribbon in the Spreadsheet. + * @Default {true} + */ + showRibbon?: boolean; + + /** This is used to set the number of undo-redo steps in the Spreadsheet. + * @Default {20} + */ + undoRedoStep?: number; + + /** Define the username for the Spreadsheet which is displayed in comment. + * @Default {User Name} + */ + userName?: string; + + /** Triggered for every action before its starts. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggered for every action complete. */ + actionComplete? (e: ActionCompleteEventArgs): void; + + /** Triggered when the auto fill operation begins. */ + autoFillBegin? (e: AutoFillBeginEventArgs): void; + + /** Triggered when the auto fill operation completes. */ + autoFillComplete? (e: AutoFillCompleteEventArgs): void; + + /** Triggered before the batch save. */ + beforeBatchSave? (e: BeforeBatchSaveEventArgs): void; + + /** Triggered before the cells to be formatted. */ + beforeCellFormat? (e: BeforeCellFormatEventArgs): void; + + /** Triggered before the cell selection. */ + beforeCellSelect? (e: BeforeCellSelectEventArgs): void; + + /** Triggered before the selected cells are dropped. */ + beforeDrop? (e: BeforeDropEventArgs): void; + + /** Triggered while start to edit the comment. */ + beforeEditComment? (e: BeforeEditCommentEventArgs): void; + + /** Triggered before the contextmenu is open. */ + beforeOpen? (e: BeforeOpenEventArgs): void; + + /** Triggered before the activation panel is open. */ + beforePanelOpen? (e: BeforePanelOpenEventArgs): void; + + /** Triggered when click on sheet cell. */ + cellClick? (e: CellClickEventArgs): void; + + /** Triggered when the cell is edited. */ + cellEdit? (e: CellEditEventArgs): void; + + /** Triggered while cell is formatting. */ + cellFormatting? (e: CellFormattingEventArgs): void; + + /** Triggered when mouse hover on cell in sheets. */ + cellHover? (e: CellHoverEventArgs): void; + + /** Triggered when save the edited cell. */ + cellSave? (e: CellSaveEventArgs): void; + + /** Triggered when the cell is selected. */ + cellSelected? (e: CellSelectedEventArgs): void; + + /** Triggered when click the contextmenu items. */ + contextMenuClick? (e: ContextMenuClickEventArgs): void; + + /** Triggered when the selected cells are being dragged. */ + drag? (e: DragEventArgs): void; + + /** Triggered when you start to drag the picture or chart. */ + dragShape? (e: DragShapeEventArgs): void; + + /** Triggered when the selected cells are initiated to drag. */ + dragStart? (e: DragStartEventArgs): void; + + /** Triggered when the selected cells are dropped. */ + drop? (e: DropEventArgs): void; + + /** Triggered before the range editing starts. */ + editRangeBegin? (e: EditRangeBeginEventArgs): void; + + /** Triggered after range editing completes. */ + editRangeComplete? (e: EditRangeCompleteEventArgs): void; + + /** Triggered when the key is pressed down. */ + keyDown? (e: KeyDownEventArgs): void; + + /** Triggered when the key is released. */ + keyUp? (e: KeyUpEventArgs): void; + + /** Triggered before the sheet is loaded. */ + load? (e: LoadEventArgs): void; + + /** Triggered after the sheet is loaded. */ + loadComplete? (e: LoadCompleteEventArgs): void; + + /** Triggered every click of the menu item. */ + menuClick? (e: MenuClickEventArgs): void; + + /** Triggered when a file is imported. */ + onImport? (e: OnImportEventArgs): void; + + /** Triggered when import sheet is failed to open. */ + openFailure? (e: OpenFailureEventArgs): void; + + /** Triggered when pager item is clicked in the Spreadsheet. */ + pagerClick? (e: PagerClickEventArgs): void; + + /** Triggered when you start resizing the chart, picture, row and column. */ + resizeStart? (e: ResizeStartEventArgs): void; + + /** Triggered after end of resizing the chart, picture, row and column. */ + resizeEnd? (e: ResizeEndEventArgs): void; + + /** Triggered when click on the ribbon. */ + ribbonClick? (e: RibbonClickEventArgs): void; + + /** Triggered when the chart series rendering. */ + seriesRendering? (e: SeriesRenderingEventArgs): void; + + /** Triggered when click the ribbon tab. */ + tabClick? (e: TabClickEventArgs): void; + + /** Triggered when select the ribbon tab. */ + tabSelect? (e: TabSelectEventArgs): void; +} + +export interface ActionBeginEventArgs { + + /** Returns the applied style format object. + */ + afterFormat?: any; + + /** Returns the applied style format object. + */ + beforeFormat?: any; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the cell range. + */ + range?: Array; + + /** Returns the action format. + */ + reqType?: string; + + /** Returns goto index while paging. + */ + gotoIdx?: number; + + /** Returns boolean value. If create new sheet it returns true. + */ + newSheet?: boolean; + + /** Return column name while sorting. + */ + columnName?: string; + + /** Returns selected columns while sorting or filtering begins. + */ + colSelected?: number; + + /** Returns sort direction while sort action begins. + */ + sortDirection?: string; +} + +export interface ActionCompleteEventArgs { + + /** Returns Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the applied cell format object. + */ + selectedCell?: Array|any; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the request type. + */ + reqType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface AutoFillBeginEventArgs { + + /** Returns auto fill begin cell range. + */ + dataRange?: Array; + + /** Returns which direction drag the auto fill. + */ + direction?: string; + + /** Returns fill cells range. + */ + fillRange?: Array; + + /** Returns the auto fill type. + */ + fillType?: string; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface AutoFillCompleteEventArgs { + + /** Returns auto fill begin cell range. + */ + dataRange?: Array; + + /** Returns which direction to drag the auto fill. + */ + direction?: string; + + /** Returns fill cells range. + */ + fillRange?: Array; + + /** Returns the auto fill type. + */ + fillType?: string; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface BeforeBatchSaveEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the query, primary key,batch changes for the data Source. + */ + dataSetting?: any; + + /** Returns the changed record object. + */ + batchChanges?: any; +} + +export interface BeforeCellFormatEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the applied style format object. + */ + format?: any; + + /** Returns the selected cells. + */ + cells?: Array|any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface BeforeCellSelectEventArgs { + + /** Returns the previous cell range. + */ + prevRange?: Array; + + /** Returns the current cell range. + */ + currRange?: Array; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface BeforeDropEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the cell Overwriting alert option value. + */ + preventAlert?: boolean; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface BeforeEditCommentEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the comment cell index. + */ + cellIndex?: any; + + /** Returns the disable option value. + */ + disable?: boolean; + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns the value of the comment + */ + value?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface BeforeOpenEventArgs { + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface BeforePanelOpenEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the activation panel element. + */ + activationPanel?: any; + + /** Returns the range option value. + */ + range?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface CellClickEventArgs { + + /** Returns the click cell element. + */ + cell?: HTMLElement; + + /** Returns the column index of clicked cell. + */ + columnIndex?: number; + + /** Returns the row index of clicked cell. + */ + rowIndex?: number; + + /** Returns the column name of clicked cell. + */ + columnName?: string; + + /** Returns the column information. + */ + columnObject?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the value of the cell. + */ + value?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface CellEditEventArgs { + + /** Returns the click cell element. + */ + cell?: HTMLElement; + + /** Returns the columnName of clicked cell. + */ + columnName?: string; + + /** Returns the column field information. + */ + columnObject?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface CellFormattingEventArgs { + + /** Returns the sheet index + */ + SheetIdx?: number; + + /** Returns the applied style format object + */ + Format?: any; + + /** Returns the cell index. + */ + Cell?: number; + + /** Returns the name of the CSS theme. + */ + cssClass?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; +} + +export interface CellHoverEventArgs { + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface CellSaveEventArgs { + + /** Returns the save cell element. + */ + cell?: HTMLElement; + + /** Returns the columnName of clicked cell. + */ + columnName?: string; + + /** Returns the column field information. + */ + columnObject?: any; + + /** Returns the index of the row. + */ + rowIndex?: number; + + /** Returns the index of the column. + */ + colIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cell previous value. + */ + pValue?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cell value. + */ + value?: string; +} + +export interface CellSelectedEventArgs { + + /** Returns the active sheet index. + */ + sheetIdx?: number; + + /** Returns the selected range. + */ + selectedRange?: Array; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface ContextMenuClickEventArgs { + + /** Returns target element Id. + */ + Id?: string; + + /** Returns the target element. + */ + element?: HTMLElement; + + /** Returns event information. + */ + event?: any; + + /** Returns target element and event information. + */ + events?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns target element parent Id. + */ + parentId?: string; + + /** Returns target element parent text. + */ + parentText?: string; + + /** Returns target element text. + */ + text?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface DragEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface DragShapeEventArgs { + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface DragStartEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface DropEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface EditRangeBeginEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the range option value. + */ + range?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface EditRangeCompleteEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the range option value. + */ + range?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface KeyDownEventArgs { + + /** Returns the sheet index. + */ + sheetIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the boolean value. + */ + isCommentEdit?: boolean; + + /** Returns the boolean value. + */ + isEdit?: boolean; + + /** Returns the boolean value. + */ + isSheetRename?: boolean; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface KeyUpEventArgs { + + /** Returns the sheet index. + */ + sheetIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the boolean value. + */ + isCommentEdit?: boolean; + + /** Returns the boolean value. + */ + isEdit?: boolean; + + /** Returns the boolean value. + */ + isSheetRename?: boolean; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface LoadEventArgs { + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the active sheet index. + */ + sheetIndex?: number; +} + +export interface LoadCompleteEventArgs { + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface MenuClickEventArgs { + + /** Returns menu click element. + */ + element?: HTMLElement; + + /** Returns the event information. + */ + event?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns target element parent Id. + */ + parentId?: string; + + /** Returns target element parent text. + */ + parentText?: string; + + /** Returns target element text. + */ + text?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface OnImportEventArgs { + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the imported data. + */ + importData?: any; +} + +export interface OpenFailureEventArgs { + + /** Returns the failure type. + */ + failureType?: string; + + /** Returns the status index. + */ + status?: number; + + /** Returns the status in text. + */ + statusText?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface PagerClickEventArgs { + + /** Returns the active sheet index. + */ + activeSheet?: number; + + /** Returns the new sheet index. + */ + gotoSheet?: number; + + /** Returns whether new sheet icon is clicked. + */ + newSheet?: boolean; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface ResizeStartEventArgs { + + /** Returns the column index which column you start to resize. + */ + colIndex?: number; + + /** Returns the row index which row you start to resize. + */ + rowIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns type of the request. + */ + reqType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface ResizeEndEventArgs { + + /** Returns the column index which you resized. + */ + colIndex?: number; + + /** Returns old width of the column or shape. + */ + oldWidth?: number; + + /** Returns new width of the column or shape. + */ + newWidth?: number; + + /** Returns the row index which you resized. + */ + rowIndex?: number; + + /** Returns old height of the row or shape. + */ + oldHeight?: number; + + /** Returns new height of the row or shape. + */ + newHeight?: number; + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns type of the request. + */ + reqType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface RibbonClickEventArgs { + + /** Returns element Id. + */ + Id?: string; + + /** Returns target information. + */ + prop?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns status. + */ + status?: boolean; + + /** Returns isChecked in boolean. + */ + isChecked?: boolean; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface SeriesRenderingEventArgs { + + /** Returns chart data and chart information. + */ + data?: any; + + /** Returns the chart model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface TabClickEventArgs { + + /** Returns the active tab index. + */ + activeIndex?: number; + + /** Returns active tab header element. + */ + activeHeader?: any; + + /** Returns previous active tab header element. + */ + prevActiveHeader?: any; + + /** Returns previous active tab index. + */ + prevActiveIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface TabSelectEventArgs { + + /** Returns the active tab index. + */ + activeIndex?: number; + + /** Returns active tab header element. + */ + activeHeader?: any; + + /** Returns previous active tab header element. + */ + prevActiveHeader?: any; + + /** Returns previous active tab index. + */ + prevActiveIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; +} + +export interface AutoFillSettings { + + /** This property is used to set fillType unit in Spreadsheet. It has five types which are CopyCells, FillSeries, FillFormattingOnly, FillWithoutFormatting and FlashFill. + * @Default {ej.Spreadsheet.AutoFillOptions.FillSeries} + */ + fillType?: ej.Spreadsheet.AutoFillOptions|string; + + /** Gets or sets a value that indicates to enable or disable auto fill options in the Spreadsheet. + * @Default {true} + */ + showFillOptions?: boolean; +} + +export interface ChartSettings { + + /** Gets or sets a value that defines the chart height in Spreadsheet. + * @Default {220} + */ + height?: number; + + /** Gets or sets a value that defines the chart width in the Spreadsheet. + * @Default {440} + */ + width?: number; +} + +export interface ExportSettings { + + /** Gets or sets a value that indicates whether to enable or disable save feature in Spreadsheet. By enabling this feature, you can save existing Spreadsheet. + * @Default {true} + */ + allowExporting?: boolean; + + /** Gets or sets a value that indicates to define csvUrl for export to CSV format. + * @Default {null} + */ + csvUrl?: string; + + /** Gets or sets a value that indicates to define excelUrl for export to excel format. + * @Default {null} + */ + excelUrl?: string; + + /** Gets or sets a value that indicates to define password while export to excel format. + * @Default {null} + */ + password?: string; + + /** Gets or sets a value that indicates to define pdfUrl for export to PDF format. + * @Default {null} + */ + pdfUrl?: string; +} + +export interface FormatSettings { + + /** Gets or sets a value that indicates whether to enable or disable cell border feature in the Spreadsheet. + * @Default {true} + */ + allowCellBorder?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable decimal places in the Spreadsheet. + * @Default {true} + */ + allowDecimalPlaces?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable font family feature in Spreadsheet. + * @Default {true} + */ + allowFontFamily?: boolean; +} + +export interface ImportSettings { + + /** Sets import mapper to perform import feature in Spreadsheet. + */ + importMapper?: string; + + /** Gets or sets a value that indicates whether to enable or disable import while initial loading. + * @Default {false} + */ + importOnLoad?: boolean; + + /** Sets import URL to access the online files in the Spreadsheet. + */ + importUrl?: string; + + /** Gets or sets a value that indicates to define password while importing in the Spreadsheet. + */ + password?: string; +} + +export interface NameManager { + + /** Specifies the name for the cell or a range. + */ + name?: string; + + /** Specifies the address for the cell or a range. + */ + refersto?: string; +} + +export interface PictureSettings { + + /** Gets or sets a value that indicates whether to enable or disable picture feature in Spreadsheet. By enabling this, you can add pictures in Spreadsheet. + * @Default {true} + */ + allowPictures?: boolean; + + /** Gets or sets a value that indicates to define height to picture in the Spreadsheet. + * @Default {220} + */ + height?: number; + + /** Gets or sets a value that indicates to define width to picture in the Spreadsheet. + * @Default {440} + */ + width?: number; +} + +export interface PrintSettings { + + /** Gets or sets a value that indicates whether to enable or disable page setup support for printing in Spreadsheet. + * @Default {true} + */ + allowPageSetup?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable page size support for printing in Spreadsheet. + * @Default {false} + */ + allowPageSize?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable print feature in the Spreadsheet. + * @Default {true} + */ + allowPrinting?: boolean; +} + +export interface RibbonSettingsApplicationTabMenuSettings { + + /** Gets or sets a value that indicates whether to enable or disable isAppend property in ribbon settings. + * @Default {false} + */ + isAppend?: boolean; + + /** Specifies the data source to append in application tab. + * @Default {[]} + */ + dataSource?: Array; +} + +export interface RibbonSettingsApplicationTab { + + /** Gets or sets a value that indicates to set application tab type in Spreadsheet. It has two types, Menu and Backstage. + * @Default {ej.Ribbon.ApplicationTabType.Backstage} + */ + type?: ej.Ribbon.ApplicationTabType|string; + + /** Gets or sets an object that indicates menu settings for application tab in Spreadsheet. + */ + menuSettings?: RibbonSettingsApplicationTabMenuSettings; +} + +export interface RibbonSettings { + + /** Gets or sets an object that indicates application tab settings in Spreadsheet. + */ + applicationTab?: RibbonSettingsApplicationTab; +} + +export interface ScrollSettings { + + /** Gets or sets a value that indicates whether to enable or disable scrolling in Spreadsheet. + * @Default {true} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable sheet on demand. By enabling this, it render only the active sheet element while paging remaining sheets are created one by one. + * @Default {false} + */ + allowSheetOnDemand?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable virtual scrolling feature in the Spreadsheet. + * @Default {true} + */ + allowVirtualScrolling?: boolean; + + /** Gets or sets the value that indicates to define the height of spreadsheet. + * @Default {100%} + */ + height?: number|string; + + /** Gets or sets the value that indicates whether to enable or disable responsive mode in the Spreadsheet. + * @Default {true} + */ + isResponsive?: boolean; + + /** Gets or sets a value that indicates to set scroll mode in Spreadsheet. It has two scroll modes, Normal and Infinite. + * @Default {ej.Spreadsheet.scrollMode.Infinite} + */ + scrollMode?: ej.Spreadsheet.scrollMode|string; + + /** Gets or sets the value that indicates to define the height of the spreadsheet. + * @Default {100%} + */ + width?: number|string; +} + +export interface SelectionSettings { + + /** Gets or sets a value that indicates to define active cell in spreadsheet. + */ + activeCell?: string; + + /** Gets or sets a value that indicates to define animation time while selection in the Spreadsheet. + * @Default {0.001} + */ + animationTime?: number; + + /** Gets or sets a value that indicates to enable or disable animation while selection. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Gets or sets a value that indicates to set selection type in Spreadsheet. It has three types which are Column, Row and Default. + * @Default {ej.Spreadsheet.SelectionType.Default} + */ + selectionType?: ej.Spreadsheet.SelectionType|string; + + /** Gets or sets a value that indicates to set selection unit in Spreadsheet. It has three types which are Single, Range and MultiRange. + * @Default {ej.Spreadsheet.SelectionUnit.MultiRange} + */ + selectionUnit?: ej.Spreadsheet.SelectionUnit|string; +} + +export interface SheetsBorder { + + /** + */ + type?: ej.Spreadsheet.BorderType|string; + + /** Specifies border color for range of cells in Spreadsheet. + */ + color?: string; + + /** To apply border for the specified range of cell. + */ + range?: string; +} + +export interface SheetsCFormatRule { + + /** Specifies the conditions to apply for the range of cells in Spreadsheet. + */ + action?: ej.Spreadsheet.CFormatRule|string; + + /** Specifies the color to apply for the range of cell while conditional formatting. + */ + color?: ej.Spreadsheet.CFormatHighlightColor|string; + + /** Specifies the inputs for conditional formatting in Spreadsheet. + * @Default {[]} + */ + inputs?: Array; + + /** Specifies the range for conditional formatting in Spreadsheet. + */ + range?: string; +} + +export interface SheetsRangeSetting { + + /** Gets or sets the data to render the Spreadsheet. + * @Default {null} + */ + dataSource?: any; + + /** Specifies the header styles for the headers in datasource range. + * @Default {null} + */ + headerStyles?: any; + + /** Specifies the primary key for the datasource in Spreadsheet. + */ + primaryKey?: string; + + /** Specifies the query for the datasource in Spreadsheet. + * @Default {null} + */ + query?: any; + + /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. + * @Default {true} + */ + showHeader?: boolean; + + /** Specifies the start cell for the datasource range in Spreadsheet. + * @Default {A1} + */ + startCell?: string; +} + +export interface SheetsRowsCellsComment { + + /** Get or sets the value that indicates whether to show or hide comments in Spreadsheet. + * @Default {false} + */ + isVisible?: boolean; + + /** Specifies the value for the comment in Spreadsheet. + */ + value?: string; +} + +export interface SheetsRowsCellsFormat { + + /** Specifies the number of decimal places for the given input. + * @Default {2} + */ + decimalPlaces?: number; + + /** Specifies the string format for the given input. + */ + formatStr?: string; + + /** Specifies the thousand separator for the given input. + * @Default {false} + */ + thousandSeparator?: boolean; + + /** Specifies the type of the format in Spreadsheet. + */ + type?: string; +} + +export interface SheetsRowsCellsHyperlink { + + /** Specifies the web address for the hyperlink of a cell. + */ + webAddr?: string; + + /** Specifies the cell address for the hyperlink of a cell. + */ + cellAddr?: string; + + /** Specifies the sheet index to which the cell is referred. + * @Default {1} + */ + sheetIndex?: number; +} + +export interface SheetsRowsCellsStyle { + + /** Specifies the background color of a cell in the Spreadsheet. + */ + backgroundColor?: string; + + /** Specifies the font color of a cell in the Spreadsheet. + */ + color?: string; + + /** Specifies the font weight of a cell in the Spreadsheet. + */ + fontWeight?: string; +} + +export interface SheetsRowsCell { + + /** Specifies the comment for a cell in Spreadsheet. + * @Default {null} + */ + comment?: SheetsRowsCellsComment; + + /** Specifies the format of a cell in Spreadsheet. + * @Default {null} + */ + format?: SheetsRowsCellsFormat; + + /** Specifies the hyperlink for a cell in Spreadsheet. + * @Default {null} + */ + hyperlink?: SheetsRowsCellsHyperlink; + + /** Specifies the index of a cell in Spreadsheet. + * @Default {0} + */ + index?: number; + + /** Specifies whether to lock or unlock a particular cell. + * @Default {false} + */ + isLocked?: boolean; + + /** Specifies the styles of a cell in Spreadsheet. + * @Default {null} + */ + style?: SheetsRowsCellsStyle; + + /** Specifies the value for a cell in Spreadsheet. + */ + value?: string; +} + +export interface SheetsRow { + + /** Gets or sets the height of a row in Spreadsheet. + * @Default {20} + */ + height?: number; + + /** Specifies the cells of a row in Spreadsheet. + * @Default {[]} + */ + cells?: Array; + + /** Gets or sets the index of a row in Spreadsheet. + * @Default {0} + */ + index?: number; +} + +export interface Sheet { + + /** Specifies the border for the cell in the Spreadsheet. + * @Default {[]} + */ + border?: Array; + + /** Specifies the cell types for a cell or range in Spreadsheet. + * @Default {[]} + */ + cellTypes?: Array; + + /** Specifies the conditional formatting for the range of cell in Spreadsheet. + * @Default {[]} + */ + cFormatRule?: Array; + + /** Gets or sets a value that indicates to define column count in the Spreadsheet. + * @Default {21} + */ + colCount?: number; + + /** Gets or sets a value that indicates to define column width in the Spreadsheet. + * @Default {64} + */ + columnWidth?: number; + + /** Gets or sets the data to render the Spreadsheet. + * @Default {null} + */ + dataSource?: any; + + /** Gets or sets a value that indicates whether to enable or disable field as column header in the Spreadsheet. + * @Default {false} + */ + fieldAsColumnHeader?: boolean; + + /** Gets or sets a value to freeze rows in the Spreadsheet. + * @Default {0} + */ + frozenRows?: number; + + /** Gets or sets a value to freeze columns in the Spreadsheet. + * @Default {0} + */ + frozenColumns?: number; + + /** Specifies the header styles for the headers in datasource range. + * @Default {null} + */ + headerStyles?: any; + + /** To hide the specified columns in Spreadsheet. + * @Default {[]} + */ + hideColumns?: Array; + + /** To hide the specified rows in Spreadsheet. + * @Default {[]} + */ + hideRows?: Array; + + /** To merge specified ranges in Spreadsheet. + * @Default {[]} + */ + mergeCells?: Array; + + /** Specifies the primary key for the datasource in Spreadsheet. + */ + primaryKey?: string; + + /** Specifies the query for the dataSource in Spreadsheet. + * @Default {null} + */ + query?: any; + + /** Specifies single range or multiple range settings for a sheet in Spreadsheet. + * @Default {[]} + */ + rangeSettings?: Array; + + /** Gets or sets a value that indicates to define row count in the Spreadsheet. + * @Default {20} + */ + rowCount?: number; + + /** Specifies the rows for a sheet in Spreadsheet. + * @Default {[]} + */ + rows?: Array; + + /** Gets or sets a value that indicates whether to show or hide grid lines in the Spreadsheet. + * @Default {true} + */ + showGridlines?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. + * @Default {true} + */ + showHeader?: boolean; + + /** Gets or sets a value that indicates whether to show or hide headings in the Spreadsheet. + * @Default {true} + */ + showHeadings?: boolean; + + /** Specifies the start cell for the datasource range in Spreadsheet. + * @Default {A1} + */ + startCell?: string; +} + +enum AutoFillOptions{ + + ///Specifies the CopyCells property in AutoFillOptions. + CopyCells, + + ///Specifies the FillSeries property in AutoFillOptions. + FillSeries, + + ///Specifies the FillFormattingOnly property in AutoFillOptions. + FillFormattingOnly, + + ///Specifies the FillWithoutFormatting property in AutoFillOptions. + FillWithoutFormatting, + + ///Specifies the FlashFill property in AutoFillOptions. + FlashFill +} + + +enum scrollMode{ + + ///To enable Infinite scroll mode for Spreadsheet. + Infinite, + + ///To enable Normal scroll mode for Spreadsheet. + Normal +} + + +enum SelectionType{ + + ///To select only Column in Spreadsheet. + Column, + + ///To select only Row in Spreadsheet. + Row, + + ///To select both Column/Row in Spreadsheet. + Default +} + + +enum SelectionUnit{ + + ///To enable Single selection in Spreadsheet + Single, + + ///To enable Range selection in Spreadsheet + Range, + + ///To enable MultiRange selection in Spreadsheet + MultiRange +} + + +enum BorderType{ + + ///To apply top border for the given range of cell. + Top, + + ///To apply left border for the given range of cell. + Left, + + ///To apply right border for the given range of cell. + Right, + + ///To apply bottom border for the given range of cell. + Bottom, + + ///To apply outside border for the given range of cell. + OutSide, + + ///To apply all border for the given range of cell. + AllBorder, + + ///To apply thick box border for the given range of cell. + ThickBox, + + ///To apply thick bottom border for the given range of cell. + ThickBottom, + + ///To apply top and bottom border for the given range of cell. + TopandBottom, + + ///To apply top and thick bottom border for the given range of cell. + TopandThickBottom +} + + +enum CFormatRule{ + + ///To identify greater than values in the given range of cells. + GreaterThan, + + ///To identify less than values in the given range of cells. + LessThan, + + ///To identify in between values in the given range of cells. + Between, + + ///To identify the equal values in the given range of cells. + EqualTo, + + ///To identify the specified text in the range of cells. + TextContains, + + ///To identify the specified date in the range of cells. + DateOccurs +} + + +enum CFormatHighlightColor{ + + ///Highlights red with dark red text color. + RedFillwithDarkRedText, + + ///Highlights yellow with dark yellow text color. + YellowFillwithDarkYellowText, + + ///Highlights green with dark green text color. + GreenFillwithDarkGreenText, + + ///Highlights with red fill. + RedFill, + + ///Highlights with red text. + RedText +} + + +enum ChartProperties{ + + ///Specifies to make the data label center of the chart. + DataLabelCenter, + + ///Specifies to make the data label inside base of the chart. + DataLabelInsideBase, + + ///Specifies to make the data label inside end of the chart. + DataLabelInsideEnd, + + ///Specifies to make the data label none of the chart. + DataLabelNone, + + ///Specifies to make the data label outside end of the chart. + DataLabelOutsideEnd, + + ///Specifies to make the legends to bottom of the chart. + LegendsBottom, + + ///Specifies to make the legends to left of the chart. + LegendsLeft, + + ///Specifies to make the legends to none of the chart. + LegendsNone, + + ///Specifies to make the legends to right of the chart. + LegendsRight, + + ///Specifies to make the legends to top of the chart. + LegendsTop, + + ///To set the primary horizontal of the chart. + PrimaryHorizontal, + + ///To set the primary horizontal axis title of the chart. + PrimaryHorizontalAxisTitle, + + ///To set the primary major horizontal of the chart. + PrimaryMajorHorizontal, + + ///To set the primary major vertical of the chart. + PrimaryMajorVertical, + + ///To set the primary minor horizontal of the chart. + PrimaryMinorHorizontal, + + ///To set the primary minor vertical of the chart. + PrimaryMinorVertical, + + ///To set the primary vertical of the chart. + PrimaryVertical, + + ///To set the primary vertical axis title of the chart. + PrimaryVerticalAxisTitle, + + ///Specifies to make the title to center of the chart. + TitleCenter, + + ///Specifies to make the title to far of the chart. + TitleFar, + + ///Specifies to make the title to near of the chart. + TitleNear, + + ///Specifies to make the title to none of the chart. + TitleNone +} + +} + +class PdfViewer extends ej.Widget { + static fn: PdfViewer; + constructor(element: JQuery, options?: PdfViewer.Model); + constructor(element: Element, options?: PdfViewer.Model); + static Locale: any; + model:PdfViewer.Model; + defaults:PdfViewer.Model; + + /** Loads the document with the filename and displays it in PDF viewer. + * @param {string} File name to be loaded + * @returns {void} + */ + load(fileName: string): void; + + /** Shows/hides the toolbar in the PDF viewer. + * @param {boolean} shows/hides the toolbar + * @returns {void} + */ + showToolbar(show: boolean): void; + + /** Prints the PDF document. + * @returns {void} + */ + print(): void; + + /** Abort the printing function and restores the PDF viewer. + * @returns {void} + */ + abortPrint(): void; + + /** Shows/hides the print icon in the toolbar. + * @param {boolean} shows/hides print button in the toolbar + * @returns {void} + */ + showPrintTools(show: boolean): void; + + /** Downloads the PDF document being loaded in the ejPdfViewer control. + * @returns {void} + */ + download(): void; + + /** Shows/hides the download tool in the toolbar. + * @param {boolean} shows/hides download button in the toolbar + * @returns {void} + */ + showDownloadTool(show: boolean): void; + + /** Shows/hides the page navigation tools in the toolbar + * @param {boolean} shows/hides navigation tools in the toolbar + * @returns {void} + */ + showPageNavigationTools(show: boolean): void; + + /** Navigates to the specific page in the PDF document. If the page is not available for the given pageNumber, PDF viewer retains the existing page in view. + * @param {number} navigates to the page number in the PDF document + * @returns {void} + */ + goToPage(pageNumber: number): void; + + /** Navigates to the last page of the PDF document. + * @returns {void} + */ + goToLastPage(): void; + + /** Navigates to the first page of PDF document. + * @returns {void} + */ + goToFirstPage(): void; + + /** Navigates to the next page of the PDF document. + * @returns {void} + */ + goToNextPage(): void; + + /** Navigates to the previous page of the PDF document. + * @returns {void} + */ + goToPreviousPage(): void; + + /** Shows/hides the zoom tools in the toolbar. + * @param {boolean} shows/hides zoom tools in the toolbar + * @returns {void} + */ + showMagnificationTools(show: boolean): void; + + /** Scales the page to fit the page in the container in the control. + * @returns {void} + */ + fitToPage(): void; + + /** Scales the page to fit the page width to the width of the container in the control. + * @returns {void} + */ + fitToWidth(): void; + + /** Magnifies the page to the next value in the zoom drop down list. + * @returns {void} + */ + zoomIn(): void; + + /** Shrinks the page to the previous value in the magnification in the drop down list. + * @returns {void} + */ + zoomOut(): void; + + /** Scales the page to the specified percentage ranging from 50 to 400. If the given zoomValue is less than 50 or greater than 400; the PDF viewer scales the page to 50 and 400 respectively. + * @param {number} zoom value for scaling the pages in the PDF Viewer + * @returns {void} + */ + zoomTo(zoomValue: number): void; + + /** Unloads the PDF document being displayed in the PDF viewer. + * @returns {void} + */ + unload(): void; +} +export module PdfViewer{ + +export interface Model { + + /** Specifies the locale information of the PDF viewer. + */ + locale?: string; + + /** Specifies the toolbar settings. + */ + toolbarSettings?: ToolbarSettings; + + /** Specifies the name of the action method in the server. + */ + serverActionSettings?: ServerActionSettings; + + /** Sets the PDF Web API service URL + */ + serviceUrl?: string; + + /** Sets the PDF document path for initial loading. + */ + documentPath?: string; + + /** Gets the total number of pages in PDF document. + */ + pageCount?: number; + + /** Gets the number of the page being displayed in the PDF viewer. + */ + currentPageNumber?: number; + + /** Gets the current zoom percentage of the PDF document in viewer. + */ + zoomPercentage?: number; + + /** Specifies the location of the supporting PDF service + */ + pdfService?: ej.PdfViewer.PdfService|string; + + /** Specifies the open state of the hyperlink in the PDF document. + */ + hyperlinkOpenState?: ej.PdfViewer.LinkTarget|string; + + /** Enables or disables the hyperlinks in PDF document. + */ + enableHyperlink?: boolean; + + /** Enables or disables the text selection in PDF document. + */ + enableTextSelection?: boolean; + + /** Enables or disables the responsiveness of the PDF viewer control during the window resize. + */ + isResponsive?: boolean; + + /** Checks whether the PDF document is edited. + */ + isDocumentEdited?: boolean; + + /** Enables or disables the buffering of the PDF pages in the client side. + */ + allowClientBuffering?: boolean; + + /** Gets the name of the PDF document which loaded in the ejPdfViewer control for downloading. + */ + fileName?: string; + + /** Triggers when the PDF document gets loaded and is ready to view in the Control. */ + documentLoad? (e: DocumentLoadEventArgs): void; + + /** Triggers when the PDF document gets unloaded from the PDF viewer. */ + documentUnload? (e: DocumentUnloadEventArgs): void; + + /** Triggers when there is change in current page number. */ + pageChange? (e: PageChangeEventArgs): void; + + /** Triggers when there is change in the magnification value. */ + zoomChange? (e: ZoomChangeEventArgs): void; + + /** Triggers when hyperlink in the PDF Document is clicked */ + hyperlinkClick? (e: HyperlinkClickEventArgs): void; + + /** Triggers before the printing starts. */ + beforePrint? (e: BeforePrintEventArgs): void; + + /** Triggers after the printing is completed. */ + afterPrint? (e: AfterPrintEventArgs): void; + + /** Triggers when the mouse click is performed over the page of the PDF document. */ + pageClick? (e: PageClickEventArgs): void; + + /** Triggers when the client buffering process starts. */ + bufferStart? (e: BufferStartEventArgs): void; + + /** Triggers when the client buffering process ends. */ + bufferEnd? (e: BufferEndEventArgs): void; + + /** Triggers when PDF viewer control is destroyed successfully. */ + destroy? (e: DestroyEventArgs): void; +} + +export interface DocumentLoadEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the PDF document name displaying in the PDF viewer. + */ + fileName?: string; +} + +export interface DocumentUnloadEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface PageChangeEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the current page number in view. + */ + currentPageNumber?: number; +} + +export interface ZoomChangeEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the previous zoom percentage of the PDF viewer control + */ + previousZoomPercentage?: number; + + /** Returns the current zoom percentage of the PDF viewer control + */ + currentZoomPercentage?: number; +} + +export interface HyperlinkClickEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the clicked hyperlink + */ + hyperlink?: string; +} + +export interface BeforePrintEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface AfterPrintEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface PageClickEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the current X position + */ + offsetX?: number; + + /** Returns the current Y position + */ + offsetY?: number; +} + +export interface BufferStartEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Specifies the state of the buffering + */ + isBuffering?: boolean; +} + +export interface BufferEndEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Specifies the state of the buffering + */ + isBuffering?: boolean; +} + +export interface DestroyEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; +} + +export interface ToolbarSettings { + + /** Shows or hides the tooltip of the toolbar items. + */ + showToolTip?: boolean; + + /** Shows or hides the grouped items in the toolbar with the help of enum ej.PdfViewer.ToolbarItems + */ + toolbarItem?: ej.PdfViewer.ToolbarItems|string; +} + +export interface ServerActionSettings { + + /** Specifies the name of the action method used for loading the PDF document. + */ + load?: string; + + /** Specifies the name of the action method used for uploading the PDF document to the PDF viewer control. + */ + fileUpload?: string; + + /** Specifies the name of the action method used for printing the PDF document in the PDF viewer control. + */ + print?: string; + + /** Specifies the name of the action method used for downloading the PDF document from the PDF viewer control. + */ + download?: string; +} + +enum ToolbarItems{ + + ///Shows only magnification tools in the toolbar. + MagnificationTools, + + ///Shows only page navigation tools in the toolbar. + PageNavigationTools, + + ///Shows only print tool in the toolbar. + PrintTools, + + ///Shows only download tool in the toolbar. + DownloadTool, + + ///Shows all the toolbar items. + All +} + + +enum PdfService{ + + ///Denotes that the service is located in the local project + Local, + + ///Denotes that the service is hosted in the remote server + Remote +} + + +enum LinkTarget{ + + ///Opens the hyperlink in the same tab of the browser. + Default, + + ///Opens the hyperlink in a new tab of the browser. + NewTab, + + ///Opens the hyperlink in a new window of the browser. + NewWindow +} + +} + +class SpellCheck extends ej.Widget { + static fn: SpellCheck; + constructor(element: JQuery, options?: SpellCheck.Model); + constructor(element: Element, options?: SpellCheck.Model); + static Locale: any; + model:SpellCheck.Model; + defaults:SpellCheck.Model; + + /** Open the dialog to correct the spelling of the target content. + * @returns {void} + */ + showInDialog(): void; + + /** Highlighting the error word in the target area itself and correct the spelling using the context menu. + * @returns {void} + */ + validate(): void; + + /** To get the error word highlighted string by passing the given input sentence. + * @param {string} Content to be spell check + * @param {string} Class name that contains style value to highlight the error word + * @returns {any} + */ + spellCheck(targetSentence: string, misspellWordCss: string): any; + + /** To ignore all the error word occurrences from the given input sentence. + * @param {string} Error word to ignore from the target content + * @param {string} Content to perform the ignore all operation + * @returns {any} + */ + ignoreAll(word: string, targetSentence: string): any; + + /** To ignore the error word once from the given input sentence. + * @param {string} Error word to ignore from the target content + * @param {string} Content to perform the ignore operation + * @param {number} Index of the error word present in the target content + * @returns {any} + */ + ignore(word: string, targetSentence: string, index: number): any; + + /** To change the error word once from the given input sentence. + * @param {string} Error word to change from the target content + * @param {string} Content to perform the change operation + * @param {string} Word to replace with the error word + * @param {number} Index of the error word present in the target content + * @returns {any} + */ + change(word: string, targetSentence: string, changeWord: string, index: number): any; + + /** To change all the error word occurrences from the given input sentence. + * @param {string} Error word to change from the target content + * @param {string} Content to perform the change all operation + * @param {string} Word to replace with the error word + * @returns {any} + */ + changeAll(word: string, targetSentence: string, changeWord: string): any; + + /** To add the words into the custom dictionary. + * @param {string} Word to add into the dictionary file + * @returns {any} + */ + addToDictionary(customWord: string): any; +} +export module SpellCheck{ + +export interface Model { + + /** It includes the service method path to find the error words and its suggestions also adding the custom word into the custom dictionary. + */ + dictionarySettings?: DictionarySettings; + + /** To display the error word in a customized style. + * @Default {e-errorword} + */ + misspellWordCss?: string; + + /** Sets the specific culture to the SpellCheck. + * @Default {en-US} + */ + locale?: string; + + /** To set the maximum suggestion display count. + * @Default {6} + */ + maxSuggestionCount?: number; + + /** To ignore the words from the error word consideration. + * @Default {[]} + */ + ignoreWords?: Array; + + /** Holds all options related to the context menu settings of SpellCheck. + */ + contextMenuSettings?: ContextMenuSettings; + + /** It helps to ignore the uppercase, mixed case words, alpha numeric words, file path and email addresses based on the property values. + */ + ignoreSettings?: IgnoreSettings; + + /** When set to true, allows the spellcheck to render based upon screen size. + * @Default {true} + */ + isResponsive?: boolean; + + /** It allows to spell check the multiple target HTML element's texts and correct its error words. + * @Default {null} + */ + controlsToValidate?: string; + + /** Triggers on the success of AJAX call request. */ + actionSuccess? (e: ActionSuccessEventArgs): void; + + /** Triggers on the AJAX call request beginning. */ + actionBegin? (e: ActionBeginEventArgs): void; + + /** Triggers when the AJAX call request failure. */ + actionFailure? (e: ActionFailureEventArgs): void; + + /** Triggers when the dialog mode spell check starting. */ + start? (e: StartEventArgs): void; + + /** Triggers when the spell check operations completed through dialog mode. */ + complete? (e: CompleteEventArgs): void; + + /** Triggers before context menu opening. */ + contextOpen? (e: ContextOpenEventArgs): void; + + /** Triggers when the context menu item clicked. */ + contextClick? (e: ContextClickEventArgs): void; + + /** Triggers before the spell check dialog opens. */ + dialogBeforeOpen? (e: DialogBeforeOpenEventArgs): void; + + /** Triggers after the spell check dialog opens. */ + dialogOpen? (e: DialogOpenEventArgs): void; + + /** Triggers when the spell check dialog closed. */ + dialogClose? (e: DialogCloseEventArgs): void; + + /** Triggers when the spell check control performing the spell check operations such as ignore, ignoreAll, change, changeAll and addToDictionary. */ + validating? (e: ValidatingEventArgs): void; + + /** Triggers before loading the target HTML element text into the dialog sentence area. */ + targetUpdating? (e: TargetUpdatingEventArgs): void; +} + +export interface ActionSuccessEventArgs { + + /** Returns the error word highlighted string. + */ + resultHTML?: string; + + /** Returns the error word details of the given input. + */ + errorWordDetails?: any; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ActionBeginEventArgs { + + /** Returns the input string. + */ + targetSentence?: string; + + /** Returns the misspellWordCss class name. + */ + misspellWordCss?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ActionFailureEventArgs { + + /** Returns AJAX request failure error message. + */ + errorMessage?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface StartEventArgs { + + /** Returns the input string. + */ + targetSentence?: string; + + /** Returns the error words details. + */ + errorWords?: any; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface CompleteEventArgs { + + /** Returns the error word highlighted string. + */ + resultHTML?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ContextOpenEventArgs { + + /** Returns the selected error word. + */ + selectedErrorWord?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ContextClickEventArgs { + + /** Returns the selected error word. + */ + selectedValue?: string; + + /** Returns the selected option in the context menu. + */ + selectedOption?: string; + + /** Returns the input string. + */ + targetContent?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DialogBeforeOpenEventArgs { + + /** Returns the spell check window details. + */ + spellCheckDialog?: any; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DialogOpenEventArgs { + + /** Returns the target input. + */ + targetText?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DialogCloseEventArgs { + + /** Returns the error corrected string. + */ + updatedText?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ValidatingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the error word to ignore. + */ + ignoreWord?: string; + + /** Returns the target content. + */ + targetContent?: string; + + /** Returns the index of an error word. + */ + index?: number; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the validating request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the error word to change. + */ + changeableWord?: string; + + /** Returns the change word to replace the error word. + */ + changeWord?: string; + + /** Returns the custom word to add into dictionary file. + */ + customWord?: string; +} + +export interface TargetUpdatingEventArgs { + + /** Returns the previous target element value. + */ + previousElement?: any; + + /** Returns the current target element value. + */ + currentElement?: any; + + /** Returns the target html value. + */ + targetHtml?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface DictionarySettings { + + /** The dictionaryUrl option accepts string, which is the method path to find the error words and get the suggestions to correct the errors. + */ + dictionaryUrl?: string; + + /** The customDictionaryUrl option accepts string, which is the method path to add the error word into the custom dictionary. + */ + customDictionaryUrl?: string; +} + +export interface ContextMenuSettings { + + /** When set to true, enables the context menu options available for the SpellCheck. + * @Default {true} + */ + enable?: boolean; + + /** Contains all the default context menu options that are applicable for SpellCheck. It also supports adding custom menu items. All the SpellCheck related context menu items are grouped under this menu collection. + * @Default {{% highlight javascript %}[{ id: IgnoreAll, text: Ignore All },{ id: AddToDictionary, text: Add To Dictionary }]{% endhighlight %}} + */ + menuItems?: Array; +} + +export interface IgnoreSettings { + + /** When set to true, ignoring the alphanumeric words from the error word consideration. + * @Default {true} + */ + ignoreAlphaNumericWords?: string; + + /** When set to true, ignoring the Email address from the error word consideration. + * @Default {true} + */ + ignoreEmailAddress?: boolean; + + /** When set to true, ignoring the MixedCase words from the error word consideration. + * @Default {true} + */ + ignoreMixedCaseWords?: boolean; + + /** When set to true, ignoring the UpperCase words from the error word consideration. + * @Default {true} + */ + ignoreUpperCase?: boolean; + + /** When set to true, ignoring the Url from the error word consideration. + * @Default {true} + */ + ignoreUrl?: boolean; + + /** When set to true, ignoring the file address path from the error word consideration. + * @Default {true} + */ + ignoreFileNames?: boolean; +} +} + +class DocumentEditor extends ej.Widget { + static fn: DocumentEditor; + constructor(element: JQuery, options?: DocumentEditor.Model); + constructor(element: Element, options?: DocumentEditor.Model); + static Locale: any; + model:DocumentEditor.Model; + defaults:DocumentEditor.Model; + + /** Loads the document from specified path using web API provided by importUrl. + * @param {string} Specifies the file path. + * @returns {void} + */ + load(path: string): void; + + /** Gets the page number of current selection in the document. + * @returns {number} + */ + getCurrentPageNumber(): number; + + /** Gets the total number of pages in the document. + * @returns {number} + */ + getPageCount(): number; + + /** Gets the text of current selection in the document. + * @returns {string} + */ + getSelectedText(): string; + + /** Gets the current zoom factor value of the document editor. + * @returns {number} + */ + getZoomFactor(): number; + + /** Scales the document editor with the specified zoom factor. The range of zoom factor should be 0.10 to 5.00 (10 - 500 %). + * @param {number} Specifies the factor for zooming. + * @returns {void} + */ + setZoomFactor(factor: number): void; + + /** Prints the document content as page by page. + * @returns {void} + */ + print(): void; + + /** Finds the first occurrence of specified text from current selection and highlights the result. If the document end is reached, find operation will occur from the document start position. + * @param {string} Specifies the text to search in a document. + * @returns {void} + */ + find(text: string): void; +} +export module DocumentEditor{ + +export interface Model { + + /** Gets or sets an object that indicates initialization of importing and exporting documents in document editor. + */ + importExportSettings?: ImportExportSettings; + + /** Triggers when the document changes. */ + onDocumentChange? (e: OnDocumentChangeEventArgs): void; + + /** Triggers when the selection changes. */ + onSelectionChange? (e: OnSelectionChangeEventArgs): void; + + /** Triggers when the zoom factor changes. */ + onZoomFactorChange? (e: OnZoomFactorChangeEventArgs): void; + + /** Triggers when the hyperlink is clicked. */ + onRequestNavigate? (e: OnRequestNavigateEventArgs): void; +} + +export interface OnDocumentChangeEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the document editor model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface OnSelectionChangeEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the document editor model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface OnZoomFactorChangeEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the document editor model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface OnRequestNavigateEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the document editor model. + */ + model?: any; + + /** Returns the link type and navigation link. + */ + hyperlink?: any; + + /** Returns the name of the event. + */ + type?: string; +} + +export interface ImportExportSettings { + + /** Gets or sets URL of Web API that should be used to parse the document while loading. + */ + importUrl?: string; +} +} + +} +declare module ej.datavisualization { + +class SymbolPalette extends ej.Widget { + static fn: SymbolPalette; + constructor(element: JQuery, options?: SymbolPalette.Model); + constructor(element: Element, options?: SymbolPalette.Model); + static Locale: any; + model:SymbolPalette.Model; + defaults:SymbolPalette.Model; + + /** Add items to Palettes at runtime + * @param {string} name of the Palette + * @param {any} JSON for the new items to added in Palette + * @returns {void} + */ + addPaletteItem(paletteName: string, node: any): void; + + /** Remove items to Palettes at runtime + * @param {string} name of the Palette + * @param {any} JSON for the new node to removed in Palette + * @returns {void} + */ + removePaletteItem(paletteName: string, node: any): void; +} +export module SymbolPalette{ + +export interface Model { + + /** Defines whether the symbols can be dragged from palette or not + * @Default {true} + */ + allowDrag?: boolean; + + /** Customizes the style of the symbol palette + * @Default {e-symbolpalette} + */ + cssClass?: string; + + /** Defines the default properties of nodes and connectors + */ + defaultSettings?: DefaultSettings; + + /** Sets the Id of the diagram, over which the symbols will be dropped + * @Default {null} + */ + diagramId?: string; + + /** Sets the height of the palette headers + * @Default {30} + */ + headerHeight?: number; + + /** Defines the height of the symbol palette + * @Default {400} + */ + height?: number; + + /** Defines the height of the palette items + * @Default {50} + */ + paletteItemHeight?: number; + + /** Defines the width of the palette items + * @Default {50} + */ + paletteItemWidth?: number; + + /** An array of JSON objects, where each object represents a node/connector + * @Default {[]} + */ + palettes?: Array; + + /** Defines the preview height of the symbols + * @Default {100} + */ + previewHeight?: number; + + /** Defines the offset value to be left between the mouse cursor and symbol previews + * @Default {(110, 110)} + */ + previewOffset?: any; + + /** Defines the width of the symbol previews + * @Default {100} + */ + previewWidth?: number; + + /** Enable or disable the palette item text + * @Default {true} + */ + showPaletteItemText?: boolean; + + /** The width of the palette + * @Default {250} + */ + width?: number; + + /** Triggers when a palette item is selected or unselected */ + selectionChange? (e: SelectionChangeEventArgs): void; +} + +export interface SelectionChangeEventArgs { + + /** returns whether an element is selected or unselected + */ + changeType?: string; + + /** returns the node or connector that is selected or unselected + */ + element?: any; +} + +export interface DefaultSettings { + + /** Defines the default properties of the nodes + * @Default {null} + */ + node?: any; + + /** Defines the default properties of the connectors + * @Default {null} + */ + connector?: any; +} + +export interface Palette { + + /** Defines the name of the palette + * @Default {null} + */ + name?: string; + + /** Defines whether the palette must be in expanded state or in collapsed state + * @Default {true} + */ + expanded?: boolean; + + /** Defines the palette items + * @Default {[]} + */ + items?: Array; +} +} + +class LinearGauge extends ej.Widget { + static fn: LinearGauge; + constructor(element: JQuery, options?: LinearGauge.Model); + constructor(element: Element, options?: LinearGauge.Model); + static Locale: any; + model:LinearGauge.Model; + defaults:LinearGauge.Model; + + /** destroy the linear gauge all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To export Image + * @returns {void} + */ + exportImage(): void; + + /** To get Bar Distance From Scale in number + * @returns {any} + */ + getBarDistanceFromScale(): any; + + /** To get Bar Pointer Value in number + * @returns {any} + */ + getBarPointerValue(): any; + + /** To get Bar Width in number + * @returns {any} + */ + getBarWidth(): any; + + /** To get CustomLabel Angle in number + * @returns {any} + */ + getCustomLabelAngle(): any; + + /** To get CustomLabel Value in string + * @returns {any} + */ + getCustomLabelValue(): any; + + /** To get Label Angle in number + * @returns {any} + */ + getLabelAngle(): any; + + /** To get LabelPlacement in number + * @returns {any} + */ + getLabelPlacement(): any; + + /** To get LabelStyle in number + * @returns {any} + */ + getLabelStyle(): any; + + /** To get Label XDistance From Scale in number + * @returns {any} + */ + getLabelXDistanceFromScale(): any; + + /** To get PointerValue in number + * @returns {any} + */ + getLabelYDistanceFromScale(): any; + + /** To get Major Interval Value in number + * @returns {any} + */ + getMajorIntervalValue(): any; + + /** To get MarkerStyle in number + * @returns {any} + */ + getMarkerStyle(): any; + + /** To get Maximum Value in number + * @returns {any} + */ + getMaximumValue(): any; + + /** To get PointerValue in number + * @returns {any} + */ + getMinimumValue(): any; + + /** To get Minor Interval Value in number + * @returns {any} + */ + getMinorIntervalValue(): any; + + /** To get Pointer Distance From Scale in number + * @returns {any} + */ + getPointerDistanceFromScale(): any; + + /** To get PointerHeight in number + * @returns {any} + */ + getPointerHeight(): any; + + /** To get Pointer Placement in String + * @returns {any} + */ + getPointerPlacement(): any; + + /** To get PointerValue in number + * @returns {any} + */ + getPointerValue(): any; + + /** To get PointerWidth in number + * @returns {any} + */ + getPointerWidth(): any; + + /** To get Range Border Width in number + * @returns {any} + */ + getRangeBorderWidth(): any; + + /** To get Range Distance From Scale in number + * @returns {any} + */ + getRangeDistanceFromScale(): any; + + /** To get Range End Value in number + * @returns {any} + */ + getRangeEndValue(): any; + + /** To get Range End Width in number + * @returns {any} + */ + getRangeEndWidth(): any; + + /** To get Range Position in number + * @returns {any} + */ + getRangePosition(): any; + + /** To get Range Start Value in number + * @returns {any} + */ + getRangeStartValue(): any; + + /** To get Range Start Width in number + * @returns {any} + */ + getRangeStartWidth(): any; + + /** To get ScaleBarLength in number + * @returns {any} + */ + getScaleBarLength(): any; + + /** To get Scale Bar Size in number + * @returns {any} + */ + getScaleBarSize(): any; + + /** To get Scale Border Width in number + * @returns {any} + */ + getScaleBorderWidth(): any; + + /** To get Scale Direction in number + * @returns {any} + */ + getScaleDirection(): any; + + /** To get Scale Location in object + * @returns {any} + */ + getScaleLocation(): any; + + /** To get Scale Style in string + * @returns {any} + */ + getScaleStyle(): any; + + /** To get Tick Angle in number + * @returns {any} + */ + getTickAngle(): any; + + /** To get Tick Height in number + * @returns {any} + */ + getTickHeight(): any; + + /** To get getTickPlacement in number + * @returns {any} + */ + getTickPlacement(): any; + + /** To get Tick Style in string + * @returns {any} + */ + getTickStyle(): any; + + /** To get Tick Width in number + * @returns {any} + */ + getTickWidth(): any; + + /** To get get Tick XDistance From Scale in number + * @returns {any} + */ + getTickXDistanceFromScale(): any; + + /** To get Tick YDistance From Scale in number + * @returns {any} + */ + getTickYDistanceFromScale(): any; + + /** Specifies the scales. + * @returns {void} + */ + scales(): void; + + /** To set setBarDistanceFromScale + * @returns {void} + */ + setBarDistanceFromScale(): void; + + /** To set setBarPointerValue + * @returns {void} + */ + setBarPointerValue(): void; + + /** To set setBarWidth + * @returns {void} + */ + setBarWidth(): void; + + /** To set setCustomLabelAngle + * @returns {void} + */ + setCustomLabelAngle(): void; + + /** To set setCustomLabelValue + * @returns {void} + */ + setCustomLabelValue(): void; + + /** To set setLabelAngle + * @returns {void} + */ + setLabelAngle(): void; + + /** To set setLabelPlacement + * @returns {void} + */ + setLabelPlacement(): void; + + /** To set setLabelStyle + * @returns {void} + */ + setLabelStyle(): void; + + /** To set setLabelXDistanceFromScale + * @returns {void} + */ + setLabelXDistanceFromScale(): void; + + /** To set setLabelYDistanceFromScale + * @returns {void} + */ + setLabelYDistanceFromScale(): void; + + /** To set setMajorIntervalValue + * @returns {void} + */ + setMajorIntervalValue(): void; + + /** To set setMarkerStyle + * @returns {void} + */ + setMarkerStyle(): void; + + /** To set setMaximumValue + * @returns {void} + */ + setMaximumValue(): void; + + /** To set setMinimumValue + * @returns {void} + */ + setMinimumValue(): void; + + /** To set setMinorIntervalValue + * @returns {void} + */ + setMinorIntervalValue(): void; + + /** To set setPointerDistanceFromScale + * @returns {void} + */ + setPointerDistanceFromScale(): void; + + /** To set PointerHeight + * @returns {void} + */ + setPointerHeight(): void; + + /** To set setPointerPlacement + * @returns {void} + */ + setPointerPlacement(): void; + + /** To set PointerValue + * @returns {void} + */ + setPointerValue(): void; + + /** To set PointerWidth + * @returns {void} + */ + setPointerWidth(): void; + + /** To set setRangeBorderWidth + * @returns {void} + */ + setRangeBorderWidth(): void; + + /** To set setRangeDistanceFromScale + * @returns {void} + */ + setRangeDistanceFromScale(): void; + + /** To set setRangeEndValue + * @returns {void} + */ + setRangeEndValue(): void; + + /** To set setRangeEndWidth + * @returns {void} + */ + setRangeEndWidth(): void; + + /** To set setRangePosition + * @returns {void} + */ + setRangePosition(): void; + + /** To set setRangeStartValue + * @returns {void} + */ + setRangeStartValue(): void; + + /** To set setRangeStartWidth + * @returns {void} + */ + setRangeStartWidth(): void; + + /** To set setScaleBarLength + * @returns {void} + */ + setScaleBarLength(): void; + + /** To set setScaleBarSize + * @returns {void} + */ + setScaleBarSize(): void; + + /** To set setScaleBorderWidth + * @returns {void} + */ + setScaleBorderWidth(): void; + + /** To set setScaleDirection + * @returns {void} + */ + setScaleDirection(): void; + + /** To set setScaleLocation + * @returns {void} + */ + setScaleLocation(): void; + + /** To set setScaleStyle + * @returns {void} + */ + setScaleStyle(): void; + + /** To set setTickAngle + * @returns {void} + */ + setTickAngle(): void; + + /** To set setTickHeight + * @returns {void} + */ + setTickHeight(): void; + + /** To set setTickPlacement + * @returns {void} + */ + setTickPlacement(): void; + + /** To set setTickStyle + * @returns {void} + */ + setTickStyle(): void; + + /** To set setTickWidth + * @returns {void} + */ + setTickWidth(): void; + + /** To set setTickXDistanceFromScale + * @returns {void} + */ + setTickXDistanceFromScale(): void; + + /** To set setTickYDistanceFromScale + * @returns {void} + */ + setTickYDistanceFromScale(): void; +} +export module LinearGauge{ + +export interface Model { + + /** Specifies the animationSpeed + * @Default {500} + */ + animationSpeed?: number; + + /** Specifies the backgroundColor for Linear gauge. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor for Linear gauge. + * @Default {null} + */ + borderColor?: string; + + /** Specifies the animate state + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the animate state for marker pointer + * @Default {true} + */ + enableMarkerPointerAnimation?: boolean; + + /** Specifies the can resize state. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specify frame of linear gauge + * @Default {null} + */ + frame?: Frame; + + /** Specifies the height of Linear gauge. + * @Default {400} + */ + height?: number; + + /** Specifies the labelColor for Linear gauge. + * @Default {null} + */ + labelColor?: string; + + /** Specifies the maximum value of Linear gauge. + * @Default {100} + */ + maximum?: number; + + /** Specifies the minimum value of Linear gauge. + * @Default {0} + */ + minimum?: number; + + /** Specifies the orientation for Linear gauge. + * @Default {Vertical} + */ + orientation?: string; + + /** Specify labelPosition value of Linear gauge See OuterCustomLabelPosition + * @Default {bottom} + */ + outerCustomLabelPosition?: ej.datavisualization.LinearGauge.OuterCustomLabelPosition|string; + + /** Specifies the pointerGradient1 for Linear gauge. + * @Default {null} + */ + pointerGradient1?: any; + + /** Specifies the pointerGradient2 for Linear gauge. + * @Default {null} + */ + pointerGradient2?: any; + + /** Specifies the read only state. + * @Default {true} + */ + readOnly?: boolean; + + /** Specifies the scales + * @Default {null} + */ + scales?: Array; + + /** Specifies the theme for Linear gauge. See LinearGauge.Themes + * @Default {flatlight} + */ + theme?: ej.datavisualization.LinearGauge.Themes|string; + + /** Specifies the tick Color for Linear gauge. + * @Default {null} + */ + tickColor?: string; + + /** Specify tooltip options of linear gauge + * @Default {false} + */ + tooltip?: Tooltip; + + /** Specifies the value of the Gauge. + * @Default {0} + */ + value?: number; + + /** Specifies the width of Linear gauge. + * @Default {150} + */ + width?: number; + + /** Triggers while the bar pointer are being drawn on the gauge. */ + drawBarPointers? (e: DrawBarPointersEventArgs): void; + + /** Triggers while the customLabel are being drawn on the gauge. */ + drawCustomLabel? (e: DrawCustomLabelEventArgs): void; + + /** Triggers while the Indicator are being drawn on the gauge. */ + drawIndicators? (e: DrawIndicatorsEventArgs): void; + + /** Triggers while the label are being drawn on the gauge. */ + drawLabels? (e: DrawLabelsEventArgs): void; + + /** Triggers while the marker are being drawn on the gauge. */ + drawMarkerPointers? (e: DrawMarkerPointersEventArgs): void; + + /** Triggers while the range are being drawn on the gauge. */ + drawRange? (e: DrawRangeEventArgs): void; + + /** Triggers while the ticks are being drawn on the gauge. */ + drawTicks? (e: DrawTicksEventArgs): void; + + /** Triggers when the gauge is initialized. */ + init? (e: InitEventArgs): void; + + /** Triggers while the gauge start to Load. */ + load? (e: LoadEventArgs): void; + + /** Triggers when the left mouse button is clicked. */ + mouseClick? (e: MouseClickEventArgs): void; + + /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ + mouseClickMove? (e: MouseClickMoveEventArgs): void; + + /** Triggers when the mouse click is released. */ + mouseClickUp? (e: MouseClickUpEventArgs): void; + + /** Triggers while the rendering of the gauge completed. */ + renderComplete? (e: RenderCompleteEventArgs): void; +} + +export interface DrawBarPointersEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the pointer + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the current Bar pointer element. + */ + barElement?: any; + + /** returns the index of the bar pointer. + */ + barPointerIndex?: number; + + /** returns the value of the bar pointer. + */ + PointerValue?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface DrawCustomLabelEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the customLabel + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the customLabel style + */ + style?: any; + + /** returns the current customLabel element. + */ + customLabelElement?: any; + + /** returns the index of the customLabel. + */ + customLabelIndex?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface DrawIndicatorsEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the Indicator + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the Indicator style + */ + style?: string; + + /** returns the current Indicator element. + */ + IndicatorElement?: any; + + /** returns the index of the Indicator. + */ + IndicatorIndex?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface DrawLabelsEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the label + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the label belongs. + */ + scaleIndex?: number; + + /** returns the label style + */ + style?: string; + + /** returns the angle of the label. + */ + angle?: number; + + /** returns the current label element. + */ + element?: any; + + /** returns the index of the label. + */ + index?: number; + + /** returns the label value of the label. + */ + value?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface DrawMarkerPointersEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the pointer + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the ticks style + */ + style?: string; + + /** returns the current marker pointer element. + */ + markerElement?: any; + + /** returns the index of the marker pointer. + */ + markerPointerIndex?: number; + + /** returns the value of the marker pointer. + */ + pointerValue?: number; + + /** returns the angle of the marker pointer. + */ + pointerAngle?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface DrawRangeEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the range + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the range style + */ + style?: string; + + /** returns the current range element. + */ + rangeElement?: any; + + /** returns the index of the range. + */ + rangeIndex?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface DrawTicksEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the ticks + */ + position?: any; + + /** returns the gauge model + */ + Model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the tick belongs. + */ + scaleIndex?: number; + + /** returns the ticks style + */ + style?: string; + + /** returns the angle of the tick. + */ + angle?: number; + + /** returns the current tick element. + */ + element?: any; + + /** returns the index of the tick. + */ + index?: number; + + /** returns the tick value of the tick. + */ + value?: number; + + /** returns the name of the event + */ + type?: any; +} + +export interface InitEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + Model?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the context element + */ + context?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface LoadEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + Model?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the context element + */ + context?: any; + + /** returns the name of the event + */ + type?: any; +} + +export interface MouseClickEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: any; + + /** returns the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the context element* @param {Object} args.markerpointer returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + markerpointerindex?: number; + + /** returns the pointer element. + */ + markerpointerelement?: any; + + /** returns the value of the pointer. + */ + markerpointervalue?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; +} + +export interface MouseClickMoveEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: any; + + /** returns the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + index?: number; + + /** returns the pointer element. + */ + element?: any; + + /** returns the value of the pointer. + */ + value?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; +} + +export interface MouseClickUpEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: any; + + /** returns the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the context element* @param {Object} args.markerpointer returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + markerpointerIndex?: number; + + /** returns the pointer element. + */ + markerpointerElement?: any; + + /** returns the value of the pointer. + */ + markerpointerValue?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + Model?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the context element + */ + context?: any; + + /** returns the name of the event + */ + type?: any; +} + +export interface Frame { + + /** Specifies the frame background image URL of linear gauge + * @Default {null} + */ + backgroundImageUrl?: string; + + /** Specifies the frame InnerWidth + * @Default {8} + */ + innerWidth?: number; + + /** Specifies the frame OuterWidth + * @Default {12} + */ + outerWidth?: number; +} + +export interface ScalesBarPointersBorder { + + /** Specifies the border Color of bar pointer + * @Default {null} + */ + color?: string; + + /** Specifies the border Width of bar pointer + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesBarPointer { + + /** Specifies the backgroundColor of bar pointer + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border of bar pointer + * @Default {null} + */ + border?: ScalesBarPointersBorder; + + /** Specifies the distanceFromScale of bar pointer + * @Default {0} + */ + distanceFromScale?: number; + + /** Specifies the scaleBar Gradient of bar pointer + * @Default {null} + */ + gradients?: any; + + /** Specifies the opacity of bar pointer + * @Default {1} + */ + opacity?: number; + + /** Specifies the value of bar pointer + * @Default {null} + */ + value?: number; + + /** Specifies the pointer Width of bar pointer + * @Default {width=30} + */ + width?: number; +} + +export interface ScalesBorder { + + /** Specifies the border color of the Scale. + * @Default {null} + */ + color?: string; + + /** Specifies the border width of the Scale. + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesCustomLabelsFont { + + /** Specifies the fontFamily in customLabels + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the fontStyle in customLabels. See FontStyle + * @Default {Bold} + */ + fontStyle?: ej.datavisualization.LinearGauge.FontStyle|string; + + /** Specifies the font size in customLabels + * @Default {11px} + */ + size?: string; +} + +export interface ScalesCustomLabelsPosition { + + /** Specifies the position x in customLabels + * @Default {0} + */ + x?: number; + + /** Specifies the y in customLabels + * @Default {0} + */ + y?: number; +} + +export interface ScalesCustomLabel { + + /** Specifies the label Color in customLabels + * @Default {null} + */ + color?: number; + + /** Specifies the font in customLabels + * @Default {null} + */ + font?: ScalesCustomLabelsFont; + + /** Specifies the opacity in customLabels + * @Default {0} + */ + opacity?: string; + + /** Specifies the position in customLabels + * @Default {null} + */ + position?: ScalesCustomLabelsPosition; + + /** Specifies the positionType in customLabels.See CustomLabelPositionType + * @Default {null} + */ + positionType?: any; + + /** Specifies the textAngle in customLabels + * @Default {0} + */ + textAngle?: number; + + /** Specifies the label Value in customLabels + */ + value?: string; +} + +export interface ScalesIndicatorsBorder { + + /** Specifies the border Color in bar indicators + * @Default {null} + */ + color?: string; + + /** Specifies the border Width in bar indicators + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesIndicatorsFont { + + /** Specifies the fontFamily of font in bar indicators + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the fontStyle of font in bar indicators. See FontStyle + * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} + */ + fontStyle?: ej.datavisualization.LinearGauge.FontStyle|string; + + /** Specifies the size of font in bar indicators + * @Default {11px} + */ + size?: string; +} + +export interface ScalesIndicatorsPosition { + + /** Specifies the x position in bar indicators + * @Default {0} + */ + x?: number; + + /** Specifies the y position in bar indicators + * @Default {0} + */ + y?: number; +} + +export interface ScalesIndicatorsStateRange { + + /** Specifies the backgroundColor in bar indicators state ranges + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor in bar indicators state ranges + * @Default {null} + */ + borderColor?: string; + + /** Specifies the endValue in bar indicators state ranges + * @Default {60} + */ + endValue?: number; + + /** Specifies the startValue in bar indicators state ranges + * @Default {50} + */ + startValue?: number; + + /** Specifies the text in bar indicators state ranges + */ + text?: string; + + /** Specifies the textColor in bar indicators state ranges + * @Default {null} + */ + textColor?: string; +} + +export interface ScalesIndicatorsTextLocation { + + /** Specifies the textLocation position in bar indicators + * @Default {0} + */ + x?: number; + + /** Specifies the Y position in bar indicators + * @Default {0} + */ + y?: number; +} + +export interface ScalesIndicator { + + /** Specifies the backgroundColor in bar indicators + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border in bar indicators + * @Default {null} + */ + border?: ScalesIndicatorsBorder; + + /** Specifies the font of bar indicators + * @Default {null} + */ + font?: ScalesIndicatorsFont; + + /** Specifies the indicator Height of bar indicators + * @Default {30} + */ + height?: number; + + /** Specifies the opacity in bar indicators + * @Default {NaN} + */ + opacity?: number; + + /** Specifies the position in bar indicators + * @Default {null} + */ + position?: ScalesIndicatorsPosition; + + /** Specifies the state ranges in bar indicators + * @Default {Array} + */ + stateRanges?: Array; + + /** Specifies the textLocation in bar indicators + * @Default {null} + */ + textLocation?: ScalesIndicatorsTextLocation; + + /** Specifies the indicator Style of font in bar indicators + * @Default {ej.datavisualization.LinearGauge.IndicatorType.Rectangle} + */ + type?: ej.datavisualization.LinearGauge.IndicatorTypes|string; + + /** Specifies the indicator Width in bar indicators + * @Default {30} + */ + width?: number; +} + +export interface ScalesLabelsDistanceFromScale { + + /** Specifies the xDistanceFromScale of labels. + * @Default {-10} + */ + x?: number; + + /** Specifies the yDistanceFromScale of labels. + * @Default {0} + */ + y?: number; +} + +export interface ScalesLabelsFont { + + /** Specifies the fontFamily of font. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the fontStyle of font.See FontStyle + * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} + */ + fontStyle?: ej.datavisualization.LinearGauge.FontStyle|string; + + /** Specifies the size of font. + * @Default {11px} + */ + size?: string; +} + +export interface ScalesLabel { + + /** Specifies the angle of labels. + * @Default {0} + */ + angle?: number; + + /** Specifies the DistanceFromScale of labels. + * @Default {null} + */ + distanceFromScale?: ScalesLabelsDistanceFromScale; + + /** Specifies the font of labels. + * @Default {null} + */ + font?: ScalesLabelsFont; + + /** need to includeFirstValue. + * @Default {true} + */ + includeFirstValue?: boolean; + + /** Specifies the opacity of label. + * @Default {0} + */ + opacity?: number; + + /** Specifies the label Placement of label. See LabelPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; + + /** Specifies the textColor of font. + * @Default {null} + */ + textColor?: string; + + /** Specifies the label Style of label. See LabelType + * @Default {ej.datavisualization.LinearGauge.LabelType.Major} + */ + type?: ej.datavisualization.LinearGauge.ScaleType|string; + + /** Specifies the unitText of label. + */ + unitText?: string; + + /** Specifies the unitText Position of label.See UnitTextPlacement + * @Default {Back} + */ + unitTextPlacement?: ej.datavisualization.LinearGauge.UnitTextPlacement|string; +} + +export interface ScalesMarkerPointersBorder { + + /** Specifies the border color of marker pointer + * @Default {null} + */ + color?: string; + + /** Specifies the border of marker pointer + * @Default {number} + */ + width?: number; +} + +export interface ScalesMarkerPointer { + + /** Specifies the backgroundColor of marker pointer + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border of marker pointer + * @Default {null} + */ + border?: ScalesMarkerPointersBorder; + + /** Specifies the distanceFromScale of marker pointer + * @Default {0} + */ + distanceFromScale?: number; + + /** Specifies the pointer Gradient of marker pointer + * @Default {null} + */ + gradients?: any; + + /** Specifies the pointer Length of marker pointer + * @Default {30} + */ + length?: number; + + /** Specifies the opacity of marker pointer + * @Default {1} + */ + opacity?: number; + + /** Specifies the pointer Placement of marker pointer See PointerPlacement + * @Default {Far} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; + + /** Specifies the marker Style of marker pointerSee MarkerType + * @Default {Triangle} + */ + type?: ej.datavisualization.LinearGauge.MarkerType|string; + + /** Specifies the value of marker pointer + * @Default {null} + */ + value?: number; + + /** Specifies the pointer Width of marker pointer + * @Default {30} + */ + width?: number; +} + +export interface ScalesPosition { + + /** Specifies the Horizontal position + * @Default {50} + */ + x?: number; + + /** Specifies the vertical position + * @Default {50} + */ + y?: number; +} + +export interface ScalesRangesBorder { + + /** Specifies the border color in the ranges. + * @Default {null} + */ + color?: string; + + /** Specifies the border width in the ranges. + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesRange { + + /** Specifies the backgroundColor in the ranges. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border in the ranges. + * @Default {null} + */ + border?: ScalesRangesBorder; + + /** Specifies the distanceFromScale in the ranges. + * @Default {0} + */ + distanceFromScale?: number; + + /** Specifies the endValue in the ranges. + * @Default {60} + */ + endValue?: number; + + /** Specifies the endWidth in the ranges. + * @Default {10} + */ + endWidth?: number; + + /** Specifies the range Gradient in the ranges. + * @Default {null} + */ + gradients?: any; + + /** Specifies the opacity in the ranges. + * @Default {null} + */ + opacity?: number; + + /** Specifies the range Position in the ranges. See RangePlacement + * @Default {Center} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; + + /** Specifies the startValue in the ranges. + * @Default {20} + */ + startValue?: number; + + /** Specifies the startWidth in the ranges. + * @Default {10} + */ + startWidth?: number; +} + +export interface ScalesTicksDistanceFromScale { + + /** Specifies the xDistanceFromScale in the tick. + * @Default {0} + */ + x?: number; + + /** Specifies the yDistanceFromScale in the tick. + * @Default {0} + */ + y?: number; +} + +export interface ScalesTick { + + /** Specifies the angle in the tick. + * @Default {0} + */ + angle?: number; + + /** Specifies the tick Color in the tick. + * @Default {null} + */ + color?: string; + + /** Specifies the DistanceFromScale in the tick. + * @Default {null} + */ + distanceFromScale?: ScalesTicksDistanceFromScale; + + /** Specifies the tick Height in the tick. + * @Default {10} + */ + height?: number; + + /** Specifies the opacity in the tick. + * @Default {0} + */ + opacity?: number; + + /** Specifies the tick Placement in the tick. See TickPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; + + /** Specifies the tick Style in the tick. See TickType + * @Default {MajorInterval} + */ + type?: ej.datavisualization.LinearGauge.TicksType|string; + + /** Specifies the tick Width in the tick. + * @Default {3} + */ + width?: number; +} + +export interface Scale { + + /** Specifies the backgroundColor of the Scale. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the scaleBar Gradient of bar pointer + * @Default {Array} + */ + barPointers?: Array; + + /** Specifies the border of the Scale. + * @Default {null} + */ + border?: ScalesBorder; + + /** Specifies the customLabel + * @Default {Array} + */ + customLabels?: Array; + + /** Specifies the scale Direction of the Scale. See Directions + * @Default {CounterClockwise} + */ + direction?: ej.datavisualization.LinearGauge.Direction|string; + + /** Specifies the indicator + * @Default {Array} + */ + indicators?: Array; + + /** Specifies the labels. + * @Default {Array} + */ + labels?: Array; + + /** Specifies the scaleBar Length. + * @Default {290} + */ + length?: number; + + /** Specifies the majorIntervalValue of the Scale. + * @Default {10} + */ + majorIntervalValue?: number; + + /** Specifies the markerPointers + * @Default {Array} + */ + markerPointers?: Array; + + /** Specifies the maximum of the Scale. + * @Default {null} + */ + maximum?: number; + + /** Specifies the minimum of the Scale. + * @Default {null} + */ + minimum?: number; + + /** Specifies the minorIntervalValue of the Scale. + * @Default {2} + */ + minorIntervalValue?: number; + + /** Specifies the opacity of the Scale. + * @Default {NaN} + */ + opacity?: number; + + /** Specifies the position + * @Default {null} + */ + position?: ScalesPosition; + + /** Specifies the ranges in the tick. + * @Default {Array} + */ + ranges?: Array; + + /** Specifies the shadowOffset. + * @Default {0} + */ + shadowOffset?: number; + + /** Specifies the showBarPointers state. + * @Default {true} + */ + showBarPointers?: boolean; + + /** Specifies the showCustomLabels state. + * @Default {false} + */ + showCustomLabels?: boolean; + + /** Specifies the showIndicators state. + * @Default {false} + */ + showIndicators?: boolean; + + /** Specifies the showLabels state. + * @Default {true} + */ + showLabels?: boolean; + + /** Specifies the showMarkerPointers state. + * @Default {true} + */ + showMarkerPointers?: boolean; + + /** Specifies the showRanges state. + * @Default {false} + */ + showRanges?: boolean; + + /** Specifies the showTicks state. + * @Default {true} + */ + showTicks?: boolean; + + /** Specifies the ticks in the scale. + * @Default {Array} + */ + ticks?: Array; + + /** Specifies the scaleBar type .See ScaleType + * @Default {Rectangle} + */ + type?: ej.datavisualization.LinearGauge.ScaleType|string; + + /** Specifies the scaleBar width. + * @Default {30} + */ + width?: number; +} + +export interface Tooltip { + + /** Specify showCustomLabelTooltip value of linear gauge + * @Default {false} + */ + showCustomLabelTooltip?: boolean; + + /** Specify showLabelTooltip value of linear gauge + * @Default {false} + */ + showLabelTooltip?: boolean; + + /** Specify templateID value of linear gauge + * @Default {false} + */ + templateID?: string; +} +} +module LinearGauge +{ +enum OuterCustomLabelPosition +{ +//string +Left, +//string +Right, +//string +Top, +//string +Bottom, +} +} +module LinearGauge +{ +enum FontStyle +{ +//string +Bold, +//string +Italic, +//string +Regular, +//string +Strikeout, +//string +Underline, +} +} +module LinearGauge +{ +enum Direction +{ +//string +Clockwise, +//string +CounterClockwise, +} +} +module LinearGauge +{ +enum IndicatorTypes +{ +//string +Rectangle, +//string +Circle, +//string +RoundedRectangle, +//string +Text, +} +} +module LinearGauge +{ +enum PointerPlacement +{ +//string +Near, +//string +Far, +//string +Center, +} +} +module LinearGauge +{ +enum ScaleType +{ +//string +Major, +//string +Minor, +} +} +module LinearGauge +{ +enum UnitTextPlacement +{ +//string +Back, +//string +From, +} +} +module LinearGauge +{ +enum MarkerType +{ +//string +Rectangle, +//string +Triangle, +//string +Ellipse, +//string +Diamond, +//string +Pentagon, +//string +Circle, +//string +Star, +//string +Slider, +//string +Pointer, +//string +Wedge, +//string +Trapezoid, +//string +RoundedRectangle, +} +} +module LinearGauge +{ +enum TicksType +{ +//string +Majorinterval, +//string +Minorinterval, +} +} +module LinearGauge +{ +enum Themes +{ +//string +FlatLight, +//string +FlatDark, +} +} + +class CircularGauge extends ej.Widget { + static fn: CircularGauge; + constructor(element: JQuery, options?: CircularGauge.Model); + constructor(element: Element, options?: CircularGauge.Model); + static Locale: any; + model:CircularGauge.Model; + defaults:CircularGauge.Model; + + /** destroy the circular gauge widget. all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To export Image + * @returns {boolean} + */ + exportImage(): boolean; + + /** To get BackNeedleLength + * @returns {any} + */ + getBackNeedleLength(): any; + + /** To get CustomLabelAngle + * @returns {any} + */ + getCustomLabelAngle(): any; + + /** To get CustomLabelValue + * @returns {any} + */ + getCustomLabelValue(): any; + + /** To get LabelAngle + * @returns {any} + */ + getLabelAngle(): any; + + /** To get LabelDistanceFromScale + * @returns {any} + */ + getLabelDistanceFromScale(): any; + + /** To get LabelPlacement + * @returns {any} + */ + getLabelPlacement(): any; + + /** To get LabelStyle + * @returns {any} + */ + getLabelStyle(): any; + + /** To get MajorIntervalValue + * @returns {any} + */ + getMajorIntervalValue(): any; + + /** To get MarkerDistanceFromScale + * @returns {any} + */ + getMarkerDistanceFromScale(): any; + + /** To get MarkerStyle + * @returns {any} + */ + getMarkerStyle(): any; + + /** To get MaximumValue + * @returns {any} + */ + getMaximumValue(): any; + + /** To get MinimumValue + * @returns {any} + */ + getMinimumValue(): any; + + /** To get MinorIntervalValue + * @returns {any} + */ + getMinorIntervalValue(): any; + + /** To get NeedleStyle + * @returns {any} + */ + getNeedleStyle(): any; + + /** To get PointerCapBorderWidth + * @returns {any} + */ + getPointerCapBorderWidth(): any; + + /** To get PointerCapRadius + * @returns {any} + */ + getPointerCapRadius(): any; + + /** To get PointerLength + * @returns {any} + */ + getPointerLength(): any; + + /** To get PointerNeedleType + * @returns {any} + */ + getPointerNeedleType(): any; + + /** To get PointerPlacement + * @returns {any} + */ + getPointerPlacement(): any; + + /** To get PointerValue + * @returns {any} + */ + getPointerValue(): any; + + /** To get PointerWidth + * @returns {any} + */ + getPointerWidth(): any; + + /** To get RangeBorderWidth + * @returns {any} + */ + getRangeBorderWidth(): any; + + /** To get RangeDistanceFromScale + * @returns {any} + */ + getRangeDistanceFromScale(): any; + + /** To get RangeEndValue + * @returns {any} + */ + getRangeEndValue(): any; + + /** To get RangePosition + * @returns {any} + */ + getRangePosition(): any; + + /** To get RangeSize + * @returns {any} + */ + getRangeSize(): any; + + /** To get RangeStartValue + * @returns {any} + */ + getRangeStartValue(): any; + + /** To get ScaleBarSize + * @returns {any} + */ + getScaleBarSize(): any; + + /** To get ScaleBorderWidth + * @returns {any} + */ + getScaleBorderWidth(): any; + + /** To get ScaleDirection + * @returns {any} + */ + getScaleDirection(): any; + + /** To get ScaleRadius + * @returns {any} + */ + getScaleRadius(): any; + + /** To get StartAngle + * @returns {any} + */ + getStartAngle(): any; + + /** To get SubGaugeLocation + * @returns {any} + */ + getSubGaugeLocation(): any; + + /** To get SweepAngle + * @returns {any} + */ + getSweepAngle(): any; + + /** To get TickAngle + * @returns {any} + */ + getTickAngle(): any; + + /** To get TickDistanceFromScale + * @returns {any} + */ + getTickDistanceFromScale(): any; + + /** To get TickHeight + * @returns {any} + */ + getTickHeight(): any; + + /** To get TickPlacement + * @returns {any} + */ + getTickPlacement(): any; + + /** To get TickStyle + * @returns {any} + */ + getTickStyle(): any; + + /** To get TickWidth + * @returns {any} + */ + getTickWidth(): any; + + /** To set includeFirstValue + * @returns {void} + */ + includeFirstValue(): void; + + /** Switching the redraw option for the gauge + * @returns {void} + */ + redraw(): void; + + /** To set BackNeedleLength + * @returns {void} + */ + setBackNeedleLength(): void; + + /** To set CustomLabelAngle + * @returns {void} + */ + setCustomLabelAngle(): void; + + /** To set CustomLabelValue + * @returns {void} + */ + setCustomLabelValue(): void; + + /** To set LabelAngle + * @returns {void} + */ + setLabelAngle(): void; + + /** To set LabelDistanceFromScale + * @returns {void} + */ + setLabelDistanceFromScale(): void; + + /** To set LabelPlacement + * @returns {void} + */ + setLabelPlacement(): void; + + /** To set LabelStyle + * @returns {void} + */ + setLabelStyle(): void; + + /** To set MajorIntervalValue + * @returns {void} + */ + setMajorIntervalValue(): void; + + /** To set MarkerDistanceFromScale + * @returns {void} + */ + setMarkerDistanceFromScale(): void; + + /** To set MarkerStyle + * @returns {void} + */ + setMarkerStyle(): void; + + /** To set MaximumValue + * @returns {void} + */ + setMaximumValue(): void; + + /** To set MinimumValue + * @returns {void} + */ + setMinimumValue(): void; + + /** To set MinorIntervalValue + * @returns {void} + */ + setMinorIntervalValue(): void; + + /** To set NeedleStyle + * @returns {void} + */ + setNeedleStyle(): void; + + /** To set PointerCapBorderWidth + * @returns {void} + */ + setPointerCapBorderWidth(): void; + + /** To set PointerCapRadius + * @returns {void} + */ + setPointerCapRadius(): void; + + /** To set PointerLength + * @returns {void} + */ + setPointerLength(): void; + + /** To set PointerNeedleType + * @returns {void} + */ + setPointerNeedleType(): void; + + /** To set PointerPlacement + * @returns {void} + */ + setPointerPlacement(): void; + + /** To set PointerValue + * @returns {void} + */ + setPointerValue(): void; + + /** To set PointerWidth + * @returns {void} + */ + setPointerWidth(): void; + + /** To set RangeBorderWidth + * @returns {void} + */ + setRangeBorderWidth(): void; + + /** To set RangeDistanceFromScale + * @returns {void} + */ + setRangeDistanceFromScale(): void; + + /** To set RangeEndValue + * @returns {void} + */ + setRangeEndValue(): void; + + /** To set RangePosition + * @returns {void} + */ + setRangePosition(): void; + + /** To set RangeSize + * @returns {void} + */ + setRangeSize(): void; + + /** To set RangeStartValue + * @returns {void} + */ + setRangeStartValue(): void; + + /** To set ScaleBarSize + * @returns {void} + */ + setScaleBarSize(): void; + + /** To set ScaleBorderWidth + * @returns {void} + */ + setScaleBorderWidth(): void; + + /** To set ScaleDirection + * @returns {void} + */ + setScaleDirection(): void; + + /** To set ScaleRadius + * @returns {void} + */ + setScaleRadius(): void; + + /** To set StartAngle + * @returns {void} + */ + setStartAngle(): void; + + /** To set SubGaugeLocation + * @returns {void} + */ + setSubGaugeLocation(): void; + + /** To set SweepAngle + * @returns {void} + */ + setSweepAngle(): void; + + /** To set TickAngle + * @returns {void} + */ + setTickAngle(): void; + + /** To set TickDistanceFromScale + * @returns {void} + */ + setTickDistanceFromScale(): void; + + /** To set TickHeight + * @returns {void} + */ + setTickHeight(): void; + + /** To set TickPlacement + * @returns {void} + */ + setTickPlacement(): void; + + /** To set TickStyle + * @returns {void} + */ + setTickStyle(): void; + + /** To set TickWidth + * @returns {void} + */ + setTickWidth(): void; +} +export module CircularGauge{ + +export interface Model { + + /** Specifies animationSpeed of circular gauge + * @Default {500} + */ + animationSpeed?: number; + + /** Specifies the background color of circular gauge. + * @Default {null} + */ + backgroundColor?: string; + + /** Specify distanceFromCorner value of circular gauge + * @Default {center} + */ + distanceFromCorner?: number; + + /** Specify animate value of circular gauge + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specify the frame of circular gauge + * @Default {Object} + */ + frame?: Frame; + + /** Specify gaugePosition value of circular gauge See GaugePosition + * @Default {center} + */ + gaugePosition?: ej.datavisualization.CircularGauge.gaugePosition|string; + + /** Specifies the height of circular gauge. + * @Default {360} + */ + height?: number; + + /** Specifies the interiorGradient of circular gauge. + * @Default {null} + */ + interiorGradient?: any; + + /** Specify isRadialGradient value of circular gauge + * @Default {false} + */ + isRadialGradient?: boolean; + + /** Specify isResponsive value of circular gauge + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the maximum value of circular gauge. + * @Default {100} + */ + maximum?: number; + + /** Specifies the minimum value of circular gauge. + * @Default {0} + */ + minimum?: number; + + /** Specify outerCustomLabelPosition value of circular gauge See OuterCustomLabelPosition + * @Default {bottom} + */ + outerCustomLabelPosition?: ej.datavisualization.CircularGauge.CustomLabelPositionType|string; + + /** Specifies the radius of circular gauge. + * @Default {180} + */ + radius?: number; + + /** Specify readonly value of circular gauge + * @Default {true} + */ + readOnly?: boolean; + + /** Specify the pointers, ticks, labels, indicators, ranges of circular gauge + * @Default {null} + */ + scales?: Array; + + /** Specify the theme of circular gauge. + * @Default {flatlight} + */ + theme?: string; + + /** Options to customize the legend. + */ + legend?: Legend; + + /** Specify tooltip option of circular gauge + * @Default {object} + */ + tooltip?: Tooltip; + + /** Specifies the value of circular gauge. + * @Default {0} + */ + value?: number; + + /** Specifies the width of circular gauge. + * @Default {360} + */ + width?: number; + + /** Fires before rendering the legend item. This event is fired for each legend item in CircularGauge. You can use this event to customize legend item shape or add custom text to legend item. */ + legendItemRender? (e: LegendItemRenderEventArgs): void; + + /** Fires on clicking the legend item. */ + legendItemClick? (e: LegendItemClickEventArgs): void; + + /** Fires when mouse moving on ranges. */ + rangeMouseMove? (e: RangeMouseMoveEventArgs): void; + + /** Triggers while the custom labels are being drawn on the gauge. */ + drawCustomLabel? (e: DrawCustomLabelEventArgs): void; + + /** Triggers while the indicators are being started to drawn on the gauge. */ + drawIndicators? (e: DrawIndicatorsEventArgs): void; + + /** Triggers while the labels are being drawn on the gauge. */ + drawLabels? (e: DrawLabelsEventArgs): void; + + /** Triggers while the pointer cap is being drawn on the gauge. */ + drawPointerCap? (e: DrawPointerCapEventArgs): void; + + /** Triggers while the pointers are being drawn on the gauge. */ + drawPointers? (e: DrawPointersEventArgs): void; + + /** Triggers when the ranges begin to be getting drawn on the gauge. */ + drawRange? (e: DrawRangeEventArgs): void; + + /** Triggers while the ticks are being drawn on the gauge. */ + drawTicks? (e: DrawTicksEventArgs): void; + + /** Triggers while the gauge start to Load. */ + load? (e: LoadEventArgs): void; + + /** Triggers when the left mouse button is clicked. */ + mouseClick? (e: MouseClickEventArgs): void; + + /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ + mouseClickMove? (e: MouseClickMoveEventArgs): void; + + /** Triggers when the mouse click is released. */ + mouseClickUp? (e: MouseClickUpEventArgs): void; + + /** Triggers when the rendering of the gauge is completed. */ + renderComplete? (e: RenderCompleteEventArgs): void; +} + +export interface LegendItemRenderEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the circulargauge model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Instance of the legend item object that is about to be rendered + */ + data?: any; +} + +export interface LegendItemClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the circulargauge model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Instance of the legend item object that is about to be rendered + */ + data?: any; +} + +export interface RangeMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the circulargauge model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Region of ranges + */ + data?: any; +} + +export interface DrawCustomLabelEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the custom label + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the custom label belongs. + */ + scaleIndex?: number; + + /** returns the custom label style + */ + style?: string; + + /** returns the current custom label element. + */ + customLabelElement?: any; + + /** returns the index of the custom label. + */ + customLabelIndex?: number; + + /** returns the name of the event + */ + type?: string; +} + +export interface DrawIndicatorsEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the indicator + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the indicator belongs. + */ + scaleIndex?: number; + + /** returns the indicator style + */ + style?: string; + + /** returns the current indicator element. + */ + indicatorElement?: any; + + /** returns the index of the indicator. + */ + indicatorIndex?: number; + + /** returns the name of the event + */ + type?: string; +} + +export interface DrawLabelsEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the labels + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the label belongs. + */ + scaleIndex?: number; + + /** returns the label style + */ + style?: string; + + /** returns the angle of the labels. + */ + angle?: number; + + /** returns the current label element. + */ + element?: any; + + /** returns the index of the label. + */ + index?: number; + + /** returns the value of the label. + */ + pointerValue?: number; + + /** returns the name of the event + */ + type?: string; +} + +export interface DrawPointerCapEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the startX and startY of the pointer cap. + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the pointer cap style + */ + style?: string; + + /** returns the name of the event + */ + type?: string; +} + +export interface DrawPointersEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the pointer + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the angle of the pointer. + */ + angle?: number; + + /** returns the current pointer element. + */ + element?: any; + + /** returns the index of the pointer. + */ + index?: number; + + /** returns the value of the pointer. + */ + value?: number; + + /** returns the name of the event + */ + type?: string; +} + +export interface DrawRangeEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the range + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the range belongs. + */ + scaleIndex?: number; + + /** returns the range style + */ + style?: string; + + /** returns the current range element. + */ + rangeElement?: any; + + /** returns the index of the range. + */ + rangeIndex?: number; + + /** returns the name of the event + */ + type?: string; +} + +export interface DrawTicksEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the startX and startY of the ticks + */ + position?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the options of the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the tick belongs. + */ + scaleIndex?: number; + + /** returns the ticks style + */ + style?: string; + + /** returns the angle of the tick. + */ + angle?: number; + + /** returns the current tick element. + */ + element?: any; + + /** returns the index of the tick. + */ + index?: number; + + /** returns the label value of the tick. + */ + pointerValue?: number; + + /** returns the name of the event + */ + type?: string; +} + +export interface LoadEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + Model?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the context element + */ + context?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface MouseClickEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: any; + + /** returns the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + index?: number; + + /** returns the pointer element. + */ + element?: any; + + /** returns the value of the pointer. + */ + value?: number; + + /** returns the angle of the pointer. + */ + angle?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; +} + +export interface MouseClickMoveEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: any; + + /** returns the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + index?: number; + + /** returns the pointer element. + */ + element?: any; + + /** returns the value of the pointer. + */ + value?: number; + + /** returns the angle of the pointer. + */ + angle?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; +} + +export interface MouseClickUpEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: any; + + /** returns the scale element. + */ + scaleElement?: any; + + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; + + /** returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + index?: number; + + /** returns the pointer element. + */ + element?: any; + + /** returns the value of the pointer. + */ + value?: number; + + /** returns the angle of the pointer. + */ + angle?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; +} + +export interface RenderCompleteEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface Frame { + + /** Specify the URL of the frame background image for circular gauge + * @Default {null} + */ + backgroundImageUrl?: string; + + /** Specifies the frameType of circular gauge. See Frame + * @Default {FullCircle} + */ + frameType?: ej.datavisualization.CircularGauge.FrameType|string; + + /** Specifies the end angle for the half circular frame. + * @Default {360} + */ + halfCircleFrameEndAngle?: number; + + /** Specifies the start angle for the half circular frame. + * @Default {180} + */ + halfCircleFrameStartAngle?: number; +} + +export interface ScalesBorder { + + /** Specify border color for scales of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify border width of circular gauge + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesCustomLabelsPosition { + + /** Specify x-axis position of label + * @Default {0} + */ + x?: number; + + /** Specify y-axis position of labels. + * @Default {0} + */ + y?: number; +} + +export interface ScalesCustomLabelsFont { + + /** Specify font fontFamily for custom labels. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specify font Style for custom labels. + * @Default {Bold} + */ + fontStyle?: string; + + /** Specify font size for custom labels. + * @Default {12px} + */ + size?: string; +} + +export interface ScalesCustomLabel { + + /** Value of the custom labels. + */ + value?: string; + + /** Color of the custom labels. + */ + color?: string; + + /** Specify position of custom labels + * @Default {Object} + */ + position?: ScalesCustomLabelsPosition; + + /** Specify font for custom labels + * @Default {Object} + */ + font?: ScalesCustomLabelsFont; +} + +export interface ScalesIndicatorsPosition { + + /** Specify x-axis of position of circular gauge + * @Default {0} + */ + x?: number; + + /** Specify y-axis of position of circular gauge + * @Default {0} + */ + y?: number; +} + +export interface ScalesIndicatorsStateRange { + + /** Specify backgroundColor for indicator of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify borderColor for indicator of circular gauge + * @Default {null} + */ + borderColor?: string; + + /** Specify end value for each specified state of circular gauge + * @Default {0} + */ + endValue?: number; + + /** Specify value of the font as the indicator when the indicator style is set with the value "text" of circular gauge + * @Default {null} + */ + font?: any; + + /** Specify start value for each specified state of circular gauge + * @Default {0} + */ + startValue?: number; + + /** Specify value of the text as the indicator when the indicator style is set with the value "text" of circular gauge + */ + text?: string; + + /** Specify value of the textColor as the indicator when the indicator style is set with the value "text" of circular gauge + * @Default {null} + */ + textColor?: string; +} + +export interface ScalesIndicator { + + /** Specify indicator height of circular gauge + * @Default {15} + */ + height?: number; + + /** Specify imageUrl of circular gauge + * @Default {null} + */ + imageUrl?: string; + + /** Specify position of circular gauge + * @Default {Object} + */ + position?: ScalesIndicatorsPosition; + + /** Specify the various states of circular gauge + * @Default {Array} + */ + stateRanges?: Array; + + /** Specify indicator style of circular gauge. See IndicatorType + * @Default {Circle} + */ + type?: ej.datavisualization.CircularGauge.IndicatorTypes|string; + + /** Specify indicator width of circular gauge + * @Default {15} + */ + width?: number; +} + +export interface ScalesLabelsFont { + + /** Specify font fontFamily for labels of circular gauge + * @Default {Arial} + */ + fontFamily?: string; + + /** Specify font Style for labels of circular gauge + * @Default {Bold} + */ + fontStyle?: string; + + /** Specify font size for labels of circular gauge + * @Default {11px} + */ + size?: string; +} + +export interface ScalesLabel { + + /** Specify the angle for the labels of circular gauge + * @Default {0} + */ + angle?: number; + + /** Specify labels autoAngle value of circular gauge + * @Default {false} + */ + autoAngle?: boolean; + + /** Specify label color of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify distanceFromScale value for labels of circular gauge + * @Default {0} + */ + distanceFromScale?: number; + + /** Specify font for labels of circular gauge + * @Default {Object} + */ + font?: ScalesLabelsFont; + + /** Specify includeFirstValue of circular gauge + * @Default {true} + */ + includeFirstValue?: boolean; + + /** Specify opacity value for labels of circular gauge + * @Default {null} + */ + opacity?: number; + + /** Specify label placement of circular gauge. See LabelPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement|string; + + /** Specify label Style of circular gauge. See LabelType + * @Default {Major} + */ + type?: ej.datavisualization.CircularGauge.LabelType|string; + + /** Specify unitText of circular gauge + */ + unitText?: string; + + /** Specify unitTextPosition of circular gauge. See UnitTextPosition + * @Default {Back} + */ + unitTextPosition?: ej.datavisualization.CircularGauge.UnitTextPlacement|string; +} + +export interface ScalesPointerCap { + + /** Specify cap backgroundColor of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify cap borderColor of circular gauge + * @Default {null} + */ + borderColor?: string; + + /** Specify pointerCap borderWidth value of circular gauge + * @Default {3} + */ + borderWidth?: number; + + /** Specify cap interiorGradient value of circular gauge + * @Default {null} + */ + interiorGradient?: any; + + /** Specify pointerCap Radius value of circular gauge + * @Default {7} + */ + radius?: number; +} + +export interface ScalesPointersBorder { + + /** Specify border color for pointer of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify border width for pointers of circular gauge + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesPointersPointerValueTextFont { + + /** Specify pointer value text font family of circular gauge. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specify pointer value text font style of circular gauge. + * @Default {Bold} + */ + fontStyle?: string; + + /** Specify pointer value text size of circular gauge. + * @Default {11px} + */ + size?: string; +} + +export interface ScalesPointersPointerValueText { + + /** Specify pointer text angle of circular gauge. + * @Default {0} + */ + angle?: number; + + /** Specify pointer text auto angle of circular gauge. + * @Default {false} + */ + autoAngle?: boolean; + + /** Specify pointer value text color of circular gauge. + * @Default {#8c8c8c} + */ + color?: string; + + /** Specify pointer value text distance from pointer of circular gauge. + * @Default {20} + */ + distance?: number; + + /** Specify pointer value text font option of circular gauge. + * @Default {object} + */ + font?: ScalesPointersPointerValueTextFont; + + /** Specify pointer value text opacity of circular gauge. + * @Default {1} + */ + opacity?: number; + + /** enable pointer value text visibility of circular gauge. + * @Default {false} + */ + showValue?: boolean; +} + +export interface ScalesPointer { + + /** Specify backgroundColor for the pointer of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify backNeedleLength of circular gauge + * @Default {10} + */ + backNeedleLength?: number; + + /** Specify the border for pointers of circular gauge + * @Default {Object} + */ + border?: ScalesPointersBorder; + + /** Specify distanceFromScale value for pointers of circular gauge + * @Default {0} + */ + distanceFromScale?: number; + + /** Specify pointer gradients of circular gauge + * @Default {null} + */ + gradients?: any; + + /** Specify pointer image of circular gauge.It is applicable for both marker as well as needle type pointers. + * @Default {NULL} + */ + imageUrl?: string; + + /** Specify pointer length of circular gauge + * @Default {150} + */ + length?: number; + + /** Specify marker Style value of circular gauge. See MarkerType + * @Default {Rectangle} + */ + markerType?: ej.datavisualization.CircularGauge.MarkerType|string; + + /** Specify needle Style value of circular gauge. See NeedleType + * @Default {Triangle} + */ + needleType?: ej.datavisualization.CircularGauge.NeedleType|string; + + /** Specify opacity value for pointer of circular gauge + * @Default {1} + */ + opacity?: number; + + /** Specify radius value for pointer of circular gauge + * @Default {null} + */ + radius?: number; + + /** Specify pointer Placement value of circular gauge. See PointerPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement|string; + + /** Specify pointer value text of circular gauge. + * @Default {Object} + */ + pointerValueText?: ScalesPointersPointerValueText; + + /** Specify showBackNeedle value of circular gauge + * @Default {false} + */ + showBackNeedle?: boolean; + + /** Specify pointer type value of circular gauge. See PointerType + * @Default {Needle} + */ + type?: ej.datavisualization.CircularGauge.PointerType|string; + + /** Specify value of the pointer of circular gauge + * @Default {null} + */ + value?: number; + + /** Specify pointer width of circular gauge + * @Default {7} + */ + width?: number; +} + +export interface ScalesRangesBorder { + + /** Specify border color for ranges of circular gauge + * @Default {#32b3c6} + */ + color?: string; + + /** Specify border width for ranges of circular gauge + * @Default {1.5} + */ + width?: number; +} + +export interface ScalesRange { + + /** Specify backgroundColor for the ranges of circular gauge + * @Default {#32b3c6} + */ + backgroundColor?: string; + + /** Specify text for the ranges of circular gauge + * @Default {null} + */ + legendText?: string; + + /** Specify border for ranges of circular gauge + * @Default {Object} + */ + border?: ScalesRangesBorder; + + /** Specify distanceFromScale value for ranges of circular gauge + * @Default {25} + */ + distanceFromScale?: number; + + /** Specify endValue for ranges of circular gauge + * @Default {null} + */ + endValue?: number; + + /** Specify endWidth for ranges of circular gauge + * @Default {10} + */ + endWidth?: number; + + /** Specify range gradients of circular gauge + * @Default {null} + */ + gradients?: any; + + /** Specify opacity value for ranges of circular gauge + * @Default {null} + */ + opacity?: number; + + /** Specify placement of circular gauge. See RangePlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement|string; + + /** Specify size of the range value of circular gauge + * @Default {5} + */ + size?: number; + + /** Specify startValue for ranges of circular gauge + * @Default {null} + */ + startValue?: number; + + /** Specify startWidth of circular gauge + * @Default {[Array.number] scale.ranges.startWidth = 10} + */ + startWidth?: number; +} + +export interface ScalesSubGaugesPosition { + + /** Specify x-axis position for sub-gauge of circular gauge + * @Default {0} + */ + x?: number; + + /** Specify y-axis position for sub-gauge of circular gauge + * @Default {0} + */ + y?: number; +} + +export interface ScalesSubGauge { + + /** Specify subGauge Height of circular gauge + * @Default {150} + */ + height?: number; + + /** Specify position for sub-gauge of circular gauge + * @Default {Object} + */ + position?: ScalesSubGaugesPosition; + + /** Specify subGauge Width of circular gauge + * @Default {150} + */ + width?: number; +} + +export interface ScalesTick { + + /** Specify the angle for the ticks of circular gauge + * @Default {0} + */ + angle?: number; + + /** Specify tick color of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify distanceFromScale value for ticks of circular gauge + * @Default {0} + */ + distanceFromScale?: number; + + /** Specify tick height of circular gauge + * @Default {16} + */ + height?: number; + + /** Specify tick placement of circular gauge. See TickPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement|string; + + /** Specify tick Style of circular gauge. See TickType + * @Default {Major} + */ + type?: ej.datavisualization.CircularGauge.LabelType|string; + + /** Specify tick width of circular gauge + * @Default {3} + */ + width?: number; +} + +export interface Scale { + + /** Specify backgroundColor for the scale of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify border for scales of circular gauge + * @Default {Object} + */ + border?: ScalesBorder; + + /** Specify scale direction of circular gauge. See Directions + * @Default {Clockwise} + */ + direction?: ej.datavisualization.CircularGauge.Direction|string; + + /** Specify the custom labels for the scales. + * @Default {Array} + */ + customLabels?: Array; + + /** Specify representing state of circular gauge + * @Default {Array} + */ + indicators?: Array; + + /** Specify the text values displayed in a meaningful manner alongside the ticks of circular gauge + * @Default {Array} + */ + labels?: Array; + + /** Specify majorIntervalValue of circular gauge + * @Default {10} + */ + majorIntervalValue?: number; + + /** Specify maximum scale value of circular gauge + * @Default {null} + */ + maximum?: number; + + /** Specify minimum scale value of circular gauge + * @Default {null} + */ + minimum?: number; + + /** Specify minorIntervalValue of circular gauge + * @Default {2} + */ + minorIntervalValue?: number; + + /** Specify opacity value of circular gauge + * @Default {1} + */ + opacity?: number; + + /** Specify pointer cap of circular gauge + * @Default {Object} + */ + pointerCap?: ScalesPointerCap; + + /** Specify pointers value of circular gauge + * @Default {Array} + */ + pointers?: Array; + + /** Specify scale radius of circular gauge + * @Default {170} + */ + radius?: number; + + /** Specify ranges value of circular gauge + * @Default {Array} + */ + ranges?: Array; + + /** Specify shadowOffset value of circular gauge + * @Default {0} + */ + shadowOffset?: number; + + /** Specify showIndicators of circular gauge + * @Default {false} + */ + showIndicators?: boolean; + + /** Specify showLabels of circular gauge + * @Default {true} + */ + showLabels?: boolean; + + /** Specify showPointers of circular gauge + * @Default {true} + */ + showPointers?: boolean; + + /** Specify showRanges of circular gauge + * @Default {false} + */ + showRanges?: boolean; + + /** Specify showScaleBar of circular gauge + * @Default {false} + */ + showScaleBar?: boolean; + + /** Specify showTicks of circular gauge + * @Default {true} + */ + showTicks?: boolean; + + /** Specify scaleBar size of circular gauge + * @Default {6} + */ + size?: number; + + /** Specify startAngle of circular gauge + * @Default {115} + */ + startAngle?: number; + + /** Specify subGauge of circular gauge + * @Default {Array} + */ + subGauges?: Array; + + /** Specify sweepAngle of circular gauge + * @Default {310} + */ + sweepAngle?: number; + + /** Specify ticks of circular gauge + * @Default {Array} + */ + ticks?: Array; +} + +export interface LegendBorder { + + /** Border color of the legend. + * @Default {transparent} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; +} + +export interface LegendItemStyleBorder { + + /** Border color of the legend items. + * @Default {transparent} + */ + color?: string; + + /** Border width of the legend items. + * @Default {1} + */ + width?: number; +} + +export interface LegendItemStyle { + + /** Options for customizing the border of legend items. + */ + border?: LegendItemStyleBorder; + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; +} + +export interface LegendSize { + + /** Height of the legend. Height can be specified in pixel. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in pixel. + * @Default {null} + */ + width?: string; +} + +export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal} + */ + fontStyle?: string; + + /** Font weight for legend item text. + * @Default {Regular} + */ + fontWeight?: string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; + + /** Font color of the text for legend items. + * @Default {null} + */ + color?: string; +} + +export interface Legend { + + /** Toggles the visibility of the legend. + * @Default {false} + */ + visible?: boolean; + + /** Specifies the alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.CircularGauge.LegendAlignment|string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Fill color for the legend items. By using this property, it displays all legend item shapes in same color.Legend items representing invisible ranges is displayed in gray color. + * @Default {null} + */ + fill?: string; + + /** Gap or padding between the legend items. + * @Default {20} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Opacity of the legend. + * @Default {1} + */ + opacity?: number; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the circular gauge. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.CircularGauge.LegendPosition|string; + + /** Shape of the legend items. + * @Default {Circle. See Shape} + */ + shape?: ej.datavisualization.CircularGauge.LegendShape|string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; +} + +export interface Tooltip { + + /** enable showCustomLabelTooltip of circular gauge + * @Default {false} + */ + showCustomLabelTooltip?: boolean; + + /** enable showLabelTooltip of circular gauge + * @Default {false} + */ + showLabelTooltip?: boolean; + + /** Specify tooltip templateID of circular gauge + * @Default {false} + */ + templateID?: string; +} +} +module CircularGauge +{ +enum FrameType +{ +//string +FullCircle, +//string +HalfCircle, +} +} +module CircularGauge +{ +enum gaugePosition +{ +//string +TopLeft, +//string +TopRight, +//string +TopCenter, +//string +MiddleLeft, +//string +MiddleRight, +//string +Center, +//string +BottomLeft, +//string +BottomRight, +//string +BottomCenter, +} +} +module CircularGauge +{ +enum CustomLabelPositionType +{ +//string +Top, +//string +Bottom, +//string +Right, +//string +Left, +} +} +module CircularGauge +{ +enum Direction +{ +//string +Clockwise, +//string +CounterClockwise, +} +} +module CircularGauge +{ +enum IndicatorTypes +{ +//string +Rectangle, +//string +Circle, +//string +Text, +//string +RoundedRectangle, +//string +Image, +} +} +module CircularGauge +{ +enum Placement +{ +//string +Near, +//string +Far, +} +} +module CircularGauge +{ +enum LabelType +{ +//string +Major, +//string +Minor, +} +} +module CircularGauge +{ +enum UnitTextPlacement +{ +//string +Back, +//string +Front, +} +} +module CircularGauge +{ +enum MarkerType +{ +//string +Rectangle, +//string +Circle, +//string +Triangle, +//string +Ellipse, +//string +Diamond, +//string +Pentagon, +//string +Slider, +//string +Pointer, +//string +Wedge, +//string +Trapezoid, +//string +RoundedRectangle, +//string +Image, +} +} +module CircularGauge +{ +enum NeedleType +{ +//string +Triangle, +//string +Rectangle, +//string +Arrow, +//string +Image, +//string +Trapezoid, +} +} +module CircularGauge +{ +enum PointerType +{ +//string +Needle, +//string +Marker, +} +} +module CircularGauge +{ +enum LegendAlignment +{ +//string +Center, +//string +Near, +//string +Far, +} +} +module CircularGauge +{ +enum LegendPosition +{ +//string +Left, +//string +Right, +//string +Top, +//string +Bottom, +} +} +module CircularGauge +{ +enum LegendShape +{ +//string +Rectangle, +//string +Circle, +//string +Triangle, +//string +Ellipse, +//string +Diamond, +//string +Pentagon, +//string +Slider, +//string +Trapezoid, +//string +Line, +} +} + +class DigitalGauge extends ej.Widget { + static fn: DigitalGauge; + constructor(element: JQuery, options?: DigitalGauge.Model); + constructor(element: Element, options?: DigitalGauge.Model); + static Locale: any; + model:DigitalGauge.Model; + defaults:DigitalGauge.Model; + + /** To destroy the digital gauge + * @returns {void} + */ + destroy(): void; + + /** To export Digital Gauge as Image + * @param {string} fileName for the Image + * @param {string} fileType for the Image + * @returns {boolean} + */ + exportImage(fileName: string, fileType: string): boolean; + + /** Gets the location of an item that is displayed on the gauge. + * @param {number} Position value of an item that is displayed on the gauge. + * @returns {any} + */ + getPosition(itemIndex: number): any; + + /** ClientSideMethod getValue Gets the value of an item that is displayed on the gauge + * @param {number} Index value of an item that displayed on the gauge + * @returns {any} + */ + getValue(itemIndex: number): any; + + /** Refresh the digital gauge widget + * @returns {void} + */ + refresh(): void; + + /** ClientSideMethod Set Position Sets the location of an item to be displayed in the gauge + * @param {number} Index value of the digital gauge item + * @param {any} Location value of the digital gauge + * @returns {void} + */ + setPosition(itemIndex: number, value: any): void; + + /** ClientSideMethod SetValue Sets the value of an item to be displayed in the gauge. + * @param {number} Index value of the digital gauge item + * @param {string} Text value to be displayed in the gaugeS + * @returns {void} + */ + setValue(itemIndex: number, value: string): void; +} +export module DigitalGauge{ + +export interface Model { + + /** Specifies the frame of the Digital gauge. + * @Default {{backgroundImageUrl: null, innerWidth: 6, outerWidth: 10}} + */ + frame?: Frame; + + /** Specifies the height of the DigitalGauge. + * @Default {150} + */ + height?: number; + + /** Specifies the resize option of the DigitalGauge. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the items for the DigitalGauge. + * @Default {null} + */ + items?: Array; + + /** Specifies the matrixSegmentData for the DigitalGauge. + */ + matrixSegmentData?: any; + + /** Specifies the segmentData for the DigitalGauge. + */ + segmentData?: any; + + /** Specifies the themes for the Digital gauge. See Themes + * @Default {flatlight} + */ + themes?: string; + + /** Specifies the value to the DigitalGauge. + * @Default {text} + */ + value?: string; + + /** Specifies the width for the Digital gauge. + * @Default {400} + */ + width?: number; + + /** Triggers when the gauge is initialized. */ + init? (e: InitEventArgs): void; + + /** Triggers when the gauge item rendering. */ + itemRendering? (e: ItemRenderingEventArgs): void; + + /** Triggers when the gauge is start to load. */ + load? (e: LoadEventArgs): void; + + /** Triggers when the gauge render is completed. */ + renderComplete? (e: RenderCompleteEventArgs): void; +} + +export interface InitEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; + + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ItemRenderingEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; + + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface LoadEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; + + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface RenderCompleteEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; + + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface Frame { + + /** Specifies the URL of an image to be displayed as background of the Digital gauge. + * @Default {null} + */ + backgroundImageUrl?: string; + + /** Specifies the inner width for the frame, when the background image has been set for the Digital gauge.. + * @Default {6} + */ + innerWidth?: number; + + /** Specifies the outer width of the frame, when the background image has been set for the Digital gauge. + * @Default {10} + */ + outerWidth?: number; +} + +export interface ItemsCharacterSettings { + + /** Specifies the CharacterCount value for the DigitalGauge. + * @Default {4} + */ + count?: number; + + /** Specifies the opacity value for the DigitalGauge. + * @Default {1} + */ + opacity?: number; + + /** Specifies the value for spacing between the characters + * @Default {2} + */ + spacing?: number; + + /** Specifies the character type for the text to be displayed. + * @Default {ej.datavisualization.DigitalGauge.CharacterType.EightCrossEightDotMatrix} + */ + type?: ej.datavisualization.DigitalGauge.CharacterType|string; +} + +export interface ItemsFont { + + /** Set the font family value + * @Default {Arial} + */ + fontFamily?: string; + + /** Set the font style for the font + * @Default {italic} + */ + fontStyle?: ej.datavisualization.DigitalGauge.FontStyle|string; + + /** Set the font size value + * @Default {11px} + */ + size?: string; +} + +export interface ItemsPosition { + + /** Set the horizontal location for the text, where it needs to be placed within the gauge. + * @Default {0} + */ + x?: number; + + /** Set the vertical location for the text, where it needs to be placed within the gauge. + * @Default {0} + */ + y?: number; +} + +export interface ItemsSegmentSettings { + + /** Set the color for the text segments. + * @Default {null} + */ + color?: string; + + /** Set the gradient for the text segments. + * @Default {null} + */ + gradient?: any; + + /** Set the length for the text segments. + * @Default {2} + */ + length?: number; + + /** Set the opacity for the text segments. + * @Default {0} + */ + opacity?: number; + + /** Set the spacing for the text segments. + * @Default {1} + */ + spacing?: number; + + /** Set the width for the text segments. + * @Default {1} + */ + width?: number; +} + +export interface Item { + + /** Specifies the Character settings for the DigitalGauge. + * @Default {null} + */ + characterSettings?: ItemsCharacterSettings; + + /** Enable/Disable the custom font to be applied to the text in the gauge. + * @Default {false} + */ + enableCustomFont?: boolean; + + /** Set the specific font for the text, when the enableCustomFont is set to true + * @Default {null} + */ + font?: ItemsFont; + + /** Set the location for the text, where it needs to be placed within the gauge. + * @Default {null} + */ + position?: ItemsPosition; + + /** Set the segment settings for the digital gauge. + * @Default {null} + */ + segmentSettings?: ItemsSegmentSettings; + + /** Set the value for enabling/disabling the blurring effect for the shadows of the text + * @Default {0} + */ + shadowBlur?: number; + + /** Specifies the color of the text shadow. + * @Default {null} + */ + shadowColor?: string; + + /** Set the x offset value for the shadow of the text, indicating the location where it needs to be displayed. + * @Default {1} + */ + shadowOffsetX?: number; + + /** Set the y offset value for the shadow of the text, indicating the location where it needs to be displayed. + * @Default {1} + */ + shadowOffsetY?: number; + + /** Set the alignment of the text that is displayed within the gauge.See TextAlign + * @Default {left} + */ + textAlign?: string; + + /** Specifies the color of the text. + * @Default {null} + */ + textColor?: string; + + /** Specifies the text value. + * @Default {null} + */ + value?: string; +} +} +module DigitalGauge +{ +enum CharacterType +{ +//string +SevenSegment, +//string +FourteenSegment, +//string +SixteenSegment, +//string +EightCrossEightDotMatrix, +//string +EightCrossEightSquareMatrix, +} +} +module DigitalGauge +{ +enum FontStyle +{ +//string +Normal, +//string +Bold, +//string +Italic, +//string +Underline, +//string +Strikeout, +} +} + +class Chart extends ej.Widget { + static fn: Chart; + constructor(element: JQuery, options?: Chart.Model); + constructor(element: Element, options?: Chart.Model); + static Locale: any; + model:Chart.Model; + defaults:Chart.Model; + + /** Animates the series and/or indicators in Chart. When parameter is not passed to this method, then all the series and indicators present in Chart are animated. + * @param {any} If an array collection is passed as parameter, series and indicator objects passed in array collection are animated.ExampleIf a series or indicator object is passed to this method, then the specific series or indicator is animated.Example, + * @returns {void} + */ + animate(options: any): void; + + /** Prints the rendered chart. + * @returns {void} + */ + print(): void; + + /** Exports chart as an image or to an excel file. Chart can be exported as an image only when exportCanvasRendering option is set to true. + * @param {string} Type of the export operation to be performed. Following are the two export types that are supported now,1. 'image'2. 'excel'Example + * @param {string} URL of the service, where the chart will be exported to excel.Example, + * @param {boolean} When this parameter is true, all the chart objects initialized to the same document are exported to a single excel file. This is an optional parameter. By default, it is false.Example, + * @returns {any} + */ + export(type: string, URL: string, exportMultipleChart: boolean): any; + + /** Redraws the entire chart. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; +} +export module Chart{ + +export interface Model { + + /** Options for adding and customizing annotations in Chart. + */ + annotations?: Array; + + /** URL of the image to be used as chart background. + * @Default {null} + */ + backGroundImageUrl?: string; + + /** Options for customizing the color, opacity and width of the chart border. + */ + border?: Border; + + /** This provides options for customizing export settings + */ + exportSettings?: ExportSettings; + + /** Options for configuring the border and background of the plot area. + */ + chartArea?: ChartArea; + + /** Options to split Chart into multiple plotting areas vertically. Each object in the collection represents a plotting area in Chart. + */ + columnDefinitions?: Array; + + /** Options for configuring the properties of all the series. You can also override the options for specific series by using series collection. + */ + commonSeriesOptions?: CommonSeriesOptions; + + /** Options for displaying and customizing the crosshair. + */ + crosshair?: Crosshair; + + /** Depth of the 3D Chart from front view of series to background wall. This property is applicable only for 3D view. + * @Default {100} + */ + depth?: number; + + /** Controls whether 3D view has to be enabled or not. 3D view is supported only for column, bar. Stacking column, stacking bar, pie and doughnut series types. + * @Default {false} + */ + enable3D?: boolean; + + /** Controls whether Chart has to be rendered as Canvas or SVG. Canvas rendering supports all functionalities in SVG rendering except 3D Charts. + * @Default {false} + */ + enableCanvasRendering?: boolean; + + /** Controls whether the series has to be rendered at initial loading of chart, this will be useful in scenarios where chart is placed at the bottom of the web page and we need to render the series only when the chart is visible while scrolling to the top. + * @Default {true} + */ + initSeriesRender?: boolean; + + /** Controls whether 3D view has to be rotated on dragging. This property is applicable only for 3D view. + * @Default {false} + */ + enableRotation?: boolean; + + /** Options to customize the technical indicators. + */ + indicators?: Array; + + /** Controls whether Chart has to be responsive while resizing. + * @Default {false} + */ + isResponsive?: boolean; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; + + /** Name of the culture based on which chart should be localized. Number and date time values are localized with respect to the culture name.String type properties like title text are not localized automatically. Provide localized text as value to string type properties. + * @Default {en-US} + */ + locale?: string; + + /** Palette is used to store the series fill color in array and apply the color to series collection in the order of series index. + * @Default {null} + */ + palette?: Array; + + /** Options to customize the left, right, top and bottom margins of chart area. + */ + Margin?: any; + + /** Perspective angle of the 3D view. Chart appears closer when perspective angle is decreased, and distant when perspective angle is increased.This property is applicable only when 3D view is enabled + * @Default {90} + */ + perspectiveAngle?: number; + + /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s xAxisName property to link both axis and series. + */ + primaryXAxis?: PrimaryXAxis; + + /** To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s xAxisName property to link both axis and series. + */ + axes?: Array; + + /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s yAxisName property to link both axis and series. + */ + primaryYAxis?: PrimaryYAxis; + + /** Rotation angle of the 3D view. This property is applicable only when 3D view is enabled. + * @Default {0} + */ + rotation?: number; + + /** Options to split Chart into multiple plotting areas horizontally. Each object in the collection represents a plotting area in Chart. + */ + rowDefinitions?: Array; + + /** Specifies the properties used for customizing the series. + */ + series?: Array; + + /** Controls whether data points has to be displayed side by side or along the depth of the axis. + * @Default {false} + */ + sideBySideSeriesPlacement?: boolean; + + /** Options to customize the Chart size. + */ + size?: Size; + + /** Specifies the theme for Chart. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Chart.Theme|string; + + /** Slope angle of 3D Chart. This property is applicable only when 3D view is enabled. + * @Default {0} + */ + tilt?: number; + + /** Options for customizing the title and subtitle of Chart. + */ + title?: Title; + + /** Width of the wall used in 3D Chart. Wall is present only in Cartesian type 3D series and not in 3D pie or Doughnut series. This property is applicable only when 3D view is enabled. + * @Default {2} + */ + wallSize?: number; + + /** Options for enabling zooming feature of chart. + */ + zooming?: Zooming; + + /** Fires after the series animation is completed. This event will be triggered for each series when animation is enabled. */ + animationComplete? (e: AnimationCompleteEventArgs): void; + + /** Fires before rendering the labels. This event is fired for each label in axis. You can use this event to add custom text to axis labels. */ + axesLabelRendering? (e: AxesLabelRenderingEventArgs): void; + + /** Fires during the initialization of axis labels. */ + axesLabelsInitialize? (e: AxesLabelsInitializeEventArgs): void; + + /** Fires during axes range calculation. This event is fired for each axis present in Chart. You can use this event to customize axis range as required. */ + axesRangeCalculate? (e: AxesRangeCalculateEventArgs): void; + + /** Fires before rendering the axis title. This event is triggered for each axis with title. You can use this event to add custom text to axis title. */ + axesTitleRendering? (e: AxesTitleRenderingEventArgs): void; + + /** Fires during the calculation of chart area bounds. You can use this event to customize the bounds of chart area. */ + chartAreaBoundsCalculate? (e: ChartAreaBoundsCalculateEventArgs): void; + + /** Fires after chart is created. */ + create? (e: CreateEventArgs): void; + + /** Fires when chart is destroyed completely. */ + destroy? (e: DestroyEventArgs): void; + + /** Fires before rendering the data labels. This event is triggered for each data label in the series. You can use this event to add custom text in data labels. */ + displayTextRendering? (e: DisplayTextRenderingEventArgs): void; + + /** Fires during the calculation of legend bounds. You can use this event to customize the bounds of legend. */ + legendBoundsCalculate? (e: LegendBoundsCalculateEventArgs): void; + + /** Fires on clicking the legend item. */ + legendItemClick? (e: LegendItemClickEventArgs): void; + + /** Fires when moving mouse over legend item. You can use this event for hit testing on legend items. */ + legendItemMouseMove? (e: LegendItemMouseMoveEventArgs): void; + + /** Fires before rendering the legend item. This event is fired for each legend item in Chart. You can use this event to customize legend item shape or add custom text to legend item. */ + legendItemRendering? (e: LegendItemRenderingEventArgs): void; + + /** Fires before loading the chart. */ + load? (e: LoadEventArgs): void; + + /** Fires after selected the data in chart. */ + rangeSelected? (e: RangeSelectedEventArgs): void; + + /** Fires on clicking a point in chart. You can use this event to handle clicks made on points. */ + pointRegionClick? (e: PointRegionClickEventArgs): void; + + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + + /** Fires before rendering chart. */ + preRender? (e: PreRenderEventArgs): void; + + /** Fires after selecting a series. This event is triggered after selecting a series only if selection mode is series. */ + seriesRegionClick? (e: SeriesRegionClickEventArgs): void; + + /** Fires before rendering a series. This event is fired for each series in Chart. */ + seriesRendering? (e: SeriesRenderingEventArgs): void; + + /** Fires before rendering the marker symbols. This event is triggered for each marker in Chart. */ + symbolRendering? (e: SymbolRenderingEventArgs): void; + + /** Fires before rendering the Chart title. You can use this event to add custom text in Chart title. */ + titleRendering? (e: TitleRenderingEventArgs): void; + + /** Fires before rendering the tooltip. This event is fired when tooltip is enabled and mouse is hovered on a Chart point. You can use this event to customize tooltip before rendering. */ + toolTipInitialize? (e: ToolTipInitializeEventArgs): void; + + /** Fires before rendering crosshair tooltip in axis. This event is fired for each axis with crosshair label enabled. You can use this event to customize crosshair label before rendering */ + trackAxisToolTip? (e: TrackAxisToolTipEventArgs): void; + + /** Fires before rendering trackball tooltip. This event is fired for each series in Chart because trackball tooltip is displayed for all the series. You can use this event to customize the text displayed in trackball tooltip. */ + trackToolTip? (e: TrackToolTipEventArgs): void; + + /** Fires, on clicking the axis label. */ + axisLabelClick? (e: AxisLabelClickEventArgs): void; + + /** Fires on moving mouse over the axis label. */ + axisLabelMouseMove? (e: AxisLabelMouseMoveEventArgs): void; + + /** Fires, on the clicking the chart. */ + chartClick? (e: ChartClickEventArgs): void; + + /** Fires on moving mouse over the chart. */ + chartMouseMove? (e: ChartMouseMoveEventArgs): void; + + /** Fires, on double clicking the chart. */ + chartDoubleClick? (e: ChartDoubleClickEventArgs): void; + + /** Fires on clicking the annotation. */ + annotationClick? (e: AnnotationClickEventArgs): void; + + /** Fires, after the chart is resized. */ + afterResize? (e: AfterResizeEventArgs): void; + + /** Fires, when chart size is changing. */ + beforeResize? (e: BeforeResizeEventArgs): void; + + /** Fires, when error bar is rendering. */ + errorBarRendering? (e: ErrorBarRenderingEventArgs): void; + + /** Trigger, after the scrollbar position is changed. */ + scrollChanged? (e: ScrollChangedEventArgs): void; + + /** Event triggered when scroll starts */ + scrollStart? (e: ScrollStartEventArgs): void; + + /** Event triggered when scroll end */ + scrollEnd? (e: ScrollEndEventArgs): void; +} + +export interface AnimationCompleteEventArgs { + + /** Instance of the series that completed has animation. + */ + series?: any; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface AxesLabelRenderingEventArgs { + + /** Instance of the corresponding axis. + */ + axis?: any; + + /** Formatted text of the respective label. You can also add custom text to the label. + */ + Text?: string; + + /** Actual value of the label. + */ + Value?: string; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface AxesLabelsInitializeEventArgs { + + /** Collection of axes in Chart + */ + dataAxes?: any; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface AxesRangeCalculateEventArgs { + + /** Difference between minimum and maximum value of axis range. + */ + delta?: number; + + /** Interval value of axis range. Grid lines, tick lines and axis labels are drawn based on this interval value. + */ + interval?: number; + + /** Maximum value of axis range. + */ + max?: number; + + /** Minimum value of axis range. + */ + min?: number; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface AxesTitleRenderingEventArgs { + + /** Instance of the axis whose title is being rendered + */ + axes?: any; + + /** X-coordinate of title location + */ + locationX?: number; + + /** Y-coordinate of title location + */ + locationY?: number; + + /** Axis title text. You can add custom text to the title. + */ + title?: string; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface ChartAreaBoundsCalculateEventArgs { + + /** Height of the chart area. + */ + areaBoundsHeight?: number; + + /** Width of the chart area. + */ + areaBoundsWidth?: number; + + /** X-coordinate of the chart area. + */ + areaBoundsX?: number; + + /** Y-coordinate of the chart area. + */ + areaBoundsY?: number; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface CreateEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DestroyEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DisplayTextRenderingEventArgs { + + /** Text displayed in data label. You can add custom text to the data label + */ + text?: string; + + /** X-coordinate of data label location + */ + locationX?: number; + + /** Y-coordinate of data label location + */ + locationY?: number; + + /** Index of the series in series Collection whose data label is being rendered + */ + seriesIndex?: number; + + /** Index of the point in series whose data label is being rendered + */ + pointIndex?: number; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface LegendBoundsCalculateEventArgs { + + /** Height of the legend. + */ + legendBoundsHeight?: number; + + /** Width of the legend. + */ + legendBoundsWidth?: number; + + /** Number of rows to display the legend items + */ + legendBoundsRows?: number; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the chart model object. + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface LegendItemClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of legend item in pixel + */ + startX?: number; + + /** Y-coordinate of legend item in pixel + */ + startY?: number; + + /** Instance of the legend item object that is about to be rendered + */ + LegendItem?: any; + + /** Options to customize the legend item styles such as border, color, size, etc…, + */ + style?: any; + + /** Instance that holds information about legend bounds and legend item bounds. + */ + Bounds?: any; + + /** Name of the legend item shape. Use this option to customize legend item shape before rendering + */ + symbolShape?: string; + + /** Instance of the series object corresponding to the legend item + */ + series?: any; +} + +export interface LegendItemMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of legend item in pixel + */ + startX?: number; + + /** Y-coordinate of legend item in pixel + */ + startY?: number; + + /** Instance of the legend item object that is about to be rendered + */ + LegendItem?: any; + + /** Options to customize the legend item styles such as border, color, size, etc…, + */ + style?: any; + + /** Options to customize the legend item styles such as border, color, size, etc…, + */ + Bounds?: any; + + /** Name of the legend item shape. Use this option to customize legend item shape before rendering + */ + symbolShape?: string; + + /** Instance of the series object corresponding to the legend item + */ + series?: any; +} + +export interface LegendItemRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of legend item in pixel + */ + startX?: number; + + /** Y-coordinate of legend item in pixel + */ + startY?: number; + + /** Instance of the legend item object that is about to be rendered + */ + legendItem?: any; + + /** Options to customize the legend item styles such as border, color, size, etc. + */ + style?: any; + + /** Name of the legend item shape. Use this option to customize legend item shape before rendering + */ + symbolShape?: string; +} + +export interface LoadEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface RangeSelectedEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Selected data collection of object + */ + data?: any; +} + +export interface PointRegionClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Index of the series in series collection to which the point belongs + */ + seriesIndex?: number; +} + +export interface PointRegionMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Index of the series in series collection to which the point belongs + */ + seriesIndex?: number; +} + +export interface PreRenderEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface SeriesRegionClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Instance of the selected series + */ + series?: any; + + /** Index of the selected series + */ + seriesIndex?: number; +} + +export interface SeriesRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Instance of the series which is about to get rendered + */ + series?: any; +} + +export interface SymbolRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Instance that holds the location of marker symbol + */ + location?: any; + + /** Options to customize the marker style such as color, border and size + */ + style?: any; +} + +export interface TitleRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Option to customize the title location in pixels + */ + location?: any; + + /** Read-only option to find the size of the title + */ + size?: any; + + /** Use this option to add custom text in title + */ + title?: string; +} + +export interface ToolTipInitializeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Text to be displayed in tooltip. Set this option to customize the text displayed in tooltip + */ + currentText?: string; + + /** Index of the point on which mouse is hovered + */ + pointIndex?: number; + + /** Index of the series in series collection whose point is hovered by mouse + */ + seriesIndex?: number; +} + +export interface TrackAxisToolTipEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Location of the crosshair label in pixels + */ + location?: any; + + /** Index of the axis for which crosshair label is displayed + */ + axisIndex?: number; + + /** Instance of the chart axis object for which cross hair label is displayed + */ + crossAxis?: number; + + /** Text to be displayed in crosshair label. Use this option to add custom text in crosshair label + */ + currentTrackText?: string; +} + +export interface TrackToolTipEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Location of the trackball tooltip in pixels + */ + location?: any; + + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; + + /** Index of the series in series collection + */ + seriesIndex?: number; + + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; + + /** Instance of the series object for which trackball tooltip is displayed. + */ + series?: any; +} + +export interface AxisLabelClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X and Y co-ordinate of the labels in chart area. + */ + location?: any; + + /** Index of the label. + */ + index?: number; + + /** Instance of the corresponding axis. + */ + axis?: any; + + /** Label that is clicked. + */ + text?: string; +} + +export interface AxisLabelMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X and Y co-ordinate of the labels in chart area. + */ + location?: any; + + /** Index of the label. + */ + index?: number; + + /** Instance of the corresponding axis. + */ + axis?: any; + + /** Label that is hovered. + */ + text?: string; +} + +export interface ChartClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X and Y co-ordinate of the points with respect to chart area. + */ + location?: any; + + /** ID of the target element. + */ + id?: string; + + /** Width and height of the chart. + */ + size?: any; + + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; + + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; +} + +export interface ChartMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X and Y co-ordinate of the points with respect to chart area. + */ + location?: any; + + /** ID of the target element. + */ + id?: string; + + /** Width and height of the chart. + */ + size?: any; + + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; + + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; +} + +export interface ChartDoubleClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X and Y co-ordinate of the points with respect to chart area. + */ + location?: any; + + /** ID of the target element. + */ + id?: string; + + /** Width and height of the chart. + */ + size?: any; + + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; + + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; +} + +export interface AnnotationClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X and Y co-ordinate of the annotation in chart area. + */ + location?: any; + + /** Information about the annotation, like Coordinate unit, Region, content + */ + contentData?: any; + + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; + + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; +} + +export interface AfterResizeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Chart width, after resize + */ + width?: number; + + /** Chart height, after resize + */ + height?: number; + + /** Chart width, before resize + */ + prevWidth?: number; + + /** Chart height, before resize + */ + prevHeight?: number; + + /** Chart width, when the chart was first rendered + */ + originalWidth?: number; + + /** Chart height, when the chart was first rendered + */ + originalHeight?: number; +} + +export interface BeforeResizeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Chart width, before resize + */ + currentWidth?: number; + + /** Chart height, before resize + */ + currentHeight?: number; + + /** Chart width, after resize + */ + newWidth?: number; + + /** Chart height, after resize + */ + newHeight?: number; +} + +export interface ErrorBarRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the chart model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Error bar Object + */ + errorbar?: any; +} + +export interface ScrollChangedEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position old start and end range value on changing scrollbar + */ + dataoldRange?: any; + + /** returns the scrollbar position new start and end range value on changing scrollbar + */ + datanewRange?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ScrollStartEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position starting range value on changing scrollbar + */ + datastartRange?: string; + + /** returns the scrollbar position end range value on changing scrollbar + */ + dataendRange?: string; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ScrollEndEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position old start and end range value on change end of scrollbar + */ + dataoldRange?: any; + + /** returns the scrollbar position new start and end range value on change end of scrollbar + */ + datanewRange?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface AnnotationsMargin { + + /** Annotation is placed at the specified value above its original position. + * @Default {0} + */ + bottom?: number; + + /** Annotation is placed at the specified value from left side of its original position. + * @Default {0} + */ + left?: number; + + /** Annotation is placed at the specified value from the right side of its original position. + * @Default {0} + */ + right?: number; + + /** Annotation is placed at the specified value under its original position. + * @Default {0} + */ + top?: number; +} + +export interface Annotation { + + /** Angle to rotate the annotation in degrees. + * @Default {'0'} + */ + angle?: number; + + /** Text content or id of a HTML element to be displayed as annotation. + */ + content?: string; + + /** Specifies how annotations have to be placed in Chart. + * @Default {none. See CoordinateUnit} + */ + coordinateUnit?: ej.datavisualization.Chart.CoordinateUnit|string; + + /** Specifies the horizontal alignment of the annotation. + * @Default {middle. See HorizontalAlignment} + */ + horizontalAlignment?: ej.datavisualization.Chart.HorizontalAlignment|string; + + /** Options to customize the margin of annotation. + */ + margin?: AnnotationsMargin; + + /** Controls the opacity of the annotation. + * @Default {1} + */ + opacity?: number; + + /** Specifies whether annotation has to be placed with respect to chart or series. + * @Default {chart. See Region} + */ + region?: ej.datavisualization.Chart.Region|string; + + /** Specifies the vertical alignment of the annotation. + * @Default {middle. See VerticalAlignment} + */ + verticalAlignment?: ej.datavisualization.Chart.VerticalAlignment|string; + + /** Controls the visibility of the annotation. + * @Default {false} + */ + visible?: boolean; + + /** Represents the horizontal offset when coordinateUnit is pixels.when coordinateUnit is points, it represents the x-coordinate of axis bounded with xAxisName property or primary X axis when xAxisName is not provided.This property is not applicable when coordinateUnit is none. + * @Default {0} + */ + x?: number; + + /** Name of the horizontal axis to be used for positioning the annotation. This property is applicable only when coordinateUnit is points. + */ + xAxisName?: string; + + /** Represents the vertical offset when coordinateUnit is pixels.When coordinateUnit is points, it represents the y-coordinate of axis bounded with yAxisName property or primary Y axis when yAxisName is not provided.This property is not applicable when coordinateUnit is none. + * @Default {0} + */ + y?: number; + + /** Name of the vertical axis to be used for positioning the annotation.This property is applicable only when coordinateUnit is points. + */ + yAxisName?: string; +} + +export interface Border { + + /** Border color of the chart. + * @Default {null} + */ + color?: string; + + /** Opacity of the chart border. + * @Default {0.3} + */ + opacity?: number; + + /** Width of the Chart border. + * @Default {0} + */ + width?: number; +} + +export interface ExportSettings { + + /** Specifies the downloading filename + * @Default {chart} + */ + filename?: string; + + /** Specifies the name of the action URL + */ + action?: string; + + /** Specifies the angle for rotation + * @Default {0} + */ + angle?: number; + + /** Specifies the format of the file to export + * @Default {png} + */ + type?: ej.datavisualization.Chart.ExportingType|string; + + /** Specifies the orientation of the document + * @Default {portrait} + */ + orientation?: ej.datavisualization.Chart.ExportingOrientation|string; + + /** Specifies the mode of exporting + * @Default {client} + */ + mode?: ej.datavisualization.Chart.ExportingMode|string; + + /** Enable/ disable the multiple excel exporting + * @Default {false} + */ + multipleExport?: boolean; +} + +export interface ChartAreaBorder { + + /** Border color of the plot area. + * @Default {Gray} + */ + color?: string; + + /** Opacity of the plot area border. + * @Default {0.3} + */ + opacity?: number; + + /** Border width of the plot area. + * @Default {0.5} + */ + width?: number; +} + +export interface ChartArea { + + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; + + /** Options for customizing the border of the plot area. + */ + border?: ChartAreaBorder; +} + +export interface ColumnDefinition { + + /** Specifies the unit to measure the width of the column in plotting area. + * @Default {'pixel'. See Unit} + */ + unit?: ej.datavisualization.Chart.Unit|string; + + /** Width of the column in plotting area. Width is measured in either pixel or percentage based on the value of unit property. + * @Default {50} + */ + columnWidth?: number; + + /** Color of the line that indicates the starting point of the column in plotting area. + * @Default {transparent} + */ + lineColor?: string; + + /** Width of the line that indicates the starting point of the column in plot area. + * @Default {1} + */ + lineWidth?: number; +} + +export interface CommonSeriesOptionsBorder { + + /** Border color of all series. + * @Default {transparent} + */ + color?: string; + + /** DashArray for border of the series. + * @Default {null} + */ + dashArray?: string; + + /** Border width of all series. + * @Default {1} + */ + width?: number; +} + +export interface CommonSeriesOptionsFont { + + /** Font color of the text in all series. + * @Default {#707070} + */ + color?: string; + + /** Font Family for all the series. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for all the series. + * @Default {normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Specifies the font weight for all the series. + * @Default {regular} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity for text in all the series. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in all the series. + * @Default {12px} + */ + size?: string; +} + +export interface CommonSeriesOptionsMarkerBorder { + + /** Border color of the marker shape. + * @Default {white} + */ + color?: string; + + /** Border width of the marker shape. + * @Default {3} + */ + width?: number; +} + +export interface CommonSeriesOptionsMarkerDataLabelBorder { + + /** Border color of the data label. + * @Default {null} + */ + color?: string; + + /** Border width of the data label. + * @Default {0.1} + */ + width?: number; +} + +export interface CommonSeriesOptionsMarkerDataLabelConnectorLine { + + /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. + * @Default {line. See ConnectorLineType} + */ + type?: ej.datavisualization.Chart.ConnectorLineType|string; + + /** Width of the connector. + * @Default {0.5} + */ + width?: number; + + /** Color of the connector line. + * @Default {#565656} + */ + color?: string; + + /** Height of the connector line. + * @Default {null} + */ + height?: string; +} + +export interface CommonSeriesOptionsMarkerDataLabelFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; +} + +export interface CommonSeriesOptionsMarkerDataLabelMargin { + + /** Bottom margin of the text. + * @Default {5} + */ + bottom?: number; + + /** Left margin of the text. + * @Default {5} + */ + left?: number; + + /** Right margin of the text. + * @Default {5} + */ + right?: number; + + /** Top margin of the text. + * @Default {5} + */ + top?: number; +} + +export interface CommonSeriesOptionsMarkerDataLabel { + + /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. + * @Default {null} + */ + angle?: number; + + /** Maximum label width of the data label. + * @Default {null} + */ + maximumLabelWidth?: number; + + /** Enable the wrap option to the data label. + * @Default {false} + */ + enableWrap?: boolean; + + /** Options for customizing the border of the data label. + */ + border?: CommonSeriesOptionsMarkerDataLabelBorder; + + /** Options for displaying and customizing the line that connects point and data label. + */ + connectorLine?: CommonSeriesOptionsMarkerDataLabelConnectorLine; + + /** Background color of the data label. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the data label font. + */ + font?: CommonSeriesOptionsMarkerDataLabelFont; + + /** Horizontal alignment of the data label. + * @Default {center} + */ + horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment|string; + + /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. + */ + margin?: CommonSeriesOptionsMarkerDataLabelMargin; + + /** Opacity of the data label. + * @Default {1} + */ + opacity?: number; + + /** Background shape of the data label. + * @Default {none. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + */ + template?: string; + + /** Name of a field in data source, where datalabel text is displayed. + */ + textMappingName?: string; + + /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. + * @Default {top. See TextPosition} + */ + textPosition?: ej.datavisualization.Chart.TextPosition|string; + + /** Vertical alignment of the data label. + * @Default {center} + */ + verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment|string; + + /** Controls the visibility of the data labels. + * @Default {false} + */ + visible?: boolean; +} + +export interface CommonSeriesOptionsMarkerSize { + + /** Height of the marker. + * @Default {6} + */ + height?: number; + + /** Width of the marker. + * @Default {6} + */ + width?: number; +} + +export interface CommonSeriesOptionsMarker { + + /** Options for customizing the border of the marker shape. + */ + border?: CommonSeriesOptionsMarkerBorder; + + /** Options for displaying and customizing data labels. + */ + dataLabel?: CommonSeriesOptionsMarkerDataLabel; + + /** Color of the marker shape. + * @Default {null} + */ + fill?: string; + + /** The URL for the Image to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. + */ + imageUrl?: string; + + /** Opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of the marker. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Options for customizing the size of the marker shape. + */ + size?: CommonSeriesOptionsMarkerSize; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; +} + +export interface CommonSeriesOptionsOutlierSettingsSize { + + /** Height of the outlier shape. + * @Default {6} + */ + height?: number; + + /** Width of the outlier shape. + * @Default {6} + */ + width?: number; +} + +export interface CommonSeriesOptionsOutlierSettings { + + /** Specifies the shape of the outlier. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Options for customizing the size of the outlier shape. + */ + size?: CommonSeriesOptionsOutlierSettingsSize; +} + +export interface CommonSeriesOptionsCornerRadius { + + /** Specifies the radius for the top left corner. + * @Default {0} + */ + topLeft?: number; + + /** Specifies the radius for the top right corner. + * @Default {0} + */ + topRight?: number; + + /** Specifies the radius for the bottom left corner. + * @Default {0} + */ + bottomLeft?: number; + + /** Specifies the radius for the bottom right corner. + * @Default {0} + */ + bottomRight?: number; +} + +export interface CommonSeriesOptionsTooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; +} + +export interface CommonSeriesOptionsTooltip { + + /** Options for customizing the border of the tooltip. + */ + border?: CommonSeriesOptionsTooltipBorder; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + rx?: number; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + ry?: number; + + /** Specifies the duration, the tooltip has to be displayed. + * @Default {500ms} + */ + duration?: string; + + /** Enables/disables the animation of the tooltip when moving from one point to other. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Background color of the tooltip. + * @Default {null} + */ + fill?: string; + + /** Format of the tooltip content. + * @Default {#point.x# : #point.y#} + */ + format?: string; + + /** Opacity of the tooltip. + * @Default {0.5} + */ + opacity?: number; + + /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + * @Default {null} + */ + template?: string; + + /** Controls the visibility of the tooltip. + * @Default {false} + */ + visible?: boolean; +} + +export interface CommonSeriesOptionsEmptyPointSettingsStyleBorder { + + /** Border color of the empty point. + */ + color?: string; + + /** Border width of the empty point. + * @Default {1} + */ + width?: number; +} + +export interface CommonSeriesOptionsEmptyPointSettingsStyle { + + /** Color of the empty point. + */ + color?: string; + + /** Options for customizing border of the empty point in the series. + */ + border?: CommonSeriesOptionsEmptyPointSettingsStyleBorder; +} + +export interface CommonSeriesOptionsEmptyPointSettings { + + /** Controls the visibility of the empty point. + * @Default {true} + */ + visible?: boolean; + + /** Specifies the mode of empty point. + * @Default {gap} + */ + displayMode?: ej.datavisualization.Chart.EmptyPointMode|string; + + /** Options for customizing the color and border of the empty point in the series. + */ + style?: CommonSeriesOptionsEmptyPointSettingsStyle; +} + +export interface CommonSeriesOptionsConnectorLine { + + /** Width of the connector line. + * @Default {1} + */ + width?: number; + + /** Color of the connector line. + * @Default {#565656} + */ + color?: string; + + /** DashArray of the connector line. + * @Default {null} + */ + dashArray?: string; + + /** DashArray of the connector line. + * @Default {1} + */ + opacity?: number; +} + +export interface CommonSeriesOptionsDragSettings { + + /** drag/drop the series + * @Default {false} + */ + enable?: boolean; + + /** Specifies the type of drag settings. + * @Default {xy} + */ + type?: string; +} + +export interface CommonSeriesOptionsErrorBarCap { + + /** Show/Hides the error bar cap. + * @Default {true} + */ + visible?: boolean; + + /** Width of the error bar cap. + * @Default {1} + */ + width?: number; + + /** Length of the error bar cap. + * @Default {1} + */ + length?: number; + + /** Color of the error bar cap. + * @Default {“#000000”} + */ + fill?: string; +} + +export interface CommonSeriesOptionsErrorBar { + + /** Show/hides the error bar + * @Default {visible} + */ + visibility?: boolean; + + /** Specifies the type of error bar. + * @Default {FixedValue} + */ + type?: ej.datavisualization.Chart.ErrorBarType|string; + + /** Specifies the mode of error bar. + * @Default {vertical} + */ + mode?: ej.datavisualization.Chart.ErrorBarMode|string; + + /** Specifies the direction of error bar. + * @Default {both} + */ + direction?: ej.datavisualization.Chart.ErrorBarDirection|string; + + /** Value of vertical error bar. + * @Default {3} + */ + verticalErrorValue?: number; + + /** Value of horizontal error bar. + * @Default {1} + */ + horizontalErrorValue?: number; + + /** Value of positive horizontal error bar. + * @Default {1} + */ + horizontalPositiveErrorValue?: number; + + /** Value of negative horizontal error bar. + * @Default {1} + */ + horizontalNegativeErrorValue?: number; + + /** Value of positive vertical error bar. + * @Default {5} + */ + verticalPositiveErrorValue?: number; + + /** Value of negative vertical error bar. + * @Default {5} + */ + verticalNegativeErrorValue?: number; + + /** Fill color of the error bar. + * @Default {#000000} + */ + fill?: string; + + /** Width of the error bar. + * @Default {1} + */ + width?: number; + + /** Options for customizing the error bar cap. + */ + cap?: CommonSeriesOptionsErrorBarCap; +} + +export interface CommonSeriesOptionsTrendline { + + /** Show/hides the trendline. + */ + visibility?: boolean; + + /** Specifies the type of the trendline for the series. + * @Default {linear. See TrendlinesType} + */ + type?: string; + + /** Name for the trendlines that is to be displayed in the legend text. + * @Default {trendline} + */ + name?: string; + + /** Fill color of the trendlines. + * @Default {#0000FF} + */ + fill?: string; + + /** Width of the trendlines. + * @Default {1} + */ + width?: number; + + /** Opacity of the trendline. + * @Default {1} + */ + opacity?: number; + + /** Pattern of dashes and gaps used to stroke the trendline. + */ + dashArray?: string; + + /** Future trends of the current series. + * @Default {0} + */ + forwardForecast?: number; + + /** Past trends of the current series. + * @Default {0} + */ + backwardForecast?: number; + + /** Specifies the order of the polynomial trendlines. + * @Default {0} + */ + polynomialOrder?: number; + + /** Specifies the moving average starting period value. + * @Default {2} + */ + period?: number; +} + +export interface CommonSeriesOptionsHighlightSettingsBorder { + + /** Border color of the series/point on highlight. + */ + color?: string; + + /** Border width of the series/point on highlight. + * @Default {2} + */ + width?: string; +} + +export interface CommonSeriesOptionsHighlightSettings { + + /** Enables/disables the ability to highlight the series or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the series or data point has to be highlighted. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode|string; + + /** Color of the series/point on highlight. + */ + color?: string; + + /** Opacity of the series/point on highlight. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of series on highlight. + */ + border?: CommonSeriesOptionsHighlightSettingsBorder; + + /** Specifies the pattern for the series/point on highlight. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on highlight. + */ + customPattern?: string; +} + +export interface CommonSeriesOptionsSelectionSettingsBorder { + + /** Border color of the series/point on selection. + */ + color?: string; + + /** Border width of the series/point on selection. + * @Default {2} + */ + width?: string; +} + +export interface CommonSeriesOptionsSelectionSettings { + + /** Enables/disables the ability to select a series/data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies the type of selection. + * @Default {single} + */ + type?: ej.datavisualization.Chart.SelectionType|string; + + /** Specifies whether the series or data point has to be selected. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode|string; + + /** Specifies the drawn rectangle type. + * @Default {xy} + */ + rangeType?: ej.datavisualization.Chart.RangeType|string; + + /** Color of the series/point on selection. + */ + color?: string; + + /** Opacity of the series/point on selection. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of the series on selection. + */ + border?: CommonSeriesOptionsSelectionSettingsBorder; + + /** Specifies the pattern for the series/point on selection. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on selection. + */ + customPattern?: string; +} + +export interface CommonSeriesOptions { + + /** Options to customize the border of all the series. + */ + border?: CommonSeriesOptionsBorder; + + /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet + * @Default {rectangle} + */ + columnFacet?: ej.datavisualization.Chart.ColumnFacet|string; + + /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. + * @Default {0.7} + */ + columnWidth?: number; + + /** Spacing between columns of different series. Value ranges from 0 to 1 + * @Default {0} + */ + columnSpacing?: number; + + /** Enables or disables the visibility of legend item. + * @Default {visible} + */ + visibleOnLegend?: string; + + /** Group of the stacking collection series. + */ + stackingGroup?: string; + + /** Pattern of dashes and gaps used to stroke all the line type series. + */ + dashArray?: string; + + /** Set the dataSource for all series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1 + * @Default {0.4} + */ + doughnutCoefficient?: number; + + /** Controls the size of the doughnut series. Value ranges from 0 to 1. + * @Default {0.8} + */ + doughnutSize?: number; + + /** Specifies the type of series to be drawn in radar or polar series. + * @Default {line. See DrawType} + */ + drawType?: ej.datavisualization.Chart.DrawType|string; + + /** Enable/disable the animation for all the series. + * @Default {true} + */ + enableAnimation?: boolean; + + /** To avoid overlapping of data labels smartly. + * @Default {true} + */ + enableSmartLabels?: boolean; + + /** Start angle of pie/doughnut series. + * @Default {null} + */ + endAngle?: number; + + /** Explodes the pie/doughnut slices on mouse move. + * @Default {false} + */ + explode?: boolean; + + /** Explodes all the slice of pie/doughnut on render. + * @Default {false} + */ + explodeAll?: boolean; + + /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. + * @Default {null} + */ + explodeIndex?: number; + + /** Specifies the distance of the slice from the center, when it is exploded. + * @Default {0.4} + */ + explodeOffset?: number; + + /** Fill color for all the series. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of all the series. + */ + font?: CommonSeriesOptionsFont; + + /** Sets the height of the funnel in funnel series. Values can be either pixel or percentage. + * @Default {32.7%} + */ + funnelHeight?: string; + + /** Sets the width of the funnel in funnel series. Values can be either pixel or percentage. + * @Default {11.6%} + */ + funnelWidth?: string; + + /** Gap between the slices in pyramid and funnel series. + * @Default {0} + */ + gapRatio?: number; + + /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. + * @Default {true} + */ + isClosed?: boolean; + + /** Specifies whether to stack the column series in polar/radar charts. + * @Default {false} + */ + isStacking?: boolean; + + /** Renders the chart vertically. This is applicable only for Cartesian type series. + * @Default {false} + */ + isTransposed?: boolean; + + /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. + * @Default {true} + */ + showMedian?: boolean; + + /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. + * @Default {inside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the mode for splitting the data points in pieOfPie series. + * @Default {value. See SplitMode} + */ + splitMode?: ej.datavisualization.Chart.SplitMode|string; + + /** Quartile calculation has been performed in three different formulas to render the box and whisker series. + * @Default {exclusive} + */ + boxPlotMode?: ej.datavisualization.Chart.boxPlotMode|string; + + /** Specifies the line cap of the series. + * @Default {butt. See LineCap} + */ + lineCap?: ej.datavisualization.Chart.LineCap|string; + + /** Specifies the type of shape to be used where two lines meet. + * @Default {round. See LineJoin} + */ + lineJoin?: ej.datavisualization.Chart.LineJoin|string; + + /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. + */ + marker?: CommonSeriesOptionsMarker; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Options for customizing the outlier of the series. + */ + outlierSettings?: CommonSeriesOptionsOutlierSettings; + + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; + + /** Controls the size of pie series. Value ranges from 0 to 1. + * @Default {0.8} + */ + pieCoefficient?: number; + + /** Controls the size of the second pie in pieOfPie series. Value ranges from 0 to 1. + * @Default {0.6} + */ + pieOfPieCoefficient?: number; + + /** Split Value of pieofpie series. + * @Default {null} + */ + splitValue?: string; + + /** Distance between the two pie's in pieOfPie series. + * @Default {50} + */ + gapWidth?: number; + + /** Name of the property in the datasource that contains fill color for the series. + * @Default {null} + */ + pointColorMappingName?: string; + + /** Specifies the mode of the pyramid series. + * @Default {linear. See PyramidMode} + */ + pyramidMode?: ej.datavisualization.Chart.PyramidMode|string; + + /** Start angle from where the pie/doughnut series renders. By default it starts from 0. + * @Default {null} + */ + startAngle?: number; + + /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. + */ + cornerRadius?: CommonSeriesOptionsCornerRadius; + + /** Options for customizing the tooltip of chart. + */ + tooltip?: CommonSeriesOptionsTooltip; + + /** Specifies the type of the series to render in chart. + * @Default {column. See Type} + */ + type?: ej.datavisualization.Chart.Type|string; + + /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + xAxisName?: string; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + yAxisName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Name of the property in the datasource that contains high value for the series. + * @Default {null} + */ + high?: string; + + /** Name of the property in the datasource that contains low value for the series. + * @Default {null} + */ + low?: string; + + /** Name of the property in the datasource that contains open value for the series. + * @Default {null} + */ + open?: string; + + /** Name of the property in the datasource that contains close value for the series. + * @Default {null} + */ + close?: string; + + /** Z-order of the series. + * @Default {0} + */ + zOrder?: number; + + /** Name of the property in the datasource that contains the size value for the bubble series. + * @Default {null} + */ + size?: string; + + /** Options for customizing the empty point in the series. + */ + emptyPointSettings?: CommonSeriesOptionsEmptyPointSettings; + + /** Fill color for the positive column of the waterfall. + * @Default {null} + */ + positiveFill?: string; + + /** Options for customizing the waterfall connector line. + */ + connectorLine?: CommonSeriesOptionsConnectorLine; + + /** Options to customize the drag and drop in series. + */ + dragSettings?: CommonSeriesOptionsDragSettings; + + /** Options to customize the error bar in series. + */ + errorBar?: CommonSeriesOptionsErrorBar; + + /** Option to add the trendlines to chart. + */ + trendlines?: Array; + + /** Options for customizing the appearance of the series or data point while highlighting. + */ + highlightSettings?: CommonSeriesOptionsHighlightSettings; + + /** Options for customizing the appearance of the series/data point on selection. + */ + selectionSettings?: CommonSeriesOptionsSelectionSettings; +} + +export interface CrosshairTrackballTooltipSettingsBorder { + + /** Border width of the trackball tooltip. + * @Default {null} + */ + width?: number; + + /** Border color of the trackball tooltip. + * @Default {null} + */ + color?: string; +} + +export interface CrosshairTrackballTooltipSettings { + + /** Options for customizing the trackball tooltip border. + */ + border?: CrosshairTrackballTooltipSettingsBorder; + + /** Background color of the trackball tooltip. + * @Default {null} + */ + fill?: string; + + /** Rounded corner x value of the trackball tooltip. + * @Default {3} + */ + rx?: number; + + /** Rounded corner y value of the trackball tooltip. + * @Default {3} + */ + ry?: number; + + /** Opacity value of the trackball tooltip. + * @Default {1} + */ + opacity?: number; + + /** Specifies the mode of the trackball tooltip. + * @Default {float. See CrosshairMode} + */ + mode?: ej.datavisualization.Chart.CrosshairMode|string; +} + +export interface CrosshairMarkerBorder { + + /** Border width of the marker. + * @Default {3} + */ + width?: number; +} + +export interface CrosshairMarkerSize { + + /** Height of the marker. + * @Default {10} + */ + height?: number; + + /** Width of the marker. + * @Default {10} + */ + width?: number; +} + +export interface CrosshairMarker { + + /** Options for customizing the border. + */ + border?: CrosshairMarkerBorder; + + /** Opacity of the marker. + * @Default {true} + */ + opacity?: boolean; + + /** Options for customizing the size of the marker. + */ + size?: CrosshairMarkerSize; + + /** Show/hides the marker. + * @Default {true} + */ + visible?: boolean; +} + +export interface CrosshairLine { + + /** Color of the crosshair line. + * @Default {transparent} + */ + color?: string; + + /** Width of the crosshair line. + * @Default {1} + */ + width?: number; +} + +export interface Crosshair { + + /** Options for customizing the trackball tooltip. + */ + trackballTooltipSettings?: CrosshairTrackballTooltipSettings; + + /** Options for customizing the marker in crosshair. + */ + marker?: CrosshairMarker; + + /** Options for customizing the crosshair line. + */ + line?: CrosshairLine; + + /** Specifies the type of the crosshair. It can be trackball or crosshair + * @Default {crosshair. See CrosshairType} + */ + type?: ej.datavisualization.Chart.CrosshairType|string; + + /** Show/hides the crosshair/trackball visibility. + * @Default {false} + */ + visible?: boolean; +} + +export interface IndicatorsHistogramBorder { + + /** Color of the histogram border in MACD indicator. + * @Default {#9999ff} + */ + color?: string; + + /** Controls the width of histogram border line in MACD indicator. + * @Default {1} + */ + width?: number; +} + +export interface IndicatorsHistogram { + + /** Options to customize the histogram border in MACD indicator. + */ + border?: IndicatorsHistogramBorder; + + /** Color of histogram columns in MACD indicator. + * @Default {#ccccff} + */ + fill?: string; + + /** Opacity of histogram columns in MACD indicator. + * @Default {1} + */ + opacity?: number; +} + +export interface IndicatorsLowerLine { + + /** Color of lower line. + * @Default {#008000} + */ + fill?: string; + + /** Width of the lower line. + * @Default {2} + */ + width?: number; +} + +export interface IndicatorsMacdLine { + + /** Color of MACD line. + * @Default {#ff9933} + */ + fill?: string; + + /** Width of the MACD line. + * @Default {2} + */ + width?: number; +} + +export interface IndicatorsPeriodLine { + + /** Color of period line in indicator. + * @Default {blue} + */ + fill?: string; + + /** Width of the period line in indicators. + * @Default {2} + */ + width?: number; +} + +export interface IndicatorsTooltipBorder { + + /** Border color of indicator tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of indicator tooltip. + * @Default {1} + */ + width?: number; +} + +export interface IndicatorsTooltip { + + /** Option to customize the border of indicator tooltip. + */ + border?: IndicatorsTooltipBorder; + + /** Specifies the animation duration of indicator tooltip. + * @Default {500ms} + */ + duration?: string; + + /** Enables/disables the tooltip animation. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Format of indicator tooltip. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + * @Default {#point.x# : #point.y#} + */ + format?: string; + + /** Background color of indicator tooltip. + * @Default {null} + */ + fill?: string; + + /** Opacity of indicator tooltip. + * @Default {0.95} + */ + opacity?: number; + + /** Controls the visibility of indicator tooltip. + * @Default {false} + */ + visible?: boolean; +} + +export interface IndicatorsUpperLine { + + /** Fill color of the upper line in indicators + * @Default {#ff9933} + */ + fill?: string; + + /** Width of the upper line in indicators. + * @Default {2} + */ + width?: number; +} + +export interface Indicator { + + /** The dPeriod value for stochastic indicator. + * @Default {3} + */ + dPeriod?: number; + + /** Enables/disables the animation. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Color of the technical indicator. + * @Default {#00008B} + */ + fill?: string; + + /** Options to customize the histogram in MACD indicator. + */ + histogram?: IndicatorsHistogram; + + /** Specifies the k period in stochastic indicator. + * @Default {3} + */ + kPeriod?: number; + + /** Specifies the long period in MACD indicator. + * @Default {26} + */ + longPeriod?: number; + + /** Options to customize the lower line in indicators. + */ + lowerLine?: IndicatorsLowerLine; + + /** Options to customize the MACD line. + */ + macdLine?: IndicatorsMacdLine; + + /** Specifies the type of the MACD indicator. + * @Default {line. See MACDType} + */ + macdType?: string; + + /** Specifies period value in indicator. + * @Default {14} + */ + period?: number; + + /** Options to customize the period line in indicators. + */ + periodLine?: IndicatorsPeriodLine; + + /** Name of the series for which indicator has to be drawn. + */ + seriesName?: string; + + /** Specifies the short period in MACD indicator. + * @Default {13} + */ + shortPeriod?: number; + + /** Specifies the standard deviation value for Bollinger band indicator. + * @Default {2} + */ + standardDeviations?: number; + + /** Options to customize the tooltip. + */ + tooltip?: IndicatorsTooltip; + + /** Trigger value of MACD indicator. + * @Default {9} + */ + trigger?: number; + + /** Specifies the visibility of indicator. + * @Default {visible} + */ + visibility?: string; + + /** Specifies the type of indicator that has to be rendered. + * @Default {sma. See IndicatorsType} + */ + type?: string; + + /** Options to customize the upper line in indicators + */ + upperLine?: IndicatorsUpperLine; + + /** Width of the indicator line. + * @Default {2} + */ + width?: number; + + /** Name of the horizontal axis used for indicator. Primary X axis is used when x axis name is not specified. + */ + xAxisName?: string; + + /** Name of the vertical axis used for indicator. Primary Y axis is used when y axis name is not specified + */ + yAxisName?: string; +} + +export interface LegendBorder { + + /** Border color of the legend. + * @Default {transparent} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; +} + +export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; +} + +export interface LegendItemStyleBorder { + + /** Border color of the legend items. + * @Default {transparent} + */ + color?: string; + + /** Border width of the legend items. + * @Default {1} + */ + width?: number; +} + +export interface LegendItemStyle { + + /** Options for customizing the border of legend items. + */ + border?: LegendItemStyleBorder; + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; +} + +export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; +} + +export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; +} + +export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; +} + +export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Chart.Alignment|string; +} + +export interface Legend { + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.Alignment|string; + + /** Background for the legend. Use this property to add a background image or background color for the legend. + */ + background?: string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Controls whether legend has to use scrollbar or not. When enabled, scroll bar appears depending upon size and position properties of legend. + * @Default {true} + */ + enableScrollbar?: boolean; + + /** Fill color for the legend items. By using this property, it displays all legend item shapes in same color.Legend items representing invisible series is displayed in gray color. + * @Default {null} + */ + fill?: string; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of chart legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Opacity of the legend. + * @Default {1} + */ + opacity?: number; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Chart.Position|string; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Shape of the legend items. Default shape for pie and doughnut series is circle and all other series uses rectangle. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; + + /** Specifies the action taken when the legend width is more than the textWidth. + * @Default {none. See textOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow|string; + + /** Text width for legend item. + * @Default {34} + */ + textWidth?: number; + + /** Controls the visibility of the legend. + * @Default {true} + */ + visible?: boolean; +} + +export interface PrimaryXAxisAlternateGridBandEven { + + /** Fill color for the even grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of the even grid band. + * @Default {1} + */ + opacity?: number; +} + +export interface PrimaryXAxisAlternateGridBandOdd { + + /** Fill color of the odd grid bands + * @Default {transparent} + */ + fill?: string; + + /** Opacity of odd grid band + * @Default {1} + */ + opacity?: number; +} + +export interface PrimaryXAxisAlternateGridBand { + + /** Options for customizing even grid band. + */ + even?: PrimaryXAxisAlternateGridBandEven; + + /** Options for customizing odd grid band. + */ + odd?: PrimaryXAxisAlternateGridBandOdd; +} + +export interface PrimaryXAxisAxisLine { + + /** Pattern of dashes and gaps to be applied to the axis line. + * @Default {null} + */ + dashArray?: string; + + /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. + * @Default {null} + */ + offset?: number; + + /** Show/hides the axis line. + * @Default {true} + */ + visible?: boolean; + + /** Default Value + */ + color?: string; + + /** Width of axis line. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryXAxisCrosshairLabel { + + /** Show/hides the crosshair label associated with this axis. + * @Default {false} + */ + visible?: boolean; +} + +export interface PrimaryXAxisFont { + + /** Font family of labels. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of labels. + * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the label. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the axis labels. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis labels. + * @Default {13px} + */ + size?: string; +} + +export interface PrimaryXAxisMajorGridLines { + + /** Pattern of dashes and gaps used to stroke the major grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Color of the major grid line. + * @Default {null} + */ + color?: string; + + /** Opacity of major grid lines. + * @Default {1} + */ + opacity?: number; + + /** Show/hides the major grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major grid lines. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryXAxisMajorTickLines { + + /** Length of the major tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major tick lines. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryXAxisMinorGridLines { + + /** Patterns of dashes and gaps used to stroke the minor grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Show/hides the minor grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minorGridLines. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryXAxisMinorTickLines { + + /** Length of the minor tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the minor tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minor tick line. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryXAxisRange { + + /** Minimum value of the axis range. + * @Default {null} + */ + min?: number; + + /** Maximum value of the axis range. + * @Default {null} + */ + max?: number; + + /** Interval of the axis range. + * @Default {null} + */ + interval?: number; +} + +export interface PrimaryXAxisMultiLevelLabelsFont { + + /** Font color of the multi level labels text. + * @Default {null} + */ + color?: string; + + /** Font family of the multi level labels text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the multi level labels text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the multi level label text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the multi level label text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the multi level label text. + * @Default {12px} + */ + size?: string; +} + +export interface PrimaryXAxisMultiLevelLabelsBorder { + + /** Border color of the multi level labels. + * @Default {null} + */ + color?: string; + + /** Border width of the multi level labels. + * @Default {1} + */ + width?: number; + + /** Border type of the multi level labels. + * @Default {rectangle. See Type} + */ + type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType|string; +} + +export interface PrimaryXAxisMultiLevelLabel { + + /** Visibility of the multi level labels. + * @Default {false} + */ + visible?: boolean; + + /** Text of the multi level labels. + */ + text?: string; + + /** Starting value of the multi level labels. + * @Default {null} + */ + start?: number; + + /** Ending value of the multi level labels. + * @Default {null} + */ + end?: number; + + /** Specifies the level of multi level labels. + * @Default {0} + */ + level?: number; + + /** Specifies the maximum width of the text in multi level labels. + * @Default {null} + */ + maximumTextWidth?: number; + + /** Specifies the alignment of the text in multi level labels. + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment|string; + + /** Specifies the handling of text over flow in multi level labels. + * @Default {center. See TextOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow|string; + + /** Options for customizing the font of the text. + */ + font?: PrimaryXAxisMultiLevelLabelsFont; + + /** Options for customizing the border of the series. + */ + border?: PrimaryXAxisMultiLevelLabelsBorder; +} + +export interface PrimaryXAxisStripLineFont { + + /** Font color of the strip line text. + * @Default {black} + */ + color?: string; + + /** Font family of the strip line text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the strip line text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the strip line text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the strip line text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the strip line text. + * @Default {12px} + */ + size?: string; +} + +export interface PrimaryXAxisStripLine { + + /** Border color of the strip line. + * @Default {gray} + */ + borderColor?: string; + + /** Background color of the strip line. + * @Default {gray} + */ + color?: string; + + /** End value of the strip line. + * @Default {null} + */ + end?: number; + + /** Options for customizing the font of the text. + */ + font?: PrimaryXAxisStripLineFont; + + /** Start value of the strip line. + * @Default {null} + */ + start?: number; + + /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. + * @Default {false} + */ + startFromAxis?: boolean; + + /** Specifies text to be displayed inside the strip line. + * @Default {stripLine} + */ + text?: string; + + /** Specifies the alignment of the text inside the strip line. + * @Default {middlecenter. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment|string; + + /** Show/hides the strip line. + * @Default {false} + */ + visible?: boolean; + + /** Width of the strip line. + * @Default {0} + */ + width?: number; + + /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered under the series and when it is “over”, it is rendered above the series. + * @Default {over. See ZIndex} + */ + zIndex?: ej.datavisualization.Chart.ZIndex|string; +} + +export interface PrimaryXAxisLabelBorder { + + /** Specifies the color of the label border. + * @Default {null} + */ + color?: string; + + /** Specifies the width of the label border. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryXAxisTitleFont { + + /** Font family of the title text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the title text. + * @Default {ej.datavisualization.Chart.FontStyle.Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the title text. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the axis title text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis title. + * @Default {16px} + */ + size?: string; +} + +export interface PrimaryXAxisTitle { + + /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the title font. + */ + font?: PrimaryXAxisTitleFont; + + /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. + * @Default {34} + */ + maximumTitleWidth?: number; + + /** Title for the axis. + */ + text?: string; + + /** Controls the visibility of axis title. + * @Default {true} + */ + visible?: boolean; + + /** offset value for axis title. + * @Default {0} + */ + offset?: number; + + /** Specifies the position of the axis title. + * @Default {outside. See Position} + */ + position?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the position of the axis title. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.TextAlignment|string; +} + +export interface PrimaryXAxis { + + /** Options for customizing horizontal axis alternate grid band. + */ + alternateGridBand?: PrimaryXAxisAlternateGridBand; + + /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. + * @Default {null} + */ + crossesAt?: number; + + /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. If the provided name does not belongs to a valid axis, then primary X axis or primary Y axis will be used for crossing + * @Default {null} + */ + crossesInAxis?: string; + + /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. + * @Default {false} + */ + isIndexed?: boolean; + + /** Options for customizing the axis line. + */ + axisLine?: PrimaryXAxisAxisLine; + + /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. + * @Default {null} + */ + columnIndex?: number; + + /** Specifies the number of columns or plot areas an axis has to span horizontally. + * @Default {null} + */ + columnSpan?: number; + + /** Options to customize the crosshair label. + */ + crosshairLabel?: PrimaryXAxisCrosshairLabel; + + /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. + * @Default {null} + */ + desiredIntervals?: number; + + /** Specifies the placement of labels. + * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} + */ + labelPlacement?: ej.datavisualization.Chart.LabelPlacement|string; + + /** Specifies the position of labels at the edge of the axis. + * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} + */ + edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement|string; + + /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the font of the axis Labels. + */ + font?: PrimaryXAxisFont; + + /** Specifies the type of interval in date time axis. + * @Default {null. See IntervalType} + */ + intervalType?: ej.datavisualization.Chart.IntervalType|string; + + /** Specifies whether to inverse the axis. + * @Default {false} + */ + isInversed?: boolean; + + /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. + * @Default {null} + */ + labelFormat?: string; + + /** Specifies the action to take when the axis labels are overlapping with each other. + * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} + */ + labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction|string; + + /** Specifies the position of the axis labels. + * @Default {outside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the position of the axis labels. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.LabelAlignment|string; + + /** Angle in degrees to rotate the axis labels. + * @Default {null} + */ + labelRotation?: number; + + /** Logarithmic base value. This is applicable only for logarithmic axis. + * @Default {10} + */ + logBase?: number; + + /** Options for customizing major gird lines. + */ + majorGridLines?: PrimaryXAxisMajorGridLines; + + /** Options for customizing the major tick lines. + */ + majorTickLines?: PrimaryXAxisMajorTickLines; + + /** Maximum number of labels to be displayed in every 100 pixels. + * @Default {3} + */ + maximumLabels?: number; + + /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. + * @Default {34} + */ + maximumLabelWidth?: number; + + /** Options for customizing the minor grid lines. + */ + minorGridLines?: PrimaryXAxisMinorGridLines; + + /** Options for customizing the minor tick lines. + */ + minorTickLines?: PrimaryXAxisMinorTickLines; + + /** Specifies the number of minor ticks per interval. + * @Default {null} + */ + minorTicksPerInterval?: number; + + /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. + * @Default {null} + */ + name?: string; + + /** Specifies whether to render the axis at the opposite side of its default position. + * @Default {false} + */ + opposedPosition?: boolean; + + /** Specifies the padding for the plot area. + * @Default {10} + */ + plotOffset?: number; + + /** Options to customize the range of the axis. + */ + range?: PrimaryXAxisRange; + + /** Specifies the padding for the axis range. + * @Default {None. See RangePadding} + */ + rangePadding?: ej.datavisualization.Chart.RangePadding|string; + + /** Rounds the number to the given number of decimals. + * @Default {null} + */ + roundingPlaces?: number; + + /** Options for customizing the multi level labels. + * @Default {[ ]} + */ + multiLevelLabels?: Array; + + /** Specifies whether the axis elements need to be placed nearby the axis line, while crossing. + * @Default {true} + */ + showNextToAxisLine?: boolean; + + /** Options for customizing the strip lines. + * @Default {[ ]} + */ + stripLine?: Array; + + /** Specifies the position of the axis tick lines. + * @Default {outside. See TickLinesPosition} + */ + tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition|string; + + /** Options for customizing the border of the labels. + */ + labelBorder?: PrimaryXAxisLabelBorder; + + /** Options for customizing the axis title. + */ + title?: PrimaryXAxisTitle; + + /** Specifies the type of data the axis is handling. + * @Default {null. See ValueType} + */ + valueType?: ej.datavisualization.Chart.ValueType|string; + + /** Show/hides the axis. + * @Default {true} + */ + visible?: boolean; + + /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. + * @Default {1} + */ + zoomFactor?: number; + + /** Position of the zoomed axis. Value ranges from 0 to 1. + * @Default {0} + */ + zoomPosition?: number; +} + +export interface AxesAlternateGridBandEven { + + /** Fill color for the even grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of the even grid band. + * @Default {1} + */ + opacity?: number; +} + +export interface AxesAlternateGridBandOdd { + + /** Fill color of the odd grid bands + * @Default {transparent} + */ + fill?: string; + + /** Opacity of odd grid band + * @Default {1} + */ + opacity?: number; +} + +export interface AxesAlternateGridBand { + + /** Options for customizing even grid band. + */ + even?: AxesAlternateGridBandEven; + + /** Options for customizing odd grid band. + */ + odd?: AxesAlternateGridBandOdd; +} + +export interface AxesAxisLine { + + /** Pattern of dashes and gaps to be applied to the axis line. + * @Default {null} + */ + dashArray?: string; + + /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. + * @Default {null} + */ + offset?: number; + + /** Show/hides the axis line. + * @Default {true} + */ + visible?: boolean; + + /** Color of axis line. + */ + color?: string; + + /** Width of axis line. + * @Default {1} + */ + width?: number; +} + +export interface AxesCrosshairLabel { + + /** Show/hides the crosshair label associated with this axis. + * @Default {false} + */ + visible?: boolean; +} + +export interface AxesFont { + + /** Font family of labels. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of labels. + * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the label. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the axis labels. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis labels. + * @Default {13px} + */ + size?: string; +} + +export interface AxesMajorGridLines { + + /** Pattern of dashes and gaps used to stroke the major grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Color of the major grid line. + * @Default {null} + */ + color?: string; + + /** Opacity of major grid lines. + * @Default {1} + */ + opacity?: number; + + /** Show/hides the major grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major grid lines. + * @Default {1} + */ + width?: number; +} + +export interface AxesMajorTickLines { + + /** Length of the major tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major tick lines. + * @Default {1} + */ + width?: number; +} + +export interface AxesMinorGridLines { + + /** Patterns of dashes and gaps used to stroke the minor grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Show/hides the minor grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minorGridLines. + * @Default {1} + */ + width?: number; +} + +export interface AxesMinorTickLines { + + /** Length of the minor tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the minor tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minor tick line. + * @Default {1} + */ + width?: number; +} + +export interface AxesRange { + + /** Minimum value of the axis range. + * @Default {null} + */ + min?: number; + + /** Maximum value of the axis range. + * @Default {null} + */ + max?: number; + + /** Interval of the axis range. + * @Default {null} + */ + interval?: number; +} + +export interface AxesMultiLevelLabelsFont { + + /** Font color of the multi level labels text. + * @Default {null} + */ + color?: string; + + /** Font family of the multi level labels text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the multi level labels text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the multi level label text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the multi level label text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the multi level label text. + * @Default {12px} + */ + size?: string; +} + +export interface AxesMultiLevelLabelsBorder { + + /** Border color of the multi level labels. + * @Default {null} + */ + color?: string; + + /** Border width of the multi level labels. + * @Default {1} + */ + width?: number; + + /** Border type of the multi level labels. + * @Default {rectangle. See Type} + */ + type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType|string; +} + +export interface AxesMultiLevelLabel { + + /** Visibility of the multi level labels. + * @Default {false} + */ + visible?: boolean; + + /** Text of the multi level labels. + */ + text?: string; + + /** Starting value of the multi level labels. + * @Default {null} + */ + start?: number; + + /** Ending value of the multi level labels. + * @Default {null} + */ + end?: number; + + /** Specifies the level of multi level labels. + * @Default {0} + */ + level?: number; + + /** Specifies the maximum width of the text in multi level labels. + * @Default {null} + */ + maximumTextWidth?: number; + + /** Specifies the alignment of the text in multi level labels. + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment|string; + + /** Specifies the handling of text over flow in multi level labels. + * @Default {center. See TextOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow|string; + + /** Options for customizing the font of the text. + */ + font?: AxesMultiLevelLabelsFont; + + /** Options for customizing the border of the series. + */ + border?: AxesMultiLevelLabelsBorder; +} + +export interface AxesStripLineFont { + + /** Font color of the strip line text. + * @Default {black} + */ + color?: string; + + /** Font family of the strip line text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the strip line text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the strip line text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the strip line text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the strip line text. + * @Default {12px} + */ + size?: string; +} + +export interface AxesStripLine { + + /** Border color of the strip line. + * @Default {gray} + */ + borderColor?: string; + + /** Background color of the strip line. + * @Default {gray} + */ + color?: string; + + /** End value of the strip line. + * @Default {null} + */ + end?: number; + + /** Options for customizing the font of the text. + */ + font?: AxesStripLineFont; + + /** Start value of the strip line. + * @Default {null} + */ + start?: number; + + /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. + * @Default {false} + */ + startFromAxis?: boolean; + + /** Specifies text to be displayed inside the strip line. + * @Default {stripLine} + */ + text?: string; + + /** Specifies the alignment of the text inside the strip line. + * @Default {middlecenter. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment|string; + + /** Show/hides the strip line. + * @Default {false} + */ + visible?: boolean; + + /** Width of the strip line. + * @Default {0} + */ + width?: number; + + /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered under the series and when it is “over”, it is rendered above the series. + * @Default {over. See ZIndex} + */ + zIndex?: ej.datavisualization.Chart.ZIndex|string; +} + +export interface AxesLabelBorder { + + /** Specifies the color of the label border. + * @Default {null} + */ + color?: string; + + /** Specifies the width of the label border. + * @Default {1} + */ + width?: number; +} + +export interface AxesTitleFont { + + /** Font family of the title text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the title text. + * @Default {ej.datavisualization.Chart.FontStyle.Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the title text. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the axis title text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis title. + * @Default {16px} + */ + size?: string; +} + +export interface AxesTitle { + + /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the title font. + */ + font?: AxesTitleFont; + + /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. + * @Default {34} + */ + maximumTitleWidth?: number; + + /** Title for the axis. + */ + text?: string; + + /** Controls the visibility of axis title. + * @Default {true} + */ + visible?: boolean; + + /** offset value for axis title. + * @Default {0} + */ + offset?: number; + + /** Specifies the position of the axis title. + * @Default {outside. See Position} + */ + position?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the position of the axis title. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.TextAlignment|string; +} + +export interface Axis { + + /** Options for customizing axis alternate grid band. + */ + alternateGridBand?: AxesAlternateGridBand; + + /** Specifies where axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. + * @Default {null} + */ + crossesAt?: number; + + /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. + * @Default {false} + */ + isIndexed?: boolean; + + /** Options for customizing the axis line. + */ + axisLine?: AxesAxisLine; + + /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. + * @Default {null} + */ + columnIndex?: number; + + /** Specifies the number of columns or plot areas an axis has to span horizontally. + * @Default {null} + */ + columnSpan?: number; + + /** Options to customize the crosshair label. + */ + crosshairLabel?: AxesCrosshairLabel; + + /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. + * @Default {null} + */ + desiredIntervals?: number; + + /** Specifies the placement of labels. + * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} + */ + labelPlacement?: ej.datavisualization.Chart.LabelPlacement|string; + + /** Specifies the position of labels at the edge of the axis. + * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} + */ + edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement|string; + + /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the font of the axis Labels. + */ + font?: AxesFont; + + /** Specifies the type of interval in date time axis. + * @Default {null. See IntervalType} + */ + intervalType?: ej.datavisualization.Chart.IntervalType|string; + + /** Specifies whether to inverse the axis. + * @Default {false} + */ + isInversed?: boolean; + + /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. + * @Default {null} + */ + labelFormat?: string; + + /** Specifies the action to take when the axis labels are overlapping with each other. + * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} + */ + labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction|string; + + /** Specifies the position of the axis labels. + * @Default {outside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the position of the axis labels. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.LabelAlignment|string; + + /** Angle in degrees to rotate the axis labels. + * @Default {null} + */ + labelRotation?: number; + + /** Logarithmic base value. This is applicable only for logarithmic axis. + * @Default {10} + */ + logBase?: number; + + /** Options for customizing major gird lines. + */ + majorGridLines?: AxesMajorGridLines; + + /** Options for customizing the major tick lines. + */ + majorTickLines?: AxesMajorTickLines; + + /** Maximum number of labels to be displayed in every 100 pixels. + * @Default {3} + */ + maximumLabels?: number; + + /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. + * @Default {34} + */ + maximumLabelWidth?: number; + + /** Options for customizing the minor grid lines. + */ + minorGridLines?: AxesMinorGridLines; + + /** Options for customizing the minor tick lines. + */ + minorTickLines?: AxesMinorTickLines; + + /** Specifies the number of minor ticks per interval. + * @Default {null} + */ + minorTicksPerInterval?: number; + + /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. + * @Default {null} + */ + name?: string; + + /** Specifies whether to render the axis at the opposite side of its default position. + * @Default {false} + */ + opposedPosition?: boolean; + + /** Specifies the padding for the plot area. + * @Default {10} + */ + plotOffset?: number; + + /** Options to customize the range of the axis. + */ + range?: AxesRange; + + /** Specifies the padding for the axis range. + * @Default {None. See RangePadding} + */ + rangePadding?: ej.datavisualization.Chart.RangePadding|string; + + /** Rounds the number to the given number of decimals. + * @Default {null} + */ + roundingPlaces?: number; + + /** Options for customizing the multi level labels. + * @Default {[ ]} + */ + multiLevelLabels?: Array; + + /** Specifies whether the axis elements need to be placed nearby the axis line, while crossing. + * @Default {true} + */ + showNextToAxisLine?: boolean; + + /** Options for customizing the strip lines. + * @Default {[ ]} + */ + stripLine?: Array; + + /** Specifies the position of the axis tick lines. + * @Default {outside. See TickLinesPosition} + */ + tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition|string; + + /** Options for customizing the border of the labels. + */ + labelBorder?: AxesLabelBorder; + + /** Options for customizing the axis title. + */ + title?: AxesTitle; + + /** Specifies the type of data the axis is handling. + * @Default {null. See ValueType} + */ + valueType?: ej.datavisualization.Chart.ValueType|string; + + /** Show/hides the axis. + * @Default {true} + */ + visible?: boolean; + + /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. + * @Default {1} + */ + zoomFactor?: number; + + /** Position of the zoomed axis. Value ranges from 0 to 1. + * @Default {0} + */ + zoomPosition?: number; +} + +export interface PrimaryYAxisAlternateGridBandEven { + + /** Fill color for the even grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of the even grid band. + * @Default {1} + */ + opacity?: number; +} + +export interface PrimaryYAxisAlternateGridBandOdd { + + /** Fill color of the odd grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of odd grid band. + * @Default {1} + */ + opacity?: number; +} + +export interface PrimaryYAxisAlternateGridBand { + + /** Options for customizing even grid band. + */ + even?: PrimaryYAxisAlternateGridBandEven; + + /** Options for customizing odd grid band. + */ + odd?: PrimaryYAxisAlternateGridBandOdd; +} + +export interface PrimaryYAxisAxisLine { + + /** Pattern of dashes and gaps to be applied to the axis line. + * @Default {null} + */ + dashArray?: string; + + /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. + * @Default {null} + */ + offset?: number; + + /** Show/hides the axis line. + * @Default {true} + */ + visible?: boolean; + + /** Color of axis line. + */ + color?: string; + + /** Width of axis line. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryYAxisCrosshairLabel { + + /** Show/hides the crosshair label associated with this axis. + * @Default {false} + */ + visible?: boolean; +} + +export interface PrimaryYAxisFont { + + /** Font family of labels. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of labels. + * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the label. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the axis labels. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis labels. + * @Default {13px} + */ + size?: string; +} + +export interface PrimaryYAxisMajorGridLines { + + /** Pattern of dashes and gaps used to stroke the major grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Color of the major grid lines. + * @Default {null} + */ + color?: string; + + /** Opacity of major grid lines. + * @Default {1} + */ + opacity?: number; + + /** Show/hides the major grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major grid lines. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryYAxisMajorTickLines { + + /** Length of the major tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major tick lines. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryYAxisMinorGridLines { + + /** Patterns of dashes and gaps used to stroke the minor grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Show/hides the minor grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minorGridLines. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryYAxisMinorTickLines { + + /** Length of the minor tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the minor tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minor tick line + * @Default {1} + */ + width?: number; +} + +export interface PrimaryYAxisRange { + + /** Minimum value of the axis range. + * @Default {null} + */ + min?: number; + + /** Maximum value of the axis range. + * @Default {null} + */ + max?: number; + + /** Interval for the range. + * @Default {null} + */ + interval?: number; +} + +export interface PrimaryYAxisMultiLevelLabelsFont { + + /** Font color of the multi level labels text. + * @Default {null} + */ + color?: string; + + /** Font family of the multi level labels text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the multi level labels text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the multi level label text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the multi level label text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the multi level label text. + * @Default {12px} + */ + size?: string; +} + +export interface PrimaryYAxisMultiLevelLabelsBorder { + + /** Border color of the multi level labels. + * @Default {null} + */ + color?: string; + + /** Border width of the multi level labels. + * @Default {1} + */ + width?: number; + + /** Border type of the multi level labels. + * @Default {rectangle. See Type} + */ + type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType|string; +} + +export interface PrimaryYAxisMultiLevelLabel { + + /** Visibility of the multi level labels. + * @Default {false} + */ + visible?: boolean; + + /** Text of the multi level labels. + */ + text?: string; + + /** Starting value of the multi level labels. + * @Default {null} + */ + start?: number; + + /** Ending value of the multi level labels. + * @Default {null} + */ + end?: number; + + /** Specifies the level of multi level labels. + * @Default {0} + */ + level?: number; + + /** Specifies the maximum width of the text in multi level labels. + * @Default {null} + */ + maximumTextWidth?: number; + + /** Specifies the alignment of the text in multi level labels. + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment|string; + + /** Specifies the handling of text over flow in multi level labels. + * @Default {center. See TextOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow|string; + + /** Options for customizing the font of the text. + */ + font?: PrimaryYAxisMultiLevelLabelsFont; + + /** Options for customizing the border of the series. + */ + border?: PrimaryYAxisMultiLevelLabelsBorder; +} + +export interface PrimaryYAxisStripLineFont { + + /** Font color of the strip line text. + * @Default {black} + */ + color?: string; + + /** Font family of the strip line text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the strip line text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the strip line text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the strip line text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the strip line text. + * @Default {12px} + */ + size?: string; +} + +export interface PrimaryYAxisStripLine { + + /** Border color of the strip line. + * @Default {gray} + */ + borderColor?: string; + + /** Background color of the strip line. + * @Default {gray} + */ + color?: string; + + /** End value of the strip line. + * @Default {null} + */ + end?: number; + + /** Options for customizing the font of the text. + */ + font?: PrimaryYAxisStripLineFont; + + /** Start value of the strip line. + * @Default {null} + */ + start?: number; + + /** Indicates whether to render the strip line from the minimum/start value of the axis. This property won’t work when start property is set. + * @Default {false} + */ + startFromAxis?: boolean; + + /** Specifies text to be displayed inside the strip line. + * @Default {stripLine} + */ + text?: string; + + /** Specifies the alignment of the text inside the strip line. + * @Default {middlecenter. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment|string; + + /** Show/hides the strip line. + * @Default {false} + */ + visible?: boolean; + + /** Width of the strip line. + * @Default {0} + */ + width?: number; + + /** Specifies the order in which strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered below the series and when it is “over”, it is rendered above the series. + * @Default {over. See ZIndex} + */ + zIndex?: ej.datavisualization.Chart.ZIndex|string; +} + +export interface PrimaryYAxisLabelBorder { + + /** Specifies the color of the label border. + * @Default {null} + */ + color?: string; + + /** Specifies the width of the label border. + * @Default {1} + */ + width?: number; +} + +export interface PrimaryYAxisTitleFont { + + /** Font family of the title text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the title text. + * @Default {ej.datavisualization.Chart.FontStyle.Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the title text. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the axis title text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis title. + * @Default {16px} + */ + size?: string; +} + +export interface PrimaryYAxisTitle { + + /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. + * @Default {ej.datavisualization.Chart.enableTrim} + */ + enableTrim?: boolean; + + /** Options for customizing the title font. + */ + font?: PrimaryYAxisTitleFont; + + /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. + * @Default {ej.datavisualization.Chart.maximumTitleWidth.null} + */ + maximumTitleWidth?: number; + + /** Title for the axis. + */ + text?: string; + + /** Controls the visibility of axis title. + * @Default {true} + */ + visible?: boolean; + + /** offset value for axis title. + * @Default {0} + */ + offset?: number; + + /** Specifies the position of the axis title. + * @Default {outside. See Position} + */ + position?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the position of the axis title. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.TextAlignment|string; +} + +export interface PrimaryYAxis { + + /** Options for customizing vertical axis alternate grid band. + */ + alternateGridBand?: PrimaryYAxisAlternateGridBand; + + /** Options for customizing the axis line. + */ + axisLine?: PrimaryYAxisAxisLine; + + /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. + * @Default {null} + */ + crossesAt?: number; + + /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. If the provided name does not belongs to a valid axis, then primary X axis or primary Y axis will be used for crossing + * @Default {null} + */ + crossesInAxis?: string; + + /** Options to customize the crosshair label. + */ + crosshairLabel?: PrimaryYAxisCrosshairLabel; + + /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. + * @Default {null} + */ + desiredIntervals?: number; + + /** Specifies the placement of labels. + * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} + */ + labelPlacement?: ej.datavisualization.Chart.LabelPlacement|string; + + /** Specifies the position of labels at the edge of the axis. + * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} + */ + edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement|string; + + /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the font of the axis Labels. + */ + font?: PrimaryYAxisFont; + + /** Specifies the type of interval in date time axis. + * @Default {null. See IntervalType} + */ + intervalType?: ej.datavisualization.Chart.IntervalType|string; + + /** Specifies whether to inverse the axis. + * @Default {false} + */ + isInversed?: boolean; + + /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. + * @Default {null} + */ + labelFormat?: string; + + /** Specifies the action to take when the axis labels are overlapping with each other. + * @Default {ej.datavisualization.Chart.LabelIntersectAction.None} + */ + labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction|string; + + /** Specifies the position of the axis labels. + * @Default {outside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the position of the axis labels. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.LabelAlignment|string; + + /** Logarithmic base value. This is applicable only for logarithmic axis. + * @Default {10} + */ + logBase?: number; + + /** Options for customizing major gird lines. + */ + majorGridLines?: PrimaryYAxisMajorGridLines; + + /** Options for customizing the major tick lines. + */ + majorTickLines?: PrimaryYAxisMajorTickLines; + + /** Maximum number of labels to be displayed in every 100 pixels. + * @Default {3} + */ + maximumLabels?: number; + + /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. + * @Default {ej.datavisualization.Chart.maximumLabelWidth type {int}} + */ + maximumLabelWidth?: number; + + /** Options for customizing the minor grid lines. + */ + minorGridLines?: PrimaryYAxisMinorGridLines; + + /** Options for customizing the minor tick lines. + */ + minorTickLines?: PrimaryYAxisMinorTickLines; + + /** Specifies the number of minor ticks per interval. + * @Default {null} + */ + minorTicksPerInterval?: number; + + /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. + * @Default {null} + */ + name?: string; + + /** Specifies whether to render the axis at the opposite side of its default position. + * @Default {false} + */ + opposedPosition?: boolean; + + /** Specifies the padding for the plot area. + * @Default {10} + */ + plotOffset?: number; + + /** Options to customize the range of the axis. + */ + range?: PrimaryYAxisRange; + + /** Specifies the padding for the axis range. + * @Default {ej.datavisualization.Chart.RangePadding.None. See RangePadding} + */ + rangePadding?: ej.datavisualization.Chart.RangePadding|string; + + /** Rounds the number to the given number of decimals. + * @Default {null} + */ + roundingPlaces?: number; + + /** Specifies the index of the row to which the axis is associated, when the chart area is divided into multiple plot areas by using rowDefinitions. + * @Default {null} + */ + rowIndex?: number; + + /** Specifies the number of row or plot areas an axis has to span vertically. + * @Default {null} + */ + rowSpan?: number; + + /** Options for customizing the multi level labels. + * @Default {[ ]} + */ + multiLevelLabels?: Array; + + /** Specifies whether the axis elements need to be placed nearby the axis line, while crossing. + * @Default {true} + */ + showNextToAxisLine?: boolean; + + /** Options for customizing the strip lines. + * @Default {[ ]} + */ + stripLine?: Array; + + /** Specifies the position of the axis tick lines. + * @Default {outside. See TickLinesPosition} + */ + tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition|string; + + /** Options for customizing the border of the labels. + */ + labelBorder?: PrimaryYAxisLabelBorder; + + /** Options for customizing the axis title. + */ + title?: PrimaryYAxisTitle; + + /** Specifies the type of data the axis is handling. + * @Default {null. See ValueType} + */ + valueType?: ej.datavisualization.Chart.ValueType|string; + + /** Show/hides the axis. + * @Default {true} + */ + visible?: boolean; + + /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Values ranges from 0 to 1. + * @Default {1} + */ + zoomFactor?: number; + + /** Position of the zoomed axis. Value ranges from 0 to 1 + * @Default {0} + */ + zoomPosition?: number; +} + +export interface RowDefinition { + + /** Specifies the unit to measure the height of the row in plotting area. + * @Default {'pixel'. See Unit} + */ + unit?: ej.datavisualization.Chart.Unit|string; + + /** Height of the row in plotting area. Height is measured in either pixel or percentage based on the value of unit property. + * @Default {50} + */ + rowHeight?: number; + + /** Color of the line that indicates the starting point of the row in plotting area. + * @Default {transparent} + */ + lineColor?: string; + + /** Width of the line that indicates the starting point of the row in plot area. + * @Default {1} + */ + lineWidth?: number; +} + +export interface SeriesBorder { + + /** Border color of the series. + * @Default {transparent} + */ + color?: string; + + /** Border width of the series. + * @Default {1} + */ + width?: number; + + /** DashArray for border of the series. + * @Default {null} + */ + dashArray?: string; +} + +export interface SeriesFont { + + /** Font color of the series text. + * @Default {#707070} + */ + color?: string; + + /** Font Family of the series. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font Style of the series. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the series. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of series text. + * @Default {1} + */ + opacity?: number; + + /** Size of the series text. + * @Default {12px} + */ + size?: string; +} + +export interface SeriesMarkerBorder { + + /** Border color of the marker shape. + * @Default {white} + */ + color?: string; + + /** Border width of the marker shape. + * @Default {3} + */ + width?: number; +} + +export interface SeriesMarkerDataLabelBorder { + + /** Border color of the data label. + * @Default {null} + */ + color?: string; + + /** Border width of the data label. + * @Default {0.1} + */ + width?: number; +} + +export interface SeriesMarkerDataLabelConnectorLine { + + /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. + * @Default {line. See ConnectorLineType} + */ + type?: ej.datavisualization.Chart.Type|string; + + /** Width of the connector. + * @Default {0.5} + */ + width?: number; + + /** Color of the connector. + * @Default {null} + */ + color?: string; + + /** Height of the connector. + * @Default {null} + */ + height?: number; +} + +export interface SeriesMarkerDataLabelFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; +} + +export interface SeriesMarkerDataLabelMargin { + + /** Bottom margin of the text. + * @Default {5} + */ + bottom?: number; + + /** Left margin of the text. + * @Default {5} + */ + left?: number; + + /** Right margin of the text. + * @Default {5} + */ + right?: number; + + /** Top margin of the text. + * @Default {5} + */ + top?: number; +} + +export interface SeriesMarkerDataLabel { + + /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. + * @Default {null} + */ + angle?: number; + + /** Maximum label width of the data label. + * @Default {null} + */ + maximumLabelWidth?: number; + + /** Enable the wrap option to the data label. + * @Default {false} + */ + enableWrap?: boolean; + + /** Options for customizing the border of the data label. + */ + border?: SeriesMarkerDataLabelBorder; + + /** Options for displaying and customizing the line that connects point and data label. + */ + connectorLine?: SeriesMarkerDataLabelConnectorLine; + + /** Background color of the data label. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the data label font. + */ + font?: SeriesMarkerDataLabelFont; + + /** Horizontal alignment of the data label. + * @Default {center} + */ + horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment|string; + + /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. + */ + margin?: SeriesMarkerDataLabelMargin; + + /** Opacity of the data label. + * @Default {1} + */ + opacity?: number; + + /** Background shape of the data label. + * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Name of a field in data source where datalabel text is displayed. + */ + textMappingName?: string; + + /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. + * @Default {top. See TextPosition} + */ + textPosition?: ej.datavisualization.Chart.TextPosition|string; + + /** Vertical alignment of the data label. + * @Default {'center'} + */ + verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment|string; + + /** Controls the visibility of the data labels. + * @Default {false} + */ + visible?: boolean; + + /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + */ + template?: string; + + /** Moves the label vertically by some offset. + * @Default {0} + */ + offset?: number; +} + +export interface SeriesMarkerSize { + + /** Height of the marker. + * @Default {6} + */ + height?: number; + + /** Width of the marker. + * @Default {6} + */ + width?: number; +} + +export interface SeriesMarker { + + /** Options for customizing the border of the marker shape. + */ + border?: SeriesMarkerBorder; + + /** Options for displaying and customizing data labels. + */ + dataLabel?: SeriesMarkerDataLabel; + + /** Color of the marker shape. + * @Default {null} + */ + fill?: string; + + /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. + */ + imageUrl?: string; + + /** Opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of the marker. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Options for customizing the size of the marker shape. + */ + size?: SeriesMarkerSize; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; +} + +export interface SeriesOutlierSettingsSize { + + /** Height of the outlier shape. + * @Default {6} + */ + height?: number; + + /** Width of the outlier shape. + * @Default {6} + */ + width?: number; +} + +export interface SeriesOutlierSettings { + + /** Specifies the shape of the outlier. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Options for customizing the size of the outlier shape. + */ + size?: SeriesOutlierSettingsSize; +} + +export interface SeriesEmptyPointSettingsStyleBorder { + + /** Border color of the empty point. + */ + color?: string; + + /** Border width of the empty point. + * @Default {1} + */ + width?: number; +} + +export interface SeriesEmptyPointSettingsStyle { + + /** Color of the empty point. + */ + color?: string; + + /** Options for customizing border of the empty point in the series. + */ + border?: SeriesEmptyPointSettingsStyleBorder; +} + +export interface SeriesEmptyPointSettings { + + /** Controls the visibility of the empty point. + * @Default {true} + */ + visible?: boolean; + + /** Specifies the mode of empty point. + * @Default {gap} + */ + displayMode?: ej.datavisualization.Chart.EmptyPointMode|string; + + /** Options for customizing the color and border of the empty point in the series. + */ + style?: SeriesEmptyPointSettingsStyle; +} + +export interface SeriesConnectorLine { + + /** Width of the connector line. + * @Default {1} + */ + width?: number; + + /** Color of the connector line. + * @Default {#565656} + */ + color?: string; + + /** DashArray of the connector line. + * @Default {null} + */ + dashArray?: string; + + /** Opacity of the connector line. + * @Default {1} + */ + opacity?: number; +} + +export interface SeriesDragSettings { + + /** drag/drop the series + * @Default {false} + */ + enable?: boolean; + + /** Specifies the type of drag settings. + * @Default {xy} + */ + type?: string; +} + +export interface SeriesErrorBarCap { + + /** Show/Hides the error bar cap. + * @Default {true} + */ + visible?: boolean; + + /** Width of the error bar cap. + * @Default {1} + */ + width?: number; + + /** Length of the error bar cap. + * @Default {1} + */ + length?: number; + + /** Color of the error bar cap. + * @Default {#000000} + */ + fill?: string; +} + +export interface SeriesErrorBar { + + /** Show/hides the error bar + * @Default {visible} + */ + visibility?: boolean; + + /** Specifies the type of error bar. + * @Default {FixedValue} + */ + type?: ej.datavisualization.Chart.ErrorBarType|string; + + /** Specifies the mode of error bar. + * @Default {vertical} + */ + mode?: ej.datavisualization.Chart.ErrorBarMode|string; + + /** Specifies the direction of error bar. + * @Default {both} + */ + direction?: ej.datavisualization.Chart.ErrorBarDirection|string; + + /** Value of vertical error bar. + * @Default {3} + */ + verticalErrorValue?: number; + + /** Value of horizontal error bar. + * @Default {1} + */ + horizontalErrorValue?: number; + + /** Value of positive horizontal error bar. + * @Default {1} + */ + horizontalPositiveErrorValue?: number; + + /** Value of negative horizontal error bar. + * @Default {1} + */ + horizontalNegativeErrorValue?: number; + + /** Value of positive vertical error bar. + * @Default {5} + */ + verticalPositiveErrorValue?: number; + + /** Value of negative vertical error bar. + * @Default {5} + */ + verticalNegativeErrorValue?: number; + + /** Fill color of the error bar. + * @Default {#000000} + */ + fill?: string; + + /** Width of the error bar. + * @Default {1} + */ + width?: number; + + /** Options for customizing the error bar cap. + */ + cap?: SeriesErrorBarCap; +} + +export interface SeriesPointsBorder { + + /** Border color of the point. + * @Default {null} + */ + color?: string; + + /** Border width of the point. + * @Default {null} + */ + width?: number; +} + +export interface SeriesPointsMarkerBorder { + + /** Border color of the marker shape. + * @Default {white} + */ + color?: string; + + /** Border width of the marker shape. + * @Default {3} + */ + width?: number; +} + +export interface SeriesPointsMarkerDataLabelBorder { + + /** Border color of the data label. + * @Default {null} + */ + color?: string; + + /** Border width of the data label. + * @Default {0.1} + */ + width?: number; +} + +export interface SeriesPointsMarkerDataLabelConnectorLine { + + /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. + * @Default {line. See ConnectorLineType} + */ + type?: ej.datavisualization.Chart.ConnectorLineType|string; + + /** Width of the connector. + * @Default {0.5} + */ + width?: number; +} + +export interface SeriesPointsMarkerDataLabelFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; +} + +export interface SeriesPointsMarkerDataLabelMargin { + + /** Bottom margin of the text. + * @Default {5} + */ + bottom?: number; + + /** Left margin of the text. + * @Default {5} + */ + left?: number; + + /** Right margin of the text. + * @Default {5} + */ + right?: number; + + /** Top margin of the text. + * @Default {5} + */ + top?: number; +} + +export interface SeriesPointsMarkerDataLabel { + + /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. + * @Default {null} + */ + angle?: number; + + /** Options for customizing the border of the data label. + */ + border?: SeriesPointsMarkerDataLabelBorder; + + /** Options for displaying and customizing the line that connects point and data label. + */ + connectorLine?: SeriesPointsMarkerDataLabelConnectorLine; + + /** Background color of the data label. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the data label font. + */ + font?: SeriesPointsMarkerDataLabelFont; + + /** Horizontal alignment of the data label. + * @Default {center} + */ + horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment|string; + + /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. + */ + margin?: SeriesPointsMarkerDataLabelMargin; + + /** Opacity of the data label. + * @Default {1} + */ + opacity?: number; + + /** Background shape of the data label. + * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. + * @Default {top. See TextPosition} + */ + textPosition?: ej.datavisualization.Chart.TextPosition|string; + + /** Vertical alignment of the data label. + * @Default {'center'} + */ + verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment|string; + + /** Controls the visibility of the data labels. + * @Default {false} + */ + visible?: boolean; + + /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + */ + template?: string; + + /** Moves the label vertically by specified offset. + * @Default {0} + */ + offset?: number; +} + +export interface SeriesPointsMarkerSize { + + /** Height of the marker. + * @Default {6} + */ + height?: number; + + /** Width of the marker. + * @Default {6} + */ + width?: number; +} + +export interface SeriesPointsMarker { + + /** Options for customizing the border of the marker shape. + */ + border?: SeriesPointsMarkerBorder; + + /** Options for displaying and customizing data label. + */ + dataLabel?: SeriesPointsMarkerDataLabel; + + /** Color of the marker shape. + * @Default {null} + */ + fill?: string; + + /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. + */ + imageUrl?: string; + + /** Opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of the marker. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape|string; + + /** Options for customizing the size of the marker shape. + */ + size?: SeriesPointsMarkerSize; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; +} + +export interface SeriesPoint { + + /** Options for customizing the border of a point. This is applicable only for column type series and accumulation type series. + */ + border?: SeriesPointsBorder; + + /** Enables or disables the visibility of legend item. + * @Default {visible} + */ + visibleOnLegend?: string; + + /** To show/hide the intermediate summary from the last intermediate point. + * @Default {false} + */ + showIntermediateSum?: boolean; + + /** To show/hide the total summary of the waterfall series. + * @Default {false} + */ + showTotalSum?: boolean; + + /** Close value of the point. Close value is applicable only for financial type series. + * @Default {null} + */ + close?: number; + + /** Size of a bubble in the bubble series. This is applicable only for the bubble series. + * @Default {null} + */ + size?: number; + + /** Background color of the point. This is applicable only for column type series and accumulation type series. + * @Default {null} + */ + fill?: string; + + /** High value of the point. High value is applicable only for financial type series, range area series and range column series. + * @Default {null} + */ + high?: number; + + /** Low value of the point. Low value is applicable only for financial type series, range area series and range column series. + * @Default {null} + */ + low?: number; + + /** Options for displaying and customizing marker for a data point. Marker contains shapes and/or data labels. + */ + marker?: SeriesPointsMarker; + + /** Open value of the point. This is applicable only for financial type series. + * @Default {null} + */ + open?: number; + + /** Datalabel text for the point. + * @Default {null} + */ + text?: string; + + /** X value of the point. + * @Default {null} + */ + x?: number; + + /** Y value of the point. + * @Default {null} + */ + y?: number; +} + +export interface SeriesCornerRadius { + + /** Specifies the radius for the top left corner. + * @Default {0} + */ + topLeft?: number; + + /** Specifies the radius for the top right corner. + * @Default {0} + */ + topRight?: number; + + /** Specifies the radius for the bottom left corner. + * @Default {0} + */ + bottomLeft?: number; + + /** Specifies the radius for the bottom right corner. + * @Default {0} + */ + bottomRight?: number; +} + +export interface SeriesTooltipBorder { + + /** Border Color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border Width of the tooltip. + * @Default {1} + */ + width?: number; +} + +export interface SeriesTooltip { + + /** Options for customizing the border of the tooltip. + */ + border?: SeriesTooltipBorder; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + rx?: number; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + ry?: number; + + /** Specifies the duration, the tooltip has to be displayed. + * @Default {500ms} + */ + duration?: string; + + /** Enables/disables the animation of the tooltip when moving from one point to another. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Background color of the tooltip. + * @Default {null} + */ + fill?: string; + + /** Format of the tooltip content. + * @Default {#point.x# : #point.y#} + */ + format?: string; + + /** Opacity of the tooltip. + * @Default {0.95} + */ + opacity?: number; + + /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + * @Default {null} + */ + template?: string; + + /** Controls the visibility of the tooltip. + * @Default {false} + */ + visible?: boolean; +} + +export interface SeriesTrendline { + + /** Show/hides the trendline. + */ + visibility?: boolean; + + /** Specifies the type of trendline for the series. + * @Default {linear. See TrendlinesType} + */ + type?: string; + + /** Name for the trendlines that is to be displayed in legend text. + * @Default {Trendline} + */ + name?: string; + + /** Fill color of the trendlines. + * @Default {#0000FF} + */ + fill?: string; + + /** Width of the trendlines. + * @Default {1} + */ + width?: number; + + /** Opacity of the trendline. + * @Default {1} + */ + opacity?: number; + + /** Pattern of dashes and gaps used to stroke the trendline. + */ + dashArray?: string; + + /** Future trends of the current series. + * @Default {0} + */ + forwardForecast?: number; + + /** Past trends of the current series. + * @Default {0} + */ + backwardForecast?: number; + + /** Specifies the order of polynomial trendlines. + * @Default {0} + */ + polynomialOrder?: number; + + /** Specifies the moving average starting period value. + * @Default {2} + */ + period?: number; +} + +export interface SeriesHighlightSettingsBorder { + + /** Border color of the series/point on highlight. + */ + color?: string; + + /** Border width of the series/point on highlight. + * @Default {2} + */ + width?: string; +} + +export interface SeriesHighlightSettings { + + /** Enables/disables the ability to highlight series or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether series or data point has to be highlighted. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode|string; + + /** Color of the series/point on highlight. + */ + color?: string; + + /** Opacity of the series/point on highlight. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of series on highlight. + */ + border?: SeriesHighlightSettingsBorder; + + /** Specifies the pattern for the series/point on highlight. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on highlight. + */ + customPattern?: string; +} + +export interface SeriesSelectionSettingsBorder { + + /** Border color of the series/point on selection. + */ + color?: string; + + /** Border width of the series/point on selection. + * @Default {2} + */ + width?: string; +} + +export interface SeriesSelectionSettings { + + /** Enables/disables the ability to select a series/data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether series or data point has to be selected. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode|string; + + /** Specifies the type of selection. + * @Default {single} + */ + type?: ej.datavisualization.Chart.SelectionType|string; + + /** Specifies the drawn rectangle type. + * @Default {xy} + */ + rangeType?: ej.datavisualization.Chart.RangeType|string; + + /** Color of the series/point on selection. + */ + color?: string; + + /** Opacity of the series/point on selection. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of series on selection. + */ + border?: SeriesSelectionSettingsBorder; + + /** Specifies the pattern for the series/point on selection. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on selection. + */ + customPattern?: string; +} + +export interface Series { + + /** Color of the point, where the close is up in financial chart. + * @Default {null} + */ + bearFillColor?: string; + + /** Options for customizing the border of the series. + */ + border?: SeriesBorder; + + /** Color of the point, where the close is down in financial chart. + * @Default {null} + */ + bullFillColor?: string; + + /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet + * @Default {rectangle} + */ + columnFacet?: ej.datavisualization.Chart.ColumnFacet|string; + + /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. + * @Default {0.7} + */ + columnWidth?: number; + + /** Spacing between columns of different series. Value ranges from 0 to 1 + * @Default {0} + */ + columnSpacing?: number; + + /** To group the series of stacking collection. + */ + stackingGroup?: string; + + /** Pattern of dashes and gaps used to stroke the line type series. + */ + dashArray?: string; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1. + * @Default {0.4} + */ + doughnutCoefficient?: number; + + /** Controls the size of the doughnut series. Value ranges from 0 to 1. + * @Default {0.8} + */ + doughnutSize?: number; + + /** Type of series to be drawn in radar or polar series. + * @Default {line. See DrawType} + */ + drawType?: ej.datavisualization.Chart.DrawType|string; + + /** Enable/disable the animation of series. + * @Default {false} + */ + enableAnimation?: boolean; + + /** To avoid overlapping of data labels smartly. + * @Default {null} + */ + enableSmartLabels?: number; + + /** End angle of pie/doughnut series. For a complete circle, it has to be 360, by default. + * @Default {null} + */ + endAngle?: number; + + /** Explodes the pie/doughnut slices on mouse move. + * @Default {false} + */ + explode?: boolean; + + /** Explodes all the slice of pie/doughnut on render. + * @Default {null} + */ + explodeAll?: boolean; + + /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. + * @Default {null} + */ + explodeIndex?: number; + + /** Specifies the distance of the slice from the center, when it is exploded. + * @Default {25} + */ + explodeOffset?: number; + + /** Fill color of the series. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the series font. + */ + font?: SeriesFont; + + /** Specifies the height of the funnel in funnel series. Values can be in both pixel and percentage. + * @Default {32.7%} + */ + funnelHeight?: string; + + /** Specifies the width of the funnel in funnel series. Values can be in both pixel and percentage. + * @Default {11.6%} + */ + funnelWidth?: string; + + /** Gap between the slices of pyramid/funnel series. + * @Default {0} + */ + gapRatio?: number; + + /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. + * @Default {true} + */ + isClosed?: boolean; + + /** Specifies whether to stack the column series in polar/radar charts. + * @Default {true} + */ + isStacking?: boolean; + + /** Renders the chart vertically. This is applicable only for Cartesian type series. + * @Default {false} + */ + isTransposed?: boolean; + + /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. + * @Default {true} + */ + showMedian?: boolean; + + /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. + * @Default {inside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the mode for splitting the data points in pieOfPie series. + * @Default {value. See SplitMode} + */ + splitMode?: ej.datavisualization.Chart.SplitMode|string; + + /** Quartile calculation has been performed in three different formulas to render the boxplot series . + * @Default {exclusive} + */ + boxPlotMode?: ej.datavisualization.Chart.LabelPosition|string; + + /** Specifies the line cap of the series. + * @Default {Butt. See LineCap} + */ + lineCap?: ej.datavisualization.Chart.LineCap|string; + + /** Specifies the type of shape to be used where two lines meet. + * @Default {Round. See LineJoin} + */ + lineJoin?: ej.datavisualization.Chart.LineJoin|string; + + /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. + */ + marker?: SeriesMarker; + + /** Name of the series, that is to be displayed in the legend. + * @Default {Add a comment to this line} + */ + name?: string; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Options for customizing the outlier of individual series. + */ + outlierSettings?: SeriesOutlierSettings; + + /** Name of a field in data source where fill color for all the data points is generated. + */ + palette?: string; + + /** Controls the size of pie series. Value ranges from 0 to 1. + * @Default {0.8} + */ + pieCoefficient?: number; + + /** Controls the size of the second pie in pieOfPie series. Value ranges from 0 to 1. + * @Default {0.6} + */ + pieOfPieCoefficient?: number; + + /** Split Value of pieofpie series. + * @Default {null} + */ + splitValue?: string; + + /** Distance between the two pie's in pieOfPie series. + * @Default {50} + */ + gapWidth?: number; + + /** Options for customizing the empty point in the series. + */ + emptyPointSettings?: SeriesEmptyPointSettings; + + /** Fill color for the positive column of the waterfall. + * @Default {null} + */ + positiveFill?: string; + + /** Options for customizing the waterfall connector line. + */ + connectorLine?: SeriesConnectorLine; + + /** Options to customize the drag and drop in series. + */ + dragSettings?: SeriesDragSettings; + + /** Options to customize the error bar in series. + */ + errorBar?: SeriesErrorBar; + + /** Option to add data points; each point should have x and y property. Also, optionally, you can customize the points color, border, marker by using fill, border and marker options. + */ + points?: Array; + + /** Specifies the mode of the pyramid series. + * @Default {linear} + */ + pyramidMode?: ej.datavisualization.Chart.PyramidMode|string; + + /** Specifies ej.Query to select data from dataSource. This property is applicable only when the dataSource is ej.DataManager. + * @Default {null} + */ + query?: any; + + /** Start angle from where the pie/doughnut series renders. It starts from 0, by default. + * @Default {null} + */ + startAngle?: number; + + /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. + */ + cornerRadius?: SeriesCornerRadius; + + /** Options for customizing the tooltip of chart. + */ + tooltip?: SeriesTooltip; + + /** Specifies the type of the series to render in chart. + * @Default {column. see Type} + */ + type?: ej.datavisualization.Chart.Type|string; + + /** Controls the visibility of the series. + * @Default {visible} + */ + visibility?: string; + + /** Enables or disables the visibility of legend item. + * @Default {visible} + */ + visibleOnLegend?: string; + + /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + xAxisName?: string; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + yAxisName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Name of the property in the datasource that contains high value for the series. + * @Default {null} + */ + high?: string; + + /** Name of the property in the datasource that contains low value for the series. + * @Default {null} + */ + low?: string; + + /** Name of the property in the datasource that contains open value for the series. + * @Default {null} + */ + open?: string; + + /** Name of the property in the datasource that contains close value for the series. + * @Default {null} + */ + close?: string; + + /** Name of the property in the datasource that contains fill color for the series. + * @Default {null} + */ + pointColorMappingName?: string; + + /** Z-order of the series. + * @Default {0} + */ + zOrder?: number; + + /** Name of the property in the datasource that contains the size value for the bubble series. + * @Default {null} + */ + size?: string; + + /** Option to add trendlines to chart. + */ + trendlines?: Array; + + /** Options for customizing the appearance of the series or data point while highlighting. + */ + highlightSettings?: SeriesHighlightSettings; + + /** Options for customizing the appearance of the series/data point on selection. + */ + selectionSettings?: SeriesSelectionSettings; +} + +export interface Size { + + /** Height of the Chart. Height can be specified in either pixel or percentage. + * @Default {'450'} + */ + height?: string; + + /** Width of the Chart. Width can be specified in either pixel or percentage. + * @Default {'450'} + */ + width?: string; +} + +export interface TitleBorder { + + /** Width of the title border. + * @Default {1} + */ + width?: number; + + /** color of the title border. + * @Default {transparent} + */ + color?: string; + + /** opacity of the title border. + * @Default {0.8} + */ + opacity?: number; + + /** opacity of the title border. + * @Default {0.8} + */ + cornerRadius?: number; +} + +export interface TitleFont { + + /** Font family for Chart title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Chart title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight for Chart title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the Chart title. + * @Default {0.5} + */ + opacity?: number; + + /** Font size for Chart title. + * @Default {20px} + */ + size?: string; +} + +export interface TitleSubTitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle|string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight|string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; +} + +export interface TitleSubTitleBorder { + + /** Width of the subtitle border. + * @Default {1} + */ + width?: number; + + /** color of the subtitle border. + * @Default {transparent} + */ + color?: string; + + /** opacity of the subtitle border. + * @Default {0.8} + */ + opacity?: number; + + /** opacity of the subtitle border. + * @Default {0.8} + */ + cornerRadius?: number; +} + +export interface TitleSubTitle { + + /** Options for customizing the font of sub title. + */ + font?: TitleSubTitleFont; + + /** Background color for the chart subtitle. + * @Default {transparent} + */ + background?: string; + + /** Options to customize the border of the title. + */ + border?: TitleSubTitleBorder; + + /** Text to be displayed in sub title. + */ + text?: string; + + /** Alignment of sub title text. + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.Alignment|string; +} + +export interface Title { + + /** Background color for the chart title. + * @Default {transparent} + */ + background?: string; + + /** Options to customize the border of the title. + */ + border?: TitleBorder; + + /** Options for customizing the font of Chart title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Chart. + */ + subTitle?: TitleSubTitle; + + /** Text to be displayed in Chart title. + */ + text?: string; + + /** Alignment of the title text. + * @Default {Center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.Alignment|string; +} + +export interface Zooming { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Enables or disables pinch zooming. + * @Default {true} + */ + enablePinching?: boolean; + + /** Enable or disables the differed zooming. When it is enabled, chart is updated only on mouse up action while zooming and panning. + * @Default {false} + */ + enableDeferredZoom?: boolean; + + /** Enables/disables the ability to zoom the chart on moving the mouse wheel. + * @Default {false} + */ + enableMouseWheel?: boolean; + + /** Specifies whether to allow zooming the chart vertically or horizontally or in both ways. + * @Default {'x,y'} + */ + type?: string; + + /** Toggles the visibility of the scrollbar, which will be displayed while zooming. + * @Default {false} + */ + enableScrollbar?: boolean; + + /** To display user specified buttons in zooming toolbar. + * @Default {[zoomIn, zoomOut, zoom, pan, reset]} + */ + toolbarItems?: Array; +} +} +module Chart +{ +enum CoordinateUnit +{ +//string +None, +//string +Pixels, +//string +Points, +} +} +module Chart +{ +enum HorizontalAlignment +{ +//string +Left, +//string +Right, +//string +Middle, +} +} +module Chart +{ +enum Region +{ +//string +Chart, +//string +Series, +} +} +module Chart +{ +enum VerticalAlignment +{ +//string +Top, +//string +Bottom, +//string +Middle, +} +} +module Chart +{ +enum ExportingType +{ +//string +PNG, +//string +JPG, +//string +PDF, +//string +DOCX, +//string +XLSX, +//string +SVG, +} +} +module Chart +{ +enum ExportingOrientation +{ +//string +Portrait, +//string +Landscape, +} +} +module Chart +{ +enum ExportingMode +{ +//string +ServerSide, +//string +ClientSide, +} +} +module Chart +{ +enum Unit +{ +//string +Percentage, +//string +Pixel, +} +} +module Chart +{ +enum ColumnFacet +{ +//string +Rectangle, +//string +Cylinder, +} +} +module Chart +{ +enum DrawType +{ +//string +Line, +//string +Area, +//string +Column, +} +} +module Chart +{ +enum FontStyle +{ +//string +Normal, +//string +Italic, +} +} +module Chart +{ +enum FontWeight +{ +//string +Regular, +//string +Bold, +//string +Lighter, +} +} +module Chart +{ +enum LabelPosition +{ +//string +Inside, +//string +Outside, +//string +OutsideExtended, +} +} +module Chart +{ +enum SplitMode +{ +//string +Position, +//string +Value, +//string +Percentage, +//string +Indexes, +} +} +module Chart +{ +enum boxPlotMode +{ +//string +Exclusive, +//string +Inclusive, +//string +Normal, +} +} +module Chart +{ +enum LineCap +{ +//string +Butt, +//string +Round, +//string +Square, +} +} +module Chart +{ +enum LineJoin +{ +//string +Round, +//string +Bevel, +//string +Miter, +} +} +module Chart +{ +enum ConnectorLineType +{ +//string +Line, +//string +Bezier, +} +} +module Chart +{ +enum HorizontalTextAlignment +{ +//string +Center, +//string +Near, +//string +Far, +} +} +module Chart +{ +enum Shape +{ +//string +None, +//string +LeftArrow, +//string +RightArrow, +//string +Circle, +//string +Cross, +//string +HorizLine, +//string +VertLine, +//string +Diamond, +//string +Rectangle, +//string +Triangle, +//string +Hexagon, +//string +Pentagon, +//string +Star, +//string +Ellipse, +//string +Trapezoid, +//string +UpArrow, +//string +DownArrow, +//string +Image, +//string +SeriesType, +} +} +module Chart +{ +enum TextPosition +{ +//string +Top, +//string +Bottom, +//string +Middle, +} +} +module Chart +{ +enum VerticalTextAlignment +{ +//string +Center, +//string +Near, +//string +Far, +} +} +module Chart +{ +enum PyramidMode +{ +//string +Linear, +//string +Surface, +} +} +module Chart +{ +enum Type +{ +//string +Area, +//string +Line, +//string +Spline, +//string +Column, +//string +Scatter, +//string +Bubble, +//string +SplineArea, +//string +StepArea, +//string +StepLine, +//string +Pie, +//string +HiLo, +//string +HiLoOpenClose, +//string +Candle, +//string +Bar, +//string +StackingArea, +//string +StackingArea100, +//string +RangeColumn, +//string +StackingColumn, +//string +StackingColumn100, +//string +StackingBar, +//string +StackingBar100, +//string +Pyramid, +//string +Funnel, +//string +Doughnut, +//string +Polar, +//string +Radar, +//string +RangeArea, +} +} +module Chart +{ +enum EmptyPointMode +{ +//string +Gap, +//string +Zero, +//string +Average, +} +} +module Chart +{ +enum ErrorBarType +{ +//string +FixedValue, +//string +Percentage, +//string +StandardDeviation, +//string +StandardError, +} +} +module Chart +{ +enum ErrorBarMode +{ +//string +Both, +//string +Vertical, +//string +Horizontal, +} +} +module Chart +{ +enum ErrorBarDirection +{ +//string +Both, +//string +Plus, +//string +Minus, +} +} +module Chart +{ +enum Mode +{ +//string +Series, +//string +Point, +//string +Cluster, +//string +Range, +} +} +module Chart +{ +enum SelectionType +{ +//string +Single, +//string +Multiple, +} +} +module Chart +{ +enum RangeType +{ +//string +XY, +//string +X, +//string +Y, +} +} +module Chart +{ +enum CrosshairMode +{ +//string +Float, +//string +Grouping, +} +} +module Chart +{ +enum CrosshairType +{ +//string +Crosshair, +//string +Trackball, +} +} +module Chart +{ +enum Alignment +{ +//string +Center, +//string +Near, +//string +Far, +} +} +module Chart +{ +enum Position +{ +//string +Left, +//string +Right, +//string +Top, +//string +Bottom, +} +} +module Chart +{ +enum TextOverflow +{ +//string +None, +//string +Trim, +//string +Wrap, +//string +WrapAndTrim, +} +} +module Chart +{ +enum LabelPlacement +{ +//string +OnTicks, +//string +BetweenTicks, +} +} +module Chart +{ +enum EdgeLabelPlacement +{ +//string +None, +//string +Shift, +//string +Hide, +} +} +module Chart +{ +enum IntervalType +{ +//string +Days, +//string +Hours, +//string +Seconds, +//string +Milliseconds, +//string +Minutes, +//string +Months, +//string +Years, +} +} +module Chart +{ +enum LabelIntersectAction +{ +//string +None, +//string +Rotate90, +//string +Rotate45, +//string +Wrap, +//string +WrapByword, +//string +Trim, +//string +Hide, +//string +MultipleRows, +} +} +module Chart +{ +enum LabelAlignment +{ +//string +Near, +//string +Far, +//string +Center, +} +} +module Chart +{ +enum RangePadding +{ +//string +Additional, +//string +Normal, +//string +None, +//string +Round, +} +} +module Chart +{ +enum MultiLevelLabelsBorderType +{ +//string +Rectangle, +//string +None, +//string +WithoutTopAndBottom, +//string +Brace, +//string +CurlyBrace, +} +} +module Chart +{ +enum TextAlignment +{ +//string +MiddleTop, +//string +MiddleCenter, +//string +MiddleBottom, +} +} +module Chart +{ +enum ZIndex +{ +//string +Inside, +//string +Over, +} +} +module Chart +{ +enum TickLinesPosition +{ +//string +Inside, +//string +Outside, +} +} +module Chart +{ +enum ValueType +{ +//string +Double, +//string +Category, +//string +DateTime, +//string +Logarithmic, +} +} +module Chart +{ +enum Theme +{ +//string +Azure, +//string +FlatLight, +//string +FlatDark, +//string +Azuredark, +//string +Lime, +//string +LimeDark, +//string +Saffron, +//string +SaffronDark, +//string +GradientLight, +//string +GradientDark, +} +} + +class RangeNavigator extends ej.Widget { + static fn: RangeNavigator; + constructor(element: JQuery, options?: RangeNavigator.Model); + constructor(element: Element, options?: RangeNavigator.Model); + static Locale: any; + model:RangeNavigator.Model; + defaults:RangeNavigator.Model; + + /** destroy the range navigator widget + * @returns {void} + */ + _destroy(): void; +} +export module RangeNavigator{ + +export interface Model { + + /** Toggles the placement of slider exactly on the place it left or on the nearest interval. + * @Default {false} + */ + allowSnapping?: boolean; + + /** Options for customizing the color, opacity and width of the chart border. + */ + border?: Border; + + /** Specifies the data source for range navigator. + */ + dataSource?: any; + + /** Specifies the properties used for customizing the range series. + */ + series?: Array; + + /** Toggles the redrawing of chart on moving the sliders. + * @Default {true} + */ + enableDeferredUpdate?: boolean; + + /** Enable the scrollbar option in the rangenavigator. + * @Default {false} + */ + enableScrollbar?: boolean; + + /** Toggles the direction of rendering the range navigator control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets a value whether to make the range navigator responsive on resize. + * @Default {false} + */ + isResponsive?: boolean; + + /** Options for customizing the labels colors, font, style, size, horizontalAlignment and opacity. + */ + labelSettings?: LabelSettings; + + /** This property is to specify the localization of range navigator. + * @Default {en-US} + */ + locale?: string; + + /** Options for customizing the range navigator. + */ + navigatorStyleSettings?: NavigatorStyleSettings; + + /** Padding specifies the gap between the container and the range navigator. + * @Default {0} + */ + padding?: string; + + /** If the range is not given explicitly, range will be calculated automatically. + * @Default {none} + */ + rangePadding?: ej.datavisualization.RangeNavigator.RangePadding|string; + + /** Options for customizing the starting and ending ranges. + */ + rangeSettings?: RangeSettings; + + /** selectedData is for getting the data when the "rangeChanged" event trigger from client side. + */ + selectedData?: any; + + /** Options for customizing the start and end range values. + */ + selectedRangeSettings?: SelectedRangeSettings; + + /** Options for rendering scrollbar based on the start and end range values. + */ + scrollRangeSettings?: ScrollRangeSettings; + + /** Contains property to customize the hight and width of range navigator. + */ + sizeSettings?: SizeSettings; + + /** By specifying this property the user can change the theme of the range navigator. + * @Default {null} + */ + theme?: string; + + /** Options for customizing the tooltip in range navigator. + */ + tooltipSettings?: TooltipSettings; + + /** Options for configuring minor grid lines, major grid lines, axis line of axis. + */ + valueAxisSettings?: ValueAxisSettings; + + /** You can plot data of type date time or numeric. This property determines the type of data that this axis will handle. + * @Default {datetime} + */ + valueType?: ej.datavisualization.RangeNavigator.ValueType|string; + + /** Specifies the xName for dataSource. This is used to take the x values from dataSource + */ + xName?: any; + + /** Specifies the yName for dataSource. This is used to take the y values from dataSource + */ + yName?: any; + + /** Fires on load of range navigator. */ + load? (e: LoadEventArgs): void; + + /** Fires after range navigator is loaded. */ + loaded? (e: LoadedEventArgs): void; + + /** Fires on changing the range of range navigator. */ + rangeChanged? (e: RangeChangedEventArgs): void; + + /** Fires on changing the scrollbar position of range navigator. */ + scrollChanged? (e: ScrollChangedEventArgs): void; + + /** Fires on when starting to change the scrollbar position of range navigator. */ + scrollStart? (e: ScrollStartEventArgs): void; + + /** Fires on changes ending the scrollbar position of range navigator. */ + scrollEnd? (e: ScrollEndEventArgs): void; +} + +export interface LoadEventArgs { + + /** parameters from range navigator + */ + Data?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the range navigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface LoadedEventArgs { + + /** parameters from range navigator + */ + Data?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the range navigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface RangeChangedEventArgs { + + /** parameters from range navigator + */ + Data?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the range navigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ScrollChangedEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position old start and end range value on changing scrollbar + */ + dataoldRange?: any; + + /** returns the scrollbar position new start and end range value on changing scrollbar + */ + datanewRange?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ScrollStartEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position starting range value on changing scrollbar + */ + datastartRange?: string; + + /** returns the scrollbar position end range value on changing scrollbar + */ + dataendRange?: string; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface ScrollEndEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position old start and end range value on change end of scrollbar + */ + dataoldRange?: any; + + /** returns the scrollbar position new start and end range value on change end of scrollbar + */ + datanewRange?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; +} + +export interface Border { + + /** Border color of rangenavigator. When enable the scrollbar, the default color will be set as "#B4B4B4". + * @Default {transparent} + */ + color?: string; + + /** Opacity of the rangeNavigator border. + * @Default {1} + */ + opacity?: number; + + /** Width of the RangeNavigator border. + * @Default {1} + */ + width?: number; +} + +export interface Series { + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Specifies the type of the series to render in chart. + * @Default {column. see Type} + */ + type?: ej.datavisualization.RangeNavigator.Type|string; + + /** Enable/disable the animation of series. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Fill color of the series. + * @Default {null} + */ + fill?: string; +} + +export interface LabelSettingsHigherLevelBorder { + + /** Specifies the border color of grid lines. + * @Default {transparent} + */ + color?: string; + + /** Specifies the border width of grid lines. + * @Default {0.5} + */ + width?: string; +} + +export interface LabelSettingsHigherLevelGridLineStyle { + + /** Specifies the color of grid lines in higher level. + * @Default {#B5B5B5} + */ + color?: string; + + /** Specifies the dashArray of grid lines in higher level. + * @Default {20 5 0} + */ + dashArray?: string; + + /** Specifies the width of grid lines in higher level. + * @Default {#B5B5B5} + */ + width?: string; +} + +export interface LabelSettingsHigherLevelStyleFont { + + /** Specifies the label font color. Labels render with the specified font color. + * @Default {black} + */ + color?: string; + + /** Specifies the label font family. Labels render with the specified font family. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the label font style. Labels render with the specified font style. + * @Default {Normal} + */ + fontStyle?: string; + + /** Specifies the label font weight. Labels render with the specified font weight. + * @Default {regular} + */ + fontWeight?: string; + + /** Specifies the label opacity. Labels render with the specified opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the label font size. Labels render with the specified font size. + * @Default {12px} + */ + size?: string; +} + +export interface LabelSettingsHigherLevelStyle { + + /** Options for customizing the font properties. + */ + font?: LabelSettingsHigherLevelStyleFont; + + /** Specifies the horizontal text alignment of the text in label. + * @Default {middle} + */ + horizontalAlignment?: string; +} + +export interface LabelSettingsHigherLevel { + + /** Options for customizing the border of grid lines in higher level. + */ + border?: LabelSettingsHigherLevelBorder; + + /** Specifies the fill color of higher level labels. + * @Default {transparent} + */ + fill?: string; + + /** Options for customizing the grid line colors, width, dashArray, border. + */ + gridLineStyle?: LabelSettingsHigherLevelGridLineStyle; + + /** Specifies the intervalType for higher level labels. See IntervalType + * @Default {auto} + */ + intervalType?: ej.datavisualization.RangeNavigator.IntervalType|string; + + /** Specifies the position of the labels to render either inside or outside of plot area + * @Default {outside} + */ + labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement|string; + + /** Specifies the position of the labels in higher level + * @Default {top} + */ + position?: ej.datavisualization.RangeNavigator.Position|string; + + /** Options for customizing the style of higher level labels. + */ + style?: LabelSettingsHigherLevelStyle; + + /** Toggles the visibility of higher level labels. + * @Default {true} + */ + visible?: boolean; +} + +export interface LabelSettingsLowerLevelBorder { + + /** Specifies the border color of grid lines. + * @Default {transparent} + */ + color?: string; + + /** Specifies the border width of grid lines. + * @Default {0.5} + */ + width?: string; +} + +export interface LabelSettingsLowerLevelGridLineStyle { + + /** Specifies the color of grid lines in lower level. + * @Default {#B5B5B5} + */ + color?: string; + + /** Specifies the dashArray of gridLines in lowerLevel. + * @Default {20 5 0} + */ + dashArray?: string; + + /** Specifies the width of grid lines in lower level. + * @Default {#B5B5B5} + */ + width?: string; +} + +export interface LabelSettingsLowerLevelStyleFont { + + /** Specifies the color of labels. Label text render in this specified color. + * @Default {black} + */ + color?: string; + + /** Specifies the font family of labels. Label text render in this specified font family. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font style of labels. Label text render in this specified font style. + * @Default {Normal} + */ + fontStyle?: string; + + /** Specifies the font weight of labels. Label text render in this specified font weight. + * @Default {regular} + */ + fontWeight?: string; + + /** Specifies the opacity of labels. Label text render in this specified opacity. + * @Default {12px} + */ + opacity?: string; + + /** Specifies the size of labels. Label text render in this specified size. + * @Default {12px} + */ + size?: string; +} + +export interface LabelSettingsLowerLevelStyle { + + /** Options for customizing the font of labels. + */ + font?: LabelSettingsLowerLevelStyleFont; + + /** Specifies the horizontal text alignment of the text in label. + * @Default {middle} + */ + horizontalAlignment?: string; +} + +export interface LabelSettingsLowerLevel { + + /** Options for customizing the border of grid lines in lower level. + */ + border?: LabelSettingsLowerLevelBorder; + + /** Specifies the fill color of labels in lower level. + * @Default {transparent} + */ + fill?: string; + + /** Options for customizing the grid lines in lower level. + */ + gridLineStyle?: LabelSettingsLowerLevelGridLineStyle; + + /** Specifies the intervalType of the labels in lower level.See IntervalType + * @Default {auto} + */ + intervalType?: ej.datavisualization.RangeNavigator.IntervalType|string; + + /** Specifies the position of the labels to render either inside or outside of plot area. See LabelPlacement + * @Default {outside} + */ + labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement|string; + + /** Specifies the position of the labels in lower level.See Position + * @Default {bottom} + */ + position?: ej.datavisualization.RangeNavigator.Position|string; + + /** Options for customizing the style of labels. + */ + style?: LabelSettingsLowerLevelStyle; + + /** Toggles the visibility of labels in lower level. + * @Default {true} + */ + visible?: boolean; +} + +export interface LabelSettingsStyleFont { + + /** Specifies the label color. This color is applied to the labels in range navigator. + * @Default {#FFFFFF} + */ + color?: string; + + /** Specifies the label font family. Labels render with the specified font family. + * @Default {Segoe UI} + */ + family?: string; + + /** Specifies the label font opacity. Labels render with the specified font opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the label font size. Labels render with the specified font size. + * @Default {1px} + */ + size?: string; + + /** Specifies the label font style. Labels render with the specified font style.. + * @Default {Normal} + */ + style?: ej.datavisualization.RangeNavigator.FontStyle|string; + + /** Specifies the label font weight + * @Default {regular} + */ + weight?: ej.datavisualization.RangeNavigator.FontWeight|string; +} + +export interface LabelSettingsStyle { + + /** Options for customizing the font of labels in range navigator. + */ + font?: LabelSettingsStyleFont; + + /** Specifies the horizontalAlignment of the label in RangeNavigator + * @Default {middle} + */ + horizontalAlignment?: ej.datavisualization.RangeNavigator.HorizontalAlignment|string; +} + +export interface LabelSettings { + + /** Options for customizing the higher level labels in range navigator. + */ + higherLevel?: LabelSettingsHigherLevel; + + /** Options for customizing the labels in lower level. + */ + lowerLevel?: LabelSettingsLowerLevel; + + /** Options for customizing the style of labels in range navigator. + */ + style?: LabelSettingsStyle; +} + +export interface NavigatorStyleSettingsBorder { + + /** Specifies the border color of range navigator. + * @Default {transparent} + */ + color?: string; + + /** Specifies the dash array of range navigator. + * @Default {null} + */ + dashArray?: string; + + /** Specifies the border width of range navigator. + * @Default {0.5} + */ + width?: number; +} + +export interface NavigatorStyleSettingsMajorGridLineStyle { + + /** Specifies the color of major grid lines in range navigator. + * @Default {#B5B5B5} + */ + color?: string; + + /** Toggles the visibility of major grid lines. + * @Default {true} + */ + visible?: boolean; +} + +export interface NavigatorStyleSettingsMinorGridLineStyle { + + /** Specifies the color of minor grid lines in range navigator. + * @Default {#B5B5B5} + */ + color?: string; + + /** Toggles the visibility of minor grid lines. + * @Default {true} + */ + visible?: boolean; +} + +export interface NavigatorStyleSettingsHighlightSettingsBorder { + + /** To set the border color to the highlight. + * @Default {null} + */ + color?: string; + + /** To set the border width to the highlight. + * @Default {1} + */ + width?: number; +} + +export interface NavigatorStyleSettingsHighlightSettings { + + /** Enable the highlight settings in range navigator. + * @Default {false} + */ + enable?: boolean; + + /** To set the color to the highlight. + * @Default {null} + */ + color?: string; + + /** To set the opacity to the highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Contains the border properties for highlighting rectangle. + */ + border?: NavigatorStyleSettingsHighlightSettingsBorder; +} + +export interface NavigatorStyleSettingsSelectionSettingsBorder { + + /** To set the border color to the selection. + * @Default {null} + */ + color?: string; + + /** To set the border width to the selection. + * @Default {1} + */ + width?: number; +} + +export interface NavigatorStyleSettingsSelectionSettings { + + /** Enable the selection settings in range navigator. + * @Default {false} + */ + enable?: boolean; + + /** To set the color to the selection. + * @Default {null} + */ + color?: string; + + /** To set the opacity to the selection. + * @Default {0.5} + */ + opacity?: number; + + /** Contains the border properties for selecting the rectangle. + */ + border?: NavigatorStyleSettingsSelectionSettingsBorder; +} + +export interface NavigatorStyleSettings { + + /** Specifies the background color of range navigator. + * @Default {#dddddd} + */ + background?: string; + + /** Options for customizing the border color and width of range navigator. + */ + border?: NavigatorStyleSettingsBorder; + + /** Specifies the left side thumb template in range navigator we can give either div id or HTML string + * @Default {null} + */ + leftThumbTemplate?: string; + + /** Options for customizing the major grid lines. + */ + majorGridLineStyle?: NavigatorStyleSettingsMajorGridLineStyle; + + /** Options for customizing the minor grid lines. + */ + minorGridLineStyle?: NavigatorStyleSettingsMinorGridLineStyle; + + /** Specifies the opacity of RangeNavigator. + * @Default {1} + */ + opacity?: number; + + /** Specifies the right side thumb template in range navigator we can give either div id or HTML string + * @Default {null} + */ + rightThumbTemplate?: string; + + /** Specifies the color of the selected region in range navigator. + * @Default {#EFEFEF} + */ + selectedRegionColor?: string; + + /** Specifies the opacity of Selected Region. + * @Default {0} + */ + selectedRegionOpacity?: number; + + /** Specifies the color of the thumb in range navigator. + * @Default {#2382C3} + */ + thumbColor?: string; + + /** Specifies the radius of the thumb in range navigator. + * @Default {10} + */ + thumbRadius?: number; + + /** Specifies the stroke color of the thumb in range navigator. + * @Default {#303030} + */ + thumbStroke?: string; + + /** Specifies the color of the unselected region in range navigator. + * @Default {#5EABDE} + */ + unselectedRegionColor?: string; + + /** Specifies the opacity of Unselected Region. + * @Default {0.3} + */ + unselectedRegionOpacity?: number; + + /** Contains the options for highlighting the range navigator on mouse over. + */ + highlightSettings?: NavigatorStyleSettingsHighlightSettings; + + /** Contains the options for selection the range navigator on mouse over. + */ + selectionSettings?: NavigatorStyleSettingsSelectionSettings; +} + +export interface RangeSettings { + + /** Specifies the ending range of range navigator. + * @Default {null} + */ + end?: string; + + /** Specifies the starting range of range navigator. + * @Default {null} + */ + start?: string; +} + +export interface SelectedRangeSettings { + + /** Specifies the ending range of range navigator. + * @Default {null} + */ + end?: string; + + /** Specifies the starting range of range navigator. + * @Default {null} + */ + start?: string; +} + +export interface ScrollRangeSettings { + + /** Specifies the ending range of range navigator scrollbar and that should be greater than the rangenavigator datasource end value. + * @Default {null} + */ + end?: string; + + /** Specifies the starting range of range navigator scrollbar and that should be less than the rangenavigator datasource start value. + * @Default {null} + */ + start?: string; +} + +export interface SizeSettings { + + /** Specifies height of the range navigator. + * @Default {null} + */ + height?: string; + + /** Specifies width of the range navigator. + * @Default {null} + */ + width?: string; +} + +export interface TooltipSettingsFont { + + /** Specifies the color of text in tooltip. Tooltip text render in the specified color. + * @Default {#FFFFFF} + */ + color?: string; + + /** Specifies the font family of text in tooltip. Tooltip text render in the specified font family. + * @Default {Segoe UI} + */ + family?: string; + + /** Specifies the font style of text in tooltip. Tooltip text render in the specified font style. + * @Default {ej.datavisualization.RangeNavigator.fontStyle.Normal} + */ + fontStyle?: string; + + /** Specifies the opacity of text in tooltip. Tooltip text render in the specified opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of text in tooltip. Tooltip text render in the specified size. + * @Default {10px} + */ + size?: string; + + /** Specifies the weight of text in tooltip. Tooltip text render in the specified weight. + * @Default {ej.datavisualization.RangeNavigator.weight.Regular} + */ + weight?: string; +} + +export interface TooltipSettings { + + /** Specifies the background color of tooltip. + * @Default {#303030} + */ + backgroundColor?: string; + + /** Options for customizing the font in tooltip. + */ + font?: TooltipSettingsFont; + + /** Specifies the format of text to be displayed in tooltip. + * @Default {MM/dd/yyyy} + */ + labelFormat?: string; + + /** Specifies the mode of displaying the tooltip. Neither to display the tooltip always nor on demand. + * @Default {null} + */ + tooltipDisplayMode?: string; + + /** Toggles the visibility of tooltip. + * @Default {true} + */ + visible?: boolean; +} + +export interface ValueAxisSettingsAxisLine { + + /** Toggles the visibility of axis line. + * @Default {none} + */ + visible?: string; +} + +export interface ValueAxisSettingsFont { + + /** Text in axis render with the specified size. + * @Default {0px} + */ + size?: string; +} + +export interface ValueAxisSettingsMajorGridLines { + + /** Toggles the visibility of major grid lines. + * @Default {false} + */ + visible?: boolean; +} + +export interface ValueAxisSettingsMajorTickLines { + + /** Specifies the size of the majorTickLines in range navigator + * @Default {0} + */ + size?: number; + + /** Toggles the visibility of major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Specifies width of the major tick lines. + * @Default {0} + */ + width?: number; +} + +export interface ValueAxisSettings { + + /** Options for customizing the axis line. + */ + axisLine?: ValueAxisSettingsAxisLine; + + /** Options for customizing the font of the axis. + */ + font?: ValueAxisSettingsFont; + + /** Options for customizing the major grid lines. + */ + majorGridLines?: ValueAxisSettingsMajorGridLines; + + /** Options for customizing the major tick lines in axis. + */ + majorTickLines?: ValueAxisSettingsMajorTickLines; + + /** If the range is not given explicitly, range will be calculated automatically. You can customize the automatic range calculation using rangePadding. + * @Default {none} + */ + rangePadding?: string; + + /** Toggles the visibility of axis in range navigator. + * @Default {false} + */ + visible?: boolean; +} +} +module RangeNavigator +{ +enum Type +{ +//string +Area, +//string +Line, +//string +Spline, +//string +StepArea, +//string +SplineArea, +//string +StepLine, +} +} +module RangeNavigator +{ +enum IntervalType +{ +//string +Years, +//string +Quarters, +//string +Months, +//string +Weeks, +//string +Days, +//string +Hours, +//string +Minutes, +} +} +module RangeNavigator +{ +enum LabelPlacement +{ +//string +Inside, +//string +Outside, +} +} +module RangeNavigator +{ +enum Position +{ +//string +Top, +//string +Bottom, +} +} +module RangeNavigator +{ +enum FontStyle +{ +//string +Normal, +//string +Bold, +//string +Italic, +} +} +module RangeNavigator +{ +enum FontWeight +{ +//string +Regular, +//string +Lighter, +} +} +module RangeNavigator +{ +enum HorizontalAlignment +{ +//string +Middle, +//string +Left, +//string +Right, +} +} +module RangeNavigator +{ +enum RangePadding +{ +//string +Additional, +//string +Normal, +//string +None, +//string +Round, +} +} +module RangeNavigator +{ +enum ValueType +{ +//string +Numeric, +//string +DateTime, +} +} + +class BulletGraph extends ej.Widget { + static fn: BulletGraph; + constructor(element: JQuery, options?: BulletGraph.Model); + constructor(element: Element, options?: BulletGraph.Model); + static Locale: any; + model:BulletGraph.Model; + defaults:BulletGraph.Model; + + /** To destroy the bullet graph + * @returns {void} + */ + destroy(): void; + + /** To redraw the bullet graph + * @returns {void} + */ + redraw(): void; + + /** To set the value for comparative measure in bullet graph. + * @returns {void} + */ + setComparativeMeasureSymbol(): void; + + /** To set the value for feature measure bar. + * @returns {void} + */ + setFeatureMeasureBarValue(): void; +} +export module BulletGraph{ + +export interface Model { + + /** Toggles the visibility of the range stroke color of the labels. + * @Default {false} + */ + applyRangeStrokeToLabels?: boolean; + + /** Toggles the visibility of the range stroke color of the ticks. + * @Default {false} + */ + applyRangeStrokeToTicks?: boolean; + + /** Contains property to customize the caption in bullet graph. + */ + captionSettings?: CaptionSettings; + + /** Comparative measure bar in bullet graph render till the specified value. + * @Default {0} + */ + comparativeMeasureValue?: number; + + /** Toggles the animation of bullet graph. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the direction of flow in bullet graph. Neither it may be backward nor forward. + * @Default {forward} + */ + flowDirection?: ej.datavisualization.BulletGraph.FlowDirection|string; + + /** Specifies the height of the bullet graph. + * @Default {90} + */ + height?: number; + + /** Sets a value whether to make the bullet graph responsive on resize. + * @Default {true} + */ + isResponsive?: boolean; + + /** Bullet graph will render in the specified orientation. + * @Default {horizontal} + */ + orientation?: ej.datavisualization.BulletGraph.Orientation|string; + + /** Contains property to customize the qualitative ranges. + */ + qualitativeRanges?: Array; + + /** Size of the qualitative range depends up on the specified value. + * @Default {32} + */ + qualitativeRangeSize?: number; + + /** Length of the quantitative range depends up on the specified value. + * @Default {475} + */ + quantitativeScaleLength?: number; + + /** Contains all the properties to customize quantitative scale. + */ + quantitativeScaleSettings?: QuantitativeScaleSettings; + + /** By specifying this property the user can change the theme of the bullet graph. + * @Default {flatlight} + */ + theme?: string; + + /** Contains all the properties to customize tooltip. + */ + tooltipSettings?: TooltipSettings; + + /** Feature measure bar in bullet graph render till the specified value. + * @Default {0} + */ + value?: number; + + /** Specifies the width of the bullet graph. + * @Default {595} + */ + width?: number; + + /** Fires on rendering the caption of bullet graph. */ + drawCaption? (e: DrawCaptionEventArgs): void; + + /** Fires on rendering the category. */ + drawCategory? (e: DrawCategoryEventArgs): void; + + /** Fires on rendering the comparative measure symbol. */ + drawComparativeMeasureSymbol? (e: DrawComparativeMeasureSymbolEventArgs): void; + + /** Fires on rendering the feature measure bar. */ + drawFeatureMeasureBar? (e: DrawFeatureMeasureBarEventArgs): void; + + /** Fires on rendering the indicator of bullet graph. */ + drawIndicator? (e: DrawIndicatorEventArgs): void; + + /** Fires on rendering the labels. */ + drawLabels? (e: DrawLabelsEventArgs): void; + + /** Fires on rendering the qualitative ranges. */ + drawQualitativeRanges? (e: DrawQualitativeRangesEventArgs): void; + + /** Fires on loading bullet graph. */ + load? (e: LoadEventArgs): void; +} + +export interface DrawCaptionEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; + + /** returns the current captionSettings element. + */ + captionElement?: HTMLElement; + + /** returns the type of the captionSettings. + */ + captionType?: string; +} + +export interface DrawCategoryEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; + + /** returns the options of category element. + */ + categoryElement?: HTMLElement; + + /** returns the text value of the category that is drawn. + */ + Value?: string; +} + +export interface DrawComparativeMeasureSymbolEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; + + /** returns the options of comparative measure element. + */ + targetElement?: HTMLElement; + + /** returns the value of the comparative measure symbol. + */ + Value?: number; +} + +export interface DrawFeatureMeasureBarEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; + + /** returns the options of feature measure element. + */ + currentElement?: HTMLElement; + + /** returns the value of the feature measure bar. + */ + Value?: number; +} + +export interface DrawIndicatorEventArgs { + + /** returns an object to customize bullet graph indicator text and symbol before rendering it. + */ + indicatorSettings?: any; + + /** returns the object of bullet graph. + */ + model?: any; + + /** returns the type of event. + */ + type?: string; + + /** for canceling the event. + */ + cancel?: boolean; +} + +export interface DrawLabelsEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; + + /** returns the current label element. + */ + tickElement?: HTMLElement; + + /** returns the label type. + */ + labelType?: string; +} + +export interface DrawQualitativeRangesEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the index of current range. + */ + rangeIndex?: number; + + /** returns the settings for current range. + */ + rangeOptions?: any; + + /** returns the end value of current range. + */ + rangeEndValue?: number; +} + +export interface LoadEventArgs { +} + +export interface CaptionSettingsFont { + + /** Specifies the color of the text in caption. + * @Default {null} + */ + color?: string; + + /** Specifies the fontFamily of caption. Caption text render with this fontFamily + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of caption + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; + + /** Specifies the fontWeight of caption + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; + + /** Specifies the opacity of caption. Caption text render with this opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of caption. Caption text render with this size + * @Default {12px} + */ + size?: string; +} + +export interface CaptionSettingsIndicatorFont { + + /** Specifies the color of the indicator's text. + * @Default {null} + */ + color?: string; + + /** Specifies the fontFamily of indicator. Indicator text render with this fontFamily. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of indicator. Indicator text render with this fontStyle. See FontStyle + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; + + /** Specifies the fontWeight of indicator. Indicator text render with this fontWeight. See FontWeight + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; + + /** Specifies the opacity of indicator text. Indicator text render with this Opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of indicator. Indicator text render with this size. + * @Default {12px} + */ + size?: string; +} + +export interface CaptionSettingsIndicatorLocation { + + /** Specifies the horizontal position of the indicator. + * @Default {10} + */ + x?: number; + + /** Specifies the vertical position of the indicator. + * @Default {60} + */ + y?: number; +} + +export interface CaptionSettingsIndicatorSymbolBorder { + + /** Specifies the border color of indicator symbol. + * @Default {null} + */ + color?: string; + + /** Specifies the border width of indicator symbol. + * @Default {1} + */ + width?: number; +} + +export interface CaptionSettingsIndicatorSymbolSize { + + /** Specifies the height of indicator symbol. + * @Default {10} + */ + height?: number; + + /** Specifies the width of indicator symbol. + * @Default {10} + */ + width?: number; +} + +export interface CaptionSettingsIndicatorSymbol { + + /** Contains property to customize the border of indicator symbol. + */ + border?: CaptionSettingsIndicatorSymbolBorder; + + /** Specifies the color of indicator symbol. + * @Default {null} + */ + color?: string; + + /** Specifies the URL of image that represents indicator symbol. + */ + imageURL?: string; + + /** Specifies the opacity of indicator symbol. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of indicator symbol. + */ + shape?: string; + + /** Contains property to customize the size of indicator symbol. + */ + size?: CaptionSettingsIndicatorSymbolSize; +} + +export interface CaptionSettingsIndicator { + + /** Contains property to customize the font of indicator. + */ + font?: CaptionSettingsIndicatorFont; + + /** Contains property to customize the location of indicator. + */ + location?: CaptionSettingsIndicatorLocation; + + /** Specifies the padding to be applied when text position is used. + * @Default {2} + */ + padding?: number; + + /** Contains property to customize the symbol of indicator. + */ + symbol?: CaptionSettingsIndicatorSymbol; + + /** Specifies the text to be displayed as indicator text. By default difference between current value and target will be displayed + */ + text?: string; + + /** Specifies the alignment of indicator with respect to scale based on text position + * @Default {'Near'} + */ + textAlignment?: ej.datavisualization.BulletGraph.TextAlignment|string; + + /** Specifies where indicator text should be anchored when indicator overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. + * @Default {'start'} + */ + textAnchor?: ej.datavisualization.BulletGraph.TextAnchor|string; + + /** indicator text render in the specified angle. + * @Default {0} + */ + textAngle?: number; + + /** Specifies where indicator should be placed + * @Default {'float'} + */ + textPosition?: ej.datavisualization.BulletGraph.TextPosition|string; + + /** Specifies the space between indicator symbol and text. + * @Default {3} + */ + textSpacing?: number; + + /** Specifies whether indicator will be visible or not. + * @Default {false} + */ + visible?: boolean; +} + +export interface CaptionSettingsLocation { + + /** Specifies the position in horizontal direction + * @Default {17} + */ + x?: number; + + /** Specifies the position in horizontal direction + * @Default {30} + */ + y?: number; +} + +export interface CaptionSettingsSubTitleFont { + + /** Specifies the color of the subtitle's text. + * @Default {null} + */ + color?: string; + + /** Specifies the fontFamily of subtitle. Subtitle text render with this fontFamily. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of subtitle. Subtitle text render with this fontStyle. See FontStyle + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; + + /** Specifies the fontWeight of subtitle. Subtitle text render with this fontWeight. See FontWeight + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; + + /** Specifies the opacity of subtitle. Subtitle text render with this opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of subtitle. Subtitle text render with this size. + * @Default {12px} + */ + size?: string; +} + +export interface CaptionSettingsSubTitleLocation { + + /** Specifies the horizontal position of the subtitle. + * @Default {10} + */ + x?: number; + + /** Specifies the vertical position of the subtitle. + * @Default {45} + */ + y?: number; +} + +export interface CaptionSettingsSubTitle { + + /** Contains property to customize the font of subtitle. + */ + font?: CaptionSettingsSubTitleFont; + + /** Contains property to customize the location of subtitle. + */ + location?: CaptionSettingsSubTitleLocation; + + /** Specifies the padding to be applied when text position is used. + * @Default {5} + */ + padding?: number; + + /** Specifies the text to be displayed as subtitle. + */ + text?: string; + + /** Specifies the alignment of sub title text with respect to scale. Alignment will not be applied in float position. + * @Default {'Near'} + */ + textAlignment?: ej.datavisualization.BulletGraph.TextAlignment|string; + + /** Specifies where subtitle text should be anchored when sub title text overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. + * @Default {'start'} + */ + textAnchor?: ej.datavisualization.BulletGraph.TextAnchor|string; + + /** Subtitle render in the specified angle. + * @Default {0} + */ + textAngle?: number; + + /** Specifies where sub title text should be placed. + * @Default {'float'} + */ + textPosition?: ej.datavisualization.BulletGraph.TextPosition|string; +} + +export interface CaptionSettings { + + /** Specifies whether trim the labels will be true or false. + * @Default {true} + */ + enableTrim?: boolean; + + /** Contains property to customize the font of caption. + */ + font?: CaptionSettingsFont; + + /** Contains property to customize the indicator. + */ + indicator?: CaptionSettingsIndicator; + + /** Contains property to customize the location. + */ + location?: CaptionSettingsLocation; + + /** Specifies the padding to be applied when text position is used. + * @Default {5} + */ + padding?: number; + + /** Contains property to customize the subtitle. + */ + subTitle?: CaptionSettingsSubTitle; + + /** Specifies the text to be displayed on bullet graph. + */ + text?: string; + + /** Specifies the alignment of caption text with respect to scale. This property will not be applied when text position is float. + * @Default {'Near'} + */ + textAlignment?: ej.datavisualization.BulletGraph.TextAlignment|string; + + /** Specifies caption text anchoring when caption text overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. + * @Default {'start'} + */ + textAnchor?: ej.datavisualization.BulletGraph.TextAnchor|string; + + /** Specifies the angel in which the caption is rendered. + * @Default {0} + */ + textAngle?: number; + + /** Specifies how caption text should be placed. + * @Default {'float'} + */ + textPosition?: ej.datavisualization.BulletGraph.TextPosition|string; +} + +export interface QualitativeRange { + + /** Specifies the ending range to which the qualitative ranges will render. + * @Default {3} + */ + rangeEnd?: number; + + /** Specifies the opacity for the qualitative ranges. + * @Default {1} + */ + rangeOpacity?: number; + + /** Specifies the stroke for the qualitative ranges. + * @Default {null} + */ + rangeStroke?: string; +} + +export interface QuantitativeScaleSettingsComparativeMeasureSettings { + + /** Specifies the stroke of the comparative measure. + * @Default {null} + */ + stroke?: number; + + /** Specifies the width of the comparative measure. + * @Default {5} + */ + width?: number; +} + +export interface QuantitativeScaleSettingsFeaturedMeasureSettings { + + /** Specifies the Stroke of the featured measure in bullet graph. + * @Default {null} + */ + stroke?: number; + + /** Specifies the width of the featured measure in bullet graph. + * @Default {2} + */ + width?: number; +} + +export interface QuantitativeScaleSettingsFeatureMeasure { + + /** Specifies the category of feature measure. + * @Default {null} + */ + category?: string; + + /** Comparative measure render till the specified value. + * @Default {null} + */ + comparativeMeasureValue?: number; + + /** Feature measure render till the specified value. + * @Default {null} + */ + value?: number; +} + +export interface QuantitativeScaleSettingsFields { + + /** Specifies the category of the bullet graph. + * @Default {null} + */ + category?: string; + + /** Comparative measure render based on the values in the specified field. + * @Default {null} + */ + comparativeMeasure?: string; + + /** Specifies the dataSource for the bullet graph. + * @Default {null} + */ + dataSource?: any; + + /** Feature measure render based on the values in the specified field. + * @Default {null} + */ + featureMeasures?: string; + + /** Specifies the query for fetching the values form data source to render the bullet graph. + * @Default {null} + */ + query?: string; + + /** Specifies the name of the table. + * @Default {null} + */ + tableName?: string; +} + +export interface QuantitativeScaleSettingsLabelSettingsFont { + + /** Specifies the fontFamily of labels in bullet graph. Labels render with this fontFamily. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of labels in bullet graph. Labels render with this fontStyle. See FontStyle + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; + + /** Specifies the fontWeight of labels in bullet graph. Labels render with this fontWeight. See FontWeight + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; + + /** Specifies the opacity of labels in bullet graph. Labels render with this opacity + * @Default {1} + */ + opacity?: number; +} + +export interface QuantitativeScaleSettingsLabelSettings { + + /** Contains property to customize the font of the labels in bullet graph. + */ + font?: QuantitativeScaleSettingsLabelSettingsFont; + + /** Specifies the placement of labels in bullet graph scale. + * @Default {outside} + */ + labelPlacement?: ej.datavisualization.BulletGraph.LabelPlacement|string; + + /** Specifies the prefix to be added with labels in bullet graph. + * @Default {Empty string} + */ + labelPrefix?: string; + + /** Specifies the suffix to be added after labels in bullet graph. + * @Default {Empty string} + */ + labelSuffix?: string; + + /** Specifies the horizontal/vertical padding of labels. + * @Default {15} + */ + offset?: number; + + /** Specifies the position of the labels to render either above or below the graph. See Position + * @Default {below} + */ + position?: ej.datavisualization.BulletGraph.LabelPosition|string; + + /** Specifies the Size of the labels. + * @Default {12} + */ + size?: number; + + /** Specifies the stroke color of the labels in bullet graph. + * @Default {null} + */ + stroke?: string; +} + +export interface QuantitativeScaleSettingsLocation { + + /** This property specifies the x position for rendering quantitative scale. + * @Default {10} + */ + x?: number; + + /** This property specifies the y position for rendering quantitative scale. + * @Default {10} + */ + y?: number; +} + +export interface QuantitativeScaleSettingsMajorTickSettings { + + /** Specifies the size of the major ticks. + * @Default {13} + */ + size?: number; + + /** Specifies the stroke color of the major tick lines. + * @Default {null} + */ + stroke?: string; + + /** Specifies the width of the major tick lines. + * @Default {2} + */ + width?: number; +} + +export interface QuantitativeScaleSettingsMinorTickSettings { + + /** Specifies the size of minor ticks. + * @Default {7} + */ + size?: number; + + /** Specifies the stroke color of minor ticks in bullet graph. + * @Default {null} + */ + stroke?: string; + + /** Specifies the width of the minor ticks in bullet graph. + * @Default {2} + */ + width?: number; +} + +export interface QuantitativeScaleSettings { + + /** Contains property to customize the comparative measure. + */ + comparativeMeasureSettings?: QuantitativeScaleSettingsComparativeMeasureSettings; + + /** Contains property to customize the featured measure. + */ + featuredMeasureSettings?: QuantitativeScaleSettingsFeaturedMeasureSettings; + + /** Contains property to customize the featured measure. + */ + featureMeasures?: Array; + + /** Contains property to customize the fields. + */ + fields?: QuantitativeScaleSettingsFields; + + /** Specifies the interval for the Graph. + * @Default {1} + */ + interval?: number; + + /** Contains property to customize the labels. + */ + labelSettings?: QuantitativeScaleSettingsLabelSettings; + + /** Contains property to customize the position of the quantitative scale + */ + location?: QuantitativeScaleSettingsLocation; + + /** Contains property to customize the major tick lines. + */ + majorTickSettings?: QuantitativeScaleSettingsMajorTickSettings; + + /** Specifies the maximum value of the Graph. + * @Default {10} + */ + maximum?: number; + + /** Specifies the minimum value of the Graph. + * @Default {0} + */ + minimum?: number; + + /** Contains property to customize the minor ticks. + */ + minorTickSettings?: QuantitativeScaleSettingsMinorTickSettings; + + /** The specified number of minor ticks will be rendered per interval. + * @Default {4} + */ + minorTicksPerInterval?: number; + + /** Specifies the placement of ticks to render either inside or outside the scale. + * @Default {ej.datavisualization.BulletGraph.TickPlacement.Outside} + */ + tickPlacement?: ej.datavisualization.BulletGraph.TickPlacement|string; + + /** Specifies the position of the ticks to render either above,below or inside + * @Default {ej.datavisualization.BulletGraph.TickPosition.Far} + */ + tickPosition?: ej.datavisualization.BulletGraph.TickPosition|string; +} + +export interface TooltipSettings { + + /** Specifies template for caption tooltip + * @Default {null} + */ + captionTemplate?: string; + + /** Toggles the visibility of caption tooltip + * @Default {false} + */ + enableCaptionTooltip?: boolean; + + /** Specifies the ID of a div, which is to be displayed as tooltip. + * @Default {null} + */ + template?: string; + + /** Toggles the visibility of tooltip + * @Default {true} + */ + visible?: boolean; +} +} +module BulletGraph +{ +enum FontStyle +{ +//string +Normal, +//string +Italic, +//string +Oblique, +} +} +module BulletGraph +{ +enum FontWeight +{ +//string +Normal, +//string +Bold, +//string +Bolder, +//string +Lighter, +} +} +module BulletGraph +{ +enum TextAlignment +{ +//string +Near, +//string +Far, +//string +Center, +} +} +module BulletGraph +{ +enum TextAnchor +{ +//string +Start, +//string +Middle, +//string +End, +} +} +module BulletGraph +{ +enum TextPosition +{ +//string +Top, +//string +Right, +//string +Left, +//string +Bottom, +//string +Float, +} +} +module BulletGraph +{ +enum FlowDirection +{ +//string +Forward, +//string +Backward, +} +} +module BulletGraph +{ +enum Orientation +{ +//string +Horizontal, +//string +Vertical, +} +} +module BulletGraph +{ +enum LabelPlacement +{ +//string +Inside, +//string +Outside, +} +} +module BulletGraph +{ +enum LabelPosition +{ +//string +Above, +//string +Below, +} +} +module BulletGraph +{ +enum TickPlacement +{ +//string +Inside, +//string +Outside, +} +} +module BulletGraph +{ +enum TickPosition +{ +//string +Below, +//string +Above, +//string +Cross, +} +} + +class Barcode extends ej.Widget { + static fn: Barcode; + constructor(element: JQuery, options?: Barcode.Model); + constructor(element: Element, options?: Barcode.Model); + static Locale: any; + model:Barcode.Model; + defaults:Barcode.Model; + + /** To disable the barcode + * @returns {void} + */ + disable(): void; + + /** To enable the barcode + * @returns {void} + */ + enable(): void; +} +export module Barcode{ + +export interface Model { + + /** Specifies the distance between the barcode and text below it. + */ + barcodeToTextGapHeight?: number; + + /** Specifies the height of bars in the Barcode. By modifying the barHeight, the entire barcode height can be customized. Please refer to xDimension for two dimensional barcode height customization. + */ + barHeight?: number; + + /** Specifies the dark bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. + */ + darkBarColor?: any; + + /** Specifies whether the text below the barcode is visible or hidden. + */ + displayText?: boolean; + + /** Specifies whether the control is enabled. + */ + enabled?: boolean; + + /** Specifies the start and stop encode symbol in the Barcode. In one dimensional barcodes, an additional character is added as start and stop delimiters. These symbols are optional and the unique of the symbol allows the reader to determine the direction of the barcode being scanned. + */ + encodeStartStopSymbol?: number; + + /** Specifies the light bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. + */ + lightBarColor?: any; + + /** Specifies the width of the narrow bars in the barcode. The dark bars in the one dimensional barcode contains random narrow and wide bars based on the provided input which can be specified during initialization. + */ + narrowBarWidth?: number; + + /** Specifies the width of the quiet zone. In barcode, a quiet zone is the blank margin on either side of a barcode which informs the reader where a barcode's symbology starts and stops. The purpose of a quiet zone is to prevent the reader from picking up unrelated information. + */ + quietZone?: QuietZone; + + /** Specifies the type of the Barcode. See SymbologyType + */ + symbologyType?: ej.datavisualization.Barcode.SymbologyType|string; + + /** Specifies the text to be encoded in the barcode. + */ + text?: string; + + /** Specifies the color of the text/data at the bottom of the barcode. + */ + textColor?: any; + + /** Specifies the width of the wide bars in the barcode. One dimensional barcode usually contains random narrow and wide bars based on the provided which can be customized during initialization. + */ + wideBarWidth?: number; + + /** Specifies the width of the narrowest element(bar or space) in a barcode. The greater the x dimension, the more easily a barcode reader will scan. + */ + xDimension?: number; + + /** Fires after Barcode control is loaded. */ + load? (e: LoadEventArgs): void; +} + +export interface LoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the barcode model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** return the barcode state + */ + status?: boolean; +} + +export interface QuietZone { + + /** Specifies the quiet zone around the Barcode. + */ + all?: number; + + /** Specifies the bottom quiet zone of the Barcode. + */ + bottom?: number; + + /** Specifies the left quiet zone of the Barcode. + */ + left?: number; + + /** Specifies the right quiet zone of the Barcode. + */ + right?: number; + + /** Specifies the top quiet zone of the Barcode. + */ + top?: number; +} +} +module Barcode +{ +enum SymbologyType +{ +//Represents the QR code +QRBarcode, +//Represents the Data Matrix barcode +DataMatrix, +//Represents the Code 39 barcode +Code39, +//Represents the Code 39 Extended barcode +Code39Extended, +//Represents the Code 11 barcode +Code11, +//Represents the Codabar barcode +Codabar, +//Represents the Code 32 barcode +Code32, +//Represents the Code 93 barcode +Code93, +//Represents the Code 93 Extended barcode +Code93Extended, +//Represents the Code 128 A barcode +Code128A, +//Represents the Code 128 B barcode +Code128B, +//Represents the Code 128 C barcode +Code128C, +} +} + +class Map extends ej.Widget { + static fn: Map; + constructor(element: JQuery, options?: Map.Model); + constructor(element: Element, options?: Map.Model); + static Locale: any; + model:Map.Model; + defaults:Map.Model; + + /** Method for navigating to specific shape based on latitude, longitude and zoom level. + * @param {number} Pass the latitude value for map + * @param {number} Pass the longitude value for map + * @param {number} Pass the zoom level for map + * @returns {void} + */ + navigateTo(latitude: number, longitude: number, level: number): void; + + /** Method to perform map panning + * @param {string} Pass the direction in which map should be panned + * @returns {void} + */ + pan(direction: string): void; + + /** Method to reload the map. + * @returns {void} + */ + refresh(): void; + + /** Method to reload the shapeLayers with updated values + * @returns {void} + */ + refreshLayers(): void; + + /** Method to reload the navigation control with updated values. + * @param {any} Pass the navigation control instance + * @returns {void} + */ + refreshNavigationControl(navigation: any): void; + + /** Method to perform map zooming. + * @param {number} Pass the zoom level for map to be zoomed + * @param {boolean} Pass the boolean value to enable or disable animation while zooming + * @returns {void} + */ + zoom(level: number, isAnimate: boolean): void; +} +export module Map{ + +export interface Model { + + /** Specifies the background color for map + * @Default {transparent} + */ + background?: string; + + /** Specifies the index of the map to determine the shape layer to be displayed + * @Default {0} + */ + baseMapIndex?: number; + + /** Specify the center position where map should be displayed + * @Default {[0,0]} + */ + centerPosition?: any; + + /** Enables or Disables the map animation + * @Default {false} + */ + enableAnimation?: boolean; + + /** Enables or Disables the animation for layer change in map + * @Default {false} + */ + enableLayerChangeAnimation?: boolean; + + /** Enables or Disables the map panning + * @Default {true} + */ + enablePan?: boolean; + + /** Determines whether map need to resize when container is resized + * @Default {true} + */ + enableResize?: boolean; + + /** Enables or Disables the Zooming for map. + */ + zoomSettings?: ZoomSettings; + + /** Enables or Disables the navigation control for map to perform zooming and panning on map shapes. + */ + navigationControl?: NavigationControl; + + /** Layer for holding the map shapes + */ + layers?: Array; + + /** Triggered on selecting the map markers. */ + markerSelected? (e: MarkerSelectedEventArgs): void; + + /** Triggers while leaving the hovered map shape */ + mouseleave? (e: MouseleaveEventArgs): void; + + /** Triggers while hovering the map shape. */ + mouseover? (e: MouseoverEventArgs): void; + + /** Triggers once map render completed. */ + onRenderComplete? (e: OnRenderCompleteEventArgs): void; + + /** Triggers when map panning ends. */ + panned? (e: PannedEventArgs): void; + + /** Triggered on selecting the map shapes. */ + shapeSelected? (e: ShapeSelectedEventArgs): void; + + /** Triggered when map is zoomed-in. */ + zoomedIn? (e: ZoomedInEventArgs): void; + + /** Triggers when map is zoomed out. */ + zoomedOut? (e: ZoomedOutEventArgs): void; +} + +export interface MarkerSelectedEventArgs { + + /** Returns marker object. + */ + originalEvent?: any; +} + +export interface MouseleaveEventArgs { + + /** Returns hovered map shape object. + */ + originalEvent?: any; +} + +export interface MouseoverEventArgs { + + /** Returns hovered map shape object. + */ + originalEvent?: any; +} + +export interface OnRenderCompleteEventArgs { + + /** Event parameters from map + */ + originalEvent?: any; +} + +export interface PannedEventArgs { + + /** Event parameters from map + */ + originalEvent?: any; +} + +export interface ShapeSelectedEventArgs { + + /** Returns selected shape object. + */ + originalEvent?: any; +} + +export interface ZoomedInEventArgs { + + /** Event parameters from map + */ + originalEvent?: any; + + /** Returns zoom level value for which the map is zoomed. + */ + zoomLevel?: any; +} + +export interface ZoomedOutEventArgs { + + /** Event parameters from map + */ + originalEvent?: any; + + /** Returns zoom level value for which the map is zoomed. + */ + zoomLevel?: any; +} + +export interface ZoomSettings { + + /** Enables or Disables the zooming of map + * @Default {true} + */ + enableZoom?: boolean; + + /** Enables or Disables the zoom on selecting the map shape + * @Default {false} + */ + enableZoomOnSelection?: boolean; + + /** Specifies the zoom factor for map zoom value. + * @Default {1} + */ + factor?: number; + + /** Specifies the zoom level value for which map to be zoomed + * @Default {1} + */ + level?: number; + + /** Specifies the minimum zoomSettings level of the map + * @Default {1} + */ + minValue?: number; + + /** Specifies the maximum zoom level of the map + * @Default {100} + */ + maxValue?: number; +} + +export interface NavigationControl { + + /** Set the absolutePosition for navigation control + * @Default {{x:0,y:0}} + */ + absolutePosition?: any; + + /** Specifies the navigation control template for map + * @Default {null} + */ + content?: string; + + /** Set the dockPosition value for navigation control + * @Default {centerleft} + */ + dockPosition?: ej.datavisualization.Map.Position|string; + + /** Enables or Disables the Navigation for handling zooming map + * @Default {false} + */ + enableNavigation?: boolean; + + /** Set the orientation value for navigation control + * @Default {vertical} + */ + orientation?: ej.datavisualization.Map.LabelOrientation|string; +} + +export interface LayersBubbleSettingsColorMappingsRangeColorMapping { + + /** Start range colorMappings in the bubble layer. + * @Default {null} + */ + from?: number; + + /** End range colorMappings in the bubble layer. + * @Default {null} + */ + to?: number; + + /** GradientColors in the bubble layer of map. + */ + gradientColors?: Array; + + /** Color of the bubble layer. + * @Default {null} + */ + color?: string; +} + +export interface LayersBubbleSettingsColorMappings { + + /** Specifies the range colorMappings in the bubble layer. + * @Default {null} + */ + rangeColorMapping?: Array; +} + +export interface LayersBubbleSettings { + + /** Specifies the bubble Opacity value of bubbles for shape layer in map + * @Default {0.9} + */ + bubbleOpacity?: number; + + /** Specifies the mouse hover color of the shape layer in map + * @Default {gray} + */ + color?: string; + + /** Specifies the colorMappings of the shape layer in map + * @Default {null} + */ + colorMappings?: LayersBubbleSettingsColorMappings; + + /** Specifies the bubble color valuePath of the shape layer in map + * @Default {null} + */ + colorValuePath?: string; + + /** Specifies the maximum size value of bubbles for shape layer in map + * @Default {20} + */ + maxValue?: number; + + /** Specifies the minimum size value of bubbles for shape layer in map + * @Default {10} + */ + minValue?: number; + + /** Specifies the showBubble visibility status map + * @Default {true} + */ + showBubble?: boolean; + + /** Specifies the tooltip visibility status of the shape layer in map + * @Default {false} + */ + showTooltip?: boolean; + + /** Specifies the bubble tooltip template of the shape layer in map + * @Default {null} + */ + tooltipTemplate?: string; + + /** Specifies the bubble valuePath of the shape layer in map + * @Default {null} + */ + valuePath?: string; +} + +export interface LayersLabelSettings { + + /** enable or disable the enableSmartLabel property + * @Default {false} + */ + enableSmartLabel?: Boolean; + + /** set the labelLength property + * @Default {'2'} + */ + labelLength?: number; + + /** set the labelPath property + * @Default {null} + */ + labelPath?: string; + + /** The property specifies whether to show labels or not. + * @Default {false} + */ + showLabels?: boolean; + + /** set the smartLabelSize property + * @Default {fixed} + */ + smartLabelSize?: ej.datavisualization.Map.LabelSize|string; +} + +export interface LayersLegendSettings { + + /** Determines whether the legend should be placed outside or inside the map bounds + * @Default {false} + */ + dockOnMap?: boolean; + + /** Determines the legend placement and it is valid only when dockOnMap is true + * @Default {top} + */ + dockPosition?: ej.datavisualization.Map.DockPosition|string; + + /** height value for legend setting + * @Default {0} + */ + height?: number; + + /** to get icon value for legend setting + * @Default {rectangle} + */ + icon?: ej.datavisualization.Map.LegendIcons|string; + + /** icon height value for legend setting + * @Default {20} + */ + iconHeight?: number; + + /** icon Width value for legend setting + * @Default {20} + */ + iconWidth?: number; + + /** set the orientation of legend labels + * @Default {vertical} + */ + labelOrientation?: ej.datavisualization.Map.LabelOrientation|string; + + /** to get leftLabel value for legend setting + * @Default {null} + */ + leftLabel?: string; + + /** to get mode of legend setting + * @Default {default} + */ + mode?: ej.datavisualization.Map.Mode|string; + + /** set the position of legend settings + * @Default {topleft} + */ + position?: ej.datavisualization.Map.Position|string; + + /** x position value for legend setting + * @Default {0} + */ + positionX?: number; + + /** y position value for legend setting + * @Default {0} + */ + positionY?: number; + + /** to get rightLabel value for legend setting + * @Default {null} + */ + rightLabel?: string; + + /** Enables or Disables the showLabels + * @Default {false} + */ + showLabels?: boolean; + + /** Enables or Disables the showLegend + * @Default {false} + */ + showLegend?: boolean; + + /** to get title of legend setting + * @Default {null} + */ + title?: string; + + /** to get type of legend setting + * @Default {layers} + */ + type?: ej.datavisualization.Map.LegendType|string; + + /** width value for legend setting + * @Default {0} + */ + width?: number; +} + +export interface LayersShapeSettingsColorMappingsRangeColorMapping { + + /** Specifies the start range colorMappings in the shape layer of map. + * @Default {null} + */ + from?: number; + + /** Specifies the to range colorMappings in the shape layer of map. + * @Default {null} + */ + to?: number; + + /** Specifies the gradientColors in the shape layer of map. + * @Default {null} + */ + gradientColors?: Array; +} + +export interface LayersShapeSettingsColorMappingsEqualColorMapping { + + /** Specifies the equalColorMapping value in the shape layer of map. + * @Default {null} + */ + value?: string; + + /** Specifies the equalColorMapping color in the shape layer of map. + * @Default {null} + */ + color?: string; +} + +export interface LayersShapeSettingsColorMappings { + + /** Specifies the range colorMappings in the shape layer of map. + * @Default {null} + */ + rangeColorMapping?: Array; + + /** Specifies the equalColorMapping in the shape layer of map. + * @Default {null} + */ + equalColorMapping?: Array; +} + +export interface LayersShapeSettings { + + /** Enables or Disables the auto fill colors for shape layer in map. When this property value set to true, shapes will be filled with palette colors. + * @Default {false} + */ + autoFill?: boolean; + + /** Specifies the colorMappings of the shape layer in map + * @Default {null} + */ + colorMappings?: LayersShapeSettingsColorMappings; + + /** Specifies the shape color palette value of the shape layer in map. Accepted colorPalette values are palette1, palette2, palette3 and custompalette. + * @Default {palette1} + */ + colorPalette?: ej.datavisualization.Map.ColorPalette|string; + + /** Specifies the shape color valuePath of the shape layer in map + * @Default {null} + */ + colorValuePath?: string; + + /** Enables or Disables the gradient colors for map shapes. + * @Default {false} + */ + enableGradient?: boolean; + + /** Specifies the shape fill color of the shape layer in map + * @Default {#E5E5E5} + */ + fill?: string; + + /** Specifies the mouse over width of the shape layer in map + * @Default {1} + */ + highlightBorderWidth?: number; + + /** Specifies the mouse hover color of the shape layer in map + * @Default {gray} + */ + highlightColor?: string; + + /** Specifies the mouse over stroke color of the shape layer in map + * @Default {#C1C1C1} + */ + highlightStroke?: string; + + /** Specifies the shape selection color of the shape layer in map + * @Default {gray} + */ + selectionColor?: string; + + /** Specifies the shape selection stroke color of the shape layer in map + * @Default {#C1C1C1} + */ + selectionStroke?: string; + + /** Specifies the shape selection stroke width of the shape layer in map + * @Default {1} + */ + selectionStrokeWidth?: number; + + /** Specifies the shape stroke color of the shape layer in map + * @Default {#C1C1C1} + */ + stroke?: string; + + /** Specifies the shape stroke thickness value of the shape layer in map + * @Default {0.2} + */ + strokeThickness?: number; + + /** Specifies the shape valuePath of the shape layer in map + * @Default {null} + */ + valuePath?: string; +} + +export interface Layer { + + /** to get the type of bing map. + * @Default {aerial} + */ + bingMapType?: ej.datavisualization.Map.BingMapType|string; + + /** Specifies the bubble settings for map + */ + bubbleSettings?: LayersBubbleSettings; + + /** Specifies the datasource for the shape layer + */ + dataSource?: any; + + /** Specifies the data path of shape + */ + shapeDataPath?: string; + + /** Specifies the data path of shape + */ + shapePropertyPath?: string; + + /** Enables or disables the shape mouse hover + * @Default {false} + */ + enableMouseHover?: boolean; + + /** Enables or disables the shape selection + * @Default {true} + */ + enableSelection?: boolean; + + /** to get the key of bing map + * @Default {null} + */ + key?: string; + + /** Options for enabling and configuring labelSettings labelPath, smartLabelSize, labelLength etc., + */ + labelSettings?: LayersLabelSettings; + + /** Specifies the map view type. + * @Default {'geographic'} + */ + geometryType?: ej.datavisualization.Map.GeometryType|string; + + /** Specifies the map type. + * @Default {'geometry'} + */ + layerType?: ej.datavisualization.Map.LayerType|string; + + /** Options for enabling and configuring legendSettings position, height, width, mode, type etc., + */ + legendSettings?: LayersLegendSettings; + + /** Specifies the map items template for shapes. + */ + mapItemsTemplate?: string; + + /** Specify markers for shape layer. + * @Default {[]} + */ + markers?: Array; + + /** Specifies the map marker template for map layer. + * @Default {null} + */ + markerTemplate?: string; + + /** Specify selectedMapShapes for shape layer + * @Default {[]} + */ + selectedMapShapes?: Array; + + /** Specifies the selection mode of the map. Accepted selection mode values are Default and Multiple. + * @Default {default} + */ + selectionMode?: ej.datavisualization.Map.SelectionMode|string; + + /** Specifies the shape data for the shape layer + */ + shapeData?: any; + + /** Specifies the shape settings of map layer + */ + shapeSettings?: LayersShapeSettings; + + /** Shows or hides the map items. + * @Default {false} + */ + showMapItems?: boolean; + + /** Shows or hides the tooltip for shapes + * @Default {false} + */ + showTooltip?: boolean; + + /** Specifies the tooltip template for shapes. + */ + tooltipTemplate?: string; + + /** Specifies the URL template for the OSM type map. + * @Default {'http://a.tile.openstreetmap.org/level/tileX/tileY.png'} + */ + urlTemplate?: string; +} +} +module Map +{ +enum Position +{ +//specifies the none position +None, +//specifies the topleft position +Topleft, +//specifies the topcenter position +Topcenter, +//specifies the topright position +Topright, +//specifies the centerleft position +Centerleft, +//specifies the center position +Center, +//specifies the centerright position +Centerright, +//specifies the bottomleft position +Bottomleft, +//specifies the bottomcenter position +Bottomcenter, +//specifies the bottomright position +Bottomright, +} +} +module Map +{ +enum LabelOrientation +{ +//specifies the horizontal position +Horizontal, +//specifies the vertical position +Vertical, +} +} +module Map +{ +enum BingMapType +{ +//specifies the aerial type +Aerial, +//specifies the aerialwithlabel type +Aerialwithlabel, +//specifies the road type +Road, +} +} +module Map +{ +enum LabelSize +{ +//specifies the fixed size +Fixed, +//specifies the default size +Default, +} +} +module Map +{ +enum GeometryType +{ +//specifies the geographic view of map +Geographic, +//specifies the normal land view of map +Normal, +} +} +module Map +{ +enum LayerType +{ +//specifies the geometry type +Geometry, +//specifies the osm type +Osm, +//specifies the bing type +Bing, +} +} +module Map +{ +enum DockPosition +{ +//specifies the top position +Top, +//specifies the bottom position +Bottom, +//specifies the bottom position +Right, +//specifies the left position +Left, +} +} +module Map +{ +enum LegendIcons +{ +//specifies the rectangle position +Rectangle, +//specifies the circle position +Circle, +} +} +module Map +{ +enum Mode +{ +//specifies the default mode +Default, +//specifies the interactive mode +Interactive, +} +} +module Map +{ +enum LegendType +{ +//specifies the layers type +Layers, +//specifies the bubbles type +Bubbles, +} +} +module Map +{ +enum SelectionMode +{ +//specifies the default position +Default, +//specifies the multiple position +Multiple, +} +} +module Map +{ +enum ColorPalette +{ +//specifies the palette1 color +Palette1, +//specifies the palette2 color +Palette2, +//specifies the palette3 color +Palette3, +//specifies the custom color +Custompalette, +} +} + +class TreeMap extends ej.Widget { + static fn: TreeMap; + constructor(element: JQuery, options?: TreeMap.Model); + constructor(element: Element, options?: TreeMap.Model); + static Locale: any; + model:TreeMap.Model; + defaults:TreeMap.Model; + + /** Method to reload treemap with updated values. + * @returns {void} + */ + refresh(): void; +} +export module TreeMap{ + +export interface Model { + + /** Specifies the border brush color of the treemap + * @Default {white} + */ + borderBrush?: string; + + /** Specifies the border thickness of the treemap + * @Default {1} + */ + borderThickness?: number; + + /** Specifies the uniColorMapping settings of the treemap + */ + uniColorMapping?: UniColorMapping; + + /** Specifies the desaturationColorMapping settings of the treemap + */ + desaturationColorMapping?: DesaturationColorMapping; + + /** Specifies the paletteColorMapping of the treemap + */ + paletteColorMapping?: PaletteColorMapping; + + /** Specifies the color value path of the treemap + * @Default {null} + */ + colorValuePath?: string; + + /** Specifies the datasource of the treemap + * @Default {null} + */ + dataSource?: any; + + /** Specifies the dockPosition for legend + * @Default {top} + */ + dockPosition?: ej.datavisualization.TreeMap.DockPosition|string; + + /** specifies the drillDown header color + * @Default {'null'} + */ + drillDownHeaderColor?: string; + + /** specifies the drillDown selection color + * @Default {'#000000'} + */ + drillDownSelectionColor?: string; + + /** Specifies whether datasource is hierarchical or not. + * @Default {false} + */ + isHierarchicalDatasource?: boolean; + + /** Specifies the header for parent item during drilldown. This is applicable only for hierarchical data source. + * @Default {null} + */ + header?: string; + + /** Enable/Disable the drillDown for treemap + * @Default {false} + */ + enableDrillDown?: boolean; + + /** Controls whether Treemap has to be responsive while resizing the window. + * @Default {true} + */ + isResponsive?: boolean; + + /** Specifies whether treemap need to resize when container is resized + * @Default {true} + */ + enableResize?: boolean; + + /** This property is used to select treemap items while clicking and dragging + * @Default {false} + */ + draggingOnSelection?: boolean; + + /** This property is used to select group of treemap items while clicking and dragging + * @Default {false} + */ + draggingGroupOnSelection?: boolean; + + /** Specifies the group color mapping of the treemap + * @Default {[]} + */ + groupColorMapping?: Array; + + /** Specifies the legend settings of the treemap + */ + legendSettings?: LegendSettings; + + /** Specifies the highlight border brush of treemap + * @Default {gray} + */ + highlightBorderBrush?: string; + + /** Specifies the border thickness when treemap items is highlighted in the treemap + * @Default {5} + */ + highlightBorderThickness?: number; + + /** Specifies the highlight border brush of treemap + * @Default {gray} + */ + highlightGroupBorderBrush?: string; + + /** Specifies the border thickness when treemap items is highlighted in the treemap + * @Default {5} + */ + highlightGroupBorderThickness?: number; + + /** Specifies whether treemap item need to highlighted on selection + * @Default {false} + */ + highlightGroupOnSelection?: boolean; + + /** Specifies whether treemap item need to highlighted on selection + * @Default {false} + */ + highlightOnSelection?: boolean; + + /** Specifies the items layout mode of the treemap. Accepted itemsLayoutMode values are Squarified, SliceAndDiceHorizontal, SliceAndDiceVertical and SliceAndDiceAuto + * @Default {Squarified} + */ + itemsLayoutMode?: ej.datavisualization.TreeMap.ItemsLayoutMode|string; + + /** Specifies the leaf settings of the treemap + */ + leafItemSettings?: LeafItemSettings; + + /** Specifies the rangeColorMapping settings of the treemap + * @Default {[]} + */ + rangeColorMapping?: Array; + + /** Specifies the selection mode of treemap item. Accepted selection mode values are Default and Multiple. + * @Default {default} + */ + selectionMode?: ej.datavisualization.TreeMap.selectionMode|string; + + /** Specifies the selection mode of the treemap. Accepted selection mode values are Default and Multiple. + * @Default {default} + */ + groupSelectionMode?: ej.datavisualization.TreeMap.groupSelectionMode|string; + + /** Specifies the legend visibility status of the treemap + * @Default {false} + */ + showLegend?: boolean; + + /** Specifies whether gradient color has to be applied for treemap items + * @Default {false} + */ + enableGradient?: boolean; + + /** Specifies whether treemap showTooltip need to be visible + */ + showTooltip?: boolean; + + /** Specifies the tooltip template of the treemap + * @Default {null} + */ + tooltipTemplate?: string; + + /** Hold the treeMapItems to be displayed in treemap + * @Default {[]} + */ + treeMapItems?: Array; + + /** Specify levels of treemap for grouped visualization of data + * @Default {[]} + */ + levels?: Array; + + /** Specifies the weight value path of the treemap + * @Default {null} + */ + weightValuePath?: string; + + /** Triggers on treemap item selected. */ + treeMapItemSelected? (e: TreeMapItemSelectedEventArgs): void; +} + +export interface TreeMapItemSelectedEventArgs { + + /** Returns selected treeMapItem object. + */ + originalEvent?: any; +} + +export interface UniColorMapping { + + /** Specifies the uniform color mapping of the treemap + * @Default {null} + */ + color?: string; +} + +export interface DesaturationColorMapping { + + /** Specifies the to value for desaturation color mapping + * @Default {0} + */ + to?: number; + + /** Specifies the color for desaturationColorMapping + * @Default {null} + */ + color?: string; + + /** Specifies the from value for desaturation color mapping + * @Default {0} + */ + from?: number; + + /** Specifies the rangeMaximum value for desaturation color mapping + * @Default {0} + */ + rangeMaximum?: number; + + /** Specifies the rangeMinimum value for desaturation color mapping + * @Default {0} + */ + rangeMinimum?: number; +} + +export interface PaletteColorMapping { + + /** Specifies the colors of the paletteColorMapping + * @Default {[]} + */ + colors?: Array; +} + +export interface GroupColorMapping { + + /** Specifies the groupID for GroupColorMapping. + * @Default {null} + */ + groupID?: string; +} + +export interface LegendSettings { + + /** Specifies the height for legend + * @Default {30} + */ + height?: number; + + /** Specifies the width for legend + * @Default {100} + */ + width?: number; + + /** Specifies the iconHeight for legend + * @Default {15} + */ + iconHeight?: number; + + /** Specifies the iconWidth for legend + * @Default {15} + */ + iconWidth?: number; + + /** Specifies the template for legendSettings + * @Default {null} + */ + template?: string; + + /** Specifies the mode for legendSettings whether default or interactive mode + * @Default {default} + */ + mode?: string; + + /** Specifies the title text for legend + */ + title?: string; + + /** Specifies the leftLabel text for legend + */ + leftLabel?: string; + + /** Specifies the rightLabel text for legend + */ + rightLabel?: string; + + /** Specifies the dockPosition text for legend + * @Default {top} + */ + dockPosition?: string; + + /** Specifies the alignment text for legend + * @Default {near} + */ + alignment?: string; + + /** Specifies the alignment text for legend + * @Default {0} + */ + columnCount?: number; +} + +export interface LeafItemSettings { + + /** Specifies the border brush color of the leaf item. + * @Default {white} + */ + borderBrush?: string; + + /** Specifies the border thickness of the leaf item. + * @Default {1} + */ + borderThickness?: number; + + /** Specifies the label template of the leaf item. + * @Default {null} + */ + itemTemplate?: string; + + /** Specifies the label path of the leaf item. + * @Default {null} + */ + labelPath?: string; + + /** Specifies the position of the leaf labels. + * @Default {center} + */ + labelPosition?: ej.datavisualization.TreeMap.Position|string; + + /** Specifies the mode of label visibility + * @Default {visible} + */ + labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode|string; + + /** Shows or hides the label of the leaf item. + * @Default {false} + */ + showLabels?: boolean; +} + +export interface RangeColorMapping { + + /** Specifies the color value for rangeColorMapping. + * @Default {null} + */ + color?: string; + + /** specifies the gradient colors for th given range value + * @Default {[]} + */ + gradientColors?: Array; + + /** Specifies the from value for rangeColorMapping. + * @Default {-1} + */ + from?: number; + + /** Specifies the legend label value for rangeColorMapping. + * @Default {null} + */ + legendLabel?: string; + + /** Specifies the to value for rangeColorMapping. + * @Default {-1} + */ + to?: number; +} + +export interface Level { + + /** specifies the group background + * @Default {null} + */ + groupBackground?: string; + + /** Specifies the group border color for tree map level. + * @Default {null} + */ + groupBorderColor?: string; + + /** Specifies the group border thickness for tree map level. + * @Default {1} + */ + groupBorderThickness?: number; + + /** Specifies the group gap for tree map level. + * @Default {1} + */ + groupGap?: number; + + /** Specifies the group padding for tree map level. + * @Default {4} + */ + groupPadding?: number; + + /** Specifies the group path for tree map level. + */ + groupPath?: string; + + /** Specifies the header height for tree map level. + * @Default {0} + */ + headerHeight?: number; + + /** Specifies the header template for tree map level. + * @Default {null} + */ + headerTemplate?: string; + + /** Specifies the mode of header visibility + * @Default {visible} + */ + headerVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode|string; + + /** Specifies the position of the labels. + * @Default {center} + */ + labelPosition?: ej.datavisualization.TreeMap.Position|string; + + /** Specifies the label template for tree map level. + * @Default {null} + */ + labelTemplate?: string; + + /** Specifies the mode of label visibility + * @Default {visible} + */ + labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode|string; + + /** Shows or hides the header for tree map level. + * @Default {false} + */ + showHeader?: boolean; + + /** Shows or hides the labels for tree map level. + * @Default {false} + */ + showLabels?: boolean; +} +} +module TreeMap +{ +enum DockPosition +{ +//specifies the top position +Top, +//specifies the bottom position +Bottom, +//specifies the bottom position +Right, +//specifies the left position +Left, +} +} +module TreeMap +{ +enum ItemsLayoutMode +{ +//specifies the squarified as layout type position +Squarified, +//specifies the sliceanddicehorizontal as layout type position +Sliceanddicehorizontal, +//specifies the sliceanddicevertical as layout type position +Sliceanddicevertical, +//specifies the sliceanddiceauto as layout type position +Sliceanddiceauto, +} +} +module TreeMap +{ +enum Position +{ +//specifies the none position +None, +//specifies the topleft position +Topleft, +//specifies the topcenter position +Topcenter, +//specifies the topright position +Topright, +//specifies the centerleft position +Centerleft, +//specifies the center position +Center, +//specifies the centerright position +Centerright, +//specifies the bottomleft position +Bottomleft, +//specifies the bottomcenter position +Bottomcenter, +//specifies the bottomright position +Bottomright, +} +} +module TreeMap +{ +enum VisibilityMode +{ +//specifies the visible mode +Top, +//specifies the hide on exceeded length mode +Hideonexceededlength, +} +} +module TreeMap +{ +enum selectionMode +{ +//specifies the default mode +Default, +//specifies the multiple mode +Multiple, +} +} +module TreeMap +{ +enum groupSelectionMode +{ +//specifies the default mode +Default, +//specifies the multiple mode +Multiple, +} +} + +class Diagram extends ej.Widget { + static fn: Diagram; + constructor(element: JQuery, options?: Diagram.Model); + constructor(element: Element, options?: Diagram.Model); + static Locale: any; + model:Diagram.Model; + defaults:Diagram.Model; + + /** Add nodes and connectors to diagram at runtime + * @param {any} a JSON to define a node/connector or an array of nodes and connector + * @returns {boolean} + */ + add(node: any): boolean; + + /** Add a label to a node at runtime + * @param {string} name of the node to which label will be added + * @param {any} JSON for the new label to be added + * @returns {void} + */ + addLabel(nodeName: string, newLabel: any): void; + + /** Add dynamic Lanes to swimlane at runtime + * @param {any} JSON for the new lane to be added + * @param {number} Index value to add the lane in swimlane + * @returns {void} + */ + addLane(lane: any, index: number): void; + + /** Add a phase to a swimlane at runtime + * @param {string} name of the swimlane to which the phase will be added + * @param {any} JSON object to define the phase to be added + * @returns {void} + */ + addPhase(name: string, options: any): void; + + /** Add a collection of ports to the node specified by name + * @param {string} name of the node to which the ports have to be added + * @param {Array} a collection of ports to be added to the specified node + * @returns {void} + */ + addPorts(name: string, ports: Array): void; + + /** Add the specified node to selection list + * @param {any} the node to be selected + * @param {boolean} to define whether to clear the existing selection or not + * @returns {void} + */ + addSelection(node: any, clearSelection?: boolean): void; + + /** Align the selected objects based on the reference object and direction + * @param {string} to specify the direction towards which the selected objects are to be aligned("left","right",top","bottom") + * @returns {void} + */ + align(direction: string): void; + + /** Bring the specified portion of the diagram content to the diagram viewport + * @param {any} the rectangular region that is to be brought into diagram viewport + * @returns {void} + */ + bringIntoView(rect: any): void; + + /** Bring the specified portion of the diagram content to the center of the diagram viewport + * @param {any} the rectangular region that is to be brought to the center of diagram viewport + * @returns {void} + */ + bringToCenter(rect: any): void; + + /** Visually move the selected object over all other intersected objects + * @returns {void} + */ + bringToFront(): void; + + /** Remove all the elements from diagram + * @returns {void} + */ + clear(): void; + + /** Clears the actions which is recorded to perform undo/redo operation in the diagram. + * @returns {void} + */ + clearHistory(): void; + + /** Remove the current selection in diagram + * @returns {void} + */ + clearSelection(): void; + + /** Copy the selected object to internal clipboard and get the copied object + * @returns {any} + */ + copy(): any; + + /** Cut the selected object from diagram to diagram internal clipboard + * @returns {void} + */ + cut(): void; + + /** Export the diagram as downloadable files or as data + * @param {Diagram.Options} options to export the desired region of diagram to the desired formats. + * @returns {string} + */ + exportDiagram(options?: Diagram.Options): string; + + /** Read a node/connector object by its name + * @param {string} name of the node/connector that is to be identified + * @returns {any} + */ + findNode(name: string): any; + + /** Fit the diagram content into diagram viewport + * @param {ej.datavisualization.Diagram.FitMode} to set the mode of fit to command. + * @param {ej.datavisualization.Diagram.Region} to set whether the region to be fit will be based on diagram elements or page settings. + * @param {any} to set the required margin + * @returns {void} + */ + fitToPage(mode?: ej.datavisualization.Diagram.FitMode, region?: ej.datavisualization.Diagram.Region, margin?: any): void; + + /** Group the selected nodes and connectors + * @returns {void} + */ + group(): void; + + /** Insert a label into a node's label collection at runtime + * @param {string} name of the node to which the label has to be inserted + * @param {any} JSON to define the new label + * @param {number} index to insert the label into the node + * @returns {void} + */ + insertLabel(name: string, label: any, index?: number): void; + + /** Refresh the diagram with the specified layout + * @returns {void} + */ + layout(): void; + + /** Load the diagram + * @param {any} JSON data to load the diagram + * @returns {void} + */ + load(data: any): void; + + /** Visually move the selected object over its closest intersected object + * @returns {void} + */ + moveForward(): void; + + /** Move the selected objects by either one pixel or by the pixels specified through argument + * @param {string} specifies the direction to move the selected objects ("left","right",top","bottom") + * @param {number} specifies the number of pixels by which the selected objects have to be moved + * @returns {void} + */ + nudge(direction: string, delta?: number): void; + + /** Paste the selected object from internal clipboard to diagram + * @param {any} object to be added to diagram + * @param {boolean} to define whether the specified object is to be renamed or not + * @returns {void} + */ + paste(object?: any, rename?: boolean): void; + + /** Print the diagram as image + * @returns {void} + */ + print(): void; + + /** Restore the last action that was reverted + * @returns {void} + */ + redo(): void; + + /** Refresh the diagram at runtime + * @returns {void} + */ + refresh(): void; + + /** Remove either the given node/connector or the selected element from diagram + * @param {any} the node/connector to be removed from diagram + * @returns {void} + */ + remove(node?: any): void; + + /** Remove a particular object from selection list + * @param {any} the node/connector to be removed from selection list + * @returns {void} + */ + removeSelection(node: any): void; + + /** Scale the selected objects to the height of the first selected object + * @returns {void} + */ + sameHeight(): void; + + /** Scale the selected objects to the size of the first selected object + * @returns {void} + */ + sameSize(): void; + + /** Scale the selected objects to the width of the first selected object + * @returns {void} + */ + sameWidth(): void; + + /** Returns the diagram as serialized JSON + * @returns {any} + */ + save(): any; + + /** Bring the node into view + * @param {any} the node/connector to be brought into view + * @returns {void} + */ + scrollToNode(node: any): void; + + /** Select all nodes and connector in diagram + * @returns {void} + */ + selectAll(): void; + + /** Visually move the selected object behind its closest intersected object + * @returns {void} + */ + sendBackward(): void; + + /** Visually move the selected object behind all other intersected objects + * @returns {void} + */ + sendToBack(): void; + + /** Update the horizontal space between the selected objects as equal and within the selection boundary + * @returns {void} + */ + spaceAcross(): void; + + /** Update the vertical space between the selected objects as equal and within the selection boundary + * @returns {void} + */ + spaceDown(): void; + + /** Move the specified label to edit mode + * @param {any} node/connector that contains the label to be edited + * @param {any} to be edited + * @returns {void} + */ + startLabelEdit(node: any, label: any): void; + + /** Reverse the last action that was performed + * @returns {void} + */ + undo(): void; + + /** Ungroup the selected group + * @returns {void} + */ + ungroup(): void; + + /** Update diagram at runtime + * @param {any} JSON to specify the diagram properties that have to be modified + * @returns {void} + */ + update(options: any): void; + + /** Update Connectors at runtime + * @param {string} name of the connector to be updated + * @param {any} JSON to specify the connector properties that have to be updated + * @returns {void} + */ + updateConnector(name: string, options: any): void; + + /** Update the given label at runtime + * @param {string} the name of node/connector which contains the label to be updated + * @param {any} the label to be modified + * @param {any} JSON to specify the label properties that have to be updated + * @returns {any} + */ + updateLabel(nodeName: string, label: any, options: any): any; + + /** Update nodes at runtime + * @param {string} name of the node that is to be updated + * @param {any} JSON to specify the properties of node that have to be updated + * @returns {void} + */ + updateNode(name: string, options: any): void; + + /** Update a port with its modified properties at runtime + * @param {string} the name of node which contains the port to be updated + * @param {any} the port to be updated + * @param {any} JSON to specify the properties of the port that have to be updated + * @returns {void} + */ + updatePort(nodeName: string, port: any, options: any): void; + + /** Update the specified node as selected object + * @param {string} name of the node to be updated as selected object + * @returns {void} + */ + updateSelectedObject(name: string): void; + + /** Update the selection at runtime + * @param {boolean} to specify whether to show the user handles or not + * @returns {void} + */ + updateSelection(showUserHandles?: boolean): void; + + /** Update user handles with respect to the given node + * @param {any} node/connector with respect to which, the user handles have to be updated + * @returns {void} + */ + updateUserHandles(node: any): void; + + /** Update the diagram viewport at runtime + * @returns {void} + */ + updateViewPort(): void; + + /** Upgrade the diagram from old version + * @param {any} to be upgraded + * @returns {void} + */ + upgrade(data: any): void; + + /** Used to zoomIn/zoomOut diagram + * @param {Diagram.Zoom} options to zoom the diagram(zoom factor, zoomIn/zoomOut) + * @returns {void} + */ + zoomTo(Zoom?: Diagram.Zoom): void; +} +export module Diagram{ + +export interface Options { + + /** name of the file to be downloaded. + */ + fileName?: string; + + /** format of the exported file/data. + */ + format?: ej.datavisualization.Diagram.FileFormats; + + /** to set whether to export diagram as a file or as raw data. + */ + mode?: ej.datavisualization.Diagram.ExportModes; + + /** to set the region of the diagram to be exported. + */ + region?: ej.datavisualization.Diagram.Region; + + /** to export any custom region of diagram. + */ + bounds?: any; + + /** to set margin to the exported data. + */ + margin?: any; + + /** to resize the diagram content to fill its allocated space. + */ + stretch?: ej.datavisualization.Diagram.Stretch; +} + +export interface Zoom { + + /** Used to increase the zoom-in or zoom-out based on the zoom factor value. + */ + zoomFactor?: number; + + /** Used to zoom-in or zoom-out the diagram. + */ + zoomCommand?: ej.datavisualization.Diagram.ZoomCommand; + + /** Used to zoom-in or zoom-out the diagram based on the point. + */ + focusPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; +} + +export interface Model { + + /** Defines the background color of diagram elements + * @Default {transparent} + */ + backgroundColor?: string; + + /** Defines the path of the background image of diagram elements + */ + backgroundImage?: string; + + /** Sets the direction of line bridges. + * @Default {ej.datavisualization.Diagram.BridgeDirection.Top} + */ + bridgeDirection?: ej.datavisualization.Diagram.BridgeDirection|string; + + /** Defines a set of custom commands and binds them with a set of desired key gestures. + */ + commandManager?: CommandManager; + + /** A collection of JSON objects where each object represents a connector + * @Default {[]} + */ + connectors?: Array; + + /** Binds the custom JSON data with connector properties + * @Default {null} + */ + connectorTemplate?: any; + + /** Enables/Disables the default behaviors of the diagram. + * @Default {ej.datavisualization.Diagram.DiagramConstraints.All} + */ + constraints?: ej.datavisualization.Diagram.DiagramConstraints|string; + + /** An object to customize the context menu of diagram + */ + contextMenu?: ContextMenu; + + /** Configures the data source that is to be bound with diagram + */ + dataSourceSettings?: DataSourceSettings; + + /** Initializes the default values for nodes and connectors + * @Default {{}} + */ + defaultSettings?: DefaultSettings; + + /** Sets the type of JSON object to be drawn through drawing tool + * @Default {{}} + */ + drawType?: any; + + /** Enables or disables auto scroll in diagram + * @Default {true} + */ + enableAutoScroll?: boolean; + + /** Enables or disables diagram context menu + * @Default {true} + */ + enableContextMenu?: boolean; + + /** Specifies the height of the diagram + * @Default {null} + */ + height?: string; + + /** Customizes the undo redo functionality + */ + historyManager?: HistoryManager; + + /** Defines the type of the rendering mode of label. + * @Default {Html} + */ + labelRenderingMode?: ej.datavisualization.Diagram.LabelRenderingMode|string; + + /** Automatically arranges the nodes and connectors in a predefined manner. + */ + layout?: Layout; + + /** Defines the current culture of diagram + * @Default {en-US} + */ + locale?: string; + + /** Array of JSON objects where each object represents a node + * @Default {[]} + */ + nodes?: Array; + + /** Binds the custom JSON data with node properties + * @Default {null} + */ + nodeTemplate?: any; + + /** Defines the size and appearance of diagram page + */ + pageSettings?: PageSettings; + + /** Defines the zoom value, zoom factor, scroll status and view port size of the diagram + */ + scrollSettings?: ScrollSettings; + + /** Defines the size and position of selected items and defines the appearance of selector + */ + selectedItems?: SelectedItems; + + /** Enables or disables tooltip of diagram + * @Default {true} + */ + showTooltip?: boolean; + + /** Defines the gridlines and defines how and when the objects have to be snapped + */ + snapSettings?: SnapSettings; + + /** Enables/Disables the interactive behaviors of diagram. + * @Default {ej.datavisualization.Diagram.Tool.All} + */ + tool?: ej.datavisualization.Diagram.Tool|string; + + /** An object that defines the description, appearance and alignments of tooltips + * @Default {null} + */ + tooltip?: Tooltip; + + /** Specifies the width of the diagram + * @Default {null} + */ + width?: string; + + /** Sets the factor by which we can zoom in or zoom out + * @Default {0.2} + */ + zoomFactor?: number; + + /** Triggers When auto scroll is changed */ + autoScrollChange? (e: AutoScrollChangeEventArgs): void; + + /** Triggers when a node, connector or diagram is clicked */ + click? (e: ClickEventArgs): void; + + /** Triggers when the connection is changed */ + connectionChange? (e: ConnectionChangeEventArgs): void; + + /** Triggers when the connector collection is changed */ + connectorCollectionChange? (e: ConnectorCollectionChangeEventArgs): void; + + /** Triggers when the connectors' source point is changed */ + connectorSourceChange? (e: ConnectorSourceChangeEventArgs): void; + + /** Triggers when the connectors' target point is changed */ + connectorTargetChange? (e: ConnectorTargetChangeEventArgs): void; + + /** Triggers before opening the context menu */ + contextMenuBeforeOpen? (e: ContextMenuBeforeOpenEventArgs): void; + + /** Triggers when a context menu item is clicked */ + contextMenuClick? (e: ContextMenuClickEventArgs): void; + + /** Triggers when a node, connector or diagram model is clicked twice */ + doubleClick? (e: DoubleClickEventArgs): void; + + /** Triggers while dragging the elements in diagram */ + drag? (e: DragEventArgs): void; + + /** Triggers when a symbol is dragged into diagram from symbol palette */ + dragEnter? (e: DragEnterEventArgs): void; + + /** Triggers when a symbol is dragged outside of the diagram. */ + dragLeave? (e: DragLeaveEventArgs): void; + + /** Triggers when a symbol is dragged over diagram */ + dragOver? (e: DragOverEventArgs): void; + + /** Triggers when a symbol is dragged and dropped from symbol palette to drawing area */ + drop? (e: DropEventArgs): void; + + /** Triggers when editor got focus at the time of node's label or text node editing. */ + editorFocusChange? (e: EditorFocusChangeEventArgs): void; + + /** Triggers when a child is added to or removed from a group */ + groupChange? (e: GroupChangeEventArgs): void; + + /** Triggers when a change is reverted or restored(undo/redo) */ + historyChange? (e: HistoryChangeEventArgs): void; + + /** Triggers when a diagram element is clicked */ + itemClick? (e: ItemClickEventArgs): void; + + /** Triggers when mouse enters a node/connector */ + mouseEnter? (e: MouseEnterEventArgs): void; + + /** Triggers when mouse leaves node/connector */ + mouseLeave? (e: MouseLeaveEventArgs): void; + + /** Triggers when mouse hovers over a node/connector */ + mouseOver? (e: MouseOverEventArgs): void; + + /** Triggers when node collection is changed */ + nodeCollectionChange? (e: NodeCollectionChangeEventArgs): void; + + /** Triggers when the node properties(x, y,width and height alone) are changed using nudge commands or updateNode API. */ + propertyChange? (e: PropertyChangeEventArgs): void; + + /** Triggers when the diagram elements are rotated */ + rotationChange? (e: RotationChangeEventArgs): void; + + /** Triggers when the diagram is zoomed or panned */ + scrollChange? (e: ScrollChangeEventArgs): void; + + /** Triggers when a connector segment is edited */ + segmentChange? (e: SegmentChangeEventArgs): void; + + /** Triggers when the selection is changed in diagram */ + selectionChange? (e: SelectionChangeEventArgs): void; + + /** Triggers when a node is resized */ + sizeChange? (e: SizeChangeEventArgs): void; + + /** Triggers when label editing is ended */ + textChange? (e: TextChangeEventArgs): void; + + /** Triggered when the diagram is rendered completely. */ + create? (e: CreateEventArgs): void; +} + +export interface AutoScrollChangeEventArgs { + + /** Returns the delay between subsequent auto scrolls + */ + delay?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface ClickEventArgs { + + /** parameter returns the clicked node, connector or diagram + */ + element?: any; + + /** parameter returns the object that is actually clicked + */ + actualObject?: number; + + /** parameter returns the horizontal coordinate of the mouse pointer, relative to the diagram + */ + offsetX?: number; + + /** parameter returns the vertical coordinate of the mouse pointer, relative to the diagram + */ + offsetY?: number; + + /** parameter returns the count of how many times the mouse button is pressed + */ + count?: number; + + /** parameter returns the event triggered + */ + event?: any; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; +} + +export interface ConnectionChangeEventArgs { + + /** parameter returns the connection that is changed between nodes, ports or points + */ + element?: any; + + /** parameter returns the new source node or target node of the connector + */ + connection?: string; + + /** parameter returns the new source port or target port of the connector + */ + port?: any; + + /** parameter defines whether to cancel the change or not + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface ConnectorCollectionChangeEventArgs { + + /** parameter returns whether the connector is inserted or removed + */ + changeType?: string; + + /** parameter returns the connector that is to be added or deleted + */ + element?: any; + + /** parameter defines whether to cancel the collection change or not + */ + cancel?: boolean; + + /** triggers before and after adding the connector in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the connector. + */ + state?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface ConnectorSourceChangeEventArgs { + + /** returns the connector, the source point of which is being dragged + */ + element?: any; + + /** returns the source node of the element + */ + node?: any; + + /** returns the source point of the element + */ + point?: any; + + /** returns the source port of the element + */ + port?: any; + + /** returns the state of connection end point dragging(starting, dragging, completed) + */ + dragState?: string; + + /** parameter defines whether to cancel the change or not + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface ConnectorTargetChangeEventArgs { + + /** parameter returns the connector, the target point of which is being dragged + */ + element?: any; + + /** returns the target node of the element + */ + node?: any; + + /** returns the target point of the element + */ + point?: any; + + /** returns the target port of the element + */ + port?: any; + + /** returns the state of connection end point dragging(starting, dragging, completed) + */ + dragState?: string; + + /** parameter defines whether to cancel the change or not + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface ContextMenuBeforeOpenEventArgs { + + /** parameter returns the diagram object + */ + diagram?: any; + + /** parameter returns the actual arguments from context menu + */ + contextmenu?: any; + + /** parameter returns the object that was clicked + */ + target?: any; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; + + /** parameter returns the actual click event arguments that explains which button is clicked + */ + model?: any; + + /** parameter returns the type of the event triggered + */ + type?: string; +} + +export interface ContextMenuClickEventArgs { + + /** parameter returns the id of the selected context menu item + */ + id?: string; + + /** parameter returns the text of the selected context menu item + */ + text?: string; + + /** parameter returns the parent id of the selected context menu item + */ + parentId?: string; + + /** parameter returns the parent text of the selected context menu item + */ + parentText?: string; + + /** parameter returns the object that was clicked + */ + target?: any; + + /** parameter defines whether to execute the click event or not + */ + canExecute?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; + + /** parameter returns the elementof the object that was clicked + */ + element?: any; + + /** parameter returns the object that is selected + */ + selectedItem?: any; + + /** parameter returns the model of the diagram + */ + events?: any; +} + +export interface DoubleClickEventArgs { + + /** parameter returns the object that is actually clicked + */ + actualObject?: any; + + /** parameter returns the selected object + */ + element?: any; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; +} + +export interface DragEventArgs { + + /** parameter returns the node or connector that is being dragged + */ + element?: any; + + /** parameter returns the previous position of the node/connector + */ + oldValue?: any; + + /** parameter returns the new position of the node/connector + */ + newValue?: any; + + /** parameter returns the state of drag event (Starting, dragging, completed) + */ + dragState?: string; + + /** parameter returns whether or not to cancel the drag event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter returns the offset of the selecteditems + */ + offset?: any; +} + +export interface DragEnterEventArgs { + + /** parameter returns the node or connector that is dragged into diagram + */ + element?: any; + + /** parameter returns whether to add or remove the symbol from diagram + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface DragLeaveEventArgs { + + /** parameter returns the node or connector that is dragged outside of the diagram + */ + element?: any; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface DragOverEventArgs { + + /** parameter returns the node or connector that is dragged over diagram + */ + element?: any; + + /** parameter defines whether the symbol can be dropped at the current mouse position + */ + allowDrop?: boolean; + + /** parameter returns the node/connector over which the symbol is dragged + */ + target?: any; + + /** parameter returns the previous position of the node/connector + */ + oldValue?: any; + + /** parameter returns the new position of the node/connector + */ + newValue?: any; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface DropEventArgs { + + /** parameter returns node or connector that is being dropped + */ + element?: any; + + /** parameter returns whether or not to cancel the drop event + */ + cancel?: boolean; + + /** parameter returns the object from where the element is dragged + */ + source?: any; + + /** parameter returns the object over which the object will be dropped + */ + target?: any; + + /** parameter returns the enum which defines the type of the source + */ + objectType?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface EditorFocusChangeEventArgs { +} + +export interface GroupChangeEventArgs { + + /** parameter returns the object that is added to/removed from a group + */ + element?: any; + + /** parameter returns the old parent group(if any) of the object + */ + oldParent?: any; + + /** parameter returns the new parent group(if any) of the object + */ + newParent?: any; + + /** parameter returns the cause of group change("group", unGroup") + */ + cause?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface HistoryChangeEventArgs { + + /** An array of objects, where each object represents the changes made in last undo/redo. To explore how the changes are defined, refer [Undo Redo Changes](#undo-redo-changes) + */ + changes?: Array; + + /** A collection of objects that are changed in the last undo/redo + */ + Source?: Array; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; + + /** parameter returns the model of the diagram + */ + cause?: boolean; +} + +export interface ItemClickEventArgs { + + /** parameter returns the object that was actually clicked + */ + actualObject?: any; + + /** parameter returns the object that is selected + */ + selectedObject?: any; + + /** parameter returns whether or not to cancel the drop event + */ + cancel?: boolean; + + /** parameter returns the model of the diagram + */ + event?: any; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface MouseEnterEventArgs { + + /** parameter returns the target node or connector + */ + element?: any; + + /** parameter returns the object from where the selected object is dragged + */ + source?: any; + + /** parameter returns the target object over which the selected object is dragged + */ + target?: any; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; +} + +export interface MouseLeaveEventArgs { + + /** parameter returns the target node or connector + */ + element?: any; + + /** parameter returns the object from where the selected object is dragged + */ + source?: any; + + /** parameter returns the target object over which the selected object is dragged + */ + target?: any; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface MouseOverEventArgs { + + /** parameter returns the target node or connector + */ + element?: any; + + /** parameter returns the object from where the element is dragged + */ + source?: any; + + /** parameter returns the object over which the element is being dragged. + */ + target?: any; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface NodeCollectionChangeEventArgs { + + /** parameter returns whether the node is to be added or removed + */ + changeType?: string; + + /** parameter returns the node which needs to be added or deleted + */ + element?: any; + + /** parameter defines whether to cancel the collection change or not + */ + cancel?: boolean; + + /** triggers before and after adding the node in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the node + */ + state?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface PropertyChangeEventArgs { + + /** parameter returns the selected element + */ + element?: any; + + /** parameter returns the action is nudge or not + */ + cause?: string; + + /** parameter returns the new value of the node property that is being changed + */ + newValue?: any; + + /** parameter returns the old value of the property that is being changed + */ + oldValue?: any; + + /** parameter returns the name of the property that is changed + */ + propertyName?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter defines whether to cancel the property change or not + */ + cancel?: boolean; +} + +export interface RotationChangeEventArgs { + + /** parameter returns the node that is rotated + */ + element?: any; + + /** parameter returns the previous rotation angle + */ + oldValue?: any; + + /** parameter returns the new rotation angle + */ + newValue?: any; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter returns the actual click event arguments that explains which button is clicked + */ + cause?: string; +} + +export interface ScrollChangeEventArgs { + + /** Parameter returns the new zoom value, horizontal and vertical scroll offsets. + */ + newValues?: any; + + /** parameter returns the previous zoom value, horizontal and vertical scroll offsets. + */ + oldValues?: any; + + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** Parameter returns the new zoom value, horizontal and vertical scroll offsets. + */ + cause?: string; +} + +export interface SegmentChangeEventArgs { + + /** Parameter returns the connector that is being edited + */ + element?: any; + + /** parameter returns the state of editing (starting, dragging, completed) + */ + dragState?: string; + + /** parameter returns the current mouse position + */ + point?: any; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface SelectionChangeEventArgs { + + /** parameter returns whether the item is selected or removed selection + */ + changeType?: string; + + /** parameter returns the item which is selected or to be selected + */ + element?: any; + + /** parameter returns the collection of nodes and connectors that have to be removed from selection list + */ + oldItems?: Array; + + /** parameter returns the collection of nodes and connectors that have to be added to selection list + */ + newItems?: Array; + + /** parameter returns the collection of nodes and connectors that will be selected after selection change + */ + selectedItems?: Array; + + /** parameter to specify whether or not to cancel the selection change event + */ + cancel?: boolean; + + /** triggers before and after adding the selection to the object in the diagram which can be differentiated through `state` argument. We can cancel the event only before the selection of the object. + */ + state?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter returns the actual cause of the event + */ + cause?: string; +} + +export interface SizeChangeEventArgs { + + /** parameter returns node that was resized + */ + element?: any; + + /** parameter to cancel the size change + */ + cancel?: boolean; + + /** parameter returns the new width, height, offsetX and offsetY values of the element that is being resized + */ + newValue?: any; + + /** parameter returns the previous width,height,offsetX and offsetY values of the element that is being resized + */ + oldValue?: any; + + /** parameter returns the state of resizing(starting,resizing,completed) + */ + resizeState?: string; + + /** parameter returns the difference between new and old value + */ + offset?: any; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter returns the direction of the node is resized + */ + direction?: string; +} + +export interface TextChangeEventArgs { + + /** parameter returns the node that contains the text being edited + */ + element?: any; + + /** parameter returns the new text + */ + value?: string; + + /** parameter returns the keyCode of the key entered + */ + keyCode?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; +} + +export interface CreateEventArgs { + + /** Returns the diagram model. + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; +} + +export interface BackgroundImage { + + /** Defines how to align the background image over the diagram area. + * @Default {ej.datavisualization.Diagram.ImageAlignment.XMidYMid} + */ + alignment?: ej.datavisualization.Diagram.ImageAlignment |string; +} + +export interface CommandManagerCommandsGesture { + + /** Sets the key value, on recognition of which the command will be executed. + * @Default {ej.datavisualization.Diagram.Keys.None} + */ + key?: ej.datavisualization.Diagram.Keys|string; + + /** Sets a combination of key modifiers, on recognition of which the command will be executed. + * @Default {ej.datavisualization.Diagram.KeyModifiers.None} + */ + keyModifiers?: ej.datavisualization.Diagram.KeyModifiers|string; +} + +export interface CommandManagerCommands { + + /** A method that defines whether the command is executable at the moment or not. + */ + canExecute?: Function; + + /** A method that defines what to be executed when the key combination is recognized. + */ + execute?: Function; + + /** Defines a combination of keys and key modifiers, on recognition of which the command will be executed + */ + gesture?: CommandManagerCommandsGesture; + + /** Defines any additional parameters that are required at runtime + * @Default {null} + */ + parameter?: any; +} + +export interface CommandManager { + + /** An object that maps a set of command names with the corresponding command objects + * @Default {{}} + */ + commands?: CommandManagerCommands; +} + +export interface ConnectorsLabelsMargin { + + /** To set the margin of the label in right direction + * @Default {0} + */ + right?: number; + + /** To set the margin of the label in left direction + * @Default {0} + */ + left?: number; + + /** To set the margin of the label in top direction + * @Default {0} + */ + top?: number; + + /** To set the margin of the label in bottom direction + * @Default {0} + */ + bottom?: number; +} + +export interface ConnectorsLabel { + + /** Defines how the label should be aligned with respect to the segment + * @Default {ej.datavisualization.Diagram.Alignment.Center} + */ + alignment?: ej.datavisualization.Diagram.Alignment|string; + + /** Enables/disables the bold style + * @Default {false} + */ + bold?: boolean; + + /** Sets the border color of the label + * @Default {transparent} + */ + borderColor?: string; + + /** Sets the border width of the label + * @Default {0} + */ + borderWidth?: number; + + /** Defines whether the label should be aligned within the connector boundaries + * @Default {true} + */ + boundaryConstraints?: boolean; + + /** Sets the fill color of the text area + * @Default {transparent} + */ + fillColor?: string; + + /** Sets the font color of the text + * @Default {black} + */ + fontColor?: string; + + /** Sets the font family of the text + * @Default {Arial} + */ + fontFamily?: string; + + /** Defines the font size of the text + * @Default {12} + */ + fontSize?: number; + + /** Sets the horizontal alignment of the label. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** Sets the hyperlink for the labels in the connectors. + * @Default {none} + */ + hyperlink?: string; + + /** Enables/disables the italic style + * @Default {false} + */ + italic?: boolean; + + /** Gets whether the label is currently being edited or not. + * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} + */ + mode?: ej.datavisualization.Diagram.LabelEditMode|string; + + /** Sets the unique identifier of the label + */ + name?: string; + + /** Sets the fraction/ratio(relative to connector) that defines the position of the label + * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} + */ + offset?: any; + + /** Sets the fraction/ratio(relative to connector) that defines the position of the label + * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} + */ + margin?: ConnectorsLabelsMargin; + + /** Defines the transparency of labels + * @Default {1} + */ + opacity?: number; + + /** Defines whether the label is editable or not + * @Default {false} + */ + readOnly?: boolean; + + /** Defines whether the label should be positioned whether relative to segments or connector boundaries + * @Default {ej.datavisualization.Diagram.LabelRelativeMode.SegmentPath} + */ + relativeMode?: ej.datavisualization.Diagram.LabelRelativeMode|string; + + /** Defines the angle to which the label needs to be rotated + * @Default {0} + */ + rotateAngle?: number; + + /** Sets the position of the label with respect to the total segment length + * @Default {0.5} + */ + segmentOffset?: string; + + /** Defines the label text + */ + text?: string; + + /** Defines how to align the text inside the label. + * @Default {ej.datavisualization.Diagram.TextAlign.Center} + */ + textAlign?: ej.datavisualization.Diagram.TextAlign|string; + + /** Sets how to decorate the label text. + * @Default {ej.datavisualization.Diagram.TextDecorations.None} + */ + textDecoration?: ej.datavisualization.Diagram.TextDecorations|string; + + /** Sets the vertical alignment of the label. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; + + /** Enables or disables the visibility of the label + * @Default {true} + */ + visible?: boolean; + + /** Sets the width of the label(the maximum value of label width and the connector width will be considered as label width) + * @Default {50} + */ + width?: number; + + /** Defines how the label text needs to be wrapped. + * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} + */ + wrapping?: ej.datavisualization.Diagram.TextWrapping|string; +} + +export interface ConnectorsSegment { + + /** Sets the direction of orthogonal segment + */ + direction?: string; + + /** Describes the length of orthogonal segment + * @Default {undefined} + */ + length?: number; + + /** Describes the end point of bezier/straight segment + * @Default {Diagram.Point()} + */ + point?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Defines the first control point of the bezier segment + * @Default {null} + */ + point1?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Defines the second control point of bezier segment + * @Default {null} + */ + point2?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Sets the type of the segment. + * @Default {ej.datavisualization.Diagram.Segments.Straight} + */ + type?: ej.datavisualization.Diagram.Segments|string; + + /** Describes the length and angle between the first control point and the start point of bezier segment + * @Default {null} + */ + vector1?: any; + + /** Describes the length and angle between the second control point and end point of bezier segment + * @Default {null} + */ + vector2?: any; +} + +export interface ConnectorsShapeMultiplicitySource { + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + * @Default {true} + */ + optional?: boolean; + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + * @Default {null} + */ + lowerBounds?: number; + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + * @Default {null} + */ + upperBounds?: number; +} + +export interface ConnectorsShapeMultiplicity { + + /** Sets the type of the multiplicity. Applicable, if the connector is of type "classifier" + * @Default {ej.datavisualization.Diagram.Multiplicity.OneToOne} + */ + type?: ej.datavisualization.Diagram.Multiplicity|string; + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + */ + source?: ConnectorsShapeMultiplicitySource; + + /** Defines the target label to connector. Applicable, if the connector is of type "UML" + * @Default {true} + */ + target?: ej.datavisualization.Diagram.ConnectorsShapeMultiplicitySource; +} + +export interface ConnectorsShape { + + /** Sets the type of the connector + * @Default {ej.datavisualization.Diagram.ConnectorShapes.BPMN} + */ + type?: ej.datavisualization.Diagram.ConnectorShapes|string; + + /** Sets the type of the flow in a BPMN Process + * @Default {ej.datavisualization.Diagram.BPMNFlows.Sequence} + */ + flow?: ej.datavisualization.Diagram.BPMNFlows|string; + + /** Sets the type of the Association in a BPMN Process + * @Default {ej.datavisualization.Diagram.AssociationFlows.Default} + */ + association?: ej.datavisualization.Diagram.AssociationFlows|string; + + /** Sets the type of the message flow. Applicable, if the connector is of type "BPMN" + * @Default {ej.datavisualization.Diagram.BPMNMessageFlows.Default} + */ + message?: ej.datavisualization.Diagram.BPMNMessageFlows|string; + + /** Sets the type of BPMN sequence flow + * @Default {ej.datavisualization.Diagram.BPMNSequenceFlows.Normal} + */ + sequence?: ej.datavisualization.Diagram.BPMNSequenceFlows|string; + + /** Defines the role of the connector in a UML Class Diagram. Applicable, if the type of the connector is "classifier". + * @Default {ej.datavisualization.Diagram.ClassifierShapes.Association} + */ + relationship?: ej.datavisualization.Diagram.ClassifierShapes|string; + + /** Defines the multiplicity option of the connector + * @Default {null} + */ + multiplicity?: ConnectorsShapeMultiplicity; + + /** Defines the shape of UMLActivity to connector. Applicable, if the connector is of type UMLActivity + * @Default {ej.datavisualization.Diagram.UMLActivityFlow.Control} + */ + ActivityFlow?: ej.datavisualization.Diagram.UMLActivityFlow|string; +} + +export interface ConnectorsSourceDecorator { + + /** Sets the border color of the source decorator + * @Default {black} + */ + borderColor?: string; + + /** Sets the border width of the decorator + * @Default {1} + */ + borderWidth?: number; + + /** Sets the fill color of the source decorator + * @Default {black} + */ + fillColor?: string; + + /** Sets the height of the source decorator + * @Default {8} + */ + height?: number; + + /** Defines the custom shape of the source decorator + */ + pathData?: string; + + /** Defines the shape of the source decorator. + * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} + */ + shape?: ej.datavisualization.Diagram.DecoratorShapes|string; + + /** Defines the width of the source decorator + * @Default {8} + */ + width?: number; +} + +export interface ConnectorsSourcePoint { + + /** Defines the x-coordinate of a position + * @Default {0} + */ + x?: number; + + /** Defines the y-coordinate of a position + * @Default {0} + */ + y?: number; +} + +export interface ConnectorsTargetDecorator { + + /** Sets the border color of the decorator + * @Default {black} + */ + borderColor?: string; + + /** Sets the color with which the decorator will be filled + * @Default {black} + */ + fillColor?: string; + + /** Defines the height of the target decorator + * @Default {8} + */ + height?: number; + + /** Defines the custom shape of the target decorator + */ + pathData?: string; + + /** Defines the shape of the target decorator. + * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} + */ + shape?: ej.datavisualization.Diagram.DecoratorShapes|string; + + /** Defines the width of the target decorator + * @Default {8} + */ + width?: number; +} + +export interface Connector { + + /** To maintain additional information about connectors + * @Default {null} + */ + addInfo?: any; + + /** Defines the width of the line bridges + * @Default {10} + */ + bridgeSpace?: number; + + /** Enables or disables the behaviors of connectors. + * @Default {ej.datavisualization.Diagram.ConnectorConstraints.Default} + */ + constraints?: ej.datavisualization.Diagram.ConnectorConstraints|string; + + /** Defines the radius of the rounded corner + * @Default {0} + */ + cornerRadius?: number; + + /** Configures the styles of shapes + */ + cssClass?: string; + + /** Sets the horizontal alignment of the connector. Applicable, if the parent of the connector is a container. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} + */ + horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** A collection of JSON objects where each object represents a label. + * @Default {[]} + */ + labels?: Array; + + /** Sets the stroke color of the connector + * @Default {black} + */ + lineColor?: string; + + /** Sets the pattern of dashes and gaps used to stroke the path of the connector + */ + lineDashArray?: string; + + /** Defines the padding value to ease the interaction with connectors + * @Default {10} + */ + lineHitPadding?: number; + + /** Sets the width of the line + * @Default {1} + */ + lineWidth?: number; + + /** Defines the minimum space to be left between the bottom of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginBottom?: number; + + /** Defines the minimum space to be left between the left of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginLeft?: number; + + /** Defines the minimum space to be left between the right of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginRight?: number; + + /** Defines the minimum space to be left between the top of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginTop?: number; + + /** Sets a unique name for the connector + */ + name?: string; + + /** Defines the transparency of the connector + * @Default {1} + */ + opacity?: number; + + /** Defines the size and preview size of the node to add that to symbol palette. To explore palette item, refer Palette Item + * @Default {null} + */ + paletteItem?: any; + + /** Sets the parent name of the connector. + */ + parent?: string; + + /** An array of JSON objects where each object represents a segment + * @Default {[ { type:straight } ]} + */ + segments?: Array; + + /** Defines the role/meaning of the connector + * @Default {null} + */ + shape?: ConnectorsShape; + + /** Defines the source decorator of the connector + * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} + */ + sourceDecorator?: ConnectorsSourceDecorator; + + /** Sets the source node of the connector + */ + sourceNode?: string; + + /** Defines the space to be left between the source node and the source point of a connector + * @Default {0} + */ + sourcePadding?: number; + + /** Describes the start point of the connector + * @Default {ej.datavisualization.Diagram.Point()} + */ + sourcePoint?: ConnectorsSourcePoint; + + /** Sets the source port of the connector + */ + sourcePort?: string; + + /** Defines the target decorator of the connector + * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} + */ + targetDecorator?: ConnectorsTargetDecorator; + + /** Sets the target node of the connector + */ + targetNode?: string; + + /** Defines the space to be left between the target node and the target point of the connector + * @Default {0} + */ + targetPadding?: number; + + /** Describes the end point of the connector + * @Default {ej.datavisualization.Diagram.Point()} + */ + targetPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Sets the targetPort of the connector + */ + targetPort?: string; + + /** Defines the tooltip that should be shown when the mouse hovers over connector. For tooltip properties, refer Tooltip + * @Default {null} + */ + tooltip?: any; + + /** To set the vertical alignment of connector (Applicable,if the parent is group). + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} + */ + verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment|string; + + /** Enables or disables the visibility of connector + * @Default {true} + */ + visible?: boolean; + + /** Sets the z-index of the connector + * @Default {0} + */ + zOrder?: number; +} + +export interface ContextMenuItem { + + /** Defines the text for the collection of context menu item + * @Default {null} + */ + text?: string; + + /** Defines the name for the collection of context menu items + * @Default {null} + */ + name?: string; + + /** Defines the image url for the collection of context menu items + * @Default {null} + */ + imageUrl?: string; + + /** Defines the CssClass for the collection of context menu items + * @Default {null} + */ + cssClass?: string; + + /** Defines the collection of sub items for the context menu items + * @Default {[]} + */ + subItems?: Array; +} + +export interface ContextMenu { + + /** Defines the collection of context menu items + * @Default {[]} + */ + items?: Array; + + /** To set whether to display the default context menu items or not + * @Default {false} + */ + showCustomMenuItemsOnly?: boolean; +} + +export interface DataSourceSettingsCrudAction { + + /** Specifies the create method which is used to get the nodes to be added from client side to the server side + * @Default {null} + */ + create?: string; + + /** Specifies the update method which is used to get the updated data from client side to the server side + * @Default {null} + */ + update?: string; + + /** Specifies the destroy method which is used to get the deleted items data from client side to the server side + * @Default {null} + */ + destroy?: string; + + /** Specifies the read method to get the created nodes from client side to the server side + * @Default {null} + */ + read?: string; +} + +export interface DataSourceSettingsConnectionDataSourceCrudAction { + + /** Specifies the create method which is used to get the connectors to be added from client side to the server side + * @Default {null} + */ + create?: string; + + /** Specifies the update method which is used to get the updated connectors from client side to the server side + * @Default {null} + */ + update?: string; + + /** Specifies the destroy method which is used to get the deleted items data from client side to the server side + * @Default {null} + */ + destroy?: string; + + /** Specifies the read method which is used to get the data from client side to the server side + * @Default {null} + */ + read?: string; +} + +export interface DataSourceSettingsConnectionDataSource { + + /** Sets the datasource for the connection datasource settings items. + * @Default {null} + */ + dataSource?: string; + + /** Sets the unique id of the connection data source item + * @Default {null} + */ + id?: string; + + /** Sets the sourcenode of the connection data source item + * @Default {null} + */ + sourceNode?: string; + + /** Sets the targetnode of the connection data source item + * @Default {null} + */ + targetNode?: string; + + /** Sets the sourcepoint-x value of the connection data source item + * @Default {null} + */ + sourcePointX?: string; + + /** Sets the sourcePoint-y value of the connection data source item + * @Default {null} + */ + sourcePointY?: string; + + /** Sets the targetPoint-x value of the connection data source item + * @Default {null} + */ + targetPointX?: string; + + /** Sets the targetPoint-y value of the connection data source item + * @Default {null} + */ + targetPointY?: string; + + /** Specifies the method name which is used to get updated connectors from client side to the server side + * @Default {null} + */ + crudAction?: DataSourceSettingsConnectionDataSourceCrudAction; + + /** Specifies the customfields to get the updated data from client side to the server side + * @Default {[]} + */ + customFields?: Array; +} + +export interface DataSourceSettings { + + /** Defines the data source either as a collection of objects or as an instance of ej.DataManager + * @Default {null} + */ + dataSource?: any; + + /** Sets the unique id of the data source items + */ + id?: string; + + /** Defines the parent id of the data source item + * @Default {''} + */ + parent?: string; + + /** Describes query to retrieve a set of data from the specified datasource + * @Default {null} + */ + query?: string; + + /** Sets the unique id of the root data source item + */ + root?: string; + + /** Describes the name of the table on which the specified query has to be executed + * @Default {null} + */ + tableName?: string; + + /** Specifies the method name which is used to get the updated data from client side to the server side + * @Default {null} + */ + crudAction?: DataSourceSettingsCrudAction; + + /** Specifies the customfields to get the updated data from client side to the server side + * @Default {[]} + */ + customFields?: Array; + + /** Defines the data source either as a collection of objects or as an instance of ej.DataManager + * @Default {null} + */ + connectionDataSource?: DataSourceSettingsConnectionDataSource; +} + +export interface DefaultSettings { + + /** Initializes the default connector properties + * @Default {null} + */ + connector?: any; + + /** Initializes the default properties of groups + * @Default {null} + */ + group?: any; + + /** Initializes the default properties for nodes + * @Default {null} + */ + node?: any; +} + +export interface HistoryManager { + + /** A method that takes a history entry as argument and returns whether the specific entry can be popped or not + */ + canPop?: Function; + + /** A method that ends grouping the changes + */ + closeGroupAction?: Function; + + /** A method that removes the history of a recent change made in diagram + */ + pop?: Function; + + /** A method that allows to track the custom changes made in diagram + */ + push?: Function; + + /** Defines what should be happened while trying to restore a custom change + * @Default {null} + */ + redo?: Function; + + /** The redoStack property is used to get the number of redo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. + * @Default {[]} + */ + redoStack?: Array; + + /** The stackLimit property used to restrict the undo and redo actions to a certain limit. + * @Default {null} + */ + stackLimit?: number; + + /** A method that starts to group the changes to revert/restore them in a single undo or redo + */ + startGroupAction?: Function; + + /** Defines what should be happened while trying to revert a custom change + */ + undo?: Function; + + /** The undoStack property is used to get the number of undo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. + * @Default {[]} + */ + undoStack?: Array; +} + +export interface Layout { + + /** Specifies the custom bounds to arrange/align the layout + * @Default {ej.datavisualization.Diagram.Rectangle()} + */ + bounds?: any; + + /** Defines the fixed node with reference to which, the layout will be arranged and fixed node will not be repositioned + */ + fixedNode?: string; + + /** Customizes the orientation of trees/sub trees. For orientations, see Chart Orientations. For chart types, see Chart Types + * @Default {null} + */ + getLayoutInfo?: any; + + /** Defines a method to customize the segments based on source and target nodes. + * @Default {null} + */ + getConnectorSegments?: any; + + /** Sets the space to be horizontally left between nodes + * @Default {30} + */ + horizontalSpacing?: number; + + /** Defines the space to be left between layout bounds and layout. + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Defines how to horizontally align the layout within the layout bounds + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** Defines how to vertically align the layout within the layout bounds + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; + + /** Sets the orientation/direction to arrange the diagram elements. + * @Default {ej.datavisualization.Diagram.LayoutOrientations.TopToBottom} + */ + orientation?: ej.datavisualization.Diagram.LayoutOrientations|string; + + /** Sets the type of the layout based on which the elements will be arranged. + * @Default {ej.datavisualization.Diagram.LayoutTypes.None} + */ + type?: ej.datavisualization.Diagram.LayoutTypes|string; + + /** Sets the space to be vertically left between nodes + * @Default {30} + */ + verticalSpacing?: number; +} + +export interface NodesAnnotation { + + /** Sets the angle between the BPMN shape and the annotation + * @Default {0} + */ + angle?: number; + + /** Sets the direction of the text annotation + * @Default {ej.datavisualization.Diagram.BPMNAnnotationDirections.Left} + */ + direction?: ej.datavisualization.Diagram.BPMNAnnotationDirection|string; + + /** Sets the height of the text annotation + * @Default {20} + */ + height?: number; + + /** Sets the distance between the BPMN shape and the annotation + * @Default {0} + */ + length?: number; + + /** Defines the additional information about the flow object in a BPMN Process + */ + text?: string; + + /** Sets the width of the text annotation + * @Default {20} + */ + width?: number; +} + +export interface NodesClassAttribute { + + /** Sets the name of the attribute + */ + name?: string; + + /** Sets the data type of attribute + */ + type?: string; + + /** Defines the visibility of the attribute + * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} + */ + scope?: string; +} + +export interface NodesClassMethod { + + /** Sets the visibility of the method. + * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} + */ + scope?: string; +} + +export interface NodesClass { + + /** Sets the name of class. + */ + name?: string; + + /** Defines the collection of attributes + * @Default {[]} + */ + attributes?: Array; + + /** Defines the collection of methods of a Class. + * @Default {[]} + */ + methods?: Array; +} + +export interface NodesCollapseIcon { + + /** Sets the border color for collapse icon of node + * @Default {black} + */ + borderColor?: string; + + /** Sets the border width for collapse icon of node + * @Default {1} + */ + borderWidth?: number; + + /** Sets the fill color for collapse icon of node + * @Default {white} + */ + fillColor?: string; + + /** Defines the height for collapse icon of node + * @Default {15} + */ + height?: number; + + /** Sets the horizontal alignment of the icon. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** To set the margin for the collapse icon of node + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Sets the fraction/ratio(relative to node) that defines the position of the icon + * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} + */ + offset?: any; + + /** Defines the shape of the collapsed state of the node. + * @Default {ej.datavisualization.Diagram.IconShapes.None} + */ + shape?: ej.datavisualization.Diagram.IconShapes|string; + + /** Sets the vertical alignment of the icon. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; +} + +export interface NodesContainer { + + /** Defines the orientation of the container. Applicable, if the group is a container. + * @Default {vertical} + */ + orientation?: string; + + /** Sets the type of the container. Applicable if the group is a container. + * @Default {ej.datavisualization.Diagram.ContainerType.Canvas} + */ + type?: ej.datavisualization.Diagram.ContainerType|string; +} + +export interface NodesData { + + /** Sets the type of the BPMN Data object + * @Default {ej.datavisualization.Diagram.BPMNDataObjects.None} + */ + type?: ej.datavisualization.Diagram.BPMNDataObjects|string; + + /** Defines whether the BPMN data object is a collection or not + * @Default {false} + */ + collection?: boolean; +} + +export interface NodesEnumerationMember { + + /** Sets the name of the enumeration member + */ + name?: string; +} + +export interface NodesEnumeration { + + /** Sets the name of the Enumeration + */ + name?: string; + + /** Defines the collection of enumeration members + * @Default {[]} + */ + members?: Array; +} + +export interface NodesExpandIcon { + + /** Sets the border color for expand icon of node + * @Default {black} + */ + borderColor?: string; + + /** Sets the border width for expand icon of node + * @Default {1} + */ + borderWidth?: number; + + /** Sets the fill color for expand icon of node + * @Default {white} + */ + fillColor?: string; + + /** Defines the height for expand icon of node + * @Default {15} + */ + height?: number; + + /** Sets the horizontal alignment of the icon. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** To set the margin for the expand icon of node + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Sets the fraction/ratio(relative to node) that defines the position of the icon + * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} + */ + offset?: any; + + /** Defines the shape of the expanded state of the node. + * @Default {ej.datavisualization.Diagram.IconShapes.None} + */ + shape?: ej.datavisualization.Diagram.IconShapes|string; + + /** Sets the vertical alignment of the icon. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; +} + +export interface NodesGradientLinearGradient { + + /** Defines the different colors and the region of color transitions + * @Default {[]} + */ + stops?: Array; + + /** Defines the left most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + x1?: number; + + /** Defines the right most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + x2?: number; + + /** Defines the top most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + y1?: number; + + /** Defines the bottom most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + y2?: number; +} + +export interface NodesGradientRadialGradient { + + /** Defines the position of the outermost circle + * @Default {0} + */ + cx?: number; + + /** Defines the outer most circle of the radial gradient + * @Default {0} + */ + cy?: number; + + /** Defines the innermost circle of the radial gradient + * @Default {0} + */ + fx?: number; + + /** Defines the innermost circle of the radial gradient + * @Default {0} + */ + fy?: number; + + /** Defines the different colors and the region of color transitions. + * @Default {[]} + */ + stops?: Array; +} + +export interface NodesGradientStop { + + /** Sets the color to be filled over the specified region + */ + color?: string; + + /** Sets the position where the previous color transition ends and a new color transition starts + * @Default {0} + */ + offset?: number; + + /** Describes the transparency level of the region + * @Default {1} + */ + opacity?: number; +} + +export interface NodesGradient { + + /** Paints the node with linear color transitions + */ + LinearGradient?: NodesGradientLinearGradient; + + /** Paints the node with radial color transitions. A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient. + */ + RadialGradient?: NodesGradientRadialGradient; + + /** Defines the color and a position where the previous color transition ends and a new color transition starts + */ + Stop?: NodesGradientStop; +} + +export interface NodesInterfaceAttribute { + + /** Sets the name of the attribute + */ + name?: string; + + /** Sets the type of the attribute + */ + type?: string; + + /** Sets the visibility of the attribute + */ + scope?: string; +} + +export interface NodesInterfaceMethod { + + /** Sets the visibility of the method + */ + scope?: string; +} + +export interface NodesInterface { + + /** Sets the name of the interface + */ + name?: string; + + /** Defines a collection of attributes of the interface + * @Default {[]} + */ + attributes?: Array; + + /** Defines the collection of public methods of an interface + * @Default {[]} + */ + methods?: Array; +} + +export interface NodesLabel { + + /** Enables/disables the bold style + * @Default {false} + */ + bold?: boolean; + + /** Sets the border color of the label + * @Default {transparent} + */ + borderColor?: string; + + /** Sets the border width of the label + * @Default {0} + */ + borderWidth?: number; + + /** Sets the fill color of the text area + * @Default {transparent} + */ + fillColor?: string; + + /** Sets the font color of the text + * @Default {black} + */ + fontColor?: string; + + /** Sets the font family of the text + * @Default {Arial} + */ + fontFamily?: string; + + /** Defines the font size of the text + * @Default {12} + */ + fontSize?: number; + + /** Sets the horizontal alignment of the label. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** Enables/disables the italic style + * @Default {false} + */ + italic?: boolean; + + /** To set the margin of the label + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Gets whether the label is currently being edited or not. + * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} + */ + mode?: ej.datavisualization.Diagram.LabelEditMode|string; + + /** Sets the unique identifier of the label + */ + name?: string; + + /** Sets the fraction/ratio(relative to node) that defines the position of the label + * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} + */ + offset?: any; + + /** Defines the transparency of the labels + * @Default {1} + */ + opacity?: number; + + /** Sets the overflowType of the labels + * @Default {ej.datavisualization.Diagram.OverflowType.Ellipsis} + */ + overflowType?: ej.datavisualization.Diagram.OverflowType|string; + + /** Defines whether the label is editable or not + * @Default {false} + */ + readOnly?: boolean; + + /** Defines the angle to which the label needs to be rotated + * @Default {0} + */ + rotateAngle?: number; + + /** Defines the label text + */ + text?: string; + + /** Defines how to align the text inside the label. + * @Default {ej.datavisualization.Diagram.TextAlign.Center} + */ + textAlign?: ej.datavisualization.Diagram.TextAlign|string; + + /** Sets how to decorate the label text. + * @Default {ej.datavisualization.Diagram.TextDecorations.None} + */ + textDecoration?: ej.datavisualization.Diagram.TextDecorations|string; + + /** Defines the overflowed content is displayed or not. + * @Default {false} + */ + textOverflow?: boolean; + + /** Sets the vertical alignment of the label. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; + + /** Enables or disables the visibility of the label + * @Default {true} + */ + visible?: boolean; + + /** Sets the width of the label(the maximum value of label width and the node width will be considered as label width) + * @Default {50} + */ + width?: number; + + /** Defines how the label text needs to be wrapped. + * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} + */ + wrapping?: ej.datavisualization.Diagram.TextWrapping|string; +} + +export interface NodesLane { + + /** Defines the width of lane + * @Default {0} + */ + width?: number; + + /** Defines the height of lane + * @Default {0} + */ + height?: number; + + /** Defines the z-index of the lane + * @Default {0} + */ + zorder?: number; + + /** Allows to maintain additional information about lane + * @Default {{}} + */ + addInfo?: any; + + /** An array of objects where each object represents a child node of the lane + * @Default {[]} + */ + children?: Array; + + /** Defines the fill color of the lane + * @Default {white} + */ + fillColor?: string; + + /** Defines the header of the lane + * @Default {{ text: Function, fontSize: 11 }} + */ + header?: any; + + /** Defines the object as a lane + * @Default {false} + */ + isLane?: boolean; + + /** Sets the unique identifier of the lane + */ + name?: string; + + /** Sets the orientation of the lane. + * @Default {vertical} + */ + orientation?: string; +} + +export interface NodesPaletteItem { + + /** Defines whether the symbol should be drawn at its actual size regardless of precedence factors or not + * @Default {true} + */ + enableScale?: boolean; + + /** Defines the height of the symbol + * @Default {0} + */ + height?: number; + + /** Defines the margin of the symbol item + * @Default {{ left: 4, right: 4, top: 4, bottom: 4 }} + */ + margin?: any; + + /** Defines the preview height of the symbol + * @Default {undefined} + */ + previewHeight?: number; + + /** Defines the preview width of the symbol + * @Default {undefined} + */ + previewWidth?: number; + + /** Defines the width of the symbol + * @Default {0} + */ + width?: number; +} + +export interface NodesPhase { + + /** Defines the header of the smaller regions + * @Default {null} + */ + label?: any; + + /** Defines the line color of the splitter that splits adjacent phases. + * @Default {#606060} + */ + lineColor?: string; + + /** Sets the dash array that used to stroke the phase splitter + * @Default {3,3} + */ + lineDashArray?: string; + + /** Sets the lineWidth of the phase + * @Default {1} + */ + lineWidth?: number; + + /** Sets the unique identifier of the phase + */ + name?: string; + + /** Sets the length of the smaller region(phase) of a swimlane + * @Default {100} + */ + offset?: number; + + /** Sets the orientation of the phase + * @Default {horizontal} + */ + orientation?: string; + + /** Sets the type of the object as phase + * @Default {phase} + */ + type?: string; +} + +export interface NodesPort { + + /** Sets the border color of the port + * @Default {#1a1a1a} + */ + borderColor?: string; + + /** Sets the stroke width of the port + * @Default {1} + */ + borderWidth?: number; + + /** Defines the space to be left between the port bounds and its incoming and outgoing connections. + * @Default {0} + */ + connectorPadding?: number; + + /** Defines whether connections can be created with the port + * @Default {ej.datavisualization.Diagram.PortConstraints.Connect} + */ + constraints?: ej.datavisualization.Diagram.PortConstraints|string; + + /** Sets the fill color of the port + * @Default {white} + */ + fillColor?: string; + + /** Sets the unique identifier of the port + */ + name?: string; + + /** Defines the position of the port as fraction/ ratio relative to node + * @Default {ej.datavisualization.Diagram.Point(0, 0)} + */ + offset?: any; + + /** Defines the path data to draw the port. Applicable, if the port shape is path. + */ + pathData?: string; + + /** Defines the shape of the port. + * @Default {ej.datavisualization.Diagram.PortShapes.Square} + */ + shape?: ej.datavisualization.Diagram.PortShapes|string; + + /** Defines the size of the port + * @Default {8} + */ + size?: number; + + /** Defines when the port should be visible. + * @Default {ej.datavisualization.Diagram.PortVisibility.Default} + */ + visibility?: ej.datavisualization.Diagram.PortVisibility|string; +} + +export interface NodesShadow { + + /** Defines the angle of the shadow relative to node + * @Default {45} + */ + angle?: number; + + /** Sets the distance to move the shadow relative to node + * @Default {5} + */ + distance?: number; + + /** Defines the opaque of the shadow + * @Default {0.7} + */ + opacity?: number; +} + +export interface NodesSubProcess { + + /** Defines whether the BPMN sub process is without any prescribed order or not + * @Default {false} + */ + adhoc?: boolean; + + /** Sets the boundary of the BPMN process + * @Default {ej.datavisualization.Diagram.BPMNBoundary.Default} + */ + boundary?: ej.datavisualization.Diagram.BPMNBoundary|string; + + /** Sets whether the BPMN subprocess is triggered as a compensation of a specific activity + * @Default {false} + */ + compensation?: boolean; + + /** Sets whether the BPMN subprocess is triggered as a collapsed of a specific activity + * @Default {true} + */ + collapsed?: boolean; + + /** Sets the type of the event by which the sub-process will be triggered + * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} + */ + event?: ej.datavisualization.Diagram.BPMNEvents|string; + + /** Defines the collection of events that need to be appended with BPMN Sub-Process + */ + events?: Array; + + /** Defines the loop type of a sub process. + * @Default {ej.datavisualization.Diagram.BPMNLoops.None} + */ + loop?: ej.datavisualization.Diagram.BPMNLoops|string; + + /** Defines the children for BPMN's SubProcess + * @Default {[]} + */ + Processes?: Array; + + /** Defines the type of the event trigger + * @Default {ej.datavisualization.Diagram.BPMNTriggers.Message} + */ + trigger?: ej.datavisualization.Diagram.BPMNTriggers|string; + + /** Defines the type of a sub process + * @Default {ej.datavisualization.Diagram.BPMNSubProcessTypes.None} + */ + type?: ej.datavisualization.Diagram.BPMNSubProcessTypes|string; +} + +export interface NodesTask { + + /** To set whether the task is a global task or not + * @Default {false} + */ + call?: boolean; + + /** Sets whether the task is triggered as a compensation of another specific activity + * @Default {false} + */ + compensation?: boolean; + + /** Sets the loop type of a BPMN task. + * @Default {ej.datavisualization.Diagram.BPMNLoops.None} + */ + loop?: ej.datavisualization.Diagram.BPMNLoops|string; + + /** Sets the type of the BPMN task. + * @Default {ej.datavisualization.Diagram.BPMNTasks.None} + */ + type?: ej.datavisualization.Diagram.BPMNTasks|string; +} + +export interface Node { + + /** Defines the type of BPMN Activity. Applicable, if the node is a BPMN activity. + * @Default {ej.datavisualization.Diagram.BPMNActivity.Task} + */ + activity?: ej.datavisualization.Diagram.BPMNActivity|string; + + /** To maintain additional information about nodes + * @Default {{}} + */ + addInfo?: any; + + /** Defines the additional information of a process. It is not directly related to the message flows or sequence flows of the process. + * @Default {ej.datavisualization.Diagram.BPMNTextAnnotation()} + */ + annotation?: NodesAnnotation; + + /** Sets the border color of node + * @Default {black} + */ + borderColor?: string; + + /** Sets the pattern of dashes and gaps to stroke the border + */ + borderDashArray?: string; + + /** Sets the border width of the node + * @Default {1} + */ + borderWidth?: number; + + /** Defines whether the group can be ungrouped or not + * @Default {true} + */ + canUngroup?: boolean; + + /** Array of JSON objects where each object represents a child node/connector + * @Default {[]} + */ + children?: Array; + + /** Sets the type of UML classifier. Applicable, if the node is a UML Class Diagram shape. + * @Default {ej.datavisualization.Diagram.ClassifierShapes.Class} + */ + classifier?: ej.datavisualization.Diagram.ClassifierShapes|string; + + /** Defines the name, attributes and methods of a Class. Applicable, if the node is a Class. + * @Default {null} + */ + class?: NodesClass; + + /** Defines the state of the node is collapsed. + */ + collapseIcon?: NodesCollapseIcon; + + /** Defines the distance to be left between a node and its connections(In coming and out going connections). + * @Default {0} + */ + connectorPadding?: number; + + /** Enables or disables the default behaviors of the node. + * @Default {ej.datavisualization.Diagram.NodeConstraints.Default} + */ + constraints?: ej.datavisualization.Diagram.NodeConstraints|string; + + /** Defines how the child objects need to be arranged(Either in any predefined manner or automatically). Applicable, if the node is a group. + * @Default {null} + */ + container?: NodesContainer; + + /** Defines the corner radius of rectangular shapes. + * @Default {0} + */ + cornerRadius?: number; + + /** Configures the styles of shapes + */ + cssClass?: string; + + /** Defines the BPMN data object + */ + data?: NodesData; + + /** Defines an Enumeration in a UML Class Diagram + * @Default {null} + */ + enumeration?: NodesEnumeration; + + /** Sets the type of the BPMN Events. Applicable, if the node is a BPMN event. + * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} + */ + event?: ej.datavisualization.Diagram.BPMNEvents|string; + + /** Defines whether the node can be automatically arranged using layout or not + * @Default {false} + */ + excludeFromLayout?: boolean; + + /** Defines the state of the node is expanded or collapsed. + */ + expandIcon?: NodesExpandIcon; + + /** Defines the fill color of the node + * @Default {white} + */ + fillColor?: string; + + /** Sets the type of the BPMN Gateway. Applicable, if the node is a BPMN gateway. + * @Default {ej.datavisualization.Diagram.BPMNGateways.None} + */ + gateway?: ej.datavisualization.Diagram.BPMNGateways|string; + + /** Paints the node with a smooth transition from one color to another color + */ + gradient?: NodesGradient; + + /** Sets the type of the BPMN Shapes as group. Applicable, if the node is a BPMN. + * @Default {ej.datavisualization.Diagram.BPMNShapes} + */ + group?: any; + + /** Defines the header of a swimlane/lane + * @Default {{ text: Title, fontSize: 11 }} + */ + header?: any; + + /** Defines the height of the node + * @Default {0} + */ + height?: number; + + /** Sets the horizontal alignment of the node. Applicable, if the parent of the node is a container. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} + */ + horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** A read only collection of the incoming connectors/edges of the node + * @Default {[]} + */ + inEdges?: Array; + + /** Defines an interface in a UML Class Diagram + * @Default {null} + */ + interface?: NodesInterface; + + /** Defines whether the sub tree of the node is expanded or collapsed + * @Default {true} + */ + isExpanded?: boolean; + + /** Sets the node as a swimlane + * @Default {false} + */ + isSwimlane?: boolean; + + /** A collection of objects where each object represents a label + * @Default {[]} + */ + labels?: Array; + + /** An array of objects where each object represents a lane. Applicable, if the node is a swimlane. + * @Default {[]} + */ + lanes?: Array; + + /** Defines the minimum space to be left between the bottom of parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginBottom?: number; + + /** Defines the minimum space to be left between the left of parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginLeft?: number; + + /** Defines the minimum space to be left between the right of the parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginRight?: number; + + /** Defines the minimum space to be left between the top of parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginTop?: number; + + /** Defines the maximum height limit of the node + * @Default {0} + */ + maxHeight?: number; + + /** Defines the maximum width limit of the node + * @Default {0} + */ + maxWidth?: number; + + /** Defines the minimum height limit of the node + * @Default {0} + */ + minHeight?: number; + + /** Defines the minimum width limit of the node + * @Default {0} + */ + minWidth?: number; + + /** Sets the unique identifier of the node + */ + name?: string; + + /** Defines the position of the node on X-Axis + * @Default {0} + */ + offsetX?: number; + + /** Defines the position of the node on Y-Axis + * @Default {0} + */ + offsetY?: number; + + /** Defines the opaque of the node + * @Default {1} + */ + opacity?: number; + + /** Defines the orientation of nodes. Applicable, if the node is a swimlane. + * @Default {vertical} + */ + orientation?: string; + + /** A read only collection of outgoing connectors/edges of the node + * @Default {[]} + */ + outEdges?: Array; + + /** Defines the minimum padding value to be left between the bottom most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingBottom?: number; + + /** Defines the minimum padding value to be left between the left most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingLeft?: number; + + /** Defines the minimum padding value to be left between the right most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingRight?: number; + + /** Defines the minimum padding value to be left between the top most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingTop?: number; + + /** Defines the size and preview size of the node to add that to symbol palette + * @Default {null} + */ + paletteItem?: NodesPaletteItem; + + /** Sets the name of the parent group + */ + parent?: string; + + /** Sets the path geometry that defines the shape of a path node + */ + pathData?: string; + + /** An array of objects, where each object represents a smaller region(phase) of a swimlane. + * @Default {[]} + */ + phases?: Array; + + /** Sets the height of the phase headers + * @Default {0} + */ + phaseSize?: number; + + /** Sets the ratio/ fractional value relative to node, based on which the node will be transformed(positioning, scaling and rotation) + * @Default {ej.datavisualization.Diagram.Points(0.5,0.5)} + */ + pivot?: any; + + /** Defines a collection of points to draw a polygon. Applicable, if the shape is a polygon. + * @Default {[]} + */ + points?: Array; + + /** An array of objects where each object represents a port + * @Default {[]} + */ + ports?: Array; + + /** Sets the angle to which the node should be rotated + * @Default {0} + */ + rotateAngle?: number; + + /** Defines the opacity and the position of shadow + * @Default {ej.datavisualization.Diagram.Shadow()} + */ + shadow?: NodesShadow; + + /** Sets the shape of the node. It depends upon the type of node. + * @Default {ej.datavisualization.Diagram.BasicShapes.Rectangle} + */ + shape?: ej.datavisualization.Diagram.BasicShapes | ej.datavisualization.Diagram.FlowShapes | ej.datavisualization.Diagram.BPMNShapes | ej.datavisualization.Diagram.UMLActivityShapes|string; + + /** Sets the source path of the image. Applicable, if the type of the node is image. + */ + source?: string; + + /** Defines the sub process of a BPMN Activity. Applicable, if the type of the BPMN activity is sub process. + * @Default {ej.datavisualization.Diagram.BPMNSubProcess()} + */ + subProcess?: NodesSubProcess; + + /** Defines the task of the BPMN activity. Applicable, if the type of activity is set as task. + * @Default {ej.datavisualization.Diagram.BPMNTask()} + */ + task?: NodesTask; + + /** Sets the id of svg/html templates. Applicable, if the node is HTML or native. + */ + templateId?: string; + + /** Defines the textBlock of a text node + * @Default {null} + */ + textBlock?: any; + + /** Defines the tooltip that should be shown when the mouse hovers over node. For tooltip properties, refer Tooltip + * @Default {null} + */ + tooltip?: any; + + /** Sets the type of BPMN Event Triggers. + * @Default {ej.datavisualization.Diagram.BPMNTriggers.None} + */ + trigger?: ej.datavisualization.Diagram.BPMNTriggers|string; + + /** Defines the type of the node. + * @Default {ej.datavisualization.Diagram.Shapes.Basic} + */ + type?: ej.datavisualization.Diagram.Shapes|string; + + /** Sets the vertical alignment of a node. Applicable, if the parent of a node is a container. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} + */ + verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment|string; + + /** Defines the visibility of the node + * @Default {true} + */ + visible?: boolean; + + /** Defines the width of the node + * @Default {0} + */ + width?: number; + + /** Defines the z-index of the node + * @Default {0} + */ + zOrder?: number; +} + +export interface PageSettings { + + /** Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling + * @Default {{ left: 15, top: 15, right: 15, bottom: 15 }} + */ + autoScrollBorder?: any; + + /** Sets whether multiple pages can be created to fit all nodes and connectors + * @Default {false} + */ + multiplePage?: boolean; + + /** Defines the background color of diagram pages + * @Default {#ffffff} + */ + pageBackgroundColor?: string; + + /** Defines the page border color + * @Default {#565656} + */ + pageBorderColor?: string; + + /** Sets the border width of diagram pages + * @Default {0} + */ + pageBorderWidth?: number; + + /** Defines the height of a page + * @Default {null} + */ + pageHeight?: number; + + /** Defines the page margin + * @Default {24} + */ + pageMargin?: number; + + /** Sets the orientation of the page. + * @Default {ej.datavisualization.Diagram.PageOrientations.Portrait} + */ + pageOrientation?: ej.datavisualization.Diagram.PageOrientations|string; + + /** Defines the height of a diagram page + * @Default {null} + */ + pageWidth?: number; + + /** Defines the scrollable area of diagram. Applicable, if the scroll limit is "limited". + * @Default {null} + */ + scrollableArea?: any; + + /** Defines the scrollable region of diagram. + * @Default {ej.datavisualization.Diagram.ScrollLimit.Infinite} + */ + scrollLimit?: ej.datavisualization.Diagram.ScrollLimit|string; + + /** Defines the draggable region of diagram elements. + * @Default {ej.datavisualization.Diagram.BoundaryConstraints.Infinite} + */ + boundaryConstraints?: ej.datavisualization.Diagram.BoundaryConstraints|string; + + /** Enables or disables the page breaks + * @Default {false} + */ + showPageBreak?: boolean; +} + +export interface ScrollSettings { + + /** Allows to read the zoom value of diagram + * @Default {0} + */ + currentZoom?: number; + + /** Sets the horizontal scroll offset + * @Default {0} + */ + horizontalOffset?: number; + + /** Allows to extend the scrollable region that is based on the scroll limit + * @Default {{left: 0, right: 0, top:0, bottom: 0}} + */ + padding?: any; + + /** Sets the vertical scroll offset + * @Default {0} + */ + verticalOffset?: number; + + /** Allows to read the view port height of the diagram + * @Default {0} + */ + viewPortHeight?: number; + + /** Allows to read the view port width of the diagram + * @Default {0} + */ + viewPortWidth?: number; +} + +export interface SelectedItemsUserHandle { + + /** Defines the background color of the user handle + * @Default {#2382c3} + */ + backgroundColor?: string; + + /** Sets the border color of the user handle + * @Default {transparent} + */ + borderColor?: string; + + /** Defines whether the user handle should be added, when more than one element is selected + * @Default {false} + */ + enableMultiSelection?: boolean; + + /** Sets the stroke color of the user handle + * @Default {transparent} + */ + pathColor?: string; + + /** Defines the custom shape of the user handle + */ + pathData?: string; + + /** Defines the position of the user handle + * @Default {ej.datavisualization.Diagram.UserHandlePositions.BottomCenter} + */ + position?: ej.datavisualization.Diagram.UserHandlePositions |string; + + /** Defines the size of the user handle + * @Default {8} + */ + size?: number; + + /** Defines the interactive behaviors of the user handle + */ + tool?: any; + + /** Defines the visibility of the user handle + * @Default {true} + */ + visible?: boolean; +} + +export interface SelectedItems { + + /** A read only collection of the selected items + * @Default {[]} + */ + children?: Array; + + /** Controls the visibility of selector. + * @Default {ej.datavisualization.Diagram.SelectorConstraints.All} + */ + constraints?: ej.datavisualization.Diagram.SelectorConstraints|string; + + /** Defines a method that dynamically enables/ disables the interaction with multiple selection. + * @Default {null} + */ + getConstraints?: any; + + /** Sets the height of the selected items + * @Default {0} + */ + height?: number; + + /** Sets the x position of the selector + * @Default {0} + */ + offsetX?: number; + + /** Sets the y position of the selector + * @Default {0} + */ + offsetY?: number; + + /** Sets the angle to rotate the selected items + * @Default {0} + */ + rotateAngle?: number; + + /** Sets the angle to rotate the selected items. For tooltip properties, refer Tooltip + * @Default {ej.datavisualization.Diagram.Tooltip()} + */ + tooltip?: any; + + /** A collection of frequently used commands that will be added around the selector + * @Default {[]} + */ + userHandles?: Array; + + /** Sets the width of the selected items + * @Default {0} + */ + width?: number; +} + +export interface SnapSettingsHorizontalGridLines { + + /** Defines the line color of horizontal grid lines + * @Default {lightgray} + */ + lineColor?: string; + + /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines + */ + lineDashArray?: string; + + /** A pattern of lines and gaps that defines a set of horizontal gridlines + * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} + */ + linesInterval?: Array; + + /** Specifies a set of intervals to snap the objects + * @Default {[20]} + */ + snapInterval?: Array; +} + +export interface SnapSettingsVerticalGridLines { + + /** Defines the line color of horizontal grid lines + * @Default {lightgray} + */ + lineColor?: string; + + /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines + */ + lineDashArray?: string; + + /** A pattern of lines and gaps that defines a set of horizontal gridlines + * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} + */ + linesInterval?: Array; + + /** Specifies a set of intervals to snap the objects + * @Default {[20]} + */ + snapInterval?: Array; +} + +export interface SnapSettings { + + /** Enables or disables snapping nodes/connectors to objects + * @Default {true} + */ + enableSnapToObject?: boolean; + + /** Defines the appearance of horizontal gridlines + */ + horizontalGridLines?: SnapSettingsHorizontalGridLines; + + /** Defines the angle by which the object needs to be snapped + * @Default {5} + */ + snapAngle?: number; + + /** Defines and sets the snapConstraints + */ + snapConstraints?: ej.datavisualization.Diagram.SnapConstraints|string; + + /** Defines the minimum distance between the selected object and the nearest object + * @Default {5} + */ + snapObjectDistance?: number; + + /** Defines the appearance of horizontal gridlines + */ + verticalGridLines?: SnapSettingsVerticalGridLines; +} + +export interface TooltipAlignment { + + /** Defines the horizontal alignment of tooltip. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontal?: ej.datavisualization.Diagram.HorizontalAlignment|string; + + /** Defines the vertical alignment of tooltip. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Bottom} + */ + vertical?: ej.datavisualization.Diagram.VerticalAlignment|string; +} + +export interface Tooltip { + + /** Aligns the tooltip around nodes/connectors + */ + alignment?: TooltipAlignment; + + /** Sets the margin of the tooltip + * @Default {{ left: 5, right: 5, top: 5, bottom: 5 }} + */ + margin?: any; + + /** Defines whether the tooltip should be shown at the mouse position or around node. + * @Default {ej.datavisualization.Diagram.RelativeMode.Object} + */ + relativeMode?: ej.datavisualization.Diagram.RelativeMode|string; + + /** Sets the svg/html template to be bound with tooltip + */ + templateId?: string; +} +} +module Diagram +{ +enum ImageAlignment +{ +//Scales the graphic content non-uniformly to the width and height of the diagram area +None, +//Used to align the image at the top left of diagram area +XMinYMin, +//Used to align the image at the left center of diagram area +XMinYMid, +//Used to align the image at the bottom left of diagram area +XMinYMax, +//Used to align the image at the top center of diagram area +XMidYMin, +//Used to align the image at the center of diagram area +XMidYMid, +//Used to align the image at the bottom center of diagram area +XMidYMax, +//Used to align the image at the top right of diagram area/node +XMaxYMin, +//Used to align the image at the right center of diagram area/node +XMaxYMid, +//Used to align the image at the bottom right of diagram area/node +XMaxYMax, +} +} +module Diagram +{ +enum BridgeDirection +{ +//Used to set the direction of line bridges as left +Left, +//Used to set the direction of line bridges as right +Right, +//Used to set the direction of line bridges as top +Top, +//Used to set the direction of line bridges as bottom +Bottom, +} +} +module Diagram +{ +enum Keys +{ +//No key pressed. +None, +//The A key. +A, +//The B key. +B, +//The C key. +C, +//The D Key. +D, +//The E key. +E, +//The F key. +F, +//The G key. +G, +//The H Key. +H, +//The I key. +I, +//The J key. +J, +//The K key. +K, +//The L Key. +L, +//The M key. +M, +//The N key. +N, +//The O key. +O, +//The P Key. +P, +//The Q key. +Q, +//The R key. +R, +//The S key. +S, +//The T Key. +T, +//The U key. +U, +//The V key. +V, +//The W key. +W, +//The X key. +X, +//The Y key. +Y, +//The Z key. +Z, +//The 0 key. +Number0, +//The 1 key. +Number1, +//The 2 key. +Number2, +//The 3 key. +Number3, +//The 4 key. +Number4, +//The 5 key. +Number5, +//The 6 key. +Number6, +//The 7 key. +Number7, +//The 8 key. +Number8, +//The 9 key. +Number9, +//The LEFT ARROW key. +Left, +//The UP ARROW key. +Up, +//The RIGHT ARROW key. +Right, +//The DOWN ARROW key. +Down, +//The ESC key. +Escape, +//The DEL key. +Delete, +//The TAB key. +Tab, +//The ENTER key. +Enter, +} +} +module Diagram +{ +enum KeyModifiers +{ +//No modifiers are pressed. +None, +//The ALT key. +Alt, +//The CTRL key. +Control, +//The SHIFT key. +Shift, +} +} +module Diagram +{ +enum ConnectorConstraints +{ +//Disable all connector Constraints +None, +//Enables connector to be selected +Select, +//Enables connector to be Deleted +Delete, +//Enables connector to be Dragged +Drag, +//Enables connectors source end to be selected +DragSourceEnd, +//Enables connectors target end to be selected +DragTargetEnd, +//Enables control point and end point of every segment in a connector for editing +DragSegmentThumb, +//Enables bridging to the connector +Bridging, +//Enables label of node to be Dragged +DragLabel, +//Enables bridging to the connector +InheritBridging, +//Enables user interaction to the connector +PointerEvents, +//Enables the contrast between clean edges of connector over rendering speed and geometric precision +CrispEdges, +//Enables all constraints +Default, +} +} +module Diagram +{ +enum HorizontalAlignment +{ +//Used to align text horizontally on left side of node/connector +Left, +//Used to align text horizontally on center of node/connector +Center, +//Used to align text horizontally on right side of node/connector +Right, +} +} +module Diagram +{ +enum Alignment +{ +//Used to align the label either top or left(before) of the connector segment +Before, +//Used to align the label at center of the connector segment +Center, +//Used to align the label either bottom or right(after) of the connector segment +After, +} +} +module Diagram +{ +enum LabelRelativeMode +{ +//Sets the relativeMode as SegmentPath +SegmentPath, +//Sets the relativeMode as SegmentBounds +SegmentBounds, +} +} +module Diagram +{ +enum Segments +{ +//Used to specify the lines as Straight +Straight, +//Used to specify the lines as Orthogonal +Orthogonal, +//Used to specify the lines as Bezier +Bezier, +} +} +module Diagram +{ +enum ConnectorShapes +{ +//Used to specify connector type as BPMN +BPMN, +//Used to specify connector type as UMLClassifier +UMLClassifier, +//Used to specify connector type as UMLActivity +UMLActivity, +} +} +module Diagram +{ +enum BPMNFlows +{ +//Used to specify the Sequence flow in a BPMN Process +Sequence, +//Used to specify the Association flow in a BPMN Process +Association, +//Used to specify the Message flow in a BPMN Process +Message, +} +} +module Diagram +{ +enum AssociationFlows +{ +//Used to notate default association in a BPMN Process +Default, +//Used to notate directional association in a BPMN Process +Directional, +//User to notate bi-directional association in a BPMN Process +BiDirectional, +} +} +module Diagram +{ +enum BPMNMessageFlows +{ +//Used to notate the default message flow in a BPMN Process +Default, +//Used to notate the instantiating message flow in a BPMN Process +InitiatingMessage, +//Used to notate the non-instantiating message flow in a BPMN Process +NonInitiatingMessage, +} +} +module Diagram +{ +enum BPMNSequenceFlows +{ +//Used to notate the normal sequence flow in a BPMN Process +Normal, +//Used to notate the conditional sequence flow in a BPMN Process +Conditional, +//Used to notate the default sequence flow in a BPMN Process +Default, +} +} +module Diagram +{ +enum ClassifierShapes +{ +//Used to define a Class +Class, +//Used to define an Interface +Interface, +//Used to define an Enumeration +Enumeration, +//Used to notate association in UML Class Diagram +Association, +//Used to notate aggregation in a UML Class Diagram +Aggregation, +//Used to notate composition in a UML Class Diagram +Composition, +//Used to notate dependency in a UML Class Diagram +Dependency, +//Used to notate inheritance in a UML Class Diagram +Inheritance, +} +} +module Diagram +{ +enum Multiplicity +{ +//Each entity instance is related to a single instance of another entity +OneToOne, +//An entity instance can be related to multiple instances of the other entities +OneToMany, +//Multiple instances of an entity can be related to a single instance of the other entity +ManyToOne, +//The entity instances can be related to multiple instances of each other +ManyToMany, +} +} +module Diagram +{ +enum UMLActivityFlow +{ +//Defines a activity flow as Object in UML Activity Diagram +Object, +//Defines a activity flow as Control in UML Activity Diagram +Control, +//Defines a activity flow as Exception in UML Activity Diagram +Exception, +} +} +module Diagram +{ +enum DecoratorShapes +{ +//Used to set decorator shape as none +None, +//Used to set decorator shape as Arrow +Arrow, +//Used to set decorator shape as Open Arrow +OpenArrow, +//Used to set decorator shape as Circle +Circle, +//Used to set decorator shape as Diamond +Diamond, +//Used to set decorator shape as path +Path, +} +} +module Diagram +{ +enum VerticalAlignment +{ +//Used to align text Vertically on left side of node/connector +Top, +//Used to align text Vertically on center of node/connector +Center, +//Used to align text Vertically on bottom of node/connector +Bottom, +} +} +module Diagram +{ +enum DiagramConstraints +{ +//Disables all DiagramConstraints +None, +//Enables/Disables interaction done with the help of API methods +APIUpdate, +//Enables/Disables UserInteraction +UserInteraction, +//Enables/Disables PageEditing +PageEditable, +//Enables/Disables Bridging +Bridging, +//Enables/Disables Zooming +Zoomable, +//Enables/Disables panning on horizontal axis +PannableX, +//Enables/Disables panning on vertical axis +PannableY, +//Enables/Disables Panning +Pannable, +//Enables/Disables undo actions +Undoable, +//Enables/Disables the sharp edges +CrispEdges, +//Enables/Disables the Diagram size updation on the window resize function +Resizable, +//Enables/Disables the Zooming of labels text editor +ZoomTextEditor, +//Enables/Disables the drag and drop of element from one diagram to the other +FloatElements, +//Enables all Constraints +Default, +} +} +module Diagram +{ +enum LabelRenderingMode +{ +//Sets the labelRenderingMode as Html +Html, +//Sets the labelRenderingMode as Svg +Svg, +} +} +module Diagram +{ +enum LayoutOrientations +{ +//Used to set LayoutOrientation from top to bottom +TopToBottom, +//Used to set LayoutOrientation from bottom to top +BottomToTop, +//Used to set LayoutOrientation from left to right +LeftToRight, +//Used to set LayoutOrientation from right to left +RightToLeft, +} +} +module Diagram +{ +enum LayoutTypes +{ +//Used not to set any specific layout +None, +//Used to set layout type as hierarchical layout +HierarchicalTree, +//Used to set layout type as organnizational chart +OrganizationalChart, +} +} +module Diagram +{ +enum BPMNActivity +{ +//Used to set BPMN Activity as None +None, +//Used to set BPMN Activity as Task +Task, +//Used to set BPMN Activity as SubProcess +SubProcess, +} +} +module Diagram +{ +enum BPMNAnnotationDirection +{ +//Used to set the direction of BPMN Annotation as left +Left, +//Used to set the direction of BPMN Annotation as right +Right, +//Used to set the direction of BPMN Annotation as top +Top, +//Used to set the direction of BPMN Annotation as bottom +Bottom, +} +} +module Diagram +{ +enum IconShapes +{ +//Used to set collapse icon shape as none +None, +//Used to set collapse icon shape as Arrow(Up/Down) +Arrow, +//Used to set collapse icon shape as Plus +Plus, +//Used to set collapse icon shape as Minus +Minus, +//Used to set collapse icon shape as path +Path, +//Used to set icon shape as template +Template, +//Used to set icon shape as image +Image, +} +} +module Diagram +{ +enum NodeConstraints +{ +//Disable all node Constraints +None, +//Enables node to be selected +Select, +//Enables node to be Deleted +Delete, +//Enables node to be Dragged +Drag, +//Enables node to be Rotated +Rotate, +//Enables node to be connected +Connect, +//Enables node to be resize north east +ResizeNorthEast, +//Enables node to be resize east +ResizeEast, +//Enables node to be resize south east +ResizeSouthEast, +//Enables node to be resize south +ResizeSouth, +//Enables node to be resize south west +ResizeSouthWest, +//Enables node to be resize west +ResizeWest, +//Enables node to be resize north west +ResizeNorthWest, +//Enables node to be resize north +ResizeNorth, +//Enables node to be Resized +Resize, +//Enables shadow +Shadow, +//Enables label of node to be Dragged +DragLabel, +//Enables panning should be done while node dragging +AllowPan, +//Enables Proportional resize for node +AspectRatio, +//Enables the user interaction with the node +PointerEvents, +//Enables contrast between clean edges for the node over rendering speed and geometric precision +CrispEdges, +//Enables all node constraints +Default, +} +} +module Diagram +{ +enum ContainerType +{ +//Sets the container type as Canvas +Canvas, +//Sets the container type as Stack +Stack, +} +} +module Diagram +{ +enum BPMNDataObjects +{ +//Used to notate the Input type BPMN data object +Input, +//Used to notate the Output type BPMN data object +Output, +//Used to set BPMN data object type as None +None, +} +} +module Diagram +{ +enum BPMNEvents +{ +//Used to set BPMN Event as Start +Start, +//Used to set BPMN Event as Intermediate +Intermediate, +//Used to set BPMN Event as End +End, +//Used to set BPMN Event as NonInterruptingStart +NonInterruptingStart, +//Used to set BPMN Event as NonInterruptingIntermediate +NonInterruptingIntermediate, +//Used to set BPMN Event as ThrowingIntermediate +ThrowingIntermediate, +} +} +module Diagram +{ +enum BPMNGateways +{ +//Used to set BPMN Gateway as None +None, +//Used to set BPMN Gateway as Exclusive +Exclusive, +//Used to set BPMN Gateway as Inclusive +Inclusive, +//Used to set BPMN Gateway as Parallel +Parallel, +//Used to set BPMN Gateway as Complex +Complex, +//Used to set BPMN Gateway as EventBased +EventBased, +//Used to set BPMN Gateway as ExclusiveEventBased +ExclusiveEventBased, +//Used to set BPMN Gateway as ParallelEventBased +ParallelEventBased, +} +} +module Diagram +{ +enum LabelEditMode +{ +//Used to set label edit mode as edit +Edit, +//Used to set label edit mode as view +View, +} +} +module Diagram +{ +enum OverflowType +{ +//Set overflow Type as ellipsis +Ellipsis, +//Set overflow Type as Clip +Clip, +} +} +module Diagram +{ +enum TextAlign +{ +//Used to align text on left side of node/connector +Left, +//Used to align text on center of node/connector +Center, +//Used to align text on Right side of node/connector +Right, +} +} +module Diagram +{ +enum TextDecorations +{ +//Used to set text decoration of the label as Underline +Underline, +//Used to set text decoration of the label as Overline +Overline, +//Used to set text decoration of the label as LineThrough +LineThrough, +//Used to set text decoration of the label as None +None, +} +} +module Diagram +{ +enum TextWrapping +{ +//Disables wrapping +NoWrap, +//Enables Line-break at normal word break points +Wrap, +//Enables Line-break at normal word break points with longer word overflows +WrapWithOverflow, +} +} +module Diagram +{ +enum PortConstraints +{ +//Disable all constraints +None, +//Enables connections with connector +Connect, +//Enables to create the connection when mouse hover on the port. +ConnectOnDrag, +} +} +module Diagram +{ +enum PortShapes +{ +//Used to set port shape as X +X, +//Used to set port shape as Circle +Circle, +//Used to set port shape as Square +Square, +//Used to set port shape as Path +Path, +} +} +module Diagram +{ +enum PortVisibility +{ +//Set the port visibility as Visible +Visible, +//Set the port visibility as Hidden +Hidden, +//Port get visible when hover connector on node +Hover, +//Port gets visible when connect connector to node +Connect, +//Specifies the port visibility as default +Default, +} +} +module Diagram +{ +enum BasicShapes +{ +//Used to specify node Shape as Rectangle +Rectangle, +//Used to specify node Shape as Ellipse +Ellipse, +//Used to specify node Shape as Path +Path, +//Used to specify node Shape as Polygon +Polygon, +//Used to specify node Shape as Triangle +Triangle, +//Used to specify node Shape as Plus +Plus, +//Used to specify node Shape as Star +Star, +//Used to specify node Shape as Pentagon +Pentagon, +//Used to specify node Shape as Heptagon +Heptagon, +//Used to specify node Shape as Octagon +Octagon, +//Used to specify node Shape as Trapezoid +Trapezoid, +//Used to specify node Shape as Decagon +Decagon, +//Used to specify node Shape as RightTriangle +RightTriangle, +//Used to specify node Shape as Cylinder +Cylinder, +} +} +module Diagram +{ +enum FlowShapes +{ +//Used to specify node Shape as Process +Process, +//Used to specify node Shape as Decision +Decision, +//Used to specify node Shape as Document +Document, +//Used to specify node Shape as PreDefinedProcess +PreDefinedProcess, +//Used to specify node Shape as Terminator +Terminator, +//Used to specify node Shape as PaperTap +PaperTap, +//Used to specify node Shape as DirectData +DirectData, +//Used to specify node Shape as SequentialData +SequentialData, +//Used to specify node Shape as Sort +Sort, +//Used to specify node Shape as MultiDocument +MultiDocument, +//Used to specify node Shape as Collate +Collate, +//Used to specify node Shape as SummingJunction +SummingJunction, +//Used to specify node Shape as Or +Or, +//Used to specify node Shape as InternalStorage +InternalStorage, +//Used to specify node Shape as Extract +Extract, +//Used to specify node Shape as ManualOperation +ManualOperation, +//Used to specify node Shape as Merge +Merge, +//Used to specify node Shape as OffPageReference +OffPageReference, +//Used to specify node Shape as SequentialAccessStorage +SequentialAccessStorage, +//Used to specify node Shape as Annotation1 +Annotation1, +//Used to specify node Shape as Annotation2 +Annotation2, +//Used to specify node Shape as Data +Data, +//Used to specify node Shape as Card +Card, +} +} +module Diagram +{ +enum BPMNShapes +{ +//Used to specify node Shape as Event +Event, +//Used to specify node Shape as Gateway +Gateway, +//Used to specify node Shape as Message +Message, +//Used to specify node Shape as DataObject +DataObject, +//Used to specify node Shape as DataSource +DataSource, +//Used to specify node Shape as Activity +Activity, +//Used to specify node Shape as Group +Group, +} +} +module Diagram +{ +enum UMLActivityShapes +{ +//Used to set UML ActivityShapes as Action +Action, +//Used to set UML ActivityShapes as Decision +Decision, +//Used to set UML ActivityShapes as MergeNode +MergeNode, +//Used to set UML ActivityShapes as InitialNode +InitialNode, +//Used to set UML ActivityShapes as FinalNode +FinalNode, +//Used to set UML ActivityShapes as ForkNode +ForkNode, +//Used to set UML ActivityShapes as JoinNode +JoinNode, +//Used to set UML ActivityShapes as TimeEvent +TimeEvent, +//Used to set UML ActivityShapes as AcceptingEvent +AcceptingEvent, +//Used to set UML ActivityShapes as SendSignal +SendSignal, +//Used to set UML ActivityShapes as ReceiveSignal +ReceiveSignal, +//Used to set UML ActivityShapes as StructuredNode +StructuredNode, +//Used to set UML ActivityShapes as Note +Note, +} +} +module Diagram +{ +enum BPMNBoundary +{ +//Used to set BPMN SubProcess's Boundary as Default +Default, +//Used to set BPMN SubProcess's Boundary as Call +Call, +//Used to set BPMN SubProcess's Boundary as Event +Event, +} +} +module Diagram +{ +enum BPMNLoops +{ +//Used to set BPMN Activity's Loop as None +None, +//Used to set BPMN Activity's Loop as Standard +Standard, +//Used to set BPMN Activity's Loop as ParallelMultiInstance +ParallelMultiInstance, +//Used to set BPMN Activity's Loop as SequenceMultiInstance +SequenceMultiInstance, +} +} +module Diagram +{ +enum BPMNSubProcessTypes +{ +//Used to set BPMN SubProcess type as None +None, +//Used to set BPMN SubProcess type as Transaction +Transaction, +//Used to set BPMN SubProcess type as Event +Event, +} +} +module Diagram +{ +enum BPMNTasks +{ +//Used to set BPMN Task Type as None +None, +//Used to set BPMN Task Type as Service +Service, +//Used to set BPMN Task Type as Receive +Receive, +//Used to set BPMN Task Type as Send +Send, +//Used to set BPMN Task Type as InstantiatingReceive +InstantiatingReceive, +//Used to set BPMN Task Type as Manual +Manual, +//Used to set BPMN Task Type as BusinessRule +BusinessRule, +//Used to set BPMN Task Type as User +User, +//Used to set BPMN Task Type as Script +Script, +//Used to set BPMN Task Type as Parallel +Parallel, +} +} +module Diagram +{ +enum BPMNTriggers +{ +//Used to set Event Trigger as None +None, +//Used to set Event Trigger as Message +Message, +//Used to set Event Trigger as Timer +Timer, +//Used to set Event Trigger as Escalation +Escalation, +//Used to set Event Trigger as Link +Link, +//Used to set Event Trigger as Error +Error, +//Used to set Event Trigger as Compensation +Compensation, +//Used to set Event Trigger as Signal +Signal, +//Used to set Event Trigger as Multiple +Multiple, +//Used to set Event Trigger as Parallel +Parallel, +//Used to set Event Trigger as Conditional +Conditional, +//Used to set Event Trigger as Termination +Termination, +//Used to set Event Trigger as Cancel +Cancel, +} +} +module Diagram +{ +enum Shapes +{ +//Used to specify node type as Text +Text, +//Used to specify node type as Image +Image, +//Used to specify node type as Html +Html, +//Used to specify node type as Native +Native, +//Used to specify node type as Basic +Basic, +//Used to specify node type as Flow +Flow, +//Used to specify node type as BPMN +BPMN, +//Used to specify node type as UMLClassifier +UMLClassifier, +//Used to specify node type as UMLActivity +UMLActivity, +} +} +module Diagram +{ +enum PageOrientations +{ +//Used to set orientation as Landscape +Landscape, +//Used to set orientation as portrait +Portrait, +} +} +module Diagram +{ +enum ScrollLimit +{ +//Used to set scrollLimit as Infinite +Infinite, +//Used to set scrollLimit as Diagram +Diagram, +//Used to set scrollLimit as Limited +Limited, +} +} +module Diagram +{ +enum BoundaryConstraints +{ +//Used to set boundaryConstraints as Infinite +Infinite, +//Used to set boundaryConstraints as Diagram +Diagram, +//Used to set boundaryConstraints as Page +Page, +} +} +module Diagram +{ +enum SelectorConstraints +{ +//Hides the selector +None, +//Sets the visibility of rotation handle as visible +Rotator, +//Sets the visibility of resize handles as visible +Resizer, +//Sets the visibility of user handles as visible +UserHandles, +//Sets the visibility of all selection handles as visible +All, +} +} +module Diagram +{ +enum UserHandlePositions +{ +//Set the position of the userhandle as topleft +TopLeft, +//Set the position of the userhandle as topcenter +TopCenter, +//Set the position of the userhandle as topright +TopRight, +//Set the position of the userhandle as middleleft +MiddleLeft, +//Set the position of the userhandle as middleright +MiddleRight, +//Set the position of the userhandle as bottomleft +BottomLeft, +//Set the position of the userhandle as bottomcenter +BottomCenter, +//Set the position of the userhandle as bottom right +BottomRight, +} +} +module Diagram +{ +enum SnapConstraints +{ +//Enables node to be snapped to horizontal gridlines +None, +//Enables node to be snapped to vertical gridlines +SnapToHorizontalLines, +//Enables node to be snapped to horizontal gridlines +SnapToVerticalLines, +//Enables node to be snapped to gridlines +SnapToLines, +//Enable horizontal lines +ShowHorizontalLines, +//Enable vertical lines +ShowVerticalLines, +//Enable both horizontal and vertical lines +ShowLines, +//Enable all the constraints +All, +} +} +module Diagram +{ +enum Tool +{ +//Disables all Tools +None, +//Enables/Disables SingleSelect tool +SingleSelect, +//Enables/Disables MultiSelect tool +MultipleSelect, +//Enables/Disables ZoomPan tool +ZoomPan, +//Enables/Disables DrawOnce tool +DrawOnce, +//Enables/Disables ContinuousDraw tool +ContinuesDraw, +} +} +module Diagram +{ +enum RelativeMode +{ +//Shows tooltip around the node +Object, +//Shows tooltip at the mouse position +Mouse, +} +} +module Diagram +{ +enum FileFormats +{ +//Used to export the diagram into JPG format. +JPG, +//Used to export the diagram into PNG format. +PNG, +//Used to export the diagram into BMP format. +BMP, +//Used to export the diagram into SVG format. +SVG, +} +} +module Diagram +{ +enum ExportModes +{ +//Used to export the diagram as a file. +Download, +//Used to export the diagram as raw data. +Data, +} +} +module Diagram +{ +enum Region +{ +//Used to export the content of the diagram only. +Content, +//Used to export the page region of the diagram. +PageSettings, +} +} +module Diagram +{ +enum Stretch +{ +//The diagram content preserves its original size. +None, +//The diagram content is resized to fill the destination dimensions. The aspect ratio is not preserved. +Fill, +//The diagram content is resized to fit in the destination dimensions while it preserves its native aspect ratio. +Uniform, +//The diagram content is resized to fill the destination dimensions while it preserves its native aspect ratio. If the aspect ratio of the destination rectangle differs from the source, the source content is clipped to fit in the destination dimensions. +UniformToFill, +} +} +module Diagram +{ +enum FitMode +{ +//Used to fit the diagram content based on page size. +Page, +//Used to fit the diagram content based on diagram width. +Width, +//Used to fit the diagram content based on diagram height. +Height, +} +} +module Diagram +{ +enum ZoomCommand +{ +//Used to zoom in the Diagram +ZoomIn, +//Used to zoom out the diagram +ZoomOut, +} +} + +class HeatMap extends ej.Widget { + static fn: HeatMap; + constructor(element: JQuery, options?: HeatMap.Model); + constructor(element: Element, options?: HeatMap.Model); + static Locale: any; + model:HeatMap.Model; + defaults:HeatMap.Model; +} +export module HeatMap{ + +export interface Model { + + /** Specifies the width of the heat map. + * @Default {null} + */ + width?: any; + + /** Specifies the width of the heat map. + * @Default {null} + */ + height?: any; + + /** Specifies the name of the heat map. + * @Default {null} + */ + id?: number; + + /** Enables or disables tooltip of heatmap + * @Default {true} + */ + showTooltip?: boolean; + + /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. + */ + tooltipSettings?: TooltipSettings; + + /** Specifies the source data of the heat map. + * @Default {[]} + */ + itemsSource?: any; + + /** Specifies the property of the heat map cell. + * @Default {Null} + */ + heatMapCell?: HeatMapCell; + + /** Specifies can enable responsive mode or not for heat map. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies whether the virtualization can be enable or not. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the default column properties for all the column style not specified in column properties. + * @Default {[]} + */ + defaultColumnStyle?: DefaultColumnStyle; + + /** Specifies the no of legends can sync with heat map. + * @Default {[]} + */ + legendCollection?: Array; + + /** Specifies the property and display value of the heat map column. + * @Default {[]} + */ + itemsMapping?: ItemsMapping; + + /** Specifies the color values of the heat map column data. + * @Default {[]} + */ + colorMappingCollection?: Array; + + /** Triggered when the mouse over on the cell. */ + cellMouseOver? (e: CellMouseOverEventArgs): void; + + /** Triggered when the mouse over on the cell. */ + cellMouseEnter? (e: CellMouseEnterEventArgs): void; + + /** Triggered when the mouse over on the cell. */ + cellMouseLeave? (e: CellMouseLeaveEventArgs): void; + + /** Triggered when the mouse over on the cell. */ + cellSelected? (e: CellSelectedEventArgs): void; +} + +export interface CellMouseOverEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; +} + +export interface CellMouseEnterEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; +} + +export interface CellMouseLeaveEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; +} + +export interface CellSelectedEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; +} + +export interface TooltipSettingsPositionTarget { + + /** Sets the arrow position again popup based on horizontal(x) value + * @Default {center} + */ + horizontal?: ej.datavisualization.HeatMap.Horizontal|string; + + /** Sets the arrow position again popup based on vertical(y) value + * @Default {top} + */ + vertical?: ej.datavisualization.HeatMap.Vertical|string; +} + +export interface TooltipSettingsPositionStem { + + /** Sets the arrow position again popup based on horizontal(x) value + * @Default {center} + */ + horizontal?: ej.datavisualization.HeatMap.Horizontal|string; + + /** Sets the arrow position again popup based on vertical(y) value + * @Default {bottom} + */ + vertical?: ej.datavisualization.HeatMap.Vertical|string; +} + +export interface TooltipSettingsPosition { + + /** Sets the Tooltip position against target. + */ + target?: TooltipSettingsPositionTarget; + + /** Sets the arrow position again popup. + */ + stem?: TooltipSettingsPositionStem; +} + +export interface TooltipSettingsAnimation { + + /** Defines the animation effect for the tooltip that should be shown when the mouse hovers over rows/columns. + * @Default {none} + */ + effect?: ej.datavisualization.HeatMap.Effect|string; + + /** Defines the animation speed for the tooltip that should be shown when the mouse hovers over rows/columns. + * @Default {0} + */ + speed?: number; +} + +export interface TooltipSettings { + + /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. + * @Default {null} + */ + templateId?: string; + + /** Defines the tooltip of associate that should be shown when the mouse hovers over rows/columns. + * @Default {mouseFollow} + */ + associate?: ej.datavisualization.HeatMap.Associate|string; + + /** Enables/ disables the balloon for the tooltip to be shown + * @Default {true} + */ + isBalloon?: boolean; + + /** Defines various attributes of the Tooltip position + */ + position?: TooltipSettingsPosition; + + /** Defines the tooltip to be triggered. + * @Default {hover} + */ + trigger?: ej.datavisualization.HeatMap.Trigger|string; + + /** Defines the animation for the tooltip that should be shown when the mouse hovers over rows/columns. + */ + animation?: TooltipSettingsAnimation; +} + +export interface HeatMapCell { + + /** Specifies whether the cell content can be visible or not. + * @Default {ej.HeatMap.CellVisibility.Visible} + */ + showContent?: ej.datavisualization.HeatMap.CellVisibility|string; + + /** Specifies whether the cell color can be visible or not. + * @Default {true} + */ + showColor?: boolean; +} + +export interface DefaultColumnStyle { + + /** Specifies the alignment mode of the heat map column. + * @Default {ej.HeatMap.TextAlign.Center} + */ + textAlign?: any; + + /** Specifies the template id of the heat map column header. + */ + headerTemplateID?: string; + + /** Specifies the template id of all individual cell data of the heat map. + */ + templateID?: string; +} + +export interface ItemsMappingColumnStyle { + + /** Specifies the width of the heat map column. + * @Default {0} + */ + width?: number; + + /** Specifies the text align mode of the heat map column. + * @Default {ej.HeatMap.TextAlign.Center} + */ + textAlign?: string; + + /** Specifies the template id of the column header. + */ + headerTemplateID?: string; + + /** Specifies the template id of all individual cell data. + */ + templateID?: string; +} + +export interface ItemsMappingColumn { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; +} + +export interface ItemsMappingRow { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; +} + +export interface ItemsMappingValue { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; +} + +export interface ItemsMappingHeaderMapping { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; + + /** Specifies the property and display value of the header. + * @Default {null} + */ + columnStyle?: any; +} + +export interface ItemsMapping { + + /** Column settings for the individual heat map column. + * @Default {null} + */ + columnStyle?: ItemsMappingColumnStyle; + + /** Specifies the property and display value of the column. + * @Default {null} + */ + column?: ItemsMappingColumn; + + /** Specifies the row property and display value of the heat map. + * @Default {null} + */ + row?: ItemsMappingRow; + + /** Specifies the property and display value of the column value. + * @Default {null} + */ + value?: ItemsMappingValue; + + /** Specifies the property and display value of the header. + * @Default {null} + */ + headerMapping?: ItemsMappingHeaderMapping; + + /** Specifies the property and display value of the collection of column. + * @Default {[]} + */ + columnMapping?: Array; +} + +export interface ColorMappingCollectionLabel { + + /** Enables/disables the bold style of the heat map label. + * @Default {false} + */ + bold?: boolean; + + /** Enables/disables the italic style of the heat map label. + * @Default {false} + */ + italic?: boolean; + + /** specifies the text value of the heat map label. + */ + text?: string; + + /** Specifies the text style of the heat map label. + * @Default {ej.HeatMap.TextDecoration.None} + */ + textDecoration?: ej.datavisualization.HeatMap.TextDecoration |string; + + /** Specifies the font size of the heat map label. + * @Default {10} + */ + fontSize?: number; + + /** Specifies the font family of the heat map label. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the font color of the heat map label. + * @Default {black} + */ + fontColor?: string; +} + +export interface ColorMappingCollection { + + /** Specifies the color of the heat map column data. + * @Default {white} + */ + color?: string; + + /** Specifies the color values of the heat map column data. + * @Default {0} + */ + value?: number; + + /** Specifies the label properties of the heat map color. + * @Default {null} + */ + label?: ColorMappingCollectionLabel; +} +} +module HeatMap +{ +enum Associate +{ +//Used to set the associate of tooltip as Target +Target, +//Used to set the associate of tooltip as MouseFollow +MouseFollow, +//Used to set the associate of tooltip as MouseEnter +MouseEnter, +} +} +module HeatMap +{ +enum Horizontal +{ +//Used to display the tooltip horizontally on left side of rows/columns +Left, +//Used to display the tooltip horizontally on center side of rows/columns +Center, +//Used to display the tooltip horizontally on right side of rows/columns +Right, +} +} +module HeatMap +{ +enum Vertical +{ +//Used to display the tooltip horizontally on left side of rows/columns +Top, +//Used to display the tooltip horizontally on center side of rows/columns +Center, +//Used to display the tooltip horizontally on right side of rows/columns +Bottom, +} +} +module HeatMap +{ +enum Trigger +{ +//Tooltip can be triggered on mouse hovers +Hover, +//Tooltip can be triggered on mouse click +Click, +} +} +module HeatMap +{ +enum Effect +{ +//Sets tooltip animation as None +None, +//Sets tooltip animation as Fade +Fade, +//Sets tooltip animation as Slide +Slide, +} +} +module HeatMap +{ +enum CellVisibility +{ +//Display the content of the cell +Visible, +//Hide the content of the cell +Hidden, +} +} +module HeatMap +{ +enum TextDecoration +{ +//Defines a line below the text +Underline, +//Defines a line above the text +Overline, +//Defines a line through the text +LineThrough, +//Defines a normal text. This is default +None, +} +} + +class HeatMapLegend extends ej.Widget { + static fn: HeatMapLegend; + constructor(element: JQuery, options?: HeatMapLegend.Model); + constructor(element: Element, options?: HeatMapLegend.Model); + static Locale: any; + model:HeatMapLegend.Model; + defaults:HeatMapLegend.Model; +} +export module HeatMapLegend{ + +export interface Model { + + /** Specifies the width of the heatmap legend. + * @Default {null} + */ + width?: any; + + /** Specifies the height of the heatmap legend. + * @Default {null} + */ + height?: any; + + /** Specifies can enable responsive mode or not for heatmap legend. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies whether the cell label can be shown or not. + * @Default {false} + */ + showLabel?: boolean; + + /** Specifies the color values of the column data. + * @Default {[]} + */ + colorMappingCollection?: Array; + + /** Specifies the orientation of the heatmap legend + * @Default {ej.HeatMap.LegendOrientation.Horizontal} + */ + orientation?: ej.datavisualization.HeatMap.LegendOrientation|string; + + /** Specifies the legend mode as gradient or list. + * @Default {ej.HeatMap.LegendMode.Gradient} + */ + legendMode?: ej.datavisualization.HeatMap.LegendMode|string; +} + +export interface ColorMappingCollectionLabel { + + /** Enables/disables the bold style of the heatmap legend label. + * @Default {false} + */ + bold?: boolean; + + /** Enables/disables the italic style of the heatmap legend label. + * @Default {false} + */ + italic?: boolean; + + /** specifies the text value of the heatmap legend label. + */ + text?: string; + + /** Specifies the text style of the heatmap legend label. + * @Default {ej.HeatMap.TextDecoration.None} + */ + textDecoration?: ej.datavisualization.HeatMap.TextDecoration|string; + + /** Specifies the font size of the heatmap legend label. + * @Default {10} + */ + fontSize?: number; + + /** Specifies the font family of the heatmap legend label. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the font color of the heatmap legend label. + * @Default {black} + */ + fontColor?: string; +} + +export interface ColorMappingCollection { + + /** Specifies the color of the heatmap legend data. + * @Default {white} + */ + color?: string; + + /** Specifies the color values of the heatmap legend column data. + * @Default {0} + */ + value?: number; + + /** Specifies the label properties of the heatmap legend color. + * @Default {null} + */ + label?: ColorMappingCollectionLabel; +} +} +module HeatMap +{ +enum LegendOrientation +{ +//Scales the graphic content non-uniformly to the width and height of the diagram area +Horizontal, +//Used to align the image at the top left of diagram area +Vertical, +} +} +module HeatMap +{ +enum LegendMode +{ +//Scales the graphic content non-uniformly to the width and height of the diagram area +Gradient, +//Used to align the image at the top left of diagram area +List, +} +} + +class Sparkline extends ej.Widget { + static fn: Sparkline; + constructor(element: JQuery, options?: Sparkline.Model); + constructor(element: Element, options?: Sparkline.Model); + static Locale: any; + model:Sparkline.Model; + defaults:Sparkline.Model; + + /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; +} +export module Sparkline{ + +export interface Model { + + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; + + /** Fill color for the sparkline series. + * @Default {#33ccff} + */ + fill?: string; + + /** Border color of the series. + * @Default {null} + */ + stroke?: string; + + /** Options for customizing the color, opacity and width of the sparkline border. + */ + border?: Border; + + /** Border width of the series. + * @Default {1} + */ + width?: number; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Color for series high point. + * @Default {null} + */ + highPointColor?: string; + + /** Color for series low point. + * @Default {null} + */ + lowPointColor?: string; + + /** Color for series start point. + * @Default {null} + */ + startPointColor?: string; + + /** Color for series end point. + * @Default {null} + */ + endPointColor?: string; + + /** Color for series negative point. + * @Default {null} + */ + negativePointColor?: string; + + /** Options for customizing the color, opacity of the sparkline start and end range. + */ + rangeBandSettings?: RangeBandSettings; + + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; + + /** Controls whether sparkline has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. + * @Default {false} + */ + enableCanvasRendering?: boolean; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Gap or padding for sparkline. + * @Default {8} + */ + padding?: number; + + /** Specifies the type of the series to render in sparkline. + * @Default {line. See Type} + */ + type?: ej.datavisualization.Sparkline.Type|string; + + /** Specifies the theme for Sparkline. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sparkline.Theme|string; + + /** Options to customize the tooltip. + */ + tooltip?: Tooltip; + + /** Options for displaying and customizing marker for a data point. + */ + markerSettings?: MarkerSettings; + + /** Options to customize the Sparkline size. + */ + size?: Size; + + /** Options for customizing the color,dashArray and width of the axisLine. + */ + axisLineSettings?: AxisLineSettings; + + /** Fires before loading the sparkline. */ + load? (e: LoadEventArgs): void; + + /** Fires after loaded the sparkline. */ + loaded? (e: LoadedEventArgs): void; + + /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ + tooltipInitialize? (e: TooltipInitializeEventArgs): void; + + /** Fires before rendering a series. This event is fired for each series in Sparkline. */ + seriesRendering? (e: SeriesRenderingEventArgs): void; + + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + + /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ + pointRegionMouseClick? (e: PointRegionMouseClickEventArgs): void; + + /** Fires on moving mouse over the sparkline. */ + sparklineMouseMove? (e: SparklineMouseMoveEventArgs): void; + + /** Fires on moving mouse outside the sparkline. */ + sparklineMouseLeave? (e: SparklineMouseLeaveEventArgs): void; +} + +export interface LoadEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface LoadedEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface TooltipInitializeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X Location of the trackball tooltip in pixels + */ + locationX?: any; + + /** Y Location of the trackball tooltip in pixels + */ + locationY?: any; + + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; + + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; +} + +export interface SeriesRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Minimum x value of the data point + */ + minX?: any; + + /** Minimum y value of the data point + */ + minY?: any; + + /** Maximum x value of the data point + */ + maxX?: any; + + /** Maximum y value of the data point + */ + maxY?: any; +} + +export interface PointRegionMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; +} + +export interface PointRegionMouseClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; +} + +export interface SparklineMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface SparklineMouseLeaveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface Border { + + /** Border color of the sparkline. + * @Default {transparent} + */ + color?: string; + + /** Width of the Sparkline border. + * @Default {1} + */ + width?: number; +} + +export interface RangeBandSettings { + + /** Start value of the range band. + * @Default {null} + */ + startRange?: number; + + /** End value of the range band. + * @Default {null} + */ + endRange?: number; + + /** Range band opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Range band color of the series. + * @Default {transparent} + */ + color?: string; +} + +export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {transparent} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; +} + +export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {#111111} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sparkline.FontStyle|string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sparkline.FontWeight|string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {8px} + */ + size?: string; +} + +export interface Tooltip { + + /** Show/hides the tooltip visibility. + * @Default {false} + */ + visible?: boolean; + + /** Fill color for the sparkline tooltip. + * @Default {white} + */ + fill?: string; + + /** Custom template to the tooltip. + */ + template?: string; + + /** Options for customizing the border of the tooltip. + */ + border?: TooltipBorder; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; +} + +export interface MarkerSettingsBorder { + + /** Border color of the marker shape. + * @Default {transparent} + */ + color?: string; + + /** Controls the opacity of the marker border. + * @Default {1} + */ + opacity?: number; + + /** Border width of the marker shape. + * @Default {null} + */ + width?: number; +} + +export interface MarkerSettings { + + /** Controls the opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + + /** width of the marker shape. + * @Default {2} + */ + width?: number; + + /** Color of the marker shape. + * @Default {white} + */ + fill?: string; + + /** Options for customizing the border of the marker shape. + */ + border?: MarkerSettingsBorder; +} + +export interface Size { + + /** Height of the Sparkline. Height can be specified in either pixel or percentage. + * @Default {''} + */ + height?: string; + + /** Width of the Sparkline. Width can be specified in either pixel or percentage. + * @Default {''} + */ + width?: string; +} + +export interface AxisLineSettings { + + /** Controls the visibility of the axis. + * @Default {false} + */ + visible?: boolean; + + /** Color of the axis line. + * @Default {'#111111'} + */ + color?: string; + + /** Width of the axis line. + * @Default {1} + */ + width?: number; + + /** Dash array of the axis line. + * @Default {1} + */ + dashArray?: number; +} +} +module Sparkline +{ +enum Type +{ +//string +Area, +//string +Line, +//string +Column, +//string +Pie, +//string +WinLoss, +} +} +module Sparkline +{ +enum Theme +{ +//string +Azure, +//string +FlatLight, +//string +FlatDark, +//string +Azuredark, +//string +Lime, +//string +LimeDark, +//string +Saffron, +//string +SaffronDark, +//string +GradientLight, +//string +GradientDark, +} +} +module Sparkline +{ +enum FontStyle +{ +//string +Normal, +//string +Italic, +} +} +module Sparkline +{ +enum FontWeight +{ +//string +Regular, +//string +Bold, +//string +Lighter, +} +} + +class SunburstChart extends ej.Widget { + static fn: SunburstChart; + constructor(element: JQuery, options?: SunburstChart.Model); + constructor(element: Element, options?: SunburstChart.Model); + static Locale: any; + model:SunburstChart.Model; + defaults:SunburstChart.Model; + + /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; + + /** destroy the sunburst + * @returns {void} + */ + _destroy(): void; +} +export module SunburstChart{ + +export interface Model { + + /** Background color of the plot area. + * @Default {null} + */ + background?: string; + + /** Bind the data field from the data source. + * @Default {null} + */ + valueMemberPath?: string; + + /** Options for customizing the sunburst border. + */ + border?: Border; + + /** Options for customizing the sunburst segment border. + */ + segmentBorder?: SegmentBorder; + + /** Specifies the dataSource to the sunburst. + * @Default {null} + */ + dataSource?: any; + + /** Palette color for the data points. + * @Default {null} + */ + palette?: string; + + /** Parent node of the data points. + * @Default {null} + */ + parentNode?: string; + + /** Name of the property in the datasource that contains x values. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y values. + * @Default {null} + */ + yName?: string; + + /** Controls whether sunburst has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Options to customize the Sunburst size. + */ + size?: Size; + + /** Controls the visibility of sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options to customize the Sunburst tooltip. + */ + tooltip?: Tooltip; + + /** Options for customizing sunburst points. + */ + points?: Points; + + /** Sunburst rendering will start from the specified value + * @Default {null} + */ + startAngle?: number; + + /** Sunburst rendering will end at the specified value + * @Default {null} + */ + endAngle?: number; + + /** Sunburst outer radius value + * @Default {1} + */ + radius?: number; + + /** Sunburst inner radius value + * @Default {0.4} + */ + innerRadius?: number; + + /** Options to customize the Sunburst dataLabel. + */ + dataLabelSettings?: DataLabelSettings; + + /** Options for customizing the title and subtitle of sunburst. + */ + title?: Title; + + /** Options for customizing the appearance of the levels or point while highlighting. + */ + highlightSettings?: HighlightSettings; + + /** Options for customizing the appearance of the levels or data point while selection. + */ + selectionSettings?: SelectionSettings; + + /** Specify levels of sunburst for grouped visualization of data + * @Default {[]} + */ + levels?: Array; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; + + /** Specifies the theme for Sunburst. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sunburst.SunburstTheme|string; + + /** Options to customize the left, right, top and bottom margins of sunburst area. + */ + margin?: Margin; + + /** Enable/disable the animation for all the levels. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Opacity of the levels. + * @Default {1} + */ + opacity?: number; + + /** Options for enable zooming feature of chart. + */ + zoomSettings?: ZoomSettings; + + /** Animation type of sunburst + * @Default {rotation. See Alignment} + */ + animationType?: ej.datavisualization.Sunburst.Animation|string; + + /** Fires before loading. */ + load? (e: LoadEventArgs): void; + + /** Fires before rendering sunburst. */ + preRender? (e: PreRenderEventArgs): void; + + /** Fires after rendering sunburst. */ + loaded? (e: LoadedEventArgs): void; + + /** Fires before rendering the datalabel */ + dataLabelRendering? (e: DataLabelRenderingEventArgs): void; + + /** Fires before rendering each segment */ + segmentRendering? (e: SegmentRenderingEventArgs): void; + + /** Fires before rendering sunburst title. */ + titleRendering? (e: TitleRenderingEventArgs): void; + + /** Fires during initialization of tooltip. */ + tooltipInitialize? (e: TooltipInitializeEventArgs): void; + + /** Fires after clicking the point in sunburst */ + pointRegionClick? (e: PointRegionClickEventArgs): void; + + /** Fires while moving the mouse over sunburst points */ + pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + + /** Fires when clicking the point to perform drilldown. */ + drillDownClick? (e: DrillDownClickEventArgs): void; + + /** Fires when resetting drilldown points. */ + drillDownBack? (e: DrillDownBackEventArgs): void; + + /** Fires after resetting the sunburst points */ + drillDownReset? (e: DrillDownResetEventArgs): void; +} + +export interface LoadEventArgs { + + /** Load event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface PreRenderEventArgs { + + /** PreRender event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface LoadedEventArgs { + + /** Loaded event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DataLabelRenderingEventArgs { + + /** Sunburst datalabel data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface SegmentRenderingEventArgs { + + /** Sunburst datalabel data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface TitleRenderingEventArgs { + + /** Sunburst title data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface TooltipInitializeEventArgs { + + /** Sunburst tooltip data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface PointRegionClickEventArgs { + + /** Includes clicked points region data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface PointRegionMouseMoveEventArgs { + + /** Includes data of mouse moved region + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DrillDownClickEventArgs { + + /** Clicked point data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DrillDownBackEventArgs { + + /** Drill down data of points + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface DrillDownResetEventArgs { + + /** Drill down reset data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; +} + +export interface Border { + + /** Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst border. + * @Default {2} + */ + width?: number; +} + +export interface SegmentBorder { + + /** Segment Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst segment border. + * @Default {2} + */ + width?: number; +} + +export interface Size { + + /** Height of the Sunburst. + * @Default {''} + */ + height?: string; + + /** Width of the Sunburst. + * @Default {''} + */ + width?: string; +} + +export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {5} + */ + width?: number; +} + +export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {null} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {12px} + */ + size?: string; +} + +export interface Tooltip { + + /** tooltip visibility of the Sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options for customizing the border of the sunburst tooltip. + */ + border?: TooltipBorder; + + /** Fill color for the sunburst tooltip. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + + /** Custom template to the tooltip. + * @Default {null} + */ + template?: string; +} + +export interface Points { + + /** Points x value of the sunburst. + * @Default {null} + */ + x?: string; + + /** Points y value of the sunburst. + * @Default {null} + */ + y?: number; + + /** Points text of the sunburst. + * @Default {null} + */ + text?: string; + + /** Points fill color of the sunburst. + * @Default {null} + */ + fill?: string; +} + +export interface DataLabelSettingsFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; +} + +export interface DataLabelSettings { + + /** Datalabel visibility of the Sunburst. + * @Default {false} + */ + visible?: boolean; + + /** Alignment of sunburst datalabel + * @Default {Angle. See DatalabelAlignment} + */ + labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode|string; + + /** Options for customizing the data label font. + */ + font?: DataLabelSettingsFont; + + /** Custom template for datalabel + * @Default {null} + */ + template?: string; + + /** Fill color for the datalabel + * @Default {null} + */ + fill?: string; + + /** Datalabel overflow mode + * @Default {Trim. See LabelOverflowMode} + */ + labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode|string; +} + +export interface TitleFont { + + /** Font family for Sunburst title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Sunburst title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for Sunburst title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity of the Sunburst title. + * @Default {1} + */ + opacity?: number; + + /** Font size for Sunburst title. + * @Default {20px} + */ + size?: string; +} + +export interface TitleSubtitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; +} + +export interface TitleSubtitle { + + /** Subtitle text for sunburst + */ + text?: string; + + /** Sub title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Sub title text alignment + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + + /** Options for customizing the font of sub title. + */ + font?: TitleSubtitleFont; +} + +export interface Title { + + /** Title text for sunburst + */ + text?: string; + + /** Title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Title text alignment + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + + /** Options for customizing the font of sunburst title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Sunburst. + */ + subtitle?: TitleSubtitle; +} + +export interface HighlightSettings { + + /** Enables/disables the ability to highlight the levels or point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or point has to be highlighted. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; + + /** Color of the levels/point on highlight. + * @Default {red} + */ + color?: string; + + /** Opacity of the levels/point on highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be highlighted. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; +} + +export interface SelectionSettings { + + /** Enables/disables the ability to select the levels or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or data point has to be selected. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; + + /** Color of the levels/point on selection. + * @Default {green} + */ + color?: string; + + /** Opacity of the levels/point on selection. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be selected. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; +} + +export interface Level { + + /** Specifies the group member path + * @Default {null} + */ + groupMemberPath?: string; +} + +export interface LegendBorder { + + /** Border color of the legend. + * @Default {null} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; +} + +export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; +} + +export interface LegendItemStyle { + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; +} + +export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; +} + +export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; +} + +export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; +} + +export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Enables or disables the legend title. + * @Default {true} + */ + visible?: string; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; +} + +export interface Legend { + + /** Visibility of the legend. + * @Default {false} + */ + visible?: boolean; + + /** Interactive action of legend items. + * @Default {toggleSegmentVisibility. See Alignment} + */ + clickAction?: ej.datavisualization.Sunburst.SunburstClickAction|string; + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Sunburst.SunburstLegendPosition|string; + + /** Shape of the legend items. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Sunburst.SunburstLegendShape|string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; +} + +export interface Margin { + + /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. + * @Default {10} + */ + left?: number; + + /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. + * @Default {10} + */ + right?: number; + + /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. + * @Default {10} + */ + top?: number; + + /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. + * @Default {10} + */ + bottom?: number; +} + +export interface ZoomSettings { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Toolbar horizontal alignment + * @Default {right. See Alignment} + */ + toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment|string; + + /** Toolbar vertical alignment + * @Default {top. See Alignment} + */ + toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment|string; +} +} +module Sunburst +{ +enum FontStyle +{ +//string +Normal, +//string +Italic, +} +} +module Sunburst +{ +enum FontWeight +{ +//string +Regular, +//string +Bold, +//string +Lighter, +} +} +module Sunburst +{ +enum SunburstLabelRotationMode +{ +//string +Angle, +//string +Normal, +} +} +module Sunburst +{ +enum SunburstLabelOverflowMode +{ +//string +Trim, +//string +Hide, +//string +None, +} +} +module Sunburst +{ +enum SunburstAlignment +{ +//string +Center, +//string +Near, +//string +Far, +} +} +module Sunburst +{ +enum SunburstHighlightMode +{ +//string +Point, +//string +Parent, +//string +Child, +//string +All, +} +} +module Sunburst +{ +enum SunburstHighlightType +{ +//string +Opacity, +//string +Color, +} +} +module Sunburst +{ +enum SunburstClickAction +{ +//string +None, +//string +ToggleSegmentVisibility, +//string +ToggleSegmentSelection, +} +} +module Sunburst +{ +enum SunburstLegendPosition +{ +//string +Left, +//string +Right, +//string +Top, +//string +Bottom, +} +} +module Sunburst +{ +enum SunburstLegendShape +{ +//string +Diamond, +//string +Pentagon, +//string +Rectangle, +//string +Circle, +//string +Cross, +//string +Triangle, +} +} +module Sunburst +{ +enum SunburstTheme +{ +//string +FlatLight, +//string +FlatDark, +} +} +module Sunburst +{ +enum SunburstHorizontalAlignment +{ +//string +Center, +//string +Left, +//string +Right, +} +} +module Sunburst +{ +enum SunburstVerticalAlignment +{ +//string +Top, +//string +Bottom, +//string +Middle, +} +} +module Sunburst +{ +enum Animation +{ +//string +Rotation, +//string +FadeIn, +} +} + +class Overview extends ej.Widget { + static fn: Overview; + constructor(element: JQuery, options?: Overview.Model); + constructor(element: Element, options?: Overview.Model); + static Locale: any; + model:Overview.Model; + defaults:Overview.Model; +} +export module Overview{ + +export interface Model { + + /** The sourceId property of overview should be set with the corresponding Diagram ID for you need the overall view. + * @Default {null} + */ + sourceID?: string; + + /** Defines the height of the overview + * @Default {400} + */ + height?: number; + + /** Defines the width of the overview + * @Default {250} + */ + width?: number; +} +} } interface JQueryXHR { - /** - * Returns the cancel option value. - */ - cancel?: boolean; } interface JQueryPromise { - /** - * Returns the cancel option value. - */ - cancel?: boolean; } interface JQueryDeferred extends JQueryPromise { - /** - * Returns the cancel option value. - */ - cancel?: boolean; } interface JQueryParam { - /** - * Returns the cancel option value. - */ - cancel?: boolean; } interface JQuery { - data(key: any): any; + data(key: any): any; } interface Window { - ej: typeof ej; + ej: typeof ej; } interface JQuery { - ejAccordion(options?: ej.Accordion.Model): JQuery; - ejAccordion(memberName: any, value?: any, param?: any): any; - - ejAutocomplete(options?: ej.Autocomplete.Model): JQuery; - ejAutocomplete(memberName: any, value?: any, param?: any): any; - - ejBarcode(options?: ej.datavisualization.Barcode.Model): JQuery; - ejBarcode(memberName: any, value?: any, param?: any): any; - - ejBulletGraph(options?: ej.datavisualization.BulletGraph.Model): JQuery; - ejBulletGraph(memberName: any, value?: any, param?: any): any; - - ejButton(options?: ej.Button.Model): JQuery; - ejButton(memberName: any, value?: any, param?: any): any; - - ejCaptcha(options?: ej.Captcha.Model): JQuery; - ejCaptcha(memberName: any, value?: any, param?: any): any; - - ejChart(options?: ej.datavisualization.Chart.Model): JQuery; - ejChart(memberName: any, value?: any, param?: any): any; - - ejCheckBox(options?: ej.CheckBox.Model): JQuery; - ejCheckBox(memberName: any, value?: any, param?: any): any; - - ejCircularGauge(options?: ej.datavisualization.CircularGauge.Model): JQuery; - ejCircularGauge(memberName: any, value?: any, param?: any): any; - - ejColorPicker(options?: ej.ColorPicker.Model): JQuery; - ejColorPicker(memberName: any, value?: any, param?: any): any; - - ejDatePicker(options?: ej.DatePicker.Model): JQuery; - ejDatePicker(memberName: any, value?: any, param?: any): any; - - ejDateRangePicker(options?: ej.DateRangePicker.Model): JQuery; - ejDateRangePicker(memberName: any, value?: any, param?: any): any; - - ejDateTimePicker(options?: ej.DateTimePicker.Model): JQuery; - ejDateTimePicker(memberName: any, value?: any, param?: any): any; - - ejDiagram(options?: ej.datavisualization.Diagram.Model): JQuery; - ejDiagram(memberName: any, value?: any, param?: any): any; - - ejDialog(options?: ej.Dialog.Model): JQuery; - ejDialog(memberName: any, value?: any, param?: any): any; - - ejDigitalGauge(options?: ej.datavisualization.DigitalGauge.Model): JQuery; - ejDigitalGauge(memberName: any, value?: any, param?: any): any; - - ejDocumentEditor(options?: ej.DocumentEditor.Model): JQuery; - ejDocumentEditor(memberName: any, value?: any, param?: any): any; - - ejDraggable(options?: ej.Draggable.Model): JQuery; - ejDraggable(memberName: any, value?: any, param?: any): any; - - ejDropDownList(options?: ej.DropDownList.Model): JQuery; - ejDropDownList(memberName: any, value?: any, param?: any): any; - - ejDroppable(options?: ej.Droppable.Model): JQuery; - ejDroppable(memberName: any, value?: any, param?: any): any; - - ejFileExplorer(options?: ej.FileExplorer.Model): JQuery; - ejFileExplorer(memberName: any, value?: any, param?: any): any; - - ejGantt(options?: ej.Gantt.Model): JQuery; - ejGantt(memberName: any, value?: any, param?: any): any; - - ejGrid(options?: ej.Grid.Model): JQuery; - ejGrid(memberName: any, value?: any, param?: any): any; - - ejGroupButton(options?: ej.GroupButton.Model): JQuery; - ejGroupButton(memberName: any, value?: any, param?: any): any; - - ejHeatMap(options?: ej.datavisualization.HeatMap.Model): JQuery; - ejHeatMap(memberName: any, value?: any, param?: any): any; - - ejHeatMapLegend(options?: ej.datavisualization.HeatMapLegend.Model): JQuery; - ejHeatMapLegend(memberName: any, value?: any, param?: any): any; - - ejKanban(options?: ej.Kanban.Model): JQuery; - ejKanban(memberName: any, value?: any, param?: any): any; - - ejLinearGauge(options?: ej.datavisualization.LinearGauge.Model): JQuery; - ejLinearGauge(memberName: any, value?: any, param?: any): any; - - ejListBox(options?: ej.ListBox.Model): JQuery; - ejListBox(memberName: any, value?: any, param?: any): any; - - ejListView(options?: ej.ListView.Model): JQuery; - ejListView(memberName: any, value?: any, param?: any): any; - - ejMap(options?: ej.datavisualization.Map.Model): JQuery; - ejMap(memberName: any, value?: any, param?: any): any; - - ejMaskEdit(options?: ej.MaskEdit.Model): JQuery; - ejMaskEdit(memberName: any, value?: any, param?: any): any; - - ejMenu(options?: ej.Menu.Model): JQuery; - ejMenu(memberName: any, value?: any, param?: any): any; - - ejNavigationDrawer(options?: ej.NavigationDrawer.Model): JQuery; - ejNavigationDrawer(memberName: any, value?: any, param?: any): any; - - ejOverview(options?: ej.datavisualization.Overview.Model): JQuery; - ejOverview(memberName: any, value?: any, param?: any): any; - - ejPager(options?: ej.Pager.Model): JQuery; - ejPager(memberName: any, value?: any, param?: any): any; - - ejPdfViewer(options?: ej.PdfViewer.Model): JQuery; - ejPdfViewer(memberName: any, value?: any, param?: any): any; - - ejPivotChart(options?: ej.PivotChart.Model): JQuery; - ejPivotChart(memberName: any, value?: any, param?: any): any; - - ejPivotClient(options?: ej.PivotClient.Model): JQuery; - ejPivotClient(memberName: any, value?: any, param?: any): any; - - ejPivotGauge(options?: ej.PivotGauge.Model): JQuery; - ejPivotGauge(memberName: any, value?: any, param?: any): any; - - ejPivotGrid(options?: ej.PivotGrid.Model): JQuery; - ejPivotGrid(memberName: any, value?: any, param?: any): any; - - ejPivotPager(options?: ej.PivotPager.Model): JQuery; - ejPivotPager(memberName: any, value?: any, param?: any): any; - - ejPivotSchemaDesigner(options?: ej.PivotSchemaDesigner.Model): JQuery; - ejPivotSchemaDesigner(memberName: any, value?: any, param?: any): any; - - ejPivotTreeMap(options?: ej.PivotTreeMap.Model): JQuery; - ejPivotTreeMap(memberName: any, value?: any, param?: any): any; - - ejProgressBar(options?: ej.ProgressBar.Model): JQuery; - ejProgressBar(memberName: any, value?: any, param?: any): any; - - ejRadialMenu(options?: ej.RadialMenu.Model): JQuery; - ejRadialMenu(memberName: any, value?: any, param?: any): any; - - ejRadialSlider(options?: ej.RadialSlider.Model): JQuery; - ejRadialSlider(memberName: any, value?: any, param?: any): any; - - ejRadioButton(options?: ej.RadioButton.Model): JQuery; - ejRadioButton(memberName: any, value?: any, param?: any): any; - - ejRangeNavigator(options?: ej.datavisualization.RangeNavigator.Model): JQuery; - ejRangeNavigator(memberName: any, value?: any, param?: any): any; - - ejRating(options?: ej.Rating.Model): JQuery; - ejRating(memberName: any, value?: any, param?: any): any; - - ejRecurrenceEditor(options?: ej.RecurrenceEditor.Model): JQuery; - ejRecurrenceEditor(memberName: any, value?: any, param?: any): any; - - ejReportViewer(options?: ej.ReportViewer.Model): JQuery; - ejReportViewer(memberName: any, value?: any, param?: any): any; - - ejResizable(options?: ej.Resizable.Model): JQuery; - ejResizable(memberName: any, value?: any, param?: any): any; - - ejRibbon(options?: ej.Ribbon.Model): JQuery; - ejRibbon(memberName: any, value?: any, param?: any): any; - - ejRotator(options?: ej.Rotator.Model): JQuery; - ejRotator(memberName: any, value?: any, param?: any): any; - - ejRTE(options?: ej.RTE.Model): JQuery; - ejRTE(memberName: any, value?: any, param?: any): any; - - ejSchedule(options?: ej.Schedule.Model): JQuery; - ejSchedule(memberName: any, value?: any, param?: any): any; - - ejScroller(options?: ej.Scroller.Model): JQuery; - ejScroller(memberName: any, value?: any, param?: any): any; - - ejSignature(options?: ej.Signature.Model): JQuery; - ejSignature(memberName: any, value?: any, param?: any): any; - - ejSlider(options?: ej.Slider.Model): JQuery; - ejSlider(memberName: any, value?: any, param?: any): any; - - ejSparkline(options?: ej.datavisualization.Sparkline.Model): JQuery; - ejSparkline(memberName: any, value?: any, param?: any): any; - - ejSpellCheck(options?: ej.SpellCheck.Model): JQuery; - ejSpellCheck(memberName: any, value?: any, param?: any): any; - - ejSplitButton(options?: ej.SplitButton.Model): JQuery; - ejSplitButton(memberName: any, value?: any, param?: any): any; - - ejSplitter(options?: ej.Splitter.Model): JQuery; - ejSplitter(memberName: any, value?: any, param?: any): any; - - ejSpreadsheet(options?: ej.Spreadsheet.Model): JQuery; - ejSpreadsheet(memberName: any, value?: any, param?: any): any; - - ejSunburstChart(options?: ej.datavisualization.SunburstChart.Model): JQuery; - ejSunburstChart(memberName: any, value?: any, param?: any): any; - - ejSymbolPalette(options?: ej.datavisualization.SymbolPalette.Model): JQuery; - ejSymbolPalette(memberName: any, value?: any, param?: any): any; - - ejTab(options?: ej.Tab.Model): JQuery; - ejTab(memberName: any, value?: any, param?: any): any; - - ejTagCloud(options?: ej.TagCloud.Model): JQuery; - ejTagCloud(memberName: any, value?: any, param?: any): any; - - ejNumericTextbox(options?: ej.Editor.Model): JQuery; - ejNumericTextbox(memberName: any, value?: any, param?: any): any; - - ejCurrencyTextbox(options?: ej.Editor.Model): JQuery; - ejCurrencyTextbox(memberName: any, value?: any, param?: any): any; - - ejPercentageTextbox(options?: ej.Editor.Model): JQuery; - ejPercentageTextbox(memberName: any, value?: any, param?: any): any; - - ejTile(options?: ej.Tile.Model): JQuery; - ejTile(memberName: any, value?: any, param?: any): any; - - ejTimePicker(options?: ej.TimePicker.Model): JQuery; - ejTimePicker(memberName: any, value?: any, param?: any): any; - - ejToggleButton(options?: ej.ToggleButton.Model): JQuery; - ejToggleButton(memberName: any, value?: any, param?: any): any; - - ejToolbar(options?: ej.Toolbar.Model): JQuery; - ejToolbar(memberName: any, value?: any, param?: any): any; - - ejTooltip(options?: ej.Tooltip.Model): JQuery; - ejTooltip(memberName: any, value?: any, param?: any): any; - - ejTreeGrid(options?: ej.TreeGrid.Model): JQuery; - ejTreeGrid(memberName: any, value?: any, param?: any): any; - - ejTreeMap(options?: ej.datavisualization.TreeMap.Model): JQuery; - ejTreeMap(memberName: any, value?: any, param?: any): any; - - ejTreeView(options?: ej.TreeView.Model): JQuery; - ejTreeView(memberName: any, value?: any, param?: any): any; - - ejUploadbox(options?: ej.Uploadbox.Model): JQuery; - ejUploadbox(memberName: any, value?: any, param?: any): any; - - ejWaitingPopup(options?: ej.WaitingPopup.Model): JQuery; - ejWaitingPopup(memberName: any, value?: any, param?: any): any; - - data(key: "ejAccordion"): ej.Accordion; - data(key: "ejAutocomplete"): ej.Autocomplete; - data(key: "ejBarcode"): ej.datavisualization.Barcode; - data(key: "ejBulletGraph"): ej.datavisualization.BulletGraph; - data(key: "ejButton"): ej.Button; - data(key: "ejCaptcha"): ej.Captcha; - data(key: "ejChart"): ej.datavisualization.Chart; - data(key: "ejCheckBox"): ej.CheckBox; - data(key: "ejCircularGauge"): ej.datavisualization.CircularGauge; - data(key: "ejColorPicker"): ej.ColorPicker; - data(key: "ejDatePicker"): ej.DatePicker; - data(key: "ejDateRangePicker"): ej.DateRangePicker; - data(key: "ejDateTimePicker"): ej.DateTimePicker; - data(key: "ejDiagram"): ej.datavisualization.Diagram; - data(key: "ejDialog"): ej.Dialog; - data(key: "ejDigitalGauge"): ej.datavisualization.DigitalGauge; - data(key: "ejDocumentEditor"): ej.DocumentEditor; - data(key: "ejDraggable"): ej.Draggable; - data(key: "ejDropDownList"): ej.DropDownList; - data(key: "ejDroppable"): ej.Droppable; - data(key: "ejFileExplorer"): ej.FileExplorer; - data(key: "ejGantt"): ej.Gantt; - data(key: "ejGrid"): ej.Grid; - data(key: "ejGroupButton"): ej.GroupButton; - data(key: "ejHeatMap"): ej.datavisualization.HeatMap; - data(key: "ejHeatMapLegend"): ej.datavisualization.HeatMapLegend; - data(key: "ejKanban"): ej.Kanban; - data(key: "ejLinearGauge"): ej.datavisualization.LinearGauge; - data(key: "ejListBox"): ej.ListBox; - data(key: "ejListView"): ej.ListView; - data(key: "ejMap"): ej.datavisualization.Map; - data(key: "ejMaskEdit"): ej.MaskEdit; - data(key: "ejMenu"): ej.Menu; - data(key: "ejNavigationDrawer"): ej.NavigationDrawer; - data(key: "ejOverview"): ej.datavisualization.Overview; - data(key: "ejPager"): ej.Pager; - data(key: "ejPdfViewer"): ej.PdfViewer; - data(key: "ejPivotChart"): ej.PivotChart; - data(key: "ejPivotClient"): ej.PivotClient; - data(key: "ejPivotGauge"): ej.PivotGauge; - data(key: "ejPivotGrid"): ej.PivotGrid; - data(key: "ejPivotPager"): ej.PivotPager; - data(key: "ejPivotSchemaDesigner"): ej.PivotSchemaDesigner; - data(key: "ejPivotTreeMap"): ej.PivotTreeMap; - data(key: "ejProgressBar"): ej.ProgressBar; - data(key: "ejRadialMenu"): ej.RadialMenu; - data(key: "ejRadialSlider"): ej.RadialSlider; - data(key: "ejRadioButton"): ej.RadioButton; - data(key: "ejRangeNavigator"): ej.datavisualization.RangeNavigator; - data(key: "ejRating"): ej.Rating; - data(key: "ejRecurrenceEditor"): ej.RecurrenceEditor; - data(key: "ejReportViewer"): ej.ReportViewer; - data(key: "ejResizable"): ej.Resizable; - data(key: "ejRibbon"): ej.Ribbon; - data(key: "ejRotator"): ej.Rotator; - data(key: "ejRTE"): ej.RTE; - data(key: "ejSchedule"): ej.Schedule; - data(key: "ejScroller"): ej.Scroller; - data(key: "ejSignature"): ej.Signature; - data(key: "ejSlider"): ej.Slider; - data(key: "ejSparkline"): ej.datavisualization.Sparkline; - data(key: "ejSpellCheck"): ej.SpellCheck; - data(key: "ejSplitButton"): ej.SplitButton; - data(key: "ejSplitter"): ej.Splitter; - data(key: "ejSpreadsheet"): ej.Spreadsheet; - data(key: "ejSunburstChart"): ej.datavisualization.SunburstChart; - data(key: "ejSymbolPalette"): ej.datavisualization.SymbolPalette; - data(key: "ejTab"): ej.Tab; - data(key: "ejTagCloud"): ej.TagCloud; - data(key: "ejNumericTextbox"): ej.NumericTextbox; - data(key: "ejCurrencyTextbox"): ej.CurrencyTextbox; - data(key: "ejPercentageTextbox"): ej.PercentageTextbox; - data(key: "ejTile"): ej.Tile; - data(key: "ejTimePicker"): ej.TimePicker; - data(key: "ejToggleButton"): ej.ToggleButton; - data(key: "ejToolbar"): ej.Toolbar; - data(key: "ejTooltip"): ej.Tooltip; - data(key: "ejTreeGrid"): ej.TreeGrid; - data(key: "ejTreeMap"): ej.datavisualization.TreeMap; - data(key: "ejTreeView"): ej.TreeView; - data(key: "ejUploadbox"): ej.Uploadbox; - data(key: "ejWaitingPopup"): ej.WaitingPopup; -} +ejAccordion(): JQuery; +ejAccordion(options?: ej.Accordion.Model): JQuery; +ejAccordion(memberName: any, value?: any, param?: any): any; +data(key: "ejAccordion"): ej.Accordion; + +ejAutocomplete(): JQuery; +ejAutocomplete(options?: ej.Autocomplete.Model): JQuery; +ejAutocomplete(memberName: any, value?: any, param?: any): any; +data(key: "ejAutocomplete"): ej.Autocomplete; + +ejBarcode(): JQuery; +ejBarcode(options?: ej.datavisualization.Barcode.Model): JQuery; +ejBarcode(memberName: any, value?: any, param?: any): any; +data(key: "ejBarcode"): ej.datavisualization.Barcode; + +ejBulletGraph(): JQuery; +ejBulletGraph(options?: ej.datavisualization.BulletGraph.Model): JQuery; +ejBulletGraph(memberName: any, value?: any, param?: any): any; +data(key: "ejBulletGraph"): ej.datavisualization.BulletGraph; + +ejButton(): JQuery; +ejButton(options?: ej.Button.Model): JQuery; +ejButton(memberName: any, value?: any, param?: any): any; +data(key: "ejButton"): ej.Button; + +ejCaptcha(): JQuery; +ejCaptcha(options?: ej.Captcha.Model): JQuery; +ejCaptcha(memberName: any, value?: any, param?: any): any; +data(key: "ejCaptcha"): ej.Captcha; + +ejChart(): JQuery; +ejChart(options?: ej.datavisualization.Chart.Model): JQuery; +ejChart(memberName: any, value?: any, param?: any): any; +data(key: "ejChart"): ej.datavisualization.Chart; + +ejCheckBox(): JQuery; +ejCheckBox(options?: ej.CheckBox.Model): JQuery; +ejCheckBox(memberName: any, value?: any, param?: any): any; +data(key: "ejCheckBox"): ej.CheckBox; + +ejCircularGauge(): JQuery; +ejCircularGauge(options?: ej.datavisualization.CircularGauge.Model): JQuery; +ejCircularGauge(memberName: any, value?: any, param?: any): any; +data(key: "ejCircularGauge"): ej.datavisualization.CircularGauge; + +ejColorPicker(): JQuery; +ejColorPicker(options?: ej.ColorPicker.Model): JQuery; +ejColorPicker(memberName: any, value?: any, param?: any): any; +data(key: "ejColorPicker"): ej.ColorPicker; + +ejDatePicker(): JQuery; +ejDatePicker(options?: ej.DatePicker.Model): JQuery; +ejDatePicker(memberName: any, value?: any, param?: any): any; +data(key: "ejDatePicker"): ej.DatePicker; + +ejDateRangePicker(): JQuery; +ejDateRangePicker(options?: ej.DateRangePicker.Model): JQuery; +ejDateRangePicker(memberName: any, value?: any, param?: any): any; +data(key: "ejDateRangePicker"): ej.DateRangePicker; + +ejDateTimePicker(): JQuery; +ejDateTimePicker(options?: ej.DateTimePicker.Model): JQuery; +ejDateTimePicker(memberName: any, value?: any, param?: any): any; +data(key: "ejDateTimePicker"): ej.DateTimePicker; + +ejDiagram(): JQuery; +ejDiagram(options?: ej.datavisualization.Diagram.Model): JQuery; +ejDiagram(memberName: any, value?: any, param?: any): any; +data(key: "ejDiagram"): ej.datavisualization.Diagram; + +ejDialog(): JQuery; +ejDialog(options?: ej.Dialog.Model): JQuery; +ejDialog(memberName: any, value?: any, param?: any): any; +data(key: "ejDialog"): ej.Dialog; + +ejDigitalGauge(): JQuery; +ejDigitalGauge(options?: ej.datavisualization.DigitalGauge.Model): JQuery; +ejDigitalGauge(memberName: any, value?: any, param?: any): any; +data(key: "ejDigitalGauge"): ej.datavisualization.DigitalGauge; + +ejDocumentEditor(): JQuery; +ejDocumentEditor(options?: ej.DocumentEditor.Model): JQuery; +ejDocumentEditor(memberName: any, value?: any, param?: any): any; +data(key: "ejDocumentEditor"): ej.DocumentEditor; + +ejDraggable(): JQuery; +ejDraggable(options?: ej.Draggable.Model): JQuery; +ejDraggable(memberName: any, value?: any, param?: any): any; +data(key: "ejDraggable"): ej.Draggable; + +ejDropDownList(): JQuery; +ejDropDownList(options?: ej.DropDownList.Model): JQuery; +ejDropDownList(memberName: any, value?: any, param?: any): any; +data(key: "ejDropDownList"): ej.DropDownList; + +ejDroppable(): JQuery; +ejDroppable(options?: ej.Droppable.Model): JQuery; +ejDroppable(memberName: any, value?: any, param?: any): any; +data(key: "ejDroppable"): ej.Droppable; + +ejFileExplorer(): JQuery; +ejFileExplorer(options?: ej.FileExplorer.Model): JQuery; +ejFileExplorer(memberName: any, value?: any, param?: any): any; +data(key: "ejFileExplorer"): ej.FileExplorer; + +ejGantt(): JQuery; +ejGantt(options?: ej.Gantt.Model): JQuery; +ejGantt(memberName: any, value?: any, param?: any): any; +data(key: "ejGantt"): ej.Gantt; + +ejGrid(): JQuery; +ejGrid(options?: ej.Grid.Model): JQuery; +ejGrid(memberName: any, value?: any, param?: any): any; +data(key: "ejGrid"): ej.Grid; + +ejGroupButton(): JQuery; +ejGroupButton(options?: ej.GroupButton.Model): JQuery; +ejGroupButton(memberName: any, value?: any, param?: any): any; +data(key: "ejGroupButton"): ej.GroupButton; + +ejHeatMap(): JQuery; +ejHeatMap(options?: ej.datavisualization.HeatMap.Model): JQuery; +ejHeatMap(memberName: any, value?: any, param?: any): any; +data(key: "ejHeatMap"): ej.datavisualization.HeatMap; + +ejHeatMapLegend(): JQuery; +ejHeatMapLegend(options?: ej.datavisualization.HeatMapLegend.Model): JQuery; +ejHeatMapLegend(memberName: any, value?: any, param?: any): any; +data(key: "ejHeatMapLegend"): ej.datavisualization.HeatMapLegend; + +ejKanban(): JQuery; +ejKanban(options?: ej.Kanban.Model): JQuery; +ejKanban(memberName: any, value?: any, param?: any): any; +data(key: "ejKanban"): ej.Kanban; + +ejLinearGauge(): JQuery; +ejLinearGauge(options?: ej.datavisualization.LinearGauge.Model): JQuery; +ejLinearGauge(memberName: any, value?: any, param?: any): any; +data(key: "ejLinearGauge"): ej.datavisualization.LinearGauge; + +ejListBox(): JQuery; +ejListBox(options?: ej.ListBox.Model): JQuery; +ejListBox(memberName: any, value?: any, param?: any): any; +data(key: "ejListBox"): ej.ListBox; + +ejListView(): JQuery; +ejListView(options?: ej.ListView.Model): JQuery; +ejListView(memberName: any, value?: any, param?: any): any; +data(key: "ejListView"): ej.ListView; + +ejMap(): JQuery; +ejMap(options?: ej.datavisualization.Map.Model): JQuery; +ejMap(memberName: any, value?: any, param?: any): any; +data(key: "ejMap"): ej.datavisualization.Map; + +ejMaskEdit(): JQuery; +ejMaskEdit(options?: ej.MaskEdit.Model): JQuery; +ejMaskEdit(memberName: any, value?: any, param?: any): any; +data(key: "ejMaskEdit"): ej.MaskEdit; + +ejMenu(): JQuery; +ejMenu(options?: ej.Menu.Model): JQuery; +ejMenu(memberName: any, value?: any, param?: any): any; +data(key: "ejMenu"): ej.Menu; + +ejNavigationDrawer(): JQuery; +ejNavigationDrawer(options?: ej.NavigationDrawer.Model): JQuery; +ejNavigationDrawer(memberName: any, value?: any, param?: any): any; +data(key: "ejNavigationDrawer"): ej.NavigationDrawer; + +ejOverview(): JQuery; +ejOverview(options?: ej.datavisualization.Overview.Model): JQuery; +ejOverview(memberName: any, value?: any, param?: any): any; +data(key: "ejOverview"): ej.datavisualization.Overview; + +ejPager(): JQuery; +ejPager(options?: ej.Pager.Model): JQuery; +ejPager(memberName: any, value?: any, param?: any): any; +data(key: "ejPager"): ej.Pager; + +ejPdfViewer(): JQuery; +ejPdfViewer(options?: ej.PdfViewer.Model): JQuery; +ejPdfViewer(memberName: any, value?: any, param?: any): any; +data(key: "ejPdfViewer"): ej.PdfViewer; + +ejPivotChart(): JQuery; +ejPivotChart(options?: ej.PivotChart.Model): JQuery; +ejPivotChart(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotChart"): ej.PivotChart; + +ejPivotClient(): JQuery; +ejPivotClient(options?: ej.PivotClient.Model): JQuery; +ejPivotClient(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotClient"): ej.PivotClient; + +ejPivotGauge(): JQuery; +ejPivotGauge(options?: ej.PivotGauge.Model): JQuery; +ejPivotGauge(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotGauge"): ej.PivotGauge; + +ejPivotGrid(): JQuery; +ejPivotGrid(options?: ej.PivotGrid.Model): JQuery; +ejPivotGrid(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotGrid"): ej.PivotGrid; + +ejPivotPager(): JQuery; +ejPivotPager(options?: ej.PivotPager.Model): JQuery; +ejPivotPager(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotPager"): ej.PivotPager; + +ejPivotSchemaDesigner(): JQuery; +ejPivotSchemaDesigner(options?: ej.PivotSchemaDesigner.Model): JQuery; +ejPivotSchemaDesigner(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotSchemaDesigner"): ej.PivotSchemaDesigner; + +ejPivotTreeMap(): JQuery; +ejPivotTreeMap(options?: ej.PivotTreeMap.Model): JQuery; +ejPivotTreeMap(memberName: any, value?: any, param?: any): any; +data(key: "ejPivotTreeMap"): ej.PivotTreeMap; + +ejPrint(): JQuery; +ejPrint(options?: ej.Print.Model): JQuery; +ejPrint(memberName: any, value?: any, param?: any): any; +data(key: "ejPrint"): ej.Print; + +ejProgressBar(): JQuery; +ejProgressBar(options?: ej.ProgressBar.Model): JQuery; +ejProgressBar(memberName: any, value?: any, param?: any): any; +data(key: "ejProgressBar"): ej.ProgressBar; + +ejRadialMenu(): JQuery; +ejRadialMenu(options?: ej.RadialMenu.Model): JQuery; +ejRadialMenu(memberName: any, value?: any, param?: any): any; +data(key: "ejRadialMenu"): ej.RadialMenu; + +ejRadialSlider(): JQuery; +ejRadialSlider(options?: ej.RadialSlider.Model): JQuery; +ejRadialSlider(memberName: any, value?: any, param?: any): any; +data(key: "ejRadialSlider"): ej.RadialSlider; + +ejRadioButton(): JQuery; +ejRadioButton(options?: ej.RadioButton.Model): JQuery; +ejRadioButton(memberName: any, value?: any, param?: any): any; +data(key: "ejRadioButton"): ej.RadioButton; + +ejRangeNavigator(): JQuery; +ejRangeNavigator(options?: ej.datavisualization.RangeNavigator.Model): JQuery; +ejRangeNavigator(memberName: any, value?: any, param?: any): any; +data(key: "ejRangeNavigator"): ej.datavisualization.RangeNavigator; + +ejRating(): JQuery; +ejRating(options?: ej.Rating.Model): JQuery; +ejRating(memberName: any, value?: any, param?: any): any; +data(key: "ejRating"): ej.Rating; + +ejRecurrenceEditor(): JQuery; +ejRecurrenceEditor(options?: ej.RecurrenceEditor.Model): JQuery; +ejRecurrenceEditor(memberName: any, value?: any, param?: any): any; +data(key: "ejRecurrenceEditor"): ej.RecurrenceEditor; + +ejReportViewer(): JQuery; +ejReportViewer(options?: ej.ReportViewer.Model): JQuery; +ejReportViewer(memberName: any, value?: any, param?: any): any; +data(key: "ejReportViewer"): ej.ReportViewer; + +ejResizable(): JQuery; +ejResizable(options?: ej.Resizable.Model): JQuery; +ejResizable(memberName: any, value?: any, param?: any): any; +data(key: "ejResizable"): ej.Resizable; + +ejRibbon(): JQuery; +ejRibbon(options?: ej.Ribbon.Model): JQuery; +ejRibbon(memberName: any, value?: any, param?: any): any; +data(key: "ejRibbon"): ej.Ribbon; + +ejRotator(): JQuery; +ejRotator(options?: ej.Rotator.Model): JQuery; +ejRotator(memberName: any, value?: any, param?: any): any; +data(key: "ejRotator"): ej.Rotator; + +ejRTE(): JQuery; +ejRTE(options?: ej.RTE.Model): JQuery; +ejRTE(memberName: any, value?: any, param?: any): any; +data(key: "ejRTE"): ej.RTE; + +ejSchedule(): JQuery; +ejSchedule(options?: ej.Schedule.Model): JQuery; +ejSchedule(memberName: any, value?: any, param?: any): any; +data(key: "ejSchedule"): ej.Schedule; + +ejScroller(): JQuery; +ejScroller(options?: ej.Scroller.Model): JQuery; +ejScroller(memberName: any, value?: any, param?: any): any; +data(key: "ejScroller"): ej.Scroller; + +ejSignature(): JQuery; +ejSignature(options?: ej.Signature.Model): JQuery; +ejSignature(memberName: any, value?: any, param?: any): any; +data(key: "ejSignature"): ej.Signature; + +ejSlider(): JQuery; +ejSlider(options?: ej.Slider.Model): JQuery; +ejSlider(memberName: any, value?: any, param?: any): any; +data(key: "ejSlider"): ej.Slider; + +ejSparkline(): JQuery; +ejSparkline(options?: ej.datavisualization.Sparkline.Model): JQuery; +ejSparkline(memberName: any, value?: any, param?: any): any; +data(key: "ejSparkline"): ej.datavisualization.Sparkline; + +ejSpellCheck(): JQuery; +ejSpellCheck(options?: ej.SpellCheck.Model): JQuery; +ejSpellCheck(memberName: any, value?: any, param?: any): any; +data(key: "ejSpellCheck"): ej.SpellCheck; + +ejSplitButton(): JQuery; +ejSplitButton(options?: ej.SplitButton.Model): JQuery; +ejSplitButton(memberName: any, value?: any, param?: any): any; +data(key: "ejSplitButton"): ej.SplitButton; + +ejSplitter(): JQuery; +ejSplitter(options?: ej.Splitter.Model): JQuery; +ejSplitter(memberName: any, value?: any, param?: any): any; +data(key: "ejSplitter"): ej.Splitter; + +ejSpreadsheet(): JQuery; +ejSpreadsheet(options?: ej.Spreadsheet.Model): JQuery; +ejSpreadsheet(memberName: any, value?: any, param?: any): any; +data(key: "ejSpreadsheet"): ej.Spreadsheet; + +ejSunburstChart(): JQuery; +ejSunburstChart(options?: ej.datavisualization.SunburstChart.Model): JQuery; +ejSunburstChart(memberName: any, value?: any, param?: any): any; +data(key: "ejSunburstChart"): ej.datavisualization.SunburstChart; + +ejSymbolPalette(): JQuery; +ejSymbolPalette(options?: ej.datavisualization.SymbolPalette.Model): JQuery; +ejSymbolPalette(memberName: any, value?: any, param?: any): any; +data(key: "ejSymbolPalette"): ej.datavisualization.SymbolPalette; + +ejTab(): JQuery; +ejTab(options?: ej.Tab.Model): JQuery; +ejTab(memberName: any, value?: any, param?: any): any; +data(key: "ejTab"): ej.Tab; + +ejTagCloud(): JQuery; +ejTagCloud(options?: ej.TagCloud.Model): JQuery; +ejTagCloud(memberName: any, value?: any, param?: any): any; +data(key: "ejTagCloud"): ej.TagCloud; + +ejNumericTextbox(): JQuery; +ejNumericTextbox(options?: ej.Editor.Model): JQuery; +ejNumericTextbox(memberName: any, value?: any, param?: any): any; +data(key: "ejNumericTextbox"): ej.NumericTextbox; + +ejCurrencyTextbox(): JQuery; +ejCurrencyTextbox(options?: ej.Editor.Model): JQuery; +ejCurrencyTextbox(memberName: any, value?: any, param?: any): any; +data(key: "ejCurrencyTextbox"): ej.CurrencyTextbox; + +ejPercentageTextbox(): JQuery; +ejPercentageTextbox(options?: ej.Editor.Model): JQuery; +ejPercentageTextbox(memberName: any, value?: any, param?: any): any; +data(key: "ejPercentageTextbox"): ej.PercentageTextbox; + +ejTile(): JQuery; +ejTile(options?: ej.Tile.Model): JQuery; +ejTile(memberName: any, value?: any, param?: any): any; +data(key: "ejTile"): ej.Tile; + +ejTimePicker(): JQuery; +ejTimePicker(options?: ej.TimePicker.Model): JQuery; +ejTimePicker(memberName: any, value?: any, param?: any): any; +data(key: "ejTimePicker"): ej.TimePicker; + +ejToggleButton(): JQuery; +ejToggleButton(options?: ej.ToggleButton.Model): JQuery; +ejToggleButton(memberName: any, value?: any, param?: any): any; +data(key: "ejToggleButton"): ej.ToggleButton; + +ejToolbar(): JQuery; +ejToolbar(options?: ej.Toolbar.Model): JQuery; +ejToolbar(memberName: any, value?: any, param?: any): any; +data(key: "ejToolbar"): ej.Toolbar; + +ejTooltip(): JQuery; +ejTooltip(options?: ej.Tooltip.Model): JQuery; +ejTooltip(memberName: any, value?: any, param?: any): any; +data(key: "ejTooltip"): ej.Tooltip; + +ejTreeGrid(): JQuery; +ejTreeGrid(options?: ej.TreeGrid.Model): JQuery; +ejTreeGrid(memberName: any, value?: any, param?: any): any; +data(key: "ejTreeGrid"): ej.TreeGrid; + +ejTreeMap(): JQuery; +ejTreeMap(options?: ej.datavisualization.TreeMap.Model): JQuery; +ejTreeMap(memberName: any, value?: any, param?: any): any; +data(key: "ejTreeMap"): ej.datavisualization.TreeMap; + +ejTreeView(): JQuery; +ejTreeView(options?: ej.TreeView.Model): JQuery; +ejTreeView(memberName: any, value?: any, param?: any): any; +data(key: "ejTreeView"): ej.TreeView; + +ejUploadbox(): JQuery; +ejUploadbox(options?: ej.Uploadbox.Model): JQuery; +ejUploadbox(memberName: any, value?: any, param?: any): any; +data(key: "ejUploadbox"): ej.Uploadbox; + +ejWaitingPopup(): JQuery; +ejWaitingPopup(options?: ej.WaitingPopup.Model): JQuery; +ejWaitingPopup(memberName: any, value?: any, param?: any): any; +data(key: "ejWaitingPopup"): ej.WaitingPopup; +} \ No newline at end of file From eab9a9239c736220e6b59136775c82bebf37d9ad Mon Sep 17 00:00:00 2001 From: Jason Healy Date: Tue, 9 May 2017 16:35:13 +0100 Subject: [PATCH 31/70] change snapToInterval prop from array to number --- types/react-native/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index a7dc4da43a..1f407e7f02 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -5769,7 +5769,7 @@ export interface ScrollViewPropertiesIOS { * This can be used for paginating through children that have lengths smaller than the scroll view. * Used in combination with snapToAlignment. */ - snapToInterval?: number[] + snapToInterval?: number /** * An array of child indices determining which children get docked to the From a6e481c4bc9cf11c1dec0d77d0118d9c3430415f Mon Sep 17 00:00:00 2001 From: asakasa Date: Wed, 10 May 2017 02:37:09 +0900 Subject: [PATCH 32/70] Add new types for TabBar in react-native The types are available since iOS 10. And then test for TabBar added. --- types/react-native/index.d.ts | 10 ++++++++++ types/react-native/test/index.tsx | 28 ++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index c5a656d15d..5b3b1f3a38 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -5097,6 +5097,11 @@ export interface TabBarItemProperties extends ViewProperties { */ badge?: string | number + /** + * Background color for the badge. Available since iOS 10. + */ + badgeColor?: string + /** * A custom icon for the tab. It is ignored when a system icon is defined. */ @@ -5182,6 +5187,11 @@ export interface TabBarIOSProperties extends ViewProperties { * Color of text on unselected tabs */ unselectedTintColor?: string + + /** + * Color of unselected tab icons. Available since iOS 10. + */ + unselectedItemTintColor?: string } export interface TabBarIOSStatic extends React.ComponentClass { diff --git a/types/react-native/test/index.tsx b/types/react-native/test/index.tsx index 62e925575b..3d7ddeac07 100644 --- a/types/react-native/test/index.tsx +++ b/types/react-native/test/index.tsx @@ -34,6 +34,7 @@ import { ScrollView, ScrollViewProps, RefreshControl, + TabBarIOS, } from 'react-native'; function testDimensions() { @@ -255,3 +256,30 @@ class ScrollerListComponentTest extends React.Component<{}, { dataSource: ListVi ) } } + + +class TabBarTest extends React.Component<{}, {}> { + render() { + return ( + + {}} + renderAsOriginal={ true } + selectedIcon={ undefined } + systemIcon="history" + title="Item 1"> + + + ); + } +} From bf2499f1d28475dd2c8cc62dde44a9e83f0a94c5 Mon Sep 17 00:00:00 2001 From: asakasa Date: Wed, 10 May 2017 03:16:59 +0900 Subject: [PATCH 33/70] Update version of React Native Now current version of React Native is 0.44 --- types/react-native/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index 5b3b1f3a38..214352f808 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for react-native 0.43 +// Type definitions for react-native 0.44 // Project: https://github.com/facebook/react-native // Definitions by: Eloy Durán , Fedor Nezhivoi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped From 66d3ea01bfd549f080a82c49c8ad3bcc275cd3d1 Mon Sep 17 00:00:00 2001 From: agentile Date: Tue, 9 May 2017 20:24:17 -0700 Subject: [PATCH 34/70] fix: navigation prop should be optional When using StackNavigator, there are times when you would like to trigger custom side effects on navigation by setting the "onNavigationStateChange" prop, but don't want to override default navigation. This PR allows for that. --- types/react-navigation/index.d.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 6b263642ff..8ef38a6312 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -476,7 +476,7 @@ export interface LayoutEvent { } interface NavigationContainerProps { - navigation: NavigationProp + navigation?: NavigationProp onNavigationStateChange?: ( preNavigationState: NavigationState, nextNavigationState: NavigationState, @@ -489,7 +489,7 @@ interface NavigationContainerState { export interface NavigationContainer extends React.ComponentClass< NavigationContainerProps -> { + > { router: any } @@ -509,7 +509,7 @@ export function StackNavigator( */ export interface DrawNavigatorConfig { drawerWidth?: number, - drawerPosition?: 'left'|'right', + drawerPosition?: 'left' | 'right', contentComponent?: React.ReactElement, contentOptions?: { activeTintColor?: string, @@ -531,7 +531,7 @@ export function DrawerNavigator( */ export interface TabNavigatorConfig { tabBarComponent?: React.ReactElement, - tabBarPosition?: 'top'|'bottom', + tabBarPosition?: 'top' | 'bottom', swipeEnabled?: boolean, animationEnabled?: boolean, lazy?: boolean, @@ -556,7 +556,7 @@ export interface TabNavigatorConfig { initialRouteName?: string, order?: string[], paths?: any // TODO: better def - backBehavior?: 'initialRoute'|'none' + backBehavior?: 'initialRoute' | 'none' } export function TabNavigator( @@ -569,8 +569,8 @@ export function TabNavigator( export interface StackNavigatorScreenOptions { title?: string; headerVisible?: boolean; - headerTitle?: string|React.ReactElement; - headerBackTitle?: string|null; + headerTitle?: string | React.ReactElement; + headerBackTitle?: string | null; headerTruncatedBackTitle?: string; headerRight?: React.ReactElement; headerLeft?: React.ReactElement; @@ -586,18 +586,18 @@ export interface TabNavigatorScreenOptions { tabBarVisible?: boolean; tabBarIcon?: React.ReactElement; tabBarLaben?: string - |React.ReactElement - | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) + | React.ReactElement + | ((options: { focused: boolean, tintColor: string }) => React.ReactElement) ; } export interface DrawerNavigatorScreenOptions { title?: string; drawerLabel?: string - |React.ReactElement - | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) + | React.ReactElement + | ((options: { focused: boolean, tintColor: string }) => React.ReactElement) ; drawerIcon?: React.ReactElement - | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) + | ((options: { focused: boolean, tintColor: string }) => React.ReactElement) ; } From db7d524bd2b6d32d7a305231394e2228cef05111 Mon Sep 17 00:00:00 2001 From: Alex Gentile Date: Tue, 9 May 2017 22:23:46 -0700 Subject: [PATCH 35/70] Update index.d.ts reverted formatting --- types/react-navigation/index.d.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 8ef38a6312..35dba11bf1 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -489,7 +489,7 @@ interface NavigationContainerState { export interface NavigationContainer extends React.ComponentClass< NavigationContainerProps - > { +> { router: any } @@ -509,7 +509,7 @@ export function StackNavigator( */ export interface DrawNavigatorConfig { drawerWidth?: number, - drawerPosition?: 'left' | 'right', + drawerPosition?: 'left'|'right', contentComponent?: React.ReactElement, contentOptions?: { activeTintColor?: string, @@ -531,7 +531,7 @@ export function DrawerNavigator( */ export interface TabNavigatorConfig { tabBarComponent?: React.ReactElement, - tabBarPosition?: 'top' | 'bottom', + tabBarPosition?: 'top'|'bottom', swipeEnabled?: boolean, animationEnabled?: boolean, lazy?: boolean, @@ -556,7 +556,7 @@ export interface TabNavigatorConfig { initialRouteName?: string, order?: string[], paths?: any // TODO: better def - backBehavior?: 'initialRoute' | 'none' + backBehavior?: 'initialRoute'|'none' } export function TabNavigator( @@ -569,8 +569,8 @@ export function TabNavigator( export interface StackNavigatorScreenOptions { title?: string; headerVisible?: boolean; - headerTitle?: string | React.ReactElement; - headerBackTitle?: string | null; + headerTitle?: string|React.ReactElement; + headerBackTitle?: string|null; headerTruncatedBackTitle?: string; headerRight?: React.ReactElement; headerLeft?: React.ReactElement; @@ -586,18 +586,18 @@ export interface TabNavigatorScreenOptions { tabBarVisible?: boolean; tabBarIcon?: React.ReactElement; tabBarLaben?: string - | React.ReactElement - | ((options: { focused: boolean, tintColor: string }) => React.ReactElement) + |React.ReactElement + | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) ; } export interface DrawerNavigatorScreenOptions { title?: string; drawerLabel?: string - | React.ReactElement - | ((options: { focused: boolean, tintColor: string }) => React.ReactElement) + |React.ReactElement + | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) ; drawerIcon?: React.ReactElement - | ((options: { focused: boolean, tintColor: string }) => React.ReactElement) + | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) ; } From f5733a87591ea2c03540357a31ed5b46f2600d0c Mon Sep 17 00:00:00 2001 From: Alex Gentile Date: Tue, 9 May 2017 22:51:00 -0700 Subject: [PATCH 36/70] Removed null from headerBackTitle prop Null is unnecessary as headerBackTitle is already optional. --- types/react-navigation/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 35dba11bf1..129bfaca66 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -570,7 +570,7 @@ export interface StackNavigatorScreenOptions { title?: string; headerVisible?: boolean; headerTitle?: string|React.ReactElement; - headerBackTitle?: string|null; + headerBackTitle?: string; headerTruncatedBackTitle?: string; headerRight?: React.ReactElement; headerLeft?: React.ReactElement; From 2b18c44085da9b0abcd371c5e64211fbef8f2c2a Mon Sep 17 00:00:00 2001 From: Syncfusion-JavaScript Date: Wed, 10 May 2017 15:40:05 +0530 Subject: [PATCH 37/70] 15.2 lint errors have been fixed. --- types/ej.web.all/index.d.ts | 114544 ++++++++++++++++----------------- 1 file changed, 56579 insertions(+), 57965 deletions(-) diff --git a/types/ej.web.all/index.d.ts b/types/ej.web.all/index.d.ts index e9f023c805..76bd2f9173 100644 --- a/types/ej.web.all/index.d.ts +++ b/types/ej.web.all/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for ej.web.all 15.2 +// Type definitions for ej.web.all 15.2 // Project: http://help.syncfusion.com/js/typescript // Definitions by: Syncfusion // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -12,464 +12,455 @@ * Use of this code is subject to the terms of our license. * A copy of the current license can be obtained at any time by e-mailing * licensing@syncfusion.com. Any infringement will be prosecuted under -* applicable laws. +* applicable laws. */ -declare module ej { - - var dataUtil: dataUtil; - function isMobile(): boolean; - function isIOS(): boolean; - function isAndroid(): boolean; - function isFlat(): boolean; - function isWindows(): boolean; - function isCssCalc(): boolean; - function getCurrentPage(): JQuery; - function isLowerResolution(): boolean; - function browserInfo(): browserInfoOptions; - function isTouchDevice(): boolean; - function addPrefix(style: string): string; - function animationEndEvent(): string; - function blockDefaultActions(e: Object): void; - function buildTag(tag: string, innerHtml?: string, styles?: Object, attrs?: Object): JQuery; - function cancelEvent(): string; - function copyObject(): string; - function createObject(nameSpace: string, value: Object, initIn: any): JQuery; - function createObject(element: any, eventEmitter: any, model: any): any; - function setCulture(culture: string): void; - function getObject(element :string, model :any ): T; - function defineClass(className: string, constructor:any, proto: Object, replace: boolean): Object; - function destroyWidgets(element: Object): void; - function endEvent(): string; - function event(type: string, data: any, eventProp: Object): Object; - function getAndroidVersion(): Object; - function getAttrVal(ele: Object, val: string, option: Object): Object; - function getBooleanVal(ele: Object, val: string, option: Object): Object; - function getClearString(): string; - function getDimension(element: Object, method: string): Object; - function getFontString(fontObj: Object): string; - function getFontStyle(style: string): string; - function getMaxZindex(): number; - function getNameSpace(className: string): string; - function getObject(nameSpace: string, fromdata?: any): Object; - function getOffset(ele: string): Object; - function getRenderMode(): string; - function getScrollableParents(element: Object): void; - function getTheme(): string; - function getZindexPartial(element: Object, popupEle: string): number; - function hasRenderMode(element: string): void; - function hasStyle(prop: string): boolean; - function hasTheme(element: string): string; - function hexFromRGB(color: string): string; - function ieClearRemover(element: string): void; - function isAndroidWebView(): string; - function isDevice(): boolean; - function isIOS7(): boolean; - function isIOSWebView(): boolean; - function isLowerAndroid(): boolean; - function isNullOrUndefined(value: Object): boolean; - function isPlainObject(): JQuery; - function isPortrait(): any; - function isTablet(): boolean; - function isWindowsWebView(): string; - function listenEvents(selectors:any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; - function listenTouchEvent(selectors:any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; - function logBase(val: string, base: string): number; - function measureText(text: string, maxwidth: number, font: string): string; - function moveEvent(): string; - function print(element: string, printWindow: any): void; - function proxy(fn: Object, context?: string, arg?: string): any; - function round(value: string, div: string, up: string): any; - function sendAjaxRequest(ajaxOptions: Object): void; - function setCaretToPos(nput: string, pos1: string, pos2: string): void; - function setRenderMode(element: string): void; - function setTheme(): Object; - function startEvent(): string; - function tapEvent(): string; - function tapHoldEvent(): string; - function throwError(): Object; - function transitionEndEvent(): Object; - function userAgent(): boolean; - function widget(pluginName: string, className: string, proto: Object): Object; - function avg(json: Object, filedName: string): any; - function getGuid(prefix: string): number; - function group(jsonArray: any, field: string, agg: string, level: number, groupDs: string): Object; - function isJson(jsonData: string): string; - function max(jsonArray: any, fieldName?: string, comparer?: string): any; - function min(jsonArray: any, fieldName: string, comparer: string): any; - function merge(first: string, second: string): any; - function mergeshort(jsonArray: any, fieldName: string, comparer: string): any; - function parseJson(jsonText: string): string; - function parseTable(table: number, headerOption: string, headerRowIndex: string): Object; - function select(jsonArray: any, fields: string): any; - function setTransition(): boolean; - function sum(json: string, fieldName: string): string; - function swap(array: any, x: string, y: string): any; - var cssUA: string; - var serverTimezoneOffset: number; - var transform: string; - var transformOrigin: string; - var transformStyle: string; - var transition: string; - var transitionDelay: string; - var transitionDuration: string; - var transitionProperty: string; - var transitionTimingFunction: string; - var template: any; - var util: { - valueFunction(val: string): any; - } - export module device { - function isAndroid(): boolean; - function isIOS(): boolean; - function isFlat(): boolean; - function isIOS7(): boolean; - function isWindows(): boolean; - } - export module widget { - var autoInit: boolean; - var registeredInstances: Array; - var registeredWidgets: Array; - function register(pluginName: string, className: string, prototype: any): void; - function destroyAll(elements: Element): void; - function init(element: Element): void; - function registerInstance(element: Element, pluginName: string, className: string, prototype: any):void; - } - +declare namespace ej { + const dataUtil: dataUtil; + function isMobile(): boolean; + function isIOS(): boolean; + function isAndroid(): boolean; + function isFlat(): boolean; + function isWindows(): boolean; + function isCssCalc(): boolean; + function getCurrentPage(): JQuery; + function isLowerResolution(): boolean; + function browserInfo(): browserInfoOptions; + function isTouchDevice(): boolean; + function addPrefix(style: string): string; + function animationEndEvent(): string; + function blockDefaultActions(e: any): void; + function buildTag(tag: string, innerHtml?: string, styles?: any, attrs?: any): JQuery; + function cancelEvent(): string; + function copyObject(): string; + function createObject(nameSpace: string, value: any, initIn: any): JQuery; + function createObject(element: any, eventEmitter: any, model: any): any; + function setCulture(culture: string): void; + function getObject(element: string, model: any): T; + function getObject(nameSpace: string, fromdata?: any): any; + function defineClass(className: string, constructor: any, proto: any, replace: boolean): any; + function destroyWidgets(element: any): void; + function endEvent(): string; + function event(type: string, data: any, eventProp: any): any; + function getAndroidVersion(): any; + function getAttrVal(ele: any, val: string, option: any): any; + function getBooleanVal(ele: any, val: string, option: any): any; + function getClearString(): string; + function getDimension(element: any, method: string): any; + function getFontString(fontObj: any): string; + function getFontStyle(style: string): string; + function getMaxZindex(): number; + function getNameSpace(className: string): string; + function getOffset(ele: string): any; + function getRenderMode(): string; + function getScrollableParents(element: any): void; + function getTheme(): string; + function getZindexPartial(element: any, popupEle: string): number; + function hasRenderMode(element: string): void; + function hasStyle(prop: string): boolean; + function hasTheme(element: string): string; + function hexFromRGB(color: string): string; + function ieClearRemover(element: string): void; + function isAndroidWebView(): string; + function isDevice(): boolean; + function isIOS7(): boolean; + function isIOSWebView(): boolean; + function isLowerAndroid(): boolean; + function isNullOrUndefined(value: any): boolean; + function isPlainObject(): JQuery; + function isPortrait(): any; + function isTablet(): boolean; + function isWindowsWebView(): string; + function listenEvents(selectors: any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; + function listenTouchEvent(selectors: any, eventTypes: any, handlers: any, remove?: any, pluginObj?: any, disableMouse?: boolean): void; + function logBase(val: string, base: string): number; + function measureText(text: string, maxwidth: number, font: string): string; + function moveEvent(): string; + function print(element: string, printWindow: any): void; + function proxy(fn: any, context?: string, arg?: string): any; + function round(value: string, div: string, up: string): any; + function sendAjaxRequest(ajaxOptions: any): void; + function setCaretToPos(nput: string, pos1: string, pos2: string): void; + function setRenderMode(element: string): void; + function setTheme(): any; + function startEvent(): string; + function tapEvent(): string; + function tapHoldEvent(): string; + function throwError(): any; + function transitionEndEvent(): any; + function userAgent(): boolean; + function widget(pluginName: string, className: string, proto: any): any; + function avg(json: any, filedName: string): any; + function getGuid(prefix: string): number; + function group(jsonArray: any, field: string, agg: string, level: number, groupDs: string): any; + function isJson(jsonData: string): string; + function max(jsonArray: any, fieldName?: string, comparer?: string): any; + function min(jsonArray: any, fieldName: string, comparer: string): any; + function merge(first: string, second: string): any; + function mergeshort(jsonArray: any, fieldName: string, comparer: string): any; + function parseJson(jsonText: string): string; + function parseTable(table: number, headerOption: string, headerRowIndex: string): any; + function select(jsonArray: any, fields: string): any; + function setTransition(): boolean; + function sum(json: string, fieldName: string): string; + function swap(array: any, x: string, y: string): any; + const cssUA: string; + const serverTimezoneOffset: number; + const transform: string; + const transformOrigin: string; + const transformStyle: string; + const transition: string; + const transitionDelay: string; + const transitionDuration: string; + const transitionProperty: string; + const transitionTimingFunction: string; + const template: any; + const util: { + valueFunction(val: string): any; + }; + export namespace device { + function isAndroid(): boolean; + function isIOS(): boolean; + function isFlat(): boolean; + function isIOS7(): boolean; + function isWindows(): boolean; + } + export namespace widget { + const autoInit: boolean; + const registeredInstances: any[]; + const registeredWidgets: any[]; + function register(pluginName: string, className: string, prototype: any): void; + function destroyAll(elements: Element): void; + function init(element: Element): void; + function registerInstance(element: Element, pluginName: string, className: string, prototype: any): void; + } interface browserInfoOptions { name: string; version: string; - culture: Object; + culture: any; isMSPointerEnabled: boolean; } class WidgetBase { - destroy(): void; - element: JQuery; - setModel(options: Object, forceSet?: boolean):any; - option(prop?: Object, value?: Object, forceSet?: boolean): any; - _trigger(eventName?: string, eventProp?: Object): any; - _on(element: JQuery, eventType?: string, handler?: (eventObject: JQueryEventObject) => any): any; - _on(element: JQuery, eventType ?: string, selector ?: string, handler ?: (eventObject: JQueryEventObject) => any): any; - _off(element: JQuery, eventName: string, handler ?: (eventObject: JQueryEventObject) => any): any; - _off(element: JQuery, eventType ?: string, selector ?: string, handler ?: (eventObject: JQueryEventObject) => any): any; - persistState(): void; - restoreState(silent: boolean): void; - } + destroy(): void; + element: JQuery; + setModel(options: any, forceSet?: boolean): any; + option(prop?: any, value?: any, forceSet?: boolean): any; + _trigger(eventName?: string, eventProp?: any): any; + _on(element: JQuery, eventType?: string, handler?: (eventObject: JQueryEventObject) => any): any; + _on(element: JQuery, eventType?: string, selector?: string, handler?: (eventObject: JQueryEventObject) => any): any; + _off(element: JQuery, eventName: string, handler?: (eventObject: JQueryEventObject) => any): any; + _off(element: JQuery, eventType?: string, selector?: string, handler?: (eventObject: JQueryEventObject) => any): any; + persistState(): void; + restoreState(silent: boolean): void; + } - class Widget extends WidgetBase { - constructor(pluginName: string, className: string, proto: any); - static fn: Widget; - static extend(widget: Widget): any; - register(pluginName: string, className: string, prototype: any): void; - destroyAll(elements: Element): void; - model: any; - } + class Widget extends WidgetBase { + constructor(pluginName: string, className: string, proto: any); + static fn: Widget; + static extend(widget: Widget): any; + register(pluginName: string, className: string, prototype: any): void; + destroyAll(elements: Element): void; + model: any; + } - interface BaseEvent { - cancel: boolean; - type: string; - } - class DataManager { - constructor(dataSource?: any, query?: ej.Query, adaptor?: any); - setDefaultQuery(query: ej.Query): void; - executeQuery(query?: ej.Query, done?: any, fail?: any, always?: any): JQueryPromise; - executeLocal(query?: ej.Query): ej.DataManager; - saveChanges(changes?: Changes, key?: string, tableName?: string): JQueryDeferred; - insert(data: Object, tableName?: string): JQueryPromise; - remove(keyField: string, value: any, tableName?: string): Object; - update(keyField: string, value: any, tableName?: string): Object; - } + interface BaseEvent { + cancel: boolean; + type: string; + } + class DataManager { + constructor(dataSource?: any, query?: ej.Query, adaptor?: any); + setDefaultQuery(query: ej.Query): void; + executeQuery(query?: ej.Query, done?: any, fail?: any, always?: any): JQueryPromise; + executeLocal(query?: ej.Query): ej.DataManager; + saveChanges(changes?: Changes, key?: string, tableName?: string): JQueryDeferred; + insert(data: any, tableName?: string): JQueryPromise; + remove(keyField: string, value: any, tableName?: string): any; + update(keyField: string, value: any, tableName?: string): any; + } - class Query { - constructor(); - static fn: Query; - static extend(prototype: Object): Query; - key(field: string): ej.Query; - using(dataManager: ej.DataManager): ej.Query; - execute(dataManager: ej.DataManager, done: any, fail?: string, always?: string): any; - executeLocal(dataManager: ej.DataManager): ej.DataManager; - clone(): ej.Query; - from(tableName: any): ej.Query; - addParams(key: string, value: string): ej.Query; - expand(tables: any): ej.Query; - where(fieldName: string, operator: ej.FilterOperators, value: any, ignoreCase?: boolean): ej.Query; - where(predicate:ej.Predicate):ej.Query; - search(searchKey: any, fieldNames?: any, operator?: string, ignoreCase?: boolean): ej.Query; - sortBy(fieldName: string, comparer?: ej.SortOrder, isFromGroup?: boolean): ej.Query; - sortByDesc(fieldName: string): ej.Query; - group(fieldName: string): ej.Query; - page(pageIndex: number, pageSize: number): ej.Query; - take(nos: number): ej.Query; - skip(nos: number): ej.Query; - select(fieldNames: any): ej.Query; - hierarchy(query: ej.Query, selectorFn: any): ej.Query; - foreignKey(key: string): ej.Query; - requiresCount(): ej.Query; - range(start:number, end:number): ej.Query; - } - - class Adaptor { - constructor(ds: any); - pvt: Object; - type: ej.Adaptor; - options: AdaptorOptions; - extend(overrides: any): ej.Adaptor; - processQuery(dm: ej.DataManager, query: ej.Query):any; - processResponse(data: Object, ds: any, query: ej.Query, xhr: JQueryXHR, request?: Object, changes?: Changes): Object; - convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; - } - - interface AdaptorOptions { - from?: string; - requestType?: string; - sortBy?: string; - select?: string; - skip?: string; - group?: string; - take?: string; - search?: string; - count?: string; - where?: string; - aggregates?: string; - } - - class UrlAdaptor extends ej.Adaptor { - constructor(); - processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: Object): { - type: string; url: string; ejPvtData: Object; contentType?: string; data?: Object; - } - convertToQueryString(req: Object, query: ej.Query, dm: ej.DataManager): JQueryParam; - processResponse(data: Object, ds: any, query: ej.Query, xhr: JQueryXHR, request?: Object, changes?: Changes): Object; - onGroup(e: any): void; - onAggregates(e :any) : void; - batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; - beforeSend(dm: ej.DataManager, request: any, settings?:any): void; - insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: any }; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; - getFiltersFrom(data: Object, query: ej.Query): ej.Predicate; - } - class WebMethodAdaptor extends ej.UrlAdaptor { - constructor(); - processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: Object): { - type: string; url: string; ejPvtData: Object; contentType?: string; data?: Object; - }; - } - class CacheAdaptor extends ej.UrlAdaptor { - constructor(); - init (adaptor: Object, timeStamp: number, pageSize: number): void; - generateKey (url: string, query: ej.Query) : string; - processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: Object): any; - processResponse(data: Object, ds: any, query: ej.Query, xhr: JQueryXHR, request?: Object, changes?: Changes): Object; - insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: any }; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; - batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: Object; contentType: string }; - - } - class ODataAdaptor extends ej.UrlAdaptor { - constructor(); - options: UrlAdaptorOptions; - onEachWhere(filter: any, requiresCast: boolean): any; - onPredicate(pred: ej.Predicate, query: ej.Query, requiresCast: boolean): string; - onComplexPredicate(pred: ej.Predicate, requiresCast: boolean): string; - onWhere(filters: Array): string; - onEachSearch(e: Object): void; - onSearch(e: Object): string; - onEachSort(e: Object): string; - onSortBy(e: Object): string; - onGroup(e: Object): string; - onSelect(e: Object): string; - onAggregates(e: Object): string; - onCount(e: Object): string; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - processResponse(data: Object, ds: Object, query: ej.Query, xhr:any, request: any, changes: Changes): { - result: Object; count: number - }; - convertToQueryString(req: Object, query: ej.Query, dm: ej.DataManager): JQueryParam; - insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: Object; } - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; } - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; data: Object; accept: string; } - batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: Object; contentType: string; } - generateDeleteRequest(arr: Array, e: any): string; - generateInsertRequest(arr: Array, e: any): string; - generateUpdateRequest(arr: Array, e: any): string; - } - interface UrlAdaptorOptions { - requestType?: string; - accept?: string; - multipartAccept?: string; - sortBy?: string; - select?: string; - skip?: string; - take?: string; - count?: string; - where?: string; - expand?: string; - batch?: string; - changeSet?: string; - batchPre?: string; - contentId?: string; - batchContent?: string; - changeSetContent?: string; - batchChangeSetContentType?: string; - } - - class WebApiAdaptor extends ej.ODataAdaptor { - constructor(); - insert(dm: ej.DataManager, data: Object, tableName?: string): { url: string; type: string; data: Object; } - remove(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: Object; } - update(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: Object; accept: string; } - processResponse(data: Object, ds: Object, query: ej.Query, xhr: any, request: any, changes: Changes): { - result: Object; count: number - }; - } - - class ODataV4Adaptor extends ej.ODataAdaptor { - constructor(); - options: ODataAdaptorOptions; - onCount(e: Object): string; - onEachSearch(e: Object): void; - onSearch(e: Object): string; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - processQuery(ds: Object, query: ej.Query):{ - type: string; url: string; ejPvtData: Object; contentType?: string; data?: Object; - }; - processResponse(data: Object, ds: Object, query: ej.Query, xhr:any, request: any, changes: Changes): { - result: Object; count: number - }; - - } - interface ODataAdaptorOptions { - requestType?: string; - accept?: string; - multipartAccept?: string; - sortBy?: string; - select?: string; - skip?: string; - take?: string; - count?: string; - search?: string; - where?: string; - expand?: string; - batch?: string; - changeSet?: string; - batchPre?: string; - contentId?: string; - batchContent?: string; - changeSetContent?: string; - batchChangeSetContentType?: string; - } - - class JsonAdaptor extends ej.Adaptor { - constructor(); - processQuery(ds: Object, query: ej.Query): string; - batchRequest(dm: ej.DataManager, changes: Changes, e:any): Changes; - onWhere(ds: Object, e: any): any; - onAggregates(ds: Object, e: any): any; - onSearch(ds: Object, e: any): any - onSortBy(ds: Object, e: any, query: ej.Query): Object; - onGroup(ds: Object, e: any, query: ej.Query): Object; - onPage(ds: Object, e: any, query: ej.Query): Object; - onRange(ds: Object, e: any): Object; - onTake(ds: Object, e: any): Object; - onSkip(ds: Object, e: any): Object; - onSelect(ds: Object, e: any): Object; - insert(dm: ej.DataManager, data: any, tableName? : string): Object; - remove(dm: ej.DataManager, keyField: string, value:any, tableName: string): Object; - update(dm: ej.DataManager, keyField: string, value:any, tableName: string): Object; - } - class ForeignKeyAdaptor extends ej.JsonAdaptor{ + class Query { constructor(); - processQuery(ds: Object, query: ej.Query): any; - insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: Object }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; data: Object }; - } + static fn: Query; + static extend(prototype: any): Query; + key(field: string): ej.Query; + using(dataManager: ej.DataManager): ej.Query; + execute(dataManager: ej.DataManager, done: any, fail?: string, always?: string): any; + executeLocal(dataManager: ej.DataManager): ej.DataManager; + clone(): ej.Query; + from(tableName: any): ej.Query; + addParams(key: string, value: string): ej.Query; + expand(tables: any): ej.Query; + where(fieldName: string, operator: ej.FilterOperators, value: any, ignoreCase?: boolean): ej.Query; + where(predicate: ej.Predicate): ej.Query; + search(searchKey: any, fieldNames?: any, operator?: string, ignoreCase?: boolean): ej.Query; + sortBy(fieldName: string, comparer?: ej.SortOrder, isFromGroup?: boolean): ej.Query; + sortByDesc(fieldName: string): ej.Query; + group(fieldName: string): ej.Query; + page(pageIndex: number, pageSize: number): ej.Query; + take(nos: number): ej.Query; + skip(nos: number): ej.Query; + select(fieldNames: any): ej.Query; + hierarchy(query: ej.Query, selectorFn: any): ej.Query; + foreignKey(key: string): ej.Query; + requiresCount(): ej.Query; + range(start: number, end: number): ej.Query; + } + + class Adaptor { + constructor(ds: any); + pvt: any; + type: ej.Adaptor; + options: AdaptorOptions; + extend(overrides: any): ej.Adaptor; + processQuery(dm: ej.DataManager, query: ej.Query): any; + processResponse(data: any, ds: any, query: ej.Query, xhr: JQueryXHR, request?: any, changes?: Changes): any; + convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; + } + + interface AdaptorOptions { + from?: string; + requestType?: string; + sortBy?: string; + select?: string; + skip?: string; + group?: string; + take?: string; + search?: string; + count?: string; + where?: string; + aggregates?: string; + } + + class UrlAdaptor extends ej.Adaptor { + constructor(); + processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: any): { + type: string; url: string; ejPvtData: any; contentType?: string; data?: any; + }; + convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; + processResponse(data: any, ds: any, query: ej.Query, xhr: JQueryXHR, request?: any, changes?: Changes): any; + onGroup(e: any): void; + batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; + getFiltersFrom(data: any, query: ej.Query): ej.Predicate; + } + + class WebMethodAdaptor extends ej.UrlAdaptor { + constructor(); + processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: any): { + type: string; url: string; ejPvtData: any; contentType?: string; data?: any; + }; + } + class CacheAdaptor extends ej.UrlAdaptor { + constructor(); + init(adaptor: any, timeStamp: number, pageSize: number): void; + generateKey(url: string, query: ej.Query): string; + processQuery(dm: ej.DataManager, query: ej.Query, hierarchyFilters?: any): any; + processResponse(data: any, ds: any, query: ej.Query, xhr: JQueryXHR, request?: any, changes?: Changes): any; + insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; + batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: any; contentType: string }; + + } + class ODataAdaptor extends ej.UrlAdaptor { + constructor(); + options: UrlAdaptorOptions; + onEachWhere(filter: any, requiresCast: boolean): any; + onPredicate(pred: ej.Predicate, query: ej.Query, requiresCast: boolean): string; + onComplexPredicate(pred: ej.Predicate, requiresCast: boolean): string; + onWhere(filters: string[]): string; + onEachSearch(e: any): void; + onSearch(e: any): string; + onEachSort(e: any): string; + onSortBy(e: any): string; + onGroup(e: any): string; + onSelect(e: any): string; + onAggregates(e: any): string; + onCount(e: any): string; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { + result: any; count: number + }; + convertToQueryString(req: any, query: ej.Query, dm: ej.DataManager): JQueryParam; + insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any; }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { url: string; type: string; data: any; accept: string; }; + batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: any; contentType: string; }; + generateDeleteRequest(arr: any[], e: any): string; + generateInsertRequest(arr: any[], e: any): string; + generateUpdateRequest(arr: any[], e: any): string; + } + interface UrlAdaptorOptions { + requestType?: string; + accept?: string; + multipartAccept?: string; + sortBy?: string; + select?: string; + skip?: string; + take?: string; + count?: string; + where?: string; + expand?: string; + batch?: string; + changeSet?: string; + batchPre?: string; + contentId?: string; + batchContent?: string; + changeSetContent?: string; + batchChangeSetContentType?: string; + } + + class WebApiAdaptor extends ej.ODataAdaptor { + constructor(); + insert(dm: ej.DataManager, data: any, tableName?: string): { url: string; type: string; data: any; }; + remove(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: any; }; + update(dm: ej.DataManager, value: any, keyField?: string, tableName?: string): { url: string; type: string; data: any; accept: string; }; + processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { + result: any; count: number + }; + } + + class ODataV4Adaptor extends ej.ODataAdaptor { + constructor(); + options: ODataAdaptorOptions; + onCount(e: any): string; + onEachSearch(e: any): void; + onSearch(e: any): string; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + processQuery(ds: any, query: ej.Query): { + type: string; url: string; ejPvtData: any; contentType?: string; data?: any; + }; + processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { + result: any; count: number + }; + + } + interface ODataAdaptorOptions { + requestType?: string; + accept?: string; + multipartAccept?: string; + sortBy?: string; + select?: string; + skip?: string; + take?: string; + count?: string; + search?: string; + where?: string; + expand?: string; + batch?: string; + changeSet?: string; + batchPre?: string; + contentId?: string; + batchContent?: string; + changeSetContent?: string; + batchChangeSetContentType?: string; + } + + class JsonAdaptor extends ej.Adaptor { + constructor(); + processQuery(ds: any, query: ej.Query): string; + batchRequest(dm: ej.DataManager, changes: Changes, e: any): Changes; + onWhere(ds: any, e: any): any; + onSearch(ds: any, e: any): any; + onSortBy(ds: any, e: any, query: ej.Query): any; + onGroup(ds: any, e: any, query: ej.Query): any; + onPage(ds: any, e: any, query: ej.Query): any; + onRange(ds: any, e: any): any; + onTake(ds: any, e: any): any; + onSkip(ds: any, e: any): any; + onSelect(ds: any, e: any): any; + insert(dm: ej.DataManager, data: any): any; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): any; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): any; + } class remoteSaveAdaptor extends ej.UrlAdaptor { - constructor(); - batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; - beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - insert(dm: ej.DataManager, data: Object, tableName: string): { url: string; data: any }; - remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; - update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; - } - class TableModel { - constructor(name: string, jsonArray: Array, dataManager: ej.DataManager, modelComputed: any); - on(eventName: string, handler: any): void; - off(eventName: string, handler: any): void; - setDataManager(dataManager: DataManager): void; - saveChanges(): void; - rejectChanges(): void; - insert(json: any): void; - update(value: any): void; - remove(key: string): void; - isDirty(): boolean; - getChanges(): Changes; - toArray(): Array; - setDirty(dirty:any, model:any): void; - get(index: number): void; - length(): number; - bindTo(element: any): void; - } - class Model { - constructor(json: any, table: string, name: string); - formElements: Array; - computes(value: any): void; - on(eventName: string, handler: any): void; - off(eventName: string, handler: any): void; - set(field: string, value: any): void; - get(field: string): any; - revert(suspendEvent: any): void; - save(dm: ej.DataManager, key: string): void; - markCommit(): void; - markDelete(): void; - changeState(state: boolean, args: any): void; - properties(): any; - bindTo(element: any): void; - unbind(element: any): void; - } - interface Changes { - changed?: Array; - added?: Array; - deleted?: Array; - } - class Predicate { - constructor(); - constructor(field: string, operator: ej.FilterOperators, value: any, ignoreCase: boolean); - and(field: string, operator: any, value:any, ignoreCase:boolean): ej.Predicate; - or(field: string, operator: any, value: any, ignoreCase: boolean): ej.Predicate; - or(predicate: Array): any; - validate(record: Object): boolean; - toJSON(): { - isComplex: boolean; - field: string; - operator: string; - value: any; - ignoreCase: boolean; - condition: string; - predicates: any; - }; - } - interface dataUtil { - swap(array: Array, x: number, y: number): void; - mergeSort(jsonArray: Array, fieldName?: string, comparer?:any): Array; - max(jsonArray: Array, fieldName?: string, comparer?: string): Array; - min(jsonArray: Array, fieldName: string, comparer: string): Array; - distinct(jsonArray: Array, fieldName?: string, requiresCompleteRecord?:any): Array; - sum(json:any, fieldName: string): number; - avg(json:any, fieldName: string): number; - select(jsonArray: Array, fieldName: string, fields:string): Array; - group(jsonArray: Array, field: string, /* internal */ level: number): Array; - parseTable(table: string, headerOption: ej.headerOption, headerRowIndex: number): Object; - } - interface AjaxSettings { - type?: string; - cache: boolean; - data?: any; - dataType?: string; - contentType?: any; - async?: boolean; - } + constructor(); + batchRequest(dm: ej.DataManager, changes: Changes, e: any): void; + beforeSend(dm: ej.DataManager, request: any, settings?: any): void; + insert(dm: ej.DataManager, data: any, tableName: string): { url: string; data: any }; + remove(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data?: any }; + update(dm: ej.DataManager, keyField: string, value: any, tableName: string): { type: string; url: string; data: any }; + } + class TableModel { + constructor(name: string, jsonArray: any[], dataManager: ej.DataManager, modelComputed: any); + on(eventName: string, handler: any): void; + off(eventName: string, handler: any): void; + setDataManager(dataManager: DataManager): void; + saveChanges(): void; + rejectChanges(): void; + insert(json: any): void; + update(value: any): void; + remove(key: string): void; + isDirty(): boolean; + getChanges(): Changes; + toArray(): any[]; + setDirty(dirty: any, model: any): void; + get(index: number): void; + length(): number; + bindTo(element: any): void; + } + class Model { + constructor(json: any, table: string, name: string); + formElements: string[]; + computes(value: any): void; + on(eventName: string, handler: any): void; + off(eventName: string, handler: any): void; + set(field: string, value: any): void; + get(field: string): any; + revert(suspendEvent: any): void; + save(dm: ej.DataManager, key: string): void; + markCommit(): void; + markDelete(): void; + changeState(state: boolean, args: any): void; + properties(): any; + bindTo(element: any): void; + unbind(element: any): void; + } + interface Changes { + changed?: any[]; + added?: any[]; + deleted?: any[]; + } + class Predicate { + constructor(); + constructor(field: string, operator: ej.FilterOperators, value: any, ignoreCase: boolean); + and(field: string, operator: any, value: any, ignoreCase: boolean): ej.Predicate; + or(field: string, operator: any, value: any, ignoreCase: boolean): ej.Predicate; + or(predicate: any[]): any; + validate(record: any): boolean; + toJSON(): { + isComplex: boolean; + field: string; + operator: string; + value: any; + ignoreCase: boolean; + condition: string; + predicates: any; + }; + } + interface dataUtil { + swap(array: any[], x: number, y: number): void; + mergeSort(jsonArray: any[], fieldName?: string, comparer?: any): any[]; + max(jsonArray: any[], fieldName?: string, comparer?: string): any[]; + min(jsonArray: any[], fieldName: string, comparer: string): any[]; + distinct(jsonArray: any[], fieldName?: string, requiresCompleteRecord?: any): any[]; + sum(json: any, fieldName: string): number; + avg(json: any, fieldName: string): number; + select(jsonArray: any[], fieldName: string, fields: string): any[]; + group(jsonArray: any[], field: string, /* internal */ level: number): any[]; + parseTable(table: string, headerOption: ej.headerOption, headerRowIndex: number): any; + } + interface AjaxSettings { + type?: string; + cache: boolean; + data?: any; + dataType?: string; + contentType?: any; + async?: boolean; + } enum FilterOperators { contains, endsWith, @@ -520,12743 +511,12784 @@ declare module ej { row, tHead } - - enum filterType{ + enum filterType { StartsWith, Contains, EndsWith, LessThan, GreaterThan, - LessThanOrEqual , + LessThanOrEqual, GreaterThanOrEqual, Equal, NotEqual } - enum Animation{ + enum Animation { Fade, None, Slide - } - enum Type{ + } + enum Type { Overlay, Slide } - enum SortOrder{ + enum SortOrder { Ascending, Descending } -class Draggable extends ej.Widget { - static fn: Draggable; - constructor(element: JQuery, options?: Draggable.Model); - constructor(element: Element, options?: Draggable.Model); - static Locale: any; - model:Draggable.Model; - defaults:Draggable.Model; - - /** destroy in the draggable. - * @returns {void} - */ - _destroy(): void; -} -export module Draggable{ + class Draggable extends ej.Widget { + static fn: Draggable; + constructor(element: JQuery | Element, options?: Draggable.Model); + static Locale: any; + model: Draggable.Model; + defaults: Draggable.Model; -export interface Model { - - /** If clone is specified. - * @Default {false} - */ - clone?: boolean; - - /** Sets the offset of the dragging helper relative to the mouse cursor. - * @Default {{ top: -1, left: -2 }} - */ - cursorAt?: any; + /** destroy in the draggable. + * @returns {void} + */ + _destroy(): void; + } + export namespace Draggable { - /** Distance in pixels after mousedown the mouse must move before dragging should start. This option can be used to prevent unwanted drags when clicking on an element. - * @Default {1} - */ - distance?: number; - - /** The drag area is used to restrict the dragging element bounds.Specify the id of the container within which the element should be dragged. - * @Default {null} - */ - dragArea?: boolean; - - /** If specified, restricts drag start click to the specified element(s). - * @Default {null} - */ - handle?: string; + export interface Model { + + /** If clone is specified. + * @Default {false} + */ + clone?: boolean; + + /** Sets the offset of the dragging helper relative to the mouse cursor. + * @Default {{ top: -1, left: -2 }} + */ + cursorAt?: any; - /** Used to group sets of draggable and droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. - * @Default {'default'} - */ - scope?: string; + /** Distance in pixels after mousedown the mouse must move before dragging should start. This option can be used to prevent unwanted drags when clicking on an element. + * @Default {1} + */ + distance?: number; - /** This event is triggered when dragging element is destroyed. */ - destroy? (e: DestroyEventArgs): void; + /** The drag area is used to restrict the dragging element bounds. + * @Default {false} + */ + dragArea?: boolean; + + /** If specified, restricts drag start click to the specified element(s). + * @Default {null} + */ + handle?: string; - /** This event is triggered when the mouse is moved during the dragging. */ - drag? (e: DragEventArgs): void; + /** Used to group sets of draggable and droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. + * @Default {'default'} + */ + scope?: string; - /** Supply a callback function to handle the drag start event as an init option. */ - dragStart? (e: DragStartEventArgs): void; - - /** This event is triggered when the mouse is moved during the dragging. */ - dragStop? (e: DragStopEventArgs): void; + /** This event is triggered when dragging element is destroyed. */ + destroy?(e: DestroyEventArgs): void; - /** This event is triggered when dragged. */ - helper? (e: HelperEventArgs): void; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Draggable.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DragEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the draggable model - */ - model?: ej.Draggable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event model values - */ - event?: any; - - /** returns the exact mouse down target element - */ - target?: any; -} - -export interface DragStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** This event is triggered when the mouse is moved during the dragging. */ + drag?(e: DragEventArgs): void; - /** returns the draggable model - */ - model?: ej.Draggable.Model; + /** Supply a callback function to handle the drag start event as an init option. */ + dragStart?(e: DragStartEventArgs): void; - /** returns the name of the event - */ - type?: string; + /** This event is triggered when the mouse is moved during the dragging. */ + dragStop?(e: DragStopEventArgs): void; - /** returns the event model values - */ - event?: any; + /** This event is triggered when dragged. */ + helper?(e: HelperEventArgs): void; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Draggable.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DragEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the draggable model + */ + model?: ej.Draggable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event model values + */ + event?: any; + + /** returns the exact mouse down target element + */ + target?: any; + } + + export interface DragStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the exact mouse down target element - */ - target?: any; -} + /** returns the draggable model + */ + model?: ej.Draggable.Model; -export interface DragStopEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event model values + */ + event?: any; - /** returns the draggable model - */ - model?: ej.Draggable.Model; + /** returns the exact mouse down target element + */ + target?: any; + } - /** returns the name of the event - */ - type?: string; + export interface DragStopEventArgs { - /** returns the event model values - */ - event?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the exact mouse down target element - */ - target?: any; -} + /** returns the draggable model + */ + model?: ej.Draggable.Model; -export interface HelperEventArgs { + /** returns the name of the event + */ + type?: string; - /** returns the draggable element object - */ - element?: any; + /** returns the event model values + */ + event?: any; - /** returns the event model values - */ - sender?: any; -} -} + /** returns the exact mouse down target element + */ + target?: any; + } -class Droppable extends ej.Widget { - static fn: Droppable; - constructor(element: JQuery, options?: Droppable.Model); - constructor(element: Element, options?: Droppable.Model); - static Locale: any; - model:Droppable.Model; - defaults:Droppable.Model; - - /** destroy in the Droppable. - * @returns {void} - */ - _destroy(): void; -} -export module Droppable{ - -export interface Model { - - /** Used to accept the specified draggable items. - * @Default {null} - */ - accept?: any; - - /** Used to group sets of droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. - * @Default {'default'} - */ - scope?: string; - - /** This event is triggered when the mouse up is moved during the dragging. */ - drop? (e: DropEventArgs): void; - - /** This event is triggered when the mouse is moved out. */ - out? (e: OutEventArgs): void; - - /** This event is triggered when the mouse is moved over. */ - over? (e: OverEventArgs): void; -} - -export interface DropEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Droppable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the element which accepts the droppable element. - */ - target?: any; -} - -export interface OutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Droppable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse out over the element - */ - target?: any; -} - -export interface OverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Droppable.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse over the element - */ - target?: any; -} -} - -class Resizable extends ej.Widget { - static fn: Resizable; - constructor(element: JQuery, options?: Resizable.Model); - constructor(element: Element, options?: Resizable.Model); - static Locale: any; - model:Resizable.Model; - defaults:Resizable.Model; - - /** destroy in the Resizable. - * @returns {void} - */ - _destroy(): void; -} -export module Resizable{ - -export interface Model { - - /** Sets the offset of the resizing helper relative to the mouse cursor. - * @Default {{ top: -1, left: -2 }} - */ - cursorAt?: any; - - /** Distance in pixels after mousedown the mouse must move before resizing should start. This option can be used to prevent unwanted drags when clicking on an element. - * @Default {1} - */ - distance?: number; - - /** If specified, restricts resize start click to the specified element(s). - * @Default {null} - */ - handle?: string; - - /** Sets the max height for resizing - * @Default {null} - */ - maxHeight?: number; - - /** Sets the max width for resizing - * @Default {null} - */ - maxWidth?: number; - - /** Sets the min Height for resizing - * @Default {10} - */ - minHeight?: number; - - /** Sets the min Width for resizing - * @Default {10} - */ - minWidth?: number; - - /** Used to group sets of resizable items. - * @Default {'default'} - */ - scope?: string; - - /** This event is triggered when the widget destroys. */ - destroy? (e: DestroyEventArgs): void; - - /** This event is triggered when resized. */ - helper? (e: HelperEventArgs): void; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Resizable.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface HelperEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the autocomplete model - */ - model?: ej.Resizable.Model; - - /** returns the name of the event - */ - type?: string; -} -} - - - var globalize:globalize; - var cultures:culture; - function addCulture(name: string, culture ?: any): void; - function preferredCulture(culture ?: string): culture; - function format(value: any, format: string, culture ?: string): string; - function parseInt(value: string, radix?: any, culture ?: string): number; - function parseFloat(value: string, radix?: any, culture ?: string): number; - function parseDate(value: string, format: string, culture ?: string): Date; - function getLocalizedConstants(controlName: string, culture ?: string): any; - -interface globalize { - addCulture(name: string, culture?: any): void; - preferredCulture(culture?: string): culture; - format(value: any, format: string, culture?: string): string; - parseInt(value: string, radix?: any, culture?: string): number; - parseFloat(value: string, radix?: any, culture?: string): number; - parseDate(value: string, format: string, culture?: string): Date; - getLocalizedConstants(controlName: string, culture?: string): any; - } - interface culture { - name?: string; - englishName?: string; - namtiveName?: string; - language?: string; - isRTL: boolean; - numberFormat?: formatSettings; - calendars?: calendarsSettings; - } - interface formatSettings { - pattern: Array; - decimals: number; - groupSizes: Array; - percent: percentSettings; - currency: currencySettings; - } - interface percentSettings { - pattern: Array; - decimals: number; - groupSizes: Array; - symbol: string; - } - interface currencySettings { - pattern: Array; - decimals: number; - groupSizes: Array; - symbol: string; - } - interface calendarsSettings { - standard: standardSettings; - } - interface standardSettings { - firstDay: number; - days: daySettings; - months: monthSettings; - AM: Array; - PM: Array; - twoDigitYearMax: number; - patterns: patternSettings; - } - interface daySettings { - names: Array; - namesAbbr: Array; - namesShort: Array; - } - interface monthSettings { - names: Array; - namesAbbr: Array; - } - interface patternSettings { - d: string; - D: string; - t: string; - T: string; - f: string; - F: string; - M: string; - Y: string; - S: string; - } -class Scroller extends ej.Widget { - static fn: Scroller; - constructor(element: JQuery, options?: Scroller.Model); - constructor(element: Element, options?: Scroller.Model); - static Locale: any; - model:Scroller.Model; - defaults:Scroller.Model; - - /** destroy the Scroller control, unbind the all ej control related events automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** User disables the Scroller control at any time. - * @returns {void} - */ - disable(): void; - - /** User enables the Scroller control at any time. - * @returns {void} - */ - enable(): void; - - /** Returns true if horizontal scrollbar is shown, else return false. - * @returns {boolean} - */ - isHScroll(): boolean; - - /** Returns true if vertical scrollbar is shown, else return false. - * @returns {boolean} - */ - isVScroll(): boolean; - - /** User refreshes the Scroller control at any time. - * @returns {void} - */ - refresh(): void; - - /** Horizontal scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. - * @param {number|string} Horizontal scroller moves to the specified pixel. - * @param {boolean} Specifies to enable/disable the animation. - * @param {number} Specifies the animation speed when scrolling, if animation is enabled. - * @returns {void} - */ - scrollX(pixel: number|string, disableAnimation: boolean, animationSpeed: number): void; - - /** Vertical scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. - * @param {number|string} Vertical scroller moves to the specified pixel. - * @param {boolean} Specifies to enable/disable the animation. - * @param {number} Specifies the animation speed when scrolling, if animation is enabled. - * @returns {void} - */ - scrollY(pixel: number|string, disableAnimation: boolean, animationSpeed: number): void; -} -export module Scroller{ - -export interface Model { - - /** Specifies the swipe scrolling speed(in millisecond). - * @Default {600} - */ - animationSpeed?: number; - - /** Set true to hides the scrollbar, when mouseout the content area. - * @Default {false} - */ - autoHide?: boolean; - - /** Specifies the height and width of button in the scrollbar. - * @Default {18} - */ - buttonSize?: number; - - /** Specifies to enable or disable the scroller - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Indicates the Right to Left direction to scroller - * @Default {undefined} - */ - enableRTL?: boolean; - - /** Enables or Disable the touch Scroll - * @Default {true} - */ - enableTouchScroll?: boolean; - - /** Specifies the height of Scroll panel and scrollbars. - * @Default {250} - */ - height?: number|string; - - /** If the scrollbar has vertical it set as width, else it will set as height of the handler. - * @Default {18} - */ - scrollerSize?: number; - - /** The Scroller content and scrollbars move left with given value. - * @Default {0} - */ - scrollLeft?: number; - - /** While press on the arrow key the scrollbar position added to the given pixel value. - * @Default {57} - */ - scrollOneStepBy?: number; - - /** The Scroller content and scrollbars move to top position with specified value. - * @Default {0} - */ - scrollTop?: number; - - /** Indicates the target area to which scroller have to appear. - * @Default {null} - */ - targetPane?: string; - - /** Specifies the width of Scroll panel and scrollbars. - * @Default {0} - */ - width?: number|string; - - /** Fires when Scroller control is created. */ - create? (e: CreateEventArgs): void; - - /** Fires when Scroller control is destroyed. */ - destroy? (e: DestroyEventArgs): void; - - /** Fires when a thumb point is moved along the touch surface. */ - thumbMove? (e: ThumbMoveEventArgs): void; - - /** Fires when a thumb point is placed on the touch surface. */ - thumbStart? (e: ThumbStartEventArgs): void; - - /** Fires when a thumb point is removed from the touch surface. */ - thumbEnd? (e: ThumbEndEventArgs): void; - - /** It fires whenever the mouse wheel is rotated either in upwards or downwards. */ - wheelMove? (e: WheelMoveEventArgs): void; - - /** It will fire when mouse trackball has been start to wheel. */ - wheelStart? (e: WheelStartEventArgs): void; - - /** It will fire when mouse trackball has been stop to wheel. */ - wheelStop? (e: WheelStopEventArgs): void; -} + export interface HelperEventArgs { -export interface CreateEventArgs { + /** returns the draggable element object + */ + element?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event model values + */ + sender?: any; + } + } - /** returns the scroller model - */ - model?: ej.Scroller.Model; + class Droppable extends ej.Widget { + static fn: Droppable; + constructor(element: JQuery | Element, options?: Droppable.Model); + static Locale: any; + model: Droppable.Model; + defaults: Droppable.Model; + + /** destroy in the Droppable. + * @returns {void} + */ + _destroy(): void; + } + export namespace Droppable { + + export interface Model { + + /** Used to accept the specified draggable items. + * @Default {null} + */ + accept?: any; + + /** Used to group sets of droppable items, in addition to droppable's accept option. A draggable with the same scope value as a droppable will be accepted by the droppable. + * @Default {'default'} + */ + scope?: string; + + /** This event is triggered when the mouse up is moved during the dragging. */ + drop?(e: DropEventArgs): void; + + /** This event is triggered when the mouse is moved out. */ + out?(e: OutEventArgs): void; + + /** This event is triggered when the mouse is moved over. */ + over?(e: OverEventArgs): void; + } + + export interface DropEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Droppable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the element which accepts the droppable element. + */ + targetElement?: any; + } + + export interface OutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Droppable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse out over the element + */ + targetElement?: any; + } + + export interface OverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Droppable.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse over the element + */ + targetElement?: any; + } + } + + class Resizable extends ej.Widget { + static fn: Resizable; + constructor(element: JQuery | Element, options?: Resizable.Model); + static Locale: any; + model: Resizable.Model; + defaults: Resizable.Model; + + /** destroy in the Resizable. + * @returns {void} + */ + _destroy(): void; + } + export namespace Resizable { + + export interface Model { + + /** Sets the offset of the resizing helper relative to the mouse cursor. + * @Default {{ top: -1, left: -2 }} + */ + cursorAt?: any; + + /** Distance in pixels after mousedown the mouse must move before resizing should start. This option can be used to prevent unwanted drags when clicking on an element. + * @Default {1} + */ + distance?: number; + + /** If specified, restricts resize start click to the specified element(s). + * @Default {null} + */ + handle?: string; + + /** Sets the max height for resizing + * @Default {null} + */ + maxHeight?: number; + + /** Sets the max width for resizing + * @Default {null} + */ + maxWidth?: number; + + /** Sets the min Height for resizing + * @Default {10} + */ + minHeight?: number; + + /** Sets the min Width for resizing + * @Default {10} + */ + minWidth?: number; + + /** Used to group sets of resizable items. + * @Default {'default'} + */ + scope?: string; + + /** This event is triggered when the widget destroys. */ + destroy?(e: DestroyEventArgs): void; + + /** This event is triggered when resized. */ + helper?(e: HelperEventArgs): void; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Resizable.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface HelperEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the autocomplete model + */ + model?: ej.Resizable.Model; + + /** returns the name of the event + */ + type?: string; + } + } + + + const globalize: globalize; + const cultures: culture; + function addCulture(name: string, culture?: any): void; + function preferredCulture(culture?: string): culture; + function format(value: any, format: string, culture?: string): string; + function parseInt(value: string, radix?: any, culture?: string): number; + function parseFloat(value: string, radix?: any, culture?: string): number; + function parseDate(value: string, format: string, culture?: string): Date; + function getLocalizedConstants(controlName: string, culture?: string): any; + + interface globalize { + addCulture(name: string, culture?: any): void; + preferredCulture(culture?: string): culture; + format(value: any, format: string, culture?: string): string; + parseInt(value: string, radix?: any, culture?: string): number; + parseFloat(value: string, radix?: any, culture?: string): number; + parseDate(value: string, format: string, culture?: string): Date; + getLocalizedConstants(controlName: string, culture?: string): any; + } + interface culture { + name?: string; + englishName?: string; + namtiveName?: string; + language?: string; + isRTL: boolean; + numberFormat?: formatSettings; + calendars?: calendarsSettings; + } + interface formatSettings { + pattern: string[]; + decimals: number; + groupSizes: number[]; + percent: percentSettings; + currency: currencySettings; + } + interface percentSettings { + pattern: string[]; + decimals: number; + groupSizes: number[]; + symbol: string; + } + interface currencySettings { + pattern: string[]; + decimals: number; + groupSizes: number[]; + symbol: string; + } + interface calendarsSettings { + standard: standardSettings; + } + interface standardSettings { + firstDay: number; + days: daySettings; + months: monthSettings; + AM: string[]; + PM: string[]; + twoDigitYearMax: number; + patterns: patternSettings; + } + interface daySettings { + names: string[]; + namesAbbr: string[]; + namesShort: string[]; + } + interface monthSettings { + names: string[]; + namesAbbr: string[]; + } + interface patternSettings { + d: string; + D: string; + t: string; + T: string; + f: string; + F: string; + M: string; + Y: string; + S: string; + } + class Scroller extends ej.Widget { + static fn: Scroller; + constructor(element: JQuery | Element, options?: Scroller.Model); + static Locale: any; + model: Scroller.Model; + defaults: Scroller.Model; + + /** destroy the Scroller control, unbind the all ej control related events automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** User disables the Scroller control at any time. + * @returns {void} + */ + disable(): void; + + /** User enables the Scroller control at any time. + * @returns {void} + */ + enable(): void; + + /** Returns true if horizontal scrollbar is shown, else return false. + * @returns {boolean} + */ + isHScroll(): boolean; + + /** Returns true if vertical scrollbar is shown, else return false. + * @returns {boolean} + */ + isVScroll(): boolean; + + /** User refreshes the Scroller control at any time. + * @returns {void} + */ + refresh(): void; + + /** Horizontal scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. + * @param {number|string} Horizontal scroller moves to the specified pixel. + * @param {boolean} Specifies to enable/disable the animation. + * @param {number} Specifies the animation speed when scrolling, if animation is enabled. + * @returns {void} + */ + scrollX(pixel: number | string, disableAnimation: boolean, animationSpeed: number): void; + + /** Vertical scroller moves to given pixel from its origin position. We can also specify the animation speed,in which the scroller has to move while re-positioning it. + * @param {number|string} Vertical scroller moves to the specified pixel. + * @param {boolean} Specifies to enable/disable the animation. + * @param {number} Specifies the animation speed when scrolling, if animation is enabled. + * @returns {void} + */ + scrollY(pixel: number | string, disableAnimation: boolean, animationSpeed: number): void; + } + export namespace Scroller { + + export interface Model { + + /** Specifies the swipe scrolling speed(in millisecond). + * @Default {600} + */ + animationSpeed?: number; + + /** Set true to hides the scrollbar, when mouseout the content area. + * @Default {false} + */ + autoHide?: boolean; + + /** Specifies the height and width of button in the scrollbar. + * @Default {18} + */ + buttonSize?: number; + + /** Specifies to enable or disable the scroller + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Indicates the Right to Left direction to scroller + * @Default {undefined} + */ + enableRTL?: boolean; + + /** Enables or Disable the touch Scroll + * @Default {true} + */ + enableTouchScroll?: boolean; + + /** Specifies the height of Scroll panel and scrollbars. + * @Default {250} + */ + height?: number | string; + + /** If the scrollbar has vertical it set as width, else it will set as height of the handler. + * @Default {18} + */ + scrollerSize?: number; + + /** The Scroller content and scrollbars move left with given value. + * @Default {0} + */ + scrollLeft?: number; + + /** While press on the arrow key the scrollbar position added to the given pixel value. + * @Default {57} + */ + scrollOneStepBy?: number; + + /** The Scroller content and scrollbars move to top position with specified value. + * @Default {0} + */ + scrollTop?: number; + + /** Indicates the target area to which scroller have to appear. + * @Default {null} + */ + targetPane?: string; + + /** Specifies the width of Scroll panel and scrollbars. + * @Default {0} + */ + width?: number | string; + + /** Fires when Scroller control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires when Scroller control is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when a thumb point is moved along the touch surface. */ + thumbMove?(e: ThumbMoveEventArgs): void; + + /** Fires when a thumb point is placed on the touch surface. */ + thumbStart?(e: ThumbStartEventArgs): void; + + /** Fires when a thumb point is removed from the touch surface. */ + thumbEnd?(e: ThumbEndEventArgs): void; + + /** It fires whenever the mouse wheel is rotated either in upwards or downwards. */ + wheelMove?(e: WheelMoveEventArgs): void; + + /** It will fire when mouse trackball has been start to wheel. */ + wheelStart?(e: WheelStartEventArgs): void; + + /** It will fire when mouse trackball has been stop to wheel. */ + wheelStop?(e: WheelStopEventArgs): void; + } - /** returns the name of the event. - */ - type?: string; -} + export interface CreateEventArgs { -export interface DestroyEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the scroller model + */ + model?: ej.Scroller.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface ThumbMoveEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the scroller model + */ + model?: ej.Scroller.Model; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the name of the event. + */ + type?: string; + } - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; + export interface ThumbMoveEventArgs { - /** returns the current data related to the event. - */ - scrollData?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} + /** returns the scroller model + */ + model?: ej.Scroller.Model; -export interface ThumbStartEventArgs { + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the current data related to the event. + */ + scrollData?: any; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the name of the event. + */ + type?: string; + } - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; + export interface ThumbStartEventArgs { - /** returns the current data related to the event. - */ - scrollData?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} + /** returns the scroller model + */ + model?: ej.Scroller.Model; -export interface ThumbEndEventArgs { + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the current data related to the event. + */ + scrollData?: any; - /** returns the scroller model - */ - model?: ej.Scroller.Model; + /** returns the name of the event. + */ + type?: string; + } - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; + export interface ThumbEndEventArgs { - /** returns the current data related to the event. - */ - scrollData?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} - -export interface WheelMoveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the scroller model - */ - model?: ej.Scroller.Model; - - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; -} - -export interface WheelStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the scroller model - */ - model?: ej.Scroller.Model; - - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; - - /** returns the current data related to the event. - */ - scrollData?: any; - - /** returns the name of the event. - */ - type?: string; -} - -export interface WheelStopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the scroller model - */ - model?: ej.Scroller.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the original event name and its event properties of the current event. - */ - originalEvent?: any; -} -} - -class Accordion extends ej.Widget { - static fn: Accordion; - constructor(element: JQuery, options?: Accordion.Model); - constructor(element: Element, options?: Accordion.Model); - static Locale: any; - model:Accordion.Model; - defaults:Accordion.Model; - - /** AddItem method is used to add the panel in dynamically. It receives the following parameters - * @param {string} specify the name of the header - * @param {string} content of the new panel - * @param {number} insertion place of the new panel - * @param {boolean} Enable or disable the AJAX request to the added panel - * @returns {void} - */ - addItem(header_name: string, content: string, index: number, isAjaxReq: boolean): void; - - /** This method used to collapse the all the expanded items in accordion at a time. - * @returns {void} - */ - collapseAll(): void; - - /** This method used to Collapses the specified items in accordion at a time. - * @returns {void} - */ - collapsePanel(): void; - - /** destroy the Accordion widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Disables the accordion widget includes all the headers and content panels. - * @returns {void} - */ - disable(): void; - - /** Disable the accordion widget item based on specified header index. - * @param {Array} index values to disable the panels - * @returns {void} - */ - disableItems(index: Array): void; - - /** Enable the accordion widget includes all the headers and content panels. - * @returns {void} - */ - enable(): void; - - /** Enable the accordion widget item based on specified header index. - * @param {Array} index values to enable the panels - * @returns {void} - */ - enableItems(index: Array): void; - - /** To expand all the accordion widget items. - * @returns {void} - */ - expandAll(): void; - - /** This method used to Expand the specified items in accordion at a time. - * @returns {void} - */ - expandPanel(): void; - - /** Returns the total number of panels in the control. - * @returns {number} - */ - getItemsCount(): number; - - /** Hides the visible Accordion control. - * @returns {void} - */ - hide(): void; - - /** The refresh method is used to adjust the control size based on the parent element dimension. - * @returns {void} - */ - refresh(): void; - - /** RemoveItem method is used to remove the specified index panel.It receives the parameter as number. - * @param {number} specify the index value for remove the accordion panel. - * @returns {void} - */ - removeItem(index: number): void; - - /** Shows the hidden Accordion control. - * @returns {void} - */ - show(): void; -} -export module Accordion{ - -export interface Model { - - /** Specifies the ajaxSettings option to load the content to the accordion control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Accordion headers can be expanded and collapsed on keyboard action. - * @Default {true} - */ - allowKeyboardNavigation?: Boolean; - - /** To set the Accordion headers Collapse Speed. - * @Default {300} - */ - collapseSpeed?: number; - - /** Specifies the collapsible state of accordion control. - * @Default {false} - */ - collapsible?: boolean; - - /** Sets the root CSS class for Accordion theme, which is used customize. - */ - cssClass?: String; - - /** Allows you to set the custom header Icon. It accepts two key values “header”, ”selectedHeader”. - * @Default {{ header: e-collapse, selectedHeader: e-expand }} - */ - customIcon?: CustomIcon; - - /** Disables the specified indexed items in accordion. - * @Default {[]} - */ - disabledItems?: number[]; - - /** Specifies the animation behavior in accordion. - * @Default {true} - */ - enableAnimation?: Boolean; - - /** With this enabled property, you can enable or disable the Accordion. - * @Default {true} - */ - enabled?: Boolean; - - /** Used to enable the disabled items in accordion. - * @Default {[]} - */ - enabledItems?: number[]; - - /** Multiple content panels to activate at a time. - * @Default {false} - */ - enableMultipleOpen?: Boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the accordion control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: Boolean; - - /** Display headers and panel text from right-to-left. - * @Default {false} - */ - enableRTL?: Boolean; - - /** The events API binds the action for activating the accordion header. Users can activate the header by using mouse actions such as mouse-over, mouse-up, mouse-down, and soon. - * @Default {click} - */ - events?: String; - - /** To set the Accordion headers Expand Speed. - * @Default {300} - */ - expandSpeed?: number; - - /** Sets the height for Accordion items header. - */ - headerSize?: number|string; - - /** Specifies height of the accordion. - * @Default {null} - */ - height?: number|string; - - /** Adjusts the content panel height based on the given option (content, auto, or fill). By default, the panel heights are adjusted based on the content. - * @Default {content} - */ - heightAdjustMode?: ej.Accordion.HeightAdjustMode|string; - - /** It allows to define the characteristics of the Accordion control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The given index header will activate (open). If collapsible is set to true, and a negative value is given, then all headers are collapsed. Otherwise, the first panel isactivated. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Activate the specified indexed items of the accordion - * @Default {[0]} - */ - selectedItems?: number[]; - - /** Used to determines the close button visibility an each accordion items. This close button helps to remove the accordion item from the control. - * @Default {false} - */ - showCloseButton?: Boolean; - - /** Displays rounded corner borders on the Accordion control's panels and headers. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies width of the accordion. - * @Default {null} - */ - width?: number|string; - - /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ - activate? (e: ActivateEventArgs): void; - - /** Triggered before the AJAX content is loaded in a content panel. Arguments have location of the content (URL) and current model value. */ - ajaxBeforeLoad? (e: AjaxBeforeLoadEventArgs): void; + /** returns the scroller model + */ + model?: ej.Scroller.Model; - /** Triggered after AJAX load failed action. Arguments have URL, error message, and current model value. */ - ajaxError? (e: AjaxErrorEventArgs): void; - - /** Triggered after the AJAX content loads. Arguments have current model values. */ - ajaxLoad? (e: AjaxLoadEventArgs): void; - - /** Triggered after AJAX success action. Arguments have URL, content, and current model values. */ - ajaxSuccess? (e: AjaxSuccessEventArgs): void; + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; - /** Triggered before a tab item is active. Arguments have active index and model values. */ - beforeActivate? (e: BeforeActivateEventArgs): void; - - /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ - beforeInactivate? (e: BeforeInactivateEventArgs): void; + /** returns the current data related to the event. + */ + scrollData?: any; - /** Triggered after Accordion control creation. */ - create? (e: CreateEventArgs): void; + /** returns the name of the event. + */ + type?: string; + } + + export interface WheelMoveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the scroller model + */ + model?: ej.Scroller.Model; + + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; + } + + export interface WheelStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the scroller model + */ + model?: ej.Scroller.Model; + + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; + + /** returns the current data related to the event. + */ + scrollData?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface WheelStopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the scroller model + */ + model?: ej.Scroller.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the original event name and its event properties of the current event. + */ + originalEvent?: any; + } + } + + class Accordion extends ej.Widget { + static fn: Accordion; + constructor(element: JQuery | Element, options?: Accordion.Model); + static Locale: any; + model: Accordion.Model; + defaults: Accordion.Model; + + /** AddItem method is used to add the panel in dynamically. It receives the following parameters + * @param {string} specify the name of the header + * @param {string} content of the new panel + * @param {number} insertion place of the new panel + * @param {boolean} Enable or disable the AJAX request to the added panel + * @returns {void} + */ + addItem(header_name: string, content: string, index: number, isAjaxReq: boolean): void; + + /** This method used to collapse the all the expanded items in accordion at a time. + * @returns {void} + */ + collapseAll(): void; + + /** This method used to Collapses the specified items in accordion at a time. + * @returns {void} + */ + collapsePanel(): void; + + /** destroy the Accordion widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Disables the accordion widget includes all the headers and content panels. + * @returns {void} + */ + disable(): void; + + /** Disable the accordion widget item based on specified header index. + * @param {Array} index values to disable the panels + * @returns {void} + */ + disableItems(index: any[]): void; + + /** Enable the accordion widget includes all the headers and content panels. + * @returns {void} + */ + enable(): void; + + /** Enable the accordion widget item based on specified header index. + * @param {Array} index values to enable the panels + * @returns {void} + */ + enableItems(index: any[]): void; + + /** To expand all the accordion widget items. + * @returns {void} + */ + expandAll(): void; + + /** This method used to Expand the specified items in accordion at a time. + * @returns {void} + */ + expandPanel(): void; + + /** Returns the total number of panels in the control. + * @returns {number} + */ + getItemsCount(): number; + + /** Hides the visible Accordion control. + * @returns {void} + */ + hide(): void; + + /** The refresh method is used to adjust the control size based on the parent element dimension. + * @returns {void} + */ + refresh(): void; + + /** RemoveItem method is used to remove the specified index panel.It receives the parameter as number. + * @param {number} specify the index value for remove the accordion panel. + * @returns {void} + */ + removeItem(index: number): void; + + /** Shows the hidden Accordion control. + * @returns {void} + */ + show(): void; + } + export namespace Accordion { + + export interface Model { + + /** Specifies the ajaxSettings option to load the content to the accordion control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Accordion headers can be expanded and collapsed on keyboard action. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** To set the Accordion headers Collapse Speed. + * @Default {300} + */ + collapseSpeed?: number; + + /** Specifies the collapsible state of accordion control. + * @Default {false} + */ + collapsible?: boolean; + + /** Sets the root CSS class for Accordion theme, which is used customize. + */ + cssClass?: string; + + /** Allows you to set the custom header Icon. It accepts two key values “header”, ”selectedHeader”. + * @Default {{ header: e-collapse, selectedHeader: e-expand }} + */ + customIcon?: CustomIcon; + + /** Disables the specified indexed items in accordion. + * @Default {[]} + */ + disabledItems?: number[]; + + /** Specifies the animation behavior in accordion. + * @Default {true} + */ + enableAnimation?: boolean; + + /** With this enabled property, you can enable or disable the Accordion. + * @Default {true} + */ + enabled?: boolean; + + /** Used to enable the disabled items in accordion. + * @Default {[]} + */ + enabledItems?: number[]; + + /** Multiple content panels to activate at a time. + * @Default {false} + */ + enableMultipleOpen?: boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the accordion control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Display headers and panel text from right-to-left. + * @Default {false} + */ + enableRTL?: boolean; + + /** The events API binds the action for activating the accordion header. Users can activate the header by using mouse actions such as mouse-over, mouse-up, mouse-down, and soon. + * @Default {click} + */ + events?: string; + + /** To set the Accordion headers Expand Speed. + * @Default {300} + */ + expandSpeed?: number; + + /** Sets the height for Accordion items header. + */ + headerSize?: number | string; + + /** Specifies height of the accordion. + * @Default {null} + */ + height?: number | string; + + /** Adjusts the content panel height based on the given option (content, auto, or fill). By default, the panel heights are adjusted based on the content. + * @Default {content} + */ + heightAdjustMode?: ej.Accordion.HeightAdjustMode | string; + + /** It allows to define the characteristics of the Accordion control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The given index header will activate (open). If collapsible is set to true, and a negative value is given, then all headers are collapsed. Otherwise, the first panel isactivated. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Activate the specified indexed items of the accordion + * @Default {[0]} + */ + selectedItems?: number[]; + + /** Used to determines the close button visibility an each accordion items. This close button helps to remove the accordion item from the control. + * @Default {false} + */ + showCloseButton?: boolean; + + /** Displays rounded corner borders on the Accordion control's panels and headers. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies width of the accordion. + * @Default {null} + */ + width?: number | string; + + /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ + activate?(e: ActivateEventArgs): void; + + /** Triggered before the AJAX content is loaded in a content panel. Arguments have location of the content (URL) and current model value. */ + ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; - /** Triggered after Accordion control destroy. */ - destroy? (e: DestroyEventArgs): void; + /** Triggered after AJAX load failed action. Arguments have URL, error message, and current model value. */ + ajaxError?(e: AjaxErrorEventArgs): void; + + /** Triggered after the AJAX content loads. Arguments have current model values. */ + ajaxLoad?(e: AjaxLoadEventArgs): void; + + /** Triggered after AJAX success action. Arguments have URL, content, and current model values. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; - /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ - inActivate? (e: InActivateEventArgs): void; -} + /** Triggered before a tab item is active. Arguments have active index and model values. */ + beforeActivate?(e: BeforeActivateEventArgs): void; + + /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ + beforeInactivate?(e: BeforeInactivateEventArgs): void; -export interface ActivateEventArgs { + /** Triggered after Accordion control creation. */ + create?(e: CreateEventArgs): void; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Triggered after Accordion control destroy. */ + destroy?(e: DestroyEventArgs): void; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** Triggered after a Accordion item is active or inactive. Argument values are activeIndex, activeHeader, inActiveHeader, inActiveIndex and current model value. */ + inActivate?(e: InActivateEventArgs): void; + } - /** returns the name of the event - */ - type?: string; + export interface ActivateEventArgs { - /** returns active index - */ - activeIndex?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns current active header - */ - activeHeader?: any; + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; -} + /** returns the name of the event + */ + type?: string; -export interface AjaxBeforeLoadEventArgs { + /** returns active index + */ + activeIndex?: number; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns current active header + */ + activeHeader?: any; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; + } - /** returns the name of the event - */ - type?: string; + export interface AjaxBeforeLoadEventArgs { - /** returns current AJAX content location - */ - URL?: string; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface AjaxErrorEventArgs { + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns current AJAX content location + */ + URL?: string; + } - /** returns the name of the event - */ - type?: string; + export interface AjaxErrorEventArgs { - /** returns current AJAX content location - */ - URL?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the failed data sent. - */ - data?: string; -} + /** returns the accordion model + */ + model?: ej.Accordion.Model; -export interface AjaxLoadEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns current AJAX content location + */ + URL?: string; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the failed data sent. + */ + data?: string; + } - /** returns the name of the event - */ - type?: string; + export interface AjaxLoadEventArgs { - /** returns the name of the URL - */ - URL?: string; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface AjaxSuccessEventArgs { + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the name of the URL + */ + URL?: string; + } - /** returns the name of the event - */ - type?: string; + export interface AjaxSuccessEventArgs { - /** returns current AJAX content location - */ - URL?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the successful data sent. - */ - data?: string; + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** returns the AJAX content. - */ - content?: string; -} + /** returns the name of the event + */ + type?: string; -export interface BeforeActivateEventArgs { + /** returns current AJAX content location + */ + URL?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the successful data sent. + */ + data?: string; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the AJAX content. + */ + content?: string; + } - /** returns the name of the event - */ - type?: string; + export interface BeforeActivateEventArgs { - /** returns active index - */ - activeIndex?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; -} + /** returns the accordion model + */ + model?: ej.Accordion.Model; -export interface BeforeInactivateEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns active index + */ + activeIndex?: number; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; + } - /** returns the name of the event - */ - type?: string; + export interface BeforeInactivateEventArgs { - /** returns active index - */ - inActiveIndex?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; -} + /** returns the accordion model + */ + model?: ej.Accordion.Model; -export interface CreateEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns active index + */ + inActiveIndex?: number; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; + } - /** returns the name of the event - */ - type?: string; -} + export interface CreateEventArgs { -export interface DestroyEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the name of the event + */ + type?: string; + } - /** returns the name of the event - */ - type?: string; -} + export interface DestroyEventArgs { -export interface InActivateEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** returns the accordion model - */ - model?: ej.Accordion.Model; + /** returns the name of the event + */ + type?: string; + } - /** returns the name of the event - */ - type?: string; + export interface InActivateEventArgs { - /** returns active index - */ - inActiveIndex?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns in active element - */ - inActiveHeader?: any; + /** returns the accordion model + */ + model?: ej.Accordion.Model; - /** returns true when the Accordion index activated by user interaction otherwise returns false - */ - isInteraction?: boolean; -} + /** returns the name of the event + */ + type?: string; -export interface AjaxSettings { + /** returns active index + */ + inActiveIndex?: number; - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: Boolean; + /** returns in active element + */ + inActiveHeader?: any; - /** It specifies the page will be cached in the web browser. - */ - cache?: Boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: String; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: String; - - /** It specifies the HTTP request type. - */ - type?: String; -} - -export interface CustomIcon { - - /** This class name set to collapsing header. - */ - header?: String; - - /** This class name set to expanded (active) header. - */ - selectedHeader?: String; -} - -enum HeightAdjustMode{ - - ///Height fit to the content in the panel - Content, - - ///Height set to the largest content in the panel - Auto, - - ///Height filled to the content of the panel - Fill -} - -} - -class Autocomplete extends ej.Widget { - static fn: Autocomplete; - constructor(element: JQuery, options?: Autocomplete.Model); - constructor(element: Element, options?: Autocomplete.Model); - static Locale: any; - model:Autocomplete.Model; - defaults:Autocomplete.Model; - - /** Clears the text in the Autocomplete textbox. - * @returns {void} - */ - clearText(): void; - - /** Destroys the Autocomplete widget. - * @returns {void} - */ - destroy(): void; - - /** Disables the autocomplete widget. - * @returns {void} - */ - disable(): void; - - /** Enables the autocomplete widget. - * @returns {void} - */ - enable(): void; - - /** Returns objects (data object) of all the selected items in the autocomplete textbox. - * @returns {any} - */ - getSelectedItems(): any; - - /** Returns the current selected value from the Autocomplete textbox. - * @returns {string} - */ - getValue(): string; - - /** Returns the current active text value in the Autocomplete suggestion list. - * @returns {string} - */ - getActiveText(): string; - - /** Search the entered text and show it in the suggestion list if available. - * @returns {void} - */ - search(): void; - - /** Open up the autocomplete suggestion popup with all list items. - * @returns {void} - */ - open(): void; - - /** Sets the value of the Autocomplete textbox based on the given key value. - * @param {string} The key value of the specific suggestion item. - * @returns {void} - */ - selectValueByKey(Key: string): void; - - /** Sets the value of the Autocomplete textbox based on the given input text value. - * @param {string} The text (label) value of the specific suggestion item. - * @returns {void} - */ - selectValueByText(Text: string): void; -} -export module Autocomplete{ - -export interface Model { - - /** Customize "Add New" text (label) to be added in the autocomplete popup list for the entered text when there are no suggestions for it. - * @Default {Add New} - */ - addNewText?: string; - - /** Allows new values to be added to the autocomplete input other than the values in the suggestion list. Normally, when there are no suggestions it will display “No suggestions” label in the popup. - * @Default {false} - */ - allowAddNew?: boolean; - - /** Enables or disables the sorting of suggestion list item. The default sort order is ascending order. You customize sort order. - * @Default {true} - */ - allowSorting?: boolean; - - /** Enables or disables selecting the animation style for the popup list. Animation types can be selected through either of the following options, - * @Default {slide} - */ - animateType?: ej.Autocomplete.Animation|string; - - /** To focus the items in the suggestion list when the popup is shown. By default first item will be focused. - * @Default {false} - */ - autoFocus?: boolean; - - /** Enables or disables the case sensitive search. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** The root class for the Autocomplete textbox widget which helps in customizing its theme. - * @Default {””} - */ - cssClass?: string; - - /** The data source contains the list of data for the suggestions list. It can be a string array or JSON array or service URL that returns JSON. - * @Default {null} - */ - dataSource?: any|Array; - - /** The time delay (in milliseconds) after which the suggestion popup will be shown. - * @Default {200} - */ - delaySuggestionTimeout?: number; - - /** The special character which acts as a separator for the given words for multi-mode search i.e. the text after the delimiter are considered as a separate word or query for search operation. - * @Default {’,’} - */ - delimiterChar?: string; - - /** The text to be displayed in the popup when there are no suggestions available for the entered text. - * @Default {“No suggestions”} - */ - emptyResultText?: string; - - /** Fills the autocomplete textbox with the first matched item from the suggestion list automatically based on the entered text when enabled. - * @Default {false} - */ - enableAutoFill?: boolean; - - /** Enables or disables the Autocomplete textbox widget. - * @Default {true} - */ - enabled?: boolean; - - /** Enables or disables displaying the duplicate names present in the search result. - * @Default {false} - */ - enableDistinct?: boolean; - - /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. While refreshing the page, it retains the model value from browser cookies or local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the Autocomplete widget’s content from right to left when enabled. - * @Default {false} - */ - enableRTL?: boolean; - - /** Mapping fields for the suggestion items of the Autocomplete textbox widget. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the search filter type. There are several types of search filter available such as ‘startswith’, ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, ‘greaterthanorequal’, ‘equal’, ‘notequal’. - * @Default {ej.filterType.StartsWith} - */ - filterType?: string; - - /** The height of the Autocomplete textbox. - * @Default {null} - */ - height?: string|number; - - /** The search text can be highlighted in the AutoComplete suggestion list when enabled. - * @Default {false} - */ - highlightSearch?: boolean; - - /** Number of items to be displayed in the suggestion list. - * @Default {0} - */ - itemsCount?: number; - - /** Set the localization culture for Autocomplete Widget. - */ - locale?: string; - - /** Minimum number of character to be entered in the Autocomplete textbox to show the suggestion list. - * @Default {1} - */ - minCharacter?: number; - - /** An Autocomplete column collection can be defined and customized through the multiColumnSettings property.Column's header, field, and stringFormat can be define via multiColumnSettings properties. - */ - multiColumnSettings?: MultiColumnSettings; - - /** Enables or disables selecting multiple values from the suggestion list. Multiple values can be selected through either of the following options, - * @Default {ej.MultiSelectMode.None} - */ - multiSelectMode?: ej.Autocomplete.MultiSelectMode|string; - - /** The height of the suggestion list. - * @Default {“152px”} - */ - popupHeight?: string; - - /** The width of the suggestion list. - * @Default {“auto”} - */ - popupWidth?: string; - - /** The query to retrieve the data from the data source. - * @Default {null} - */ - query?: ej.Query; - - /** Indicates that the autocomplete textbox values can only be readable. - * @Default {false} - */ - readOnly?: boolean; - - /** Sets the value for the Autocomplete textbox based on the given input key value. - */ - selectValueByKey?: number; - - /** Enables or disables showing the message when there are no suggestions for the entered text. - * @Default {true} - */ - showEmptyResultText?: boolean; - - /** Enables or disables the loading icon to intimate the searching operation. The loading icon is visible when there is a time delay to perform the search. - * @Default {true} - */ - showLoadingIcon?: boolean; - - /** Enables the showPopup button in autocomplete textbox. When the showPopup button is clicked, it displays all the available data from the data source. - * @Default {false} - */ - showPopupButton?: boolean; - - /** Enables or disables rounded corner. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Enables or disables reset icon to clear the textbox values. - * @Default {false} - */ - showResetIcon?: boolean; - - /** Sort order specifies whether the suggestion list values has to be displayed in ascending or descending order. - * @Default {ej.SortOrder.Ascending} - */ - sortOrder?: ej.Autocomplete.SortOrder|string; - - /** The template to display the suggestion list items with customized appearance. - * @Default {null} - */ - template?: string; - - /** The jQuery validation error message to be displayed on form validation. - * @Default {null} - */ - validationMessage?: any; - - /** The jQuery validation rules for form validation. - * @Default {null} - */ - validationRules?: any; - - /** The value to be displayed in the autocomplete textbox. - * @Default {null} - */ - value?: string; + /** returns true when the Accordion index activated by user interaction otherwise returns false + */ + isInteraction?: boolean; + } - /** Enables or disables the visibility of the autocomplete textbox. - * @Default {true} - */ - visible?: boolean; + export interface AjaxSettings { - /** The text to be displayed when the value of the autocomplete textbox is empty. - * @Default {null} - */ - watermarkText?: string; + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; - /** The width of the Autocomplete textbox. - * @Default {null} - */ - width?: string|number; + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; - /** Triggers when the AJAX requests Begins. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** It specifies the type of data is send in the query string. + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; + + /** It specifies the HTTP request type. + */ + type?: string; + } + + export interface CustomIcon { + + /** This class name set to collapsing header. + */ + header?: string; + + /** This class name set to expanded (active) header. + */ + selectedHeader?: string; + } + + enum HeightAdjustMode { + + ///Height fit to the content in the panel + Content, + + ///Height set to the largest content in the panel + Auto, + + ///Height filled to the content of the panel + Fill + } + + } + + class Autocomplete extends ej.Widget { + static fn: Autocomplete; + constructor(element: JQuery | Element, options?: Autocomplete.Model); + static Locale: any; + model: Autocomplete.Model; + defaults: Autocomplete.Model; + + /** Clears the text in the Autocomplete textbox. + * @returns {void} + */ + clearText(): void; + + /** Destroys the Autocomplete widget. + * @returns {void} + */ + destroy(): void; + + /** Disables the autocomplete widget. + * @returns {void} + */ + disable(): void; + + /** Enables the autocomplete widget. + * @returns {void} + */ + enable(): void; + + /** Returns objects (data object) of all the selected items in the autocomplete textbox. + * @returns {any} + */ + getSelectedItems(): any; + + /** Returns the current selected value from the Autocomplete textbox. + * @returns {string} + */ + getValue(): string; + + /** Returns the current active text value in the Autocomplete suggestion list. + * @returns {string} + */ + getActiveText(): string; + + /** Search the entered text and show it in the suggestion list if available. + * @returns {void} + */ + search(): void; + + /** Open up the autocomplete suggestion popup with all list items. + * @returns {void} + */ + open(): void; + + /** Sets the value of the Autocomplete textbox based on the given key value. + * @param {string} The key value of the specific suggestion item. + * @returns {void} + */ + selectValueByKey(Key: string): void; + + /** Sets the value of the Autocomplete textbox based on the given input text value. + * @param {string} The text (label) value of the specific suggestion item. + * @returns {void} + */ + selectValueByText(Text: string): void; + } + export namespace Autocomplete { + + export interface Model { + + /** Customize "Add New" text (label) to be added in the autocomplete popup list for the entered text when there are no suggestions for it. + * @Default {Add New} + */ + addNewText?: boolean; + + /** Allows new values to be added to the autocomplete input other than the values in the suggestion list. + * Normally, when there are no suggestions it will display “No suggestions” label in the popup. + * @Default {false} + */ + allowAddNew?: boolean; + + /** Enables or disables the sorting of suggestion list item. The default sort order is ascending order. You customize sort order. + * @Default {true} + */ + allowSorting?: boolean; + + /** Enables or disables selecting the animation style for the popup list. Animation types can be selected through either of the following options, + * @Default {slide} + */ + animateType?: ej.Autocomplete.Animation | string; + + /** To focus the items in the suggestion list when the popup is shown. By default first item will be focused. + * @Default {false} + */ + autoFocus?: boolean; + + /** Enables or disables the case sensitive search. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** The root class for the Autocomplete textbox widget which helps in customizing its theme. + * @Default {””} + */ + cssClass?: string; + + /** The data source contains the list of data for the suggestions list. It can be a string array or JSON array. + * @Default {null} + */ + dataSource?: any | any[]; + + /** The time delay (in milliseconds) after which the suggestion popup will be shown. + * @Default {200} + */ + delaySuggestionTimeout?: number; + + /** The special character which acts as a separator for the given words for multi-mode search i.e. the text after the delimiter are considered as a separate word or query for search operation. + * @Default {’,’} + */ + delimiterChar?: string; + + /** The text to be displayed in the popup when there are no suggestions available for the entered text. + * @Default {“No suggestions”} + */ + emptyResultText?: string; + + /** Fills the autocomplete textbox with the first matched item from the suggestion list automatically based on the entered text when enabled. + * @Default {false} + */ + enableAutoFill?: boolean; + + /** Enables or disables the Autocomplete textbox widget. + * @Default {true} + */ + enabled?: boolean; + + /** Enables or disables displaying the duplicate names present in the search result. + * @Default {false} + */ + enableDistinct?: boolean; + + /** Allows the current model values to be saved in local storage or browser cookies for state maintenance + * when it is set to true. + * While refreshing the page, it retains the model value from browser cookies or local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the Autocomplete widget’s content from right to left when enabled. + * @Default {false} + */ + enableRTL?: boolean; + + /** Mapping fields for the suggestion items of the Autocomplete textbox widget. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the search filter type. + * There are several types of search filter available such as ‘startswith’, + * ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, + * ‘greaterthanorequal’, ‘equal’, ‘notequal’. + * @Default {ej.filterType.StartsWith} + */ + filterType?: string; + + /** The height of the Autocomplete textbox. + * @Default {null} + */ + height?: string | number; + + /** The search text can be highlighted in the AutoComplete suggestion list when enabled. + * @Default {false} + */ + highlightSearch?: boolean; + + /** Number of items to be displayed in the suggestion list. + * @Default {0} + */ + itemsCount?: number; + + /** Set the localization culture for Autocomplete Widget. + */ + locale?: string; + + /** Minimum number of character to be entered in the Autocomplete textbox to show the suggestion list. + * @Default {1} + */ + minCharacter?: number; + + /** An Autocomplete column collection can be defined and customized through the multiColumnSettings property.Column's header, field, and stringFormat can be define + * via multiColumnSettings properties. + */ + multiColumnSettings?: MultiColumnSettings; + + /** Enables or disables selecting multiple values from the suggestion list. Multiple values can be selected through either of the following options, + * @Default {ej.MultiSelectMode.None} + */ + multiSelectMode?: ej.Autocomplete.MultiSelectMode | string; + + /** The height of the suggestion list. + * @Default {“152px”} + */ + popupHeight?: string; + + /** The width of the suggestion list. + * @Default {“auto”} + */ + popupWidth?: string; + + /** The query to retrieve the data from the data source. + * @Default {null} + */ + query?: ej.Query; + + /** Indicates that the autocomplete textbox values can only be readable. + * @Default {false} + */ + readOnly?: boolean; + + /** Sets the value for the Autocomplete textbox based on the given input key value. + */ + selectValueByKey?: number; + + /** Enables or disables showing the message when there are no suggestions for the entered text. + * @Default {true} + */ + showEmptyResultText?: boolean; + + /** Enables or disables the loading icon to intimate the searching operation. The loading icon is visible when there is a time delay to perform the search. + * @Default {true} + */ + showLoadingIcon?: boolean; + + /** Enables the showPopup button in autocomplete textbox. When the showPopup button is clicked, it displays all the available data from the data source. + * @Default {false} + */ + showPopupButton?: boolean; + + /** Enables or disables rounded corner. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Enables or disables reset icon to clear the textbox values. + * @Default {false} + */ + showResetIcon?: boolean; + + /** Sort order specifies whether the suggestion list values has to be displayed in ascending or descending order. + * @Default {ej.SortOrder.Ascending} + */ + sortOrder?: ej.Autocomplete.SortOrder | string; + + /** The template to display the suggestion list items with customized appearance. + * @Default {null} + */ + template?: string; + + /** The jQuery validation error message to be displayed on form validation. + * @Default {null} + */ + validationMessage?: any; + + /** The jQuery validation rules for form validation. + * @Default {null} + */ + validationRules?: any; + + /** The value to be displayed in the autocomplete textbox. + * @Default {null} + */ + value?: string; + + /** Enables or disables the visibility of the autocomplete textbox. + * @Default {true} + */ + visible?: boolean; + + /** The text to be displayed when the value of the autocomplete textbox is empty. + * @Default {null} + */ + watermarkText?: string; + + /** The width of the Autocomplete textbox. + * @Default {null} + */ + width?: string | number; + + /** Triggers when the AJAX requests Begins. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggers when the data requested from AJAX will get successfully loaded in the Autocomplete widget. */ + actionSuccess?(e: ActionSuccessEventArgs): void; + + /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggers when the data requested from AJAX get failed. */ + actionFailure?(e: ActionFailureEventArgs): void; + + /** Triggers when the text box value is changed. */ + change?(e: ChangeEventArgs): void; + + /** Triggers after the suggestion popup is closed. */ + close?(e: CloseEventArgs): void; + + /** Triggers when Autocomplete widget is created. */ + create?(e: CreateEventArgs): void; + + /** Triggers after the Autocomplete widget is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggers after the autocomplete textbox is focused. */ + focusIn?(e: FocusInEventArgs): void; + + /** Triggers after the Autocomplete textbox gets out of the focus. */ + focusOut?(e: FocusOutEventArgs): void; + + /** Triggers after the suggestion list is opened. */ + open?(e: OpenEventArgs): void; + + /** Triggers when an item has been selected from the suggestion list. */ + select?(e: SelectEventArgs): void; + } + + export interface ActionBeginEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface ActionSuccessEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Triggers when the data requested from AJAX will get successfully loaded in the Autocomplete widget. */ - actionSuccess? (e: ActionSuccessEventArgs): void; + export interface ActionCompleteEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ - actionComplete? (e: ActionCompleteEventArgs): void; + export interface ActionFailureEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Triggers when the data requested from AJAX get failed. */ - actionFailure? (e: ActionFailureEventArgs): void; + export interface ChangeEventArgs { - /** Triggers when the text box value is changed. */ - change? (e: ChangeEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Triggers after the suggestion popup is closed. */ - close? (e: CloseEventArgs): void; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** Triggers when Autocomplete widget is created. */ - create? (e: CreateEventArgs): void; + /** Name of the event. + */ + type?: string; - /** Triggers after the Autocomplete widget is destroyed. */ - destroy? (e: DestroyEventArgs): void; + /** Value of the autocomplete textbox. + */ + value?: string; + } - /** Triggers after the autocomplete textbox is focused. */ - focusIn? (e: FocusInEventArgs): void; + export interface CloseEventArgs { - /** Triggers after the Autocomplete textbox gets out of the focus. */ - focusOut? (e: FocusOutEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Triggers after the suggestion list is opened. */ - open? (e: OpenEventArgs): void; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** Triggers when an item has been selected from the suggestion list. */ - select? (e: SelectEventArgs): void; -} + /** Name of the event. + */ + type?: string; + } -export interface ActionBeginEventArgs { -} + export interface CreateEventArgs { -export interface ActionSuccessEventArgs { -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface ActionCompleteEventArgs { -} + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; -export interface ActionFailureEventArgs { -} + /** Name of the event. + */ + type?: string; + } -export interface ChangeEventArgs { + export interface DestroyEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; + } - /** Value of the autocomplete textbox. - */ - value?: string; -} + export interface FocusInEventArgs { -export interface CloseEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Name of the event. + */ + type?: string; - /** Name of the event. - */ - type?: string; -} + /** Value of the autocomplete textbox. + */ + value?: string; + } -export interface CreateEventArgs { + export interface FocusOutEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** Name of the event. - */ - type?: string; -} + /** Name of the event. + */ + type?: string; -export interface DestroyEventArgs { + /** Value of the autocomplete textbox. + */ + value?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface OpenEventArgs { - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; -} + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; -export interface FocusInEventArgs { + /** Name of the event. + */ + type?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface SelectEventArgs { - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; + /** Instance of the autocomplete model object. + */ + model?: ej.Autocomplete.Model; - /** Value of the autocomplete textbox. - */ - value?: string; -} + /** Name of the event. + */ + type?: string; -export interface FocusOutEventArgs { + /** Value of the autocomplete textbox. + */ + value?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Text of the selected item. + */ + text?: string; - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Key of the selected item. + */ + key?: string; - /** Name of the event. - */ - type?: string; + /** Data object of the selected item. + */ + Item?: ej.Autocomplete.Model; + } - /** Value of the autocomplete textbox. - */ - value?: string; -} + export interface Fields { -export interface OpenEventArgs { + /** Used to group the suggestion list items. + */ + groupBy?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Defines the HTML attributes such as id, class, styles for the item. + */ + htmlAttributes?: any; - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Defines the specific field name which contains unique key values for the list items. + */ + key?: string; - /** Name of the event. - */ - type?: string; -} + /** Defines the specific field name in the data source to load the suggestion list with data. + */ + text?: string; + } -export interface SelectEventArgs { + export interface MultiColumnSettingsColumn { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Get or set a value that indicates to display the columns in the autocomplete mapping with column name of the dataSource. + */ + field?: string; - /** Instance of the autocomplete model object. - */ - model?: ej.Autocomplete.Model; + /** Get or set a value that indicates to display the title of that particular column. + */ + headerText?: string; - /** Name of the event. - */ - type?: string; + /** Gets or sets a value that indicates to render the multicolumn with custom theme. + */ + cssClass?: string; - /** Value of the autocomplete textbox. - */ - value?: string; + /** Specifies the search data type. There are four types of data types available such as string, ‘number’, ‘boolean’ and ‘date’. + * @Default {ej.Type.String} + */ + type?: ej.Type | string; - /** Text of the selected item. - */ - text?: string; + /** Specifies the search filter type. There are several types of search filter available such as ‘startswith’, + * ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, + * ‘greaterthanorequal’, ‘equal’, ‘notequal’. + * @Default {ej.filterType.StartsWith} + */ + filterType?: ej.filterType | string; - /** Key of the selected item. - */ - key?: string; + /** This defines the text alignment of a particular column header cell value. See headerTextAlign + * @Default {ej.TextAlign.Left} + */ + headerTextAlign?: ej.TextAlign | string; - /** Data object of the selected item. - */ - Item?: ej.Autocomplete.Model; -} + /** Gets or sets a value that indicates to align the text within the column. See textAlign + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign | string; + } -export interface Fields { + export interface MultiColumnSettings { - /** Used to group the suggestion list items. - */ - groupBy?: string; + /** Allow list of data to be displayed in several columns. + * @Default {false} + */ + enable?: boolean; - /** Defines the HTML attributes such as id, class, styles for the item. - */ - htmlAttributes?: any; + /** Allow header text to be displayed in corresponding columns. + * @Default {true} + */ + showHeader?: boolean; - /** Defines the specific field name which contains unique key values for the list items. - */ - key?: string; + /** Displayed selected value and autocomplete search based on mentioned column value specified in that format. + */ + stringFormat?: string; + + /** Field and Header Text collections can be defined and customized through columns field. + */ + columns?: MultiColumnSettingsColumn[]; + } + + enum Animation { - /** Defines the specific field name in the data source to load the suggestion list with data. - */ - text?: string; -} + ///Supports to animation type with none type only. + None, + + ///Supports to animation type with slide type only. + Slide, + + ///Supports to animation type with fade type only. + Fade + } + + + enum MultiSelectMode { + + ///Multiple values are separated using a given special character. + Delimiter, + + ///Each values are displayed in separate box with close button. + VisualMode + } + + + enum SortOrder { + + ///Items to be displayed in the suggestion list in ascending order. + Ascending, + + ///Items to be displayed in the suggestion list in descending order. + Descending + } + + } + + class Button extends ej.Widget { + static fn: Button; + constructor(element: JQuery | Element, options?: Button.Model); + static Locale: any; + model: Button.Model; + defaults: Button.Model; + + /** destroy the button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To disable the button + * @returns {void} + */ + disable(): void; + + /** To enable the button + * @returns {void} + */ + enable(): void; + } + export namespace Button { + + export interface Model { + + /** Specifies the contentType of the Button. See below to know available ContentType + * @Default {ej.ContentType.TextOnly} + */ + contentType?: ej.ContentType | string; + + /** Sets the root CSS class for Button theme, which is used customize. + */ + cssClass?: string; + + /** Specifies the button control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the Right to Left direction to button + * @Default {false} + */ + enableRTL?: boolean; -export interface MultiColumnSettingsColumn { + /** Specifies the height of the Button. + * @Default {28} + */ + height?: number; + + /** It allows to define the characteristics of the Button control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the image position of the Button. This image position is applicable + * only with the textandimage contentType property. The images can be positioned in both + * imageLeft and imageRight options. See below to know about available ImagePosition + * @Default {ej.ImagePosition.ImageLeft} + */ + imagePosition?: ej.ImagePosition | string; + + /** Specifies the primary icon for Button. This icon will be displayed from the left margin of the button. + * @Default {null} + */ + prefixIcon?: string; + + /** Convert the button as repeat button. It raises the 'Click' event repeatedly from the it is pressed until it is released. + * @Default {false} + */ + repeatButton?: boolean; + + /** Displays the Button with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the Button. See below to know available ButtonSize + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize | string; + + /** Specifies the secondary icon for Button. This icon will be displayed from the right margin of the button. + * @Default {null} + */ + suffixIcon?: string; + + /** Specifies the text content for Button. + * @Default {null} + */ + text?: string; + + /** Specified the time interval between two consecutive 'click' event on the button. + * @Default {150} + */ + timeInterval?: string; + + /** Specifies the Type of the Button. See below to know available ButtonType + * @Default {ej.ButtonType.Submit} + */ + type?: ej.ButtonType | string; + + /** Specifies the width of the Button. + * @Default {100px} + */ + width?: string | number; + + /** Fires when Button control is clicked successfully.Consider the scenario to perform any validation, + * modification of content or any other operations click on button,we can make use of this click event + * to achieve the scenario. + */ + click?(e: ClickEventArgs): void; + + /** Fires after Button control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ + create?(e: CreateEventArgs): void; + + /** Fires when the button is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ + destroy?(e: DestroyEventArgs): void; + } + + export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the button model + */ + model?: ej.Button.Model; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + + /** return the event model for sever side processing. + */ + e?: any; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the button model + */ + model?: ej.Button.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the button model + */ + model?: ej.Button.Model; + + /** returns the name of the event + */ + type?: string; + } + } + enum ContentType { + //To display the text content only in button + TextOnly, + //To display the image only in button + ImageOnly, + //Supports to display image for both ends of the button + ImageBoth, + //Supports to display image with the text content + TextAndImage, + //Supports to display image with both ends of the text + ImageTextImage, + } + enum ImagePosition { + //support for aligning text in left and image in right + ImageRight, + //support for aligning text in right and image in left + ImageLeft, + //support for aligning text in bottom and image in top. + ImageTop, + //support for aligning text in top and image in bottom + ImageBottom, + } + enum ButtonSize { + //Creates button with Built-in default size height, width specified + Normal, + //Creates button with Built-in mini size height, width specified + Mini, + //Creates button with Built-in small size height, width specified + Small, + //Creates button with Built-in medium size height, width specified + Medium, + //Creates button with Built-in large size height, width specified + Large, + } + enum ButtonType { + //Creates button with Built-in button type specified + Button, + //Creates button with Built-in reset type specified + Reset, + //Creates button with Built-in submit type specified + Submit, + } + + class Captcha extends ej.Widget { + static fn: Captcha; + constructor(element: JQuery | Element, options?: Captcha.Model); + static Locale: any; + model: Captcha.Model; + defaults: Captcha.Model; + } + export namespace Captcha { + + export interface Model { + + /** Specifies the character set of the Captcha that will be used to generate captcha text randomly. + */ + characterSet?: string; + + /** Specifies the error message to be displayed when the Captcha mismatch. + */ + customErrorMessage?: string; + + /** Set the Captcha validation automatically. + */ + enableAutoValidation?: boolean; + + /** Specifies the case sensitivity for the characters typed in the Captcha. + */ + enableCaseSensitivity?: boolean; + + /** Specifies the background patterns for the Captcha. + */ + enablePattern?: boolean; + + /** Sets the Captcha direction as right to left alignment. + */ + enableRTL?: boolean; + + /** Specifies the background appearance for the captcha. + */ + hatchStyle?: ej.HatchStyle | string; + + /** Specifies the height of the Captcha. + */ + height?: number; + + /** Specifies the method with values to be mapped in the Captcha. + */ + mapper?: string; + + /** Specifies the maximum number of characters used in the Captcha. + */ + maximumLength?: number; + + /** Specifies the minimum number of characters used in the Captcha. + */ + minimumLength?: number; + + /** Specifies the method to map values to Captcha. + */ + requestMapper?: string; + + /** Sets the Captcha with audio support, that enables to dictate the captcha text. + */ + showAudioButton?: boolean; + + /** Sets the Captcha with a refresh button. + */ + showRefreshButton?: boolean; + + /** Specifies the target button of the Captcha to validate the entered text and captcha text. + */ + targetButton?: string; + + /** Specifies the target input element that will verify the Captcha. + */ + targetInput?: string; + + /** Specifies the width of the Captcha. + */ + width?: number; + + /** Fires when captcha refresh begins. */ + refreshBegin?(e: RefreshBeginEventArgs): void; + + /** Fires after captcha refresh completed. */ + refreshComplete?(e: RefreshCompleteEventArgs): void; + + /** Fires when captcha refresh fails to load. */ + refreshFailure?(e: RefreshFailureEventArgs): void; + + /** Fires after captcha refresh succeeded. */ + refreshSuccess?(e: RefreshSuccessEventArgs): void; + } + + export interface RefreshBeginEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface RefreshCompleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface RefreshFailureEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface RefreshSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Captcha model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + } + enum HatchStyle { + //Set background as None to Captcha + None, + //Set background as BackwardDiagonal to Captcha + BackwardDiagonal, + //Set background as Cross to Captcha + Cross, + //Set background as DarkDownwardDiagonal to Captcha + DarkDownwardDiagonal, + //Set background as DarkHorizontal to Captcha + DarkHorizontal, + //Set background as DarkUpwardDiagonal to Captcha + DarkUpwardDiagonal, + //Set background as DarkVertical to Captcha + DarkVertical, + //Set background as DashedDownwardDiagonal to Captcha + DashedDownwardDiagonal, + //Set background as DashedHorizontal to Captcha + DashedHorizontal, + //Set background as DashedUpwardDiagonal to Captcha + DashedUpwardDiagonal, + //Set background as DashedVertical to Captcha + DashedVertical, + //Set background as DiagonalBrick to Captcha + DiagonalBrick, + //Set background as DiagonalCross to Captcha + DiagonalCross, + //Set background as Divot to Captcha + Divot, + //Set background as DottedDiamond to Captcha + DottedDiamond, + //Set background as DottedGrid to Captcha + DottedGrid, + //Set background as ForwardDiagonal to Captcha + ForwardDiagonal, + //Set background as Horizontal to Captcha + Horizontal, + //Set background as HorizontalBrick to Captcha + HorizontalBrick, + //Set background as LargeCheckerBoard to Captcha + LargeCheckerBoard, + //Set background as LargeConfetti to Captcha + LargeConfetti, + //Set background as LargeGrid to Captcha + LargeGrid, + //Set background as LightDownwardDiagonal to Captcha + LightDownwardDiagonal, + //Set background as LightHorizontal to Captcha + LightHorizontal, + //Set background as LightUpwardDiagonal to Captcha + LightUpwardDiagonal, + //Set background as LightVertical to Captcha + LightVertical, + //Set background as Max to Captcha + Max, + //Set background as Min to Captcha + Min, + //Set background as NarrowHorizontal to Captcha + NarrowHorizontal, + //Set background as NarrowVertical to Captcha + NarrowVertical, + //Set background as OutlinedDiamond to Captcha + OutlinedDiamond, + //Set background as Percent90 to Captcha + Percent90, + //Set background as Wave to Captcha + Wave, + //Set background as Weave to Captcha + Weave, + //Set background as WideDownwardDiagonal to Captcha + WideDownwardDiagonal, + //Set background as WideUpwardDiagonal to Captcha + WideUpwardDiagonal, + //Set background as ZigZag to Captcha + ZigZag, + } + + class ListBox extends ej.Widget { + static fn: ListBox; + constructor(element: JQuery | Element, options?: ListBox.Model); + static Locale: any; + model: ListBox.Model; + defaults: ListBox.Model; + + /** Adds a given list items in the ListBox widget at a specified index. It accepts two parameters. + * @param {any|string} This can be a list item object (for JSON binding) or a string (for UL and LI rendering). + * Also we can the specify this as an array of list item object or an array of strings to add multiple items. + * @param {number} The index value to add the given items at the specified index. If index is not specified, the given items will be added at the end of the list. + * @returns {void} + */ + addItem(listItem: any | string, index: number): void; + + /** Checks all the list items in the ListBox widget. It is dependent on showCheckbox property. + * @returns {void} + */ + checkAll(): void; + + /** Checks a list item by using its index. It is dependent on showCheckbox property. + * @param {number} Index of the listbox item to be checked. If index is not specified, the given items will be added at the end of the list. + * @returns {void} + */ + checkItemByIndex(index: number): void; + + /** Checks multiple list items by using its index values. It is dependent on showCheckbox property. + * @param {number[]} Index/Indices of the listbox items to be checked. If index is not specified, the given items will be added at the end of the list. + * @returns {void} + */ + checkItemsByIndices(indices: number[]): void; + + /** Disables the ListBox widget. + * @returns {void} + */ + disable(): void; + + /** Disables a list item by passing the item text as parameter. + * @param {string} Text of the listbox item to be disabled. + * @returns {void} + */ + disableItem(text: string): void; + + /** Disables a list Item using its index value. + * @param {number} Index of the listbox item to be disabled. + * @returns {void} + */ + disableItemByIndex(index: number): void; + + /** Disables set of list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be disabled. + * @returns {void} + */ + disableItemsByIndices(Indices: number[] | string): void; + + /** Enables the ListBox widget when it is disabled. + * @returns {void} + */ + enable(): void; + + /** Enables a list Item using its item text value. + * @param {string} Text of the listbox item to be enabled. + * @returns {void} + */ + enableItem(text: string): void; + + /** Enables a list item using its index value. + * @param {number} Index of the listbox item to be enabled. + * @returns {void} + */ + enableItemByIndex(index: number): void; + + /** Enables a set of list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be enabled. + * @returns {void} + */ + enableItemsByIndices(indices: number[] | string): void; + + /** Returns the list of checked items in the ListBox widget. It is dependent on showCheckbox property. + * @returns {any} + */ + getCheckedItems(): any; + + /** Returns the list of selected items in the ListBox widget. + * @returns {any} + */ + getSelectedItems(): any; + + /** Returns an item’s index based on the given text. + * @param {string} The list item text (label) + * @returns {number} + */ + getIndexByText(text: string): number; + + /** Returns an item’s index based on the value given. + * @param {string} The list item’s value + * @returns {number} + */ + getIndexByValue(indices: string): number; + + /** Returns an item’s text (label) based on the index given. + * @returns {string} + */ + getTextByIndex(): string; + + /** Returns a list item’s object using its index. + * @returns {any} + */ + getItemByIndex(): any; + + /** Returns a list item’s object based on the text given. + * @param {string} The list item text. + * @returns {any} + */ + getItemByText(text: string): any; + + /** Merges the given data with the existing data items in the listbox. + * @param {Array} Data to merge in listbox. + * @returns {void} + */ + mergeData(data: any[]): void; + + /** Selects the next item based on the current selection. + * @returns {void} + */ + moveDown(): void; + + /** Selects the previous item based on the current selection. + * @returns {void} + */ + moveUp(): void; + + /** Refreshes the ListBox widget. + * @param {boolean} Refreshes both the datasource and the dimensions of the ListBox widget when the parameter is passed as true, otherwise only the ListBox dimensions will be refreshed. + * @returns {void} + */ + refresh(refreshData: boolean): void; + + /** Removes all the list items from listbox. + * @returns {void} + */ + removeAll(): void; + + /** Removes the selected list items from the listbox. + * @returns {void} + */ + removeSelectedItems(): void; + + /** Removes a list item by using its text. + * @param {string} Text of the listbox item to be removed. + * @returns {void} + */ + removeItemByText(text: string): void; + + /** Removes a list item by using its index value. + * @param {number} Index of the listbox item to be removed. + * @returns {void} + */ + removeItemByIndex(index: number): void; + + /** + * @returns {void} + */ + selectAll(): void; + + /** Selects the list item using its text value. + * @param {string} Text of the listbox item to be selected. + * @returns {void} + */ + selectItemByText(text: string): void; + + /** Selects list item using its value property. + * @param {string} Value of the listbox item to be selected. + * @returns {void} + */ + selectItemByValue(value: string): void; + + /** Selects list item using its index value. + * @param {number} Index of the listbox item to be selected. + * @returns {void} + */ + selectItemByIndex(index: number): void; + + /** Selects a set of list items through its index values. + * @param {number|number[]} Index/Indices of the listbox item to be selected. + * @returns {void} + */ + selectItemsByIndices(Indices: number | number[]): void; + + /** Unchecks all the checked list items in the ListBox widget. To use this method showCheckbox property to be set as true. + * @returns {void} + */ + uncheckAll(): void; + + /** Unchecks a checked list item using its index value. To use this method showCheckbox property to be set as true. + * @param {number} Index of the listbox item to be unchecked. + * @returns {void} + */ + uncheckItemByIndex(index: number): void; + + /** Unchecks the set of checked list items using its index values. To use this method showCheckbox property must be set to true. + * @param {number[]|string} Indices of the listbox item to be unchecked. + * @returns {void} + */ + uncheckItemsByIndices(indices: number[] | string): void; + + /** + * @returns {void} + */ + unselectAll(): void; + + /** Unselects a selected list item using its index value + * @param {number} Index of the listbox item to be unselected. + * @returns {void} + */ + unselectItemByIndex(index: number): void; + + /** Unselects a selected list item using its text value. + * @param {string} Text of the listbox item to be unselected. + * @returns {void} + */ + unselectItemByText(text: string): void; + + /** Unselects a selected list item using its value. + * @param {string} Value of the listbox item to be unselected. + * @returns {void} + */ + unselectItemByValue(value: string): void; + + /** Unselects a set of list items using its index values. + * @param {number[]|string} Indices of the listbox item to be unselected. + * @returns {void} + */ + unselectItemsByIndices(indices: number[] | string): void; + + /** Hides all the checked items in the listbox. + * @returns {void} + */ + hideCheckedItems(): void; + + /** Shows a set of hidden list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be shown. + * @returns {void} + */ + showItemByIndices(indices: number[] | string): void; + + /** Hides a set of list Items using its index values. + * @param {number[]|string} Indices of the listbox items to be hidden. + * @returns {void} + */ + hideItemsByIndices(indices: number[] | string): void; + + /** Shows the hidden list items using its values. + * @param {Array} Values of the listbox items to be shown. + * @returns {void} + */ + showItemsByValues(values: any[]): void; + + /** Hides the list item using its values. + * @param {Array} Values of the listbox items to be hidden. + * @returns {void} + */ + hideItemsByValues(values: any[]): void; + + /** Shows a hidden list item using its value. + * @param {string} Value of the listbox item to be shown. + * @returns {void} + */ + showItemByValue(value: string): void; + + /** Hide a list item using its value. + * @param {string} Value of the listbox item to be hidden. + * @returns {void} + */ + hideItemByValue(value: string): void; + + /** Shows a hidden list item using its index value. + * @param {number} Index of the listbox item to be shown. + * @returns {void} + */ + showItemByIndex(index: number): void; + + /** Hides a list item using its index value. + * @param {number} Index of the listbox item to be hidden. + * @returns {void} + */ + hideItemByIndex(index: number): void; + + /** + * @returns {void} + */ + show(): void; + + /** Hides the listbox. + * @returns {void} + */ + hide(): void; + + /** Hides all the listbox items in the listbox. + * @returns {void} + */ + hideAllItems(): void; + + /** Shows all the listbox items in the listbox. + * @returns {void} + */ + showAllItems(): void; + } + export namespace ListBox { + + export interface Model { + + /** Enables/disables the dragging behavior of the items in ListBox widget. + * @Default {false} + */ + allowDrag?: boolean; + + /** Accepts the items which are dropped in to it, when it is set to true. + * @Default {false} + */ + allowDrop?: boolean; + + /** Enables or disables multiple selection. + * @Default {false} + */ + allowMultiSelection?: boolean; + + /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using “virtualScrollMode” property. + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** Enables or disables the case sensitive search for list item by typing the text (search) value. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** Dynamically populate data of a list box while selecting an item in another list box i.e. + * rendering child list box based on the item selection in parent list box. + * This property accepts the id of the child ListBox widget to populate the data. + * @Default {null} + */ + cascadeTo?: string; + + /** Set of list items to be checked by default using its index. It works only when the showCheckbox property is set to true. + * @Default {null} + */ + checkedIndices?: any[]; + + /** The root class for the ListBox widget to customize the existing theme. + * @Default {“”} + */ + cssClass?: string; + + /** Contains the list of data for generating the list items. + * @Default {null} + */ + dataSource?: any; + + /** Enables or disables the ListBox widget. + * @Default {true} + */ + enabled?: boolean; + + /** Enables or disables the search behavior to find the specific list item by typing the text value. + * @Default {false} + */ + enableIncrementalSearch?: boolean; + + /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the ListBox widget’s content from right to left when enabled. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies ellipsis ("...") representation in an overflowed list item content when it is set to false. + * @Default {true} + */ + enableWordWrap?: boolean; + + /** Mapping fields for the data items of the ListBox widget. + * @Default {null} + */ + fields?: Fields; + + /** Defines the height of the ListBox widget. + * @Default {null} + */ + height?: string; + + /** Defines the height for individual ListBox item. + * @Default {null} + */ + itemHeight?: string; + + /** The number of list items to be shown in the ListBox widget. The remaining list items will be scrollable. + * @Default {null} + */ + itemsCount?: number; + + /** The total number of list items to be rendered in the ListBox widget. + * @Default {null} + */ + totalItemsCount?: number; + + /** The number of list items to be loaded in the list box while enabling virtual scrolling and when virtualScrollMode is set to continuous. + * @Default {5} + */ + itemRequestCount?: number; + + /** Loads data for the listbox by default (i.e. on initialization) when it is set to true. It creates empty ListBox if it is set to false. + */ + loadDataOnInit?: boolean; + + /** The query to retrieve required data from the data source. + * @Default {ej.Query()} + */ + query?: ej.Query; + + /** The list item to be selected by default using its index. + * @Default {null} + */ + selectedIndex?: number; + + /** The list items to be selected by default using its indices. To use this property allowMultiSelection should be enabled. + * @Default {[]} + */ + selectedIndices?: any[]; + + /** Enables/Disables the multi selection option with the help of checkbox control. + * @Default {false} + */ + showCheckbox?: boolean; + + /** To display the ListBox container with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** The template to display the ListBox widget with customized appearance. + * @Default {null} + */ + template?: string; + + /** Holds the selected items values and used to bind value to the list item using AngularJS and KnockoutJS. + * @Default {“”} + */ + value?: number; + + /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. + */ + virtualScrollMode?: ej.VirtualScrollMode | string; + + /** Defines the width of the ListBox widget. + * @Default {null} + */ + width?: string; + + /** Specifies the targetID for the listbox items. + */ + targetID?: string; + + /** Triggers before the AJAX request begins to load data in the ListBox widget. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggers after the data requested via AJAX is successfully loaded in the ListBox widget. */ + actionSuccess?(e: ActionSuccessEventArgs): void; + + /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggers when the data requested from AJAX get failed. */ + actionFailure?(e: ActionFailureEventArgs): void; + + /** Event will be triggered before the requested data via AJAX once loaded in successfully. */ + actionBeforeSuccess?(e: ActionBeforeSuccessEventArgs): void; + + /** Triggers when the item selection is changed. */ + change?(e: ChangeEventArgs): void; - /** Get or set a value that indicates to display the columns in the autocomplete mapping with column name of the dataSource. - */ - field?: string; + /** Triggers when the list item is checked or unchecked. */ + checkChange?(e: CheckChangeEventArgs): void; - /** Get or set a value that indicates to display the title of that particular column. - */ - headerText?: string; + /** Triggers when the ListBox widget is created successfully. */ + create?(e: CreateEventArgs): void; + + /** Triggers when the ListBox widget is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Gets or sets a value that indicates to render the multicolumn with custom theme. - */ - cssClass?: string; + /** Triggers when focus the listbox items. */ + focusIn?(e: FocusInEventArgs): void; - /** Specifies the search data type. There are four types of data types available such as string, ‘number’, ‘boolean’ and ‘date’. - * @Default {ej.Type.String} - */ - type?: ej.Type|string; + /** Triggers when focus out from listbox items. */ + focusOut?(e: FocusOutEventArgs): void; - /** Specifies the search filter type. There are several types of search filter available such as ‘startswith’, ‘contains’, ‘endswith’, ‘lessthan’, ‘lessthanorequal’, ‘greaterthan’, ‘greaterthanorequal’, ‘equal’, ‘notequal’. - * @Default {ej.filterType.StartsWith} - */ - filterType?: ej.filterType|string; + /** Triggers when the list item is being dragged. */ + itemDrag?(e: ItemDragEventArgs): void; - /** This defines the text alignment of a particular column header cell value. See headerTextAlign - * @Default {ej.TextAlign.Left} - */ - headerTextAlign?: ej.TextAlign|string; + /** Triggers when the list item is ready to be dragged. */ + itemDragStart?(e: ItemDragStartEventArgs): void; - /** Gets or sets a value that indicates to align the text within the column. See textAlign - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign|string; -} + /** Triggers when the list item stops dragging. */ + itemDragStop?(e: ItemDragStopEventArgs): void; -export interface MultiColumnSettings { + /** Triggers when the list item is dropped. */ + itemDrop?(e: ItemDropEventArgs): void; - /** Allow list of data to be displayed in several columns. - * @Default {false} - */ - enable?: boolean; + /** Triggers when a list item gets selected. */ + select?(e: SelectEventArgs): void; - /** Allow header text to be displayed in corresponding columns. - * @Default {true} - */ - showHeader?: boolean; + /** Triggers when a list item gets unselected. */ + unselect?(e: UnselectEventArgs): void; + } - /** Displayed selected value and autocomplete search based on mentioned column value specified in that format. - */ - stringFormat?: string; + export interface ActionBeginEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Field and Header Text collections can be defined and customized through columns field. - */ - columns?: Array; -} + export interface ActionSuccessEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } -enum Animation{ + export interface ActionCompleteEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } - ///Supports to animation type with none type only. - None, + export interface ActionFailureEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } - ///Supports to animation type with slide type only. - Slide, + export interface ActionBeforeSuccessEventArgs { - ///Supports to animation type with fade type only. - Fade -} + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; + /** Name of the event. + */ + type?: string; -enum MultiSelectMode{ - - ///Multiple values are separated using a given special character. - Delimiter, - - ///Each values are displayed in separate box with close button. - VisualMode -} - - -enum SortOrder{ + /** List of actual object. + */ + actual?: any; - ///Items to be displayed in the suggestion list in ascending order. - Ascending, - - ///Items to be displayed in the suggestion list in descending order. - Descending -} - -} - -class Button extends ej.Widget { - static fn: Button; - constructor(element: JQuery, options?: Button.Model); - constructor(element: Element, options?: Button.Model); - static Locale: any; - model:Button.Model; - defaults:Button.Model; - - /** destroy the button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To disable the button - * @returns {void} - */ - disable(): void; - - /** To enable the button - * @returns {void} - */ - enable(): void; -} -export module Button{ - -export interface Model { - - /** Specifies the contentType of the Button. See below to know available ContentType - * @Default {ej.ContentType.TextOnly} - */ - contentType?: ej.ContentType|string; - - /** Sets the root CSS class for Button theme, which is used customize. - */ - cssClass?: string; - - /** Specifies the button control state. - * @Default {true} - */ - enabled?: boolean; + /** Object of ListBox widget which contains DataManager arguments + */ + request?: any; - /** Specify the Right to Left direction to button - * @Default {false} - */ - enableRTL?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Specifies the height of the Button. - * @Default {28} - */ - height?: number; + /** List of array object + */ + result?: any[]; - /** It allows to define the characteristics of the Button control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; + /** ExecuteQuery object of DataManager + */ + xhr?: any; + } - /** Specifies the image position of the Button. This image position is applicable only with the textandimage contentType property. The images can be positioned in both imageLeft and imageRight options. See below to know about available ImagePosition - * @Default {ej.ImagePosition.ImageLeft} - */ - imagePosition?: ej.ImagePosition|string; + export interface ChangeEventArgs { - /** Specifies the primary icon for Button. This icon will be displayed from the left margin of the button. - * @Default {null} - */ - prefixIcon?: string; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Convert the button as repeat button. It raises the 'Click' event repeatedly from the it is pressed until it is released. - * @Default {false} - */ - repeatButton?: boolean; - - /** Displays the Button with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the Button. See below to know available ButtonSize - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize|string; - - /** Specifies the secondary icon for Button. This icon will be displayed from the right margin of the button. - * @Default {null} - */ - suffixIcon?: string; - - /** Specifies the text content for Button. - * @Default {null} - */ - text?: string; - - /** Specified the time interval between two consecutive 'click' event on the button. - * @Default {150} - */ - timeInterval?: string; - - /** Specifies the Type of the Button. See below to know available ButtonType - * @Default {ej.ButtonType.Submit} - */ - type?: ej.ButtonType|string; - - /** Specifies the width of the Button. - * @Default {100px} - */ - width?: string|number; - - /** Fires when Button control is clicked successfully.Consider the scenario to perform any validation,modification of content or any other operations click on button,we can make use of this click event to achieve the scenario. */ - click? (e: ClickEventArgs): void; - - /** Fires after Button control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ - create? (e: CreateEventArgs): void; - - /** Fires when the button is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ - destroy? (e: DestroyEventArgs): void; -} - -export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the button model - */ - model?: ej.Button.Model; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - - /** return the event model for sever side processing. - */ - e?: any; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the button model - */ - model?: ej.Button.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the button model - */ - model?: ej.Button.Model; - - /** returns the name of the event - */ - type?: string; -} -} -enum ContentType -{ -//To display the text content only in button -TextOnly, -//To display the image only in button -ImageOnly, -//Supports to display image for both ends of the button -ImageBoth, -//Supports to display image with the text content -TextAndImage, -//Supports to display image with both ends of the text -ImageTextImage, -} -enum ImagePosition -{ -//support for aligning text in left and image in right -ImageRight, -//support for aligning text in right and image in left -ImageLeft, -//support for aligning text in bottom and image in top. -ImageTop, -//support for aligning text in top and image in bottom -ImageBottom, -} -enum ButtonSize -{ -//Creates button with Built-in default size height, width specified -Normal, -//Creates button with Built-in mini size height, width specified -Mini, -//Creates button with Built-in small size height, width specified -Small, -//Creates button with Built-in medium size height, width specified -Medium, -//Creates button with Built-in large size height, width specified -Large, -} -enum ButtonType -{ -//Creates button with Built-in button type specified -Button, -//Creates button with Built-in reset type specified -Reset, -//Creates button with Built-in submit type specified -Submit, -} - -class Captcha extends ej.Widget { - static fn: Captcha; - constructor(element: JQuery, options?: Captcha.Model); - constructor(element: Element, options?: Captcha.Model); - static Locale: any; - model:Captcha.Model; - defaults:Captcha.Model; -} -export module Captcha{ - -export interface Model { - - /** Specifies the character set of the Captcha that will be used to generate captcha text randomly. - */ - characterSet?: string; - - /** Specifies the error message to be displayed when the Captcha mismatch. - */ - customErrorMessage?: string; - - /** Set the Captcha validation automatically. - */ - enableAutoValidation?: boolean; - - /** Specifies the case sensitivity for the characters typed in the Captcha. - */ - enableCaseSensitivity?: boolean; - - /** Specifies the background patterns for the Captcha. - */ - enablePattern?: boolean; - - /** Sets the Captcha direction as right to left alignment. - */ - enableRTL?: boolean; - - /** Specifies the background appearance for the captcha. - */ - hatchStyle?: ej.HatchStyle|string; - - /** Specifies the height of the Captcha. - */ - height?: number; - - /** Specifies the method with values to be mapped in the Captcha. - */ - mapper?: string; - - /** Specifies the maximum number of characters used in the Captcha. - */ - maximumLength?: number; - - /** Specifies the minimum number of characters used in the Captcha. - */ - minimumLength?: number; - - /** Specifies the method to map values to Captcha. - */ - requestMapper?: string; - - /** Sets the Captcha with audio support, that enables to dictate the captcha text. - */ - showAudioButton?: boolean; - - /** Sets the Captcha with a refresh button. - */ - showRefreshButton?: boolean; - - /** Specifies the target button of the Captcha to validate the entered text and captcha text. - */ - targetButton?: string; - - /** Specifies the target input element that will verify the Captcha. - */ - targetInput?: string; - - /** Specifies the width of the Captcha. - */ - width?: number; - - /** Fires when captcha refresh begins. */ - refreshBegin? (e: RefreshBeginEventArgs): void; - - /** Fires after captcha refresh completed. */ - refreshComplete? (e: RefreshCompleteEventArgs): void; - - /** Fires when captcha refresh fails to load. */ - refreshFailure? (e: RefreshFailureEventArgs): void; - - /** Fires after captcha refresh succeeded. */ - refreshSuccess? (e: RefreshSuccessEventArgs): void; -} - -export interface RefreshBeginEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface RefreshCompleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface RefreshFailureEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface RefreshSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Captcha model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} -} -enum HatchStyle -{ -//Set background as None to Captcha -None, -//Set background as BackwardDiagonal to Captcha -BackwardDiagonal, -//Set background as Cross to Captcha -Cross, -//Set background as DarkDownwardDiagonal to Captcha -DarkDownwardDiagonal, -//Set background as DarkHorizontal to Captcha -DarkHorizontal, -//Set background as DarkUpwardDiagonal to Captcha -DarkUpwardDiagonal, -//Set background as DarkVertical to Captcha -DarkVertical, -//Set background as DashedDownwardDiagonal to Captcha -DashedDownwardDiagonal, -//Set background as DashedHorizontal to Captcha -DashedHorizontal, -//Set background as DashedUpwardDiagonal to Captcha -DashedUpwardDiagonal, -//Set background as DashedVertical to Captcha -DashedVertical, -//Set background as DiagonalBrick to Captcha -DiagonalBrick, -//Set background as DiagonalCross to Captcha -DiagonalCross, -//Set background as Divot to Captcha -Divot, -//Set background as DottedDiamond to Captcha -DottedDiamond, -//Set background as DottedGrid to Captcha -DottedGrid, -//Set background as ForwardDiagonal to Captcha -ForwardDiagonal, -//Set background as Horizontal to Captcha -Horizontal, -//Set background as HorizontalBrick to Captcha -HorizontalBrick, -//Set background as LargeCheckerBoard to Captcha -LargeCheckerBoard, -//Set background as LargeConfetti to Captcha -LargeConfetti, -//Set background as LargeGrid to Captcha -LargeGrid, -//Set background as LightDownwardDiagonal to Captcha -LightDownwardDiagonal, -//Set background as LightHorizontal to Captcha -LightHorizontal, -//Set background as LightUpwardDiagonal to Captcha -LightUpwardDiagonal, -//Set background as LightVertical to Captcha -LightVertical, -//Set background as Max to Captcha -Max, -//Set background as Min to Captcha -Min, -//Set background as NarrowHorizontal to Captcha -NarrowHorizontal, -//Set background as NarrowVertical to Captcha -NarrowVertical, -//Set background as OutlinedDiamond to Captcha -OutlinedDiamond, -//Set background as Percent90 to Captcha -Percent90, -//Set background as Wave to Captcha -Wave, -//Set background as Weave to Captcha -Weave, -//Set background as WideDownwardDiagonal to Captcha -WideDownwardDiagonal, -//Set background as WideUpwardDiagonal to Captcha -WideUpwardDiagonal, -//Set background as ZigZag to Captcha -ZigZag, -} - -class ListBox extends ej.Widget { - static fn: ListBox; - constructor(element: JQuery, options?: ListBox.Model); - constructor(element: Element, options?: ListBox.Model); - static Locale: any; - model:ListBox.Model; - defaults:ListBox.Model; - - /** Adds a given list items in the ListBox widget at a specified index. It accepts two parameters. - * @param {any|string} This can be a list item object (for JSON binding) or a string (for UL and LI rendering). Also we can the specify this as an array of list item object or an array of strings to add multiple items. - * @param {number} The index value to add the given items at the specified index. If index is not specified, the given items will be added at the end of the list. - * @returns {void} - */ - addItem(listItem: any|string, index: number): void; - - /** Checks all the list items in the ListBox widget. It is dependent on showCheckbox property. - * @returns {void} - */ - checkAll(): void; - - /** Checks a list item by using its index. It is dependent on showCheckbox property. - * @param {number} Index of the listbox item to be checked. If index is not specified, the given items will be added at the end of the list. - * @returns {void} - */ - checkItemByIndex(index: number): void; - - /** Checks multiple list items by using its index values. It is dependent on showCheckbox property. - * @param {number[]} Index/Indices of the listbox items to be checked. If index is not specified, the given items will be added at the end of the list. - * @returns {void} - */ - checkItemsByIndices(indices: number[]): void; - - /** Disables the ListBox widget. - * @returns {void} - */ - disable(): void; - - /** Disables a list item by passing the item text as parameter. - * @param {string} Text of the listbox item to be disabled. - * @returns {void} - */ - disableItem(text: string): void; - - /** Disables a list Item using its index value. - * @param {number} Index of the listbox item to be disabled. - * @returns {void} - */ - disableItemByIndex(index: number): void; - - /** Disables set of list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be disabled. - * @returns {void} - */ - disableItemsByIndices(Indices: number[]|string): void; - - /** Enables the ListBox widget when it is disabled. - * @returns {void} - */ - enable(): void; - - /** Enables a list Item using its item text value. - * @param {string} Text of the listbox item to be enabled. - * @returns {void} - */ - enableItem(text: string): void; - - /** Enables a list item using its index value. - * @param {number} Index of the listbox item to be enabled. - * @returns {void} - */ - enableItemByIndex(index: number): void; - - /** Enables a set of list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be enabled. - * @returns {void} - */ - enableItemsByIndices(indices: number[]|string): void; - - /** Returns the list of checked items in the ListBox widget. It is dependent on showCheckbox property. - * @returns {any} - */ - getCheckedItems(): any; - - /** Returns the list of selected items in the ListBox widget. - * @returns {any} - */ - getSelectedItems(): any; - - /** Returns an item’s index based on the given text. - * @param {string} The list item text (label) - * @returns {number} - */ - getIndexByText(text: string): number; - - /** Returns an item’s index based on the value given. - * @param {string} The list item’s value - * @returns {number} - */ - getIndexByValue(indices: string): number; - - /** Returns an item’s text (label) based on the index given. - * @returns {string} - */ - getTextByIndex(): string; - - /** Returns a list item’s object using its index. - * @returns {any} - */ - getItemByIndex(): any; - - /** Returns a list item’s object based on the text given. - * @param {string} The list item text. - * @returns {any} - */ - getItemByText(text: string): any; - - /** Merges the given data with the existing data items in the listbox. - * @param {Array} Data to merge in listbox. - * @returns {void} - */ - mergeData(data: Array): void; - - /** Selects the next item based on the current selection. - * @returns {void} - */ - moveDown(): void; - - /** Selects the previous item based on the current selection. - * @returns {void} - */ - moveUp(): void; - - /** Refreshes the ListBox widget. - * @param {boolean} Refreshes both the datasource and the dimensions of the ListBox widget when the parameter is passed as true, otherwise only the ListBox dimensions will be refreshed. - * @returns {void} - */ - refresh(refreshData: boolean): void; - - /** Removes all the list items from listbox. - * @returns {void} - */ - removeAll(): void; - - /** Removes the selected list items from the listbox. - * @returns {void} - */ - removeSelectedItems(): void; - - /** Removes a list item by using its text. - * @param {string} Text of the listbox item to be removed. - * @returns {void} - */ - removeItemByText(text: string): void; - - /** Removes a list item by using its index value. - * @param {number} Index of the listbox item to be removed. - * @returns {void} - */ - removeItemByIndex(index: number): void; - - /** - * @returns {void} - */ - selectAll(): void; - - /** Selects the list item using its text value. - * @param {string} Text of the listbox item to be selected. - * @returns {void} - */ - selectItemByText(text: string): void; - - /** Selects list item using its value property. - * @param {string} Value of the listbox item to be selected. - * @returns {void} - */ - selectItemByValue(value: string): void; - - /** Selects list item using its index value. - * @param {number} Index of the listbox item to be selected. - * @returns {void} - */ - selectItemByIndex(index: number): void; - - /** Selects a set of list items through its index values. - * @param {number|number[]} Index/Indices of the listbox item to be selected. - * @returns {void} - */ - selectItemsByIndices(Indices: number|number[]): void; - - /** Unchecks all the checked list items in the ListBox widget. To use this method showCheckbox property to be set as true. - * @returns {void} - */ - uncheckAll(): void; - - /** Unchecks a checked list item using its index value. To use this method showCheckbox property to be set as true. - * @param {number} Index of the listbox item to be unchecked. - * @returns {void} - */ - uncheckItemByIndex(index: number): void; - - /** Unchecks the set of checked list items using its index values. To use this method showCheckbox property must be set to true. - * @param {number[]|string} Indices of the listbox item to be unchecked. - * @returns {void} - */ - uncheckItemsByIndices(indices: number[]|string): void; - - /** - * @returns {void} - */ - unselectAll(): void; - - /** Unselects a selected list item using its index value - * @param {number} Index of the listbox item to be unselected. - * @returns {void} - */ - unselectItemByIndex(index: number): void; - - /** Unselects a selected list item using its text value. - * @param {string} Text of the listbox item to be unselected. - * @returns {void} - */ - unselectItemByText(text: string): void; - - /** Unselects a selected list item using its value. - * @param {string} Value of the listbox item to be unselected. - * @returns {void} - */ - unselectItemByValue(value: string): void; - - /** Unselects a set of list items using its index values. - * @param {number[]|string} Indices of the listbox item to be unselected. - * @returns {void} - */ - unselectItemsByIndices(indices: number[]|string): void; - - /** Hides all the checked items in the listbox. - * @returns {void} - */ - hideCheckedItems(): void; - - /** Shows a set of hidden list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be shown. - * @returns {void} - */ - showItemByIndices(indices: number[]|string): void; - - /** Hides a set of list Items using its index values. - * @param {number[]|string} Indices of the listbox items to be hidden. - * @returns {void} - */ - hideItemsByIndices(indices: number[]|string): void; - - /** Shows the hidden list items using its values. - * @param {Array} Values of the listbox items to be shown. - * @returns {void} - */ - showItemsByValues(values: Array): void; - - /** Hides the list item using its values. - * @param {Array} Values of the listbox items to be hidden. - * @returns {void} - */ - hideItemsByValues(values: Array): void; - - /** Shows a hidden list item using its value. - * @param {string} Value of the listbox item to be shown. - * @returns {void} - */ - showItemByValue(value: string): void; - - /** Hide a list item using its value. - * @param {string} Value of the listbox item to be hidden. - * @returns {void} - */ - hideItemByValue(value: string): void; - - /** Shows a hidden list item using its index value. - * @param {number} Index of the listbox item to be shown. - * @returns {void} - */ - showItemByIndex(index: number): void; - - /** Hides a list item using its index value. - * @param {number} Index of the listbox item to be hidden. - * @returns {void} - */ - hideItemByIndex(index: number): void; - - /** - * @returns {void} - */ - show(): void; - - /** Hides the listbox. - * @returns {void} - */ - hide(): void; - - /** Hides all the listbox items in the listbox. - * @returns {void} - */ - hideAllItems(): void; - - /** Shows all the listbox items in the listbox. - * @returns {void} - */ - showAllItems(): void; -} -export module ListBox{ - -export interface Model { - - /** Enables/disables the dragging behavior of the items in ListBox widget. - * @Default {false} - */ - allowDrag?: boolean; - - /** Accepts the items which are dropped in to it, when it is set to true. - * @Default {false} - */ - allowDrop?: boolean; - - /** Enables or disables multiple selection. - * @Default {false} - */ - allowMultiSelection?: boolean; - - /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using “virtualScrollMode” property. - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** Enables or disables the case sensitive search for list item by typing the text (search) value. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** Dynamically populate data of a list box while selecting an item in another list box i.e. rendering child list box based on the item selection in parent list box. This property accepts the id of the child ListBox widget to populate the data. - * @Default {null} - */ - cascadeTo?: string; - - /** Set of list items to be checked by default using its index. It works only when the showCheckbox property is set to true. - * @Default {null} - */ - checkedIndices?: Array; - - /** The root class for the ListBox widget to customize the existing theme. - * @Default {“”} - */ - cssClass?: string; - - /** Contains the list of data for generating the list items. - * @Default {null} - */ - dataSource?: any; - - /** Enables or disables the ListBox widget. - * @Default {true} - */ - enabled?: boolean; - - /** Enables or disables the search behavior to find the specific list item by typing the text value. - * @Default {false} - */ - enableIncrementalSearch?: boolean; - - /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the ListBox widget’s content from right to left when enabled. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies ellipsis ("...") representation in an overflowed list item content when it is set to false. - * @Default {true} - */ - enableWordWrap?: boolean; - - /** Mapping fields for the data items of the ListBox widget. - * @Default {null} - */ - fields?: Fields; - - /** Defines the height of the ListBox widget. - * @Default {null} - */ - height?: string; - - /** Defines the height for individual ListBox item. - * @Default {null} - */ - itemHeight?: string; - - /** The number of list items to be shown in the ListBox widget. The remaining list items will be scrollable. - * @Default {null} - */ - itemsCount?: number; - - /** The total number of list items to be rendered in the ListBox widget. - * @Default {null} - */ - totalItemsCount?: number; - - /** The number of list items to be loaded in the list box while enabling virtual scrolling and when virtualScrollMode is set to continuous. - * @Default {5} - */ - itemRequestCount?: number; - - /** Loads data for the listbox by default (i.e. on initialization) when it is set to true. It creates empty ListBox if it is set to false. - * @Default {true} - */ - loadDataOnInit?: boolean; - - /** The query to retrieve required data from the data source. - * @Default {ej.Query()} - */ - query?: ej.Query; - - /** The list item to be selected by default using its index. - * @Default {null} - */ - selectedIndex?: number; - - /** The list items to be selected by default using its indices. To use this property allowMultiSelection should be enabled. - * @Default {[]} - */ - selectedIndices?: Array; - - /** Enables/Disables the multi selection option with the help of checkbox control. - * @Default {false} - */ - showCheckbox?: boolean; + /** Name of the event. + */ + type?: string; - /** To display the ListBox container with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** List item object. + */ + item?: any; - /** The template to display the ListBox widget with customized appearance. - * @Default {null} - */ - template?: string; + /** The Datasource of the listbox. + */ + data?: any; - /** Holds the selected items values and used to bind value to the list item using AngularJS and KnockoutJS. - * @Default {“”} - */ - value?: number; + /** List item’s index. + */ + index?: number; - /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. - * @Default {ej.VirtualScrollMode.Normal} - */ - virtualScrollMode?: ej.VirtualScrollMode|string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Defines the width of the ListBox widget. - * @Default {null} - */ - width?: string; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Specifies the targetID for the listbox items. - * @Default {null} - */ - targetID?: string; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** Triggers before the AJAX request begins to load data in the ListBox widget. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; - /** Triggers after the data requested via AJAX is successfully loaded in the ListBox widget. */ - actionSuccess? (e: ActionSuccessEventArgs): void; + /** List item’s text (label). + */ + text?: string; - /** Triggers when the AJAX requests complete. The request may get failed or succeed. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** List item’s value. + */ + value?: string; + } - /** Triggers when the data requested from AJAX get failed. */ - actionFailure? (e: ActionFailureEventArgs): void; + export interface CheckChangeEventArgs { - /** Event will be triggered before the requested data via AJAX once loaded in successfully. */ - actionBeforeSuccess? (e: ActionBeforeSuccessEventArgs): void; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Triggers when the item selection is changed. */ - change? (e: ChangeEventArgs): void; + /** Name of the event. + */ + type?: string; - /** Triggers when the list item is checked or unchecked. */ - checkChange? (e: CheckChangeEventArgs): void; + /** List item object. + */ + item?: any; - /** Triggers when the ListBox widget is created successfully. */ - create? (e: CreateEventArgs): void; + /** The Datasource of the listbox. + */ + data?: any; - /** Triggers when the ListBox widget is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** List item’s index. + */ + index?: number; - /** Triggers when focus the listbox items. */ - focusIn? (e: FocusInEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Triggers when focus out from listbox items. */ - focusOut? (e: FocusOutEventArgs): void; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Triggers when the list item is being dragged. */ - itemDrag? (e: ItemDragEventArgs): void; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** Triggers when the list item is ready to be dragged. */ - itemDragStart? (e: ItemDragStartEventArgs): void; + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; - /** Triggers when the list item stops dragging. */ - itemDragStop? (e: ItemDragStopEventArgs): void; + /** List item’s text (label). + */ + text?: string; - /** Triggers when the list item is dropped. */ - itemDrop? (e: ItemDropEventArgs): void; + /** List item’s value. + */ + value?: string; + } - /** Triggers when a list item gets selected. */ - select? (e: SelectEventArgs): void; + export interface CreateEventArgs { - /** Triggers when a list item gets unselected. */ - unselect? (e: UnselectEventArgs): void; -} + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; -export interface ActionBeginEventArgs { -} + /** Name of the event. + */ + type?: string; -export interface ActionSuccessEventArgs { -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + } -export interface ActionCompleteEventArgs { -} + export interface DestroyEventArgs { -export interface ActionFailureEventArgs { -} + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; -export interface ActionBeforeSuccessEventArgs { + /** Name of the event. + */ + type?: string; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + } - /** Name of the event. - */ - type?: string; + export interface FocusInEventArgs { - /** List of actual object. - */ - actual?: any; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Object of ListBox widget which contains DataManager arguments - */ - request?: any; + /** Name of the event. + */ + type?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + } - /** List of array object - */ - result?: Array; + export interface FocusOutEventArgs { - /** ExecuteQuery object of DataManager - */ - xhr?: any; -} + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; -export interface ChangeEventArgs { + /** Name of the event. + */ + type?: string; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + } - /** Name of the event. - */ - type?: string; + export interface ItemDragEventArgs { - /** List item object. - */ - item?: any; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** The Datasource of the listbox. - */ - data?: any; + /** Name of the event. + */ + type?: string; - /** List item’s index. - */ - index?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** The Datasource of the listbox. + */ + data?: any; - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + /** List item’s index. + */ + index?: number; - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** List item’s text (label). - */ - text?: string; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** List item’s value. - */ - value?: string; -} + /** List item’s text (label). + */ + text?: string; -export interface CheckChangeEventArgs { + /** List item’s value. + */ + value?: string; + } - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + export interface ItemDragStartEventArgs { - /** Name of the event. - */ - type?: string; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** List item object. - */ - item?: any; + /** Name of the event. + */ + type?: string; - /** The Datasource of the listbox. - */ - data?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** List item’s index. - */ - index?: number; + /** The Datasource of the listbox. + */ + data?: any; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** List item’s index. + */ + index?: number; - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** List item’s text (label). - */ - text?: string; + /** List item’s text (label). + */ + text?: string; - /** List item’s value. - */ - value?: string; -} + /** List item’s value. + */ + value?: string; + } -export interface CreateEventArgs { + export interface ItemDragStopEventArgs { - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface DestroyEventArgs { + /** The Datasource of the listbox. + */ + data?: any; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** List item’s index. + */ + index?: number; - /** Name of the event. - */ - type?: string; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; -} + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; -export interface FocusInEventArgs { + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** List item’s text (label). + */ + text?: string; - /** Name of the event. - */ - type?: string; + /** List item’s value. + */ + value?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; -} + export interface ItemDropEventArgs { -export interface FocusOutEventArgs { + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Name of the event. + */ + type?: string; - /** Name of the event. - */ - type?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; -} + /** The Datasource of the listbox. + */ + data?: any; -export interface ItemDragEventArgs { + /** List item’s index. + */ + index?: number; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Name of the event. - */ - type?: string; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Boolean value based on whether the list item is enabled or not. + */ + isEnabled?: boolean; - /** The Datasource of the listbox. - */ - data?: any; + /** List item’s text (label). + */ + text?: string; - /** List item’s index. - */ - index?: number; + /** List item’s value. + */ + value?: string; + } - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + export interface SelectEventArgs { - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; + /** Name of the event. + */ + type?: string; - /** List item’s text (label). - */ - text?: string; + /** List item object. + */ + item?: any; - /** List item’s value. - */ - value?: string; -} + /** The Datasource of the listbox. + */ + data?: any; -export interface ItemDragStartEventArgs { + /** List item’s index. + */ + index?: number; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; - /** The Datasource of the listbox. - */ - data?: any; + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; - /** List item’s index. - */ - index?: number; + /** List item’s text (label). + */ + text?: string; - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + /** List item’s value. + */ + value?: string; + } - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + export interface UnselectEventArgs { - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; + /** Instance of the listbox model object. + */ + model?: ej.ListBox.Model; + + /** Name of the event. + */ + type?: string; - /** List item’s text (label). - */ - text?: string; + /** List item object. + */ + item?: any; + + /** The Datasource of the listbox. + */ + data?: any; + + /** List item’s index. + */ + index?: number; + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Boolean value based on whether the list item is checked or not. + */ + isChecked?: boolean; + + /** Boolean value based on whether the list item is selected or not. + */ + isSelected?: boolean; + + /** Boolean value based on the list item is enabled or not. + */ + isEnabled?: boolean; + + /** List item’s text (label). + */ + text?: string; + + /** List item’s value. + */ + value?: string; + } + + export interface Fields { + + /** Defines the specific field name which contains Boolean values to specify whether the list items to be checked by default or not. + */ + checkBy?: boolean; + + /** The grouping in the ListBox widget can be defined using this field. + */ + groupBy?: string; + + /** Defines the HTML attributes such as id, class, styles for the specific ListBox item. + */ + htmlAttributes?: any; + + /** Defines the specific field name which contains id values for the list items. + */ + id?: string; + + /** Defines the imageURL for the image to be displayed in the ListBox item. + */ + imageUrl?: string; + + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; + + /** Defines the specific field name which contains Boolean values to specify whether the list items to be selected by default or not. + */ + selectBy?: boolean; + + /** Defines the sprite CSS class for the image to be displayed. + */ + spriteCssClass?: string; + + /** Defines the table name to get the specific set of list items to be loaded in the ListBox widget while rendering with remote data. + */ + tableName?: string; + + /** Defines the specific field name in the data source to load the list with data. + */ + text?: string; + + /** Defines the specific field name in the data source to load the list with data value property. + */ + value?: string; + } + } + + class Calculate { + static fn: Calculate; + constructor(element: JQuery | Element, options?: Calculate.Model); + static Locale: any; + model: Calculate.Model; + defaults: Calculate.Model; + + /** Add the custom formulas with function in CalcEngine library + * @param {string} pass the formula name + * @param {string} pass the custom function name to call + * @returns {void} + */ + addCustomFunction(FormulaName: string, FunctionName: string): void; + + /** Adds a named range to the NamedRanges collection + * @param {string} pass the namedRange's name + * @param {string} pass the cell range of NamedRange + * @returns {void} + */ + addNamedRange(Name: string, cellRange: string): void; + + /** Accepts a possible parsed formula and returns the calculated value without quotes. + * @param {string} pass the cell range to adjust its range + * @returns {string} + */ + adjustRangeArg(Name: string): string; + + /** When a formula cell changes, call this method to clear it from its dependent cells. + * @param {string} pass the changed cell address + * @returns {void} + */ + clearFormulaDependentCells(Cell: string): void; + + /** Call this method to clear whether an exception was raised during the computation of a library function. + * @returns {void} + */ + clearLibraryComputationException(): void; + + /** Get the column index from a cell reference passed in. + * @param {string} pass the cell address + * @returns {void} + */ + colIndex(Cell: string): void; + + /** Evaluates a parsed formula. + * @param {string} pass the parsed formula + * @returns {string} + */ + computedValue(Formula: string): string; + + /** Evaluates a parsed formula. + * @param {string} pass the parsed formula + * @returns {string} + */ + computeFormula(Formula: string): string; + } + export namespace Calculate { + + export interface Model { + /** Returns the cancel option value. + */ + cancel?: boolean; + } + } + + class CheckBox extends ej.Widget { + static fn: CheckBox; + constructor(element: JQuery | Element, options?: CheckBox.Model); + static Locale: any; + model: CheckBox.Model; + defaults: CheckBox.Model; + + /** Destroy the CheckBox widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Disable the CheckBox to prevent all user interactions. + * @returns {void} + */ + disable(): void; + + /** To enable the CheckBox + * @returns {void} + */ + enable(): void; + + /** To Check the status of CheckBox + * @returns {boolean} + */ + isChecked(): boolean; + } + export namespace CheckBox { + + export interface Model { + + /** Specifies whether CheckBox has to be in checked or not. + * We can also specify array of string as value for this property. + * If any of the value in the specified array matches the value of the textbox, + * then it will be considered as checked. It will be useful in MVVM binding, + * specify array type to identify the values of the checked CheckBoxes. + * @Default {false} + */ + checked?: boolean | string[]; + + /** Specifies the State of CheckBox.See below to get available CheckState + * @Default {null} + */ + checkState?: ej.CheckState | string; + + /** Sets the root CSS class for CheckBox theme, which is used customize. + */ + cssClass?: string; + + /** Specifies the checkbox control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the persist property for CheckBox while initialization. + * The persist API save current model value to browser cookies for state maintains. + * While refreshing the CheckBox control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specify the Right to Left direction to Checkbox + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the enable or disable Tri-State for checkbox control. + * @Default {false} + */ + enableTriState?: boolean; + + /** It allows to define the characteristics of the CheckBox control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specified value to be added an id attribute of the CheckBox. + * @Default {null} + */ + id?: string; + + /** Specify the prefix value of id to be added before the current id of the CheckBox. + * @Default {ej} + */ + idPrefix?: string; + + /** Specifies the name attribute of the CheckBox. + * @Default {null} + */ + name?: string; + + /** Displays rounded corner borders to CheckBox + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the CheckBox.See below to know available CheckboxSize + * @Default {small} + */ + size?: ej.CheckboxSize | string; + + /** Specifies the text content to be displayed for CheckBox. + */ + text?: string; + + /** Set the jQuery validation error message in CheckBox. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules in CheckBox. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value attribute of the CheckBox. + * @Default {null} + */ + value?: string; + + /** Fires before the CheckBox is going to changed its state successfully */ + beforeChange?(e: BeforeChangeEventArgs): void; + + /** Fires when the CheckBox state is changed successfully */ + change?(e: ChangeEventArgs): void; + + /** Fires when the CheckBox state is created successfully */ + create?(e: CreateEventArgs): void; + + /** Fires when the CheckBox state is destroyed successfully */ + destroy?(e: DestroyEventArgs): void; + } + + export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event model values + */ + event?: any; + + /** returns the status whether the element is checked or not. + */ + isChecked?: boolean; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event arguments + */ + event?: any; + + /** returns the status whether the element is checked or not. + */ + isChecked?: boolean; + + /** returns the state of the checkbox + */ + checkState?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the CheckBox model + */ + model?: ej.CheckBox.Model; + + /** returns the name of the event + */ + type?: string; + } + } + enum CheckState { + //string + Uncheck, + //string + Check, + //string + Indeterminate, + } + enum CheckboxSize { + //Displays the CheckBox in medium size + Medium, + //Displays the CheckBox in small size + Small, + } + + class ColorPicker extends ej.Widget { + static fn: ColorPicker; + constructor(element: JQuery | Element, options?: ColorPicker.Model); + static Locale: any; + model: ColorPicker.Model; + defaults: ColorPicker.Model; + + /** Disables the color picker control + * @returns {void} + */ + disable(): void; + + /** Enable the color picker control + * @returns {void} + */ + enable(): void; + + /** Gets the selected color in RGB format + * @returns {any} + */ + getColor(): any; + + /** Gets the selected color value as string + * @returns {string} + */ + getValue(): string; + + /** To Convert color value from hexCode to RGB + * @param {string} Specified HEX code converted to RGB + * @returns {any} + */ + hexCodeToRGB(colorCode: string): any; + + /** Hides the ColorPicker popup, if in opened state. + * @returns {void} + */ + hide(): void; + + /** Convert color value from HSV to RGB + * @param {any} Specified HSV code converted to RGB + * @returns {any} + */ + HSVToRGB(HSV: any): any; + + /** Convert color value from RGB to HEX + * @param {any} Specified RGB code converted to HEX code + * @returns {string} + */ + RGBToHEX(RGB: any): string; + + /** Convert color value from RGB to HSV + * @param {any} Specified RGB code converted to HSV code + * @returns {any} + */ + RGBToHSV(RGB: any): any; + + /** Open the ColorPicker popup. + * @returns {void} + */ + show(): void; + } + export namespace ColorPicker { + + export interface Model { + + /** The ColorPicker control allows to define the customized text to displayed in button elements. Using the property to achieve the customized culture values. + * @Default {{ apply: Apply, cancel: Cancel, swatches: Swatches }} + */ + buttonText?: ButtonText; + + /** Allows to change the mode of the button. Please refer below to know available button mode + * @Default {ej.ButtonMode.Split} + */ + buttonMode?: ej.ButtonMode | string; + + /** Specifies the number of columns to be displayed color palette model. + * @Default {10} + */ + columns?: number | string; + + /** This property allows you to customize its appearance using user-defined CSS and custom skin options such as colors and backgrounds. + */ + cssClass?: string; + + /** This property allows to define the custom colors in the palette model.Custom palettes are created by passing a comma delimited string of HEX values or an array of colors. + * @Default {empty} + */ + custom?: any[]; + + /** This property allows to embed the popup in the order of DOM element flow . When we set the value as true, the color picker popup is always in visible state. + * @Default {false} + */ + displayInline?: boolean; + + /** This property allows to change the control in enabled or disabled state. + * @Default {true} + */ + enabled?: boolean; + + /** This property allows to enable or disable the opacity slider in the color picker control + * @Default {true} + */ + enableOpacity?: boolean; + + /** It allows to define the characteristics of the ColorPicker control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Defines the localized text values in button and tooltip. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the model type to be rendered initially in the color picker control. See below to get available ModelType + * @Default {ej.ColorPicker.ModelType.Default} + */ + modelType?: ej.ColorPicker.ModelType | string; + + /** This property allows to change the opacity value .The selected color opacity will be adjusted by using this opacity value. + * @Default {100} + */ + opacityValue?: number | string; + + /** Specifies the palette type to be displayed at initial time in palette model.There two types of palette model available in ColorPicker control. See below available Palette + * @Default {ej.ColorPicker.Palette.BasicPalette} + */ + palette?: ej.ColorPicker.Palette | string; + + /** This property allows to define the preset model to be rendered initially in palette type.It consists of 12 different types of presets. Each presets have 50 colors. + * See below available Presets + * @Default {ej.ColorPicker.Presets.Basic} + */ + presetType?: ej.ColorPicker.Presets | string; + + /** Allows to show/hides the apply and cancel buttons in ColorPicker control + * @Default {true} + */ + showApplyCancel?: boolean; + + /** Allows to show/hides the clear button in ColorPicker control + * @Default {true} + */ + showClearButton?: boolean; + + /** This property allows to provides live preview support for current cursor selection color and selected color. + * @Default {true} + */ + showPreview?: boolean; + + /** This property allows to store the color values in custom list.The ColorPicker will keep up to 11 colors in a custom list. + * By clicking the add button, the selected color from picker or palette will get added in the recent color list. + * @Default {false} + */ + showRecentColors?: boolean; + + /** Allows to show/hides the switcher button in ColorPicker control.It helps to switch palette or picker mode in colorpicker. + * @Default {true} + */ + showSwitcher?: boolean; + + /** This property allows to shows tooltip to notify the slider value in color picker control. + * @Default {false} + */ + showTooltip?: boolean; + + /** Specifies the toolIcon to be displayed in dropdown control color area. + * @Default {null} + */ + toolIcon?: string; + + /** This property allows to define the customized text or content to displayed when mouse over the following elements. This property also allows to use the culture values. + * @Default {{ switcher: Switcher, addbutton: Add Color, basic: Basic, monochrome: Mono Chrome, flatcolors: Flat Color, seawolf: Sea Wolf, webcolors: Web Colors, + * sandy: Sandy, pinkshades: Pink Shades, misty: Misty, citrus: Citrus, vintage: Vintage, moonlight: Moon Light, candycrush: Candy Crush, + * currentcolor: Current Color, selectedcolor: Selected Color }} + */ + tooltipText?: TooltipText; + + /** Specifies the color value for color picker control, the value is in hexadecimal form with prefix of "#". + * @Default {null} + */ + value?: string; + + /** Fires after Color value has been changed successfully.If the user want to perform any operation after the color value changed then the user can make use of this change event. */ + change?(e: ChangeEventArgs): void; + + /** Fires after closing the color picker popup. */ + close?(e: CloseEventArgs): void; + + /** Fires after Color picker control is created. If the user want to perform any operation after the color picker control creation then the user can make use of this create event. */ + create?(e: CreateEventArgs): void; + + /** Fires after Color picker control is destroyed. If the user want to perform any operation after the color picker control destroyed then the user can make use of this destroy event. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires after opening the color picker popup */ + open?(e: OpenEventArgs): void; + + /** Fires after Color value has been selected successfully. If the user want to perform any operation after the color value selected then the user can make use of this select event. */ + select?(e: SelectEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** return the changed color value + */ + value?: string; + } - /** List item’s value. - */ - value?: string; -} + export interface CloseEventArgs { -export interface ItemDragStopEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** Name of the event. - */ - type?: string; + /** returns the name of the event + */ + type?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface CreateEventArgs { - /** The Datasource of the listbox. - */ - data?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** List item’s index. - */ - index?: number; + /** returns the color picker model + */ + model?: any; - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + /** returns the name of the event + */ + type?: string; + } - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + export interface DestroyEventArgs { - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** List item’s text (label). - */ - text?: string; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** List item’s value. - */ - value?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface ItemDropEventArgs { + export interface OpenEventArgs { - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; + } - /** The Datasource of the listbox. - */ - data?: any; + export interface SelectEventArgs { - /** List item’s index. - */ - index?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + /** returns the color picker model + */ + model?: ej.ColorPicker.Model; - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + /** returns the name of the event + */ + type?: string; - /** Boolean value based on whether the list item is enabled or not. - */ - isEnabled?: boolean; + /** return the selected color value + */ + value?: string; + } - /** List item’s text (label). - */ - text?: string; + export interface ButtonText { - /** List item’s value. - */ - value?: string; -} + /** Sets the text for the apply button. + */ + apply?: string; -export interface SelectEventArgs { + /** Sets the text for the cancel button. + */ + cancel?: string; - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; + /** Sets the header text for the swatches area. + */ + swatches?: string; + } - /** Name of the event. - */ - type?: string; + export interface TooltipText { - /** List item object. - */ - item?: any; + /** Sets the tooltip text for the switcher button. + */ + switcher?: string; - /** The Datasource of the listbox. - */ - data?: any; + /** Sets the tooltip text for the add button. + */ + addbutton?: string; - /** List item’s index. - */ - index?: number; + /** Sets the tooltip text for the basic preset. + */ + basic?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Sets the tooltip text for the mono chrome preset. + */ + monochrome?: string; - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; + /** Sets the tooltip text for the flat colors preset. + */ + flatcolors?: string; - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; + /** Sets the tooltip text for the sea wolf preset. + */ + seawolf?: string; - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; + /** Sets the tooltip text for the web colors preset. + */ + webcolors?: string; - /** List item’s text (label). - */ - text?: string; + /** Sets the tooltip text for the sandy preset. + */ + sandy?: string; - /** List item’s value. - */ - value?: string; -} + /** Sets the tooltip text for the pink shades preset. + */ + pinkshades?: string; -export interface UnselectEventArgs { - - /** Instance of the listbox model object. - */ - model?: ej.ListBox.Model; - - /** Name of the event. - */ - type?: string; + /** Sets the tooltip text for the misty preset. + */ + misty?: string; - /** List item object. - */ - item?: any; - - /** The Datasource of the listbox. - */ - data?: any; - - /** List item’s index. - */ - index?: number; - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Boolean value based on whether the list item is checked or not. - */ - isChecked?: boolean; - - /** Boolean value based on whether the list item is selected or not. - */ - isSelected?: boolean; - - /** Boolean value based on the list item is enabled or not. - */ - isEnabled?: boolean; - - /** List item’s text (label). - */ - text?: string; - - /** List item’s value. - */ - value?: string; -} - -export interface Fields { - - /** Defines the specific field name which contains Boolean values to specify whether the list items to be checked by default or not. - */ - checkBy?: boolean; - - /** The grouping in the ListBox widget can be defined using this field. - */ - groupBy?: string; - - /** Defines the HTML attributes such as id, class, styles for the specific ListBox item. - */ - htmlAttributes?: any; - - /** Defines the specific field name which contains id values for the list items. - */ - id?: string; - - /** Defines the imageURL for the image to be displayed in the ListBox item. - */ - imageUrl?: string; - - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; - - /** Defines the specific field name which contains Boolean values to specify whether the list items to be selected by default or not. - */ - selectBy?: boolean; - - /** Defines the sprite CSS class for the image to be displayed. - */ - spriteCssClass?: string; - - /** Defines the table name to get the specific set of list items to be loaded in the ListBox widget while rendering with remote data. - */ - tableName?: string; - - /** Defines the specific field name in the data source to load the list with data. - */ - text?: string; - - /** Defines the specific field name in the data source to load the list with data value property. - */ - value?: string; -} -} - -class Calculate { - static fn: Calculate; - constructor(element: JQuery, options?: Calculate.Model); - constructor(element: Element, options?: Calculate.Model); - static Locale: any; - model:Calculate.Model; - defaults:Calculate.Model; - - /** Add the custom formulas with function in CalcEngine library - * @param {string} pass the formula name - * @param {string} pass the custom function name to call - * @returns {void} - */ - addCustomFunction(FormulaName: string, FunctionName: string): void; - - /** Adds a named range to the NamedRanges collection - * @param {string} pass the namedRange's name - * @param {string} pass the cell range of NamedRange - * @returns {void} - */ - addNamedRange(Name: string, cellRange: string): void; - - /** Accepts a possible parsed formula and returns the calculated value without quotes. - * @param {string} pass the cell range to adjust its range - * @returns {string} - */ - adjustRangeArg(Name: string): string; - - /** When a formula cell changes, call this method to clear it from its dependent cells. - * @param {string} pass the changed cell address - * @returns {void} - */ - clearFormulaDependentCells(Cell: string): void; - - /** Call this method to clear whether an exception was raised during the computation of a library function. - * @returns {void} - */ - clearLibraryComputationException(): void; - - /** Get the column index from a cell reference passed in. - * @param {string} pass the cell address - * @returns {void} - */ - colIndex(Cell: string): void; - - /** Evaluates a parsed formula. - * @param {string} pass the parsed formula - * @returns {string} - */ - computedValue(Formula: string): string; - - /** Evaluates a parsed formula. - * @param {string} pass the parsed formula - * @returns {string} - */ - computeFormula(Formula: string): string; -} -export module Calculate{ - -export interface Model { -} -} - -class CheckBox extends ej.Widget { - static fn: CheckBox; - constructor(element: JQuery, options?: CheckBox.Model); - constructor(element: Element, options?: CheckBox.Model); - static Locale: any; - model:CheckBox.Model; - defaults:CheckBox.Model; - - /** Destroy the CheckBox widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Disable the CheckBox to prevent all user interactions. - * @returns {void} - */ - disable(): void; - - /** To enable the CheckBox - * @returns {void} - */ - enable(): void; - - /** To Check the status of CheckBox - * @returns {boolean} - */ - isChecked(): boolean; -} -export module CheckBox{ - -export interface Model { - - /** Specifies whether CheckBox has to be in checked or not. We can also specify array of string as value for this property. If any of the value in the specified array matches the value of the textbox, then it will be considered as checked. It will be useful in MVVM binding, specify array type to identify the values of the checked CheckBoxes. - * @Default {false} - */ - checked?: boolean|string[]; - - /** Specifies the State of CheckBox.See below to get available CheckState - * @Default {null} - */ - checkState?: ej.CheckState|string; - - /** Sets the root CSS class for CheckBox theme, which is used customize. - */ - cssClass?: string; - - /** Specifies the checkbox control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the persist property for CheckBox while initialization. The persist API save current model value to browser cookies for state maintains. While refreshing the CheckBox control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specify the Right to Left direction to Checkbox - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the enable or disable Tri-State for checkbox control. - * @Default {false} - */ - enableTriState?: boolean; - - /** It allows to define the characteristics of the CheckBox control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specified value to be added an id attribute of the CheckBox. - * @Default {null} - */ - id?: string; - - /** Specify the prefix value of id to be added before the current id of the CheckBox. - * @Default {ej} - */ - idPrefix?: string; - - /** Specifies the name attribute of the CheckBox. - * @Default {null} - */ - name?: string; - - /** Displays rounded corner borders to CheckBox - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the CheckBox.See below to know available CheckboxSize - * @Default {small} - */ - size?: ej.CheckboxSize|string; - - /** Specifies the text content to be displayed for CheckBox. - */ - text?: string; - - /** Set the jQuery validation error message in CheckBox. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules in CheckBox. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value attribute of the CheckBox. - * @Default {null} - */ - value?: string; - - /** Fires before the CheckBox is going to changed its state successfully */ - beforeChange? (e: BeforeChangeEventArgs): void; - - /** Fires when the CheckBox state is changed successfully */ - change? (e: ChangeEventArgs): void; - - /** Fires when the CheckBox state is created successfully */ - create? (e: CreateEventArgs): void; - - /** Fires when the CheckBox state is destroyed successfully */ - destroy? (e: DestroyEventArgs): void; -} - -export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event model values - */ - event?: any; - - /** returns the status whether the element is checked or not. - */ - isChecked?: boolean; -} - -export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event arguments - */ - event?: any; - - /** returns the status whether the element is checked or not. - */ - isChecked?: boolean; - - /** returns the state of the checkbox - */ - checkState?: string; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the CheckBox model - */ - model?: ej.CheckBox.Model; - - /** returns the name of the event - */ - type?: string; -} -} -enum CheckState -{ -//string -Uncheck, -//string -Check, -//string -Indeterminate, -} -enum CheckboxSize -{ -//Displays the CheckBox in medium size -Medium, -//Displays the CheckBox in small size -Small, -} - -class ColorPicker extends ej.Widget { - static fn: ColorPicker; - constructor(element: JQuery, options?: ColorPicker.Model); - constructor(element: Element, options?: ColorPicker.Model); - static Locale: any; - model:ColorPicker.Model; - defaults:ColorPicker.Model; - - /** Disables the color picker control - * @returns {void} - */ - disable(): void; - - /** Enable the color picker control - * @returns {void} - */ - enable(): void; - - /** Gets the selected color in RGB format - * @returns {any} - */ - getColor(): any; - - /** Gets the selected color value as string - * @returns {string} - */ - getValue(): string; - - /** To Convert color value from hexCode to RGB - * @param {string} Specified HEX code converted to RGB - * @returns {any} - */ - hexCodeToRGB(colorCode: string): any; - - /** Hides the ColorPicker popup, if in opened state. - * @returns {void} - */ - hide(): void; - - /** Convert color value from HSV to RGB - * @param {any} Specified HSV code converted to RGB - * @returns {any} - */ - HSVToRGB(HSV: any): any; - - /** Convert color value from RGB to HEX - * @param {any} Specified RGB code converted to HEX code - * @returns {string} - */ - RGBToHEX(RGB: any): string; - - /** Convert color value from RGB to HSV - * @param {any} Specified RGB code converted to HSV code - * @returns {any} - */ - RGBToHSV(RGB: any): any; - - /** Open the ColorPicker popup. - * @returns {void} - */ - show(): void; -} -export module ColorPicker{ - -export interface Model { - - /** The ColorPicker control allows to define the customized text to displayed in button elements. Using the property to achieve the customized culture values. - * @Default {{ apply: Apply, cancel: Cancel, swatches: Swatches }} - */ - buttonText?: ButtonText; - - /** Allows to change the mode of the button. Please refer below to know available button mode - * @Default {ej.ButtonMode.Split} - */ - buttonMode?: ej.ButtonMode|string; - - /** Specifies the number of columns to be displayed color palette model. - * @Default {10} - */ - columns?: number|string; - - /** This property allows you to customize its appearance using user-defined CSS and custom skin options such as colors and backgrounds. - */ - cssClass?: string; - - /** This property allows to define the custom colors in the palette model.Custom palettes are created by passing a comma delimited string of HEX values or an array of colors. - * @Default {empty} - */ - custom?: Array; - - /** This property allows to embed the popup in the order of DOM element flow . When we set the value as true, the color picker popup is always in visible state. - * @Default {false} - */ - displayInline?: boolean; - - /** This property allows to change the control in enabled or disabled state. - * @Default {true} - */ - enabled?: boolean; - - /** This property allows to enable or disable the opacity slider in the color picker control - * @Default {true} - */ - enableOpacity?: boolean; - - /** It allows to define the characteristics of the ColorPicker control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Defines the localized text values in button and tooltip. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the model type to be rendered initially in the color picker control. See below to get available ModelType - * @Default {ej.ColorPicker.ModelType.Default} - */ - modelType?: ej.ColorPicker.ModelType|string; - - /** This property allows to change the opacity value .The selected color opacity will be adjusted by using this opacity value. - * @Default {100} - */ - opacityValue?: number|string; - - /** Specifies the palette type to be displayed at initial time in palette model.There two types of palette model available in ColorPicker control. See below available Palette - * @Default {ej.ColorPicker.Palette.BasicPalette} - */ - palette?: ej.ColorPicker.Palette|string; - - /** This property allows to define the preset model to be rendered initially in palette type.It consists of 12 different types of presets. Each presets have 50 colors. See below available Presets - * @Default {ej.ColorPicker.Presets.Basic} - */ - presetType?: ej.ColorPicker.Presets|string; - - /** Allows to show/hides the apply and cancel buttons in ColorPicker control - * @Default {true} - */ - showApplyCancel?: boolean; - - /** Allows to show/hides the clear button in ColorPicker control - * @Default {true} - */ - showClearButton?: boolean; - - /** This property allows to provides live preview support for current cursor selection color and selected color. - * @Default {true} - */ - showPreview?: boolean; - - /** This property allows to store the color values in custom list.The ColorPicker will keep up to 11 colors in a custom list.By clicking the add button, the selected color from picker or palette will get added in the recent color list. - * @Default {false} - */ - showRecentColors?: boolean; - - /** Allows to show/hides the switcher button in ColorPicker control.It helps to switch palette or picker mode in colorpicker. - * @Default {true} - */ - showSwitcher?: boolean; - - /** This property allows to shows tooltip to notify the slider value in color picker control. - * @Default {false} - */ - showTooltip?: boolean; - - /** Specifies the toolIcon to be displayed in dropdown control color area. - * @Default {null} - */ - toolIcon?: string; - - /** This property allows to define the customized text or content to displayed when mouse over the following elements. This property also allows to use the culture values. - * @Default {{ switcher: Switcher, addbutton: Add Color, basic: Basic, monochrome: Mono Chrome, flatcolors: Flat Color, seawolf: Sea Wolf, webcolors: Web Colors, sandy: Sandy, pinkshades: Pink Shades, misty: Misty, citrus: Citrus, vintage: Vintage, moonlight: Moon Light, candycrush: Candy Crush, currentcolor: Current Color, selectedcolor: Selected Color }} - */ - tooltipText?: TooltipText; - - /** Specifies the color value for color picker control, the value is in hexadecimal form with prefix of "#". - * @Default {null} - */ - value?: string; - - /** Fires after Color value has been changed successfully.If the user want to perform any operation after the color value changed then the user can make use of this change event. */ - change? (e: ChangeEventArgs): void; - - /** Fires after closing the color picker popup. */ - close? (e: CloseEventArgs): void; - - /** Fires after Color picker control is created. If the user want to perform any operation after the color picker control creation then the user can make use of this create event. */ - create? (e: CreateEventArgs): void; - - /** Fires after Color picker control is destroyed. If the user want to perform any operation after the color picker control destroyed then the user can make use of this destroy event. */ - destroy? (e: DestroyEventArgs): void; - - /** Fires after opening the color picker popup */ - open? (e: OpenEventArgs): void; - - /** Fires after Color value has been selected successfully. If the user want to perform any operation after the color value selected then the user can make use of this select event. */ - select? (e: SelectEventArgs): void; -} + /** Sets the tooltip text for the citrus preset. + */ + citrus?: string; -export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Sets the tooltip text for the vintage preset. + */ + vintage?: string; - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; + /** Sets the tooltip text for the moon light preset. + */ + moonlight?: string; - /** returns the name of the event - */ - type?: string; + /** Sets the tooltip text for the candy crush preset. + */ + candycrush?: string; - /** return the changed color value - */ - value?: string; -} + /** Sets the tooltip text for the current color area. + */ + currentcolor?: string; -export interface CloseEventArgs { + /** Sets the tooltip text for the selected color area. + */ + selectedcolor?: string; + } - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + enum ModelType { - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; + ///support palette type mode in color picker. + Palette, - /** returns the name of the event - */ - type?: string; -} + ///support palette type mode in color picker. + Picker + } -export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + enum Palette { - /** returns the color picker model - */ - model?: any; + ///used to show the basic palette + BasicPalette, - /** returns the name of the event - */ - type?: string; -} + ///used to show the custompalette + CustomPalette + } -export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + enum Presets { - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; + ///used to show the basic presets + Basic, - /** returns the name of the event - */ - type?: string; -} + ///used to show the CandyCrush colors presets + CandyCrush, -export interface OpenEventArgs { + ///used to show the Citrus colors presets + Citrus, - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///used to show the FlatColors presets + FlatColors, - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; + ///used to show the Misty presets + Misty, - /** returns the name of the event - */ - type?: string; -} + ///used to show the MoonLight presets + MoonLight, + + ///used to show the PinkShades presets + PinkShades, -export interface SelectEventArgs { + ///used to show the Sandy presets + Sandy, - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///used to show the Seawolf presets + SeaWolf, + + ///used to show the Vintage presets + Vintage, + + ///used to show the WebColors presets + WebColors + } + + } + enum ButtonMode { + //Displays the button in split mode + Split, + //Displays the button in Dropdown mode + Dropdown, + } + + class FileExplorer extends ej.Widget { + static fn: FileExplorer; + constructor(element: JQuery | Element, options?: FileExplorer.Model); + static Locale: any; + model: FileExplorer.Model; + defaults: FileExplorer.Model; + + /** Refresh the size of FileExplorer control. + * @returns {void} + */ + adjustSize(): void; + + /** Disable the particular context menu item. + * @param {string|HTMLElement} Id of the menu item/ Menu element to be disabled + * @returns {void} + */ + disableMenuItem(item: string | HTMLElement): void; + + /** Disable the particular toolbar item. + * @param {string|HTMLElement} Id of the toolbar item/ Tool item element to be disabled + * @returns {void} + */ + disableToolbarItem(item: string | HTMLElement): void; + + /** Enable the particular context menu item. + * @param {string|HTMLElement} Id of the menu item/ Menu element to be Enabled + * @returns {void} + */ + enableMenuItem(item: string | HTMLElement): void; + + /** Enable the particular toolbar item + * @param {string|HTMLElement} Id of the tool item/ Tool item element to be Enabled + * @returns {void} + */ + enableToolbarItem(item: string | HTMLElement): void; + + /** Refresh the content of the selected folder in FileExplorer control. + * @returns {void} + */ + refresh(): void; + + /** Remove the particular toolbar item. + * @param {string|HTMLElement} Id of the tool item/ tool item element to be removed + * @returns {void} + */ + removeToolbarItem(item: string | HTMLElement): void; + } + export namespace FileExplorer { + + export interface Model { + + /** Sets the URL of server side AJAX handling method that handles file operation like Read, Remove, Rename, Create, Upload, Download, Copy and Move in FileExplorer. + */ + ajaxAction?: string; + + /** Specifies the data type of server side AJAX handling method. + * @Default {json} + */ + ajaxDataType?: string; + + /** By using ajaxSettings property, you can customize the AJAX configurations. Normally you can customize the following option in AJAX handling data, URL, type, async, contentType, dataType and + * success. For upload, download and getImage API, you can only customize URL. + * @Default {{ read: {}, createFolder: {}, remove: {}, rename: {}, paste: {}, getDetails: {}, download: {}, upload: {}, getImage: {}, search: {}}} + */ + ajaxSettings?: any; + + /** The FileExplorer allows to move the files from one folder to another folder of FileExplorer by using drag and drop option. Also it supports to upload a file by dragging it + * from windows explorer to the necessary folder of ejFileExplorer. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for FileExplorer actions. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** The FileExplorer allows to select multiple files by enabling the allowMultiSelection property. You can perform multi selection by pressing the Ctrl key or Shift key. + * @Default {true} + */ + allowMultiSelection?: boolean; + + /** By using the contextMenuSettings property, you can customize the ContextMenu in the FileExplorer control. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Sets the root class for FileExplorer theme. This cssClass API allows to use custom skinning option for File Explorer control. + * By defining the root class by using this API, you have to include this root class in CSS. + */ + cssClass?: string; + + /** Specify the enablePersistence to FileExplorer to save the current model value in browser cookies for state maintains. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Enables or disables the resize support in FileExplorer control. + * @Default {false} + */ + enableResize?: boolean; + + /** Enables or disables the Right to Left alignment support in FileExplorer control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Enables or disables the thumbnail image compression option in FileExplorer control. By enabling this option, you can reduce the thumbnail image size while loading. + * @Default {false} + */ + enableThumbnailCompress?: boolean; + + /** Allows specified type of files only to display in FileExplorer control. + * @Default {.} + */ + fileTypes?: string; + + /** By using filterSettings property, you can customize the search functionality of the search bar in FileExplorer control. + */ + filterSettings?: FilterSettings; + + /** By using the gridSettings property, you can customize the grid behavior in the FileExplorer control. + */ + gridSettings?: GridSettings; + + /** Specifies the height of FileExplorer control. + * @Default {400} + */ + height?: string | number; + + /** Enables or disables the responsive support for FileExplorer control during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Sets the file view type. There are three view types available such as Grid, Tile and Large icons. See layoutType. + * @Default {ej.FileExplorer.layoutType.Grid} + */ + layout?: ej.FileExplorer.layoutType | string; + + /** Sets the culture in FileExplorer. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum height of FileExplorer control. + * @Default {null} + */ + maxHeight?: string | number; + + /** Sets the maximum width of FileExplorer control. + * @Default {null} + */ + maxWidth?: string | number; + + /** Sets the minimum height of FileExplorer control. + * @Default {250px} + */ + minHeight?: string | number; + + /** Sets the minimum width of FileExplorer control. + * @Default {400px} + */ + minWidth?: string | number; + + /** The property path denotes the filesystem path that are to be explored. The path for the filesystem can be physical path or relative path, + * but it has to be relevant to where the Web API is hosted. + */ + path?: string; + + /** The selectedFolder is used to select the specified folder of FileExplorer control. + */ + selectedFolder?: string; + + /** The selectedItems is used to select the specified items (file, folder) of FileExplorer control. + */ + selectedItems?: string | any[]; + + /** Enables or disables the checkbox option in FileExplorer control. + * @Default {true} + */ + showCheckbox?: boolean; + + /** Enables or disables the context menu option in FileExplorer control. + * @Default {true} + */ + showContextMenu?: boolean; + + /** Enables or disables the footer in FileExplorer control. The footer element displays the details of the current selected files and folders. + * And also the footer having the switcher to change the layout view. + * @Default {true} + */ + showFooter?: boolean; + + /** FileExplorer control is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** FileExplorer control is rendered with thumbnail preview of images in Tile and LargeIcons layout when this property set to true. + * @Default {true} + */ + showThumbnail?: boolean; + + /** Shows or disables the toolbar in FileExplorer control. + * @Default {true} + */ + showToolbar?: boolean; - /** returns the color picker model - */ - model?: ej.ColorPicker.Model; + /** Enables or disables the navigation pane in FileExplorer control. The navigation pane contains a tree view element that displays all the folders from the filesystem in a hierarchical manner. + * This is useful to a quick navigation of any folder in the filesystem. + * @Default {true} + */ + showNavigationPane?: boolean; - /** returns the name of the event - */ - type?: string; + /** The tools property is used to configure and group required toolbar items in FileExplorer control. + * @Default {{ creation: [NewFolder], navigation: [Back, Forward, Upward], addressBar: [Addressbar], editing: [Refresh, Upload, Delete, Rename, Download], copyPaste: [Cut, Copy, Paste], + * getProperties: [Details], searchBar: [Searchbar], layout: [Layout], sortBy: [SortBy]}} + */ + tools?: any; - /** return the selected color value - */ - value?: string; -} + /** The toolsList property is used to arrange the toolbar items in the FileExplorer control. + * @Default {[layout, creation, navigation, addressBar, editing, copyPaste, sortBy, getProperties, searchBar]} + */ + toolsList?: any[]; -export interface ButtonText { + /** Gets or sets an object that indicates whether to customize the upload behavior in the FileExplorer. + */ + uploadSettings?: UploadSettings; - /** Sets the text for the apply button. - */ - apply?: string; + /** Specifies the width of FileExplorer control. + * @Default {850} + */ + width?: string | number; - /** Sets the text for the cancel button. - */ - cancel?: string; + /** Fires before the AJAX request is performed. */ + beforeAjaxRequest?(e: BeforeAjaxRequestEventArgs): void; - /** Sets the header text for the swatches area. - */ - swatches?: string; -} + /** Fires before downloading the files. */ + beforeDownload?(e: BeforeDownloadEventArgs): void; -export interface TooltipText { + /** Fires before getting a requested image from server. Also this event will be triggered when you have enabled thumbnail image compression option in FileExplorer. + * Using this event, you can customize the image compression size. + */ + beforeGetImage?(e: BeforeGetImageEventArgs): void; - /** Sets the tooltip text for the switcher button. - */ - switcher?: string; + /** Fires before files or folders open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** Sets the tooltip text for the add button. - */ - addbutton?: string; + /** Fires before uploading the files. */ + beforeUpload?(e: BeforeUploadEventArgs): void; - /** Sets the tooltip text for the basic preset. - */ - basic?: string; + /** Fires when FileExplorer control was created */ + create?(e: CreateEventArgs): void; - /** Sets the tooltip text for the mono chrome preset. - */ - monochrome?: string; + /** Fires when file or folder is copied successfully. */ + copy?(e: CopyEventArgs): void; - /** Sets the tooltip text for the flat colors preset. - */ - flatcolors?: string; + /** Fires when new folder is created successfully in file system. */ + createFolder?(e: CreateFolderEventArgs): void; - /** Sets the tooltip text for the sea wolf preset. - */ - seawolf?: string; + /** Fires when file or folder is cut successfully. */ + cut?(e: CutEventArgs): void; - /** Sets the tooltip text for the web colors preset. - */ - webcolors?: string; + /** Fires when the FileExplorer is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Sets the tooltip text for the sandy preset. - */ - sandy?: string; + /** Fires when the files or directory has been started to drag over on the FileExplorer */ + dragStart?(e: DragStartEventArgs): void; - /** Sets the tooltip text for the pink shades preset. - */ - pinkshades?: string; + /** Fires when the files or directory is dragging over on the FileExplorer. */ + drag?(e: DragEventArgs): void; - /** Sets the tooltip text for the misty preset. - */ - misty?: string; + /** Fires when the files or directory has been stopped to drag over on FileExplorer */ + dragStop?(e: DragStopEventArgs): void; - /** Sets the tooltip text for the citrus preset. - */ - citrus?: string; + /** Fires when the files or directory is dropped to the target folder of FileExplorer */ + drop?(e: DropEventArgs): void; - /** Sets the tooltip text for the vintage preset. - */ - vintage?: string; + /** Fires after loading the requested image from server. Using this event, you can get the details of loaded image. */ + getImage?(e: GetImageEventArgs): void; - /** Sets the tooltip text for the moon light preset. - */ - moonlight?: string; + /** Fires when keydown in FileExplorer control. */ + keydown?(e: KeydownEventArgs): void; - /** Sets the tooltip text for the candy crush preset. - */ - candycrush?: string; + /** Fires when the file view type is changed. */ + layoutChange?(e: LayoutChangeEventArgs): void; - /** Sets the tooltip text for the current color area. - */ - currentcolor?: string; + /** Fires when before the ContextMenu opening. */ + menuBeforeOpen?(e: MenuBeforeOpenEventArgs): void; - /** Sets the tooltip text for the selected color area. - */ - selectedcolor?: string; -} + /** Fires when click the ContextMenu item. */ + menuClick?(e: MenuClickEventArgs): void; -enum ModelType{ + /** Fires when ContextMenu is successfully opened. */ + menuOpen?(e: MenuOpenEventArgs): void; - ///support palette type mode in color picker. - Palette, + /** Fires when files are successfully opened. */ + open?(e: OpenEventArgs): void; - ///support palette type mode in color picker. - Picker -} + /** Fires when a file or folder is pasted successfully. */ + paste?(e: PasteEventArgs): void; + /** Fires when file or folder is deleted successfully. */ + remove?(e: RemoveEventArgs): void; -enum Palette{ + /** Fires when resizing is performed for FileExplorer. */ + resize?(e: ResizeEventArgs): void; - ///used to show the basic palette - BasicPalette, + /** Fires when resizing is started for FileExplorer. */ + resizeStart?(e: ResizeStartEventArgs): void; - ///used to show the custompalette - CustomPalette -} + /** Fires this event when the resizing is stopped for FileExplorer. */ + resizeStop?(e: ResizeStopEventArgs): void; + /** Fires when the items from grid view or tile view of FileExplorer control is selected. */ + select?(e: SelectEventArgs): void; -enum Presets{ + /** Triggered when refresh the template column elements in the grid view of FileExplorer control. */ + templateRefresh?(e: TemplateRefreshEventArgs): void; - ///used to show the basic presets - Basic, + /** Fires when the items from grid view or tile view or large icons view of FileExplorer control is unselected. */ + unselect?(e: UnselectEventArgs): void; + } - ///used to show the CandyCrush colors presets - CandyCrush, + export interface BeforeAjaxRequestEventArgs { - ///used to show the Citrus colors presets - Citrus, + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - ///used to show the FlatColors presets - FlatColors, + /** returns the AJAX request data + */ + data?: any; - ///used to show the Misty presets - Misty, + /** returns the FileExplorer model + */ + model?: ej.FileExplorer.Model; - ///used to show the MoonLight presets - MoonLight, - - ///used to show the PinkShades presets - PinkShades, + /** returns the name of the event + */ + type?: string; + } - ///used to show the Sandy presets - Sandy, + export interface BeforeDownloadEventArgs { - ///used to show the Seawolf presets - SeaWolf, - - ///used to show the Vintage presets - Vintage, - - ///used to show the WebColors presets - WebColors -} - -} -enum ButtonMode -{ -//Displays the button in split mode -Split, -//Displays the button in Dropdown mode -Dropdown, -} - -class FileExplorer extends ej.Widget { - static fn: FileExplorer; - constructor(element: JQuery, options?: FileExplorer.Model); - constructor(element: Element, options?: FileExplorer.Model); - static Locale: any; - model:FileExplorer.Model; - defaults:FileExplorer.Model; - - /** Refresh the size of FileExplorer control. - * @returns {void} - */ - adjustSize(): void; - - /** Disable the particular context menu item. - * @param {string|HTMLElement} Id of the menu item/ Menu element to be disabled - * @returns {void} - */ - disableMenuItem(item: string|HTMLElement): void; - - /** Disable the particular toolbar item. - * @param {string|HTMLElement} Id of the toolbar item/ Tool item element to be disabled - * @returns {void} - */ - disableToolbarItem(item: string|HTMLElement): void; - - /** Enable the particular context menu item. - * @param {string|HTMLElement} Id of the menu item/ Menu element to be Enabled - * @returns {void} - */ - enableMenuItem(item: string|HTMLElement): void; - - /** Enable the particular toolbar item - * @param {string|HTMLElement} Id of the tool item/ Tool item element to be Enabled - * @returns {void} - */ - enableToolbarItem(item: string|HTMLElement): void; - - /** Refresh the content of the selected folder in FileExplorer control. - * @returns {void} - */ - refresh(): void; - - /** Remove the particular toolbar item. - * @param {string|HTMLElement} Id of the tool item/ tool item element to be removed - * @returns {void} - */ - removeToolbarItem(item: string|HTMLElement): void; -} -export module FileExplorer{ - -export interface Model { - - /** Sets the URL of server side AJAX handling method that handles file operation like Read, Remove, Rename, Create, Upload, Download, Copy and Move in FileExplorer. - */ - ajaxAction?: string; - - /** Specifies the data type of server side AJAX handling method. - * @Default {json} - */ - ajaxDataType?: string; - - /** By using ajaxSettings property, you can customize the AJAX configurations. Normally you can customize the following option in AJAX handling data, URL, type, async, contentType, dataType and success. For upload, download and getImage API, you can only customize URL. - * @Default {{ read: {}, createFolder: {}, remove: {}, rename: {}, paste: {}, getDetails: {}, download: {}, upload: {}, getImage: {}, search: {}}} - */ - ajaxSettings?: any; - - /** The FileExplorer allows to move the files from one folder to another folder of FileExplorer by using drag and drop option. Also it supports to upload a file by dragging it from windows explorer to the necessary folder of ejFileExplorer. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for FileExplorer actions. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** The FileExplorer allows to select multiple files by enabling the allowMultiSelection property. You can perform multi selection by pressing the Ctrl key or Shift key. - * @Default {true} - */ - allowMultiSelection?: boolean; - - /** By using the contextMenuSettings property, you can customize the ContextMenu in the FileExplorer control. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Sets the root class for FileExplorer theme. This cssClass API allows to use custom skinning option for File Explorer control. By defining the root class by using this API, you have to include this root class in CSS. - */ - cssClass?: string; - - /** Specify the enablePersistence to FileExplorer to save the current model value in browser cookies for state maintains. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Enables or disables the resize support in FileExplorer control. - * @Default {false} - */ - enableResize?: boolean; - - /** Enables or disables the Right to Left alignment support in FileExplorer control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Enables or disables the thumbnail image compression option in FileExplorer control. By enabling this option, you can reduce the thumbnail image size while loading. - * @Default {false} - */ - enableThumbnailCompress?: boolean; - - /** Allows specified type of files only to display in FileExplorer control. - * @Default {.} - */ - fileTypes?: string; - - /** By using filterSettings property, you can customize the search functionality of the search bar in FileExplorer control. - */ - filterSettings?: FilterSettings; - - /** By using the gridSettings property, you can customize the grid behavior in the FileExplorer control. - */ - gridSettings?: GridSettings; - - /** Specifies the height of FileExplorer control. - * @Default {400} - */ - height?: string|number; - - /** Enables or disables the responsive support for FileExplorer control during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Sets the file view type. There are three view types available such as Grid, Tile and Large icons. See layoutType. - * @Default {ej.FileExplorer.layoutType.Grid} - */ - layout?: ej.FileExplorer.layoutType|string; - - /** Sets the culture in FileExplorer. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum height of FileExplorer control. - * @Default {null} - */ - maxHeight?: string|number; - - /** Sets the maximum width of FileExplorer control. - * @Default {null} - */ - maxWidth?: string|number; - - /** Sets the minimum height of FileExplorer control. - * @Default {250px} - */ - minHeight?: string|number; - - /** Sets the minimum width of FileExplorer control. - * @Default {400px} - */ - minWidth?: string|number; - - /** The property path denotes the filesystem path that are to be explored. The path for the filesystem can be physical path or relative path, but it has to be relevant to where the Web API is hosted. - */ - path?: string; - - /** The selectedFolder is used to select the specified folder of FileExplorer control. - */ - selectedFolder?: string; - - /** The selectedItems is used to select the specified items (file, folder) of FileExplorer control. - */ - selectedItems?: string|Array; - - /** Enables or disables the checkbox option in FileExplorer control. - * @Default {true} - */ - showCheckbox?: boolean; - - /** Enables or disables the context menu option in FileExplorer control. - * @Default {true} - */ - showContextMenu?: boolean; - - /** Enables or disables the footer in FileExplorer control. The footer element displays the details of the current selected files and folders. And also the footer having the switcher to change the layout view. - * @Default {true} - */ - showFooter?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** FileExplorer control is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** returns the downloaded file names. + */ + files?: string[]; - /** FileExplorer control is rendered with thumbnail preview of images in Tile and LargeIcons layout when this property set to true. - * @Default {true} - */ - showThumbnail?: boolean; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Shows or disables the toolbar in FileExplorer control. - * @Default {true} - */ - showToolbar?: boolean; + /** returns the path of currently opened item. + */ + path?: string; - /** Enables or disables the navigation pane in FileExplorer control. The navigation pane contains a tree view element that displays all the folders from the filesystem in a hierarchical manner. This is useful to a quick navigation of any folder in the filesystem. - * @Default {true} - */ - showNavigationPane?: boolean; + /** returns the selected item details. + */ + selectedItems?: any; - /** The tools property is used to configure and group required toolbar items in FileExplorer control. - * @Default {{ creation: [NewFolder], navigation: [Back, Forward, Upward], addressBar: [Addressbar], editing: [Refresh, Upload, Delete, Rename, Download], copyPaste: [Cut, Copy, Paste], getProperties: [Details], searchBar: [Searchbar], layout: [Layout], sortBy: [SortBy]}} - */ - tools?: any; + /** returns the name of the event. + */ + type?: string; + } - /** The toolsList property is used to arrange the toolbar items in the FileExplorer control. - * @Default {[layout, creation, navigation, addressBar, editing, copyPaste, sortBy, getProperties, searchBar]} - */ - toolsList?: Array; + export interface BeforeGetImageEventArgs { - /** Gets or sets an object that indicates whether to customize the upload behavior in the FileExplorer. - */ - uploadSettings?: UploadSettings; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Specifies the width of FileExplorer control. - * @Default {850} - */ - width?: string|number; + /** enable or disable the image compress option. + */ + canCompress?: boolean; - /** Fires before the AJAX request is performed. */ - beforeAjaxRequest? (e: BeforeAjaxRequestEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires before downloading the files. */ - beforeDownload? (e: BeforeDownloadEventArgs): void; + /** returns the expected image size. + */ + size?: any; - /** Fires before getting a requested image from server. Also this event will be triggered when you have enabled thumbnail image compression option in FileExplorer.Using this event, you can customize the image compression size. */ - beforeGetImage? (e: BeforeGetImageEventArgs): void; + /** returns the selected item details. + */ + selectedItems?: any; - /** Fires before files or folders open. */ - beforeOpen? (e: BeforeOpenEventArgs): void; + /** returns the name of the event. + */ + type?: string; + } - /** Fires before uploading the files. */ - beforeUpload? (e: BeforeUploadEventArgs): void; + export interface BeforeOpenEventArgs { - /** Fires when FileExplorer control was created */ - create? (e: CreateEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when file or folder is copied successfully. */ - copy? (e: CopyEventArgs): void; + /** returns the opened item type. + */ + itemType?: string; - /** Fires when new folder is created successfully in file system. */ - createFolder? (e: CreateFolderEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires when file or folder is cut successfully. */ - cut? (e: CutEventArgs): void; + /** returns the path of currently opened item. + */ + path?: string; - /** Fires when the FileExplorer is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** returns the selected item details. + */ + selectedItems?: any; - /** Fires when the files or directory has been started to drag over on the FileExplorer */ - dragStart? (e: DragStartEventArgs): void; + /** returns the name of the event. + */ + type?: string; + } - /** Fires when the files or directory is dragging over on the FileExplorer. */ - drag? (e: DragEventArgs): void; + export interface BeforeUploadEventArgs { - /** Fires when the files or directory has been stopped to drag over on FileExplorer */ - dragStop? (e: DragStopEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when the files or directory is dropped to the target folder of FileExplorer */ - drop? (e: DropEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires after loading the requested image from server. Using this event, you can get the details of loaded image. */ - getImage? (e: GetImageEventArgs): void; + /** returns the path of currently opened item. + */ + path?: string; - /** Fires when keydown in FileExplorer control. */ - keydown? (e: KeydownEventArgs): void; + /** returns the selected item details. + */ + selectedItems?: any; - /** Fires when the file view type is changed. */ - layoutChange? (e: LayoutChangeEventArgs): void; + /** returns the upload item details. + */ + uploadItemDetails?: any; - /** Fires when before the ContextMenu opening. */ - menuBeforeOpen? (e: MenuBeforeOpenEventArgs): void; + /** returns the name of the event. + */ + type?: string; + } - /** Fires when click the ContextMenu item. */ - menuClick? (e: MenuClickEventArgs): void; + export interface CreateEventArgs { - /** Fires when ContextMenu is successfully opened. */ - menuOpen? (e: MenuOpenEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when files are successfully opened. */ - open? (e: OpenEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires when a file or folder is pasted successfully. */ - paste? (e: PasteEventArgs): void; + /** returns the name of the event. + */ + type?: string; + } - /** Fires when file or folder is deleted successfully. */ - remove? (e: RemoveEventArgs): void; + export interface CopyEventArgs { - /** Fires when resizing is performed for FileExplorer. */ - resize? (e: ResizeEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when resizing is started for FileExplorer. */ - resizeStart? (e: ResizeStartEventArgs): void; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Fires this event when the resizing is stopped for FileExplorer. */ - resizeStop? (e: ResizeStopEventArgs): void; + /** returns the name of copied file/folder. + */ + name?: string[]; - /** Fires when the items from grid view or tile view of FileExplorer control is selected. */ - select? (e: SelectEventArgs): void; + /** returns the selected item details. + */ + selectedItems?: any; - /** Triggered when refresh the template column elements in the grid view of FileExplorer control. */ - templateRefresh? (e: TemplateRefreshEventArgs): void; + /** returns the source path. + */ + sourcePath?: string; - /** Fires when the items from grid view or tile view or large icons view of FileExplorer control is unselected. */ - unselect? (e: UnselectEventArgs): void; -} + /** returns the name of the event. + */ + type?: string; + } -export interface BeforeAjaxRequestEventArgs { + export interface CreateFolderEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the AJAX request data - */ - data?: any; + /** returns the AJAX response data + */ + data?: any; - /** returns the FileExplorer model - */ - model?: ej.FileExplorer.Model; + /** returns the FileExplorer model + */ + model?: ej.FileExplorer.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the selected item details + */ + selectedItems?: any; -export interface BeforeDownloadEventArgs { + /** returns the name of the event. + */ + type?: string; + } - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface CutEventArgs { - /** returns the downloaded file names. - */ - files?: string[]; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the path of currently opened item. - */ - path?: string; + /** returns the name of moved file or folder. + */ + name?: string[]; - /** returns the selected item details. - */ - selectedItems?: any; + /** returns the selected item details. + */ + selectedItems?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the source path. + */ + sourcePath?: string; -export interface BeforeGetImageEventArgs { + /** returns the name of the event. + */ + type?: string; + } - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface DestroyEventArgs { - /** enable or disable the image compress option. - */ - canCompress?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the expected image size. - */ - size?: any; + /** returns the name of the event. + */ + type?: string; + } - /** returns the selected item details. - */ - selectedItems?: any; + export interface DragStartEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface BeforeOpenEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the opened item type. - */ - itemType?: string; + /** returns the dragging element. + */ + target?: any; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the path of dragging element. + */ + targetPath?: string; - /** returns the path of currently opened item. - */ - path?: string; + /** returns the dragging file details. + */ + selectedItems?: any; + } - /** returns the selected item details. - */ - selectedItems?: any; + export interface DragEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface BeforeUploadEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the target element. + */ + target?: any; - /** returns the path of currently opened item. - */ - path?: string; + /** returns the name of target element. + */ + targetElementName?: string; - /** returns the selected item details. - */ - selectedItems?: any; + /** returns the path of target element. + */ + targetPath?: string; + } - /** returns the upload item details. - */ - uploadItemDetails?: any; + export interface DragStopEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface CreateEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the target element. + */ + target?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the path of target element. + */ + targetPath?: string; -export interface CopyEventArgs { + /** returns the name of target element + */ + targetElementName?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the action, which is performed after dropping the files (upload/ move). + */ + dropAction?: string; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the dragging file details + */ + fileInfo?: any; + } - /** returns the name of copied file/folder. - */ - name?: string[]; + export interface DropEventArgs { - /** returns the selected item details. - */ - selectedItems?: any; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the source path. - */ - sourcePath?: string; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; -export interface CreateFolderEventArgs { + /** returns the target element. + */ + target?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of target folder. + */ + targetFolder?: string; - /** returns the AJAX response data - */ - data?: any; + /** returns the path of target folder. + */ + targetPath?: string; - /** returns the FileExplorer model - */ - model?: ej.FileExplorer.Model; + /** returns the dragging element details. + */ + fileInfo?: any; - /** returns the selected item details - */ - selectedItems?: any; + /** returns the action, which is performed after dropping the files (upload/ move). + */ + dropAction?: string; + } - /** returns the name of the event. - */ - type?: string; -} + export interface GetImageEventArgs { -export interface CutEventArgs { + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** loaded image path. + */ + path?: string; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** loaded image element + */ + element?: any; - /** returns the name of moved file or folder. - */ - name?: string[]; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the selected item details. - */ - selectedItems?: any; + /** original arguments of image load or error event + */ + originalArgs?: any; - /** returns the source path. - */ - sourcePath?: string; + /** returns the action type, which specifies thumbnail preview or opening image. + */ + action?: string; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface DestroyEventArgs { + export interface KeydownEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the downed key keyCode value + */ + keyCode?: number; - /** returns the name of the event. - */ - type?: string; -} + /** returns altKey value. + */ + altKey?: boolean; -export interface DragStartEventArgs { + /** returns shiftKey value. + */ + shiftKey?: boolean; - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns ctrlKey value. + */ + ctrlKey?: boolean; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the event object. + */ + originalArgs?: any; - /** returns the name of the event. - */ - type?: string; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the dragging element. - */ - target?: any; + /** returns the name of the event. + */ + type?: string; + } - /** returns the path of dragging element. - */ - targetPath?: string; + export interface LayoutChangeEventArgs { - /** returns the dragging file details. - */ - selectedItems?: any; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface DragEventArgs { + /** return true when we change the layout via interaction, else false. + */ + isInteraction?: boolean; - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the current view type. + */ + layoutType?: string; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the FileExplorer model. + */ + model?: any; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; + } - /** returns the target element. - */ - target?: any; + export interface MenuBeforeOpenEventArgs { - /** returns the name of target element. - */ - targetElementName?: string; + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the path of target element. - */ - targetPath?: string; -} + /** returns the name of ContextMenu items group. + */ + contextMenu?: string; -export interface DragStopEventArgs { + /** returns the dataSource of ContextMenu. + */ + dataSource?: any[]; - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the element of ContextMenu. + */ + element?: any; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the event of ContextMenu. + */ + events?: any; - /** returns the name of the event. - */ - type?: string; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the target element. - */ - target?: any; + /** returns the target element. + */ + target?: any; - /** returns the path of target element. - */ - targetPath?: string; + /** returns the name of the event. + */ + type?: string; + } - /** returns the name of target element - */ - targetElementName?: string; + export interface MenuClickEventArgs { - /** returns the action, which is performed after dropping the files (upload/ move). - */ - dropAction?: string; + /** returns the ID of clicked ContextMenu item. + */ + ID?: string; - /** returns the dragging file details - */ - fileInfo?: any; -} + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface DropEventArgs { + /** returns the name of ContextMenu items group. + */ + contextMenu?: string; - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the element of clicked ContextMenu item. + */ + element?: any; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the event of ContextMenu. + */ + event?: any; - /** returns the name of the event. - */ - type?: string; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the target element. - */ - target?: any; + /** returns the parent element ID of clicked ContextMenu item. + */ + parentId?: string; - /** returns the name of target folder. - */ - targetFolder?: string; + /** returns the parent element text of clicked ContextMenu item. + */ + parentText?: string; - /** returns the path of target folder. - */ - targetPath?: string; + /** returns the text of clicked ContextMenu item. + */ + text?: string; - /** returns the dragging element details. - */ - fileInfo?: any; + /** returns the name of the event. + */ + type?: string; + } - /** returns the action, which is performed after dropping the files (upload/ move). - */ - dropAction?: string; -} + export interface MenuOpenEventArgs { -export interface GetImageEventArgs { + /** set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of ContextMenu items group. + */ + contextMenu?: string; - /** loaded image path. - */ - path?: string; + /** returns the element of ContextMenu. + */ + element?: any; - /** loaded image element - */ - element?: any; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the target element. + */ + target?: any; - /** original arguments of image load or error event - */ - originalArgs?: any; + /** returns the name of the event. + */ + type?: string; + } - /** returns the action type, which specifies thumbnail preview or opening image. - */ - action?: string; + export interface OpenEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface KeydownEventArgs { + /** returns the opened item type. + */ + itemType?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the downed key keyCode value - */ - keyCode?: number; + /** returns the path of currently opened item. + */ + path?: string; - /** returns altKey value. - */ - altKey?: boolean; + /** returns the selected item details. + */ + selectedItems?: any; - /** returns shiftKey value. - */ - shiftKey?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns ctrlKey value. - */ - ctrlKey?: boolean; + export interface PasteEventArgs { - /** returns the event object. - */ - originalArgs?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of moved/copied file or folder. + */ + name?: string[]; -export interface LayoutChangeEventArgs { + /** returns the selected item details. + */ + selectedItems?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the target folder item details. + */ + targetFolder?: any; - /** return true when we change the layout via interaction, else false. - */ - isInteraction?: boolean; + /** returns the target path. + */ + targetPath?: string; - /** returns the current view type. - */ - layoutType?: string; + /** returns the name of the event. + */ + type?: string; + } - /** returns the FileExplorer model. - */ - model?: any; + export interface RemoveEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface MenuBeforeOpenEventArgs { + /** returns the AJAX response data. + */ + data?: any; - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the name of ContextMenu items group. - */ - contextMenu?: string; + /** returns the names of deleted items. + */ + name?: string; - /** returns the dataSource of ContextMenu. - */ - dataSource?: Array; + /** returns the path of deleted item. + */ + path?: string; - /** returns the element of ContextMenu. - */ - element?: any; + /** returns the removed item details. + */ + selectedItems?: any; - /** returns the event of ContextMenu. - */ - events?: any; + /** returns the name of the event. + */ + type?: string; + } - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + export interface ResizeEventArgs { - /** returns the target element. - */ - target?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} + /** returns the mouse move event args. + */ + event?: any; -export interface MenuClickEventArgs { + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the ID of clicked ContextMenu item. - */ - ID?: string; + /** returns the name of the event. + */ + type?: string; + } - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface ResizeStartEventArgs { - /** returns the name of ContextMenu items group. - */ - contextMenu?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the element of clicked ContextMenu item. - */ - element?: any; + /** returns the mouse down event args. + */ + event?: any; - /** returns the event of ContextMenu. - */ - event?: any; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the name of the event. + */ + type?: string; + } - /** returns the parent element ID of clicked ContextMenu item. - */ - parentId?: string; + export interface ResizeStopEventArgs { - /** returns the parent element text of clicked ContextMenu item. - */ - parentText?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the text of clicked ContextMenu item. - */ - text?: string; + /** returns the mouse leave event args. + */ + event?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; -export interface MenuOpenEventArgs { + /** returns the name of the event. + */ + type?: string; + } - /** set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface SelectEventArgs { - /** returns the name of ContextMenu items group. - */ - contextMenu?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the element of ContextMenu. - */ - element?: any; + /** returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the name of selected items. + */ + name?: string[]; - /** returns the target element. - */ - target?: any; + /** returns the path of selected items. + */ + path?: string; - /** returns the name of the event. - */ - type?: string; -} + /** returns the selected item details + */ + selectedItems?: any; -export interface OpenEventArgs { + /** returns the name of the event. + */ + type?: string; + } - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface TemplateRefreshEventArgs { - /** returns the opened item type. - */ - itemType?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** Returns the cell object. + */ + cell?: ej.FileExplorer.Model; - /** returns the path of currently opened item. - */ - path?: string; + /** Returns the column object. + */ + column?: any; - /** returns the selected item details. - */ - selectedItems?: any; + /** Returns the current row data. + */ + data?: any; - /** returns the name of the event. - */ - type?: string; -} + /** Returns the grid model of FileExplorer. + */ + model?: any; -export interface PasteEventArgs { + /** Returns the current row index. + */ + rowIndex?: number; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } + + export interface UnselectEventArgs { + + /** Returns the FileExplorer model. + */ + model?: ej.FileExplorer.Model; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** Returns the name of unselected item. + */ + name?: string; - /** returns the name of moved/copied file or folder. - */ - name?: string[]; + /** Returns the name of unselected items. + */ + names?: string[]; - /** returns the selected item details. - */ - selectedItems?: any; + /** Returns the type of unselected item. + */ + nodeType?: string; - /** returns the target folder item details. - */ - targetFolder?: any; + /** Returns the path of unselected item. + */ + path?: string; - /** returns the target path. - */ - targetPath?: string; + /** Returns the name of the event. + */ + type?: string; + + /** Returns the unselected item details. + */ + unselectedItem?: any; + + /** Returns the unselected items details. + */ + unselectedItems?: any[]; + } + + export interface ContextMenuSettings { + + /** The items property is used to configure and group the required ContextMenu items in FileExplorer control. + * @Default {{% highlight javascript %}{navbar: [NewFolder, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, Getinfo],cwd: [Refresh, Paste,|, SortBy, |, NewFolder, Upload, |, + * Getinfo],files: [Open, Download, |, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, OpenFolderLocation, Getinfo]}{% endhighlight %}} + */ + items?: any; + + /** The customMenuFields property is used to define custom functionality for custom ContextMenu item's which are defined in items property. + * @Default {[]} + */ + customMenuFields?: any[]; + } + + export interface FilterSettings { + + /** It allows to search the text given in search Textbox in every keyup event. When this property was set as false, searching will works only on Enter key and searchbar blur. + * @Default {true} + */ + allowSearchOnTyping?: boolean; + + /** Enables or disables to perform the filter operation with case sensitive. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** Sets the search filter type. There are several filter types available such as "startswith", "contains", "endswith". See filterType. + * @Default {ej.FileExplorer.filterType.Contains} + */ + filterType?: ej.FilterType | string; + } + + export interface GridSettings { + + /** Allows to Resize the width of the columns by simply click and move the particular column header line. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets an object that indicates to render the grid with specified columns. You can use this property same as the column property in Grid control. + * @Default {[{ field: name, headerText: Name, width: 30% }, { field: dateModified, headerText: Date Modified, width: 30% }, { field: type, headerText: Type, width: 15% }, + * { field: size, headerText: Size, width: 12%, textAlign: right, headerTextAlign: left }]} + */ + columns?: any[]; + } + + export interface UploadSettings { + + /** Specifies the maximum file size allowed to upload. It accepts the value in bytes. + * @Default {31457280} + */ + maxFileSize?: number; + + /** Enables or disables the multiple files upload. When it is enabled, you can upload multiple files at a time and when disabled, you can upload only one file at a time. + * @Default {true} + */ + allowMultipleFile?: boolean; + + /** Enables or disables the auto upload option while uploading files in FileExplorer control. + * @Default {false} + */ + autoUpload?: boolean; + } + + enum layoutType { + + ///Supports to display files in tile view + Tile, + + ///Supports to display files in grid view + Grid, + + ///Supports to display files as large icons + LargeIcons + } + + } + + class DatePicker extends ej.Widget { + static fn: DatePicker; + constructor(element: JQuery | Element, options?: DatePicker.Model); + static Locale: any; + model: DatePicker.Model; + defaults: DatePicker.Model; + + /** Disables the DatePicker control. + * @returns {void} + */ + disable(): void; + + /** Enable the DatePicker control, if it is in disabled state. + * @returns {void} + */ + enable(): void; + + /** Returns the current date value in the DatePicker control. + * @returns {string} + */ + getValue(): string; + + /** Close the DatePicker popup, if it is in opened state. + * @returns {void} + */ + hide(): void; + + /** Opens the DatePicker popup. + * @returns {void} + */ + show(): void; + } + export namespace DatePicker { + + export interface Model { + + /** Used to allow or restrict the editing in DatePicker input field directly. By setting false to this API, You can only pick the date from DatePicker popup. + * @Default {true} + */ + allowEdit?: boolean; + + /** allow or restrict the drill down to multiple levels of view (month/year/decade) in DatePicker calendar + * @Default {true} + */ + allowDrillDown?: boolean; + + /** Disable the list of specified date value. + * @Default {{}} + */ + blackoutDates?: any; + + /** Sets the specified text value to the today button in the DatePicker calendar. + * @Default {Today} + */ + buttonText?: string; + + /** Sets the root CSS class for DatePicker theme, which is used customize. + */ + cssClass?: string; + + /** Formats the value of the DatePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DatePicker. + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Specifies the header format of days in DatePicker calendar. See below to get available Headers options + * @Default {ej.DatePicker.Header.Short} + */ + dayHeaderFormat?: string | ej.DatePicker.Header; + + /** Specifies the navigation depth level in DatePicker calendar. This option is not applied when start level view option is lower than depth level view. + * See below to know available levels in DatePicker Calendar + */ + depthLevel?: string | ej.DatePicker.Level; + + /** Allows to embed the DatePicker calendar in the page. Also associates DatePicker with div element instead of input. + * @Default {false} + */ + displayInline?: boolean; + + /** Enables or disables the animation effect with DatePicker calendar. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Enable or disable the DatePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Sustain the entire widget model of DatePicker even after form post or browser refresh + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays DatePicker calendar along with DatePicker input field in Right to Left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows to enter valid or invalid date in input textbox and indicate as error if it is invalid value, when this API value is set to true. For false value, invalid date is not allowed + * to input field and corrected to valid date automatically, even if invalid date is given. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Used the required fields for special Dates in DatePicker in order to customize the special dates in a calendar. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the header format to be displayed in the DatePicker calendar. + * @Default {MMMM yyyy} + */ + headerFormat?: string; + + /** Specifies the height of the DatePicker input text. + * @Default {28px} + */ + height?: string; + + /** HighlightSection is used to highlight currently selected date's month/week/workdays. See below to get available HighlightSection options + * @Default {none} + */ + highlightSection?: string | ej.DatePicker.HighlightSection; + + /** Weekend dates will be highlighted when this property is set to true. + * @Default {false} + */ + highlightWeekend?: boolean; + + /** Specifies the HTML Attributes of the DatePicker. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Change the DatePicker calendar and date format based on given culture. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the maximum date in the calendar that the user can select. + * @Default {new Date(2099, 11, 31)} + */ + maxDate?: string | Date; + + /** Specifies the minimum date in the calendar that the user can select. + * @Default {new Date(1900, 00, 01)} + */ + minDate?: string | Date; + + /** Allows to toggles the read only state of the DatePicker. When the widget is readOnly, it doesn't allow your input. + * @Default {false} + */ + readOnly?: boolean; + + /** It allow to show/hide the disabled date ranges + * @Default {true} + */ + showDisabledRange?: boolean; + + /** It allows to display footer in DatePicker calendar. + * @Default {true} + */ + showFooter?: boolean; + + /** It allows to display/hides the other months days from the current month calendar in a DatePicker. + * @Default {true} + */ + showOtherMonths?: boolean; + + /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DatePicker calendar popup. + * @Default {true} + */ + showPopupButton?: boolean; + + /** DatePicker input is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Used to show the tooltip when hovering on the days in the DatePicker calendar. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the special dates in DatePicker. + * @Default {null} + */ + specialDates?: any; + + /** Specifies the start day of the week in DatePicker calendar. + * @Default {0} + */ + startDay?: number; + + /** Specifies the start level view in DatePicker calendar. See below available Levels + * @Default {ej.DatePicker.Level.Month} + */ + startLevel?: string | ej.DatePicker.Level; + + /** Specifies the number of months to be navigate for one click of next and previous button in a DatePicker Calendar. + * @Default {1} + */ + stepMonths?: number; + + /** Provides option to customize the tooltip format. + * @Default {ddd MMM dd yyyy} + */ + tooltipFormat?: string; + + /** Sets the jQuery validation support to DatePicker Date value. See validation + * @Default {null} + */ + validationMessage?: any; + + /** Sets the jQuery validation custom rules to the DatePicker. see validation + * @Default {null} + */ + validationRules?: any; + + /** sets or returns the current value of DatePicker + * @Default {null} + */ + value?: string | Date; + + /** Specifies the water mark text to be displayed in input text. + * @Default {Select date} + */ + watermarkText?: string; + + /** Specifies the width of the DatePicker input text. + * @Default {160px} + */ + width?: string; + + /** Fires before closing the DatePicker popup. */ + beforeClose?(e: BeforeCloseEventArgs): void; + + /** Fires when each date is created in the DatePicker popup calendar. */ + beforeDateCreate?(e: BeforeDateCreateEventArgs): void; + + /** Fires before opening the DatePicker popup. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Fires when the DatePicker input value is changed. */ + change?(e: ChangeEventArgs): void; - /** returns the name of the event. - */ - type?: string; -} + /** Fires when DatePicker popup is closed. */ + close?(e: CloseEventArgs): void; -export interface RemoveEventArgs { + /** Fires when the DatePicker is created successfully. */ + create?(e: CreateEventArgs): void; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Fires when the DatePicker is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** returns the AJAX response data. - */ - data?: any; + /** Fires when DatePicker input gets focus. */ + focusIn?(e: FocusInEventArgs): void; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** Fires when DatePicker input loses the focus. */ + focusOut?(e: FocusOutEventArgs): void; - /** returns the names of deleted items. - */ - name?: string; + /** Fires when calender view navigates to month/year/decade/century. */ + navigate?(e: NavigateEventArgs): void; - /** returns the path of deleted item. - */ - path?: string; + /** Fires when DatePicker popup is opened. */ + open?(e: OpenEventArgs): void; - /** returns the removed item details. - */ - selectedItems?: any; + /** Fires when a date is selected from the DatePicker popup. */ + select?(e: SelectEventArgs): void; + } - /** returns the name of the event. - */ - type?: string; -} + export interface BeforeCloseEventArgs { -export interface ResizeEventArgs { + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** returns the mouse move event args. - */ - event?: any; + /** returns the name of the event. + */ + type?: string; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the event parameters from DatePicker. + */ + events?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the DatePicker popup. + */ + element?: HTMLElement; + } -export interface ResizeStartEventArgs { + export interface BeforeDateCreateEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the mouse down event args. - */ - event?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the name of the event. + */ + type?: string; - /** returns the name of the event. - */ - type?: string; -} + /** returns the currently created date object. + */ + date?: any; -export interface ResizeStopEventArgs { + /** returns the current DOM object of the date from the Calendar. + */ + element?: HTMLElement; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the currently created date as string type. + */ + value?: string; + } - /** returns the mouse leave event args. - */ - event?: any; + export interface BeforeOpenEventArgs { - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; -export interface SelectEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the event parameters from DatePicker. + */ + events?: any; - /** returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the DatePicker popup. + */ + element?: HTMLElement; + } - /** returns the name of selected items. - */ - name?: string[]; + export interface ChangeEventArgs { - /** returns the path of selected items. - */ - path?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the selected item details - */ - selectedItems?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; -export interface TemplateRefreshEventArgs { + /** returns the DatePicker input value. + */ + value?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the previously selected value. + */ + prevDate?: string; + } - /** Returns the cell object. - */ - cell?: ej.FileExplorer.Model; + export interface CloseEventArgs { - /** Returns the column object. - */ - column?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Returns the current row data. - */ - data?: any; + /** returns the current date object. + */ + date?: any; - /** Returns the grid model of FileExplorer. - */ - model?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Returns the current row index. - */ - rowIndex?: number; + /** returns the name of the event. + */ + type?: string; - /** returns the name of the event. - */ - type?: string; -} - -export interface UnselectEventArgs { + /** returns the current date value. + */ + value?: string; - /** Returns the FileExplorer model. - */ - model?: ej.FileExplorer.Model; + /** returns the previously selected value. + */ + prevDate?: string; + } - /** Returns the name of unselected item. - */ - name?: string; + export interface CreateEventArgs { - /** Returns the name of unselected items. - */ - names?: string[]; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Returns the type of unselected item. - */ - nodeType?: string; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Returns the path of unselected item. - */ - path?: string; + /** returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; - - /** Returns the unselected item details. - */ - unselectedItem?: any; - - /** Returns the unselected items details. - */ - unselectedItems?: Array; -} - -export interface ContextMenuSettings { - - /** The items property is used to configure and group the required ContextMenu items in FileExplorer control. - * @Default {{% highlight javascript %}{navbar: [NewFolder, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, Getinfo],cwd: [Refresh, Paste,|, SortBy, |, NewFolder, Upload, |, Getinfo],files: [Open, Download, |, Upload, |, Delete, Rename, |, Cut, Copy, Paste, |, OpenFolderLocation, Getinfo]}{% endhighlight %}} - */ - items?: any; - - /** The customMenuFields property is used to define custom functionality for custom ContextMenu item's which are defined in items property. - * @Default {[]} - */ - customMenuFields?: Array; -} - -export interface FilterSettings { - - /** It allows to search the text given in search Textbox in every keyup event. When this property was set as false, searching will works only on Enter key and searchbar blur. - * @Default {true} - */ - allowSearchOnTyping?: boolean; - - /** Enables or disables to perform the filter operation with case sensitive. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** Sets the search filter type. There are several filter types available such as "startswith", "contains", "endswith". See filterType. - * @Default {ej.FileExplorer.filterType.Contains} - */ - filterType?: ej.FilterType|string; -} - -export interface GridSettings { - - /** Allows to Resize the width of the columns by simply click and move the particular column header line. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets an object that indicates to render the grid with specified columns. You can use this property same as the column property in Grid control. - * @Default {[{ field: name, headerText: Name, width: 30% }, { field: dateModified, headerText: Date Modified, width: 30% }, { field: type, headerText: Type, width: 15% }, { field: size, headerText: Size, width: 12%, textAlign: right, headerTextAlign: left }]} - */ - columns?: Array; -} - -export interface UploadSettings { - - /** Specifies the maximum file size allowed to upload. It accepts the value in bytes. - * @Default {31457280} - */ - maxFileSize?: number; - - /** Enables or disables the multiple files upload. When it is enabled, you can upload multiple files at a time and when disabled, you can upload only one file at a time. - * @Default {true} - */ - allowMultipleFile?: boolean; - - /** Enables or disables the auto upload option while uploading files in FileExplorer control. - * @Default {false} - */ - autoUpload?: boolean; -} - -enum layoutType{ - - ///Supports to display files in tile view - Tile, - - ///Supports to display files in grid view - Grid, - - ///Supports to display files as large icons - LargeIcons -} - -} - -class DatePicker extends ej.Widget { - static fn: DatePicker; - constructor(element: JQuery, options?: DatePicker.Model); - constructor(element: Element, options?: DatePicker.Model); - static Locale: any; - model:DatePicker.Model; - defaults:DatePicker.Model; - - /** Disables the DatePicker control. - * @returns {void} - */ - disable(): void; - - /** Enable the DatePicker control, if it is in disabled state. - * @returns {void} - */ - enable(): void; - - /** Returns the current date value in the DatePicker control. - * @returns {string} - */ - getValue(): string; - - /** Close the DatePicker popup, if it is in opened state. - * @returns {void} - */ - hide(): void; - - /** Opens the DatePicker popup. - * @returns {void} - */ - show(): void; -} -export module DatePicker{ - -export interface Model { - - /** Used to allow or restrict the editing in DatePicker input field directly. By setting false to this API, You can only pick the date from DatePicker popup. - * @Default {true} - */ - allowEdit?: boolean; - - /** allow or restrict the drill down to multiple levels of view (month/year/decade) in DatePicker calendar - * @Default {true} - */ - allowDrillDown?: boolean; - - /** Disable the list of specified date value. - * @Default {{}} - */ - blackoutDates?: any; - - /** Sets the specified text value to the today button in the DatePicker calendar. - * @Default {Today} - */ - buttonText?: string; - - /** Sets the root CSS class for DatePicker theme, which is used customize. - */ - cssClass?: string; - - /** Formats the value of the DatePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DatePicker. - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Specifies the header format of days in DatePicker calendar. See below to get available Headers options - * @Default {ej.DatePicker.Header.Short} - */ - dayHeaderFormat?: string | ej.DatePicker.Header; - - /** Specifies the navigation depth level in DatePicker calendar. This option is not applied when start level view option is lower than depth level view. See below to know available levels in DatePicker Calendar - */ - depthLevel?: string | ej.DatePicker.Level; - - /** Allows to embed the DatePicker calendar in the page. Also associates DatePicker with div element instead of input. - * @Default {false} - */ - displayInline?: boolean; - - /** Enables or disables the animation effect with DatePicker calendar. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Enable or disable the DatePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Sustain the entire widget model of DatePicker even after form post or browser refresh - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays DatePicker calendar along with DatePicker input field in Right to Left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows to enter valid or invalid date in input textbox and indicate as error if it is invalid value, when this API value is set to true. For false value, invalid date is not allowed to input field and corrected to valid date automatically, even if invalid date is given. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Used the required fields for special Dates in DatePicker in order to customize the special dates in a calendar. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the header format to be displayed in the DatePicker calendar. - * @Default {MMMM yyyy} - */ - headerFormat?: string; - - /** Specifies the height of the DatePicker input text. - * @Default {28px} - */ - height?: string; - - /** HighlightSection is used to highlight currently selected date's month/week/workdays. See below to get available HighlightSection options - * @Default {none} - */ - highlightSection?: string | ej.DatePicker.HighlightSection; - - /** Weekend dates will be highlighted when this property is set to true. - * @Default {false} - */ - highlightWeekend?: boolean; - - /** Specifies the HTML Attributes of the DatePicker. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Change the DatePicker calendar and date format based on given culture. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the maximum date in the calendar that the user can select. - * @Default {new Date(2099, 11, 31)} - */ - maxDate?: string|Date; - - /** Specifies the minimum date in the calendar that the user can select. - * @Default {new Date(1900, 00, 01)} - */ - minDate?: string|Date; - - /** Allows to toggles the read only state of the DatePicker. When the widget is readOnly, it doesn't allow your input. - * @Default {false} - */ - readOnly?: boolean; - - /** It allow to show/hide the disabled date ranges - * @Default {true} - */ - showDisabledRange?: boolean; - - /** It allows to display footer in DatePicker calendar. - * @Default {true} - */ - showFooter?: boolean; - - /** It allows to display/hides the other months days from the current month calendar in a DatePicker. - * @Default {true} - */ - showOtherMonths?: boolean; - - /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DatePicker calendar popup. - * @Default {true} - */ - showPopupButton?: boolean; - - /** DatePicker input is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Used to show the tooltip when hovering on the days in the DatePicker calendar. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the special dates in DatePicker. - * @Default {null} - */ - specialDates?: any; - - /** Specifies the start day of the week in DatePicker calendar. - * @Default {0} - */ - startDay?: number; - - /** Specifies the start level view in DatePicker calendar. See below available Levels - * @Default {ej.DatePicker.Level.Month} - */ - startLevel?: string | ej.DatePicker.Level; - - /** Specifies the number of months to be navigate for one click of next and previous button in a DatePicker Calendar. - * @Default {1} - */ - stepMonths?: number; - - /** Provides option to customize the tooltip format. - * @Default {ddd MMM dd yyyy} - */ - tooltipFormat?: string; - - /** Sets the jQuery validation support to DatePicker Date value. See validation - * @Default {null} - */ - validationMessage?: any; - - /** Sets the jQuery validation custom rules to the DatePicker. see validation - * @Default {null} - */ - validationRules?: any; - - /** sets or returns the current value of DatePicker - * @Default {null} - */ - value?: string|Date; - - /** Specifies the water mark text to be displayed in input text. - * @Default {Select date} - */ - watermarkText?: string; - - /** Specifies the width of the DatePicker input text. - * @Default {160px} - */ - width?: string; - - /** Fires before closing the DatePicker popup. */ - beforeClose? (e: BeforeCloseEventArgs): void; - - /** Fires when each date is created in the DatePicker popup calendar. */ - beforeDateCreate? (e: BeforeDateCreateEventArgs): void; - - /** Fires before opening the DatePicker popup. */ - beforeOpen? (e: BeforeOpenEventArgs): void; - - /** Fires when the DatePicker input value is changed. */ - change? (e: ChangeEventArgs): void; + export interface DestroyEventArgs { - /** Fires when DatePicker popup is closed. */ - close? (e: CloseEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when the DatePicker is created successfully. */ - create? (e: CreateEventArgs): void; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Fires when the DatePicker is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** returns the name of the event. + */ + type?: string; + } - /** Fires when DatePicker input gets focus. */ - focusIn? (e: FocusInEventArgs): void; + export interface FocusInEventArgs { - /** Fires when DatePicker input loses the focus. */ - focusOut? (e: FocusOutEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when calender view navigates to month/year/decade/century. */ - navigate? (e: NavigateEventArgs): void; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** Fires when DatePicker popup is opened. */ - open? (e: OpenEventArgs): void; + /** returns the name of the event. + */ + type?: string; - /** Fires when a date is selected from the DatePicker popup. */ - select? (e: SelectEventArgs): void; -} + /** returns the currently selected date value. + */ + value?: string; + } -export interface BeforeCloseEventArgs { + export interface FocusOutEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the event parameters from DatePicker. - */ - events?: any; + /** returns the currently selected date value. + */ + value?: string; - /** returns the DatePicker popup. - */ - element?: HTMLElement; -} + /** returns the previously selected date value. + */ + prevDate?: string; + } -export interface BeforeDateCreateEventArgs { + export interface NavigateEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** returns the current date object. + */ + date?: any; - /** returns the name of the event. - */ - type?: string; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** returns the currently created date object. - */ - date?: any; + /** returns the previous view state of calendar. + */ + navigateFrom?: string; - /** returns the current DOM object of the date from the Calendar. - */ - element?: HTMLElement; + /** returns the current view state of calendar. + */ + navigateTo?: string; - /** returns the currently created date as string type. - */ - value?: string; -} + /** returns the name of the event + */ + type?: string; -export interface BeforeOpenEventArgs { + /** returns the current date value. + */ + value?: string; + } - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface OpenEventArgs { - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; + /** returns the current date object. + */ + date?: any; - /** returns the event parameters from DatePicker. - */ - events?: any; + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; - /** returns the DatePicker popup. - */ - element?: HTMLElement; -} + /** returns the name of the event + */ + type?: string; -export interface ChangeEventArgs { + /** returns the current date value. + */ + value?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the previously selected value. + */ + prevDate?: string; + } - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + export interface SelectEventArgs { - /** returns the name of the event. - */ - type?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the DatePicker input value. - */ - value?: string; + /** returns the selected date object. + */ + date?: any; - /** returns the previously selected value. - */ - prevDate?: string; -} + /** returns the DatePicker model. + */ + model?: ej.DatePicker.Model; -export interface CloseEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the current date value. + */ + value?: string; - /** returns the current date object. - */ - date?: any; + /** returns the previously selected value. + */ + prevDate?: string; - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** returns whether the currently selected date is special date or not. + */ + isSpecialDay?: string; + } - /** returns the name of the event. - */ - type?: string; + export interface Fields { - /** returns the current date value. - */ - value?: string; + /** Specifies the specials dates + */ + date?: string; - /** returns the previously selected value. - */ - prevDate?: string; -} + /** Specifies the icon class to special dates. + */ + iconClass?: string; -export interface CreateEventArgs { + /** Specifies the tooltip to special dates. + */ + tooltip?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Specifies the CSS class to customize the date. + */ + cssClass?: string; + } - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + enum Header { - /** returns the name of the event. - */ - type?: string; -} + ///Removes day header in DatePicker + None, -export interface DestroyEventArgs { + ///sets the short format of day name (like Sun) in header in DatePicker + Short, - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + ///sets the Min format of day name (like su) in header format DatePicker + Min + } - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; - /** returns the name of the event. - */ - type?: string; -} + enum Level { -export interface FocusInEventArgs { + ///allow navigation upto year level in DatePicker + Year, - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + ///allow navigation upto decade level in DatePicker + Decade, - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + ///allow navigation upto Century level in DatePicker + Century + } - /** returns the name of the event. - */ - type?: string; - /** returns the currently selected date value. - */ - value?: string; -} + enum HighlightSection { -export interface FocusOutEventArgs { + ///Highlight the week of the currently selected date in DatePicker popup calendar + Week, - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + ///Highlight the workdays in a currently selected date's week in DatePicker popup calendar + WorkDays, - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + ///Nothing will be highlighted, remove highlights from DatePicker popup calendar if already exists + None + } - /** returns the name of the event. - */ - type?: string; + } - /** returns the currently selected date value. - */ - value?: string; + class DateTimePicker extends ej.Widget { + static fn: DateTimePicker; + constructor(element: JQuery | Element, options?: DateTimePicker.Model); + static Locale: any; + model: DateTimePicker.Model; + defaults: DateTimePicker.Model; - /** returns the previously selected date value. - */ - prevDate?: string; -} + /** Disables the DateTimePicker control. + * @returns {void} + */ + disable(): void; -export interface NavigateEventArgs { + /** Enables the DateTimePicker control. + * @returns {void} + */ + enable(): void; + + /** Returns the current datetime value in the DateTimePicker. + * @returns {string} + */ + getValue(): string; + + /** Hides or closes the DateTimePicker popup. + * @returns {void} + */ + hide(): void; + + /** Updates the current system date value and time value to the DateTimePicker. + * @returns {void} + */ + setCurrentDateTime(): void; + + /** Shows or opens the DateTimePicker popup. + * @returns {void} + */ + show(): void; + } + export namespace DateTimePicker { + + export interface Model { + + /** Used to allow or restrict the editing in DateTimePicker input field directly. By setting false to this API, You can only pick the date and time values from DateTimePicker popup. + * @Default {true} + */ + allowEdit?: boolean; + + /** Displays the custom text for the buttons inside the DateTimePicker popup. when the culture value changed, we can change the buttons text based on the culture. + * @Default {{ today: Today, timeNow: Time Now, done: Done, timeTitle: Time }} + */ + buttonText?: ButtonText; + + /** Set the root class for DateTimePicker theme. This cssClass API helps to use custom skinning option for DateTimePicker control. + */ + cssClass?: string; + + /** Defines the datetime format displayed in the DateTimePicker. The value should be a combination of date format and time format. + * @Default {M/d/yyyy h:mm tt} + */ + dateTimeFormat?: string; + + /** Specifies the header format of the datepicker inside the DateTimePicker popup. See DatePicker.Header + * @Default {ej.DatePicker.Header.Short} + */ + dayHeaderFormat?: ej.DatePicker.Header | string; + + /** Specifies the navigation depth level in DatePicker calendar inside DateTimePicker popup. This option is not applied + * when start level view option is lower than depth level view. See ej.DatePicker.Level + */ + depthLevel?: ej.DatePicker.Level | string; + + /** Enable or disable the animation effect in DateTimePicker. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the DateTimePicker control. + * @Default {false} + */ + enabled?: boolean; + + /** Enables or disables the state maintenance of DateTimePicker. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Sets the DateTimePicker direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class, otherwise it internally changed to the correct value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Specifies the header format to be displayed in the DatePicker calendar inside the DateTimePicker popup. + * @Default {MMMM yyyy} + */ + headerFormat?: string; + + /** Defines the height of the DateTimePicker textbox. + * @Default {30} + */ + height?: string | number; + + /** Specifies the HTML Attributes of the ejDateTimePicker + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the time interval between the two adjacent time values in the time popup. + * @Default {30} + */ + interval?: number; + + /** Defines the localization culture for DateTimePicker. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum value to the DateTimePicker. Beyond the maximum value an error class is added to the wrapper element when we set true to enableStrictMode. + * @Default {new Date(12/31/2099 11:59:59 PM)} + */ + maxDateTime?: string | Date; + + /** Sets the minimum value to the DateTimePicker. Behind the minimum value an error class is added to the wrapper element. + * @Default {new Date(1/1/1900 12:00:00 AM)} + */ + minDateTime?: string | Date; + + /** Specifies the popup position of DateTimePicker.See below to know available popup positions + * @Default {ej.DateTimePicker.Bottom} + */ + popupPosition?: string | ej.popupPosition; + + /** Indicates that the DateTimePicker value can only be read and can’t change. + * @Default {false} + */ + readOnly?: boolean; + + /** It allows showing days in other months of DatePicker calendar inside the DateTimePicker popup. + * @Default {true} + */ + showOtherMonths?: boolean; + + /** Shows or hides the arrow button from the DateTimePicker textbox. When the button disabled, the DateTimePicker popup opens while focus in the textbox and hides while focus out from the textbox. + * @Default {true} + */ + showPopupButton?: boolean; + + /** Changes the sharped edges into rounded corner for the DateTimePicker textbox and popup. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the start day of the week in datepicker inside the DateTimePicker popup. + * @Default {1} + */ + startDay?: number; + + /** Specifies the start level view in datepicker inside the DateTimePicker popup. See DatePicker.Level + * @Default {ej.DatePicker.Level.Month or month} + */ + startLevel?: ej.DatePicker.Level | string; + + /** Specifies the number of months to navigate at one click of next and previous button in datepicker inside the DateTimePicker popup. + * @Default {1} + */ + stepMonths?: number; + + /** Defines the time format displayed in the time dropdown inside the DateTimePicker popup. + * @Default {h:mm tt} + */ + timeDisplayFormat?: string; + + /** We can drill down up to time interval on selected date with meridian details. + * @Default {{ enabled: false, interval: 5, showMeridian: false, autoClose: true }} + */ + timeDrillDown?: TimeDrillDown; + + /** Defines the width of the time dropdown inside the DateTimePicker popup. + * @Default {100} + */ + timePopupWidth?: string | number; + + /** Set the jQuery validation error message in DateTimePicker. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules in DateTimePicker. + * @Default {null} + */ + validationRules?: any; + + /** Sets the DateTime value to the control. + */ + value?: string | Date; + + /** Specifies the water mark text to be displayed in input text. + * @Default {Select date and time} + */ + watermarkText?: string; + + /** Defines the width of the DateTimePicker textbox. + * @Default {143} + */ + width?: string | number; + + /** Fires before the datetime popup closed in the DateTimePicker. */ + beforeClose?(e: BeforeCloseEventArgs): void; + + /** Fires before the datetime popup open in the DateTimePicker. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Fires when the datetime value changed in the DateTimePicker textbox. */ + change?(e: ChangeEventArgs): void; + + /** Fires when DateTimePicker popup closes. */ + close?(e: CloseEventArgs): void; + + /** Fires after DateTimePicker control is created. */ + create?(e: CreateEventArgs): void; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Fires when the DateTimePicker is destroyed successfully */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when the focus-in happens in the DateTimePicker textbox. */ + focusIn?(e: FocusInEventArgs): void; - /** returns the current date object. - */ - date?: any; + /** Fires when the focus-out happens in the DateTimePicker textbox. */ + focusOut?(e: FocusOutEventArgs): void; - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** Fires when DateTimePicker popup opens. */ + open?(e: OpenEventArgs): void; + } - /** returns the previous view state of calendar. - */ - navigateFrom?: string; + export interface BeforeCloseEventArgs { - /** returns the current view state of calendar. - */ - navigateTo?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; + /** returns the DateTimePicker model. + */ + model?: ej.DateTimePicker.Model; - /** returns the current date value. - */ - value?: string; -} + /** returns the name of the event. + */ + type?: string; -export interface OpenEventArgs { + /** returns the event parameters from DateTimePicker. + */ + events?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the DateTimePicker popup. + */ + element?: HTMLElement; + } - /** returns the current date object. - */ - date?: any; + export interface BeforeOpenEventArgs { - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; + /** returns the DateTimePicker model. + */ + model?: ej.DateTimePicker.Model; - /** returns the current date value. - */ - value?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the previously selected value. - */ - prevDate?: string; -} + /** returns the event parameters from DateTimePicker. + */ + events?: any; -export interface SelectEventArgs { + /** returns the DateTimePicker popup. + */ + element?: HTMLElement; + } - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + export interface ChangeEventArgs { - /** returns the selected date object. - */ - date?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the DatePicker model. - */ - model?: ej.DatePicker.Model; + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current date value. - */ - value?: string; + /** returns the current value is valid or not + */ + isValidState?: boolean; - /** returns the previously selected value. - */ - prevDate?: string; + /** returns the modified datetime value + */ + value?: string; - /** returns whether the currently selected date is special date or not. - */ - isSpecialDay?: string; -} + /** returns the previously selected date time value + */ + prevDateTime?: string; -export interface Fields { + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; + } - /** Specifies the specials dates - */ - date?: string; + export interface CloseEventArgs { - /** Specifies the icon class to special dates. - */ - iconClass?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Specifies the tooltip to special dates. - */ - tooltip?: string; + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; - /** Specifies the CSS class to customize the date. - */ - cssClass?: string; -} + /** returns the name of the event + */ + type?: string; -enum Header{ + /** returns the modified datetime value + */ + value?: string; - ///Removes day header in DatePicker - None, + /** returns the previously selected date time value + */ + prevDateTime?: string; + } - ///sets the short format of day name (like Sun) in header in DatePicker - Short, + export interface CreateEventArgs { - ///sets the Min format of day name (like su) in header format DatePicker - Min -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + /** returns the DateTimePicker model + */ + model?: ej.DateTimePicker.Model; -enum Level{ + /** returns the name of the event + */ + type?: string; + } - ///allow navigation upto year level in DatePicker - Year, + export interface DestroyEventArgs { - ///allow navigation upto decade level in DatePicker - Decade, + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - ///allow navigation upto Century level in DatePicker - Century -} + /** returns the DateTimePicker model + */ + model?: ej.DateTimePicker.Model; + /** returns the name of the event + */ + type?: string; + } -enum HighlightSection{ + export interface FocusInEventArgs { - ///Highlight the week of the currently selected date in DatePicker popup calendar - Week, + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - ///Highlight the workdays in a currently selected date's week in DatePicker popup calendar - WorkDays, + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; - ///Nothing will be highlighted, remove highlights from DatePicker popup calendar if already exists - None -} + /** returns the name of the event + */ + type?: string; -} + /** returns the datetime value, which is in text box + */ + value?: string; + } + + export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the datetime value, which is in text box + */ + value?: string; + } + + export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.DateTimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the modified datetime value + */ + value?: string; + + /** returns the previously selected date time value + */ + prevDateTime?: string; + } + + export interface ButtonText { + + /** Sets the text for the Done button inside the datetime popup. + */ + done?: string; + + /** Sets the text for the Now button inside the datetime popup. + */ + timeNow?: string; + + /** Sets the header text for the Time dropdown. + */ + timeTitle?: string; + + /** Sets the text for the Today button inside the datetime popup. + */ + today?: string; + } + + export interface TimeDrillDown { + + /** This is the field to show/hide the timeDrillDown in DateTimePicker. + */ + enabled?: boolean; + + /** Sets the interval time of minutes on selected date. + */ + interval?: number; + + /** Allows the user to show or hide the meridian with time in DateTimePicker. + */ + showMeridian?: boolean; + + /** After choosing the time, the popup will close automatically if we set it as true, otherwise we focus out the DateTimePicker or choose timeNow button for closing the popup. + */ + autoClose?: boolean; + } + } + enum popupPosition { + //Opens the DateTimePicker popup below to the DateTimePicker input box + Bottom, + //Opens the DateTimePicker popup above to the DateTimePicker input box + Top, + } + + class DateRangePicker extends ej.Widget { + static fn: DateRangePicker; + constructor(element: JQuery | Element, options?: DateRangePicker.Model); + static Locale: any; + model: DateRangePicker.Model; + defaults: DateRangePicker.Model; + + /** Add the preset ranges to DateRangePicker popup. + * @param {string} Display name + * @param {Array} StartDate and endDate of range. + * @returns {void} + */ + addRanges(label: string, range: any[]): void; + + /** Clears the all ranges selections in DateRangePicker popup + * @returns {void} + */ + clearRanges(): void; + + /** Disables the DateRangePicker control. + * @returns {void} + */ + disable(): void; + + /** Enable the DateRangePicker control, if it is in disabled state. + * @returns {void} + */ + enable(): void; + + /** Returns the startDate and endDate values in the selected ranges in the DateRangePicker control. + * @returns {string} + */ + getSelectedValue(): string; + + /** Close the DateRangePicker popup, if it is in opened state. + * @returns {void} + */ + popupHide(): void; + + /** Opens the DateRangePicker popup. + * @returns {void} + */ + popupShow(): void; + + /** set the preset ranges to DateRangePicker popup. + * @returns {void} + */ + setRange(): void; + } + export namespace DateRangePicker { + + export interface Model { + + /** Used to allow or restrict the editing in DateRangePicker input field directly. By setting false to this API, You can only pick the date ranges from DateRangePicker popup. + * @Default {true} + */ + allowEdit?: boolean; + + /** Sets the specified text value to the available buttons (Reset, Cancel, Apply) in the DateRangePicker popup. + * @Default {{ reset: Reset, cancel: Cancel, apply: Apply}} + */ + buttonText?: any; + + /** Sets the root CSS class for DateRangePicker theme, which is used to customize. + */ + cssClass?: string; + + /** Formats the date value of the DateRangePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DateRangePicker. + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Allows to embed the Timepicker align with the calendars in the page, two timepicker will be render, for selecting start and end date. + * @Default {false} + */ + enableTimePicker?: boolean; + + /** Enable or disable the DateRangePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Sustain the entire widget model of DateRangePicker even after form post or browser refresh + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the end date of the date ranges. + * @Default {null} + */ + endDate?: string | Date; + + /** Specifies the height of the DateRangePicker input. + * @Default {28px} + */ + height?: string | number; + + /** Change the DateRangePicker calendar and date format based on given culture. + * @Default {en-US} + */ + locale?: string; + + /** Used to add the preset ranges. Added ranges using this, will show in popup in right side for easy selection of different preset ranges. + * @Default {null} + */ + ranges?: any; + + /** Specifies the start date of the date ranges + * @Default {null} + */ + startDate?: string | Date; + + /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DateRangePicker calendar popup. + * @Default {true} + */ + showPopupButton?: boolean; + + /** DateRangePicker input and popup is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Formats the date value of the DateRangePicker in to the specified time format. If this API is not specified, timeFormat will be set based on the current culture of DateRangePicker. + * @Default {HH:mm tt} + */ + timeFormat?: string; + + /** Separated two date values in string format to sets the date ranges in calendars. + * @Default {null} + */ + value?: string; + + /** Specifies the water mark text to be displayed in input text. + * @Default {Select Range} + */ + watermarkText?: string; + + /** Specifies the width of the DateRangePicker input text. + * @Default {160px} + */ + width?: string | number; + + /** Fires before closing the DateRangePicker popup. */ + beforeClose?(e: BeforeCloseEventArgs): void; + + /** Fires before opening the DateRangePicker popup. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Fires when the DateRangePicker values get changed. */ + onChange?(e: OnChangeEventArgs): void; -class DateTimePicker extends ej.Widget { - static fn: DateTimePicker; - constructor(element: JQuery, options?: DateTimePicker.Model); - constructor(element: Element, options?: DateTimePicker.Model); - static Locale: any; - model:DateTimePicker.Model; - defaults:DateTimePicker.Model; + /** Fires when DateRangePicker popup is closed. */ + close?(e: CloseEventArgs): void; + + /** Fires when the DateRangePicker is created successfully. */ + create?(e: CreateEventArgs): void; + + /** Fires when the DateRangePicker is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when DateRangePicker popup is opened. */ + open?(e: OpenEventArgs): void; - /** Disables the DateTimePicker control. - * @returns {void} - */ - disable(): void; - - /** Enables the DateTimePicker control. - * @returns {void} - */ - enable(): void; - - /** Returns the current datetime value in the DateTimePicker. - * @returns {string} - */ - getValue(): string; - - /** Hides or closes the DateTimePicker popup. - * @returns {void} - */ - hide(): void; - - /** Updates the current system date value and time value to the DateTimePicker. - * @returns {void} - */ - setCurrentDateTime(): void; - - /** Shows or opens the DateTimePicker popup. - * @returns {void} - */ - show(): void; -} -export module DateTimePicker{ - -export interface Model { - - /** Used to allow or restrict the editing in DateTimePicker input field directly. By setting false to this API, You can only pick the date and time values from DateTimePicker popup. - * @Default {true} - */ - allowEdit?: boolean; - - /** Displays the custom text for the buttons inside the DateTimePicker popup. when the culture value changed, we can change the buttons text based on the culture. - * @Default {{ today: Today, timeNow: Time Now, done: Done, timeTitle: Time }} - */ - buttonText?: ButtonText; - - /** Set the root class for DateTimePicker theme. This cssClass API helps to use custom skinning option for DateTimePicker control. - */ - cssClass?: string; - - /** Defines the datetime format displayed in the DateTimePicker. The value should be a combination of date format and time format. - * @Default {M/d/yyyy h:mm tt} - */ - dateTimeFormat?: string; - - /** Specifies the header format of the datepicker inside the DateTimePicker popup. See DatePicker.Header - * @Default {ej.DatePicker.Header.Short} - */ - dayHeaderFormat?: ej.DatePicker.Header|string; - - /** Specifies the navigation depth level in DatePicker calendar inside DateTimePicker popup. This option is not applied when start level view option is lower than depth level view. See ej.DatePicker.Level - */ - depthLevel?: ej.DatePicker.Level|string; - - /** Enable or disable the animation effect in DateTimePicker. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the DateTimePicker control. - * @Default {false} - */ - enabled?: boolean; - - /** Enables or disables the state maintenance of DateTimePicker. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Sets the DateTimePicker direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class, otherwise it internally changed to the correct value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Specifies the header format to be displayed in the DatePicker calendar inside the DateTimePicker popup. - * @Default {MMMM yyyy} - */ - headerFormat?: string; - - /** Defines the height of the DateTimePicker textbox. - * @Default {30} - */ - height?: string|number; - - /** Specifies the HTML Attributes of the ejDateTimePicker - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the time interval between the two adjacent time values in the time popup. - * @Default {30} - */ - interval?: number; - - /** Defines the localization culture for DateTimePicker. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum value to the DateTimePicker. Beyond the maximum value an error class is added to the wrapper element when we set true to enableStrictMode. - * @Default {new Date(12/31/2099 11:59:59 PM)} - */ - maxDateTime?: string|Date; - - /** Sets the minimum value to the DateTimePicker. Behind the minimum value an error class is added to the wrapper element. - * @Default {new Date(1/1/1900 12:00:00 AM)} - */ - minDateTime?: string|Date; - - /** Specifies the popup position of DateTimePicker.See below to know available popup positions - * @Default {ej.DateTimePicker.Bottom} - */ - popupPosition?: string | ej.popupPosition; - - /** Indicates that the DateTimePicker value can only be read and can’t change. - * @Default {false} - */ - readOnly?: boolean; - - /** It allows showing days in other months of DatePicker calendar inside the DateTimePicker popup. - * @Default {true} - */ - showOtherMonths?: boolean; - - /** Shows or hides the arrow button from the DateTimePicker textbox. When the button disabled, the DateTimePicker popup opens while focus in the textbox and hides while focus out from the textbox. - * @Default {true} - */ - showPopupButton?: boolean; - - /** Changes the sharped edges into rounded corner for the DateTimePicker textbox and popup. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the start day of the week in datepicker inside the DateTimePicker popup. - * @Default {1} - */ - startDay?: number; - - /** Specifies the start level view in datepicker inside the DateTimePicker popup. See DatePicker.Level - * @Default {ej.DatePicker.Level.Month or month} - */ - startLevel?: ej.DatePicker.Level|string; - - /** Specifies the number of months to navigate at one click of next and previous button in datepicker inside the DateTimePicker popup. - * @Default {1} - */ - stepMonths?: number; - - /** Defines the time format displayed in the time dropdown inside the DateTimePicker popup. - * @Default {h:mm tt} - */ - timeDisplayFormat?: string; - - /** We can drill down up to time interval on selected date with meridian details. - * @Default {{ enabled: false, interval: 5, showMeridian: false, autoClose: true }} - */ - timeDrillDown?: TimeDrillDown; - - /** Defines the width of the time dropdown inside the DateTimePicker popup. - * @Default {100} - */ - timePopupWidth?: string|number; - - /** Set the jQuery validation error message in DateTimePicker. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules in DateTimePicker. - * @Default {null} - */ - validationRules?: any; - - /** Sets the DateTime value to the control. - */ - value?: string|Date; - - /** Specifies the water mark text to be displayed in input text. - * @Default {Select date and time} - */ - watermarkText?: string; - - /** Defines the width of the DateTimePicker textbox. - * @Default {143} - */ - width?: string|number; - - /** Fires before the datetime popup closed in the DateTimePicker. */ - beforeClose? (e: BeforeCloseEventArgs): void; - - /** Fires before the datetime popup open in the DateTimePicker. */ - beforeOpen? (e: BeforeOpenEventArgs): void; - - /** Fires when the datetime value changed in the DateTimePicker textbox. */ - change? (e: ChangeEventArgs): void; - - /** Fires when DateTimePicker popup closes. */ - close? (e: CloseEventArgs): void; - - /** Fires after DateTimePicker control is created. */ - create? (e: CreateEventArgs): void; + /** Fires when a date ranges is selected from the DateRangePicker popup. */ + select?(e: SelectEventArgs): void; + } - /** Fires when the DateTimePicker is destroyed successfully */ - destroy? (e: DestroyEventArgs): void; - - /** Fires when the focus-in happens in the DateTimePicker textbox. */ - focusIn? (e: FocusInEventArgs): void; + export interface BeforeCloseEventArgs { - /** Fires when the focus-out happens in the DateTimePicker textbox. */ - focusOut? (e: FocusOutEventArgs): void; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** Fires when DateTimePicker popup opens. */ - open? (e: OpenEventArgs): void; -} + /** returns the DateRangePicker model + */ + model?: ej.DateRangePicker.Model; -export interface BeforeCloseEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the event parameters from DateRangePicker. + */ + events?: any; - /** returns the DateTimePicker model. - */ - model?: ej.DateTimePicker.Model; + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; + } - /** returns the name of the event. - */ - type?: string; + export interface BeforeOpenEventArgs { - /** returns the event parameters from DateTimePicker. - */ - events?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the DateTimePicker popup. - */ - element?: HTMLElement; -} + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; -export interface BeforeOpenEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the event parameters from DateRangePicker. + */ + events?: any; - /** returns the DateTimePicker model. - */ - model?: ej.DateTimePicker.Model; + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; + } - /** returns the name of the event. - */ - type?: string; + export interface OnChangeEventArgs { - /** returns the event parameters from DateTimePicker. - */ - events?: any; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the DateTimePicker popup. - */ - element?: HTMLElement; -} + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; -export interface ChangeEventArgs { + /** returns the name of the event. + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the DateRangePicker input value. + */ + value?: string; - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; + /** returns the startDate of DateRangePicker. + */ + startDate?: any; - /** returns the name of the event - */ - type?: string; + /** returns the endDate of the DateRangePicker popup. + */ + endDate?: any; + } - /** returns the current value is valid or not - */ - isValidState?: boolean; + export interface CloseEventArgs { - /** returns the modified datetime value - */ - value?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the previously selected date time value - */ - prevDateTime?: string; + /** returns the current date object. + */ + date?: any; - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; -} + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; -export interface CloseEventArgs { + /** returns the name of the event. + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; + } - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; + export interface CreateEventArgs { - /** returns the name of the event - */ - type?: string; + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; - /** returns the modified datetime value - */ - value?: string; + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; - /** returns the previously selected date time value - */ - prevDateTime?: string; -} + /** returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; + + /** returns the name of the event. + */ + type?: string; + } + + export interface OpenEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the current date object. + */ + date?: any; + + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the DateRangePicker popup. + */ + element?: HTMLElement; + } + + export interface SelectEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the selected date object. + */ + startDate?: any; + + /** returns the DateRangePicker model. + */ + model?: ej.DateRangePicker.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the current date value. + */ + endDate?: any; + } + } + + class Dialog extends ej.Widget { + static fn: Dialog; + constructor(element: JQuery | Element, options?: Dialog.Model); + static Locale: any; + model: Dialog.Model; + defaults: Dialog.Model; + + /** Closes the dialog widget dynamically. + * @returns {any} + */ + close(): any; + + /** Collapses the content area when it is expanded. + * @returns {any} + */ + collapse(): any; + + /** Destroys the Dialog widget. + * @returns {void} + */ + destroy(): void; + + /** Expands the content area when it is collapsed. + * @returns {any} + */ + expand(): any; + + /** Checks whether the Dialog widget is opened or not. This methods returns Boolean value. + * @returns {boolean} + */ + isOpen(): boolean; + + /** Maximizes the Dialog widget. + * @returns {any} + */ + maximize(): any; + + /** Minimizes the Dialog widget. + * @returns {any} + */ + minimize(): any; + + /** Opens the Dialog widget. + * @returns {any} + */ + open(): any; + + /** Pins the dialog in its current position. + * @returns {any} + */ + pin(): any; + + /** Refreshes the dialog content dynamically. + * @returns {void} + */ + refresh(): void; + + /** Restores the dialog. + * @returns {any} + */ + restore(): any; + + /** Unpins the Dialog widget. + * @returns {any} + */ + unpin(): any; + + /** Sets the title for the Dialog widget. + * @param {string} The title for the dialog widget. + * @returns {any} + */ + setTitle(Title: string): any; + + /** Sets the content for the Dialog widget dynamically. + * @param {string} The content for the dialog widget. It accepts both string and HTML string. + * @returns {any} + */ + setContent(content: string): any; + + /** Sets the focus on the Dialog widget. + * @returns {any} + */ + focus(): any; + } + export namespace Dialog { + + export interface Model { + + /** Adds action buttons like close, minimize, pin, maximize in the dialog header. + */ + actionButtons?: string[]; + + /** Specifies the ajaxSettings option to load the content to the Dialog control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Enables or disables draggable. + */ + allowDraggable?: boolean; + + /** Enables or disables keyboard interaction. + */ + allowKeyboardNavigation?: boolean; + + /** Customizes the Dialog widget animations. The Dialog widget can be animated while opening and closing the dialog. + * In order to customize animation effects, you need to set “enableAnimation” as true. It contains the following sub properties. + */ + animation?: any; + + /** Closes the dialog widget on pressing the ESC key when it is set to true. + */ + closeOnEscape?: boolean; + + /** The selector for the container element. If the property is set, then dialog will append to the selected element and it is restricted to move only within the specified container element. + */ + containment?: string; + + /** The content type to load the dialog content at run time. The possible values are null, AJAX, iframe and image. When it is null (default value), + * the content inside dialog element will be displayed as content and when it is not null, the content will be loaded from the URL specified in the contentUrl property. + */ + contentType?: string; + + /** The URL to load the dialog content (such as AJAX, image, and iframe). In order to load content from URL, you need to set contentType as ‘ajax’ or ‘iframe’ or ‘image’. + */ + contentUrl?: string; + + /** The root class for the Dialog widget to customize the existing theme. + */ + cssClass?: string; + + /** Enable or disables animation when the dialog is opened or closed. + */ + enableAnimation?: boolean; + + /** Enables or disables the Dialog widget. + */ + enabled?: boolean; + + /** Enable or disables modal dialog. The modal dialog acts like a child window that is displayed on top of the main window/screen and disables the main window interaction until it is closed. + */ + enableModal?: boolean; + + /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. + */ + enablePersistence?: boolean; + + /** Allows the dialog to be resized. The dialog cannot be resized less than the minimum height, width values and greater than the maximum height and width. + */ + enableResize?: boolean; + + /** Displays dialog content from right to left when set to true. + */ + enableRTL?: boolean; + + /** The CSS class name to display the favicon in the dialog header. In order to display favicon, you need to set showHeader as true since the favicon will be displayed in the dialog header. + */ + faviconCSS?: string; + + /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, “100px” as string type + * and “100”, “500” as integer type. + */ + height?: string | number; + + /** Specifies the HTML Attributes of the Dialog. + * @Default {{}} + */ + htmlAttributes?: any; -export interface CreateEventArgs { + /** Enable or disables responsive behavior. + */ + isResponsive?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Default Value:{:.param}“en-US” + */ + locale?: number; - /** returns the DateTimePicker model - */ - model?: ej.DateTimePicker.Model; + /** Sets the maximum height for the dialog widget. + */ + maxHeight?: number; - /** returns the name of the event - */ - type?: string; -} + /** Sets the maximum width for the dialog widget. + */ + maxWidth?: number; -export interface DestroyEventArgs { + /** Sets the minimum height for the dialog widget. + */ + minHeight?: number; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Sets the minimum width for the dialog widget. + */ + minWidth?: number; - /** returns the DateTimePicker model - */ - model?: ej.DateTimePicker.Model; + /** Displays the Dialog widget at the given X and Y position. + */ + position?: any; - /** returns the name of the event - */ - type?: string; -} + /** Shows or hides the dialog header. + */ + showHeader?: boolean; -export interface FocusInEventArgs { + /** The Dialog widget can be opened by default i.e. on initialization, when it is set to true. + */ + showOnInit?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Enables or disables the rounder corner. + */ + showRoundedCorner?: boolean; - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; + /** The selector for the container element. If this property is set, the dialog will be displayed (positioned) based on its container. + */ + target?: string; - /** returns the name of the event - */ - type?: string; - - /** returns the datetime value, which is in text box - */ - value?: string; -} - -export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the datetime value, which is in text box - */ - value?: string; -} - -export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.DateTimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the modified datetime value - */ - value?: string; - - /** returns the previously selected date time value - */ - prevDateTime?: string; -} - -export interface ButtonText { - - /** Sets the text for the Done button inside the datetime popup. - */ - done?: string; - - /** Sets the text for the Now button inside the datetime popup. - */ - timeNow?: string; - - /** Sets the header text for the Time dropdown. - */ - timeTitle?: string; - - /** Sets the text for the Today button inside the datetime popup. - */ - today?: string; -} - -export interface TimeDrillDown { - - /** This is the field to show/hide the timeDrillDown in DateTimePicker. - */ - enabled?: boolean; - - /** Sets the interval time of minutes on selected date. - */ - interval?: number; - - /** Allows the user to show or hide the meridian with time in DateTimePicker. - */ - showMeridian?: boolean; - - /** After choosing the time, the popup will close automatically if we set it as true, otherwise we focus out the DateTimePicker or choose timeNow button for closing the popup. - */ - autoClose?: boolean; -} -} -enum popupPosition -{ -//Opens the DateTimePicker popup below to the DateTimePicker input box -Bottom, -//Opens the DateTimePicker popup above to the DateTimePicker input box -Top, -} - -class DateRangePicker extends ej.Widget { - static fn: DateRangePicker; - constructor(element: JQuery, options?: DateRangePicker.Model); - constructor(element: Element, options?: DateRangePicker.Model); - static Locale: any; - model:DateRangePicker.Model; - defaults:DateRangePicker.Model; - - /** Add the preset ranges to DateRangePicker popup. - * @param {string} Display name - * @param {Array} StartDate and endDate of range. - * @returns {void} - */ - addRanges(label: string, range: Array): void; - - /** Clears the all ranges selections in DateRangePicker popup - * @returns {void} - */ - clearRanges(): void; - - /** Disables the DateRangePicker control. - * @returns {void} - */ - disable(): void; - - /** Enable the DateRangePicker control, if it is in disabled state. - * @returns {void} - */ - enable(): void; - - /** Returns the startDate and endDate values in the selected ranges in the DateRangePicker control. - * @returns {string} - */ - getSelectedValue(): string; - - /** Close the DateRangePicker popup, if it is in opened state. - * @returns {void} - */ - popupHide(): void; - - /** Opens the DateRangePicker popup. - * @returns {void} - */ - popupShow(): void; - - /** set the preset ranges to DateRangePicker popup. - * @returns {void} - */ - setRange(): void; -} -export module DateRangePicker{ - -export interface Model { - - /** Used to allow or restrict the editing in DateRangePicker input field directly. By setting false to this API, You can only pick the date ranges from DateRangePicker popup. - * @Default {true} - */ - allowEdit?: boolean; - - /** Sets the specified text value to the available buttons (Reset, Cancel, Apply) in the DateRangePicker popup. - * @Default {{ reset: Reset, cancel: Cancel, apply: Apply}} - */ - buttonText?: any; - - /** Sets the root CSS class for DateRangePicker theme, which is used to customize. - */ - cssClass?: string; - - /** Formats the date value of the DateRangePicker in to the specified date format. If this API is not specified, dateFormat will be set based on the current culture of DateRangePicker. - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Allows to embed the Timepicker align with the calendars in the page, two timepicker will be render, for selecting start and end date. - * @Default {false} - */ - enableTimePicker?: boolean; - - /** Enable or disable the DateRangePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Sustain the entire widget model of DateRangePicker even after form post or browser refresh - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the end date of the date ranges. - * @Default {null} - */ - endDate?: string|Date; - - /** Specifies the height of the DateRangePicker input. - * @Default {28px} - */ - height?: string|number; - - /** Change the DateRangePicker calendar and date format based on given culture. - * @Default {en-US} - */ - locale?: string; - - /** Used to add the preset ranges. Added ranges using this, will show in popup in right side for easy selection of different preset ranges. - * @Default {null} - */ - ranges?: any; - - /** Specifies the start date of the date ranges - * @Default {null} - */ - startDate?: string|Date; - - /** Shows/hides the date icon button at right side of textbox, which is used to open or close the DateRangePicker calendar popup. - * @Default {true} - */ - showPopupButton?: boolean; - - /** DateRangePicker input and popup is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Formats the date value of the DateRangePicker in to the specified time format. If this API is not specified, timeFormat will be set based on the current culture of DateRangePicker. - * @Default {HH:mm tt} - */ - timeFormat?: string; - - /** Separated two date values in string format to sets the date ranges in calendars. - * @Default {null} - */ - value?: string; - - /** Specifies the water mark text to be displayed in input text. - * @Default {Select Range} - */ - watermarkText?: string; - - /** Specifies the width of the DateRangePicker input text. - * @Default {160px} - */ - width?: string|number; - - /** Fires before closing the DateRangePicker popup. */ - beforeClose? (e: BeforeCloseEventArgs): void; - - /** Fires before opening the DateRangePicker popup. */ - beforeOpen? (e: BeforeOpenEventArgs): void; - - /** Fires when the DateRangePicker values get changed. */ - onChange? (e: OnChangeEventArgs): void; + /** The title text to be displayed in the dialog header. In order to set title, you need to set showHeader as true since the title will be displayed in the dialog header. + */ + title?: string; - /** Fires when DateRangePicker popup is closed. */ - close? (e: CloseEventArgs): void; - - /** Fires when the DateRangePicker is created successfully. */ - create? (e: CreateEventArgs): void; - - /** Fires when the DateRangePicker is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; - - /** Fires when DateRangePicker popup is opened. */ - open? (e: OpenEventArgs): void; + /** Add or configure the tooltip text for actionButtons in the dialog header. + */ + tooltip?: any; - /** Fires when a date ranges is selected from the DateRangePicker popup. */ - select? (e: SelectEventArgs): void; -} + /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, + * “100px” as string type and “100”, “500” as integer type. + */ + width?: string | number; -export interface BeforeCloseEventArgs { + /** Sets the z-index value for the Dialog widget. + */ + zIndex?: number; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Sets the Footer for the Dialog widget. + */ + showFooter?: boolean; - /** returns the DateRangePicker model - */ - model?: ej.DateRangePicker.Model; + /** Sets the FooterTemplate for the Dialog widget. + */ + footerTemplateId?: string; - /** returns the name of the event. - */ - type?: string; + /** This event is triggered before the dialog widgets gets open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** returns the event parameters from DateRangePicker. - */ - events?: any; + /** This event is triggered whenever the AJAX request fails to retrieve the dialog content. */ + ajaxError?(e: AjaxErrorEventArgs): void; - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; -} + /** This event is triggered whenever the AJAX request to retrieve the dialog content, gets succeed. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; -export interface BeforeOpenEventArgs { + /** This event is triggered before the dialog widgets get closed. */ + beforeClose?(e: BeforeCloseEventArgs): void; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** This event is triggered after the dialog widget is closed. */ + close?(e: CloseEventArgs): void; - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; + /** Triggered after the dialog content is loaded in DOM. */ + contentLoad?(e: ContentLoadEventArgs): void; - /** returns the name of the event. - */ - type?: string; + /** Triggered after the dialog is created successfully */ + create?(e: CreateEventArgs): void; - /** returns the event parameters from DateRangePicker. - */ - events?: any; + /** Triggered after the dialog widget is destroyed successfully */ + destroy?(e: DestroyEventArgs): void; - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; -} + /** Triggered while the dialog is dragged. */ + drag?(e: DragEventArgs): void; -export interface OnChangeEventArgs { + /** Triggered when the user starts dragging the dialog. */ + dragStart?(e: DragStartEventArgs): void; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Triggered when the user stops dragging the dialog. */ + dragStop?(e: DragStopEventArgs): void; - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; + /** Triggered after the dialog is opened. */ + open?(e: OpenEventArgs): void; - /** returns the name of the event. - */ - type?: string; + /** Triggered while the dialog is resized. */ + resize?(e: ResizeEventArgs): void; - /** returns the DateRangePicker input value. - */ - value?: string; + /** Triggered when the user starts resizing the dialog. */ + resizeStart?(e: ResizeStartEventArgs): void; - /** returns the startDate of DateRangePicker. - */ - startDate?: any; + /** Triggered when the user stops resizing the dialog. */ + resizeStop?(e: ResizeStopEventArgs): void; - /** returns the endDate of the DateRangePicker popup. - */ - endDate?: any; -} + /** Triggered when the dialog content is expanded. */ + expand?(e: ExpandEventArgs): void; -export interface CloseEventArgs { + /** Triggered when the dialog content is collapsed. */ + collapse?(e: CollapseEventArgs): void; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Triggered when the custom action button clicked. */ + actionButtonClick?(e: ActionButtonClickEventArgs): void; + } - /** returns the current date object. - */ - date?: any; + export interface BeforeOpenEventArgs { - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; -} + /** Name of the event + */ + type?: string; + } -export interface CreateEventArgs { + export interface AjaxErrorEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** returns the name of the event. - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; -} - -export interface OpenEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the current date object. - */ - date?: any; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the DateRangePicker popup. - */ - element?: HTMLElement; -} - -export interface SelectEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the selected date object. - */ - startDate?: any; - - /** returns the DateRangePicker model. - */ - model?: ej.DateRangePicker.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the current date value. - */ - endDate?: any; -} -} - -class Dialog extends ej.Widget { - static fn: Dialog; - constructor(element: JQuery, options?: Dialog.Model); - constructor(element: Element, options?: Dialog.Model); - static Locale: any; - model:Dialog.Model; - defaults:Dialog.Model; - - /** Closes the dialog widget dynamically. - * @returns {any} - */ - close(): any; - - /** Collapses the content area when it is expanded. - * @returns {any} - */ - collapse(): any; - - /** Destroys the Dialog widget. - * @returns {void} - */ - destroy(): void; - - /** Expands the content area when it is collapsed. - * @returns {any} - */ - expand(): any; - - /** Checks whether the Dialog widget is opened or not. This methods returns Boolean value. - * @returns {boolean} - */ - isOpen(): boolean; - - /** Maximizes the Dialog widget. - * @returns {any} - */ - maximize(): any; - - /** Minimizes the Dialog widget. - * @returns {any} - */ - minimize(): any; - - /** Opens the Dialog widget. - * @returns {any} - */ - open(): any; - - /** Pins the dialog in its current position. - * @returns {any} - */ - pin(): any; - - /** Refreshes the dialog content dynamically. - * @returns {void} - */ - refresh(): void; - - /** Restores the dialog. - * @returns {any} - */ - restore(): any; - - /** Unpins the Dialog widget. - * @returns {any} - */ - unpin(): any; - - /** Sets the title for the Dialog widget. - * @param {string} The title for the dialog widget. - * @returns {any} - */ - setTitle(Title: string): any; - - /** Sets the content for the Dialog widget dynamically. - * @param {string} The content for the dialog widget. It accepts both string and HTML string. - * @returns {any} - */ - setContent(content: string): any; - - /** Sets the focus on the Dialog widget. - * @returns {any} - */ - focus(): any; -} -export module Dialog{ - -export interface Model { - - /** Adds action buttons like close, minimize, pin, maximize in the dialog header. - */ - actionButtons?: string[]; - - /** Specifies the ajaxSettings option to load the content to the Dialog control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Enables or disables draggable. - */ - allowDraggable?: boolean; - - /** Enables or disables keyboard interaction. - */ - allowKeyboardNavigation?: boolean; - - /** Customizes the Dialog widget animations. The Dialog widget can be animated while opening and closing the dialog. In order to customize animation effects, you need to set “enableAnimation” as true. It contains the following sub properties. - */ - animation?: any; - - /** Closes the dialog widget on pressing the ESC key when it is set to true. - */ - closeOnEscape?: boolean; - - /** The selector for the container element. If the property is set, then dialog will append to the selected element and it is restricted to move only within the specified container element. - */ - containment?: string; - - /** The content type to load the dialog content at run time. The possible values are null, AJAX, iframe and image. When it is null (default value), the content inside dialog element will be displayed as content and when it is not null, the content will be loaded from the URL specified in the contentUrl property. - */ - contentType?: string; - - /** The URL to load the dialog content (such as AJAX, image, and iframe). In order to load content from URL, you need to set contentType as ‘ajax’ or ‘iframe’ or ‘image’. - */ - contentUrl?: string; - - /** The root class for the Dialog widget to customize the existing theme. - */ - cssClass?: string; - - /** Enable or disables animation when the dialog is opened or closed. - */ - enableAnimation?: boolean; - - /** Enables or disables the Dialog widget. - */ - enabled?: boolean; - - /** Enable or disables modal dialog. The modal dialog acts like a child window that is displayed on top of the main window/screen and disables the main window interaction until it is closed. - */ - enableModal?: boolean; - - /** Allows the current model values to be saved in local storage or browser cookies for state maintenance when it is set to true. - */ - enablePersistence?: boolean; - - /** Allows the dialog to be resized. The dialog cannot be resized less than the minimum height, width values and greater than the maximum height and width. - */ - enableResize?: boolean; - - /** Displays dialog content from right to left when set to true. - */ - enableRTL?: boolean; - - /** The CSS class name to display the favicon in the dialog header. In order to display favicon, you need to set showHeader as true since the favicon will be displayed in the dialog header. - */ - faviconCSS?: string; + /** Name of the event. + */ + type?: string; - /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, “100px” as string type and “100”, “500” as integer type. - */ - height?: string|number; + /** URL of the content. + */ + URL?: string; - /** Specifies the HTML Attributes of the Dialog. - * @Default {{}} - */ - htmlAttributes?: any; + /** Error page content. + */ + responseText?: string; - /** Enable or disables responsive behavior. - */ - isResponsive?: boolean; + /** Error code. + */ + status?: number; - /** Default Value:{:.param}“en-US” - */ - locale?: number; + /** The corresponding error description. + */ + statusText?: string; + } - /** Sets the maximum height for the dialog widget. - */ - maxHeight?: number; + export interface AjaxSuccessEventArgs { - /** Sets the maximum width for the dialog widget. - */ - maxWidth?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Sets the minimum height for the dialog widget. - */ - minHeight?: number; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Sets the minimum width for the dialog widget. - */ - minWidth?: number; + /** Name of the event. + */ + type?: string; - /** Displays the Dialog widget at the given X and Y position. - */ - position?: any; + /** URL of the content. + */ + URL?: string; - /** Shows or hides the dialog header. - */ - showHeader?: boolean; + /** Response content. + */ + data?: string; + } - /** The Dialog widget can be opened by default i.e. on initialization, when it is set to true. - */ - showOnInit?: boolean; + export interface BeforeCloseEventArgs { - /** Enables or disables the rounder corner. - */ - showRoundedCorner?: boolean; + /** Current event object. + */ + event?: any; - /** The selector for the container element. If this property is set, the dialog will be displayed (positioned) based on its container. - */ - target?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** The title text to be displayed in the dialog header. In order to set title, you need to set showHeader as true since the title will be displayed in the dialog header. - */ - title?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Add or configure the tooltip text for actionButtons in the dialog header. - */ - tooltip?: any; + /** Name of the event. + */ + type?: string; + } - /** Sets the height for the dialog widget. It accepts both string and integer values. For example, it can accepts values like “auto”, “100%”, “100px” as string type and “100”, “500” as integer type. - */ - width?: string|number; + export interface CloseEventArgs { - /** Sets the z-index value for the Dialog widget. - */ - zIndex?: number; + /** Current event object. + */ + event?: any; - /** Sets the Footer for the Dialog widget. - */ - showFooter?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Sets the FooterTemplate for the Dialog widget. - */ - footerTemplateId?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** This event is triggered before the dialog widgets gets open. */ - beforeOpen? (e: BeforeOpenEventArgs): void; + /** Name of the event + */ + type?: string; + } - /** This event is triggered whenever the AJAX request fails to retrieve the dialog content. */ - ajaxError? (e: AjaxErrorEventArgs): void; + export interface ContentLoadEventArgs { - /** This event is triggered whenever the AJAX request to retrieve the dialog content, gets succeed. */ - ajaxSuccess? (e: AjaxSuccessEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** This event is triggered before the dialog widgets get closed. */ - beforeClose? (e: BeforeCloseEventArgs): void; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** This event is triggered after the dialog widget is closed. */ - close? (e: CloseEventArgs): void; + /** Name of the event. + */ + type?: string; - /** Triggered after the dialog content is loaded in DOM. */ - contentLoad? (e: ContentLoadEventArgs): void; + /** URL of the content. + */ + URL?: string; - /** Triggered after the dialog is created successfully */ - create? (e: CreateEventArgs): void; + /** Content type + */ + contentType?: any; + } - /** Triggered after the dialog widget is destroyed successfully */ - destroy? (e: DestroyEventArgs): void; + export interface CreateEventArgs { - /** Triggered while the dialog is dragged. */ - drag? (e: DragEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Triggered when the user starts dragging the dialog. */ - dragStart? (e: DragStartEventArgs): void; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Triggered when the user stops dragging the dialog. */ - dragStop? (e: DragStopEventArgs): void; + /** Name of the event. + */ + type?: string; + } - /** Triggered after the dialog is opened. */ - open? (e: OpenEventArgs): void; + export interface DestroyEventArgs { - /** Triggered while the dialog is resized. */ - resize? (e: ResizeEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Triggered when the user starts resizing the dialog. */ - resizeStart? (e: ResizeStartEventArgs): void; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Triggered when the user stops resizing the dialog. */ - resizeStop? (e: ResizeStopEventArgs): void; + /** Name of the event. + */ + type?: string; + } - /** Triggered when the dialog content is expanded. */ - expand? (e: ExpandEventArgs): void; + export interface DragEventArgs { - /** Triggered when the dialog content is collapsed. */ - collapse? (e: CollapseEventArgs): void; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Triggered when the custom action button clicked. */ - actionButtonClick? (e: ActionButtonClickEventArgs): void; -} + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; -export interface BeforeOpenEventArgs { + /** Name of the event. + */ + type?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Current event object. + */ + event?: any; + } - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + export interface DragStartEventArgs { - /** Name of the event - */ - type?: string; -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface AjaxErrorEventArgs { + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Name of the event. + */ + type?: string; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Current event object. + */ + event?: any; + } - /** Name of the event. - */ - type?: string; + export interface DragStopEventArgs { - /** URL of the content. - */ - URL?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Error page content. - */ - responseText?: string; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Error code. - */ - status?: number; + /** Name of the event. + */ + type?: string; - /** The corresponding error description. - */ - statusText?: string; -} + /** Current event object. + */ + event?: any; + } -export interface AjaxSuccessEventArgs { + export interface OpenEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; + } - /** URL of the content. - */ - URL?: string; + export interface ResizeEventArgs { - /** Response content. - */ - data?: string; -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface BeforeCloseEventArgs { + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Current event object. - */ - event?: any; + /** Name of the event. + */ + type?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Current event object. + */ + event?: any; + } - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + export interface ResizeStartEventArgs { - /** Name of the event. - */ - type?: string; -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface CloseEventArgs { + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Current event object. - */ - event?: any; + /** Name of the event + */ + type?: string; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Current event object. + */ + event?: any; + } - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + export interface ResizeStopEventArgs { - /** Name of the event - */ - type?: string; -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface ContentLoadEventArgs { + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Name of the event + */ + type?: string; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Current event object. + */ + event?: any; + } - /** Name of the event. - */ - type?: string; + export interface ExpandEventArgs { - /** URL of the content. - */ - URL?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Content type - */ - contentType?: any; -} + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; -export interface CreateEventArgs { + /** Name of the event. + */ + type?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface CollapseEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; + + /** Name of the event. + */ + type?: string; + } + + export interface ActionButtonClickEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Name of the event target attribute. + */ + buttonID?: string; + + /** Name of the event. + */ + type?: string; + + /** Instance of the dialog model object. + */ + model?: ej.Dialog.Model; + + /** Name of the event current target title. + */ + currentTarget?: string; + } + + export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; + + /** It specifies the HTTP request type. + */ + type?: string; + } + } + + class DropDownList extends ej.Widget { + static fn: DropDownList; + constructor(element: JQuery | Element, options?: DropDownList.Model); + static Locale: any; + model: DropDownList.Model; + defaults: DropDownList.Model; + + /** Adding a single item or an array of items into the DropDownList allows you to specify all the field attributes such as value, template, image URL, and HTML attributes for those items. + * @param {any|Array} this parameter should have field attributes with respect to mapped field attributes and it's corresponding values to fields + * @returns {void} + */ + addItem(data: any | any[]): void; + + /** This method is used to select all the items in the DropDownList. + * @returns {void} + */ + checkAll(): void; + + /** Clears the text in the DropDownList textbox. + * @returns {void} + */ + clearText(): void; + + /** Destroys the DropDownList widget. + * @returns {void} + */ + destroy(): void; + + /** This property is used to disable the DropDownList widget. + * @returns {void} + */ + disable(): void; + + /** This property disables the set of items in the DropDownList. + * @param {string|number|Array} disable the given index list items + * @returns {void} + */ + disableItemsByIndices(index: string | number | any[]): void; + + /** This property enables the DropDownList control. + * @returns {void} + */ + enable(): void; + + /** Enables an Item or set of Items that are disabled in the DropDownList + * @param {string|number|Array} enable the given index list items if it's disabled + * @returns {void} + */ + enableItemsByIndices(index: string | number | any[]): void; + + /** This method retrieves the items using given value. + * @param {string|number|any} Return the whole object of data based on given value + * @returns {Array} + */ + getItemDataByValue(value: string | number | any): any[]; + + /** This method is used to retrieve the items that are bound with the DropDownList. + * @returns {any} + */ + getListData(): any; + + /** This method is used to get the selected items in the DropDownList. + * @returns {Array} + */ + getSelectedItem(): any[]; + + /** This method is used to retrieve the items value that are selected in the DropDownList. + * @returns {string} + */ + getSelectedValue(): string; + + /** This method hides the suggestion popup in the DropDownList. + * @returns {void} + */ + hidePopup(): void; + + /** This method is used to select the list of items in the DropDownList through the Index of the items. + * @param {string|number|Array} select the given index list items + * @returns {void} + */ + selectItemsByIndices(index: string | number | any[]): void; + + /** This method is used to select an item in the DropDownList by using the given text value. + * @param {string|number|Array} select the list items relates to given text + * @returns {void} + */ + selectItemByText(index: string | number | any[]): void; + + /** This method is used to select an item in the DropDownList by using the given value. + * @param {string|number|Array} select the list items relates to given values + * @returns {void} + */ + selectItemByValue(index: string | number | any[]): void; + + /** This method shows the DropDownList control with the suggestion popup. + * @returns {void} + */ + showPopup(): void; + + /** This method is used to unselect all the items in the DropDownList. + * @returns {void} + */ + unCheckAll(): void; + + /** This method is used to unselect the list of items in the DropDownList through Index of the items. + * @param {string|number|Array} unselect the given index list items + * @returns {void} + */ + unselectItemsByIndices(index: string | number | any[]): void; + + /** This method is used to unselect an item in the DropDownList by using the given text value. + * @param {string|number|Array} unselect the list items relates to given text + * @returns {void} + */ + unselectItemByText(index: string | number | any[]): void; + + /** This method is used to unselect an item in the DropDownList by using the given value. + * @param {string|number|Array} unselect the list items relates to given values + * @returns {void} + */ + unselectItemByValue(index: string | number | any[]): void; + } + export namespace DropDownList { + + export interface Model { + + /** The Virtual Scrolling(lazy loading) feature is used to display a large amount of data that you require without buffering the entire load of a huge database records in the DropDownList, + * that is, when scrolling, an AJAX request is sent to fetch some amount of data from the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** The cascading DropDownLists is a series of two or more DropDownLists in which each DropDownList is filtered according to the previous DropDownList’s value. + * @Default {null} + */ + cascadeTo?: string; + + /** Sets the case sensitivity of the search operation. It supports both enableFilterSearch and enableIncrementalSearch property. + * @Default {false} + */ + caseSensitiveSearch?: boolean; + + /** Dropdown widget's style and appearance can be controlled based on 13 different default built-in themes.You can customize the appearance of the dropdown by using the cssClass property. + * You need to specify a class name in the cssClass property and the same class name is used before the class definitions wherever the custom styles are applied. + */ + cssClass?: string; + + /** This property is used to serve data from the data services based on the query provided. To bind the data to the dropdown widget, + * the dataSource property is assigned with the instance of the ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Sets the separator when the multiSelectMode with delimiter option or checkbox is enabled with the dropdown. When you enter the delimiter value,the texts after the delimiter are considered + * as a separate word or query. The delimiter string is a single character and must be a symbol. Mostly, the delimiter symbol is used as comma (,) or semi-colon (;) or any other special character. + * @Default {','} + */ + delimiterChar?: string; + + /** The enabled Animation property uses the easeOutQuad animation to SlideDown and SlideUp the Popup list in 200 and 100 milliseconds, respectively. + * @Default {false} + */ + enableAnimation?: boolean; + + /** This property is used to indicate whether the DropDownList control responds to the user interaction or not. By default, the control is in the enabled mode + * and you can disable it by setting it to false. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies to perform incremental search for the selection of items from the DropDownList with the help of this property. This helps in selecting the item by using the typed character. + * @Default {true} + */ + enableIncrementalSearch?: boolean; + + /** This property selects the item in the DropDownList when the item is entered in the Search textbox. + * @Default {false} + */ + enableFilterSearch?: boolean; + + /** Saves the current model value to the browser cookies for state maintenance. While refreshing the DropDownList control page, it retains the model value and + * it is applied from the browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** This enables the resize handler to resize the popup to any size. + * @Default {false} + */ + enablePopupResize?: boolean; + + /** Sets the DropDownList textbox direction from right to left align. + * @Default {false} + */ + enableRTL?: boolean; + + /** This property is used to sort the Items in the DropDownList. By default, it sorts the items in an ascending order. + * @Default {false} + */ + enableSorting?: boolean; + + /** Specifies the mapping fields for the data items of the DropDownList. + * @Default {null} + */ + fields?: Fields; + + /** When the enableFilterSearch property value is set to true, the values in the DropDownList shows the items starting with or containing the key word/letter typed in the Search textbox. + * @Default {ej.FilterType.Contains} + */ + filterType?: ej.FilterType | string; + + /** Used to create visualized header for dropdown items + * @Default {null} + */ + headerTemplate?: string; + + /** Defines the height of the DropDownList textbox. + * @Default {null} + */ + height?: string | number; + + /** It sets the given HTML attributes for the DropDownList control such as ID, name, disabled, etc. + * @Default {null} + */ + htmlAttributes?: any; + + /** Data can be fetched in the DropDownList control by using the DataSource, specifying the number of items. + * @Default {5} + */ + itemsCount?: number; + + /** Allows the user to set the particular country or region language for the DropDownList. + * @Default {en-US} + */ + locale?: string; + + /** Defines the maximum height of the suggestion box. This property restricts the maximum height of the popup when resize is enabled. + * @Default {null} + */ + maxPopupHeight?: string | number; + + /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. + * @Default {null} + */ + minPopupHeight?: string | number; + + /** Defines the maximum width of the suggestion box. This property restricts the maximum width of the popup when resize is enabled. + * @Default {null} + */ + maxPopupWidth?: string | number; + + /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. + * @Default {0} + */ + minPopupWidth?: string | number; + + /** With the help of this property, you can make a single or multi selection with the DropDownList and display the text in two modes, delimiter and visual mode. + * In delimiter mode, you can separate the items by using the delimiter character such as comma (,) or semi-colon (;) or any other special character. + * In the visual mode, the items are showcased like boxes with close icon in the textbox. + * @Default {ej.MultiSelectMode.None} + */ + multiSelectMode?: ej.MultiSelectMode | string; + + /** Defines the height of the suggestion popup box in the DropDownList control. + * @Default {152px} + */ + popupHeight?: string | number; + + /** Defines the width of the suggestion popup box in the DropDownList control. + * @Default {auto} + */ + popupWidth?: string | number; + + /** Specifies the query to retrieve the data from the DataSource. + * @Default {null} + */ + query?: any; + + /** Specifies that the DropDownList textbox values should be read-only. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies an item to be selected in the DropDownList. + * @Default {null} + */ + selectedIndex?: number; + + /** Specifies the selectedItems for the DropDownList. + * @Default {[]} + */ + selectedIndices?: any[]; + + /** Selects multiple items in the DropDownList with the help of the checkbox control. To achieve this, enable the showCheckbox option to true. + * @Default {false} + */ + showCheckbox?: boolean; + + /** DropDownList control is displayed with the popup seen. + * @Default {false} + */ + showPopupOnLoad?: boolean; + + /** DropDownList textbox displayed with the rounded corner style. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** When the enableSorting property value is set to true, this property helps to sort the items either in ascending or descending order + * @Default {ej.SortOrder.Ascending} + */ + sortOrder?: ej.SortOrder | string; + + /** Specifies the targetID for the DropDownList’s items. + * @Default {null} + */ + targetID?: string; + + /** By default, you can add any text or image to the DropDownList item. To customize the item layout or to create your own visualized elements, you can use this template support. + * @Default {null} + */ + template?: string; + + /** Defines the text value that is displayed in the DropDownList textbox. + * @Default {null} + */ + text?: string | number; + + /** Sets the jQuery validation error message in the DropDownList + * @Default {null} + */ + validationMessage?: any; + + /** Sets the jQuery validation rules in the Dropdownlist. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value (text content) for the DropDownList control. + * @Default {null} + */ + value?: string | number; + + /** Specifies a short hint that describes the expected value of the DropDownList control. + * @Default {null} + */ + watermarkText?: string; + + /** Defines the width of the DropDownList textbox. + * @Default {null} + */ + width?: string | number; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** The Virtual Scrolling feature is used to display a large amount of records in the DropDownList, that is, when scrolling, an AJAX request is sent to fetch some amount of data from + * the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. + * You can set the itemsCount property that represents the number of items to be fetched from the server on every AJAX request. + * @Default {normal} + */ + virtualScrollMode?: ej.VirtualScrollMode | string; - /** Name of the event. - */ - type?: string; -} + /** Fires the action before the XHR request. */ + actionBegin?(e: ActionBeginEventArgs): void; -export interface DestroyEventArgs { + /** Fires the action when the list of items is bound to the DropDownList by xhr post calling */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires the action when the xhr post calling failed on remote data binding with the DropDownList control. */ + actionFailure?(e: ActionFailureEventArgs): void; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Fires the action when the xhr post calling succeed on remote data binding with the DropDownList control */ + actionSuccess?(e: ActionSuccessEventArgs): void; - /** Name of the event. - */ - type?: string; -} + /** Fires the action before the popup is ready to hide. */ + beforePopupHide?(e: BeforePopupHideEventArgs): void; -export interface DragEventArgs { + /** Fires the action before the popup is ready to be displayed. */ + beforePopupShown?(e: BeforePopupShownEventArgs): void; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires when the cascading happens between two DropDownList exactly after the value changes in the first dropdown and before filtering in the second Dropdown. */ + cascade?(e: CascadeEventArgs): void; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Fires the action when the DropDownList control’s value is changed. */ + change?(e: ChangeEventArgs): void; - /** Name of the event. - */ - type?: string; + /** Fires the action when the list item checkbox value is changed. */ + checkChange?(e: CheckChangeEventArgs): void; - /** Current event object. - */ - event?: any; -} + /** Fires the action once the DropDownList is created. */ + create?(e: CreateEventArgs): void; -export interface DragStartEventArgs { + /** Fires the action when the list items is bound to the DropDownList. */ + dataBound?(e: DataBoundEventArgs): void; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires the action when the DropDownList is destroyed. */ + destroy?(e: DestroyEventArgs): void; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Fires the action when the DropDownList is focused. */ + focusIn?(e: FocusInEventArgs): void; - /** Name of the event. - */ - type?: string; + /** Fires the action when the DropDownList is about to lose focus. */ + focusOut?(e: FocusOutEventArgs): void; - /** Current event object. - */ - event?: any; -} + /** Fires the action, once the popup is closed */ + popupHide?(e: PopupHideEventArgs): void; -export interface DragStopEventArgs { + /** Fires the action, when the popup is resized. */ + popupResize?(e: PopupResizeEventArgs): void; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires the action, once the popup is opened. */ + popupShown?(e: PopupShownEventArgs): void; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Fires the action, when resizing a popup starts. */ + popupResizeStart?(e: PopupResizeStartEventArgs): void; - /** Name of the event. - */ - type?: string; + /** Fires the action, when the popup resizing is stopped. */ + popupResizeStop?(e: PopupResizeStopEventArgs): void; - /** Current event object. - */ - event?: any; -} + /** Fires the action before filtering the list items that starts in the DropDownList when the enableFilterSearch is enabled. */ + search?(e: SearchEventArgs): void; -export interface OpenEventArgs { + /** Fires the action, when the list of item is selected. */ + select?(e: SelectEventArgs): void; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface ActionBeginEventArgs { - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; -} + /** returns the DropDownList model + */ + model?: any; -export interface ResizeEventArgs { + /** returns the name of the event + */ + type?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface ActionCompleteEventArgs { - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; + /** Returns number of times trying to fetch the data + */ + count?: number; - /** Current event object. - */ - event?: any; -} + /** returns the DropDownList model + */ + model?: any; -export interface ResizeStartEventArgs { + /** Returns the query for data retrieval + */ + query?: any; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Returns the query for data retrieval from the Database + */ + request?: any; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** returns the name of the event + */ + type?: string; - /** Name of the event - */ - type?: string; + /** Returns the number of items fetched from remote data + */ + result?: any[]; - /** Current event object. - */ - event?: any; -} + /** Returns the requested data + */ + xhr?: any; + } -export interface ResizeStopEventArgs { + export interface ActionFailureEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** Returns the error message + */ + error?: any; - /** Name of the event - */ - type?: string; + /** returns the DropDownList model + */ + model?: any; - /** Current event object. - */ - event?: any; -} + /** Returns the query for data retrieval + */ + query?: any; -export interface ExpandEventArgs { + /** returns the name of the event + */ + type?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface ActionSuccessEventArgs { - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Name of the event. - */ - type?: string; -} + /** Returns number of times trying to fetch the data + */ + count?: number; -export interface CollapseEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event. - */ - type?: string; -} - -export interface ActionButtonClickEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Name of the event target attribute. - */ - buttonID?: string; - - /** Name of the event. - */ - type?: string; - - /** Instance of the dialog model object. - */ - model?: ej.Dialog.Model; - - /** Name of the event current target title. - */ - currentTarget?: string; -} - -export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; -} -} - -class DropDownList extends ej.Widget { - static fn: DropDownList; - constructor(element: JQuery, options?: DropDownList.Model); - constructor(element: Element, options?: DropDownList.Model); - static Locale: any; - model:DropDownList.Model; - defaults:DropDownList.Model; - - /** Adding a single item or an array of items into the DropDownList allows you to specify all the field attributes such as value, template, image URL, and HTML attributes for those items. - * @param {any|Array} this parameter should have field attributes with respect to mapped field attributes and it's corresponding values to fields - * @returns {void} - */ - addItem(data: any|Array): void; - - /** This method is used to select all the items in the DropDownList. - * @returns {void} - */ - checkAll(): void; - - /** Clears the text in the DropDownList textbox. - * @returns {void} - */ - clearText(): void; - - /** Destroys the DropDownList widget. - * @returns {void} - */ - destroy(): void; - - /** This property is used to disable the DropDownList widget. - * @returns {void} - */ - disable(): void; - - /** This property disables the set of items in the DropDownList. - * @param {string|number|Array} disable the given index list items - * @returns {void} - */ - disableItemsByIndices(index: string|number|Array): void; - - /** This property enables the DropDownList control. - * @returns {void} - */ - enable(): void; - - /** Enables an Item or set of Items that are disabled in the DropDownList - * @param {string|number|Array} enable the given index list items if it's disabled - * @returns {void} - */ - enableItemsByIndices(index: string|number|Array): void; - - /** This method retrieves the items using given value. - * @param {string|number|any} Return the whole object of data based on given value - * @returns {Array} - */ - getItemDataByValue(value: string|number|any): Array; - - /** This method is used to retrieve the items that are bound with the DropDownList. - * @returns {any} - */ - getListData(): any; - - /** This method is used to get the selected items in the DropDownList. - * @returns {Array} - */ - getSelectedItem(): Array; - - /** This method is used to retrieve the items value that are selected in the DropDownList. - * @returns {string} - */ - getSelectedValue(): string; - - /** This method hides the suggestion popup in the DropDownList. - * @returns {void} - */ - hidePopup(): void; - - /** This method is used to select the list of items in the DropDownList through the Index of the items. - * @param {string|number|Array} select the given index list items - * @returns {void} - */ - selectItemsByIndices(index: string|number|Array): void; - - /** This method is used to select an item in the DropDownList by using the given text value. - * @param {string|number|Array} select the list items relates to given text - * @returns {void} - */ - selectItemByText(index: string|number|Array): void; - - /** This method is used to select an item in the DropDownList by using the given value. - * @param {string|number|Array} select the list items relates to given values - * @returns {void} - */ - selectItemByValue(index: string|number|Array): void; - - /** This method shows the DropDownList control with the suggestion popup. - * @returns {void} - */ - showPopup(): void; - - /** This method is used to unselect all the items in the DropDownList. - * @returns {void} - */ - unCheckAll(): void; - - /** This method is used to unselect the list of items in the DropDownList through Index of the items. - * @param {string|number|Array} unselect the given index list items - * @returns {void} - */ - unselectItemsByIndices(index: string|number|Array): void; - - /** This method is used to unselect an item in the DropDownList by using the given text value. - * @param {string|number|Array} unselect the list items relates to given text - * @returns {void} - */ - unselectItemByText(index: string|number|Array): void; - - /** This method is used to unselect an item in the DropDownList by using the given value. - * @param {string|number|Array} unselect the list items relates to given values - * @returns {void} - */ - unselectItemByValue(index: string|number|Array): void; -} -export module DropDownList{ - -export interface Model { - - /** The Virtual Scrolling(lazy loading) feature is used to display a large amount of data that you require without buffering the entire load of a huge database records in the DropDownList, that is, when scrolling, an AJAX request is sent to fetch some amount of data from the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** The cascading DropDownLists is a series of two or more DropDownLists in which each DropDownList is filtered according to the previous DropDownList’s value. - * @Default {null} - */ - cascadeTo?: string; - - /** Sets the case sensitivity of the search operation. It supports both enableFilterSearch and enableIncrementalSearch property. - * @Default {false} - */ - caseSensitiveSearch?: boolean; - - /** Dropdown widget's style and appearance can be controlled based on 13 different default built-in themes.You can customize the appearance of the dropdown by using the cssClass property. You need to specify a class name in the cssClass property and the same class name is used before the class definitions wherever the custom styles are applied. - */ - cssClass?: string; - - /** This property is used to serve data from the data services based on the query provided. To bind the data to the dropdown widget, the dataSource property is assigned with the instance of the ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Sets the separator when the multiSelectMode with delimiter option or checkbox is enabled with the dropdown. When you enter the delimiter value, the texts after the delimiter are considered as a separate word or query. The delimiter string is a single character and must be a symbol. Mostly, the delimiter symbol is used as comma (,) or semi-colon (;) or any other special character. - * @Default {','} - */ - delimiterChar?: string; - - /** The enabled Animation property uses the easeOutQuad animation to SlideDown and SlideUp the Popup list in 200 and 100 milliseconds, respectively. - * @Default {false} - */ - enableAnimation?: boolean; - - /** This property is used to indicate whether the DropDownList control responds to the user interaction or not. By default, the control is in the enabled mode and you can disable it by setting it to false. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies to perform incremental search for the selection of items from the DropDownList with the help of this property. This helps in selecting the item by using the typed character. - * @Default {true} - */ - enableIncrementalSearch?: boolean; - - /** This property selects the item in the DropDownList when the item is entered in the Search textbox. - * @Default {false} - */ - enableFilterSearch?: boolean; - - /** Saves the current model value to the browser cookies for state maintenance. While refreshing the DropDownList control page, it retains the model value and it is applied from the browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** This enables the resize handler to resize the popup to any size. - * @Default {false} - */ - enablePopupResize?: boolean; - - /** Sets the DropDownList textbox direction from right to left align. - * @Default {false} - */ - enableRTL?: boolean; - - /** This property is used to sort the Items in the DropDownList. By default, it sorts the items in an ascending order. - * @Default {false} - */ - enableSorting?: boolean; - - /** Specifies the mapping fields for the data items of the DropDownList. - * @Default {null} - */ - fields?: Fields; - - /** When the enableFilterSearch property value is set to true, the values in the DropDownList shows the items starting with or containing the key word/letter typed in the Search textbox. - * @Default {ej.FilterType.Contains} - */ - filterType?: ej.FilterType|string; - - /** Used to create visualized header for dropdown items - * @Default {null} - */ - headerTemplate?: string; - - /** Defines the height of the DropDownList textbox. - * @Default {null} - */ - height?: string|number; - - /** It sets the given HTML attributes for the DropDownList control such as ID, name, disabled, etc. - * @Default {null} - */ - htmlAttributes?: any; - - /** Data can be fetched in the DropDownList control by using the DataSource, specifying the number of items. - * @Default {5} - */ - itemsCount?: number; - - /** Allows the user to set the particular country or region language for the DropDownList. - * @Default {en-US} - */ - locale?: string; - - /** Defines the maximum height of the suggestion box. This property restricts the maximum height of the popup when resize is enabled. - * @Default {null} - */ - maxPopupHeight?: string|number; - - /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. - * @Default {null} - */ - minPopupHeight?: string|number; - - /** Defines the maximum width of the suggestion box. This property restricts the maximum width of the popup when resize is enabled. - * @Default {null} - */ - maxPopupWidth?: string|number; - - /** Defines the minimum height of the suggestion box. This property restricts the minimum height of the popup when resize is enabled. - * @Default {0} - */ - minPopupWidth?: string|number; - - /** With the help of this property, you can make a single or multi selection with the DropDownList and display the text in two modes, delimiter and visual mode. In delimiter mode, you can separate the items by using the delimiter character such as comma (,) or semi-colon (;) or any other special character. In the visual mode, the items are showcased like boxes with close icon in the textbox. - * @Default {ej.MultiSelectMode.None} - */ - multiSelectMode?: ej.MultiSelectMode|string; - - /** Defines the height of the suggestion popup box in the DropDownList control. - * @Default {152px} - */ - popupHeight?: string|number; - - /** Defines the width of the suggestion popup box in the DropDownList control. - * @Default {auto} - */ - popupWidth?: string|number; - - /** Specifies the query to retrieve the data from the DataSource. - * @Default {null} - */ - query?: any; - - /** Specifies that the DropDownList textbox values should be read-only. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies an item to be selected in the DropDownList. - * @Default {null} - */ - selectedIndex?: number; - - /** Specifies the selectedItems for the DropDownList. - * @Default {[]} - */ - selectedIndices?: Array; - - /** Selects multiple items in the DropDownList with the help of the checkbox control. To achieve this, enable the showCheckbox option to true. - * @Default {false} - */ - showCheckbox?: boolean; - - /** DropDownList control is displayed with the popup seen. - * @Default {false} - */ - showPopupOnLoad?: boolean; - - /** DropDownList textbox displayed with the rounded corner style. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** When the enableSorting property value is set to true, this property helps to sort the items either in ascending or descending order - * @Default {ej.SortOrder.Ascending} - */ - sortOrder?: ej.SortOrder|string; - - /** Specifies the targetID for the DropDownList’s items. - * @Default {null} - */ - targetID?: string; - - /** By default, you can add any text or image to the DropDownList item. To customize the item layout or to create your own visualized elements, you can use this template support. - * @Default {null} - */ - template?: string; - - /** Defines the text value that is displayed in the DropDownList textbox. - * @Default {null} - */ - text?: string; + /** returns the DropDownList model + */ + model?: any; - /** Sets the jQuery validation error message in the DropDownList - * @Default {null} - */ - validationMessage?: any; + /** Returns the query for data retrieval + */ + query?: any; - /** Sets the jQuery validation rules in the Dropdownlist. - * @Default {null} - */ - validationRules?: any; + /** Returns the query for data retrieval from the Database + */ + request?: any; - /** Specifies the value (text content) for the DropDownList control. - * @Default {null} - */ - value?: string|number; + /** returns the name of the event + */ + type?: string; - /** Specifies a short hint that describes the expected value of the DropDownList control. - * @Default {null} - */ - watermarkText?: string; + /** Returns the number of items fetched from remote data + */ + result?: any[]; - /** Defines the width of the DropDownList textbox. - * @Default {null} - */ - width?: string|number; + /** Returns the requested data + */ + xhr?: any; + } - /** The Virtual Scrolling feature is used to display a large amount of records in the DropDownList, that is, when scrolling, an AJAX request is sent to fetch some amount of data from the server dynamically. To achieve this scenario with DropDownList, set the allowVirtualScrolling to true. You can set the itemsCount property that represents the number of items to be fetched from the server on every AJAX request. - * @Default {normal} - */ - virtualScrollMode?: ej.VirtualScrollMode|string; + export interface BeforePopupHideEventArgs { - /** Fires the action before the XHR request. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires the action when the list of items is bound to the DropDownList by xhr post calling */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** returns the DropDownList model + */ + model?: any; - /** Fires the action when the xhr post calling failed on remote data binding with the DropDownList control. */ - actionFailure? (e: ActionFailureEventArgs): void; + /** returns the name of the event + */ + type?: string; - /** Fires the action when the xhr post calling succeed on remote data binding with the DropDownList control */ - actionSuccess? (e: ActionSuccessEventArgs): void; + /** returns the selected text + */ + text?: string; - /** Fires the action before the popup is ready to hide. */ - beforePopupHide? (e: BeforePopupHideEventArgs): void; + /** returns the selected value + */ + value?: string; + } - /** Fires the action before the popup is ready to be displayed. */ - beforePopupShown? (e: BeforePopupShownEventArgs): void; + export interface BeforePopupShownEventArgs { - /** Fires when the cascading happens between two DropDownList exactly after the value changes in the first dropdown and before filtering in the second Dropdown. */ - cascade? (e: CascadeEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires the action when the DropDownList control’s value is changed. */ - change? (e: ChangeEventArgs): void; + /** returns the DropDownList model + */ + model?: any; - /** Fires the action when the list item checkbox value is changed. */ - checkChange? (e: CheckChangeEventArgs): void; + /** returns the name of the event + */ + type?: string; - /** Fires the action once the DropDownList is created. */ - create? (e: CreateEventArgs): void; + /** returns the selected text + */ + text?: string; - /** Fires the action when the list items is bound to the DropDownList. */ - dataBound? (e: DataBoundEventArgs): void; + /** returns the selected value + */ + value?: string; + } - /** Fires the action when the DropDownList is destroyed. */ - destroy? (e: DestroyEventArgs): void; + export interface CascadeEventArgs { - /** Fires the action when the DropDownList is focused. */ - focusIn? (e: FocusInEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires the action when the DropDownList is about to lose focus. */ - focusOut? (e: FocusOutEventArgs): void; + /** Returns the cascading dropdown model. + */ + cascadeModel?: any; - /** Fires the action, once the popup is closed */ - popupHide? (e: PopupHideEventArgs): void; + /** returns the current selected value in first dropdown. + */ + cascadeValue?: string; - /** Fires the action, when the popup is resized. */ - popupResize? (e: PopupResizeEventArgs): void; + /** returns the DropDownList model + */ + model?: any; - /** Fires the action, once the popup is opened. */ - popupShown? (e: PopupShownEventArgs): void; + /** returns the default filter action for second dropdown data should happen or not. + */ + requiresDefaultFilter?: boolean; - /** Fires the action, when resizing a popup starts. */ - popupResizeStart? (e: PopupResizeStartEventArgs): void; + /** returns the name of the event + */ + type?: string; + } - /** Fires the action, when the popup resizing is stopped. */ - popupResizeStop? (e: PopupResizeStopEventArgs): void; + export interface ChangeEventArgs { - /** Fires the action before filtering the list items that starts in the DropDownList when the enableFilterSearch is enabled. */ - search? (e: SearchEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires the action, when the list of item is selected. */ - select? (e: SelectEventArgs): void; -} + /** Returns the selected item with checkbox checked or not. + */ + isChecked?: boolean; -export interface ActionBeginEventArgs { + /** Returns the selected item ID. + */ + itemId?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the DropDownList model + */ + model?: any; - /** returns the DropDownList model - */ - model?: any; + /** Returns the selected item text. + */ + selectedText?: string; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; -export interface ActionCompleteEventArgs { + /** Returns the selected text. + */ + text?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Returns the selected value. + */ + value?: string; + } - /** Returns number of times trying to fetch the data - */ - count?: number; + export interface CheckChangeEventArgs { - /** returns the DropDownList model - */ - model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the query for data retrieval - */ - query?: any; + /** Returns the selected item with checkbox checked or not. + */ + isChecked?: boolean; - /** Returns the query for data retrieval from the Database - */ - request?: any; + /** Returns the selected item ID. + */ + itemId?: string; - /** returns the name of the event - */ - type?: string; + /** returns the DropDownList model + */ + model?: any; - /** Returns the number of items fetched from remote data - */ - result?: Array; + /** Returns the selected item text. + */ + selectedText?: string; - /** Returns the requested data - */ - xhr?: any; -} + /** returns the name of the event + */ + type?: string; -export interface ActionFailureEventArgs { + /** Returns the selected text. + */ + text?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Returns the selected value. + */ + value?: string; + } - /** Returns the error message - */ - error?: any; + export interface CreateEventArgs { - /** returns the DropDownList model - */ - model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the query for data retrieval - */ - query?: any; + /** returns the DropDownList model + */ + model?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface ActionSuccessEventArgs { + export interface DataBoundEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns number of times trying to fetch the data - */ - count?: number; + /** returns the DropDownList model + */ + model?: any; - /** returns the DropDownList model - */ - model?: any; + /** returns the name of the event + */ + type?: string; - /** Returns the query for data retrieval - */ - query?: any; + /** returns the data that is bound to DropDownList + */ + data?: any; + } - /** Returns the query for data retrieval from the Database - */ - request?: any; + export interface DestroyEventArgs { - /** returns the name of the event - */ - type?: string; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the number of items fetched from remote data - */ - result?: Array; + /** returns the DropDownList model + */ + model?: any; - /** Returns the requested data - */ - xhr?: any; -} + /** returns the name of the event + */ + type?: string; + } -export interface BeforePopupHideEventArgs { + export interface FocusInEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the DropDownList model - */ - model?: any; + /** returns the DropDownList model + */ + model?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; + } - /** returns the selected text - */ - text?: string; + export interface FocusOutEventArgs { - /** returns the selected value - */ - value?: string; -} + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface BeforePopupShownEventArgs { + /** returns the DropDownList model + */ + model?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; + } - /** returns the DropDownList model - */ - model?: any; + export interface PopupHideEventArgs { - /** returns the name of the event - */ - type?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the selected text - */ - text?: string; + /** returns the DropDownList model + */ + model?: any; - /** returns the selected value - */ - value?: string; -} + /** returns the name of the event + */ + type?: string; -export interface CascadeEventArgs { + /** returns the selected text + */ + text?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the selected value + */ + value?: string; + } - /** Returns the cascading dropdown model. - */ - cascadeModel?: any; + export interface PopupResizeEventArgs { - /** returns the current selected value in first dropdown. - */ - cascadeValue?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the DropDownList model - */ - model?: any; + /** returns the DropDownList model + */ + model?: any; - /** returns the default filter action for second dropdown data should happen or not. - */ - requiresDefaultFilter?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; -} + /** Returns the data from the resizable plugin. + */ + event?: any; + } -export interface ChangeEventArgs { + export interface PopupShownEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the selected item with checkbox checked or not. - */ - isChecked?: boolean; + /** returns the DropDownList model + */ + model?: any; - /** Returns the selected item ID. - */ - itemId?: string; + /** returns the name of the event + */ + type?: string; - /** returns the DropDownList model - */ - model?: any; + /** returns the selected text + */ + text?: string; - /** Returns the selected item text. - */ - selectedText?: string; + /** returns the selected value + */ + value?: string; + } - /** returns the name of the event - */ - type?: string; + export interface PopupResizeStartEventArgs { - /** Returns the selected text. - */ - text?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the selected value. - */ - value?: string; -} + /** returns the DropDownList model + */ + model?: any; -export interface CheckChangeEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Returns the data from the resizable plugin. + */ + event?: any; + } - /** Returns the selected item with checkbox checked or not. - */ - isChecked?: boolean; + export interface PopupResizeStopEventArgs { - /** Returns the selected item ID. - */ - itemId?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the DropDownList model - */ - model?: any; + /** returns the DropDownList model + */ + model?: any; - /** Returns the selected item text. - */ - selectedText?: string; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** Returns the data from the resizable plugin. + */ + event?: any; + } - /** Returns the selected text. - */ - text?: string; + export interface SearchEventArgs { - /** Returns the selected value. - */ - value?: string; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface CreateEventArgs { + /** Returns the data bound to the DropDownList. + */ + items?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the DropDownList model + */ + model?: any; + + /** Returns the selected item text. + */ + selectedText?: string; + + /** returns the name of the event + */ + type?: string; + + /** Returns the search string typed in search box. + */ + searchString?: string; + } + + export interface SelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the selected item with checkbox checked or not. + */ + isChecked?: boolean; + + /** Returns the selected item ID. + */ + itemId?: string; + + /** returns the DropDownList model + */ + model?: any; + + /** Returns the selected item text. + */ + selectedText?: string; + + /** returns the name of the event + */ + type?: string; + + /** Returns the selected text. + */ + text?: string; + + /** Returns the selected value. + */ + value?: string; + } + + export interface Fields { + + /** Used to group the items. + */ + groupBy?: string; + + /** Defines the HTML attributes such as ID, class, and styles for the item. + */ + htmlAttributes?: any; + + /** Defines the ID for the tag. + */ + id?: string; + + /** Defines the image attributes such as height, width, styles, and so on. + */ + imageAttributes?: string; + + /** Defines the imageURL for the image location. + */ + imageUrl?: string; + + /** Defines the tag value to be selected initially. + */ + selected?: boolean; + + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; + + /** Defines the table name for tag value or display text while rendering remote data. + */ + tableName?: string; + + /** Defines the text content for the tag. + */ + text?: string; + + /** Defines the tag value. + */ + value?: string; + } + } + enum FilterType { + //filter the data wherever contains search key + Contains, + //filter the data based on search key present at start position + StartsWith, + } + enum MultiSelectMode { + // can select only single item in DropDownList + None, + //can select multiple items and it's separated by delimiterChar + Delimiter, + // can select multiple items and it's show's like visual box in textbox + VisualMode, + } + enum VirtualScrollMode { + // The data is loaded only to the corresponding page (display items). When scrolling some other position, it enables the load on demand with the DropDownList. + Normal, + //The data items are loaded from the remote when scroll handle reaches the end of the scrollbar like infinity scrolling. + Continuous, + } + + class Tooltip extends ej.Widget { + static fn: Tooltip; + constructor(element: JQuery | Element, options?: Tooltip.Model); + static Locale: any; + model: Tooltip.Model; + defaults: Tooltip.Model; + + /** Destroys the Tooltip control. + * @returns {void} + */ + destroy(): void; + + /** Disables the Tooltip control. + * @returns {void} + */ + disable(): void; + + /** Enables the Tooltip control. + * @returns {void} + */ + enable(): void; + + /** Hide the Tooltip popup. + * @param {string} optional Determines the type of effect that takes place when hiding the tooltip. + * @param {Function} optional custom effect takes place when hiding the tooltip. + * @returns {void} + */ + hide(effect?: string, func?: any): void; + + /** Shows the Tooltip popup for the given target element with the specified effect. + * @param {string} optional Determines the type of effect that takes place when showing the tooltip. + * @param {Function} optional custom effect takes place when showing the tooltip. + * @param {JQuery} optional Tooltip will be shown for the given element + * @returns {void} + */ + show(effect?: string, func?: any, target?: JQuery): void; + } + export namespace Tooltip { + + export interface Model { + + /** Tooltip control can be accessed through the keyboard shortcut keys. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specifies the animation behavior in Tooltip. It contains the following sub properties. + */ + animation?: Animation; + + /** Sets the position related to target element, window, mouse or (x,y) co-ordinates. + * @Default {ej.Tooltip.Associate.Target} + */ + associate?: ej.Tooltip.Associate | string; + + /** Specified the delay to hide Tooltip when closeMode is auto. + * @Default {4000} + */ + autoCloseTimeout?: number; + + /** Specifies the closing behavior of Tooltip popup. + * @Default {ej.Tooltip.CloseMode.None} + */ + closeMode?: ej.Tooltip.CloseMode | string; + + /** Sets the Tooltip in alternate position when collision occurs. + * @Default {ej.Tooltip.Collision.FlipFit} + */ + collision?: ej.Tooltip.Collision | string; + + /** Specified the selector for the container element. + * @Default {body} + */ + containment?: string; + + /** Specifies the text for Tooltip. + * @Default {null} + */ + content?: string; + + /** Sets the root CSS class for Tooltip for the customization. + * @Default {null} + */ + cssClass?: string; + + /** Enables or disables the Tooltip. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the Tooltip direction from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines the height of the Tooltip popup. + * @Default {auto} + */ + height?: string | number; + + /** Enables the arrow in Tooltip. + * @Default {true} + */ + isBalloon?: boolean; + + /** defines various attributes of the Tooltip position + */ + position?: Position; + + /** Enables or disables rounded corner. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Enables or disables shadow effect. + * @Default {false} + */ + showShadow?: boolean; + + /** Specified a selector for elements, within the container. + * @Default {null} + */ + target?: string; + + /** The title text to be displayed in the Tooltip header. + * @Default {null} + */ + title?: string; + + /** Specified the event action to show case the Tooltip. + * @Default {ej.Tooltip.Trigger.Hover} + */ + trigger?: ej.Tooltip.Trigger | string; + + /** Defines the width of the Tooltip popup. + * @Default {auto} + */ + width?: string | number; - /** returns the DropDownList model - */ - model?: any; + /** This event is triggered before the Tooltip widget get closed. */ + beforeClose?(e: BeforeCloseEventArgs): void; + + /** This event is triggered before the Tooltip widget gets open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** returns the name of the event - */ - type?: string; -} + /** Fires on clicking to the target element. */ + click?(e: ClickEventArgs): void; + + /** This event is triggered after the Tooltip widget is closed. */ + close?(e: CloseEventArgs): void; + + /** This event is triggered after the Tooltip is created successfully. */ + create?(e: CreateEventArgs): void; -export interface DataBoundEventArgs { + /** This event is triggered after the Tooltip widget is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** This event is triggered while hovering the target element, when tooltip positioning relates to target element. */ + hover?(e: HoverEventArgs): void; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** This event is triggered after the Tooltip is opened. */ + open?(e: OpenEventArgs): void; - /** returns the DropDownList model - */ - model?: any; + /** This event is triggered while hover the target element, when the tooltip positioning is relates to the mouse. */ + tracking?(e: TrackingEventArgs): void; + } - /** returns the name of the event - */ - type?: string; + export interface BeforeCloseEventArgs { - /** returns the data that is bound to DropDownList - */ - data?: any; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface DestroyEventArgs { + /** returns the tooltip model + */ + model?: any; - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the DropDownList model - */ - model?: any; + /** returns the Tooltip's content + */ + content?: string; + } - /** returns the name of the event - */ - type?: string; -} + export interface BeforeOpenEventArgs { -export interface FocusInEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the Tooltip model + */ + model?: any; - /** returns the DropDownList model - */ - model?: any; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; -} + /** returns the Tooltip's content + */ + content?: string; + } -export interface FocusOutEventArgs { + export interface ClickEventArgs { - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the DropDownList model - */ - model?: any; + /** returns the Tooltip model + */ + model?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; -export interface PopupHideEventArgs { + /** returns the event object + */ + event?: any; + } - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + export interface CloseEventArgs { - /** returns the DropDownList model - */ - model?: any; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; + /** returns the Tooltip model + */ + model?: any; - /** returns the selected text - */ - text?: string; + /** returns the name of the event + */ + type?: string; - /** returns the selected value - */ - value?: string; -} + /** returns the Tooltip's content + */ + content?: string; + } -export interface PopupResizeEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the DropDownList model - */ - model?: any; + /** returns the Tooltip model + */ + model?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; + } - /** Returns the data from the resizable plugin. - */ - event?: any; -} + export interface DestroyEventArgs { -export interface PopupShownEventArgs { + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the Tooltip model + */ + model?: any; - /** returns the DropDownList model - */ - model?: any; + /** returns the name of the event + */ + type?: string; + } - /** returns the name of the event - */ - type?: string; + export interface HoverEventArgs { - /** returns the selected text - */ - text?: string; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the selected value - */ - value?: string; -} + /** returns the Tooltip model + */ + model?: any; -export interface PopupResizeStartEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event object + */ + event?: any; + } - /** returns the DropDownList model - */ - model?: any; + export interface OpenEventArgs { - /** returns the name of the event - */ - type?: string; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the data from the resizable plugin. - */ - event?: any; -} + /** returns the Tooltip model + */ + model?: any; -export interface PopupResizeStopEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the Tooltip's content + */ + content?: string; + } - /** returns the DropDownList model - */ - model?: any; + export interface TrackingEventArgs { - /** returns the name of the event - */ - type?: string; + /** its value is set as true,if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the data from the resizable plugin. - */ - event?: any; -} + /** returns the Tooltip model + */ + model?: any; -export interface SearchEventArgs { + /** returns the name of the event + */ + type?: string; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the event object + */ + event?: any; + } - /** Returns the data bound to the DropDownList. - */ - items?: any; + export interface Animation { - /** returns the DropDownList model - */ - model?: any; - - /** Returns the selected item text. - */ - selectedText?: string; - - /** returns the name of the event - */ - type?: string; - - /** Returns the search string typed in search box. - */ - searchString?: string; -} - -export interface SelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the selected item with checkbox checked or not. - */ - isChecked?: boolean; - - /** Returns the selected item ID. - */ - itemId?: string; - - /** returns the DropDownList model - */ - model?: any; - - /** Returns the selected item text. - */ - selectedText?: string; - - /** returns the name of the event - */ - type?: string; - - /** Returns the selected text. - */ - text?: string; - - /** Returns the selected value. - */ - value?: string; -} - -export interface Fields { - - /** Used to group the items. - */ - groupBy?: string; - - /** Defines the HTML attributes such as ID, class, and styles for the item. - */ - htmlAttributes?: any; - - /** Defines the ID for the tag. - */ - id?: string; - - /** Defines the image attributes such as height, width, styles, and so on. - */ - imageAttributes?: string; - - /** Defines the imageURL for the image location. - */ - imageUrl?: string; - - /** Defines the tag value to be selected initially. - */ - selected?: boolean; - - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; - - /** Defines the table name for tag value or display text while rendering remote data. - */ - tableName?: string; - - /** Defines the text content for the tag. - */ - text?: string; - - /** Defines the tag value. - */ - value?: string; -} -} -enum FilterType -{ -//filter the data wherever contains search key -Contains, -//filter the data based on search key present at start position -StartsWith, -} -enum MultiSelectMode -{ -// can select only single item in DropDownList -None, -//can select multiple items and it's separated by delimiterChar -Delimiter, -// can select multiple items and it's show's like visual box in textbox -VisualMode, -} -enum VirtualScrollMode -{ -// The data is loaded only to the corresponding page (display items). When scrolling some other position, it enables the load on demand with the DropDownList. -Normal, -//The data items are loaded from the remote when scroll handle reaches the end of the scrollbar like infinity scrolling. -Continuous, -} - -class Tooltip extends ej.Widget { - static fn: Tooltip; - constructor(element: JQuery, options?: Tooltip.Model); - constructor(element: Element, options?: Tooltip.Model); - static Locale: any; - model:Tooltip.Model; - defaults:Tooltip.Model; - - /** Destroys the Tooltip control. - * @returns {void} - */ - destroy(): void; - - /** Disables the Tooltip control. - * @returns {void} - */ - disable(): void; - - /** Enables the Tooltip control. - * @returns {void} - */ - enable(): void; - - /** Hide the Tooltip popup. - * @param {string} optional Determines the type of effect that takes place when hiding the tooltip. - * @param {Function} optional custom effect takes place when hiding the tooltip. - * @returns {void} - */ - hide(effect?: string, func?: Function): void; - - /** Shows the Tooltip popup for the given target element with the specified effect. - * @param {string} optional Determines the type of effect that takes place when showing the tooltip. - * @param {Function} optional custom effect takes place when showing the tooltip. - * @param {JQuery} optional Tooltip will be shown for the given element - * @returns {void} - */ - show(effect?: string, func?: Function, target?: JQuery): void; -} -export module Tooltip{ - -export interface Model { - - /** Tooltip control can be accessed through the keyboard shortcut keys. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specifies the animation behavior in Tooltip. It contains the following sub properties. - */ - animation?: Animation; - - /** Sets the position related to target element, window, mouse or (x,y) co-ordinates. - * @Default {ej.Tooltip.Associate.Target} - */ - associate?: ej.Tooltip.Associate|string; - - /** Specified the delay to hide Tooltip when closeMode is auto. - * @Default {4000} - */ - autoCloseTimeout?: number; - - /** Specifies the closing behavior of Tooltip popup. - * @Default {ej.Tooltip.CloseMode.None} - */ - closeMode?: ej.Tooltip.CloseMode|string; - - /** Sets the Tooltip in alternate position when collision occurs. - * @Default {ej.Tooltip.Collision.FlipFit} - */ - collision?: ej.Tooltip.Collision|string; - - /** Specified the selector for the container element. - * @Default {body} - */ - containment?: string; - - /** Specifies the text for Tooltip. - * @Default {null} - */ - content?: string; - - /** Sets the root CSS class for Tooltip for the customization. - * @Default {null} - */ - cssClass?: string; - - /** Enables or disables the Tooltip. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the Tooltip direction from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines the height of the Tooltip popup. - * @Default {auto} - */ - height?: string|number; - - /** Enables the arrow in Tooltip. - * @Default {true} - */ - isBalloon?: boolean; - - /** defines various attributes of the Tooltip position - */ - position?: Position; - - /** Enables or disables rounded corner. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Enables or disables shadow effect. - * @Default {false} - */ - showShadow?: boolean; - - /** Specified a selector for elements, within the container. - * @Default {null} - */ - target?: string; - - /** defines Tooltip size and gap between tooltip against the target element. - */ - tip?: Tip; - - /** The title text to be displayed in the Tooltip header. - * @Default {null} - */ - title?: string; - - /** Specified the event action to show case the Tooltip. - * @Default {ej.Tooltip.Trigger.Hover} - */ - trigger?: ej.Tooltip.Trigger|string; + /** Determines the type of effect. + * @Default {ej.Tooltip.Effect.None} + */ + effect?: ej.Tooltip.effect | string; - /** Defines the width of the Tooltip popup. - * @Default {auto} - */ - width?: string|number; - - /** This event is triggered before the Tooltip widget get closed. */ - beforeClose? (e: BeforeCloseEventArgs): void; - - /** This event is triggered before the Tooltip widget gets open. */ - beforeOpen? (e: BeforeOpenEventArgs): void; + /** Sets the animation speed in milliseconds. + * @Default {4000} + */ + speed?: number; + } - /** Fires on clicking to the target element. */ - click? (e: ClickEventArgs): void; - - /** This event is triggered after the Tooltip widget is closed. */ - close? (e: CloseEventArgs): void; + export interface PositionTarget { - /** This event is triggered after the Tooltip is created successfully. */ - create? (e: CreateEventArgs): void; + /** Sets the Tooltip position against target based on horizontal(x) value. + * @Default {center} + */ + horizontal?: string | number; - /** This event is triggered after the Tooltip widget is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; - - /** This event is triggered while hovering the target element, when tooltip positioning relates to target element. */ - hover? (e: HoverEventArgs): void; + /** Sets the Tooltip position against target based on vertical(y) value. + * @Default {top} + */ + vertical?: string | number; + } - /** This event is triggered after the Tooltip is opened. */ - open? (e: OpenEventArgs): void; + export interface PositionStem { - /** This event is triggered while hover the target element, when the tooltip positioning is relates to the mouse. */ - tracking? (e: TrackingEventArgs): void; -} + /** Sets the arrow position again popup based on horizontal(x) value + * @Default {center} + */ + horizontal?: string; -export interface BeforeCloseEventArgs { + /** Sets the arrow position again popup based on vertical(y) value + * @Default {bottom} + */ + vertical?: string; + } - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + export interface Position { - /** returns the tooltip model - */ - model?: any; + /** Sets the Tooltip position against target. + */ + target?: PositionTarget; - /** returns the name of the event - */ - type?: string; + /** Sets the arrow position again popup. + */ + stem?: PositionStem; + } + export interface TipSize { - /** returns the Tooltip's content - */ - content?: string; -} + /** Sets the Tooltip width. + * @Default {20} + */ + width?: number; -export interface BeforeOpenEventArgs { + /** Sets the Tooltip height. + * @Default {10} + */ + height?: number; + } - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + export interface TipAdjust { - /** returns the Tooltip model - */ - model?: any; + /** Sets horizontal gap between Tooltip and target element. + * @Default {0} + */ + xValue?: number; - /** returns the name of the event - */ - type?: string; + /** Sets vertical gap between Tooltip and target element. + * @Default {0} + */ + yValue?: number; + } - /** returns the Tooltip's content - */ - content?: string; -} + export interface Tip { -export interface ClickEventArgs { + /** Sets the Tooltip size. + */ + size?: TipSize; - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Sets gap between tooltip against the target element. + */ + adjust?: TipAdjust; + } - /** returns the Tooltip model - */ - model?: any; - /** returns the name of the event - */ - type?: string; + enum effect { - /** returns the event object - */ - event?: any; -} + ///No animation takes place when showing/hiding the Tooltip + None, -export interface CloseEventArgs { + ///Sliding effect takes place when showing/hiding the Tooltip + Slide, - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///Fade the Tooltip in and out of visibility. + Fade + } - /** returns the Tooltip model - */ - model?: any; - /** returns the name of the event - */ - type?: string; + enum Associate { - /** returns the Tooltip's content - */ - content?: string; -} + ///Sets the position related to target element. + Target, -export interface CreateEventArgs { + ///Sets the position related to mouse. + MouseFollow, - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///Sets the position related to mouse, first entry to the target element. + MouseEnter, - /** returns the Tooltip model - */ - model?: any; + ///Sets the position related to (x,y) co-ordinates. + Axis, - /** returns the name of the event - */ - type?: string; -} + ///Sets the position related to browser window. + Window + } -export interface DestroyEventArgs { - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + enum CloseMode { - /** returns the Tooltip model - */ - model?: any; + ///Enables close button in Tooltip. + Sticky, - /** returns the name of the event - */ - type?: string; -} + ///Sets the delay for Tooltip close + Auto, -export interface HoverEventArgs { + ///The Tooltip will be display normally. + None + } - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - /** returns the Tooltip model - */ - model?: any; + enum Collision { - /** returns the name of the event - */ - type?: string; + ///Flips the Tooltip to the opposite side of the target, if collision is occurs. + Flip, - /** returns the event object - */ - event?: any; -} + ///Shift the Tooltip popup away from the edge of the window(collision side) that means adjacent position. + Fit, -export interface OpenEventArgs { + ///Ensure as much of the element is visible as possible to showcase. + FlipFit, - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///No collision detection is take place + None + } - /** returns the Tooltip model - */ - model?: any; - /** returns the name of the event - */ - type?: string; + enum Trigger { - /** returns the Tooltip's content - */ - content?: string; -} + ///The Tooltip to be shown when the target element is clicked. + Click, -export interface TrackingEventArgs { + ///Enables the Tooltip when hover on the target element. + Hover, - /** its value is set as true,if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + ///Enables the Tooltip when focus is set to target element. + Focus + } - /** returns the Tooltip model - */ - model?: any; + } - /** returns the name of the event - */ - type?: string; + class Editor extends ej.Widget { + static fn: Editor; + constructor(element: JQuery | Element, options?: Editor.Model); + static Locale: any; + model: Editor.Model; + defaults: Editor.Model; - /** returns the event object - */ - event?: any; -} + /** destroy the editor widgets all events are unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; -export interface Animation { + /** To disable the corresponding Editors + * @returns {void} + */ + disable(): void; - /** Determines the type of effect. - * @Default {ej.Tooltip.Effect.None} - */ - effect?: ej.Tooltip.effect|string; + /** To enable the corresponding Editors + * @returns {void} + */ + enable(): void; - /** Sets the animation speed in milliseconds. - * @Default {4000} - */ - speed?: number; -} + /** To get value from corresponding Editors + * @returns {number} + */ + getValue(): number; + } -export interface PositionTarget { + class NumericTextbox extends Editor { + } - /** Sets the Tooltip position against target based on horizontal(x) value. - * @Default {center} - */ - horizontal?: string|number; + class CurrencyTextbox extends Editor { + } - /** Sets the Tooltip position against target based on vertical(y) value. - * @Default {top} - */ - vertical?: string|number; -} + class PercentageTextbox extends Editor { + } + export namespace Editor { -export interface PositionStem { + export interface Model { - /** Sets the arrow position again popup based on horizontal(x) value - * @Default {center} - */ - horizontal?: string; + /** Specifies the currency symbol of currency textbox, used when the user wants to overwrite the currency symbol commonly instead of the current culture symbol. + * @Default {Based on the culture} + */ + currencySymbol?: string; - /** Sets the arrow position again popup based on vertical(y) value - * @Default {bottom} - */ - vertical?: string; -} + /** Sets the root CSS class for Editors which allow us to customize the appearance. + */ + cssClass?: string; -export interface Position { + /** Specifies the number of digits that should be allowed after the decimal point. + * @Default {0} + */ + decimalPlaces?: number; + + /** Specifies the editor control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the enablePersistence to editor to save current editor control value to browser cookies for state maintenance. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the Right to Left Direction to editor. + * @Default {false} + */ + enableRTL?: boolean; + + /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class,otherwise it internally changed to the correct value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Specifies the number of digits in each group to the editor. + * @Default {Based on the culture.} + */ + groupSize?: string; + + /** It provides the options to get the customized character to separate the digits. If not set, the separator defined by the current culture. + * @Default {Based on the culture} + */ + groupSeparator?: string; + + /** Specifies the height of the editor. + * @Default {30} + */ + height?: string; + + /** It allows to define the characteristics of the Editors control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The Editor value increment or decrement based an incrementStep value. + * @Default {1} + */ + incrementStep?: number; + + /** Defines the localization culture for editor. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the maximum value of the editor. + * @Default {Number.MAX_VALUE} + */ + maxValue?: number; + + /** Specifies the minimum value of the editor. + * @Default {-(Number.MAX_VALUE) and 0 for Currency Textbox.} + */ + minValue?: number; + + /** Specifies the name of the editor. + * @Default {Sets id as name if it is null.} + */ + name?: string; + + /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the negative pattern. + * you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. + * @Default {Based on the culture} + */ + negativePattern?: string; + + /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the positive pattern. + * you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. + * @Default {Based on the culture} + */ + positivePattern?: string; + + /** Toggles the readonly state of the editor. When the Editor is readonly it doesn't allow user interactions. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies to Change the sharped edges into rounded corner for the Editor. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies whether the up and down spin buttons should be displayed in editor. + * @Default {true} + */ + showSpinButton?: boolean; + + /** Enables decimal separator position validation on type . + * @Default {false} + */ + validateOnType?: boolean; + + /** Set the jQuery validation error message in editor. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules to the editor. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value of the editor. + * @Default {null} + */ + value?: number | string; + + /** Specifies the watermark text to editor. + * @Default {Based on the culture.} + */ + watermarkText?: string; + + /** Specifies the width of the editor. + * @Default {143} + */ + width?: string; + + /** Fires after Editor control value is changed. */ + change?(e: ChangeEventArgs): void; + + /** Fires after Editor control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires when the Editor is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires after Editor control is focused. */ + focusIn?(e: FocusInEventArgs): void; + + /** Fires after Editor control is loss the focus. */ + focusOut?(e: FocusOutEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the corresponding editor model. + */ + model?: ej.Editor.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the corresponding editor control value. + */ + value?: number; + + /** returns true when the value changed by user interaction otherwise returns false + */ + isInteraction?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the editor model + */ + model?: ej.Editor.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the editor model + */ + model?: ej.Editor.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the corresponding editor model. + */ + model?: ej.Editor.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the corresponding editor control value. + */ + value?: number; + } + + export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the corresponding editor model. + */ + model?: ej.Editor.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the corresponding editor control value. + */ + value?: number; + } + } + + class ListView extends ej.Widget { + static fn: ListView; + constructor(element: JQuery | Element, options?: ListView.Model); + static Locale: any; + model: ListView.Model; + defaults: ListView.Model; + + /** To add item in the given index. If you have enabled grouping in ListView then you need to pass the corresponding group list title to add item in it. + * @param {any} Specifies the item to be added in ListView + * @param {number} Specifies the index where item to be added + * @param {string} optionalThis is an optional parameter. You must pass the group list title here if grouping is enabled in the ListView + * @returns {void} + */ + addItem(item: any, index: number, groupid: string): void; + + /** To check all the items. + * @returns {void} + */ + checkAllItem(): void; + + /** To check item in the given index. + * @param {number} Specifies the index of the item to be checked + * @returns {void} + */ + checkItem(index: number): void; + + /** To clear all the list item in the control before updating with new datasource. + * @returns {void} + */ + clear(): void; + + /** To make the item in the given index to be default state. + * @param {number} Specifies the index to make the item to be in default state. + * @returns {void} + */ + deActive(index: number): void; + + /** To disable item in the given index. + * @param {number} Specifies the index value to be disabled. + * @returns {void} + */ + disableItem(index: number): void; + + /** To enable item in the given index. + * @param {number} Specifies the index value to be enabled. + * @returns {void} + */ + enableItem(index: number): void; + + /** To get the active item. + * @returns {HTMLElement} + */ + getActiveItem(): HTMLElement; + + /** To get the text of the active item. + * @returns {string} + */ + getActiveItemText(): string; + + /** To get all the checked items. + * @returns {Array} + */ + getCheckedItems(): any[]; + + /** To get the text of all the checked items. + * @returns {Array} + */ + getCheckedItemsText(): any[]; + + /** To get the total item count. + * @returns {number} + */ + getItemsCount(): number; + + /** To get the text of the item in the given index. + * @param {string|number} Specifies the index value to get the text value. + * @returns {string} + */ + getItemText(index: string | number): string; + + /** To check whether the item in the given index has child item. + * @param {number} Specifies the index value to check the item has child or not. + * @returns {boolean} + */ + hasChild(index: number): boolean; + + /** To hide the list. + * @returns {void} + */ + hide(): void; + + /** To hide item in the given index. + * @param {number} Specifies the index value to hide the item. + * @returns {void} + */ + hideItem(index: number): void; + + /** To check whether item in the given index is checked. + * @returns {boolean} + */ + isChecked(): boolean; + + /** To load the AJAX content while selecting the item. + * @param {string} Specifies the item to load the AJAX content. + * @returns {void} + */ + loadAjaxContent(item: string): void; + + /** To remove the check mark either for specific item in the given index or for all items. + * @param {number} Specifies the index value to remove the checkbox. + * @returns {void} + */ + removeCheckMark(index: number): void; + + /** To remove item in the given index. + * @param {number} Specifies the index value to remove the item. + * @returns {void} + */ + removeItem(index: number): void; + + /** To select item in the given index. + * @param {number} Specifies the index value to select the item. + * @returns {void} + */ + selectItem(index: number): void; + + /** To make the item in the given index to be active state. + * @param {number} Specifies the index value to make the item in active state. + * @returns {void} + */ + setActive(index: number): void; + + /** To show the list. + * @returns {void} + */ + show(): void; + + /** To show item in the given index. + * @param {number} Specifies the index value to show the hided item. + * @returns {void} + */ + showItem(index: number): void; + + /** To uncheck all the items. + * @returns {void} + */ + unCheckAllItem(): void; + + /** To uncheck item in the given index. + * @param {number} Specifies the index value to uncheck the item. + * @returns {void} + */ + unCheckItem(index: number): void; + } + export namespace ListView { + + export interface Model { + + /** Specifies the ajaxSettings option to load the items to the ListView control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Set the index values to be selected on initial loading. This works only when enableCheckMark is set true. + * @Default {[]} + */ + checkedIndices?: any[]; + + /** Sets the root class for ListView theme. This cssClass API helps to use custom skinning option for ListView control. By defining the root class using this API, + * we need to include this root class in CSS. + */ + cssClass?: string; + + /** Contains the list of data for generating the ListView items. + * @Default {[]} + */ + dataSource?: any[]; + + /** Specifies whether to load AJAX content while selecting item. + * @Default {false} + */ + enableAjax?: boolean; + + /** Specifies whether to enable caching the content. + * @Default {false} + */ + enableCache?: boolean; + + /** Specifies whether to enable check mark for the item. + * @Default {false} + */ + enableCheckMark?: boolean; + + /** Specifies whether to enable the filtering feature to filter the item. + * @Default {false} + */ + enableFiltering?: boolean; + + /** Specifies whether to group the list item. + * @Default {false} + */ + enableGroupList?: boolean; + + /** Specifies to maintain the current model value to browser cookies for state maintenance. While refresh the page, the model value will get apply to the control from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the field settings to map the datasource. + */ + fieldSettings?: any; + + /** Contains the array of items to be added in ListView. + * @Default {[]} + */ + items?: any[]; + + /** Specifies the text of the back button in the header. + * @Default {null} + */ + headerBackButtonText?: string; + + /** Specifies the title of the header. + * @Default {Title} + */ + headerTitle?: string; + + /** Specifies the height. + * @Default {null} + */ + height?: string | number; + + /** Set the localization culture for ListView Widget. + */ + locale?: string; + + /** Specifies whether to retain the selection of the item. + * @Default {false} + */ + persistSelection?: boolean; + + /** Specifies whether to prevent the selection of the item. + * @Default {false} + */ + preventSelection?: boolean; + + /** Specifies the query to execute with the datasource. + * @Default {null} + */ + query?: any; + + /** Specifies whether need to render the control with the template contents. + * @Default {false} + */ + renderTemplate?: boolean; + + /** Specifies the index of item which need to be in selected state initially while loading. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Specifies whether to show the header. + * @Default {true} + */ + showHeader?: boolean; + + /** Specifies whether to show the back button header. + * @Default {false} + */ + showHeaderBackButton?: boolean; + + /** Specifies ID of the element contains template contents. + * @Default {null} + */ + templateId?: string; + + /** Specifies the width. + * @Default {null} + */ + width?: string | number; + + /** Specifies the number of items to be fetched on each scroll. Note: This property works only with Virtual scrolling. + * @Default {5} + */ + itemRequestCount?: number; + + /** Specifies the maximum number of items to be fetched. Note: This will work only with Virtual scrolling + * @Default {null} + */ + totalItemsCount?: number; + + /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using virtualScrollMode property. + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. + * @Default {ej.VirtualScrollMode.Normal} + */ + virtualScrollMode?: ej.VirtualScrollMode | string; + + /** Event triggers before the AJAX request happens. */ + ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; + + /** Event triggers after the AJAX content loaded completely. */ + ajaxComplete?(e: AjaxCompleteEventArgs): void; + + /** Event triggers when the AJAX request failed. */ + ajaxError?(e: AjaxErrorEventArgs): void; + + /** Event triggers after the AJAX content loaded successfully. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; + + /** Event triggers before the items loaded. */ + load?(e: LoadEventArgs): void; + + /** Event triggers after the items loaded. */ + loadComplete?(e: LoadCompleteEventArgs): void; + + /** Event triggers when mouse down happens on the item. */ + mouseDown?(e: MouseDownEventArgs): void; - /** Sets the Tooltip position against target. - */ - target?: PositionTarget; + /** Event triggers when mouse up happens on the item. */ + mouseUp?(e: MouseUpEventArgs): void; + } + } - /** Sets the arrow position again popup. - */ - stem?: PositionStem; -} + export interface AjaxBeforeLoadEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface TipSize { + /** returns the name of the event. + */ + type?: string; - /** Sets the Tooltip width. - * @Default {20} - */ - width?: number; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - /** Sets the Tooltip height. - * @Default {10} - */ - height?: number; -} + /** returns the AJAX settings. + */ + ajaxData?: any; + } -export interface TipAdjust { + export interface AjaxCompleteEventArgs { - /** Sets horizontal gap between Tooltip and target element. - * @Default {0} - */ - xValue?: number; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Sets vertical gap between Tooltip and target element. - * @Default {0} - */ - yValue?: number; -} + /** returns the name of the event. + */ + type?: string; -export interface Tip { + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + } - /** Sets the Tooltip size. - */ - size?: TipSize; + export interface AjaxErrorEventArgs { - /** Sets gap between tooltip against the target element. - */ - adjust?: TipAdjust; -} + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -enum effect{ + /** returns the name of the event. + */ + type?: string; - ///No animation takes place when showing/hiding the Tooltip - None, + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - ///Sliding effect takes place when showing/hiding the Tooltip - Slide, + /** returns the error thrown in the AJAX post. + */ + errorThrown?: any; - ///Fade the Tooltip in and out of visibility. - Fade -} + /** returns the status. + */ + textStatus?: any; + /** returns the current list item. + */ + item?: any; -enum Associate{ + /** returns the current item text. + */ + text?: string; - ///Sets the position related to target element. - Target, + /** returns the current item index. + */ + index?: number; + } - ///Sets the position related to mouse. - MouseFollow, + export interface AjaxSuccessEventArgs { - ///Sets the position related to mouse, first entry to the target element. - MouseEnter, + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - ///Sets the position related to (x,y) co-ordinates. - Axis, + /** returns the name of the event. + */ + type?: string; - ///Sets the position related to browser window. - Window -} + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + /** returns the AJAX current content. + */ + content?: string; -enum CloseMode{ + /** returns the current list item. + */ + item?: any; - ///Enables close button in Tooltip. - Sticky, + /** returns the current item text. + */ + text?: string; - ///Sets the delay for Tooltip close - Auto, + /** returns the current item index. + */ + index?: number; - ///The Tooltip will be display normally. - None -} + /** returns the current URL of the AJAX post. + */ + URL?: string; + } + export interface LoadEventArgs { -enum Collision{ + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - ///Flips the Tooltip to the opposite side of the target, if collision is occurs. - Flip, + /** returns the name of the event. + */ + type?: string; - ///Shift the Tooltip popup away from the edge of the window(collision side) that means adjacent position. - Fit, + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + } - ///Ensure as much of the element is visible as possible to showcase. - FlipFit, + export interface LoadCompleteEventArgs { - ///No collision detection is take place - None -} + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + /** returns the name of the event. + */ + type?: string; -enum Trigger{ + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + } - ///The Tooltip to be shown when the target element is clicked. - Click, + export interface MouseDownEventArgs { - ///Enables the Tooltip when hover on the target element. - Hover, + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - ///Enables the Tooltip when focus is set to target element. - Focus -} + /** returns the name of the event. + */ + type?: string; -} + /** returns the model value of the control. + */ + model?: ej.ListView.Model; -class Editor extends ej.Widget { - static fn: Editor; - constructor(element: JQuery, options?: Editor.Model); - constructor(element: Element, options?: Editor.Model); - static Locale: any; - model:Editor.Model; - defaults:Editor.Model; + /** If the child element exist return true; otherwise, false. + */ + hasChild?: boolean; - /** destroy the editor widgets all events are unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; + /** returns the current list item. + */ + item?: string; - /** To disable the corresponding Editors - * @returns {void} - */ - disable(): void; + /** returns the current text of item. + */ + text?: string; - /** To enable the corresponding Editors - * @returns {void} - */ - enable(): void; + /** returns the current Index of the item. + */ + index?: number; - /** To get value from corresponding Editors - * @returns {number} - */ - getValue(): number; -} + /** If checked return true; otherwise, false. + */ + isChecked?: boolean; - class NumericTextbox extends Editor{ -} + /** returns the list of checked items. + */ + checkedItems?: number; - class CurrencyTextbox extends Editor{ -} + /** returns the current checked item text. + */ + checkedItemsText?: string; + } - class PercentageTextbox extends Editor{ -} -export module Editor{ + export interface MouseUpEventArgs { -export interface Model { + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Specifies the currency symbol of currency textbox, used when the user wants to overwrite the currency symbol commonly instead of the current culture symbol. - * @Default {Based on the culture} - */ - currencySymbol?: string; + /** returns the name of the event. + */ + type?: string; - /** Sets the root CSS class for Editors which allow us to customize the appearance. - */ - cssClass?: string; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - /** Specifies the number of digits that should be allowed after the decimal point. - * @Default {0} - */ - decimalPlaces?: number; + /** If the child element exist return true; otherwise, false. + */ + hasChild?: boolean; - /** Specifies the editor control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the enablePersistence to editor to save current editor control value to browser cookies for state maintenance. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the Right to Left Direction to editor. - * @Default {false} - */ - enableRTL?: boolean; - - /** When enableStrictMode true it allows the value outside of the range also but it highlights the textbox with error class,otherwise it internally changed to the correct value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Specifies the number of digits in each group to the editor. - * @Default {Based on the culture.} - */ - groupSize?: string; - - /** It provides the options to get the customized character to separate the digits. If not set, the separator defined by the current culture. - * @Default {Based on the culture} - */ - groupSeparator?: string; - - /** Specifies the height of the editor. - * @Default {30} - */ - height?: string; - - /** It allows to define the characteristics of the Editors control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The Editor value increment or decrement based an incrementStep value. - * @Default {1} - */ - incrementStep?: number; - - /** Defines the localization culture for editor. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the maximum value of the editor. - * @Default {Number.MAX_VALUE} - */ - maxValue?: number; - - /** Specifies the minimum value of the editor. - * @Default {-(Number.MAX_VALUE) and 0 for Currency Textbox.} - */ - minValue?: number; - - /** Specifies the name of the editor. - * @Default {Sets id as name if it is null.} - */ - name?: string; - - /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the negative pattern. you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. - * @Default {Based on the culture} - */ - negativePattern?: string; - - /** Specifies the pattern for formatting positive values in editor.We have maintained some standard to define the positive pattern. you have to specify 'n' to place the digit in your pattern.ejTextbox allows you to define a currency or percent symbol where you want to place it. - * @Default {Based on the culture} - */ - positivePattern?: string; - - /** Toggles the readonly state of the editor. When the Editor is readonly it doesn't allow user interactions. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies to Change the sharped edges into rounded corner for the Editor. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies whether the up and down spin buttons should be displayed in editor. - * @Default {true} - */ - showSpinButton?: boolean; - - /** Enables decimal separator position validation on type . - * @Default {false} - */ - validateOnType?: boolean; - - /** Set the jQuery validation error message in editor. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules to the editor. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value of the editor. - * @Default {null} - */ - value?: number|string; - - /** Specifies the watermark text to editor. - * @Default {Based on the culture.} - */ - watermarkText?: string; - - /** Specifies the width of the editor. - * @Default {143} - */ - width?: string; - - /** Fires after Editor control value is changed. */ - change? (e: ChangeEventArgs): void; - - /** Fires after Editor control is created. */ - create? (e: CreateEventArgs): void; - - /** Fires when the Editor is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; - - /** Fires after Editor control is focused. */ - focusIn? (e: FocusInEventArgs): void; - - /** Fires after Editor control is loss the focus. */ - focusOut? (e: FocusOutEventArgs): void; -} - -export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the corresponding editor model. - */ - model?: ej.Editor.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the corresponding editor control value. - */ - value?: number; - - /** returns true when the value changed by user interaction otherwise returns false - */ - isInteraction?: boolean; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the editor model - */ - model?: ej.Editor.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the editor model - */ - model?: ej.Editor.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the corresponding editor model. - */ - model?: ej.Editor.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the corresponding editor control value. - */ - value?: number; -} - -export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the corresponding editor model. - */ - model?: ej.Editor.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the corresponding editor control value. - */ - value?: number; -} -} - -class ListView extends ej.Widget { - static fn: ListView; - constructor(element: JQuery, options?: ListView.Model); - constructor(element: Element, options?: ListView.Model); - static Locale: any; - model:ListView.Model; - defaults:ListView.Model; - - /** To add item in the given index. If you have enabled grouping in ListView then you need to pass the corresponding group list title to add item in it. - * @param {any} Specifies the item to be added in ListView - * @param {number} Specifies the index where item to be added - * @param {string} optionalThis is an optional parameter. You must pass the group list title here if grouping is enabled in the ListView - * @returns {void} - */ - addItem(item: any, index: number, groupid: string): void; - - /** To check all the items. - * @returns {void} - */ - checkAllItem(): void; - - /** To check item in the given index. - * @param {number} Specifies the index of the item to be checked - * @returns {void} - */ - checkItem(index: number): void; - - /** To clear all the list item in the control before updating with new datasource. - * @returns {void} - */ - clear(): void; - - /** To make the item in the given index to be default state. - * @param {number} Specifies the index to make the item to be in default state. - * @returns {void} - */ - deActive(index: number): void; - - /** To disable item in the given index. - * @param {number} Specifies the index value to be disabled. - * @returns {void} - */ - disableItem(index: number): void; - - /** To enable item in the given index. - * @param {number} Specifies the index value to be enabled. - * @returns {void} - */ - enableItem(index: number): void; - - /** To get the active item. - * @returns {HTMLElement} - */ - getActiveItem(): HTMLElement; - - /** To get the text of the active item. - * @returns {string} - */ - getActiveItemText(): string; - - /** To get all the checked items. - * @returns {Array} - */ - getCheckedItems(): Array; - - /** To get the text of all the checked items. - * @returns {Array} - */ - getCheckedItemsText(): Array; - - /** To get the total item count. - * @returns {number} - */ - getItemsCount(): number; - - /** To get the text of the item in the given index. - * @param {string|number} Specifies the index value to get the text value. - * @returns {string} - */ - getItemText(index: string|number): string; - - /** To check whether the item in the given index has child item. - * @param {number} Specifies the index value to check the item has child or not. - * @returns {boolean} - */ - hasChild(index: number): boolean; - - /** To hide the list. - * @returns {void} - */ - hide(): void; - - /** To hide item in the given index. - * @param {number} Specifies the index value to hide the item. - * @returns {void} - */ - hideItem(index: number): void; - - /** To check whether item in the given index is checked. - * @returns {boolean} - */ - isChecked(): boolean; - - /** To load the AJAX content while selecting the item. - * @param {string} Specifies the item to load the AJAX content. - * @returns {void} - */ - loadAjaxContent(item: string): void; - - /** To remove the check mark either for specific item in the given index or for all items. - * @param {number} Specifies the index value to remove the checkbox. - * @returns {void} - */ - removeCheckMark(index: number): void; - - /** To remove item in the given index. - * @param {number} Specifies the index value to remove the item. - * @returns {void} - */ - removeItem(index: number): void; - - /** To select item in the given index. - * @param {number} Specifies the index value to select the item. - * @returns {void} - */ - selectItem(index: number): void; - - /** To make the item in the given index to be active state. - * @param {number} Specifies the index value to make the item in active state. - * @returns {void} - */ - setActive(index: number): void; - - /** To show the list. - * @returns {void} - */ - show(): void; - - /** To show item in the given index. - * @param {number} Specifies the index value to show the hided item. - * @returns {void} - */ - showItem(index: number): void; - - /** To uncheck all the items. - * @returns {void} - */ - unCheckAllItem(): void; - - /** To uncheck item in the given index. - * @param {number} Specifies the index value to uncheck the item. - * @returns {void} - */ - unCheckItem(index: number): void; -} -export module ListView{ - -export interface Model { - - /** Specifies the ajaxSettings option to load the items to the ListView control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Set the index values to be selected on initial loading. This works only when enableCheckMark is set true. - * @Default {[]} - */ - checkedIndices?: Array; - - /** Sets the root class for ListView theme. This cssClass API helps to use custom skinning option for ListView control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** Contains the list of data for generating the ListView items. - * @Default {[]} - */ - dataSource?: Array; - - /** Specifies whether to load AJAX content while selecting item. - * @Default {false} - */ - enableAjax?: boolean; - - /** Specifies whether to enable caching the content. - * @Default {false} - */ - enableCache?: boolean; - - /** Specifies whether to enable check mark for the item. - * @Default {false} - */ - enableCheckMark?: boolean; - - /** Specifies whether to enable the filtering feature to filter the item. - * @Default {false} - */ - enableFiltering?: boolean; - - /** Specifies whether to group the list item. - * @Default {false} - */ - enableGroupList?: boolean; - - /** Specifies to maintain the current model value to browser cookies for state maintenance. While refresh the page, the model value will get apply to the control from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the field settings to map the datasource. - */ - fieldSettings?: any; - - /** Contains the array of items to be added in ListView. - * @Default {[]} - */ - items?: Array; - - /** Specifies the text of the back button in the header. - * @Default {null} - */ - headerBackButtonText?: string; - - /** Specifies the title of the header. - * @Default {Title} - */ - headerTitle?: string; - - /** Specifies the height. - * @Default {null} - */ - height?: string|number; - - /** Set the localization culture for ListView Widget. - */ - locale?: string; - - /** Specifies whether to retain the selection of the item. - * @Default {false} - */ - persistSelection?: boolean; - - /** Specifies whether to prevent the selection of the item. - * @Default {false} - */ - preventSelection?: boolean; - - /** Specifies the query to execute with the datasource. - * @Default {null} - */ - query?: any; - - /** Specifies whether need to render the control with the template contents. - * @Default {false} - */ - renderTemplate?: boolean; - - /** Specifies the index of item which need to be in selected state initially while loading. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Specifies whether to show the header. - * @Default {true} - */ - showHeader?: boolean; - - /** Specifies whether to show the back button header. - * @Default {false} - */ - showHeaderBackButton?: boolean; - - /** Specifies ID of the element contains template contents. - * @Default {null} - */ - templateId?: string; - - /** Specifies the width. - * @Default {null} - */ - width?: string|number; - - /** Specifies the number of items to be fetched on each scroll. Note: This property works only with Virtual scrolling. - * @Default {5} - */ - itemRequestCount?: number; - - /** Specifies the maximum number of items to be fetched. Note: This will work only with Virtual scrolling - * @Default {null} - */ - totalItemsCount?: number; - - /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using virtualScrollMode property. - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. - * @Default {ej.VirtualScrollMode.Normal} - */ - virtualScrollMode?: ej.VirtualScrollMode|string; - - /** Event triggers before the AJAX request happens. */ - ajaxBeforeLoad? (e: AjaxBeforeLoadEventArgs): void; - - /** Event triggers after the AJAX content loaded completely. */ - ajaxComplete? (e: AjaxCompleteEventArgs): void; - - /** Event triggers when the AJAX request failed. */ - ajaxError? (e: AjaxErrorEventArgs): void; - - /** Event triggers after the AJAX content loaded successfully. */ - ajaxSuccess? (e: AjaxSuccessEventArgs): void; - - /** Event triggers before the items loaded. */ - load? (e: LoadEventArgs): void; - - /** Event triggers after the items loaded. */ - loadComplete? (e: LoadCompleteEventArgs): void; - - /** Event triggers when mouse down happens on the item. */ - mouseDown? (e: MouseDownEventArgs): void; + /** returns the current list item. + */ + item?: string; - /** Event triggers when mouse up happens on the item. */ - mouseUp? (e: MouseUpEventArgs): void; -} + /** returns the current text of item. + */ + text?: string; -export interface AjaxBeforeLoadEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the current Index of the item. + */ + index?: number; - /** returns the name of the event. - */ - type?: string; + /** If checked return true; otherwise, false. + */ + isChecked?: boolean; - /** returns the model value of the control. - */ - model?: ej.ListView.Model; + /** returns the list of checked items. + */ + checkedItems?: number; - /** returns the AJAX settings. - */ - ajaxData?: any; -} + /** returns the current checked item text. + */ + checkedItemsText?: string; + } -export interface AjaxCompleteEventArgs { + export interface AjaxSettings { - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; - /** returns the name of the event. - */ - type?: string; + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; - /** returns the model value of the control. - */ - model?: ej.ListView.Model; -} + /** It specifies the type of data is send in the query string. + */ + contentType?: string; -export interface AjaxErrorEventArgs { + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the error thrown in the AJAX post. - */ - errorThrown?: any; - - /** returns the status. - */ - textStatus?: any; - - /** returns the current list item. - */ - item?: any; - - /** returns the current item text. - */ - text?: string; - - /** returns the current item index. - */ - index?: number; -} - -export interface AjaxSuccessEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the AJAX current content. - */ - content?: string; - - /** returns the current list item. - */ - item?: any; - - /** returns the current item text. - */ - text?: string; - - /** returns the current item index. - */ - index?: number; - - /** returns the current URL of the AJAX post. - */ - URL?: string; -} - -export interface LoadEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; -} - -export interface LoadCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; -} - -export interface MouseDownEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** If the child element exist return true; otherwise, false. - */ - hasChild?: boolean; - - /** returns the current list item. - */ - item?: string; - - /** returns the current text of item. - */ - text?: string; - - /** returns the current Index of the item. - */ - index?: number; - - /** If checked return true; otherwise, false. - */ - isChecked?: boolean; - - /** returns the list of checked items. - */ - checkedItems?: number; - - /** returns the current checked item text. - */ - checkedItemsText?: string; -} - -export interface MouseUpEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** If the child element exist return true; otherwise, false. - */ - hasChild?: boolean; - - /** returns the current list item. - */ - item?: string; - - /** returns the current text of item. - */ - text?: string; - - /** returns the current Index of the item. - */ - index?: number; - - /** If checked return true; otherwise, false. - */ - isChecked?: boolean; - - /** returns the list of checked items. - */ - checkedItems?: number; - - /** returns the current checked item text. - */ - checkedItemsText?: string; -} - -export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; -} + /** It specifies the HTTP request type. + */ + type?: string; + } } class MaskEdit extends ej.Widget { static fn: MaskEdit; - constructor(element: JQuery, options?: MaskEdit.Model); - constructor(element: Element, options?: MaskEdit.Model); + constructor(element: JQuery | Element, options?: MaskEdit.Model); static Locale: any; - model:MaskEdit.Model; - defaults:MaskEdit.Model; + model: MaskEdit.Model; + defaults: MaskEdit.Model; /** To clear the text in mask edit textbox control. - * @returns {void} - */ + * @returns {void} + */ clear(): void; /** To disable the mask edit textbox control. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** To enable the mask edit textbox control. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** To obtained the pure value of the text value, removes all the symbols in mask edit textbox control. - * @returns {string} - */ + * @returns {string} + */ get_StrippedValue(): string; /** To obtained the textbox value as such that, Just replace all '_' to ' '(space) in mask edit textbox control. - * @returns {string} - */ + * @returns {string} + */ get_UnstrippedValue(): string; } -export module MaskEdit{ +export namespace MaskEdit { -export interface Model { + export interface Model { - /** Specify the cssClass to achieve custom theme. - * @Default {null} - */ - cssClass?: string; + /** Specify the cssClass to achieve custom theme. + * @Default {null} + */ + cssClass?: string; - /** Specify the custom character allowed to entered in mask edit textbox control. - * @Default {null} - */ - customCharacter?: string; + /** Specify the custom character allowed to entered in mask edit textbox control. + * @Default {null} + */ + customCharacter?: string; - /** Specify the state of the mask edit textbox control. - * @Default {true} - */ - enabled?: boolean; + /** Specify the state of the mask edit textbox control. + * @Default {true} + */ + enabled?: boolean; - /** Specify the enablePersistence to mask edit textbox to save current model value to browser cookies for state maintains. - */ - enablePersistence?: boolean; + /** Specify the enablePersistence to mask edit textbox to save current model value to browser cookies for state maintains. + */ + enablePersistence?: boolean; - /** Specifies the height for the mask edit textbox control. - * @Default {28 px} - */ - height?: string; + /** Specifies the height for the mask edit textbox control. + * @Default {28 px} + */ + height?: string; - /** Specifies whether hide the prompt characters with spaces on blur. Prompt chars will be shown again on focus the textbox. - * @Default {false} - */ - hidePromptOnLeave?: boolean; + /** Specifies whether hide the prompt characters with spaces on blur. Prompt chars will be shown again on focus the textbox. + * @Default {false} + */ + hidePromptOnLeave?: boolean; - /** Specifies the list of HTML attributes to be added to mask edit textbox. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the list of HTML attributes to be added to mask edit textbox. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specify the inputMode for mask edit textbox control. See InputMode - * @Default {ej.InputMode.Text} - */ - inputMode?: ej.InputMode|string; + /** Specify the inputMode for mask edit textbox control. See InputMode + * @Default {ej.InputMode.Text} + */ + inputMode?: ej.InputMode | string; - /** Specifies the input mask. - * @Default {null} - */ - maskFormat?: string; + /** Specifies the input mask. + * @Default {null} + */ + maskFormat?: string; - /** Specifies the name attribute value for the mask edit textbox. - * @Default {null} - */ - name?: string; + /** Specifies the name attribute value for the mask edit textbox. + * @Default {null} + */ + name?: string; - /** Toggles the readonly state of the mask edit textbox. When the mask edit textbox is readonly, it doesn't allow your input. - * @Default {false} - */ - readOnly?: boolean; + /** Toggles the readonly state of the mask edit textbox. When the mask edit textbox is readonly, it doesn't allow your input. + * @Default {false} + */ + readOnly?: boolean; - /** Specifies whether the error will show until correct value entered in the mask edit textbox control. - * @Default {false} - */ - showError?: boolean; + /** Specifies whether the error will show until correct value entered in the mask edit textbox control. + * @Default {false} + */ + showError?: boolean; - /** when showPromptChar is true, the hide the prompt characters are shown in focus of the control and hides in focus out of the control. - * @Default {true} - */ - showPromptChar?: boolean; + /** when showPromptChar is true, the hide the prompt characters are shown in focus of the control and hides in focus out of the control. + * @Default {true} + */ + showPromptChar?: boolean; - /** MaskEdit input is displayed in rounded corner style when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** MaskEdit input is displayed in rounded corner style when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** Specify the text alignment for mask edit textbox control.See TextAlign - * @Default {left} - */ - textAlign?: ej.TextAlign|string; + /** Specify the text alignment for mask edit textbox control.See TextAlign + * @Default {left} + */ + textAlign?: ej.TextAlign | string; - /** Sets the jQuery validation error message in mask edit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. - * @Default {null} - */ - validationMessage?: any; + /** Sets the jQuery validation error message in mask edit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. + * @Default {null} + */ + validationMessage?: any; - /** Sets the jQuery validation rules to the MaskEdit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. - * @Default {null} - */ - validationRules?: any; + /** Sets the jQuery validation rules to the MaskEdit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. + * @Default {null} + */ + validationRules?: any; - /** Specifies the value for the mask edit textbox control. - * @Default {null} - */ - value?: string; + /** Specifies the value for the mask edit textbox control. + * @Default {null} + */ + value?: string; - /** Specifies the water mark text to be displayed in input text. - * @Default {null} - */ - watermarkText?: string; + /** Specifies the water mark text to be displayed in input text. + * @Default {null} + */ + watermarkText?: string; - /** Specifies the width for the mask edit textbox control. - * @Default {143pixel} - */ - width?: string; + /** Specifies the width for the mask edit textbox control. + * @Default {143pixel} + */ + width?: string; - /** Fires when value changed in mask edit textbox control. */ - change? (e: ChangeEventArgs): void; + /** Fires when value changed in mask edit textbox control. */ + change?(e: ChangeEventArgs): void; - /** Fires after MaskEdit control is created. */ - create? (e: CreateEventArgs): void; + /** Fires after MaskEdit control is created. */ + create?(e: CreateEventArgs): void; - /** Fires when the MaskEdit is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the MaskEdit is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Fires when focused in mask edit textbox control. */ - focusIn? (e: FocusInEventArgs): void; + /** Fires when focused in mask edit textbox control. */ + focusIn?(e: FocusInEventArgs): void; - /** Fires when focused out in mask edit textbox control. */ - focusOut? (e: FocusOutEventArgs): void; + /** Fires when focused out in mask edit textbox control. */ + focusOut?(e: FocusOutEventArgs): void; - /** Fires when keydown in mask edit textbox control. */ - keydown? (e: KeydownEventArgs): void; + /** Fires when keydown in mask edit textbox control. */ + keydown?(e: KeydownEventArgs): void; - /** Fires when key press in mask edit textbox control. */ - keyPress? (e: KeyPressEventArgs): void; + /** Fires when key press in mask edit textbox control. */ + keyPress?(e: KeyPressEventArgs): void; - /** Fires when keyup in mask edit textbox control. */ - keyup? (e: KeyupEventArgs): void; + /** Fires when keyup in mask edit textbox control. */ + keyup?(e: KeyupEventArgs): void; - /** Fires when mouse out in mask edit textbox control. */ - mouseOut? (e: MouseOutEventArgs): void; + /** Fires when mouse out in mask edit textbox control. */ + mouseOut?(e: MouseOutEventArgs): void; - /** Fires when mouse over in mask edit textbox control. */ - mouseOver? (e: MouseOverEventArgs): void; + /** Fires when mouse over in mask edit textbox control. */ + mouseOver?(e: MouseOverEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the MaskEdit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the MaskEdit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface KeydownEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface KeyPressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface KeyupEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface MouseOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface MouseOverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } } - -export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; +enum InputMode { + //string + Password, + //string + Text, } - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the MaskEdit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the MaskEdit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} - -export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} - -export interface KeydownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} - -export interface KeyPressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} - -export interface KeyupEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} - -export interface MouseOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} - -export interface MouseOverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; -} -} -enum InputMode -{ -//string -Password, -//string -Text, -} -enum TextAlign -{ -//string -Center, -//string -Justify, -//string -Left, -//string -Right, +enum TextAlign { + //string + Center, + //string + Justify, + //string + Left, + //string + Right, } class Menu extends ej.Widget { static fn: Menu; - constructor(element: JQuery, options?: Menu.Model); - constructor(element: Element, options?: Menu.Model); + constructor(element: JQuery | Element, options?: Menu.Model); static Locale: any; - model:Menu.Model; - defaults:Menu.Model; + model: Menu.Model; + defaults: Menu.Model; /** Disables the Menu control. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Specifies the Menu Item to be disabled by using the Menu Item Text. - * @param {string} Specifies the Menu Item Text to be disabled. - * @returns {void} - */ + * @param {string} Specifies the Menu Item Text to be disabled. + * @returns {void} + */ disableItem(itemtext: string): void; /** Specifies the Menu Item to be disabled by using the Menu Item Id. - * @param {string|number} Specifies the Menu Item id to be disabled - * @returns {void} - */ - disableItemByID(itemid: string|number): void; + * @param {string|number} Specifies the Menu Item id to be disabled + * @returns {void} + */ + disableItemByID(itemid: string | number): void; /** Enables the Menu control. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Specifies the Menu Item to be enabled by using the Menu Item Text. - * @param {string} Specifies the Menu Item Text to be enabled. - * @returns {void} - */ + * @param {string} Specifies the Menu Item Text to be enabled. + * @returns {void} + */ enableItem(itemtext: string): void; /** Specifies the Menu Item to be enabled by using the Menu Item Id. - * @param {string|number} Specifies the Menu Item id to be enabled. - * @returns {void} - */ - enableItemByID(itemid: string|number): void; + * @param {string|number} Specifies the Menu Item id to be enabled. + * @returns {void} + */ + enableItemByID(itemid: string | number): void; /** Hides the Context Menu control. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** Hides the specific items in Menu control. - * @returns {void} - */ + * @returns {void} + */ hideItems(): void; /** Insert the menu item as child of target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insert(item: any, target: string|any): void; + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insert(item: any, target: string | any): void; /** Insert the menu item after the target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insertAfter(item: any, target: string|any): void; + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insertAfter(item: any, target: string | any): void; /** Insert the menu item before the target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insertBefore(item: any, target: string|any): void; + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insertBefore(item: any, target: string | any): void; /** Remove Menu item. - * @param {any|Array} Selector of target node or Object of target node. - * @returns {void} - */ - remove(target: any|Array): void; + * @param {any|Array} Selector of target node or Object of target node. + * @returns {void} + */ + remove(target: any | any[]): void; /** To show the Menu control. - * @param {number} x co-ordinate position of context menu. - * @param {number} y co-ordinate position of context menu. - * @param {any} target element - * @param {any} name of the event - * @returns {void} - */ + * @param {number} x co-ordinate position of context menu. + * @param {number} y co-ordinate position of context menu. + * @param {any} target element + * @param {any} name of the event + * @returns {void} + */ show(locationX: number, locationY: number, targetElement: any, event: any): void; /** Show the specific items in Menu control. - * @returns {void} - */ + * @returns {void} + */ showItems(): void; } -export module Menu{ +export namespace Menu { -export interface Model { + export interface Model { - /** To enable or disable the Animation while hover or click an menu items.See AnimationType - * @Default {ej.AnimationType.Default} - */ - animationType?: ej.AnimationType|string; + /** To enable or disable the Animation while hover or click an menu items.See AnimationType + * @Default {ej.AnimationType.Default} + */ + animationType?: ej.AnimationType | string; - /** Specifies the target id of context menu. On right clicking the specified contextTarget element, context menu gets shown. - * @Default {null} - */ - contextMenuTarget?: string; + /** Specifies the target id of context menu. On right clicking the specified contextTarget element, context menu gets shown. + * @Default {null} + */ + contextMenuTarget?: string; - /** Specifies the container element selectors for submenu’s collision. The submenu gets displayed based on spacing available with respect to container element. - * @Default {null} - */ - container?: string; + /** Specifies the container element selectors for submenu’s collision. The submenu gets displayed based on spacing available with respect to container element. + * @Default {null} + */ + container?: string; + /** Specify the CSS class to achieve custom theme. + */ + cssClass?: string; - /** Specify the CSS class to achieve custom theme. - */ - cssClass?: string; + /** To enable or disable the Animation effect while hover or click an menu items. + * @Default {true} + */ + enableAnimation?: boolean; - /** To enable or disable the Animation effect while hover or click an menu items. - * @Default {true} - */ - enableAnimation?: boolean; + /** Specifies the root menu items to be aligned center in horizontal menu. + * @Default {false} + */ + enableCenterAlign?: boolean; - /** Specifies the root menu items to be aligned center in horizontal menu. - * @Default {false} - */ - enableCenterAlign?: boolean; + /** Enable / Disable the Menu control. + * @Default {true} + */ + enabled?: boolean; - /** Enable / Disable the Menu control. - * @Default {true} - */ - enabled?: boolean; + /** Specifies the menu items to be displayed in right to left direction. + * @Default {false} + */ + enableRTL?: boolean; - /** Specifies the menu items to be displayed in right to left direction. - * @Default {false} - */ - enableRTL?: boolean; + /** When this property sets to false, the menu items is displayed without any separators. + * @Default {true} + */ + enableSeparator?: boolean; - /** When this property sets to false, the menu items is displayed without any separators. - * @Default {true} - */ - enableSeparator?: boolean; + /** Specifies the target which needs to be excluded. i.e., The context menu will not be displayed in those specified targets. + * @Default {null} + */ + excludeTarget?: string; - /** Specifies the target which needs to be excluded. i.e., The context menu will not be displayed in those specified targets. - * @Default {null} - */ - excludeTarget?: string; + /** Fields used to bind the data source and it includes following field members to make data bind easier. + * @Default {null} + */ + fields?: Fields; - /** Fields used to bind the data source and it includes following field members to make data bind easier. - * @Default {null} - */ - fields?: Fields; + /** Specifies the height of the root menu. + * @Default {auto} + */ + height?: string | number; - /** Specifies the height of the root menu. - * @Default {auto} - */ - height?: string|number; + /** Specifies the list of HTML attributes to be added to menu control. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the list of HTML attributes to be added to menu control. - * @Default {{}} - */ - htmlAttributes?: any; + /** Enables/disables responsive support for the Menu control during the window resizing time. + * @Default {true} + */ + isResponsive?: boolean; - /** Enables/disables responsive support for the Menu control during the window resizing time. - * @Default {true} - */ - isResponsive?: boolean; + /** Specifies the type of the menu. Essential JavaScript Menu consists of two type of menu, they are Normal Menu and Context Menu mode.See MenuType + * @Default {ej.MenuType.NormalMenu} + */ + menuType?: string | ej.MenuType; - /** Specifies the type of the menu. Essential JavaScript Menu consists of two type of menu, they are Normal Menu and Context Menu mode.See MenuType - * @Default {ej.MenuType.NormalMenu} - */ - menuType?: string|ej.MenuType; + /** Specifies the sub menu items to be show or open only on click. + * @Default {false} + */ + openOnClick?: boolean; - /** Specifies the sub menu items to be show or open only on click. - * @Default {false} - */ - openOnClick?: boolean; + /** Specifies the orientation of normal menu. Normal menu can rendered in horizontal or vertical direction by using this API. See Orientation + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; - /** Specifies the orientation of normal menu. Normal menu can rendered in horizontal or vertical direction by using this API. See Orientation - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation|string; + /** Specifies the main menu items arrows only to be shown if it contains child items. + * @Default {true} + */ + showRootLevelArrows?: boolean; - /** Specifies the main menu items arrows only to be shown if it contains child items. - * @Default {true} - */ - showRootLevelArrows?: boolean; + /** Specifies the sub menu items arrows only to be shown if it contains child items. + * @Default {true} + */ + showSubLevelArrows?: boolean; - /** Specifies the sub menu items arrows only to be shown if it contains child items. - * @Default {true} - */ - showSubLevelArrows?: boolean; + /** Specifies position of pull down submenu that will appear on mouse over.See Direction + * @Default {ej.Direction.Right} + */ + subMenuDirection?: string | ej.Direction; - /** Specifies position of pull down submenu that will appear on mouse over.See Direction - * @Default {ej.Direction.Right} - */ - subMenuDirection?: string|ej.Direction; + /** Specifies the title to responsive menu. + * @Default {Menu} + */ + titleText?: string; - /** Specifies the title to responsive menu. - * @Default {Menu} - */ - titleText?: string; + /** Specifies the width of the main menu. + * @Default {auto} + */ + width?: string | number; - /** Specifies the width of the main menu. - * @Default {auto} - */ - width?: string|number; + /** Specifies the popup menu height. + * @Default {auto} + */ + overflowHeight?: string | number; - /** Specifies the popup menu height. - * @Default {auto} - */ - overflowHeight?: string|number; + /** Specifies the popup menu width. + * @Default {auto} + */ + overflowWidth?: string | number; - /** Specifies the popup menu width. - * @Default {auto} - */ - overflowWidth?: string|number; + /** Fires before context menu gets open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** Fires before context menu gets open. */ - beforeOpen? (e: BeforeOpenEventArgs): void; + /** Fires when mouse click on menu items. */ + click?(e: ClickEventArgs): void; - /** Fires when mouse click on menu items. */ - click? (e: ClickEventArgs): void; + /** Fire when context menu on close. */ + close?(e: CloseEventArgs): void; - /** Fire when context menu on close. */ - close? (e: CloseEventArgs): void; + /** Fires when context menu on open. */ + open?(e: OpenEventArgs): void; - /** Fires when context menu on open. */ - open? (e: OpenEventArgs): void; + /** Fires to create menu items. */ + create?(e: CreateEventArgs): void; - /** Fires to create menu items. */ - create? (e: CreateEventArgs): void; + /** Fires to destroy menu items. */ + destroy?(e: DestroyEventArgs): void; - /** Fires to destroy menu items. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when key down on menu items. */ + keydown?(e: KeydownEventArgs): void; - /** Fires when key down on menu items. */ - keydown? (e: KeydownEventArgs): void; + /** Fires when mouse out from menu items. */ + mouseout?(e: MouseoutEventArgs): void; - /** Fires when mouse out from menu items. */ - mouseout? (e: MouseoutEventArgs): void; + /** Fires when mouse over the Menu items. */ + mouseover?(e: MouseoverEventArgs): void; - /** Fires when mouse over the Menu items. */ - mouseover? (e: MouseoverEventArgs): void; + /** Fires when overflow popup menu opens. */ + overflowOpen?(e: OverflowOpenEventArgs): void; - /** Fires when overflow popup menu opens. */ - overflowOpen? (e: OverflowOpenEventArgs): void; + /** Fires when overflow popup menu closes. */ + overflowClose?(e: OverflowCloseEventArgs): void; + } - /** Fires when overflow popup menu closes. */ - overflowClose? (e: OverflowCloseEventArgs): void; + export interface BeforeOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; + } + + export interface ClickEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + + /** returns the selected item + */ + selectedItem?: number; + } + + export interface CloseEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; + } + + export interface OpenEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; + } + + export interface CreateEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface KeydownEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + menuText?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + } + + export interface MouseoutEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + } + + export interface MouseoverEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + } + + export interface OverflowOpenEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + e?: any; + + /** if the event should be cancelled ; otherwise ,false + */ + cancel?: boolean; + } + + export interface OverflowCloseEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + e?: any; + + /** if the event should be cancelled ; otherwise ,false + */ + cancel?: boolean; + } + + export interface Fields { + + /** It receives the child data for the inner level. + */ + child?: any; + + /** It receives datasource as Essential DataManager object and JSON object. + */ + dataSource?: any; + + /** Specifies the HTML attributes to “LI” item list. + */ + htmlAttribute?: string; + + /** Specifies the id to menu items list + */ + id?: string; + + /** Specifies the image attribute to “img” tag inside items list. + */ + imageAttribute?: string; + + /** Specifies the image URL to “img” tag inside item list. + */ + imageUrl?: string; + + /** Adds custom attributes like "target" to the anchor tag of the menu items. + */ + linkAttribute?: string; + + /** Specifies the parent id of the table. + */ + parentId?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + */ + query?: any; + + /** Specifies the sprite CSS class to “LI” item list. + */ + spriteCssClass?: string; + + /** It receives table name to execute query on the corresponding table. + */ + tableName?: string; + + /** Specifies the text of menu items list. + */ + text?: string; + + /** Specifies the URL to the anchor tag in menu item list. + */ + url?: string; + } } - -export interface BeforeOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; +enum AnimationType { + //string + Default, + //string + None, } - -export interface ClickEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - - /** returns the selected item - */ - selectedItem?: number; +enum MenuType { + //string + ContextMenu, + //string + NormalMenu, } - -export interface CloseEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; -} - -export interface OpenEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; -} - -export interface CreateEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface KeydownEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - menuText?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; -} - -export interface MouseoutEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; -} - -export interface MouseoverEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; -} - -export interface OverflowOpenEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - e?: any; - - /** if the event should be cancelled ; otherwise ,false - */ - cancel?: boolean; -} - -export interface OverflowCloseEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - e?: any; - - /** if the event should be cancelled ; otherwise ,false - */ - cancel?: boolean; -} - -export interface Fields { - - /** It receives the child data for the inner level. - */ - child?: any; - - /** It receives datasource as Essential DataManager object and JSON object. - */ - dataSource?: any; - - /** Specifies the HTML attributes to “LI” item list. - */ - htmlAttribute?: string; - - /** Specifies the id to menu items list - */ - id?: string; - - /** Specifies the image attribute to “img” tag inside items list. - */ - imageAttribute?: string; - - /** Specifies the image URL to “img” tag inside item list. - */ - imageUrl?: string; - - /** Adds custom attributes like "target" to the anchor tag of the menu items. - */ - linkAttribute?: string; - - /** Specifies the parent id of the table. - */ - parentId?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - */ - query?: any; - - /** Specifies the sprite CSS class to “LI” item list. - */ - spriteCssClass?: string; - - /** It receives table name to execute query on the corresponding table. - */ - tableName?: string; - - /** Specifies the text of menu items list. - */ - text?: string; - - /** Specifies the URL to the anchor tag in menu item list. - */ - url?: string; -} -} -enum AnimationType -{ -//string -Default, -//string -None, -} -enum MenuType -{ -//string -ContextMenu, -//string -NormalMenu, -} -enum Direction -{ -//string -Left, -//string -None, -//string -Right, +enum Direction { + //string + Left, + //string + None, + //string + Right, } class Pager extends ej.Widget { static fn: Pager; - constructor(element: JQuery, options?: Pager.Model); - constructor(element: Element, options?: Pager.Model); + constructor(element: JQuery | Element, options?: Pager.Model); static Locale: any; - model:Pager.Model; - defaults:Pager.Model; + model: Pager.Model; + defaults: Pager.Model; /** Send a paging request to specified page through the pager control. - * @param {number} Specifies the index to be navigated - * @returns {void} - */ + * @param {number} Specifies the index to be navigated + * @returns {void} + */ gotoPage(pageIndex: number): void; /** refreshPager() helps to refresh the model value of pager control. - * @returns {void} - */ + * @returns {void} + */ refreshPager(): void; } -export module Pager{ +export namespace Pager { -export interface Model { + export interface Model { - /** Gets or sets a value that indicates whether to display the custom text message in Pager. - */ - customText?: string; + /** Gets or sets a value that indicates whether to display the custom text message in Pager. + */ + customText?: string; - /** Gets or sets a value that indicates whether to define which page to display currently in pager. - * @Default {1} - */ - currentPage?: number; + /** Gets or sets a value that indicates whether to define which page to display currently in pager. + * @Default {1} + */ + currentPage?: number; - /** Gets or sets a value that indicates whether to display the external Message in Pager. - * @Default {false} - */ - enableExternalMessage?: boolean; + /** Gets or sets a value that indicates whether to display the external Message in Pager. + * @Default {false} + */ + enableExternalMessage?: boolean; - /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. - * @Default {false} - */ - enableQueryString?: boolean; + /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. + * @Default {false} + */ + enableQueryString?: boolean; - /** Align content in the pager control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; + /** Align content in the pager control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; - /** Gets or sets a value that indicates whether to display the external Message in Pager. - */ - externalMessage?: string; + /** Gets or sets a value that indicates whether to display the external Message in Pager. + */ + externalMessage?: string; - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. + * in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; - /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation. - * @Default {10} - */ - pageCount?: number; + /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation. + * @Default {10} + */ + pageCount?: number; - /** Gets or sets a value that indicates whether to define the number of records displayed per page. - * @Default {12} - */ - pageSize?: number; + /** Gets or sets a value that indicates whether to define the number of records displayed per page. + * @Default {12} + */ + pageSize?: number; - /** Get or sets a value of total number of pages in the pager. The totalPages value is calculated based on page size and total records. - * @Default {null} - */ - totalPages?: number; + /** Get or sets a value of total number of pages in the pager. The totalPages value is calculated based on page size and total records. + * @Default {null} + */ + totalPages?: number; - /** Get the value of total number of records which is bound to a data item. - * @Default {null} - */ - totalRecordsCount?: number; + /** Get the value of total number of records which is bound to a data item. + * @Default {null} + */ + totalRecordsCount?: number; - /** Shows or hides the current page information in pager footer. - * @Default {true} - */ - showPageInfo?: boolean; + /** Shows or hides the current page information in pager footer. + * @Default {true} + */ + showPageInfo?: boolean; - /** Triggered when pager numeric item is clicked in pager control. */ - click? (e: ClickEventArgs): void; + /** Triggered when pager numeric item is clicked in pager control. */ + click?(e: ClickEventArgs): void; + } + + export interface ClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current page index. + */ + currentPage?: number; + + /** Returns the pager model. + */ + model?: any; + + /** Returns the name of event + */ + type?: string; + + /** Returns current action event type and its target. + */ + event?: any; + } } -export interface ClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current page index. - */ - currentPage?: number; - - /** Returns the pager model. - */ - model?: any; - - /** Returns the name of event - */ - type?: string; - - /** Returns current action event type and its target. - */ - event?: any; -} -} class Print extends ej.Widget { static fn: Print; - constructor(element: JQuery, options?: Print.Model); - constructor(element: Element, options?: Print.Model); + constructor(element: JQuery | Element, options?: Print.Model); static Locale: any; - model:Print.Model; - defaults:Print.Model; + model: Print.Model; + defaults: Print.Model; /** Print the specific page or an element. - * @returns {void} - */ + * @returns {void} + */ print(): void; } -export module Print{ -export interface Model { +export namespace Print { - /** Append the custom HTML after the selected content. - * @Default {null} - */ - append?: string; + export interface Model { - /** A selector that specifies a particular element to be excluded from printing. - * @Default {null} - */ - excludeSelector?: string; + /** Append the custom HTML after the selected content. + * @Default {null} + */ + append?: string; - /** Specifies whether the URL of an external stylesheet can be included to customize and print that page. - * @Default {null} - */ - externalStyles?: String; + /** A selector that specifies a particular element to be excluded from printing. + * @Default {null} + */ + excludeSelector?: string; - /** Prepend a doctype to the document frame. - * @Default {<!doctype html>} - */ - docType?: string; + /** Specifies whether the URL of an external stylesheet can be included to customize and print that page. + * @Default {null} + */ + externalStyles?: string; - /** Specifies whether the global styles can be applied to the element to be printed. - * @Default {true} - */ - globalStyles?: Boolean; + /** Prepend a doctype to the document frame. + * @Default {<!doctype html>} + */ + docType?: string; - /** Sets the height of the print window. - * @Default {454} - */ - height?: Number; + /** Specifies whether the global styles can be applied to the element to be printed. + * @Default {true} + */ + globalStyles?: boolean; - /** Prepends the custom HTML before the selected content. - * @Default {null} - */ - prepend?: string; + /** Sets the height of the print window. + * @Default {454} + */ + height?: number; - /** Allows printing the content in a new window. - * @Default {false} - */ - printInNewWindow?: Boolean; + /** Prepends the custom HTML before the selected content. + * @Default {null} + */ + prepend?: string; - /** Sets the period of time to wait before printing the content. - * @Default {1000} - */ - timeOutPeriod?: Number; + /** Allows printing the content in a new window. + * @Default {false} + */ + printInNewWindow?: boolean; - /** Sets the title of the print document. - * @Default {null} - */ - title?: string; + /** Sets the period of time to wait before printing the content. + * @Default {1000} + */ + timeOutPeriod?: number; - /** Defines the width of the print window. - * @Default {1024} - */ - width?: Number; + /** Sets the title of the print document. + * @Default {null} + */ + title?: string; - /** Event triggers before the document page or an element in it gets printed. */ - beforeStart? (e: BeforeStartEventArgs): void; + /** Defines the width of the print window. + * @Default {1024} + */ + width?: number; + + /** Event triggers before the document page or an element in it gets printed. */ + beforeStart?(e: BeforeStartEventArgs): void; + } + + export interface BeforeStartEventArgs { + + /** Set this option as true to cancel the event. + */ + cancel?: boolean; + + /** Returns the Print model + */ + model?: ej.Print.Model; + + /** Returns the name of an event + */ + type?: string; + + /** Returns the printed element + */ + content?: any; + } } - -export interface BeforeStartEventArgs { - - /** Set this option as true to cancel the event. - */ - cancel?: boolean; - - /** Returns the Print model - */ - model?: ej.Print.Model; - - /** Returns the name of an event - */ - type?: string; - - /** Returns the printed element - */ - content?: any; -} -} - class ProgressBar extends ej.Widget { static fn: ProgressBar; - constructor(element: JQuery, options?: ProgressBar.Model); - constructor(element: Element, options?: ProgressBar.Model); + constructor(element: JQuery | Element, options?: ProgressBar.Model); static Locale: any; - model:ProgressBar.Model; - defaults:ProgressBar.Model; + model: ProgressBar.Model; + defaults: ProgressBar.Model; /** Destroy the progressbar widget - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Disables the progressbar control - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Enables the progressbar control - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Returns the current progress value in percent. - * @returns {number} - */ + * @returns {number} + */ getPercentage(): number; /** Returns the current progress value - * @returns {number} - */ + * @returns {number} + */ getValue(): number; } -export module ProgressBar{ +export namespace ProgressBar { -export interface Model { + export interface Model { - /** Sets the root CSS class for ProgressBar theme, which is used customize. - * @Default {null} - */ - cssClass?: string; + /** Sets the root CSS class for ProgressBar theme, which is used customize. + * @Default {null} + */ + cssClass?: string; - /** When this property sets to false, it disables the ProgressBar control - * @Default {true} - */ - enabled?: boolean; + /** When this property sets to false, it disables the ProgressBar control + * @Default {true} + */ + enabled?: boolean; - /** Save current model value to browser cookies for state maintains. While refresh the progressBar control page retains the model value apply from browser cookies - * @Default {false} - */ - enablePersistence?: boolean; + /** Save current model value to browser cookies for state maintains. While refresh the progressBar control page retains the model value apply from browser cookies + * @Default {false} + */ + enablePersistence?: boolean; - /** Sets the ProgressBar direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; + /** Sets the ProgressBar direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; - /** Defines the height of the ProgressBar. - * @Default {null} - */ - height?: number|string; + /** Defines the height of the ProgressBar. + * @Default {null} + */ + height?: number | string; - /** It allows to define the characteristics of the progressBar control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; + /** It allows to define the characteristics of the progressBar control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; - /** Sets the maximum value of the ProgressBar. - * @Default {100} - */ - maxValue?: number; + /** Sets the maximum value of the ProgressBar. + * @Default {100} + */ + maxValue?: number; - /** Sets the minimum value of the ProgressBar. - * @Default {0} - */ - minValue?: number; + /** Sets the minimum value of the ProgressBar. + * @Default {0} + */ + minValue?: number; - /** Sets the ProgressBar value in percentage. The value should be in between 0 to 100. - * @Default {0} - */ - percentage?: number; + /** Sets the ProgressBar value in percentage. The value should be in between 0 to 100. + * @Default {0} + */ + percentage?: number; - /** Displays rounded corner borders on the progressBar control. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** Displays rounded corner borders on the progressBar control. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** Sets the custom text for the ProgressBar. The text placed in the middle of the ProgressBar and it can be customizable using the class 'e-progress-text'. - * @Default {null} - */ - text?: string; + /** Sets the custom text for the ProgressBar. The text placed in the middle of the ProgressBar and it can be customizable using the class 'e-progress-text'. + * @Default {null} + */ + text?: string; - /** Sets the ProgressBar value. The value should be in between min and max values. - * @Default {0} - */ - value?: number; + /** Sets the ProgressBar value. The value should be in between min and max values. + * @Default {0} + */ + value?: number; - /** Defines the width of the ProgressBar. - * @Default {null} - */ - width?: number|string; + /** Defines the width of the ProgressBar. + * @Default {null} + */ + width?: number | string; - /** Event triggers when the progress value changed */ - change? (e: ChangeEventArgs): void; + /** Event triggers when the progress value changed */ + change?(e: ChangeEventArgs): void; - /** Event triggers when the process completes (at 100%) */ - complete? (e: CompleteEventArgs): void; + /** Event triggers when the process completes (at 100%) */ + complete?(e: CompleteEventArgs): void; - /** Event triggers when the progressbar are created */ - create? (e: CreateEventArgs): void; + /** Event triggers when the progressbar are created */ + create?(e: CreateEventArgs): void; - /** Event triggers when the progressbar are destroyed */ - destroy? (e: DestroyEventArgs): void; + /** Event triggers when the progressbar are destroyed */ + destroy?(e: DestroyEventArgs): void; - /** Event triggers when the process starts (from 0%) */ - start? (e: StartEventArgs): void; -} + /** Event triggers when the process starts (from 0%) */ + start?(e: StartEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; - /** returns the current progress percentage - */ - percentage?: any; + /** returns the current progress percentage + */ + percentage?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current progress value - */ - value?: string; -} + /** returns the current progress value + */ + value?: string; + } -export interface CompleteEventArgs { + export interface CompleteEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; - /** returns the current progress percentage - */ - percentage?: any; + /** returns the current progress percentage + */ + percentage?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current progress value - */ - value?: string; -} + /** returns the current progress value + */ + value?: string; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the progressbar model - */ - model?: ej.ProgressBar.Model; + /** returns the progressbar model + */ + model?: ej.ProgressBar.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the progressbar model - */ - model?: ej.ProgressBar.Model; + /** returns the progressbar model + */ + model?: ej.ProgressBar.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface StartEventArgs { + export interface StartEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; - /** returns the current progress percentage - */ - percentage?: any; + /** returns the current progress percentage + */ + percentage?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current progress value - */ - value?: string; -} + /** returns the current progress value + */ + value?: string; + } } class RadioButton extends ej.Widget { static fn: RadioButton; - constructor(element: JQuery, options?: RadioButton.Model); - constructor(element: Element, options?: RadioButton.Model); + constructor(element: JQuery | Element, options?: RadioButton.Model); static Locale: any; - model:RadioButton.Model; - defaults:RadioButton.Model; + model: RadioButton.Model; + defaults: RadioButton.Model; /** To disable the RadioButton - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** To enable the RadioButton - * @returns {void} - */ + * @returns {void} + */ enable(): void; } -export module RadioButton{ +export namespace RadioButton { -export interface Model { + export interface Model { - /** Specifies the check attribute of the Radio Button. - * @Default {false} - */ - checked?: boolean; + /** Specifies the check attribute of the Radio Button. + * @Default {false} + */ + checked?: boolean; - /** Specify the CSS class to RadioButton to achieve custom theme. - */ - cssClass?: string; + /** Specify the CSS class to RadioButton to achieve custom theme. + */ + cssClass?: string; - /** Specifies the RadioButton control state. - * @Default {true} - */ - enabled?: boolean; + /** Specifies the RadioButton control state. + * @Default {true} + */ + enabled?: boolean; - /** Specifies the enablePersistence property for RadioButton while initialization. The enablePersistence API save current model value to browser cookies for state maintains. While refreshing the radio button control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; + /** Specifies the enablePersistence property for RadioButton while initialization. The enablePersistence API save current model value to browser cookies for state maintains. + * While refreshing the radio button control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; - /** Specify the Right to Left direction to RadioButton - * @Default {false} - */ - enableRTL?: boolean; + /** Specify the Right to Left direction to RadioButton + * @Default {false} + */ + enableRTL?: boolean; - /** Specifies the HTML Attributes of the Checkbox - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the HTML Attributes of the Checkbox + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the id attribute for the Radio Button while initialization. - * @Default {null} - */ - id?: string; + /** Specifies the id attribute for the Radio Button while initialization. + * @Default {null} + */ + id?: string; - /** Specify the idPrefix value to be added before the current id of the RadioButton. - * @Default {ej} - */ - idPrefix?: string; + /** Specify the idPrefix value to be added before the current id of the RadioButton. + * @Default {ej} + */ + idPrefix?: string; - /** Specifies the name attribute for the Radio Button while initialization. - * @Default {Sets id as name if it is null} - */ - name?: string; + /** Specifies the name attribute for the Radio Button while initialization. + * @Default {Sets id as name if it is null} + */ + name?: string; - /** Specifies the size of the RadioButton. - * @Default {small} - */ - size?: ej.RadioButtonSize|string; + /** Specifies the size of the RadioButton. + * @Default {small} + */ + size?: ej.RadioButtonSize | string; - /** Specifies the text content for RadioButton. - */ - text?: string; + /** Specifies the text content for RadioButton. + */ + text?: string; - /** Set the jQuery validation error message in radio button. - * @Default {null} - */ - validationMessage?: any; + /** Set the jQuery validation error message in radio button. + * @Default {null} + */ + validationMessage?: any; - /** Set the jQuery validation rules in radio button. - * @Default {null} - */ - validationRules?: any; + /** Set the jQuery validation rules in radio button. + * @Default {null} + */ + validationRules?: any; - /** Specifies the value attribute of the Radio Button. - * @Default {null} - */ - value?: string; + /** Specifies the value attribute of the Radio Button. + * @Default {null} + */ + value?: string; - /** Fires before the RadioButton is going to changed its state successfully */ - beforeChange? (e: BeforeChangeEventArgs): void; + /** Fires before the RadioButton is going to changed its state successfully */ + beforeChange?(e: BeforeChangeEventArgs): void; - /** Fires when the RadioButton state is changed successfully */ - change? (e: ChangeEventArgs): void; + /** Fires when the RadioButton state is changed successfully */ + change?(e: ChangeEventArgs): void; - /** Fires when the RadioButton created successfully */ - create? (e: CreateEventArgs): void; + /** Fires when the RadioButton created successfully */ + create?(e: CreateEventArgs): void; - /** Fires when the RadioButton destroyed successfully */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the RadioButton destroyed successfully */ + destroy?(e: DestroyEventArgs): void; + } + + export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true if element is checked, otherwise returns false + */ + isChecked?: boolean; + + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true if element is checked, otherwise returns false + */ + isChecked?: boolean; + + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + } } - -export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true if element is checked, otherwise returns false - */ - isChecked?: boolean; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; -} - -export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true if element is checked, otherwise returns false - */ - isChecked?: boolean; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; -} -} -enum RadioButtonSize -{ -//Shows small size radio button -Small, -//Shows medium size radio button -Medium, +enum RadioButtonSize { + //Shows small size radio button + Small, + //Shows medium size radio button + Medium, } class Rating extends ej.Widget { static fn: Rating; - constructor(element: JQuery, options?: Rating.Model); - constructor(element: Element, options?: Rating.Model); + constructor(element: JQuery | Element, options?: Rating.Model); static Locale: any; - model:Rating.Model; - defaults:Rating.Model; + model: Rating.Model; + defaults: Rating.Model; /** Destroy the Rating widget all events bound will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** To get the current value of rating control. - * @returns {number} - */ + * @returns {number} + */ getValue(): number; /** To hide the rating control. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** User can refresh the rating control to identify changes. - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** To reset the rating value. - * @returns {void} - */ + * @returns {void} + */ reset(): void; /** To set the rating value. - * @param {string|number} Specifies the rating value. - * @returns {void} - */ - setValue(value: string|number): void; + * @param {string|number} Specifies the rating value. + * @returns {void} + */ + setValue(value: string | number): void; /** To show the rating control - * @returns {void} - */ + * @returns {void} + */ show(): void; } -export module Rating{ +export namespace Rating { -export interface Model { + export interface Model { - /** Enables the rating control with reset button.It can be used to reset the rating control value. - * @Default {true} - */ - allowReset?: boolean; + /** Enables the rating control with reset button.It can be used to reset the rating control value. + * @Default {true} + */ + allowReset?: boolean; - /** Specify the CSS class to achieve custom theme. - */ - cssClass?: string; + /** Specify the CSS class to achieve custom theme. + */ + cssClass?: string; - /** When this property is set to false, it disables the rating control. - * @Default {true} - */ - enabled?: boolean; + /** When this property is set to false, it disables the rating control. + * @Default {true} + */ + enabled?: boolean; - /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; + /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; - /** Specifies the height of the Rating control wrapper. - * @Default {null} - */ - height?: string; + /** Specifies the height of the Rating control wrapper. + * @Default {null} + */ + height?: string; - /** Specifies the list of HTML attributes to be added to rating control. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the list of HTML attributes to be added to rating control. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the value to be increased while navigating between shapes(stars) in Rating control. - * @Default {1} - */ - incrementStep?: number; + /** Specifies the value to be increased while navigating between shapes(stars) in Rating control. + * @Default {1} + */ + incrementStep?: number; - /** Allow to render the maximum number of Rating shape(star). - * @Default {5} - */ - maxValue?: number; + /** Allow to render the maximum number of Rating shape(star). + * @Default {5} + */ + maxValue?: number; - /** Allow to render the minimum number of Rating shape(star). - * @Default {0} - */ - minValue?: number; + /** Allow to render the minimum number of Rating shape(star). + * @Default {0} + */ + minValue?: number; - /** Specifies the orientation of Rating control. See Orientation - * @Default {ej.Rating.Orientation.Horizontal} - */ - orientation?: ej.Orientation|string; + /** Specifies the orientation of Rating control. See Orientation + * @Default {ej.Rating.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; - /** Helps to provide more precise ratings.Rating control supports three precision modes - full, half, and exact. See Precision - * @Default {full} - */ - precision?: ej.Rating.Precision|string; + /** Helps to provide more precise ratings.Rating control supports three precision modes - full, half, and exact. See Precision + * @Default {full} + */ + precision?: ej.Rating.Precision | string; - /** Interaction with Rating control can be prevented by enabling this API. - * @Default {false} - */ - readOnly?: boolean; + /** Interaction with Rating control can be prevented by enabling this API. + * @Default {false} + */ + readOnly?: boolean; - /** To specify the height of each shape in Rating control. - * @Default {23} - */ - shapeHeight?: number; + /** To specify the height of each shape in Rating control. + * @Default {23} + */ + shapeHeight?: number; - /** To specify the width of each shape in Rating control. - * @Default {23} - */ - shapeWidth?: number; + /** To specify the width of each shape in Rating control. + * @Default {23} + */ + shapeWidth?: number; - /** Enables the tooltip option.Currently selected value will be displayed in tooltip. - * @Default {true} - */ - showTooltip?: boolean; + /** Enables the tooltip option.Currently selected value will be displayed in tooltip. + * @Default {true} + */ + showTooltip?: boolean; - /** To specify the number of stars to be selected while rendering. - * @Default {1} - */ - value?: number; + /** To specify the number of stars to be selected while rendering. + * @Default {1} + */ + value?: number; - /** Specifies the width of the Rating control wrapper. - * @Default {null} - */ - width?: string; + /** Specifies the width of the Rating control wrapper. + * @Default {null} + */ + width?: string; - /** Fires when Rating value changes. */ - change? (e: ChangeEventArgs): void; + /** Fires when Rating value changes. */ + change?(e: ChangeEventArgs): void; - /** Fires when Rating control is clicked successfully. */ - click? (e: ClickEventArgs): void; + /** Fires when Rating control is clicked successfully. */ + click?(e: ClickEventArgs): void; - /** Fires when Rating control is created. */ - create? (e: CreateEventArgs): void; + /** Fires when Rating control is created. */ + create?(e: CreateEventArgs): void; - /** Fires when Rating control is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when Rating control is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Fires when mouse hover is removed from Rating control. */ - mouseout? (e: MouseoutEventArgs): void; + /** Fires when mouse hover is removed from Rating control. */ + mouseout?(e: MouseoutEventArgs): void; - /** Fires when mouse hovered over the Rating control. */ - mouseover? (e: MouseoverEventArgs): void; -} + /** Fires when mouse hovered over the Rating control. */ + mouseover?(e: MouseoverEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** returns the current value. - */ - value?: number; + /** returns the current value. + */ + value?: number; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the rating model - */ - model?: ej.Rating.Model; + /** returns the rating model + */ + model?: ej.Rating.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the mouse click event args values. - */ - event?: any; -} + /** returns the mouse click event args values. + */ + event?: any; + } -export interface ClickEventArgs { + export interface ClickEventArgs { - /** returns the current value. - */ - value?: number; + /** returns the current value. + */ + value?: number; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the rating model - */ - model?: ej.Rating.Model; + /** returns the rating model + */ + model?: ej.Rating.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the mouse click event args values. - */ - event?: any; -} + /** returns the mouse click event args values. + */ + event?: any; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the rating model - */ - model?: ej.Rating.Model; + /** returns the rating model + */ + model?: ej.Rating.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the rating model - */ - model?: ej.Rating.Model; + /** returns the rating model + */ + model?: ej.Rating.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface MouseoutEventArgs { + export interface MouseoutEventArgs { - /** returns the current value. - */ - value?: number; + /** returns the current value. + */ + value?: number; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the rating model - */ - model?: ej.Rating.Model; + /** returns the rating model + */ + model?: ej.Rating.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the mouse click event args values. - */ - event?: any; -} + /** returns the mouse click event args values. + */ + event?: any; + } -export interface MouseoverEventArgs { + export interface MouseoverEventArgs { - /** returns the current value. - */ - value?: number; + /** returns the current value. + */ + value?: number; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the rating model - */ - model?: ej.Rating.Model; + /** returns the rating model + */ + model?: ej.Rating.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the mouse click event args values. - */ - event?: any; + /** returns the mouse click event args values. + */ + event?: any; - /** returns the current index value. - */ - index?: any; -} + /** returns the current index value. + */ + index?: any; + } -enum Precision{ + enum Precision { - ///string - Exact, + ///string + Exact, - ///string - Full, + ///string + Full, - ///string - Half -} + ///string + Half + } } class Ribbon extends ej.Widget { static fn: Ribbon; - constructor(element: JQuery, options?: Ribbon.Model); - constructor(element: Element, options?: Ribbon.Model); + constructor(element: JQuery | Element, options?: Ribbon.Model); static Locale: any; - model:Ribbon.Model; - defaults:Ribbon.Model; + model: Ribbon.Model; + defaults: Ribbon.Model; - /** Adds contextual tab or contextual tab set dynamically in the ribbon control with contextual tabs object and index position. When index is null, ribbon contextual tab or contextual tab set is added at the last index. - * @param {any} contextual tab or contextual tab set object. - * @param {number} index of the contextual tab or contextual tab set, this is optional. - * @returns {void} - */ + /** Adds contextual tab or contextual tab set dynamically in the ribbon control with contextual tabs object and index position. + * When index is null, ribbon contextual tab or contextual tab set is added at the last index. + * @param {any} contextual tab or contextual tab set object. + * @param {number} index of the contextual tab or contextual tab set, this is optional. + * @returns {void} + */ addContextualTabs(contextualTabSet: any, index?: number): void; /** Add new option to Backstage page. - * @param {any} select the object to add the backstage item - * @param {number} index to the backstage item this is optional. - * @returns {void} - */ + * @param {any} select the object to add the backstage item + * @param {number} index to the backstage item this is optional. + * @returns {void} + */ addBackStageItem(item: any, index?: number): void; /** Adds tab dynamically in the ribbon control with given name, tab group array and index position. When index is null, ribbon tab is added at the last index. - * @param {string} ribbon tab display text. - * @param {Array} groups to be displayed in ribbon tab . - * @param {number} index of the ribbon tab,this is optional. - * @returns {void} - */ - addTab(tabText: string, ribbonGroups: Array, index?: number): void; + * @param {string} ribbon tab display text. + * @param {Array} groups to be displayed in ribbon tab . + * @param {number} index of the ribbon tab,this is optional. + * @returns {void} + */ + addTab(tabText: string, ribbonGroups: any[], index?: number): void; /** Adds tab group dynamically in the ribbon control with given tab index, tab group object and group index position. When group index is null, ribbon group is added at the last index. - * @param {number} ribbon tab index. - * @param {any} group to be displayed in ribbon tab . - * @param {number} index of the ribbon group,this is optional. - * @returns {void} - */ + * @param {number} ribbon tab index. + * @param {any} group to be displayed in ribbon tab . + * @param {number} index of the ribbon group,this is optional. + * @returns {void} + */ addTabGroup(tabIndex: number, tabGroup: any, groupIndex?: number): void; - /** Adds group content dynamically in the ribbon control with given tab index, group index, content, content index and sub group index position. When content index is null, content is added at the last index. - * @param {number} ribbon tab index. - * @param {number} ribbon group index. - * @param {any} content to be displayed in the ribbon group. - * @param {number} ribbon content index. This is optional. If the value is not given, then by default contentIndex will be considered as 0. - * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, then by default contentIndex will be considered as 0. - * @returns {void} - */ + /** Adds group content dynamically in the ribbon control with given tab index, group index, sub group index, content and content index position. + * When content index is null, content is added at the last index. + * @param {number} ribbon tab index. + * @param {number} ribbon group index. + * @param {any} content to be displayed in the ribbon group. + * @param {number} ribbon content index. This is optional. If the value is not given, then by default contentIndex will be considered as 0. + * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, then by default contentIndex will be considered as 0. + * @returns {void} + */ addTabGroupContent(tabIndex: number, groupIndex: number, content: any, contentIndex?: number, subGroupIndex?: number): void; /** Hides the ribbon backstage page. - * @returns {void} - */ + * @returns {void} + */ hideBackstage(): void; /** Collapses the ribbon tab content. - * @returns {void} - */ + * @returns {void} + */ collapse(): void; /** Destroys the ribbon widget. All the events bound using this._on are unbound automatically and the ribbon control is moved to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Expands the ribbon tab content. - * @returns {void} - */ + * @returns {void} + */ expand(): void; /** Gets text of the given index tab in the ribbon control. - * @param {number} index of the tab item. - * @returns {String} - */ - getTabText(index: number): String; + * @param {number} index of the tab item. + * @returns {String} + */ + getTabText(index: number): string; /** Hides the given text tab in the ribbon control. - * @param {string} text of the tab item. - * @returns {void} - */ + * @param {string} text of the tab item. + * @returns {void} + */ hideTab(text: string): void; /** Checks whether the given text tab in the ribbon control is enabled or not. - * @param {string} text of the tab item. - * @returns {Boolean} - */ - isEnable(text: string): Boolean; + * @param {string} text of the tab item. + * @returns {Boolean} + */ + isEnable(text: string): boolean; /** Checks whether the given text tab in the ribbon control is visible or not. - * @param {string} text of the tab item. - * @returns {Boolean} - */ - isVisible(text: string): Boolean; + * @param {string} text of the tab item. + * @returns {Boolean} + */ + isVisible(text: string): boolean; /** Removes the given index tab item from the ribbon control. - * @param {number} index of tab item. - * @returns {void} - */ + * @param {number} index of tab item. + * @returns {void} + */ removeTab(index: number): void; /** Sets new text to the given text tab in the ribbon control. - * @param {string} current text of the tab item. - * @param {string} new text of the tab item. - * @returns {void} - */ + * @param {string} current text of the tab item. + * @param {string} new text of the tab item. + * @returns {void} + */ setTabText(tabText: string, newText: string): void; /** Displays the ribbon backstage page. - * @returns {void} - */ + * @returns {void} + */ showBackstage(): void; /** Displays the given text tab in the ribbon control. - * @param {string} text of the tab item. - * @returns {void} - */ + * @param {string} text of the tab item. + * @returns {void} + */ showTab(text: string): void; /** To customize Group alone in the inside content. - * @param {number} ribbon tab index. - * @param {string} group id to be displayed in ribbon tab . - * @param {any} contentGroup is used in the object - * @returns {void} - */ + * @param {number} ribbon tab index. + * @param {string} group id to be displayed in ribbon tab . + * @param {any} contentGroup is used in the object + * @returns {void} + */ updateGroup(tabIndex: number, groupId: string, contentGroup?: any): void; /** Update option in existing Backstage. - * @param {number} index to the backstage item - * @param {any} select the object to add the backstage item - * @returns {void} - */ + * @param {number} index to the backstage item + * @param {any} select the object to add the backstage item + * @returns {void} + */ updateBackStageItem(index: number, item?: any): void; /** To customize whole content from Tab Group. - * @param {number} ribbon tab index. - * @param {string} ribbon group text. - * @param {number} ribbon content index. This is optional. If the value is not given, all content groups will be removed. - * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, all content groups will be removed. - * @returns {void} - */ + * @param {number} ribbon tab index. + * @param {string} ribbon group text. + * @param {number} ribbon content index. This is optional. If the value is not given, all content groups will be removed. + * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, all content groups will be removed. + * @returns {void} + */ removeTabGroupContent(tabIndex: number, groupText: string, contentIndex?: number, subGroupIndex?: number): void; /** Remove option from Backstage. - * @param {number} index to the backstage item - * @returns {void} - */ + * @param {number} index to the backstage item + * @returns {void} + */ removeBackStageItem(index: number): void; } -export module Ribbon{ - -export interface Model { - - /** Enables the ribbon resize feature.allowResizing is a deprecated property of isResponsive. - * @Default {false} - */ - allowResizing?: boolean; - - /** When set to true, adapts the Ribbon layout to fit the screen size of devices on which it renders. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the height, width, enableRTL, showRoundedCorner,enabled,cssClass property to the controls in the ribbon commonly andit will work only when those properties are not defined in buttonSettings and content defaults. - * @Default {Object} - */ - buttonDefaults?: any; +export namespace Ribbon { + + export interface Model { + + /** Enables the ribbon resize feature.allowResizing is a deprecated property of isResponsive. + * @Default {false} + */ + allowResizing?: boolean; + + /** When set to true, adapts the Ribbon layout to fit the screen size of devices on which it renders. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the height, width, enableRTL, showRoundedCorner,enabled,cssClass property to the controls in the ribbon commonly andit will work only when those properties + * are not defined in buttonSettings and content defaults. + * @Default {Object} + */ + buttonDefaults?: any; + + /** Property to enable the ribbon quick access toolbar. + * @Default {false} + */ + showQAT?: boolean; + + /** Sets custom setting to the collapsible pin in the ribbon. + * @Default {Object} + */ + collapsePinSettings?: CollapsePinSettings; + + /** Set enableOnDemand as true to load ribbon tab and backstage contents while corresponding item clicked. + * @Default {false} + */ + enableOnDemand?: boolean; - /** Property to enable the ribbon quick access toolbar. - * @Default {false} - */ - showQAT?: boolean; - - /** Sets custom setting to the collapsible pin in the ribbon. - * @Default {Object} - */ - collapsePinSettings?: CollapsePinSettings; + /** Set collapsible property as true to render ribbon in initially collapsed state. + * @Default {false} + */ + collapsible?: boolean; - /** Set enableOnDemand as true to load ribbon tab and backstage contents while corresponding item clicked. - * @Default {false} - */ - enableOnDemand?: boolean; + /** Align content in the ribbon control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; - /** Set collapsible property as true to render ribbon in initially collapsed state. - * @Default {false} - */ - collapsible?: boolean; + /** Sets custom setting to the expandable pin in the ribbon. + * @Default {Object} + */ + expandPinSettings?: ExpandPinSettings; - /** Align content in the ribbon control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; + /** Specifies the application tab to contain application menu or backstage page in the ribbon control. + * @Default {Object} + */ + applicationTab?: ApplicationTab; - /** Sets custom setting to the expandable pin in the ribbon. - * @Default {Object} - */ - expandPinSettings?: ExpandPinSettings; + /** Specifies the contextual tabs and tab set to the ribbon control with the background color and border color. Refer to the tabs section for adding tabs + * into the contextual tab and contextual tab set. + * @Default {Array} + */ + contextualTabs?: ContextualTab[]; - /** Specifies the application tab to contain application menu or backstage page in the ribbon control. - * @Default {Object} - */ - applicationTab?: ApplicationTab; + /** Specifies the index or indexes to disable the given index tab or indexes tabs in the ribbon control. + * @Default {0} + */ + disabledItemIndex?: any[]; - /** Specifies the contextual tabs and tab set to the ribbon control with the background color and border color. Refer to the tabs section for adding tabs into the contextual tab and contextual tab set. - * @Default {Array} - */ - contextualTabs?: Array; + /** Specifies the index or indexes to enable the given index tab or indexes tabs in the ribbon control. + * @Default {null} + */ + enabledItemIndex?: any[]; - /** Specifies the index or indexes to disable the given index tab or indexes tabs in the ribbon control. - * @Default {0} - */ - disabledItemIndex?: Array; + /** Specifies the index of the ribbon tab to select the given index tab item in the ribbon control. + * @Default {1} + */ + selectedItemIndex?: number; - /** Specifies the index or indexes to enable the given index tab or indexes tabs in the ribbon control. - * @Default {null} - */ - enabledItemIndex?: Array; + /** Specifies the tabs and its groups. Also specifies the control details that has to be placed in the tab area in the ribbon control. + * @Default {Array} + */ + tabs?: Tab[]; - /** Specifies the index of the ribbon tab to select the given index tab item in the ribbon control. - * @Default {1} - */ - selectedItemIndex?: number; + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific + * to a particular country or region and it will need to use the user's preference. + * @Default {en-US} + */ + locale?: string; - /** Specifies the tabs and its groups. Also specifies the control details that has to be placed in the tab area in the ribbon control. - * @Default {Array} - */ - tabs?: Array; + /** Specifies the width to the ribbon control. You can set width in string or number format. + * @Default {null} + */ + width?: string | number; - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region and it will need to use the user's preference. - * @Default {en-US} - */ - locale?: string; + /** Triggered before the ribbon tab item is removed. */ + beforeTabRemove?(e: BeforeTabRemoveEventArgs): void; - /** Specifies the width to the ribbon control. You can set width in string or number format. - * @Default {null} - */ - width?: string|number; + /** Triggered before the ribbon control is created. */ + create?(e: CreateEventArgs): void; - /** Triggered before the ribbon tab item is removed. */ - beforeTabRemove? (e: BeforeTabRemoveEventArgs): void; + /** Triggered before the ribbon control is destroyed. */ + destroy?(e: DestroyEventArgs): void; - /** Triggered before the ribbon control is created. */ - create? (e: CreateEventArgs): void; + /** Triggered when the control in the group is clicked successfully. */ + groupClick?(e: GroupClickEventArgs): void; - /** Triggered before the ribbon control is destroyed. */ - destroy? (e: DestroyEventArgs): void; + /** Triggered when the group expander in the group is clicked successfully. */ + groupExpand?(e: GroupExpandEventArgs): void; - /** Triggered when the control in the group is clicked successfully. */ - groupClick? (e: GroupClickEventArgs): void; + /** Triggered when an item in the Gallery control is clicked successfully. */ + galleryItemClick?(e: GalleryItemClickEventArgs): void; - /** Triggered when the group expander in the group is clicked successfully. */ - groupExpand? (e: GroupExpandEventArgs): void; + /** Triggered when a tab or button in the backstage page is clicked successfully. */ + backstageItemClick?(e: BackstageItemClickEventArgs): void; - /** Triggered when an item in the Gallery control is clicked successfully. */ - galleryItemClick? (e: GalleryItemClickEventArgs): void; + /** Triggered when the ribbon control is collapsed. */ + collapse?(e: CollapseEventArgs): void; - /** Triggered when a tab or button in the backstage page is clicked successfully. */ - backstageItemClick? (e: BackstageItemClickEventArgs): void; + /** Triggered when the ribbon control is expanded. */ + expand?(e: ExpandEventArgs): void; - /** Triggered when the ribbon control is collapsed. */ - collapse? (e: CollapseEventArgs): void; + /** Triggered before the ribbon control is load. */ + load?(e: LoadEventArgs): void; - /** Triggered when the ribbon control is expanded. */ - expand? (e: ExpandEventArgs): void; + /** Triggered after adding the new ribbon tab item. */ + tabAdd?(e: TabAddEventArgs): void; - /** Triggered before the ribbon control is load. */ - load? (e: LoadEventArgs): void; + /** Triggered when tab is clicked successfully in the ribbon control. */ + tabClick?(e: TabClickEventArgs): void; - /** Triggered after adding the new ribbon tab item. */ - tabAdd? (e: TabAddEventArgs): void; + /** Triggered before the ribbon tab is created. */ + tabCreate?(e: TabCreateEventArgs): void; - /** Triggered when tab is clicked successfully in the ribbon control. */ - tabClick? (e: TabClickEventArgs): void; + /** Triggered after the tab item is removed from the ribbon control. */ + tabRemove?(e: TabRemoveEventArgs): void; - /** Triggered before the ribbon tab is created. */ - tabCreate? (e: TabCreateEventArgs): void; + /** Triggered after the ribbon tab item is selected in the ribbon control. */ + tabSelect?(e: TabSelectEventArgs): void; - /** Triggered after the tab item is removed from the ribbon control. */ - tabRemove? (e: TabRemoveEventArgs): void; + /** Triggered when the expand/collapse button is clicked successfully . */ + toggleButtonClick?(e: ToggleButtonClickEventArgs): void; - /** Triggered after the ribbon tab item is selected in the ribbon control. */ - tabSelect? (e: TabSelectEventArgs): void; + /** Triggered when the QAT menu item is clicked successfully . */ + qatMenuItemClick?(e: QatMenuItemClickEventArgs): void; + } - /** Triggered when the expand/collapse button is clicked successfully . */ - toggleButtonClick? (e: ToggleButtonClickEventArgs): void; + export interface BeforeTabRemoveEventArgs { - /** Triggered when the QAT menu item is clicked successfully . */ - qatMenuItemClick? (e: QatMenuItemClickEventArgs): void; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface BeforeTabRemoveEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns current tab item index in the ribbon control. + */ + index?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface CreateEventArgs { - /** returns current tab item index in the ribbon control. - */ - index?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface CreateEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the ribbon model. - */ - model?: any; + export interface DestroyEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface DestroyEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns current ribbon tab item index + */ + deleteIndex?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface GroupClickEventArgs { - /** returns current ribbon tab item index - */ - deleteIndex?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface GroupClickEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the control clicked in the group. + */ + target?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface GroupExpandEventArgs { - /** returns the control clicked in the group. - */ - target?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface GroupExpandEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the clicked group expander. + */ + target?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface GalleryItemClickEventArgs { - /** returns the clicked group expander. - */ - target?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface GalleryItemClickEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the gallery model. + */ + galleryModel?: any; - /** returns the ribbon model. - */ - model?: any; + /** returns the name of the event. + */ + type?: string; - /** returns the gallery model. - */ - galleryModel?: any; + /** returns the item clicked in the gallery. + */ + target?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface BackstageItemClickEventArgs { - /** returns the item clicked in the gallery. - */ - target?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface BackstageItemClickEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the item clicked in the gallery. + */ + target?: number; - /** returns the name of the event. - */ - type?: string; + /** returns the id of the target item. + */ + id?: string; - /** returns the item clicked in the gallery. - */ - target?: number; + /** returns the text of the target item. + */ + text?: string; + } - /** returns the id of the target item. - */ - id?: string; + export interface CollapseEventArgs { - /** returns the text of the target item. - */ - text?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface CollapseEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the ribbon model. - */ - model?: any; + export interface ExpandEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface ExpandEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the ribbon model. - */ - model?: any; + export interface LoadEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface LoadEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the ribbon model. - */ - model?: any; + export interface TabAddEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface TabAddEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns new added tab header. + */ + tabHeader?: any; - /** returns the name of the event. - */ - type?: string; + /** returns new added tab content panel. + */ + tabContent?: any; + } - /** returns new added tab header. - */ - tabHeader?: any; + export interface TabClickEventArgs { - /** returns new added tab content panel. - */ - tabContent?: any; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface TabClickEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns previous active tab header. + */ + prevActiveHeader?: any; - /** returns the name of the event. - */ - type?: string; + /** returns previous active index. + */ + prevActiveIndex?: number; - /** returns previous active tab header. - */ - prevActiveHeader?: any; + /** returns current active tab header . + */ + activeHeader?: any; - /** returns previous active index. - */ - prevActiveIndex?: number; + /** returns current active index. + */ + activeIndex?: number; + } - /** returns current active tab header . - */ - activeHeader?: any; + export interface TabCreateEventArgs { - /** returns current active index. - */ - activeIndex?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface TabCreateEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns current ribbon tab item index + */ + deleteIndex?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface TabRemoveEventArgs { - /** returns current ribbon tab item index - */ - deleteIndex?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface TabRemoveEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the removed index. + */ + removedIndex?: number; + } - /** returns the name of the event. - */ - type?: string; + export interface TabSelectEventArgs { - /** returns the removed index. - */ - removedIndex?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface TabSelectEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns previous active tab header. + */ + prevActiveHeader?: any; - /** returns the name of the event. - */ - type?: string; + /** returns previous active index. + */ + prevActiveIndex?: number; - /** returns previous active tab header. - */ - prevActiveHeader?: any; + /** returns current active tab header . + */ + activeHeader?: any; - /** returns previous active index. - */ - prevActiveIndex?: number; + /** returns current active index. + */ + activeIndex?: number; + } - /** returns current active tab header . - */ - activeHeader?: any; + export interface ToggleButtonClickEventArgs { - /** returns current active index. - */ - activeIndex?: number; -} + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; -export interface ToggleButtonClickEventArgs { + /** returns the ribbon model. + */ + model?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + + /** returns the expand/collapse button. + */ + target?: number; + } + + export interface QatMenuItemClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the clicked menu item text. + */ + text?: string; + } + + export interface CollapsePinSettings { + + /** Sets tooltip for the collapse pin . + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for collapse pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + } + + export interface ExpandPinSettings { + + /** Sets tooltip for the expand pin. + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for expand pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + } + + export interface ApplicationTabBackstageSettingsPage { + + /** Specifies the id for ribbon backstage page's tab and button elements. + * @Default {null} + */ + id?: string; + + /** Specifies the text for ribbon backstage page's tab header and button elements. + * @Default {null} + */ + text?: string; + + /** Specifies the type for ribbon backstage page's contents. Set "ej.Ribbon.BackStageItemType.Tab" to render the tab or " + * ej.Ribbon.BackStageItemType.Button" to render the button. + * @Default {ej.Ribbon.ItemType.Tab} + */ + itemType?: ej.Ribbon.ItemType | string; + + /** Specifies the id of HTML elements like div,ul, etc., as ribbon backstage page's tab content. + * @Default {null} + */ + contentID?: string; + + /** Specifies the separator between backstage page's tab and button elements. + * @Default {false} + */ + enableSeparator?: boolean; + } + + export interface ApplicationTabBackstageSettings { + + /** Specifies the display text of application tab. + * @Default {null} + */ + text?: string; + + /** Specifies the height of ribbon backstage page. + * @Default {null} + */ + height?: string | number; + + /** Specifies the width of ribbon backstage page. + * @Default {null} + */ + width?: string | number; + + /** Specifies the ribbon backstage page with its tab and button elements. + * @Default {Array} + */ + pages?: ApplicationTabBackstageSettingsPage[]; + + /** Specifies the width of backstage page header that contains tabs and buttons. + * @Default {null} + */ + headerWidth?: string | number; + } + + export interface ApplicationTab { + + /** Specifies the ribbon backstage page items. + * @Default {Object} + */ + backstageSettings?: ApplicationTabBackstageSettings; + + /** Specifies the ID of ul list to create application menu in the ribbon control. + * @Default {null} + */ + menuItemID?: string; + + /** Specifies the menu members, events by using the menu settings for the menu in the application tab. + * @Default {Object} + */ + menuSettings?: any; + + /** Specifies the application menu or backstage page. Specify the type of application tab as "ej.Ribbon.ApplicationTabType.Menu" to render the application menu or + * "ej.Ribbon.ApplicationTabType.Backstage" to render backstage page in the ribbon control. + * @Default {ej.Ribbon.ApplicationTabType.Menu} + */ + type?: ej.Ribbon.ApplicationTabType | string; + } + + export interface ContextualTab { + + /** Specifies the backgroundColor of the contextual tabs and tab set in the ribbon control. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor of the contextual tabs and tab set in the ribbon control. + * @Default {null} + */ + borderColor?: string; + + /** Specifies the tabs to present in the contextual tabs and tab set. Refer to the tabs section for adding tabs into the contextual tabs and tab set. + * @Default {Array} + */ + tabs?: any[]; + } + + export interface TabsGroupsContentDefaults { + + /** Specifies the controls height such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {null} + */ + height?: string | number; + + /** Specifies the controls width such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {null} + */ + width?: string | number; + + /** Specifies the controls type such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {ej.Ribbon.Type.Button} + */ + type?: string; + + /** Specifies the controls size such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {false} + */ + isBig?: boolean; + } + + export interface TabsGroupsContentGroupsCustomGalleryItem { + + /** Specifies the Syncfusion button members, events by using buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** Specifies the type as ej.Ribbon.CustomItemType.Menu or ej.Ribbon.CustomItemType.Button to render Syncfusion button and menu. + * @Default {ej.Ribbon.CustomItemType.Button} + */ + customItemType?: ej.Ribbon.CustomItemType | string; + + /** Specifies the custom tooltip for gallery extra item's button. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + + /** Specifies the UL list id to render menu as gallery extra item. + * @Default {null} + */ + menuId?: string; + + /** Specifies the Syncfusion menu members, events by using menuSettings. + * @Default {Object} + */ + menuSettings?: any; + + /** Specifies the text for gallery extra item's button. + * @Default {null} + */ + text?: string; + + /** Specifies the tooltip for gallery extra item's button. + * @Default {null} + */ + toolTip?: string; + } + + export interface TabsGroupsContentGroupsCustomToolTip { + + /** Sets content to the custom tooltip. Text and HTML support are provided for content. + * @Default {null} + */ + content?: string; + + /** Sets icon to the custom tooltip content. + * @Default {null} + */ + prefixIcon?: string; + + /** Sets title to the custom tooltip. Text and HTML support are provided for title and the title is in bold for text format. + * @Default {null} + */ + title?: string; + } + + export interface TabsGroupsContentGroupsGalleryItem { + + /** Specifies the Syncfusion button members, events by using buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** Specifies the custom tooltip for gallery content. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + + /** Sets text for the gallery content. + * @Default {null} + */ + text?: string; + + /** Sets tooltip for the gallery content. + * @Default {null} + */ + toolTip?: string; + } + + export interface TabsGroupsContentGroup { + + /** When isMobileOnly is true,its shows in mobile toolbar.isResponsive should be true for using this property. + * @Default {false} + */ + isMobileOnly?: boolean; + + /** Specifies the Syncfusion button members, events by using this buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** It is used to set the count of gallery contents in a row. + * @Default {null} + */ + columns?: number; + + /** Specifies the custom items such as div, table, controls as custom controls with the type "ej.Ribbon.Type.Custom" in the groups. + * @Default {null} + */ + contentID?: string; + + /** Specifies the CSS class property to apply styles to the button, split, dropdown controls in the groups. + * @Default {null} + */ + cssClass?: string; + + /** Specifies the Syncfusion button and menu as gallery extra items. + * @Default {Array} + */ + customGalleryItems?: TabsGroupsContentGroupsCustomGalleryItem[]; + + /** Provides custom tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. Text and HTML support are also provided for title and content. + * @Default {Object} + */ + customToolTip?: TabsGroupsContentGroupsCustomToolTip; + + /** Specifies the Syncfusion dropdown list members, events by using this dropdownSettings. + * @Default {Object} + */ + dropdownSettings?: any; + + /** Specifies the separator to the control that is in row type group. The separator separates the control from the next control in the group. Set "true" to enable the separator. + * @Default {false} + */ + enableSeparator?: boolean; + + /** Sets the count of gallery contents in a row, when the gallery is in expanded state. + * @Default {null} + */ + expandedColumns?: number; + + /** Defines each gallery content. + * @Default {Array} + */ + galleryItems?: TabsGroupsContentGroupsGalleryItem[]; + + /** Specifies the Id for button, split button, dropdown list, toggle button, gallery, custom controls in the sub groups. + * @Default {null} + */ + id?: string; + + /** Specifies the size for button, split button controls. Set "true" for big size and "false" for small size. + * @Default {null} + */ + isBig?: boolean; + + /** Sets the height of each gallery content. + * @Default {null} + */ + itemHeight?: string | number; + + /** Sets the width of each gallery content. + * @Default {null} + */ + itemWidth?: string | number; + + /** Specifies the Syncfusion split button members, events by using this splitButtonSettings. + * @Default {Object} + */ + splitButtonSettings?: any; + + /** Specifies the text for button, split button, toggle button controls in the sub groups. + * @Default {null} + */ + text?: string; + + /** Specifies the Syncfusion toggle button members, events by using toggleButtonSettings. + * @Default {Object} + */ + toggleButtonSettings?: any; + + /** Specifies the tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. + * @Default {null} + */ + toolTip?: string; + + /** To add,show and hide controls in Quick Access toolbar. + * @Default {ej.Ribbon.QuickAccessMode.None} + */ + quickAccessMode?: ej.Ribbon.QuickAccessMode | string; + + /** Specifies the type as "ej.Ribbon.Type.Button" or "ej.Ribbon.Type.SplitButton" or "ej.Ribbon.Type.DropDownList" or "ej.Ribbon.Type.ToggleButton" + * or "ej.Ribbon.Type.Custom" or "ej.Ribbon.Type.Gallery" to render button, split, dropdown, toggle button, gallery, custom controls. + * @Default {ej.Ribbon.Type.Button} + */ + type?: ej.Ribbon.Type | string; + } + + export interface TabsGroupsContent { + + /** Specifies the height, width, type, isBig property to the controls in the group commonly. + * @Default {Object} + */ + defaults?: TabsGroupsContentDefaults; + + /** Specifies the controls such as Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls in the subgroup of the ribbon tab . + * @Default {Array} + */ + groups?: TabsGroupsContentGroup[]; + } + + export interface TabsGroupsGroupExpanderSettings { + + /** Sets tooltip for the group expander of the group. + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for group expander.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + } + + export interface TabsGroup { - /** returns the ribbon model. - */ - model?: any; + /** Specifies the alignment of controls in the groups in 'row' type or 'column' type. Value for row type is "ej.Ribbon.AlignType.Rows" + * and for column type is "ej.Ribbon.alignType.columns". + * @Default {ej.Ribbon.AlignType.Rows} + */ + alignType?: ej.Ribbon.AlignType | string; - /** returns the name of the event. - */ - type?: string; + /** Specifies the Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls to the groups in the ribbon control. + * @Default {Array} + */ + content?: TabsGroupsContent[]; - /** returns the expand/collapse button. - */ - target?: number; -} - -export interface QatMenuItemClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the clicked menu item text. - */ - text?: string; -} - -export interface CollapsePinSettings { - - /** Sets tooltip for the collapse pin . - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for collapse pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; -} - -export interface ExpandPinSettings { - - /** Sets tooltip for the expand pin. - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for expand pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; -} - -export interface ApplicationTabBackstageSettingsPage { - - /** Specifies the id for ribbon backstage page's tab and button elements. - * @Default {null} - */ - id?: string; - - /** Specifies the text for ribbon backstage page's tab header and button elements. - * @Default {null} - */ - text?: string; - - /** Specifies the type for ribbon backstage page's contents. Set "ej.Ribbon.BackStageItemType.Tab" to render the tab or "ej.Ribbon.BackStageItemType.Button" to render the button. - * @Default {ej.Ribbon.ItemType.Tab} - */ - itemType?: ej.Ribbon.ItemType|string; - - /** Specifies the id of HTML elements like div,ul, etc., as ribbon backstage page's tab content. - * @Default {null} - */ - contentID?: string; - - /** Specifies the separator between backstage page's tab and button elements. - * @Default {false} - */ - enableSeparator?: boolean; -} - -export interface ApplicationTabBackstageSettings { - - /** Specifies the display text of application tab. - * @Default {null} - */ - text?: string; - - /** Specifies the height of ribbon backstage page. - * @Default {null} - */ - height?: string|number; - - /** Specifies the width of ribbon backstage page. - * @Default {null} - */ - width?: string|number; - - /** Specifies the ribbon backstage page with its tab and button elements. - * @Default {Array} - */ - pages?: Array; - - /** Specifies the width of backstage page header that contains tabs and buttons. - * @Default {null} - */ - headerWidth?: string|number; -} - -export interface ApplicationTab { - - /** Specifies the ribbon backstage page items. - * @Default {Object} - */ - backstageSettings?: ApplicationTabBackstageSettings; - - /** Specifies the ID of ul list to create application menu in the ribbon control. - * @Default {null} - */ - menuItemID?: string; - - /** Specifies the menu members, events by using the menu settings for the menu in the application tab. - * @Default {Object} - */ - menuSettings?: any; - - /** Specifies the application menu or backstage page. Specify the type of application tab as "ej.Ribbon.ApplicationTabType.Menu" to render the application menu or "ej.Ribbon.ApplicationTabType.Backstage" to render backstage page in the ribbon control. - * @Default {ej.Ribbon.ApplicationTabType.Menu} - */ - type?: ej.Ribbon.ApplicationTabType|string; -} - -export interface ContextualTab { - - /** Specifies the backgroundColor of the contextual tabs and tab set in the ribbon control. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the borderColor of the contextual tabs and tab set in the ribbon control. - * @Default {null} - */ - borderColor?: string; - - /** Specifies the tabs to present in the contextual tabs and tab set. Refer to the tabs section for adding tabs into the contextual tabs and tab set. - * @Default {Array} - */ - tabs?: Array; -} - -export interface TabsGroupsContentDefaults { - - /** Specifies the controls height such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {null} - */ - height?: string|number; - - /** Specifies the controls width such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {null} - */ - width?: string|number; - - /** Specifies the controls type such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {ej.Ribbon.Type.Button} - */ - type?: string; - - /** Specifies the controls size such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {false} - */ - isBig?: boolean; -} - -export interface TabsGroupsContentGroupsCustomGalleryItem { - - /** Specifies the Syncfusion button members, events by using buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** Specifies the type as ej.Ribbon.CustomItemType.Menu or ej.Ribbon.CustomItemType.Button to render Syncfusion button and menu. - * @Default {ej.Ribbon.CustomItemType.Button} - */ - customItemType?: ej.Ribbon.CustomItemType|string; - - /** Specifies the custom tooltip for gallery extra item's button. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - - /** Specifies the UL list id to render menu as gallery extra item. - * @Default {null} - */ - menuId?: string; - - /** Specifies the Syncfusion menu members, events by using menuSettings. - * @Default {Object} - */ - menuSettings?: any; - - /** Specifies the text for gallery extra item's button. - * @Default {null} - */ - text?: string; - - /** Specifies the tooltip for gallery extra item's button. - * @Default {null} - */ - toolTip?: string; -} - -export interface TabsGroupsContentGroupsCustomToolTip { - - /** Sets content to the custom tooltip. Text and HTML support are provided for content. - * @Default {null} - */ - content?: string; - - /** Sets icon to the custom tooltip content. - * @Default {null} - */ - prefixIcon?: string; - - /** Sets title to the custom tooltip. Text and HTML support are provided for title and the title is in bold for text format. - * @Default {null} - */ - title?: string; -} - -export interface TabsGroupsContentGroupsGalleryItem { - - /** Specifies the Syncfusion button members, events by using buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** Specifies the custom tooltip for gallery content. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - - /** Sets text for the gallery content. - * @Default {null} - */ - text?: string; - - /** Sets tooltip for the gallery content. - * @Default {null} - */ - toolTip?: string; -} - -export interface TabsGroupsContentGroup { - - /** When isMobileOnly is true,its shows in mobile toolbar.isResponsive should be true for using this property. - * @Default {false} - */ - isMobileOnly?: boolean; - - /** Specifies the Syncfusion button members, events by using this buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** It is used to set the count of gallery contents in a row. - * @Default {null} - */ - columns?: number; - - /** Specifies the custom items such as div, table, controls as custom controls with the type "ej.Ribbon.Type.Custom" in the groups. - * @Default {null} - */ - contentID?: string; - - /** Specifies the CSS class property to apply styles to the button, split, dropdown controls in the groups. - * @Default {null} - */ - cssClass?: string; - - /** Specifies the Syncfusion button and menu as gallery extra items. - * @Default {Array} - */ - customGalleryItems?: Array; - - /** Provides custom tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. Text and HTML support are also provided for title and content. - * @Default {Object} - */ - customToolTip?: TabsGroupsContentGroupsCustomToolTip; - - /** Specifies the Syncfusion dropdown list members, events by using this dropdownSettings. - * @Default {Object} - */ - dropdownSettings?: any; - - /** Specifies the separator to the control that is in row type group. The separator separates the control from the next control in the group. Set "true" to enable the separator. - * @Default {false} - */ - enableSeparator?: boolean; - - /** Sets the count of gallery contents in a row, when the gallery is in expanded state. - * @Default {null} - */ - expandedColumns?: number; - - /** Defines each gallery content. - * @Default {Array} - */ - galleryItems?: Array; - - /** Specifies the Id for button, split button, dropdown list, toggle button, gallery, custom controls in the sub groups. - * @Default {null} - */ - id?: string; - - /** Specifies the size for button, split button controls. Set "true" for big size and "false" for small size. - * @Default {null} - */ - isBig?: boolean; - - /** Sets the height of each gallery content. - * @Default {null} - */ - itemHeight?: string|number; - - /** Sets the width of each gallery content. - * @Default {null} - */ - itemWidth?: string|number; - - /** Specifies the Syncfusion split button members, events by using this splitButtonSettings. - * @Default {Object} - */ - splitButtonSettings?: any; - - /** Specifies the text for button, split button, toggle button controls in the sub groups. - * @Default {null} - */ - text?: string; - - /** Specifies the Syncfusion toggle button members, events by using toggleButtonSettings. - * @Default {Object} - */ - toggleButtonSettings?: any; - - /** Specifies the tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. - * @Default {null} - */ - toolTip?: string; - - /** To add,show and hide controls in Quick Access toolbar. - * @Default {ej.Ribbon.QuickAccessMode.None} - */ - quickAccessMode?: ej.Ribbon.QuickAccessMode|string; - - /** Specifies the type as "ej.Ribbon.Type.Button" or "ej.Ribbon.Type.SplitButton" or "ej.Ribbon.Type.DropDownList" or "ej.Ribbon.Type.ToggleButton" or "ej.Ribbon.Type.Custom" or "ej.Ribbon.Type.Gallery" to render button, split, dropdown, toggle button, gallery, custom controls. - * @Default {ej.Ribbon.Type.Button} - */ - type?: ej.Ribbon.Type|string; -} - -export interface TabsGroupsContent { - - /** Specifies the height, width, type, isBig property to the controls in the group commonly. - * @Default {Object} - */ - defaults?: TabsGroupsContentDefaults; - - /** Specifies the controls such as Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls in the subgroup of the ribbon tab . - * @Default {Array} - */ - groups?: Array; -} - -export interface TabsGroupsGroupExpanderSettings { - - /** Sets tooltip for the group expander of the group. - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for group expander.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; -} - -export interface TabsGroup { + /** Specifies the ID of custom items to be placed in the groups. + * @Default {null} + */ + contentID?: string; - /** Specifies the alignment of controls in the groups in 'row' type or 'column' type. Value for row type is "ej.Ribbon.AlignType.Rows" and for column type is "ej.Ribbon.alignType.columns". - * @Default {ej.Ribbon.AlignType.Rows} - */ - alignType?: ej.Ribbon.AlignType|string; + /** Specifies the HTML contents to place into the groups. + * @Default {null} + */ + customContent?: string; - /** Specifies the Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls to the groups in the ribbon control. - * @Default {Array} - */ - content?: Array; + /** Specifies the group expander for groups in the ribbon control. Set "true" to enable the group expander. + * @Default {false} + */ + enableGroupExpander?: boolean; - /** Specifies the ID of custom items to be placed in the groups. - * @Default {null} - */ - contentID?: string; + /** Sets custom setting to the groups in the ribbon control. + * @Default {Object} + */ + groupExpanderSettings?: TabsGroupsGroupExpanderSettings; - /** Specifies the HTML contents to place into the groups. - * @Default {null} - */ - customContent?: string; + /** Specifies the text to the groups in the ribbon control. + * @Default {null} + */ + text?: string; - /** Specifies the group expander for groups in the ribbon control. Set "true" to enable the group expander. - * @Default {false} - */ - enableGroupExpander?: boolean; + /** Specifies the custom items such as div, table, controls by using the "custom" type. + * @Default {null} + */ + type?: string; + } - /** Sets custom setting to the groups in the ribbon control. - * @Default {Object} - */ - groupExpanderSettings?: TabsGroupsGroupExpanderSettings; + export interface Tab { - /** Specifies the text to the groups in the ribbon control. - * @Default {null} - */ - text?: string; + /** Specifies single group or multiple groups and its contents to each tab in the ribbon control. + * @Default {Array} + */ + groups?: TabsGroup[]; - /** Specifies the custom items such as div, table, controls by using the "custom" type. - * @Default {null} - */ - type?: string; -} + /** Specifies the ID for each tab's content panel. + * @Default {null} + */ + id?: string; -export interface Tab { + /** Specifies the text of the tab in the ribbon control. + * @Default {null} + */ + text?: string; + } - /** Specifies single group or multiple groups and its contents to each tab in the ribbon control. - * @Default {Array} - */ - groups?: Array; + enum ItemType { - /** Specifies the ID for each tab's content panel. - * @Default {null} - */ - id?: string; + ///To render the button for ribbon backstage page’s contents + Button, - /** Specifies the text of the tab in the ribbon control. - * @Default {null} - */ - text?: string; -} + ///To render the tab for ribbon backstage page’s contents + Tab + } -enum ItemType{ - ///To render the button for ribbon backstage page’s contents - Button, + enum ApplicationTabType { - ///To render the tab for ribbon backstage page’s contents - Tab -} + ///applicationTab display as menu + Menu, + ///applicationTab display as backstage + Backstage + } -enum ApplicationTabType{ - ///applicationTab display as menu - Menu, + enum AlignType { - ///applicationTab display as backstage - Backstage -} + ///To align the group content's in row + Rows, + ///To align group content's in columns + Columns + } -enum AlignType{ - ///To align the group content's in row - Rows, + enum CustomItemType { - ///To align group content's in columns - Columns -} + ///Specifies the button type in customGalleryItems + Button, + ///Specifies the menu type in customGalleryItems + Menu + } -enum CustomItemType{ - ///Specifies the button type in customGalleryItems - Button, + enum QuickAccessMode { - ///Specifies the menu type in customGalleryItems - Menu -} + ///Controls are hidden in Quick Access toolbar + None, + ///Add controls in toolBar + ToolBar, -enum QuickAccessMode{ + ///Add controls in menu + Menu + } - ///Controls are hidden in Quick Access toolbar - None, - ///Add controls in toolBar - ToolBar, + enum Type { - ///Add controls in menu - Menu -} + ///Specifies the button control + Button, + ///Specifies the split button + SplitButton, -enum Type{ + ///Specifies the dropDown + DropDownList, - ///Specifies the button control - Button, + ///To append external element's + Custom, - ///Specifies the split button - SplitButton, + ///Specifies the toggle button + ToggleButton, - ///Specifies the dropDown - DropDownList, - - ///To append external element's - Custom, - - ///Specifies the toggle button - ToggleButton, - - ///Specifies the ribbon gallery - Gallery -} + ///Specifies the ribbon gallery + Gallery + } } class Kanban extends ej.Widget { static fn: Kanban; - constructor(element: JQuery, options?: Kanban.Model); - constructor(element: Element, options?: Kanban.Model); + constructor(element: JQuery | Element, options?: Kanban.Model); static Locale: any; - model:Kanban.Model; - defaults:Kanban.Model; + model: Kanban.Model; + defaults: Kanban.Model; /** Add or remove columns in Kanban columns collections.Default action is add. - * @param {Array|string} Pass array of columns or string of headerText to add/remove the column in Kanban - * @param {Array|string} Pass array of columns or string of key value to add/remove the column in Kanban - * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform - * @returns {void} - */ - columns(columndetails: Array|string, keyvalue: Array|string, action?: string): void; + * @param {Array|string} Pass array of columns or string of headerText to add/remove the column in Kanban + * @param {Array|string} Pass array of columns or string of key value to add/remove the column in Kanban + * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform + * @returns {void} + */ + columns(columndetails: any[] | string, keyvalue: any[] | string, action?: string): void; /** Destroy the Kanban widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Refresh the Kanban with new data source. - * @param {Array} Pass new data source to the Kanban - * @returns {void} - */ - dataSource(datasource: Array): void; + * @param {Array} Pass new data source to the Kanban + * @returns {void} + */ + dataSource(datasource: any[]): void; /** toggleColumn based on the headerText in Kanban. - * @param {any} Pass the header text of the column to get the corresponding column object - * @returns {void} - */ + * @param {any} Pass the header text of the column to get the corresponding column object + * @returns {void} + */ toggleColumn(headerText: any): void; /** Expand or collapse the card based on the state of target "div" - * @param {string|number} Pass the id of card to be toggle - * @returns {void} - */ - toggleCard(key: string|number): void; + * @param {string|number} Pass the id of card to be toggle + * @returns {void} + */ + toggleCard(key: string | number): void; /** Used for get the names of all the visible column name collections in Kanban. - * @returns {Array} - */ - getVisibleColumnNames(): Array; + * @returns {Array} + */ + getVisibleColumnNames(): any[]; /** Get the scroller object of Kanban. - * @returns {ej.Scroller} - */ + * @returns {ej.Scroller} + */ getScrollObject(): ej.Scroller; /** Get the column details based on the given header text in Kanban. - * @param {string} Pass the header text of the column to get the corresponding column object - * @returns {String} - */ - getColumnByHeaderText(headerText: string): String; + * @param {string} Pass the header text of the column to get the corresponding column object + * @returns {String} + */ + getColumnByHeaderText(headerText: string): string; /** Get the table details based on the given header table in Kanban. - * @returns {String} - */ - getHeaderTable(): String; + * @returns {String} + */ + getHeaderTable(): string; /** Hide columns from the Kanban based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide - * @returns {void} - */ - hideColumns(headerText: Array|string): void; + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide + * @returns {void} + */ + hideColumns(headerText: any[] | string): void; /** Print the Kanban Board - * @returns {void} - */ + * @returns {void} + */ print(): void; /** Refresh the template of the Kanban - * @returns {void} - */ + * @returns {void} + */ refreshTemplate(): void; /** Refresh the Kanban contents.The template refreshment is based on the argument passed along with this method - * @param {boolean} optional When templateRefresh is set true, template and Kanban contents both are refreshed in Kanban else only Kanban content is refreshed - * @returns {void} - */ + * @param {boolean} optional When templateRefresh is set true, template and Kanban contents both are refreshed in Kanban else only Kanban content is refreshed + * @returns {void} + */ refresh(templateRefresh?: boolean): void; /** Show columns in the Kanban based on the header text. - * @param {Array|string} You can pass either array of header text of various columns or a header text of a column to show - * @returns {void} - */ - showColumns(headerText: Array|string): void; + * @param {Array|string} You can pass either array of header text of various columns or a header text of a column to show + * @returns {void} + */ + showColumns(headerText: any[] | string): void; /** Update a card in Kanban control based on key and JSON data given. - * @param {string} Pass the key field Name of the column - * @param {Array} Pass the edited JSON data of card need to be update. - * @returns {void} - */ - updateCard(key: string, data: Array): void; + * @param {string} Pass the key field Name of the column + * @param {Array} Pass the edited JSON data of card need to be update. + * @returns {void} + */ + updateCard(key: string, data: any[]): void; KanbanSelection: Kanban.KanbanSelection; @@ -13266,25650 +13298,25294 @@ class Kanban extends ej.Widget { KanbanEdit: Kanban.KanbanEdit; } -export module Kanban{ - -export interface KanbanSelection { - - /** It is used to clear all the card selection. - * @returns {void} - */ - clear(): void; -} - -export interface KanbanSwimlane { - - /** Expand all the swimlane rows in Kanban. - * @returns {void} - */ - expandAll(): void; - - /** Collapse all the swimlane rows in Kanban. - * @returns {void} - */ - collapseAll(): void; - - /** Expand or collapse the swimlane row based on the state of target "div" - * @param {any} Pass the div object to toggleSwimlane row based on its row state - * @returns {void} - */ - toggle($div: any): void; -} - -export interface KanbanFilter { - - /** Method used for send a clear search request to Kanban. - * @returns {void} - */ - clearSearch(): void; - - /** Send a search request to Kanban with specified string passed in it. - * @param {string} Pass the string to search in Kanban card - * @returns {void} - */ - searchCards(searchString: string): void; - - /** Send a clear request to filter cards in the kanban. - * @returns {void} - */ - clearFilter(): void; - - /** Send a filtering request to cards in the kanban. - * @returns {void} - */ - filterCards(): void; -} - -export interface KanbanEdit { - - /** Add a new card in Kanban control when allowAdding is set as true. If parameters are not given default dialog will be open. - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the edited JSON data of card need to be add. - * @returns {void} - */ - addCard(primaryKey: string,card: Array): void; - - /** Send a cancel request of add/edit card in Kanban when allowEditing/allowAdding is set as true. - * @returns {void} - */ - cancelEdit(): void; - - /** Delete a card in Kanban control when allowAdding/allowEditing is set as true. - * @param {string|number} Pass the key of card to be delete - * @returns {void} - */ - deleteCard(Key: string|number): void; - - /** Send a save request in Kanban when any card is in edit/new add card state and allowEditing/allowAdding is set as true. - * @returns {void} - */ - endEdit(): void; - - /** Send an edit card request in Kanban when allowEditing is set as true. Parameter will be HTML element or primary key - * @param {any} Pass the div selected row element to be edited in Kanban - * @returns {void} - */ - startEdit($div: any): void; - - /** Method used for set validation to a field during editing. - * @param {string} Specify the name of the column to set validation rules - * @param {any} Specify the validation rules for the field - * @returns {void} - */ - setValidationToField(name: string,rules: any): void; -} - -export interface Model { - - /** Gets or sets a value that indicates whether to enable allowDragAndDrop behavior on Kanban. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** To enable or disable the title of the card. - * @Default {false} - */ - allowTitle?: boolean; - - /** Customize the settings for swim lane. - * @Default {Object} - */ - swimlaneSettings?: SwimlaneSettings; - - /** To enable or disable the column expand /collapse. - * @Default {false} - */ - allowToggleColumn?: boolean; - - /** To enable Searching operation in Kanban. - * @Default {false} - */ - allowSearching?: boolean; - - /** To enable filtering behavior on Kanban.User can specify query in filterSettings collection after enabling allowFiltering. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable allowSelection behavior on Kanban.User can select card and the selected card will be highlighted on Kanban. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether to allow card hover actions. - * @Default {true} - */ - allowHover?: boolean; - - /** To allow keyboard navigation actions. - * @Default {false} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable the scrollbar in the Kanban and view the card by scroll through the Kanban manually. - * @Default {false} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable printing option. - * @Default {false} - */ - allowPrinting?: boolean; - - /** Gets or sets an object that indicates whether to customize the context menu behavior of the Kanban. - * @Default {Object} - */ - contextMenuSettings?: ContextMenuSettings; - - /** Gets or sets an object that indicates to render the Kanban with specified columns. - * @Default {Array} - */ - columns?: Array; - - /** Gets or sets an object that indicates whether to Customize the card settings. - * @Default {Object} - */ - cardSettings?: CardSettings; - - /** Gets or sets a value that indicates whether to add customToolbarItems within the toolbar to perform any action in the Kanban. - * @Default {[]} - */ - customToolbarItems?: Array; - - /** Gets or sets a value that indicates to render the Kanban with custom theme. - */ - cssClass?: string; - - /** Gets or sets the data to render the Kanban with cards. - * @Default {null} - */ - dataSource?: any; - - /** To perform kanban functionalities with touch interaction. - * @Default {true} - */ - enableTouch?: boolean; - - /** Align content in the Kanban control align from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** To show total count of cards in each column. - * @Default {false} - */ - enableTotalCount?: boolean; - - /** Get or sets an object that indicates whether to customize the editing behavior of the Kanban. - * @Default {Object} - */ - editSettings?: EditSettings; - - /** To customize field mappings for card , editing title and control key parameters - * @Default {Object} - */ - fields?: Fields; - - /** To map datasource field for column values mapping - * @Default {null} - */ - keyField?: string; - - /** When set to true, adapts the Kanban layout to fit the screen size of devices on which it renders. - * @Default {false} - */ - isResponsive?: boolean; - - /** Gets or sets a value that indicates whether to set the minimum width of the responsive Kanban while isResponsive property is true. - * @Default {0} - */ - minWidth?: number; - - /** To customize the filtering behavior based on queries given. - * @Default {Array} - */ - filterSettings?: Array; - - /** ej Query to query database of Kanban. - * @Default {null} - */ - query?: any; - - /** To change the key in keyboard interaction to Kanban control. - * @Default {null} - */ - keySettings?: any; +export namespace Kanban { + + export interface KanbanSelection { + + /** It is used to clear all the card selection. + * @returns {void} + */ + clear(): void; + } + + export interface KanbanSwimlane { + + /** Expand all the swimlane rows in Kanban. + * @returns {void} + */ + expandAll(): void; + + /** Collapse all the swimlane rows in Kanban. + * @returns {void} + */ + collapseAll(): void; + + /** Expand or collapse the swimlane row based on the state of target "div" + * @param {any} Pass the div object to toggleSwimlane row based on its row state + * @returns {void} + */ + toggle($div: any): void; + } + + export interface KanbanFilter { + + /** Method used for send a clear search request to Kanban. + * @returns {void} + */ + clearSearch(): void; + + /** Send a search request to Kanban with specified string passed in it. + * @param {string} Pass the string to search in Kanban card + * @returns {void} + */ + searchCards(searchString: string): void; + + /** Send a clear request to filter cards in the kanban. + * @returns {void} + */ + clearFilter(): void; + + /** Send a filtering request to cards in the kanban. + * @returns {void} + */ + filterCards(): void; + } + + export interface KanbanEdit { + + /** Add a new card in Kanban control when allowAdding is set as true. If parameters are not given default dialog will be open. + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the edited JSON data of card need to be add. + * @returns {void} + */ + addCard(primaryKey: string, card: any[]): void; + + /** Send a cancel request of add/edit card in Kanban when allowEditing/allowAdding is set as true. + * @returns {void} + */ + cancelEdit(): void; + + /** Delete a card in Kanban control when allowAdding/allowEditing is set as true. + * @param {string|number} Pass the key of card to be delete + * @returns {void} + */ + deleteCard(Key: string | number): void; + + /** Send a save request in Kanban when any card is in edit/new add card state and allowEditing/allowAdding is set as true. + * @returns {void} + */ + endEdit(): void; + + /** Send an edit card request in Kanban when allowEditing is set as true. Parameter will be HTML element or primary key + * @param {any} Pass the div selected row element to be edited in Kanban + * @returns {void} + */ + startEdit($div: any): void; + + /** Method used for set validation to a field during editing. + * @param {string} Specify the name of the column to set validation rules + * @param {any} Specify the validation rules for the field + * @returns {void} + */ + setValidationToField(name: string, rules: any): void; + } + + export interface Model { + + /** Gets or sets a value that indicates whether to enable allowDragAndDrop behavior on Kanban. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** To enable or disable the title of the card. + * @Default {false} + */ + allowTitle?: boolean; + + /** Customize the settings for swim lane. + * @Default {Object} + */ + swimlaneSettings?: SwimlaneSettings; + + /** To enable or disable the column expand /collapse. + * @Default {false} + */ + allowToggleColumn?: boolean; + + /** To enable Searching operation in Kanban. + * @Default {false} + */ + allowSearching?: boolean; + + /** To enable filtering behavior on Kanban.User can specify query in filterSettings collection after enabling allowFiltering. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable allowSelection behavior on Kanban.User can select card and the selected card will be highlighted on Kanban. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether to allow card hover actions. + * @Default {true} + */ + allowHover?: boolean; + + /** To allow keyboard navigation actions. + * @Default {false} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable the scrollbar in the Kanban and view the card by scroll through the Kanban manually. + * @Default {false} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable printing option. + * @Default {false} + */ + allowPrinting?: boolean; + + /** Gets or sets an object that indicates whether to customize the context menu behavior of the Kanban. + * @Default {Object} + */ + contextMenuSettings?: ContextMenuSettings; + + /** Gets or sets an object that indicates to render the Kanban with specified columns. + * @Default {Array} + */ + columns?: Column[]; + + /** Gets or sets an object that indicates whether to Customize the card settings. + * @Default {Object} + */ + cardSettings?: CardSettings; + + /** Gets or sets a value that indicates whether to add customToolbarItems within the toolbar to perform any action in the Kanban. + * @Default {[]} + */ + customToolbarItems?: CustomToolbarItem[]; + + /** Gets or sets a value that indicates to render the Kanban with custom theme. + */ + cssClass?: string; + + /** Gets or sets the data to render the Kanban with cards. + * @Default {null} + */ + dataSource?: any; + + /** To perform kanban functionalities with touch interaction. + * @Default {true} + */ + enableTouch?: boolean; + + /** Align content in the Kanban control align from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** To show total count of cards in each column. + * @Default {false} + */ + enableTotalCount?: boolean; + + /** Get or sets an object that indicates whether to customize the editing behavior of the Kanban. + * @Default {Object} + */ + editSettings?: EditSettings; + + /** To customize field mappings for card , editing title and control key parameters + * @Default {Object} + */ + fields?: Fields; + + /** To map datasource field for column values mapping + * @Default {null} + */ + keyField?: string; + + /** When set to true, adapts the Kanban layout to fit the screen size of devices on which it renders. + * @Default {false} + */ + isResponsive?: boolean; + + /** Gets or sets a value that indicates whether to set the minimum width of the responsive Kanban while isResponsive property is true. + * @Default {0} + */ + minWidth?: number; + + /** To customize the filtering behavior based on queries given. + * @Default {Array} + */ + filterSettings?: FilterSetting[]; + + /** ej Query to query database of Kanban. + * @Default {null} + */ + query?: any; + + /** To change the key in keyboard interaction to Kanban control. + * @Default {null} + */ + keySettings?: any; + + /** Gets or sets an object that indicates whether to customize the scrolling behavior of the Kanban. + * @Default {Object} + */ + scrollSettings?: ScrollSettings; - /** Gets or sets an object that indicates whether to customize the scrolling behavior of the Kanban. - * @Default {Object} - */ - scrollSettings?: ScrollSettings; + /** To customize the searching behavior of the Kanban. + * @Default {Object} + */ + searchSettings?: SearchSettings; - /** To customize the searching behavior of the Kanban. - * @Default {Object} - */ - searchSettings?: SearchSettings; + /** To allow customize selection type. Accepting types are "single" and "multiple". + * @Default {ej.Kanban.SelectionType.Single} + */ + selectionType?: ej.Kanban.SelectionType | string; - /** To allow customize selection type. Accepting types are "single" and "multiple". - * @Default {ej.Kanban.SelectionType.Single} - */ - selectionType?: ej.Kanban.SelectionType|string; + /** Gets or sets an object that indicates to managing the collection of stacked header rows for the Kanban. + * @Default {Array} + */ + stackedHeaderRows?: StackedHeaderRow[]; - /** Gets or sets an object that indicates to managing the collection of stacked header rows for the Kanban. - * @Default {Array} - */ - stackedHeaderRows?: Array; + /** The tooltip allows to display card details in a tooltip while hovering on it. + */ + tooltipSettings?: TooltipSettings; - /** The tooltip allows to display card details in a tooltip while hovering on it. - */ - tooltipSettings?: TooltipSettings; + /** Gets or sets an object that indicates to render the Kanban with specified workflows. + * @Default {Array} + */ + workflows?: Workflow[]; - /** Gets or sets an object that indicates to render the Kanban with specified workflows. - * @Default {Array} - */ - workflows?: Array; + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific + * to a particular country or region. + * @Default {en-US} + */ + locale?: string; - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; + /** Triggered for every Kanban action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Triggered for every Kanban action before its starts. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Triggered for every Kanban action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Triggered for every Kanban action success event. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** Triggered for every Kanban action server failure event. */ + actionFailure?(e: ActionFailureEventArgs): void; - /** Triggered for every Kanban action server failure event. */ - actionFailure? (e: ActionFailureEventArgs): void; + /** Triggered before the task is going to be edited. */ + beginEdit?(e: BeginEditEventArgs): void; - /** Triggered before the task is going to be edited. */ - beginEdit? (e: BeginEditEventArgs): void; + /** Triggered before the card is going to be added */ + beginAdd?(e: BeginAddEventArgs): void; - /** Triggered before the card is going to be added */ - beginAdd? (e: BeginAddEventArgs): void; + /** Triggered before the card is selected. */ + beforeCardSelect?(e: BeforeCardSelectEventArgs): void; - /** Triggered before the card is selected. */ - beforeCardSelect? (e: BeforeCardSelectEventArgs): void; + /** Trigger after the card is clicked. */ + cardClick?(e: CardClickEventArgs): void; - /** Trigger after the card is clicked. */ - cardClick? (e: CardClickEventArgs): void; + /** Triggered when the card is being dragged. */ + cardDrag?(e: CardDragEventArgs): void; - /** Triggered when the card is being dragged. */ - cardDrag? (e: CardDragEventArgs): void; + /** Triggered when card dragging start. */ + cardDragStart?(e: CardDragStartEventArgs): void; - /** Triggered when card dragging start. */ - cardDragStart? (e: CardDragStartEventArgs): void; + /** Triggered when card dragging stops. */ + cardDragStop?(e: CardDragStopEventArgs): void; - /** Triggered when card dragging stops. */ - cardDragStop? (e: CardDragStopEventArgs): void; + /** Triggered when the card is Dropped. */ + cardDrop?(e: CardDropEventArgs): void; - /** Triggered when the card is Dropped. */ - cardDrop? (e: CardDropEventArgs): void; + /** Triggered after the card is selected. */ + cardSelect?(e: CardSelectEventArgs): void; - /** Triggered after the card is selected. */ - cardSelect? (e: CardSelectEventArgs): void; + /** Triggered when card is double clicked. */ + cardDoubleClick?(e: CardDoubleClickEventArgs): void; - /** Triggered when card is double clicked. */ - cardDoubleClick? (e: CardDoubleClickEventArgs): void; + /** Triggered before the card is selected. */ + cardSelecting?(e: CardSelectingEventArgs): void; - /** Triggered before the card is selected. */ - cardSelecting? (e: CardSelectingEventArgs): void; + /** Triggered when the Kanban is rendered completely */ + create?(e: CreateEventArgs): void; - /** Triggered when the Kanban is rendered completely */ - create? (e: CreateEventArgs): void; + /** Triggers after the cell is clicked. */ + cellClick?(e: CellClickEventArgs): void; - /** Triggers after the cell is clicked. */ - cellClick? (e: CellClickEventArgs): void; + /** Triggered before the context menu is opened. */ + contextOpen?(e: ContextOpenEventArgs): void; - /** Triggered before the context menu is opened. */ - contextOpen? (e: ContextOpenEventArgs): void; + /** Triggered when context menu item is clicked in Kanban */ + contextClick?(e: ContextClickEventArgs): void; - /** Triggered when context menu item is clicked in Kanban */ - contextClick? (e: ContextClickEventArgs): void; + /** Triggered the Kanban is bound with data during initial rendering. */ + dataBound?(e: DataBoundEventArgs): void; - /** Triggered the Kanban is bound with data during initial rendering. */ - dataBound? (e: DataBoundEventArgs): void; + /** Triggered when Kanban going to destroy. */ + destroy?(e: DestroyEventArgs): void; - /** Triggered when Kanban going to destroy. */ - destroy? (e: DestroyEventArgs): void; + /** Triggered after the card is deleted. */ + endDelete?(e: EndDeleteEventArgs): void; - /** Triggered after the card is deleted. */ - endDelete? (e: EndDeleteEventArgs): void; + /** Triggered after the card is edited. */ + endEdit?(e: EndEditEventArgs): void; - /** Triggered after the card is edited. */ - endEdit? (e: EndEditEventArgs): void; + /** Triggers after the header is clicked. */ + headerClick?(e: HeaderClickEventArgs): void; - /** Triggers after the header is clicked. */ - headerClick? (e: HeaderClickEventArgs): void; + /** Triggered initial load. */ + load?(e: LoadEventArgs): void; - /** Triggered initial load. */ - load? (e: LoadEventArgs): void; + /** Triggered every time a single card rendered request is made to access particular card information. */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; - /** Triggers before swim lane expand or collapse icon is clicked. */ - swimlaneClick? (e: SwimlaneClickEventArgs): void; + /** Triggered when toolbar item is clicked in Kanban. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } - /** Triggered every time a single card rendered request is made to access particular card information. */ - queryCellInfo? (e: QueryCellInfoEventArgs): void; + export interface ActionBeginEventArgs { - /** Triggered when toolbar item is clicked in Kanban. */ - toolbarClick? (e: ToolbarClickEventArgs): void; -} + /** Returns the Kanban model. + */ + model?: any; -export interface ActionBeginEventArgs { + /** Returns the name of the event. + */ + type?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the name of the event. - */ - type?: string; + /** Returns the current action event type. + */ + originalEventType?: string; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns the current action event type. - */ - originalEventType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the edited row index. + */ + rowIndex?: number; - /** Returns request type. - */ - requestType?: string; + /** Returns the card object (JSON). + */ + data?: any; - /** Returns the edited row index. - */ - rowIndex?: number; + /** Returns current filtering object field name. + */ + currentFilteringobject?: any; - /** Returns the card object (JSON). - */ - data?: any; + /** Returns filter details. + */ + filterCollection?: any; + } - /** Returns current filtering object field name. - */ - currentFilteringobject?: any; + export interface ActionCompleteEventArgs { - /** Returns filter details. - */ - filterCollection?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ActionCompleteEventArgs { + /** Returns the Kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns request type. + */ + requestType?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns current action event type. + */ + originalEventType?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns primary key. + */ + primaryKey?: string; - /** Returns current action event type. - */ - originalEventType?: string; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns primary key. - */ - primaryKey?: string; + /** Returns Kanban element. + */ + target?: any; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the card object (JSON). + */ + data?: any; - /** Returns Kanban element. - */ - target?: any; + /** Returns the selectedRow index. + */ + selectedRow?: number; - /** Returns the card object (JSON). - */ - data?: any; + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; - /** Returns the selectedRow index. - */ - selectedRow?: number; + /** Returns filter details. + */ + filterCollection?: any; + } - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; + export interface ActionFailureEventArgs { - /** Returns filter details. - */ - filterCollection?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ActionFailureEventArgs { + /** Returns the Kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns request type. + */ + requestType?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns the error return by server. + */ + error?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns current action event type. + */ + originalEventType?: string; - /** Returns the error return by server. - */ - error?: any; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns current action event type. - */ - originalEventType?: string; + /** Returns Kanban element. + */ + target?: any; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the card object (JSON). + */ + data?: any; - /** Returns Kanban element. - */ - target?: any; + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; - /** Returns the card object (JSON). - */ - data?: any; + /** Returns filter details. + */ + filterCollection?: any; + } - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; + export interface BeginEditEventArgs { - /** Returns filter details. - */ - filterCollection?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BeginEditEventArgs { + /** Returns the Kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns begin edit data. + */ + data?: any; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns begin edit data. - */ - data?: any; + export interface BeginAddEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the Kanban model. + */ + model?: any; -export interface BeginAddEventArgs { + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns beginAdd data. + */ + data?: any; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns beginAdd data. - */ - data?: any; + export interface BeforeCardSelectEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BeforeCardSelectEventArgs { + /** Returns the select cell index value. + */ + cellIndex?: number; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the select card index value. + */ + cardIndex?: number; - /** Returns the select cell index value. - */ - cellIndex?: number; + /** Returns the select cell element + */ + currentCell?: any; - /** Returns the select card index value. - */ - cardIndex?: number; + /** Returns the previously select the card element + */ + previousCard?: any; - /** Returns the select cell element - */ - currentCell?: any; + /** Returns the previously select card indexes + */ + previousRowcellindex?: any[]; - /** Returns the previously select the card element - */ - previousCard?: any; + /** Returns the Target item. + */ + Target?: any; - /** Returns the previously select card indexes - */ - previousRowcellindex?: Array; + /** Returns the Kanban model. + */ + model?: any; - /** Returns the Target item. - */ - Target?: any; + /** Returns select card data. + */ + data?: any; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns select card data. - */ - data?: any; + export interface CardClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CardClickEventArgs { + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the current card to the Kanban. + */ + currentCard?: string; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns Kanban element. + */ + target?: any; - /** Returns the current card to the Kanban. - */ - currentCard?: string; + /** Returns the Kanban model. + */ + model?: any; - /** Returns Kanban element. - */ - target?: any; + /** Returns the Header text of the column corresponding to the selected card. + */ + columnName?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the Header text of the column corresponding to the selected card. - */ - columnName?: string; + export interface CardDragEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CardDragEventArgs { + /** Returns drag data. + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns drag start element. + */ + dragtarget?: any; - /** Returns drag data. - */ - data?: any; + /** Returns dragged element. + */ + draggedElement?: any; - /** Returns drag start element. - */ - dragtarget?: any; + /** Returns the Kanban model. + */ + model?: any; - /** Returns dragged element. - */ - draggedElement?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the Kanban model. - */ - model?: any; + export interface CardDragStartEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CardDragStartEventArgs { + /** Returns card drag start data. + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns dragged element. + */ + draggedElement?: any; - /** Returns card drag start data. - */ - data?: any; + /** Returns the Kanban model. + */ + model?: any; - /** Returns dragged element. - */ - draggedElement?: any; + /** Returns drag start element. + */ + dragtarget?: any; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns drag start element. - */ - dragtarget?: any; + export interface CardDragStopEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CardDragStopEventArgs { + /** Returns dragged element. + */ + draggedElement?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the Kanban model. + */ + model?: any; - /** Returns dragged element. - */ - draggedElement?: any; + /** Returns drag stop element. + */ + droptarget?: any; - /** Returns the Kanban model. - */ - model?: any; + /** Returns drag stop data. + */ + data?: any; - /** Returns drag stop element. - */ - droptarget?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns drag stop data. - */ - data?: any; + export interface CardDropEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CardDropEventArgs { + /** Returns dragged element. + */ + draggedElement?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns previous parent of dragged element + */ + draggedParent?: any; - /** Returns dragged element. - */ - draggedElement?: any; + /** Returns dragged data. + */ + data?: any; - /** Returns previous parent of dragged element - */ - draggedParent?: any; + /** Returns the Kanban model. + */ + model?: any; - /** Returns dragged data. - */ - data?: any; + /** Returns drop element. + */ + target?: any; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns drop element. - */ - target?: any; + export interface CardSelectEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the select cell index value. + */ + cellIndex?: number; -export interface CardSelectEventArgs { + /** Returns the select card index value. + */ + cardIndex?: number; - /** Returns the select cell index value. - */ - cellIndex?: number; + /** Returns the select cell element + */ + currentCell?: any; - /** Returns the select card index value. - */ - cardIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the select cell element - */ - currentCell?: any; + /** Returns the previously select the card element + */ + previousCard?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the previously select card indexes + */ + previousRowcellindex?: any[]; - /** Returns the previously select the card element - */ - previousCard?: any; + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the previously select card indexes - */ - previousRowcellindex?: Array; + /** Returns the Kanban model. + */ + model?: any; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns select card data. + */ + data?: any; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns select card data. - */ - data?: any; + export interface CardDoubleClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CardDoubleClickEventArgs { + /** Returns current card object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the Kanban model. + */ + model?: any; - /** Returns current card object (JSON). - */ - data?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the Kanban model. - */ - model?: any; + export interface CardSelectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the selecting cell index value. + */ + cellIndex?: number; -export interface CardSelectingEventArgs { + /** Returns the selecting card index value. + */ + cardIndex?: number; - /** Returns the selecting cell index value. - */ - cellIndex?: number; + /** Returns the selecting cell element + */ + currentCell?: any; - /** Returns the selecting card index value. - */ - cardIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the selecting cell element - */ - currentCell?: any; + /** Returns the previously selecting the card element + */ + previousCard?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the previously rowcell is selecting card indexes + */ + previousRowcellindex?: any[]; - /** Returns the previously selecting the card element - */ - previousCard?: any; + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the previously rowcell is selecting card indexes - */ - previousRowcellindex?: Array; + /** Returns the Kanban model. + */ + model?: any; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns added data. + */ + data?: any; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns added data. - */ - data?: any; + export interface CreateEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CreateEventArgs { + /** Returns the kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the kanban model. - */ - model?: any; + export interface CellClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CellClickEventArgs { + /** Returns the kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns the kanban model. - */ - model?: any; + /** Returns the select cell index value. + */ + cellIndex?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the edited row index. + */ + rowIndex?: number; + } - /** Returns the select cell index value. - */ - cellIndex?: number; + export interface ContextOpenEventArgs { - /** Returns the edited row index. - */ - rowIndex?: number; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ContextOpenEventArgs { + /** Returns the Kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the status of contextmenu item which denotes its enabled state. + */ + status?: boolean; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns the target item. + */ + target?: any; + } - /** Returns the status of contextmenu item which denotes its enabled state. - */ - status?: boolean; + export interface ContextClickEventArgs { - /** Returns the target item. - */ - target?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ContextClickEventArgs { + /** Returns the Kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the status of contextmenu item which denotes its enabled state. + */ + status?: boolean; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns the target item. + */ + target?: any; + } - /** Returns the status of contextmenu item which denotes its enabled state. - */ - status?: boolean; + export interface DataBoundEventArgs { - /** Returns the target item. - */ - target?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface DataBoundEventArgs { + /** Returns the Kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the Kanban model. - */ - model?: any; + export interface DestroyEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the kanban model. + */ + model?: any; -export interface DestroyEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns deleted data. - */ - data?: any; + export interface EndDeleteEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the Kanban model. + */ + model?: any; -export interface EndDeleteEventArgs { + /** Returns request type. + */ + requestType?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns request type. - */ - requestType?: string; + /** Returns deleted data. + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Current action name + */ + action?: string; + } - /** Returns the name of the event. - */ - type?: string; + export interface EndEditEventArgs { - /** Current action name - */ - action?: string; -} + /** Returns the Kanban model. + */ + model?: any; -export interface EndEditEventArgs { + /** Returns request type. + */ + requestType?: string; - /** Returns the Kanban model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns request type. - */ - requestType?: string; + /** Returns modified data. + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns modified data. - */ - data?: any; + /** Current Action name + */ + action?: string; + } - /** Returns the name of the event. - */ - type?: string; + export interface HeaderClickEventArgs { - /** Current Action name - */ - action?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface HeaderClickEventArgs { + /** Returns the kanban model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns the kanban model. - */ - model?: any; + /** Returns the select cell index value. + */ + cellIndex?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the column object. + */ + columnData?: any; + } - /** Returns the select cell index value. - */ - cellIndex?: number; + export interface LoadEventArgs { - /** Returns the column object. - */ - columnData?: any; -} + /** Returns the kanban model. + */ + model?: any; -export interface LoadEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the kanban model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface QueryCellInfoEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns Kanban card. + */ + card?: any; -export interface SwimlaneClickEventArgs { + /** Returns Kanban card. + */ + cell?: any; - /** Current Action name while swim lane clicked. Actions are "expand" or "collapse" - */ - action?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the kanban model. - */ - model?: any; + /** Returns current row record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the column object. + */ + column?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the Kanban model. + */ + model?: any; - /** Returns the swim lane group data's. - */ - data?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns current swim lane row index. - */ - rowIndex?: number; + export interface ToolbarClickEventArgs { - /** Returns current target element. - */ - target?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface QueryCellInfoEventArgs { + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the item id of that current element. + */ + itemId?: string; - /** Returns Kanban card. - */ - card?: any; + /** Returns the item index of that current element. + */ + itemIndex?: number; + + /** Returns the item name of that current element. + */ + itemName?: string; - /** Returns Kanban card. - */ - cell?: any; + /** Returns the item text of that current element. + */ + itemText?: string; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the toolbar object of the Kanban. + */ + toolbarData?: any; + } + + export interface SwimlaneSettingsUnassignedGroup { + + /** To enable or disable unassigned category change with swim lane key values. + * @Default {true} + */ + enable?: boolean; + + /** To set the user defined values which are need to categorized as unassigned category swim lane groups. + * @Default {[null,undefined,]} + */ + keys?: any[]; + } + + export interface SwimlaneSettings { + + /** To enable or disable items count in swim lane. + * @Default {true} + */ + showCount?: boolean; + + /** To enable or disable DragAndDrop across swim lane. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Customize the settings for unassigned category of swim lane. + * @Default {Object} + */ + unassignedGroup?: SwimlaneSettingsUnassignedGroup; + } + + export interface ContextMenuSettingsCustomMenuItem { + + /** Its sets target element to custom context menu item. + * @Default {ej.Kanban.Target.All} + */ + target?: ej.Kanban.Target | string; + + /** Gets the display name to custom menu item. + * @Default {null} + */ + text?: string; + + /** Gets the template to render custom context menu item. + * @Default {null} + */ + template?: string; + } + + export interface ContextMenuSettings { + + /** To enable context menu.All default context menu will show. + * @Default {false} + */ + enable?: boolean; + + /** Gets or sets a value that indicates the list of items needs to be disable from default context menu items. + * @Default {Array} + */ + disableDefaultItems?: any[]; + + /** Its used to add specific default context menu items. + * @Default {Array} + */ + menuItems?: any[]; + + /** Gets or sets a value that indicates whether to add custom contextMenu items. + * @Default {Array} + */ + customMenuItems?: ContextMenuSettingsCustomMenuItem[]; + } + + export interface ColumnsTotalCount { + + /** To customize the totalCount text properties. + * @Default {null} + */ + text?: string; + } + + export interface ColumnsConstraints { + + /** It is used to specify the type of constraints as column or swimlane. + * @Default {null} + */ + type?: string; + + /** It is used to specify the minimum amount of card in particular column cell or swimlane cell can hold. + * @Default {null} + */ + min?: number; + + /** It is used to specify the maximum amount of card in particular column cell or swimlane cell can hold. + * @Default {null} + */ + max?: number; + } + + export interface Column { + + /** Gets or sets an object that indicates to render the Kanban with specified columns header text. + * @Default {null} + */ + headerText?: string; + + /** To customize the totalCount properties. + * @Default {Object} + */ + totalCount?: ColumnsTotalCount; + + /** Gets or sets an object that indicates to render the Kanban with specified columns key. + * @Default {null} + */ + key?: string | number; + + /** To enable/disable allowDrop for specific column wise. + * @Default {true} + */ + allowDrop?: boolean; + + /** To enable/disable allowDrag for specific column wise. + * @Default {true} + */ + allowDrag?: boolean; + + /** To set column collapse or expand state + * @Default {false} + */ + isCollapsed?: boolean; + + /** To customize the column level constraints with minimum ,maximum limit validation. + * @Default {Object} + */ + constraints?: ColumnsConstraints; + + /** Gets or sets a value that indicates to add the template within the header element. + * @Default {null} + */ + headerTemplate?: string; + + /** Gets or sets an object that indicates to render the Kanban with specified columns width. + * @Default {null} + */ + width?: string | number; + + /** Gets or sets an object that indicates to set specific column visibility. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets an object that indicates whether to show add new button. + * @Default {false} + */ + showAddButton?: boolean; + } + + export interface CardSettings { + + /** Gets or sets a value that indicates to add the template for card . + * @Default {null} + */ + template?: string; + + /** To customize the card border color based on assigned task. Colors and corresponding values defined here will be mapped with colorField mapped data source column. + * @Default {Object} + */ + colorMapping?: any; + } + + export interface CustomToolbarItem { + + /** Gets the template to render customToolbarItems. + * @Default {null} + */ + template?: string; + } + + export interface EditSettingsEditItem { + + /** It is used to map editing field from the data source. + * @Default {null} + */ + field?: string; + + /** It is used to set the particular editType in the card for editing. + * @Default {ej.Kanban.EditingType.String} + */ + editType?: ej.Kanban.EditingType | string; + + /** Gets or sets a value that indicates to define constraints for saving data to the database. + * @Default {Object} + */ + validationRules?: any; + + /** It is used to set the particular editparams in the card for editing. + * @Default {Object} + */ + editParams?: any; + + /** It is used to specify defaultValue for the fields while adding new card. + * @Default {null} + */ + defaultValue?: string | number; + } + + export interface EditSettings { + + /** Gets or sets a value that indicates whether to enable the editing action in cards of Kanban. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable the adding action in cards behavior on Kanban. + * @Default {false} + */ + allowAdding?: boolean; + + /** This specifies the id of the template which is require to be edited using the Dialog Box. + * @Default {null} + */ + dialogTemplate?: string; + + /** Get or sets an object that indicates whether to customize the editMode of the Kanban. + * @Default {ej.Kanban.EditMode.Dialog} + */ + editMode?: ej.Kanban.EditMode | string; + + /** Get or sets an object that indicates whether to customize the editing fields of Kanban card. + * @Default {Array} + */ + editItems?: EditSettingsEditItem[]; + + /** This specifies the id of the template which is require to be edited using the External edit form. + * @Default {null} + */ + externalFormTemplate?: string; + + /** This specifies to set the position of an External edit form either in the right or bottom of the Kanban. + * @Default {ej.Kanban.FormPosition.Bottom} + */ + formPosition?: ej.Kanban.FormPosition | string; + } + + export interface Fields { + + /** The primarykey field is mapped to data source field. And this will used for Drag and drop and editing mainly. + * @Default {null} + */ + primaryKey?: string; + + /** To enable swimlane grouping based on the given key field from datasource mapping. + * @Default {null} + */ + swimlaneKey?: string; + + /** Priority field has been mapped data source field to maintain cards priority. + * @Default {null} + */ + priority?: string; + + /** Content field has been Mapped into card text. + * @Default {null} + */ + content?: string; + + /** Tag field has been Mapped into card tag. + * @Default {null} + */ + tag?: string; + + /** Title field has been Mapped to field in datasource for title content. If title field specified , card expand/collapse will be enabled with header and content section. + * @Default {null} + */ + title?: string; + + /** To customize the card has been Mapped into card color field. + * @Default {null} + */ + color?: string; + + /** ImageUrl field has been Mapped into card image. + * @Default {null} + */ + imageUrl?: string; + } + + export interface FilterSetting { + + /** Gets or sets an object of display name to filter queries. + * @Default {null} + */ + text?: string; + + /** Gets or sets an object that Queries to perform filtering + * @Default {Object} + */ + query?: any; + + /** Gets or sets an object of tooltip to filter buttons. + * @Default {null} + */ + description?: string; + } + + export interface ScrollSettings { + + /** Gets or sets an object that indicates to render the Kanban with specified scroll height. + * @Default {0} + */ + height?: string | number; + + /** Gets or sets an object that indicates to render the Kanban with specified scroll width. + * @Default {auto} + */ + width?: string | number; + + /** To allow the Kanban to freeze particular swimlane at the time of scrolling , until scroll reaches next swimlane and it continues. + * @Default {false} + */ + allowFreezeSwimlane?: boolean; + } + + export interface SearchSettings { + + /** To customize the fields the searching operation can be perform. + * @Default {Array} + */ + fields?: any[]; - /** Returns current row record object (JSON). - */ - data?: any; + /** To customize the searching string. + */ + key?: string; - /** Returns the column object. - */ - column?: any; + /** To customize the operator based on searching. + * @Default {contains} + */ + operator?: string; - /** Returns the Kanban model. - */ - model?: any; + /** To customize the ignore case based on searching. + * @Default {true} + */ + ignoreCase?: boolean; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface StackedHeaderRowsStackedHeaderColumn { -export interface ToolbarClickEventArgs { + /** Gets or sets a value that indicates the headerText for the particular stacked header column. + * @Default {null} + */ + headerText?: string; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Gets or sets a value that indicates the column for the particular stacked header column. + * @Default {null} + */ + column?: string; + } - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the item id of that current element. - */ - itemId?: string; + export interface StackedHeaderRow { - /** Returns the item index of that current element. - */ - itemIndex?: number; - - /** Returns the item name of that current element. - */ - itemName?: string; + /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows. + * @Default {Array} + */ + stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; + } - /** Returns the item text of that current element. - */ - itemText?: string; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the toolbar object of the Kanban. - */ - toolbarData?: any; -} - -export interface SwimlaneSettingsUnassignedGroup { - - /** To enable or disable unassigned category change with swim lane key values. - * @Default {true} - */ - enable?: boolean; - - /** To set the user defined values which are need to categorized as unassigned category swim lane groups. - * @Default {[null,undefined,]} - */ - keys?: Array; -} - -export interface SwimlaneSettings { - - /** To enable or disable items count in swim lane. - * @Default {true} - */ - showCount?: boolean; - - /** To enable or disable DragAndDrop across swim lane. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Customize the settings for unassigned category of swim lane. - * @Default {Object} - */ - unassignedGroup?: SwimlaneSettingsUnassignedGroup; -} - -export interface ContextMenuSettingsCustomMenuItem { - - /** Its sets target element to custom context menu item. - * @Default {ej.Kanban.Target.All} - */ - target?: ej.Kanban.Target|string; - - /** Gets the display name to custom menu item. - * @Default {null} - */ - text?: string; - - /** Gets the template to render custom context menu item. - * @Default {null} - */ - template?: string; -} - -export interface ContextMenuSettings { - - /** To enable context menu.All default context menu will show. - * @Default {false} - */ - enable?: boolean; - - /** Gets or sets a value that indicates the list of items needs to be disable from default context menu items. - * @Default {Array} - */ - disableDefaultItems?: Array; - - /** Its used to add specific default context menu items. - * @Default {Array} - */ - menuItems?: Array; - - /** Gets or sets a value that indicates whether to add custom contextMenu items. - * @Default {Array} - */ - customMenuItems?: Array; -} - -export interface ColumnsTotalCount { - - /** To customize the totalCount text properties. - * @Default {null} - */ - text?: string; -} - -export interface ColumnsConstraints { - - /** It is used to specify the type of constraints as column or swimlane. - * @Default {null} - */ - type?: string; - - /** It is used to specify the minimum amount of card in particular column cell or swimlane cell can hold. - * @Default {null} - */ - min?: number; - - /** It is used to specify the maximum amount of card in particular column cell or swimlane cell can hold. - * @Default {null} - */ - max?: number; -} - -export interface Column { - - /** Gets or sets an object that indicates to render the Kanban with specified columns header text. - * @Default {null} - */ - headerText?: string; - - /** To customize the totalCount properties. - * @Default {Object} - */ - totalCount?: ColumnsTotalCount; - - /** Gets or sets an object that indicates to render the Kanban with specified columns key. - * @Default {null} - */ - key?: string|number; - - /** To enable/disable allowDrop for specific column wise. - * @Default {true} - */ - allowDrop?: boolean; - - /** To enable/disable allowDrag for specific column wise. - * @Default {true} - */ - allowDrag?: boolean; - - /** To set column collapse or expand state - * @Default {false} - */ - isCollapsed?: boolean; - - /** To customize the column level constraints with minimum ,maximum limit validation. - * @Default {Object} - */ - constraints?: ColumnsConstraints; - - /** Gets or sets a value that indicates to add the template within the header element. - * @Default {null} - */ - headerTemplate?: string; - - /** Gets or sets an object that indicates to render the Kanban with specified columns width. - * @Default {null} - */ - width?: string|number; - - /** Gets or sets an object that indicates to set specific column visibility. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets an object that indicates whether to show add new button. - * @Default {false} - */ - showAddButton?: boolean; -} - -export interface CardSettings { - - /** Gets or sets a value that indicates to add the template for card . - * @Default {null} - */ - template?: string; - - /** To customize the card border color based on assigned task. Colors and corresponding values defined here will be mapped with colorField mapped data source column. - * @Default {Object} - */ - colorMapping?: any; -} - -export interface CustomToolbarItem { - - /** Gets the template to render customToolbarItems. - * @Default {null} - */ - template?: string; -} - -export interface EditSettingsEditItem { - - /** It is used to map editing field from the data source. - * @Default {null} - */ - field?: string; - - /** It is used to set the particular editType in the card for editing. - * @Default {ej.Kanban.EditingType.String} - */ - editType?: ej.Kanban.EditingType|string; - - /** Gets or sets a value that indicates to define constraints for saving data to the database. - * @Default {Object} - */ - validationRules?: any; - - /** It is used to set the particular editparams in the card for editing. - * @Default {Object} - */ - editParams?: any; - - /** It is used to specify defaultValue for the fields while adding new card. - * @Default {null} - */ - defaultValue?: string|number; -} - -export interface EditSettings { - - /** Gets or sets a value that indicates whether to enable the editing action in cards of Kanban. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable the adding action in cards behavior on Kanban. - * @Default {false} - */ - allowAdding?: boolean; - - /** This specifies the id of the template which is require to be edited using the Dialog Box. - * @Default {null} - */ - dialogTemplate?: string; - - /** Get or sets an object that indicates whether to customize the editMode of the Kanban. - * @Default {ej.Kanban.EditMode.Dialog} - */ - editMode?: ej.Kanban.EditMode|string; - - /** Get or sets an object that indicates whether to customize the editing fields of Kanban card. - * @Default {Array} - */ - editItems?: Array; - - /** This specifies the id of the template which is require to be edited using the External edit form. - * @Default {null} - */ - externalFormTemplate?: string; - - /** This specifies to set the position of an External edit form either in the right or bottom of the Kanban. - * @Default {ej.Kanban.FormPosition.Bottom} - */ - formPosition?: ej.Kanban.FormPosition|string; -} - -export interface Fields { - - /** The primarykey field is mapped to data source field. And this will used for Drag and drop and editing mainly. - * @Default {null} - */ - primaryKey?: string; - - /** To enable swimlane grouping based on the given key field from datasource mapping. - * @Default {null} - */ - swimlaneKey?: string; - - /** Priority field has been mapped data source field to maintain cards priority. - * @Default {null} - */ - priority?: string; - - /** Content field has been Mapped into card text. - * @Default {null} - */ - content?: string; - - /** Tag field has been Mapped into card tag. - * @Default {null} - */ - tag?: string; - - /** Title field has been Mapped to field in datasource for title content. If title field specified , card expand/collapse will be enabled with header and content section. - * @Default {null} - */ - title?: string; - - /** To customize the card has been Mapped into card color field. - * @Default {null} - */ - color?: string; - - /** ImageUrl field has been Mapped into card image. - * @Default {null} - */ - imageUrl?: string; -} - -export interface FilterSetting { - - /** Gets or sets an object of display name to filter queries. - * @Default {null} - */ - text?: string; - - /** Gets or sets an object that Queries to perform filtering - * @Default {Object} - */ - query?: any; - - /** Gets or sets an object of tooltip to filter buttons. - * @Default {null} - */ - description?: string; -} - -export interface ScrollSettings { - - /** Gets or sets an object that indicates to render the Kanban with specified scroll height. - * @Default {0} - */ - height?: string|number; - - /** Gets or sets an object that indicates to render the Kanban with specified scroll width. - * @Default {auto} - */ - width?: string|number; - - /** To allow the Kanban to freeze particular swimlane at the time of scrolling , until scroll reaches next swimlane and it continues. - * @Default {false} - */ - allowFreezeSwimlane?: boolean; -} - -export interface SearchSettings { - - /** To customize the fields the searching operation can be perform. - * @Default {Array} - */ - fields?: Array; + export interface TooltipSettings { - /** To customize the searching string. - */ - key?: string; + /** To enable or disable the tooltip display. + * @Default {false} + */ + enable?: boolean; - /** To customize the operator based on searching. - * @Default {contains} - */ - operator?: string; + /** To customize the tooltip display based on your requirements. + * @Default {null} + */ + template?: string; + } - /** To customize the ignore case based on searching. - * @Default {true} - */ - ignoreCase?: boolean; -} + export interface Workflow { -export interface StackedHeaderRowsStackedHeaderColumn { + /** Gets or sets an object that indicates to render the Kanban with specified workflows key. + * @Default {null} + */ + key?: string | number; - /** Gets or sets a value that indicates the headerText for the particular stacked header column. - * @Default {null} - */ - headerText?: string; + /** Gets or sets an object that indicates to render the Kanban with specified workflows allowed Transitions. + * @Default {null} + */ + allowedTransitions?: string; + } - /** Gets or sets a value that indicates the column for the particular stacked header column. - * @Default {null} - */ - column?: string; -} + enum Target { -export interface StackedHeaderRow { + ///Sets context menu to Kanban header + Header, - /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows. - * @Default {Array} - */ - stackedHeaderColumns?: Array; -} + ///Sets context menu to Kanban content + Content, -export interface TooltipSettings { + ///Sets context menu to Kanban card + Card, - /** To enable or disable the tooltip display. - * @Default {false} - */ - enable?: boolean; + ///Sets context menu to Kanban + All + } - /** To customize the tooltip display based on your requirements. - * @Default {null} - */ - template?: string; -} -export interface Workflow { + enum EditMode { - /** Gets or sets an object that indicates to render the Kanban with specified workflows key. - * @Default {null} - */ - key?: string|number; + ///Creates Kanban with editMode as Dialog + Dialog, - /** Gets or sets an object that indicates to render the Kanban with specified workflows allowed Transitions. - * @Default {null} - */ - allowedTransitions?: string; -} + ///Creates Kanban with editMode as DialogTemplate + DialogTemplate, -enum Target{ + ///Creates Kanban with editMode as ExternalForm + ExternalForm, - ///Sets context menu to Kanban header - Header, + ///Creates Kanban with editMode as ExternalFormTemplate + ExternalFormTemplate + } - ///Sets context menu to Kanban content - Content, - ///Sets context menu to Kanban card - Card, + enum EditingType { - ///Sets context menu to Kanban - All -} + ///Allows to set edit type as string edit type + String, + ///Allows to set edit type as numeric edit type + Numeric, -enum EditMode{ + ///Allows to set edit type as drop down edit type + Dropdown, - ///Creates Kanban with editMode as Dialog - Dialog, + ///Allows to set edit type as date picker edit type + DatePicker, - ///Creates Kanban with editMode as DialogTemplate - DialogTemplate, + ///Allows to set edit type as date time picker edit type + DateTimePicker, - ///Creates Kanban with editMode as ExternalForm - ExternalForm, + ///Allows to set edit type as text area edit type + TextArea, - ///Creates Kanban with editMode as ExternalFormTemplate - ExternalFormTemplate -} + ///Allows to set edit type as RTE edit type + RTE + } -enum EditingType{ + enum FormPosition { - ///Allows to set edit type as string edit type - String, + ///Form position is bottom. + Bottom, - ///Allows to set edit type as numeric edit type - Numeric, + ///Form position is right. + Right + } - ///Allows to set edit type as drop down edit type - Dropdown, - ///Allows to set edit type as date picker edit type - DatePicker, + enum SelectionType { - ///Allows to set edit type as date time picker edit type - DateTimePicker, + ///Support for Single selection in Kanban + Single, - ///Allows to set edit type as text area edit type - TextArea, - - ///Allows to set edit type as RTE edit type - RTE -} - - -enum FormPosition{ - - ///Form position is bottom. - Bottom, - - ///Form position is right. - Right -} - - -enum SelectionType{ - - ///Support for Single selection in Kanban - Single, - - ///Support for multiple selections in Kanban - Multiple -} + ///Support for multiple selections in Kanban + Multiple + } } class Rotator extends ej.Widget { static fn: Rotator; - constructor(element: JQuery, options?: Rotator.Model); - constructor(element: Element, options?: Rotator.Model); + constructor(element: JQuery | Element, options?: Rotator.Model); static Locale: any; - model:Rotator.Model; - defaults:Rotator.Model; + model: Rotator.Model; + defaults: Rotator.Model; /** Disables the Rotator control. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Enables the Rotator control. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** This method is used to get the current slide index. - * @returns {number} - */ + * @returns {number} + */ getIndex(): number; /** This method is used to move a slide to the specified index. - * @param {number} index of an slide - * @returns {void} - */ + * @param {number} index of an slide + * @returns {void} + */ gotoIndex(index: number): void; /** This method is used to pause autoplay. - * @returns {void} - */ + * @returns {void} + */ pause(): void; /** This method is used to move slides continuously (or start autoplay) in the specified autoplay direction. - * @returns {void} - */ + * @returns {void} + */ play(): void; /** This method is used to move to the next slide from the current slide. If the current slide is the last slide, then the first slide will be treated as the next slide. - * @returns {void} - */ + * @returns {void} + */ slideNext(): void; /** This method is used to move to the previous slide from the current slide. If the current slide is the first slide, then the last slide will be treated as the previous slide. - * @returns {void} - */ + * @returns {void} + */ slidePrevious(): void; /** This method is used to update/modify the slide content of template rotator by using id based on index value. - * @param {number} index of an slide - * @param {string} id of a new updated slide - * @returns {void} - */ + * @param {number} index of an slide + * @param {string} id of a new updated slide + * @returns {void} + */ updateTemplateById(index: number, id: string): void; } -export module Rotator{ - -export interface Model { - - /** Turns on keyboard interaction with the Rotator items. You must set this property to true to access the following keyboard shortcuts: - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Sets the animationSpeed of slide transition. - * @Default {600} - */ - animationSpeed?: string|number; - - /** Specifies the animationType type for the Rotator Item. animationType options include slide, fastSlide, slowSlide, and other custom easing animationTypes. - * @Default {slide} - */ - animationType?: string; - - /** Enables the circular mode item rotation. - * @Default {true} - */ - circularMode?: boolean; - - /** Specify the CSS class to Rotator to achieve custom theme. - */ - cssClass?: string; - - /** Specify the list of data which contains a set of data fields. Each data value is used to render an item for the Rotator. - * @Default {null} - */ - dataSource?: any; - - /** Sets the delay between the Rotator Items move after the slide transition. - * @Default {500} - */ - delay?: number; - - /** Specifies the number of Rotator Items to be displayed. - * @Default {1} - */ - displayItemsCount?: string|number; - - /** Rotates the Rotator Items continuously without user interference. - * @Default {false} - */ - enableAutoPlay?: boolean; - - /** Enables or disables the Rotator control. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies right to left transition of slides. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines mapping fields for the data items of the Rotator. - * @Default {null} - */ - fields?: Fields; - - /** Sets the space between the Rotator Items. - */ - frameSpace?: string|number; - - /** Resizes the Rotator when the browser is resized. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the number of Rotator Items to navigate on a single click (next/previous/play buttons). The navigateSteps property value must be less than or equal to the displayItemsCount property value. - * @Default {1} - */ - navigateSteps?: string|number; - - /** Specifies the orientation for the Rotator control, that is, whether it must be rendered horizontally or vertically. See Orientation - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation|string; - - /** Specifies the position of the showPager in the Rotator Item. See PagerPosition - * @Default {outside} - */ - pagerPosition?: string|ej.Rotator.PagerPosition; - - /** Retrieves data from remote data. This property is applicable only when a remote data source is used. - * @Default {null} - */ - query?: string; - - /** If the Rotator Item is an image, you can specify a caption for the Rotator Item. The caption text for each Rotator Item must be set by using the title attribute of the respective tag. The caption cannot be displayed if multiple Rotator Items are present. - * @Default {false} - */ - showCaption?: boolean; - - /** Turns on or off the slide buttons (next and previous) in the Rotator Items. Slide buttons are used to navigate the Rotator Items. - * @Default {true} - */ - showNavigateButton?: boolean; - - /** Turns on or off the pager support in the Rotator control. The Pager is used to navigate the Rotator Items. - * @Default {true} - */ - showPager?: boolean; - - /** Enable play / pause button on rotator. - * @Default {false} - */ - showPlayButton?: boolean; - - /** Turns on or off thumbnail support in the Rotator control. Thumbnail is used to navigate between slides. Thumbnail supports only single slide transition You must specify the source for thumbnail elements through the thumbnailSourceID property. - * @Default {false} - */ - showThumbnail?: boolean; - - /** Sets the height of a Rotator Item. - */ - slideHeight?: string|number; - - /** Sets the width of a Rotator Item. - */ - slideWidth?: string|number; - - /** Sets the index of the slide that must be displayed first. - * @Default {0} - */ - startIndex?: string|number; - - /** Pause the auto play while hover on the rotator content. - * @Default {false} - */ - stopOnHover?: boolean; - - /** The template to display the Rotator widget with customized appearance. - * @Default {null} - */ - template?: string; - - /** The templateId enables to bind multiple customized template items in Rotator. - * @Default {null} - */ - templateId?: Array; - - /** Specifies the source for thumbnail elements. - * @Default {null} - */ - thumbnailSourceID?: any; - - /** This event is fired when the Rotator slides are changed. */ - change? (e: ChangeEventArgs): void; - - /** This event is fired when the Rotator control is initialized. */ - create? (e: CreateEventArgs): void; - - /** This event is fired when the Rotator control is destroyed. */ - destroy? (e: DestroyEventArgs): void; - - /** This event is fired when a pager is clicked. */ - pagerClick? (e: PagerClickEventArgs): void; +export namespace Rotator { + + export interface Model { + + /** Turns on keyboard interaction with the Rotator items. You must set this property to true to access the following keyboard shortcuts: + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Sets the animationSpeed of slide transition. + * @Default {600} + */ + animationSpeed?: string | number; + + /** Specifies the animationType type for the Rotator Item. animationType options include slide, fastSlide, slowSlide, and other custom easing animationTypes. + * @Default {slide} + */ + animationType?: string; + + /** Enables the circular mode item rotation. + * @Default {true} + */ + circularMode?: boolean; + + /** Specify the CSS class to Rotator to achieve custom theme. + */ + cssClass?: string; + + /** Specify the list of data which contains a set of data fields. Each data value is used to render an item for the Rotator. + * @Default {null} + */ + dataSource?: any; + + /** Sets the delay between the Rotator Items move after the slide transition. + * @Default {500} + */ + delay?: number; + + /** Specifies the number of Rotator Items to be displayed. + * @Default {1} + */ + displayItemsCount?: string | number; + + /** Rotates the Rotator Items continuously without user interference. + * @Default {false} + */ + enableAutoPlay?: boolean; + + /** Enables or disables the Rotator control. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies right to left transition of slides. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines mapping fields for the data items of the Rotator. + * @Default {null} + */ + fields?: Fields; + + /** Sets the space between the Rotator Items. + */ + frameSpace?: string | number; + + /** Resizes the Rotator when the browser is resized. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the number of Rotator Items to navigate on a single click (next/previous/play buttons). + * The navigateSteps property value must be less than or equal to the displayItemsCount property value. + * @Default {1} + */ + navigateSteps?: string | number; + + /** Specifies the orientation for the Rotator control, that is, whether it must be rendered horizontally or vertically. See Orientation + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Specifies the position of the showPager in the Rotator Item. See PagerPosition + * @Default {outside} + */ + pagerPosition?: string | ej.Rotator.PagerPosition; + + /** Retrieves data from remote data. This property is applicable only when a remote data source is used. + * @Default {null} + */ + query?: string; + + /** If the Rotator Item is an image, you can specify a caption for the Rotator Item. The caption text for each Rotator Item must be set by using the title attribute of the respective tag. + * The caption cannot be displayed if multiple Rotator Items are present. + * @Default {false} + */ + showCaption?: boolean; + + /** Turns on or off the slide buttons (next and previous) in the Rotator Items. Slide buttons are used to navigate the Rotator Items. + * @Default {true} + */ + showNavigateButton?: boolean; + + /** Turns on or off the pager support in the Rotator control. The Pager is used to navigate the Rotator Items. + * @Default {true} + */ + showPager?: boolean; + + /** Enable play / pause button on rotator. + * @Default {false} + */ + showPlayButton?: boolean; + + /** Turns on or off thumbnail support in the Rotator control. Thumbnail is used to navigate between slides. Thumbnail supports only single slide transition + * You must specify the source for thumbnail elements through the thumbnailSourceID property. + * @Default {false} + */ + showThumbnail?: boolean; + + /** Sets the height of a Rotator Item. + */ + slideHeight?: string | number; + + /** Sets the width of a Rotator Item. + */ + slideWidth?: string | number; + + /** Sets the index of the slide that must be displayed first. + * @Default {0} + */ + startIndex?: string | number; + + /** Pause the auto play while hover on the rotator content. + * @Default {false} + */ + stopOnHover?: boolean; + + /** The template to display the Rotator widget with customized appearance. + * @Default {null} + */ + template?: string; + + /** The templateId enables to bind multiple customized template items in Rotator. + * @Default {null} + */ + templateId?: any[]; + + /** Specifies the source for thumbnail elements. + * @Default {null} + */ + thumbnailSourceID?: any; + + /** This event is fired when the Rotator slides are changed. */ + change?(e: ChangeEventArgs): void; + + /** This event is fired when the Rotator control is initialized. */ + create?(e: CreateEventArgs): void; + + /** This event is fired when the Rotator control is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** This event is fired when a pager is clicked. */ + pagerClick?(e: PagerClickEventArgs): void; + + /** This event is fired when enableAutoPlay is started. */ + start?(e: StartEventArgs): void; + + /** This event is fired when autoplay is stopped or paused. */ + stop?(e: StopEventArgs): void; + + /** This event is fired when a thumbnail pager is clicked. */ + thumbItemClick?(e: ThumbItemClickEventArgs): void; + } + + export interface ChangeEventArgs { - /** This event is fired when enableAutoPlay is started. */ - start? (e: StartEventArgs): void; - - /** This event is fired when autoplay is stopped or paused. */ - stop? (e: StopEventArgs): void; - - /** This event is fired when a thumbnail pager is clicked. */ - thumbItemClick? (e: ThumbItemClickEventArgs): void; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface ChangeEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the rotator model - */ - model?: ej.Rotator.Model; + /** the current rotator id. + */ + itemId?: string; - /** returns the name of the event - */ - type?: string; + /** returns the current slide index. + */ + activeItemIndex?: number; + } - /** the current rotator id. - */ - itemId?: string; + export interface CreateEventArgs { - /** returns the current slide index. - */ - activeItemIndex?: number; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface CreateEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; + } - /** returns the rotator model - */ - model?: ej.Rotator.Model; + export interface DestroyEventArgs { - /** returns the name of the event - */ - type?: string; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface DestroyEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; + } - /** returns the rotator model - */ - model?: ej.Rotator.Model; + export interface PagerClickEventArgs { - /** returns the name of the event - */ - type?: string; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface PagerClickEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the rotator model - */ - model?: ej.Rotator.Model; + /** the current rotator id. + */ + itemId?: string; - /** returns the name of the event - */ - type?: string; + /** returns the current slide index. + */ + activeItemIndex?: number; + } - /** the current rotator id. - */ - itemId?: string; + export interface StartEventArgs { - /** returns the current slide index. - */ - activeItemIndex?: number; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface StartEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the rotator model - */ - model?: ej.Rotator.Model; + /** the current rotator id. + */ + itemId?: string; - /** returns the name of the event - */ - type?: string; + /** returns the current slide index. + */ + activeItemIndex?: number; + } - /** the current rotator id. - */ - itemId?: string; + export interface StopEventArgs { - /** returns the current slide index. - */ - activeItemIndex?: number; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface StopEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the rotator model - */ - model?: ej.Rotator.Model; + /** the current rotator id. + */ + itemId?: string; - /** returns the name of the event - */ - type?: string; + /** returns the current slide index. + */ + activeItemIndex?: number; + } - /** the current rotator id. - */ - itemId?: string; + export interface ThumbItemClickEventArgs { - /** returns the current slide index. - */ - activeItemIndex?: number; -} + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface ThumbItemClickEventArgs { + /** returns the rotator model + */ + model?: ej.Rotator.Model; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; - /** returns the rotator model - */ - model?: ej.Rotator.Model; + /** the current rotator id. + */ + itemId?: string; - /** returns the name of the event - */ - type?: string; + /** returns the current slide index. + */ + activeItemIndex?: number; + } - /** the current rotator id. - */ - itemId?: string; + export interface Fields { - /** returns the current slide index. - */ - activeItemIndex?: number; -} + /** Specifies a link for the image. + */ + linkAttribute?: string; -export interface Fields { + /** Specifies where to open a given link. + */ + targetAttribute?: string; - /** Specifies a link for the image. - */ - linkAttribute?: string; + /** Specifies a caption for the image. + */ + text?: string; - /** Specifies where to open a given link. - */ - targetAttribute?: string; + /** Specifies a caption for the thumbnail image. + */ + thumbnailText?: string; - /** Specifies a caption for the image. - */ - text?: string; + /** Specifies the URL for an thumbnail image. + */ + thumbnailUrl?: string; - /** Specifies a caption for the thumbnail image. - */ - thumbnailText?: string; + /** Specifies the URL for an image. + */ + url?: string; + } - /** Specifies the URL for an thumbnail image. - */ - thumbnailUrl?: string; + enum PagerPosition { - /** Specifies the URL for an image. - */ - url?: string; -} + ///string + BottomLeft, -enum PagerPosition{ + ///string + BottomRight, - ///string - BottomLeft, + ///string + Outside, - ///string - BottomRight, + ///string + TopCenter, - ///string - Outside, + ///string + TopLeft, - ///string - TopCenter, - - ///string - TopLeft, - - ///string - TopRight -} + ///string + TopRight + } } class RTE extends ej.Widget { static fn: RTE; - constructor(element: JQuery, options?: RTE.Model); - constructor(element: Element, options?: RTE.Model); + constructor(element: JQuery | Element, options?: RTE.Model); static Locale: any; - model:RTE.Model; - defaults:RTE.Model; + model: RTE.Model; + defaults: RTE.Model; /** Returns the range object. - * @returns {any} - */ + * @returns {any} + */ createRange(): any; /** Disables the RTE control. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Disables the corresponding tool in the RTE ToolBar. - * @returns {void} - */ + * @returns {void} + */ disableToolbarItem(): void; /** Enables the RTE control. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Enables the corresponding tool in the toolbar when the tool is disabled. - * @returns {void} - */ + * @returns {void} + */ enableToolbarItem(): void; /** Performs the action value based on the given command. - * @returns {void} - */ + * @returns {void} + */ executeCommand(): void; /** Focuses the RTE control. - * @returns {void} - */ + * @returns {void} + */ focus(): void; /** Gets the command status of the selected text based on the given comment in the RTE control. - * @returns {boolean} - */ + * @returns {boolean} + */ getCommandStatus(): boolean; /** Gets the Document from the RTE control. - * @returns {Document} - */ + * @returns {Document} + */ getDocument(): Document; /** Gets the HTML string from the RTE control. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getHtml(): HTMLElement; /** Gets the selected HTML string from the RTE control. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getSelectedHtml(): HTMLElement; /** Gets the content as string from the RTE control. - * @returns {string} - */ + * @returns {string} + */ getText(): string; /** Hides the RTE control. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** Inserts new item to the target contextmenu node. - * @returns {void} - */ + * @returns {void} + */ insertMenuOption(): void; /** Add a table column at the right or left of the specified cell - * @param {boolean} If it’s true, add a column at the left of the cell, otherwise add a column at the right of the cell - * @param {JQuery} Column will be added based on the given cell element - * @returns {HTMLElement} - */ + * @param {boolean} If it’s true, add a column at the left of the cell, otherwise add a column at the right of the cell + * @param {JQuery} Column will be added based on the given cell element + * @returns {HTMLElement} + */ insertColumn(before?: boolean, cell?: JQuery): HTMLElement; /** To add a table row below or above the specified cell. - * @param {boolean} If it’s true, add a row before the cell, otherwise add a row after the cell - * @param {JQuery} Row will be added based on the given cell element - * @returns {HTMLElement} - */ + * @param {boolean} If it’s true, add a row before the cell, otherwise add a row after the cell + * @param {JQuery} Row will be added based on the given cell element + * @returns {HTMLElement} + */ insertRow(before?: boolean, cell?: JQuery): HTMLElement; - /** This method helps to insert/paste the content at the current cursor (caret) position or the selected content to be replaced with our text by passing the value as parameter to the pasteContent method in the Editor. - * @returns {void} - */ + /** This method helps to insert/paste the content at the current cursor (caret) position or the selected content to be replaced with our text by passing the value as parameter to the + * pasteContent method in the Editor. + * @returns {void} + */ pasteContent(): void; /** Refreshes the RTE control. - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** Removes the specified table column. - * @param {JQuery} Remove the given column element - * @returns {void} - */ + * @param {JQuery} Remove the given column element + * @returns {void} + */ removeColumn(cell?: JQuery): void; /** Removes the specified table row. - * @param {JQuery} Remove the given row element - * @returns {void} - */ + * @param {JQuery} Remove the given row element + * @returns {void} + */ removeRow(cell?: JQuery): void; /** Deletes the specified table. - * @param {JQuery} Remove the given table - * @returns {void} - */ + * @param {JQuery} Remove the given table + * @returns {void} + */ removeTable(table?: JQuery): void; /** Removes the target menu item from the RTE contextmenu. - * @returns {void} - */ + * @returns {void} + */ removeMenuOption(): void; /** Removes the given tool from the RTE Toolbar. - * @returns {void} - */ + * @returns {void} + */ removeToolbarItem(): void; /** Selects all the contents within the RTE. - * @returns {void} - */ + * @returns {void} + */ selectAll(): void; /** Selects the contents in the given range. - * @returns {void} - */ + * @returns {void} + */ selectRange(): void; /** Sets the color picker model type rendered initially in the RTE control. - * @returns {void} - */ + * @returns {void} + */ setColorPickerType(): void; /** Sets the HTML string from the RTE control. - * @returns {void} - */ + * @returns {void} + */ setHtml(): void; /** Displays the RTE control. - * @returns {void} - */ + * @returns {void} + */ show(): void; } -export module RTE{ - -export interface Model { - - /** Enables/disables the editing of the content. - * @Default {True} - */ - allowEditing?: boolean; - - /** RTE control can be accessed through the keyboard shortcut keys. - * @Default {True} - */ - allowKeyboardNavigation?: boolean; - - /** When the property is set to true, it focuses the RTE at the time of rendering. - * @Default {false} - */ - autoFocus?: boolean; - - /** Based on the content size, its height is adjusted instead of adding the scrollbar. - * @Default {false} - */ - autoHeight?: boolean; - - /** This API holds configuration setting for paste clenaup behavior. - * @Default {{ listConversion: false, cleanCSS: false, removeStyles: false, cleanElements: false }} - */ - pasteCleanupSettings?: PasteCleanupSettings; - - /** Sets the colorCode to display the color of the fontColor and backgroundColor in the font tools of the RTE. - * @Default {[000000, FFFFFF, C4C4C4, ADADAD, 595959, 262626, 4f81bd, dbe5f1, b8cce4, 95b3d7, 366092, 244061, c0504d, f2dcdb, e5b9b7, d99694, 953734,632423, 9bbb59, ebf1dd, d7e3bc, c3d69b, 76923c, 4f6128, 8064a2, e5e0ec, ccc1d9, b2a2c7, 5f497a, 3f3151, f79646, fdeada, fbd5b5, fac08f,e36c09, 974806]} - */ - colorCode?: any; - - /** The number of columns given are rendered in the color palate popup. - * @Default {6} - */ - colorPaletteColumns?: number; - - /** The number of rows given are rendered in the color palate popup. - * @Default {6} - */ - colorPaletteRows?: number; - - /** Sets the root class for the RTE theme. This cssClass API helps the usage of custom skinning option for the RTE control by including this root class in CSS. - */ - cssClass?: string; - - /** Enables/disables the RTE control’s accessibility or interaction. - * @Default {True} - */ - enabled?: boolean; - - /** When the property is set to true, it returns the encrypted text. - * @Default {false} - */ - enableHtmlEncode?: boolean; - - /** Maintain the values of the RTE after page reload. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Shows the resize icon and enables the resize option in the RTE. - * @Default {True} - */ - enableResize?: boolean; - - /** Shows the RTE in the RTL direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Formats the contents based on the XHTML rules. - * @Default {false} - */ - enableXHTML?: boolean; - - /** Enables the tab key action with the RichTextEditor content. - * @Default {True} - */ - enableTabKeyNavigation?: boolean; - - /** This API allows to enable url and fileName for pdf export. - * @Default {null} - */ - exportToPdfSettings?: ExportToPdfSettings; - - /** This API allows to enable url and fileName for word export. - * @Default {null} - */ - exportToWordSettings?: ExportToWordSettings; - - /** Load the external CSS file inside Iframe. - * @Default {null} - */ - externalCSS?: string; - - /** This API allows to enable the file browser support in the RTE control to browse, create, delete and upload the files in the specified current directory. - * @Default {null} - */ - fileBrowser?: FileBrowser; - - /** Sets the fontName in the RTE. - * @Default {{text: Segoe UI, value: Segoe UI },{text: Arial, value: Arial,Helvetica,sans-serif },{text: Courier New, value: Courier New,Courier,Monospace },{text: Georgia, value: Georgia,serif },{text: Impact, value: Impact,Charcoal,sans-serif },{text: Lucida Console, value: Lucida Console,Monaco,Monospace },{text: Tahoma, value: Tahoma,Geneva,sans-serif },{text: Times New Roman, value: Times New Roman },{text: Trebuchet MS, value: Trebuchet MS,Helvetica,sans-serif },{text: Verdana, value: Verdana,Geneva,sans-serif}} - */ - fontName?: any; - - /** Sets the fontSize in the RTE. - * @Default {{ text: 1, value: 1 },{ text: 2 (10pt), value: 2 },{ text: 3 (12pt), value: 3 },{ text: 4 (14pt), value: 4 },{ text: 5 (18pt), value: 5 },{ text: 6 (24pt), value: 6 },{ text: 7 (36pt), value: 7 }} - */ - fontSize?: any; - - /** Sets the format in the RTE. - * @Default {{ text: Paragraph, value: <p>, spriteCssClass: e-paragraph },{ text: Quotation, value: <blockquote>, spriteCssClass: e-quotation },{ text: Heading 1, value: <h1>, spriteCssClass: e-h1 },{ text: Heading 2, value: <h2>, spriteCssClass: e-h2 },{ text: Heading 3, value: <h3>, spriteCssClass: e-h3 },{ text: Heading 4, value: <h4>, spriteCssClass: e-h4 },{ text: Heading 5, value: <h5>, spriteCssClass: e-h5 },{ text: Heading 6, value: <h6>, spriteCssClass: e-h6}} - */ - format?: string; - - /** Defines the height of the RTE textbox. - * @Default {370} - */ - height?: string|number; - - /** Specifies the HTML Attributes of the ejRTE. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the given attributes to the iframe body element. - * @Default {{}} - */ - iframeAttributes?: any; - - /** This API allows the image browser to support in the RTE control to browse, create, delete, and upload the image files to the specified current directory. - * @Default {null} - */ - imageBrowser?: ImageBrowser; - - /** This API allows to enable the url for connecting to RTE import. - * @Default {null} - */ - importSettings?: ImportSettings; - - /** Enables/disables responsive support for the RTE control toolbar items during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Sets the culture in the RTE when you set the localization values are needs to be assigned to the corresponding text as follows. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum height for the RTE outer wrapper element. - * @Default {null} - */ - maxHeight?: string|number; - - /** Sets the maximum length for the RTE outer wrapper element. - * @Default {7000} - */ - maxLength?: number; - - /** Sets the maximum width for the RTE outer wrapper element. - * @Default {null} - */ - maxWidth?: string|number; - - /** Sets the minimum height for the RTE outer wrapper element. - * @Default {280} - */ - minHeight?: string|number; - - /** Sets the minimum width for the RTE outer wrapper element. - * @Default {400} - */ - minWidth?: string|number; - - /** Sets the name in the RTE. When the name value is not initialized, the ID value is assigned to the name. - */ - name?: string; - - /** Shows ClearAll icon in the RTE footer. - * @Default {false} - */ - showClearAll?: boolean; - - /** Shows the clear format in the RTE footer. - * @Default {true} - */ - showClearFormat?: boolean; - - /** Shows the Custom Table in the RTE. - * @Default {True} - */ - showCustomTable?: boolean; - - /** The showContextMenu property helps to enable custom context menu within editor area. - * @Default {True} - */ - showContextMenu?: boolean; - - /** This API is used to set the default dimensions for the image and video. When this property is set to true, the image and video dialog displays the dimension option. - * @Default {false} - */ - showDimensions?: boolean; - - /** Shows the FontOption in the RTE. - * @Default {True} - */ - showFontOption?: boolean; - - /** Shows footer in the RTE. When the footer is enabled, it displays the HTML tag, word Count, character count, clear format, resize icon and clear all the content icons, by default. - * @Default {false} - */ - showFooter?: boolean; - - /** Shows the HtmlSource in the RTE footer. - * @Default {false} - */ - showHtmlSource?: boolean; - - /** When the cursor is placed or when the text is selected in the RTE, it displays the tag info in the footer. - * @Default {True} - */ - showHtmlTagInfo?: boolean; - - /** Shows the toolbar in the RTE. - * @Default {True} - */ - showToolbar?: boolean; - - /** Counts the total characters and displays it in the RTE footer. - * @Default {True} - */ - showCharCount?: boolean; - - /** Enables or disables rounded corner UI look for RTE. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Counts the total words and displays it in the RTE footer. - * @Default {True} - */ - showWordCount?: boolean; - - /** The given number of columns render the insert table pop. - * @Default {10} - */ - tableColumns?: number; - - /** The given number of rows render the insert table pop. - * @Default {8} - */ - tableRows?: number; - - /** Sets the tools in the RTE and gets the inner display order of the corresponding group element. Tools are dependent on the toolsList property. - * @Default {formatStyle: [format],style: [bold, italic, underline, strikethrough],alignment: [justifyLeft, justifyCenter, justifyRight, justifyFull],lists: [unorderedList, orderedList],indenting: [outdent, indent],doAction: [undo, redo],links: [createLink,removeLink],images: [image],media: [video],tables: [createTable, addRowAbove, addRowBelow, addColumnLeft, addColumnRight, deleteRow, deleteColumn, deleteTable]],view:[“fullScreen”,zoomIn,zoomOut],print:[print]} - */ - tools?: Tools; - - /** Specifies the list of groups and order of those groups displayed in the RTE toolbar. The toolsList property is used to get the root group order and tools property is used to get the inner order of the corresponding groups displayed. When the value is not specified, it gets its default display order and tools. - * @Default {[formatStyle, font, style, effects, alignment, lists, indenting, clipboard, doAction, clear, links, images, media, tables, casing,view, customTools,print,edit]} - */ - toolsList?: Array; - - /** Specifies the overflow mode for RTE responsive toolbar - * @Default {Popup} - */ - toolbarOverflowMode?: ej.RTE.ToolbarOverflowMode|string; - - /** Display the hints for the tools in the Toolbar. - * @Default {{ associate: mouseenter, showShadow: true, position: { stem: { horizontal: left, vertical: top } }, tip: { size: { width: 5, height: 5 }, isBalloon: false }} - */ - tooltipSettings?: any; - - /** Gets the undo stack limit. - * @Default {50} - */ - undoStackLimit?: number; - - /** The given string value is displayed in the editable area. - * @Default {null} - */ - value?: string; - - /** Sets the jQuery validation rules to the Rich Text Editor. - * @Default {null} - */ - validationRules?: any; - - /** Sets the jQuery validation error message to the Rich Text Editor. - * @Default {null} - */ - validationMessage?: any; - - /** Defines the width of the RTE textbox. - * @Default {786} - */ - width?: string|number; - - /** Increases and decreases the contents zoom range in percentage - * @Default {0.05} - */ - zoomStep?: string|number; - - /** Fires when changed successfully. */ - change? (e: ChangeEventArgs): void; - - /** Fires when the RTE is created successfully */ - create? (e: CreateEventArgs): void; - - /** Fires when mouse click on menu items. */ - contextMenuClick? (e: ContextMenuClickEventArgs): void; +export namespace RTE { + + export interface Model { + + /** Enables/disables the editing of the content. + * @Default {True} + */ + allowEditing?: boolean; + + /** RTE control can be accessed through the keyboard shortcut keys. + * @Default {True} + */ + allowKeyboardNavigation?: boolean; + + /** When the property is set to true, it focuses the RTE at the time of rendering. + * @Default {false} + */ + autoFocus?: boolean; + + /** Based on the content size, its height is adjusted instead of adding the scrollbar. + * @Default {false} + */ + autoHeight?: boolean; + + /** Sets the colorCode to display the color of the fontColor and backgroundColor in the font tools of the RTE. + * @Default {[000000, FFFFFF, C4C4C4, ADADAD, 595959, 262626, 4f81bd, dbe5f1, b8cce4, 95b3d7, 366092, 244061, c0504d, f2dcdb, e5b9b7, d99694, 953734,632423, 9bbb59, + * ebf1dd, d7e3bc, c3d69b, 76923c, 4f6128, 8064a2, e5e0ec, ccc1d9, b2a2c7, 5f497a, 3f3151, f79646, fdeada, fbd5b5, fac08f,e36c09, 974806]} + */ + colorCode?: any; + + /** The number of columns given are rendered in the color palate popup. + * @Default {6} + */ + colorPaletteColumns?: number; + + /** The number of rows given are rendered in the color palate popup. + * @Default {6} + */ + colorPaletteRows?: number; + + /** Sets the root class for the RTE theme. This cssClass API helps the usage of custom skinning option for the RTE control by including this root class in CSS. + */ + cssClass?: string; + + /** Enables/disables the RTE control’s accessibility or interaction. + * @Default {True} + */ + enabled?: boolean; + + /** When the property is set to true, it returns the encrypted text. + * @Default {false} + */ + enableHtmlEncode?: boolean; + + /** Maintain the values of the RTE after page reload. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Shows the resize icon and enables the resize option in the RTE. + * @Default {True} + */ + enableResize?: boolean; + + /** Shows the RTE in the RTL direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Formats the contents based on the XHTML rules. + * @Default {false} + */ + enableXHTML?: boolean; + + /** Enables the tab key action with the RichTextEditor content. + * @Default {True} + */ + enableTabKeyNavigation?: boolean; + + /** This API allows to enable url and fileName for pdf export. + * @Default {null} + */ + exportToPdfSettings?: ExportToPdfSettings; + + /** This API allows to enable url and fileName for word export. + * @Default {null} + */ + exportToWordSettings?: ExportToWordSettings; + + /** Load the external CSS file inside Iframe. + * @Default {null} + */ + externalCSS?: string; + + /** This API allows to enable the file browser support in the RTE control to browse, create, delete and upload the files in the specified current directory. + * @Default {null} + */ + fileBrowser?: FileBrowser; + + /** Sets the fontName in the RTE. + * @Default {{text: Segoe UI, value: Segoe UI },{text: Arial, value: Arial,Helvetica,sans-serif },{text: Courier New, value: Courier New,Courier,Monospace }, + * {text: Georgia, value: Georgia,serif },{text: Impact, value: Impact,Charcoal,sans-serif },{text: Lucida Console, value: Lucida Console,Monaco,Monospace }, + * {text: Tahoma, value: Tahoma,Geneva,sans-serif },{text: Times New Roman, value: Times New Roman },{text: Trebuchet MS, value: Trebuchet MS,Helvetica,sans-serif }, + * {text: Verdana, value: Verdana,Geneva,sans-serif}} + */ + fontName?: any; + + /** Sets the fontSize in the RTE. + * @Default {{ text: 1, value: 1 },{ text: 2 (10pt), value: 2 },{ text: 3 (12pt), value: 3 },{ text: 4 (14pt), value: 4 },{ text: 5 (18pt), value: 5 }, + * { text: 6 (24pt), value: 6 },{ text: 7 (36pt), value: 7 }} + */ + fontSize?: any; + + /** Sets the format in the RTE. + * @Default {{ text: Paragraph, value: <p>, spriteCssClass: e-paragraph },{ text: Quotation, value: <blockquote>, spriteCssClass: e-quotation }, + * { text: Heading 1, value: <h1>, spriteCssClass: e-h1 },{ text: Heading 2, value: <h2>, spriteCssClass: e-h2 },{ text: Heading 3, value: <h3>, spriteCssClass: e-h3 }, + * { text: Heading 4, value: <h4>, spriteCssClass: e-h4 },{ text: Heading 5, value: <h5>, spriteCssClass: e-h5 },{ text: Heading 6, value: <h6>, spriteCssClass: e-h6}} + */ + format?: string; + + /** Defines the height of the RTE textbox. + * @Default {370} + */ + height?: string | number; + + /** Specifies the HTML Attributes of the ejRTE. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the given attributes to the iframe body element. + * @Default {{}} + */ + iframeAttributes?: any; + + /** This API allows the image browser to support in the RTE control to browse, create, delete, and upload the image files to the specified current directory. + * @Default {null} + */ + imageBrowser?: ImageBrowser; + + /** This API allows to enable the url for connecting to RTE import. + * @Default {null} + */ + importSettings?: ImportSettings; + + /** Enables/disables responsive support for the RTE control toolbar items during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Sets the culture in the RTE when you set the localization values are needs to be assigned to the corresponding text as follows. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum height for the RTE outer wrapper element. + * @Default {null} + */ + maxHeight?: string | number; + + /** Sets the maximum length for the RTE outer wrapper element. + * @Default {7000} + */ + maxLength?: number; + + /** Sets the maximum width for the RTE outer wrapper element. + * @Default {null} + */ + maxWidth?: string | number; + + /** Sets the minimum height for the RTE outer wrapper element. + * @Default {280} + */ + minHeight?: string | number; + + /** Sets the minimum width for the RTE outer wrapper element. + * @Default {400} + */ + minWidth?: string | number; + + /** Sets the name in the RTE. When the name value is not initialized, the ID value is assigned to the name. + */ + name?: string; + + /** Shows ClearAll icon in the RTE footer. + * @Default {false} + */ + showClearAll?: boolean; + + /** Shows the clear format in the RTE footer. + * @Default {true} + */ + showClearFormat?: boolean; + + /** Shows the Custom Table in the RTE. + * @Default {True} + */ + showCustomTable?: boolean; + + /** The showContextMenu property helps to enable custom context menu within editor area. + * @Default {True} + */ + showContextMenu?: boolean; + + /** This API is used to set the default dimensions for the image and video. When this property is set to true, the image and video dialog displays the dimension option. + * @Default {false} + */ + showDimensions?: boolean; + + /** Shows the FontOption in the RTE. + * @Default {True} + */ + showFontOption?: boolean; + + /** Shows footer in the RTE. When the footer is enabled, it displays the HTML tag, word Count, character count, clear format, resize icon and clear all the content icons, by default. + * @Default {false} + */ + showFooter?: boolean; + + /** Shows the HtmlSource in the RTE footer. + * @Default {false} + */ + showHtmlSource?: boolean; + + /** When the cursor is placed or when the text is selected in the RTE, it displays the tag info in the footer. + * @Default {True} + */ + showHtmlTagInfo?: boolean; + + /** Shows the toolbar in the RTE. + * @Default {True} + */ + showToolbar?: boolean; + + /** Counts the total characters and displays it in the RTE footer. + * @Default {True} + */ + showCharCount?: boolean; + + /** Enables or disables rounded corner UI look for RTE. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Counts the total words and displays it in the RTE footer. + * @Default {True} + */ + showWordCount?: boolean; + + /** The given number of columns render the insert table pop. + * @Default {10} + */ + tableColumns?: number; + + /** The given number of rows render the insert table pop. + * @Default {8} + */ + tableRows?: number; + + /** Sets the tools in the RTE and gets the inner display order of the corresponding group element. Tools are dependent on the toolsList property. + * @Default {formatStyle: [format],style: [bold, italic, underline, strikethrough],alignment: [justifyLeft, justifyCenter, justifyRight, justifyFull],lists: [unorderedList, orderedList], + * indenting: [outdent, indent],doAction: [undo, redo],links: [createLink,removeLink],images: [image],media: [video],tables: [createTable, addRowAbove, addRowBelow, + * addColumnLeft, addColumnRight, deleteRow, deleteColumn, deleteTable]],view:[“fullScreen”,zoomIn,zoomOut],print:[print]} + */ + tools?: Tools; + + /** Specifies the list of groups and order of those groups displayed in the RTE toolbar. The toolsList property is used to get the root group order and tools property is used to get the + * inner order of the corresponding groups displayed. When the value is not specified, it gets its default display order and tools. + * @Default {[formatStyle, font, style, effects, alignment, lists, indenting, clipboard, doAction, clear, links, images, media, tables, casing,view, customTools,print,edit]} + */ + toolsList?: any[]; + + /** Display the hints for the tools in the Toolbar. + * @Default {{ associate: mouseenter, showShadow: true, position: { stem: { horizontal: left, vertical: top } }, tip: { size: { width: 5, height: 5 }, isBalloon: false }} + */ + tooltipSettings?: any; + + /** Gets the undo stack limit. + * @Default {50} + */ + undoStackLimit?: number; + + /** The given string value is displayed in the editable area. + * @Default {null} + */ + value?: string; + + /** Sets the jQuery validation rules to the Rich Text Editor. + * @Default {null} + */ + validationRules?: any; + + /** Sets the jQuery validation error message to the Rich Text Editor. + * @Default {null} + */ + validationMessage?: any; + + /** Defines the width of the RTE textbox. + * @Default {786} + */ + width?: string | number; + + /** Increases and decreases the contents zoom range in percentage + * @Default {0.05} + */ + zoomStep?: string | number; + + /** Fires when changed successfully. */ + change?(e: ChangeEventArgs): void; + + /** Fires when the RTE is created successfully */ + create?(e: CreateEventArgs): void; + + /** Fires when mouse click on menu items. */ + contextMenuClick?(e: ContextMenuClickEventArgs): void; + + /** Fires before the RTE is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when the commands are executed successfully. */ + execute?(e: ExecuteEventArgs): void; + + /** Fires when the keydown action is successful. */ + keydown?(e: KeydownEventArgs): void; + + /** Fires when the keyup action is successful. */ + keyup?(e: KeyupEventArgs): void; - /** Fires before the RTE is destroyed. */ - destroy? (e: DestroyEventArgs): void; - - /** Fires when the commands are executed successfully. */ - execute? (e: ExecuteEventArgs): void; + /** Fires before the RTE Edit area is rendered and after the toolbar is rendered. */ + preRender?(e: PreRenderEventArgs): void; - /** Fires when the keydown action is successful. */ - keydown? (e: KeydownEventArgs): void; + /** Fires when the text is selected in the text area */ + select?(e: SelectEventArgs): void; + } - /** Fires when the keyup action is successful. */ - keyup? (e: KeyupEventArgs): void; + export interface ChangeEventArgs { - /** Fires before the RTE Edit area is rendered and after the toolbar is rendered. */ - preRender? (e: PreRenderEventArgs): void; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires when the text is selected in the text area */ - select? (e: SelectEventArgs): void; -} + /** returns the RTE model + */ + model?: any; -export interface ChangeEventArgs { + /** returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface CreateEventArgs { - /** returns the RTE model - */ - model?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; -} + /** Returns the RTE model + */ + model?: any; -export interface CreateEventArgs { + /** Returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface ContextMenuClickEventArgs { - /** Returns the RTE model - */ - model?: any; + /** returns clicked menu item text. + */ + text?: string; - /** Returns the name of the event - */ - type?: string; -} + /** returns clicked menu item element. + */ + element?: any; -export interface ContextMenuClickEventArgs { + /** returns the selected item. + */ + selectedItem?: number; + } - /** returns clicked menu item text. - */ - text?: string; + export interface DestroyEventArgs { - /** returns clicked menu item element. - */ - element?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the selected item. - */ - selectedItem?: number; -} + /** Returns the RTE model + */ + model?: any; -export interface DestroyEventArgs { + /** Returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface ExecuteEventArgs { - /** Returns the RTE model - */ - model?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the RTE model + */ + model?: any; -export interface ExecuteEventArgs { + /** Returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface KeydownEventArgs { - /** Returns the RTE model - */ - model?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the RTE model + */ + model?: any; -export interface KeydownEventArgs { + /** Returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface KeyupEventArgs { - /** Returns the RTE model - */ - model?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the RTE model + */ + model?: any; -export interface KeyupEventArgs { + /** Returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface PreRenderEventArgs { - /** Returns the RTE model - */ - model?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the RTE model + */ + model?: any; -export interface PreRenderEventArgs { + /** Returns the name of the event + */ + type?: string; + } - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + export interface SelectEventArgs { - /** Returns the RTE model - */ - model?: any; + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the RTE model + */ + model?: any; -export interface SelectEventArgs { + /** Returns the name of the event + */ + type?: string; - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; + /** Returns the event object + */ + event?: any; + } - /** Returns the RTE model - */ - model?: any; + export interface ExportToPdfSettings { - /** Returns the name of the event - */ - type?: string; + /** This API is used to receive the server-side handler for export related operations. + */ + url?: string; - /** Returns the event object - */ - event?: any; -} + /** Specifies the file name for the exported pdf file. + */ + fileName?: string; + } -export interface PasteCleanupSettings { + export interface ExportToWordSettings { - /** This API is used to convert the list elements pasted from word document to editor. - * @Default {false} - */ - listConversion?: boolean; + /** This API is used to receive the server-side handler for export related operations. + */ + url?: string; - /** This API is used to clean the unwanted css in the elements pasted from word document to editor. - * @Default {false} - */ - cleanCSS?: boolean; + /** Specifies the file name for the exported word file. + */ + fileName?: string; + } - /** This API is used to remove all styles in the elements pasted from word document to editor. - * @Default {false} - */ - removeStyles?: boolean; + export interface FileBrowser { - /** This API is used to clean the unwanted elements pasted from word document to editor. - * @Default {false} - */ - cleanElements?: boolean; -} + /** This API is used to receive the server-side handler for file related operations. + */ + ajaxAction?: string; -export interface ExportToPdfSettings { + /** Specifies the file type extension shown in the file browser window. + */ + extensionAllow?: string; - /** This API is used to receive the server-side handler for export related operations. - */ - url?: string; + /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected files to the current directory. + */ + filePath?: string; + } - /** Specifies the file name for the exported pdf file. - */ - fileName?: string; -} + export interface ImageBrowser { -export interface ExportToWordSettings { + /** This API is used to receive the server-side handler for the file related operations. + */ + ajaxAction?: string; - /** This API is used to receive the server-side handler for export related operations. - */ - url?: string; + /** Specifies the file type extension shown in the image browser window. + */ + extensionAllow?: string; - /** Specifies the file name for the exported word file. - */ - fileName?: string; -} + /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected images to the current directory. + */ + filePath?: string; + } -export interface FileBrowser { + export interface ImportSettings { - /** This API is used to receive the server-side handler for file related operations. - */ - ajaxAction?: string; + /** This API is used to receive the server-side handler for import operations. + */ + url?: string; + } - /** Specifies the file type extension shown in the file browser window. - */ - extensionAllow?: string; + export interface ToolsCustomOrderedList { - /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected files to the current directory. - */ - filePath?: string; -} + /** Specifies the name for customOrderedList item. + */ + name?: string; -export interface ImageBrowser { + /** Specifies the title for customOrderedList item. + */ + tooltip?: string; - /** This API is used to receive the server-side handler for the file related operations. - */ - ajaxAction?: string; + /** Specifies the styles for customOrderedList item. + */ + css?: string; - /** Specifies the file type extension shown in the image browser window. - */ - extensionAllow?: string; + /** Specifies the text for customOrderedList item. + */ + text?: string; - /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected images to the current directory. - */ - filePath?: string; -} + /** Specifies the list style for customOrderedList item. + */ + listStyle?: string; -export interface ImportSettings { + /** Specifies the image for customOrderedList item. + */ + listImage?: string; + } - /** This API is used to receive the server-side handler for import operations. - */ - url?: string; -} + export interface ToolsCustomUnorderedList { -export interface ToolsCustomOrderedList { + /** Specifies the name for customUnorderedList item. + */ + name?: string; - /** Specifies the name for customOrderedList item. - */ - name?: string; + /** Specifies the title for customUnorderedList item. + */ + tooltip?: string; - /** Specifies the title for customOrderedList item. - */ - tooltip?: string; + /** Specifies the styles for customUnorderedList item. + */ + css?: string; - /** Specifies the styles for customOrderedList item. - */ - css?: string; + /** Specifies the text for customUnorderedList item. + */ + text?: string; - /** Specifies the text for customOrderedList item. - */ - text?: string; + /** Specifies the list style for customUnorderedList item. + */ + listStyle?: string; - /** Specifies the list style for customOrderedList item. - */ - listStyle?: string; + /** Specifies the image for customUnorderedList item. + */ + listImage?: string; + } - /** Specifies the image for customOrderedList item. - */ - listImage?: string; -} + export interface Tools { -export interface ToolsCustomUnorderedList { + /** Specifies the alignment tools and the display order of this tool in the RTE toolbar. + */ + alignment?: any; - /** Specifies the name for customUnorderedList item. - */ - name?: string; + /** Specifies the casing tools and the display order of this tool in the RTE toolbar. + */ + casing?: any[]; - /** Specifies the title for customUnorderedList item. - */ - tooltip?: string; + /** Specifies the clear tools and the display order of this tool in the RTE toolbar. + */ + clear?: any[]; - /** Specifies the styles for customUnorderedList item. - */ - css?: string; + /** Specifies the clipboard tools and the display order of this tool in the RTE toolbar. + */ + clipboard?: any[]; - /** Specifies the text for customUnorderedList item. - */ - text?: string; + /** Specifies the edit tools and the displays tool in the RTE toolbar. + */ + edit?: any[]; - /** Specifies the list style for customUnorderedList item. - */ - listStyle?: string; + /** Specifies the doAction tools and the display order of this tool in the RTE toolbar. + */ + doAction?: any[]; - /** Specifies the image for customUnorderedList item. - */ - listImage?: string; -} + /** Specifies the effect of tools and the display order of this tool in RTE toolbar. + */ + effects?: any[]; -export interface Tools { + /** Specifies the font tools and the display order of this tool in the RTE toolbar. + */ + font?: any[]; - /** Specifies the alignment tools and the display order of this tool in the RTE toolbar. - */ - alignment?: any; + /** Specifies the formatStyle tools and the display order of this tool in the RTE toolbar. + */ + formatStyle?: any[]; - /** Specifies the casing tools and the display order of this tool in the RTE toolbar. - */ - casing?: Array; + /** Specifies the image tools and the display order of this tool in the RTE toolbar. + */ + images?: any[]; - /** Specifies the clear tools and the display order of this tool in the RTE toolbar. - */ - clear?: Array; + /** Specifies the indent tools and the display order of this tool in the RTE toolbar. + */ + indenting?: any[]; - /** Specifies the clipboard tools and the display order of this tool in the RTE toolbar. - */ - clipboard?: Array; + /** Specifies the link tools and the display order of this tool in the RTE toolbar. + */ + links?: any[]; - /** Specifies the edit tools and the displays tool in the RTE toolbar. - */ - edit?: Array; + /** Specifies the list tools and the display order of this tool in the RTE toolbar. + */ + lists?: any[]; - /** Specifies the doAction tools and the display order of this tool in the RTE toolbar. - */ - doAction?: Array; + /** Specifies the media tools and the display order of this tool in the RTE toolbar. + */ + media?: any[]; - /** Specifies the effect of tools and the display order of this tool in RTE toolbar. - */ - effects?: Array; + /** Specifies the style tools and the display order of this tool in the RTE toolbar. + */ + style?: any[]; - /** Specifies the font tools and the display order of this tool in the RTE toolbar. - */ - font?: Array; + /** Specifies the table tools and the display order of this tool in the RTE toolbar. + */ + tables?: any[]; - /** Specifies the formatStyle tools and the display order of this tool in the RTE toolbar. - */ - formatStyle?: Array; + /** Specifies the view tools and the display order of this tool in the RTE toolbar. + */ + view?: any[]; - /** Specifies the image tools and the display order of this tool in the RTE toolbar. - */ - images?: Array; + /** Specifies the print tools and the display order of this tool in the RTE toolbar. + */ + print?: any[]; - /** Specifies the indent tools and the display order of this tool in the RTE toolbar. - */ - indenting?: Array; + /** Specifies the importExport tools and the display order of this tool in the RTE toolbar. + */ + importExport?: any[]; - /** Specifies the link tools and the display order of this tool in the RTE toolbar. - */ - links?: Array; - - /** Specifies the list tools and the display order of this tool in the RTE toolbar. - */ - lists?: Array; - - /** Specifies the media tools and the display order of this tool in the RTE toolbar. - */ - media?: Array; - - /** Specifies the style tools and the display order of this tool in the RTE toolbar. - */ - style?: Array; - - /** Specifies the table tools and the display order of this tool in the RTE toolbar. - */ - tables?: Array; - - /** Specifies the view tools and the display order of this tool in the RTE toolbar. - */ - view?: Array; - - /** Specifies the print tools and the display order of this tool in the RTE toolbar. - */ - print?: Array; - - /** Specifies the importExport tools and the display order of this tool in the RTE toolbar. - */ - importExport?: Array; - - /** Specifies the customOrderedList tools and the display order of this tool in the RTE toolbar. - */ - customOrderedList?: Array; - - /** Specifies the customUnOrderedList tools and the display order of this tool in the RTE toolbar. - */ - customUnorderedList?: Array; -} - -enum ToolbarOverflowMode{ - - ///To display the RTE toolbar overflow items as popup - Popup, - - ///To display the RTE toolbar overflow items as inline toolbar - Inline -} + /** Specifies the customOrderedList tools and the display order of this tool in the RTE toolbar. + */ + customOrderedList?: ToolsCustomOrderedList[]; + /** Specifies the customUnOrderedList tools and the display order of this tool in the RTE toolbar. + */ + customUnorderedList?: ToolsCustomUnorderedList[]; + } } class Slider extends ej.Widget { static fn: Slider; - constructor(element: JQuery, options?: Slider.Model); - constructor(element: Element, options?: Slider.Model); + constructor(element: JQuery | Element, options?: Slider.Model); static Locale: any; - model:Slider.Model; - defaults:Slider.Model; + model: Slider.Model; + defaults: Slider.Model; /** To disable the slider - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** To enable the slider - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** To get value from slider handle - * @returns {number} - */ + * @returns {number} + */ getValue(): number; /** To set value to slider handle.By default animation is false while set the value. If you want to enable the animation, pass the enableAnimation as true to this method. - * @returns {void} - */ + * @returns {void} + */ setValue(): void; } -export module Slider{ +export namespace Slider { -export interface Model { + export interface Model { - /** Specifies the allowMouseWheel of the slider. - * @Default {false} - */ - allowMouseWheel?: boolean; + /** Specifies the allowMouseWheel of the slider. + * @Default {false} + */ + allowMouseWheel?: boolean; - /** Specifies the animationSpeed of the slider. - * @Default {500} - */ - animationSpeed?: number; + /** Specifies the animationSpeed of the slider. + * @Default {500} + */ + animationSpeed?: number; - /** Specify the CSS class to slider to achieve custom theme. - */ - cssClass?: string; + /** Specify the CSS class to slider to achieve custom theme. + */ + cssClass?: string; - /** Specifies the animation behavior of the slider. - * @Default {true} - */ - enableAnimation?: boolean; + /** Specifies the animation behavior of the slider. + * @Default {true} + */ + enableAnimation?: boolean; - /** Specifies the state of the slider. - * @Default {true} - */ - enabled?: boolean; + /** Specifies the state of the slider. + * @Default {true} + */ + enabled?: boolean; - /** Specify the enablePersistence to slider to save current model value to browser cookies for state maintains - * @Default {false} - */ - enablePersistence?: boolean; + /** Specify the enablePersistence to slider to save current model value to browser cookies for state maintains + * @Default {false} + */ + enablePersistence?: boolean; - /** Specifies the Right to Left Direction of the slider. - * @Default {false} - */ - enableRTL?: boolean; + /** Specifies the Right to Left Direction of the slider. + * @Default {false} + */ + enableRTL?: boolean; - /** Specifies the height of the slider. - * @Default {14} - */ - height?: string; + /** Specifies the height of the slider. + * @Default {14} + */ + height?: string; - /** Specifies the HTML Attributes of the ejSlider. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the HTML Attributes of the ejSlider. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the incremental step value of the slider. - * @Default {1} - */ - incrementStep?: number; + /** Specifies the incremental step value of the slider. + * @Default {1} + */ + incrementStep?: number; - /** Specifies the distance between two major (large) ticks from the scale of the slider. - * @Default {10} - */ - largeStep?: number; + /** Specifies the distance between two major (large) ticks from the scale of the slider. + * @Default {10} + */ + largeStep?: number; - /** Specifies the ending value of the slider. - * @Default {100} - */ - maxValue?: number; + /** Specifies the ending value of the slider. + * @Default {100} + */ + maxValue?: number; - /** Specifies the starting value of the slider. - * @Default {0} - */ - minValue?: number; + /** Specifies the starting value of the slider. + * @Default {0} + */ + minValue?: number; - /** Specifies the orientation of the slider. - * @Default {ej.orientation.Horizontal} - */ - orientation?: ej.Orientation|string; + /** Specifies the orientation of the slider. + * @Default {ej.orientation.Horizontal} + */ + orientation?: ej.Orientation | string; - /** Specifies the readOnly of the slider. - * @Default {false} - */ - readOnly?: boolean; + /** Specifies the readOnly of the slider. + * @Default {false} + */ + readOnly?: boolean; - /** Specifies the rounded corner behavior for slider. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** Specifies the rounded corner behavior for slider. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** Shows/Hide the major (large) and minor (small) ticks in the scale of the slider. - * @Default {false} - */ - showScale?: boolean; + /** Shows/Hide the major (large) and minor (small) ticks in the scale of the slider. + * @Default {false} + */ + showScale?: boolean; - /** Specifies the small ticks from the scale of the slider. - * @Default {true} - */ - showSmallTicks?: boolean; + /** Specifies the small ticks from the scale of the slider. + * @Default {true} + */ + showSmallTicks?: boolean; - /** Specifies the showTooltip to shows the current Slider value, while moving the Slider handle or clicking on the slider handle of the slider. - * @Default {true} - */ - showTooltip?: boolean; + /** Specifies the showTooltip to shows the current Slider value, while moving the Slider handle or clicking on the slider handle of the slider. + * @Default {true} + */ + showTooltip?: boolean; - /** Specifies the sliderType of the slider. - * @Default {ej.SliderType.Default} - */ - sliderType?: ej.slider.sliderType|string; + /** Specifies the sliderType of the slider. + * @Default {ej.SliderType.Default} + */ + sliderType?: ej.slider.sliderType | string; - /** Specifies the distance between two minor (small) ticks from the scale of the slider. - * @Default {1} - */ - smallStep?: number; + /** Specifies the distance between two minor (small) ticks from the scale of the slider. + * @Default {1} + */ + smallStep?: number; - /** Specifies the value of the slider. But it's not applicable for range slider. To range slider we can use values property. - * @Default {0} - */ - value?: number; + /** Specifies the value of the slider. But it's not applicable for range slider. To range slider we can use values property. + * @Default {0} + */ + value?: number; - /** Specifies the values of the range slider. But it's not applicable for default and minRange sliders. we can use value property for default and minRange sliders. - * @Default {[minValue,maxValue]} - */ - values?: Array; + /** Specifies the values of the range slider. But it's not applicable for default and minRange sliders. we can use value property for default and minRange sliders. + * @Default {[minValue,maxValue]} + */ + values?: any[]; - /** Specifies the width of the slider. - * @Default {100%} - */ - width?: string; + /** Specifies the width of the slider. + * @Default {100%} + */ + width?: string; - /** Fires once Slider control value is changed successfully. */ - change? (e: ChangeEventArgs): void; + /** Fires once Slider control value is changed successfully. */ + change?(e: ChangeEventArgs): void; - /** Fires once Slider control has been created successfully. */ - create? (e: CreateEventArgs): void; + /** Fires once Slider control has been created successfully. */ + create?(e: CreateEventArgs): void; - /** Fires when Slider control has been destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when Slider control has been destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Fires once Slider control is sliding successfully. */ - slide? (e: SlideEventArgs): void; + /** Fires once Slider control is sliding successfully. */ + slide?(e: SlideEventArgs): void; - /** Fires once Slider control is started successfully. */ - start? (e: StartEventArgs): void; + /** Fires once Slider control is started successfully. */ + start?(e: StartEventArgs): void; - /** Fires when Slider control is stopped successfully. */ - stop? (e: StopEventArgs): void; + /** Fires when Slider control is stopped successfully. */ + stop?(e: StopEventArgs): void; - /** Fires when display the custom tooltip */ - tooltipChange? (e: TooltipChangeEventArgs): void; -} + /** Fires when display the custom tooltip */ + tooltipChange?(e: TooltipChangeEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns current handle number or index - */ - sliderIndex?: number; + /** returns current handle number or index + */ + sliderIndex?: number; - /** returns slider id. - */ - id?: string; + /** returns slider id. + */ + id?: string; - /** returns the slider model. - */ - model?: ej.Slider.Model; + /** returns the slider model. + */ + model?: ej.Slider.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the slider value. - */ - value?: number; + /** returns the slider value. + */ + value?: number; - /** returns true if event triggered by interaction else returns false. - */ - isInteraction?: boolean; -} + /** returns true if event triggered by interaction else returns false. + */ + isInteraction?: boolean; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the slider model - */ - model?: ej.Slider.Model; + /** returns the slider model + */ + model?: ej.Slider.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface SlideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; -} - -export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; -} - -export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; -} - -export interface TooltipChangeEventArgs { -} -} -module slider -{ -enum sliderType -{ -//Shows default slider -Default, -//Shows minRange slider -MinRange, -//Shows Range slider -Range, + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface SlideEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; + } + + export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; + } + + export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; + } + + export interface TooltipChangeEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } } +namespace slider { + enum sliderType { + //Shows default slider + Default, + //Shows minRange slider + MinRange, + //Shows Range slider + Range, + } } class SplitButton extends ej.Widget { static fn: SplitButton; - constructor(element: JQuery, options?: SplitButton.Model); - constructor(element: Element, options?: SplitButton.Model); + constructor(element: JQuery | Element, options?: SplitButton.Model); static Locale: any; - model:SplitButton.Model; - defaults:SplitButton.Model; + model: SplitButton.Model; + defaults: SplitButton.Model; /** Destroy the split button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** To disable the split button - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** To Enable the split button - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** To hide the list content of the split button. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** To show the list content of the split button. - * @returns {void} - */ + * @returns {void} + */ show(): void; } -export module SplitButton{ +export namespace SplitButton { -export interface Model { + export interface Model { - /** Specifies the arrowPosition of the Split or Dropdown Button.See arrowPosition - * @Default {ej.ArrowPosition.Right} - */ - arrowPosition?: string|ej.ArrowPosition; + /** Specifies the arrowPosition of the Split or Dropdown Button.See arrowPosition + * @Default {ej.ArrowPosition.Right} + */ + arrowPosition?: string | ej.ArrowPosition; - /** Specifies the buttonMode like Split or Dropdown Button.See ButtonMode - * @Default {ej.ButtonMode.Split} - */ - buttonMode?: string|ej.ButtonMode; + /** Specifies the buttonMode like Split or Dropdown Button.See ButtonMode + * @Default {ej.ButtonMode.Split} + */ + buttonMode?: string | ej.ButtonMode; - /** Specifies the contentType of the Split Button.See ContentType - * @Default {ej.ContentType.TextOnly} - */ - contentType?: string|ej.ContentType; + /** Specifies the contentType of the Split Button.See ContentType + * @Default {ej.ContentType.TextOnly} + */ + contentType?: string | ej.ContentType; - /** Set the root class for Split Button control theme - */ - cssClass?: string; + /** Set the root class for Split Button control theme + */ + cssClass?: string; - /** Specifies the disabling of Split Button if enabled is set to false. - * @Default {true} - */ - enabled?: boolean; + /** Specifies the disabling of Split Button if enabled is set to false. + * @Default {true} + */ + enabled?: boolean; - /** Specifies the enableRTL property for Split Button while initialization. - * @Default {false} - */ - enableRTL?: boolean; + /** Specifies the enableRTL property for Split Button while initialization. + * @Default {false} + */ + enableRTL?: boolean; - /** Specifies the height of the Split Button. - * @Default {“”} - */ - height?: string|number; + /** Specifies the height of the Split Button. + * @Default {“”} + */ + height?: string | number; - /** Specifies the HTML Attributes of the Split Button. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the HTML Attributes of the Split Button. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the imagePosition of the Split Button.See imagePositions - * @Default {ej.ImagePosition.ImageRight} - */ - imagePosition?: string|ej.ImagePosition; + /** Specifies the imagePosition of the Split Button.See imagePositions + * @Default {ej.ImagePosition.ImageRight} + */ + imagePosition?: string | ej.ImagePosition; - /** Specifies the image content for Split Button while initialization. - */ - prefixIcon?: string; + /** Specifies the image content for Split Button while initialization. + */ + prefixIcon?: string; - /** Specifies the showRoundedCorner property for Split Button while initialization. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** Specifies the showRoundedCorner property for Split Button while initialization. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** Specifies the size of the Button. See ButtonSize - * @Default {ej.ButtonSize.Normal} - */ - size?: string|ej.ButtonSize; + /** Specifies the size of the Button. See ButtonSize + * @Default {ej.ButtonSize.Normal} + */ + size?: string | ej.ButtonSize; - /** Specifies the image content for Split Button while initialization. - */ - suffixIcon?: string; + /** Specifies the image content for Split Button while initialization. + */ + suffixIcon?: string; - /** Specifies the list content for Split Button while initialization - */ - targetID?: string; + /** Specifies the list content for Split Button while initialization + */ + targetID?: string; - /** Specifies the text content for Split Button while initialization. - */ - text?: string; + /** Specifies the text content for Split Button while initialization. + */ + text?: string; - /** Specifies the width of the Split Button. - * @Default {“”} - */ - width?: string|number; + /** Specifies the width of the Split Button. + * @Default {“”} + */ + width?: string | number; - /** Fires before menu of the split button control is opened. */ - beforeOpen? (e: BeforeOpenEventArgs): void; + /** Fires before menu of the split button control is opened. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** Fires when Button control is clicked successfully */ - click? (e: ClickEventArgs): void; + /** Fires when Button control is clicked successfully */ + click?(e: ClickEventArgs): void; - /** Fires before the list content of Button control is closed */ - close? (e: CloseEventArgs): void; + /** Fires before the list content of Button control is closed */ + close?(e: CloseEventArgs): void; - /** Fires after Split Button control is created. */ - create? (e: CreateEventArgs): void; + /** Fires after Split Button control is created. */ + create?(e: CreateEventArgs): void; - /** Fires when the Split Button is destroyed successfully */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the Split Button is destroyed successfully */ + destroy?(e: DestroyEventArgs): void; - /** Fires when a menu item is Hovered out successfully */ - itemMouseOut? (e: ItemMouseOutEventArgs): void; + /** Fires when a menu item is Hovered out successfully */ + itemMouseOut?(e: ItemMouseOutEventArgs): void; - /** Fires when a menu item is Hovered in successfully */ - itemMouseOver? (e: ItemMouseOverEventArgs): void; + /** Fires when a menu item is Hovered in successfully */ + itemMouseOver?(e: ItemMouseOverEventArgs): void; - /** Fires when a menu item is clicked successfully */ - itemSelected? (e: ItemSelectedEventArgs): void; + /** Fires when a menu item is clicked successfully */ + itemSelected?(e: ItemSelectedEventArgs): void; - /** Fires before the list content of Button control is opened */ - open? (e: OpenEventArgs): void; + /** Fires before the list content of Button control is opened */ + open?(e: OpenEventArgs): void; + } + + export interface BeforeOpenEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface ClickEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** return the button state + */ + status?: boolean; + } + + export interface CloseEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface CreateEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface ItemMouseOutEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** return the menu item id + */ + ID?: string; + + /** return the clicked menu item text + */ + Text?: string; + } + + export interface ItemMouseOverEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** return the menu item id + */ + ID?: string; + + /** return the clicked menu item text + */ + Text?: string; + } + + export interface ItemSelectedEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** returns the selected item + */ + selectedItem?: any; + + /** return the menu id + */ + menuId?: string; + + /** return the clicked menu item text + */ + menuText?: string; + } + + export interface OpenEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } } - -export interface BeforeOpenEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface ClickEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** return the button state - */ - status?: boolean; -} - -export interface CloseEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface CreateEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface ItemMouseOutEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** return the menu item id - */ - ID?: string; - - /** return the clicked menu item text - */ - Text?: string; -} - -export interface ItemMouseOverEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** return the menu item id - */ - ID?: string; - - /** return the clicked menu item text - */ - Text?: string; -} - -export interface ItemSelectedEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** returns the selected item - */ - selectedItem?: any; - - /** return the menu id - */ - menuId?: string; - - /** return the clicked menu item text - */ - menuText?: string; -} - -export interface OpenEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; -} -} -enum ArrowPosition -{ -//To set Left arrowPosition of the split button -Left, -//To set Right arrowPosition of the split button -Right, -//To set Top arrowPosition of the split button -Top, -//To set Bottom arrowPosition of the split button -Bottom, +enum ArrowPosition { + //To set Left arrowPosition of the split button + Left, + //To set Right arrowPosition of the split button + Right, + //To set Top arrowPosition of the split button + Top, + //To set Bottom arrowPosition of the split button + Bottom, } class Splitter extends ej.Widget { static fn: Splitter; - constructor(element: JQuery, options?: Splitter.Model); - constructor(element: Element, options?: Splitter.Model); + constructor(element: JQuery | Element, options?: Splitter.Model); static Locale: any; - model:Splitter.Model; - defaults:Splitter.Model; + model: Splitter.Model; + defaults: Splitter.Model; /** To add a new pane to splitter control. - * @param {string} content of pane. - * @param {any} pane properties. - * @param {number} index of pane. - * @returns {HTMLElement} - */ + * @param {string} content of pane. + * @param {any} pane properties. + * @param {number} index of pane. + * @returns {HTMLElement} + */ addItem(content: string, property: any, index: number): HTMLElement; /** To collapse the splitter control pane. - * @param {number} index number of pane. - * @returns {void} - */ + * @param {number} index number of pane. + * @returns {void} + */ collapse(paneIndex: number): void; /** To expand the splitter control pane. - * @param {number} index number of pane. - * @returns {void} - */ + * @param {number} index number of pane. + * @returns {void} + */ expand(paneIndex: number): void; /** To refresh the splitter control pane resizing. - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** To remove a specified pane from the splitter control. - * @param {number} index of pane. - * @returns {void} - */ + * @param {number} index of pane. + * @returns {void} + */ removeItem(index: number): void; } -export module Splitter{ +export namespace Splitter { -export interface Model { + export interface Model { - /** Turns on keyboard interaction with the Splitter panes. You must set this property to true to access the keyboard shortcuts of ejSplitter. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; + /** Turns on keyboard interaction with the Splitter panes. You must set this property to true to access the keyboard shortcuts of ejSplitter. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; - /** Specify animation speed for the Splitter pane movement, while collapsing and expanding. - * @Default {300} - */ - animationSpeed?: number; + /** Specify animation speed for the Splitter pane movement, while collapsing and expanding. + * @Default {300} + */ + animationSpeed?: number; - /** Specify the CSS class to splitter control to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; + /** Specify the CSS class to splitter control to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; - /** Specifies the animation behavior of the splitter. - * @Default {true} - */ - enableAnimation?: boolean; + /** Specifies the animation behavior of the splitter. + * @Default {true} + */ + enableAnimation?: boolean; - /** Specifies the splitter control to be displayed in right to left direction. - * @Default {false} - */ - enableRTL?: boolean; + /** Specifies the splitter control to be displayed in right to left direction. + * @Default {false} + */ + enableRTL?: boolean; - /** Specify height for splitter control. - * @Default {null} - */ - height?: string; + /** Specify height for splitter control. + * @Default {null} + */ + height?: string; - /** Specifies the HTML Attributes of the Splitter. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the HTML Attributes of the Splitter. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specify window resizing behavior for splitter control. - * @Default {false} - */ - isResponsive?: boolean; + /** Specify window resizing behavior for splitter control. + * @Default {false} + */ + isResponsive?: boolean; - /** Specify the orientation for splitter control. See orientation - * @Default {ej.orientation.Horizontal or “horizontal”} - */ - orientation?: ej.Orientation|string; + /** Specify the orientation for splitter control. See orientation + * @Default {ej.orientation.Horizontal or “horizontal”} + */ + orientation?: ej.Orientation | string; - /** Specify properties for each pane like paneSize, minSize, maxSize, collapsible, expandable, resizable. - * @Default {[]} - */ - properties?: Array; + /** Specify properties for each pane like paneSize, minSize, maxSize, collapsible, expandable, resizable. + * @Default {[]} + */ + properties?: any[]; - /** Specify width for splitter control. - * @Default {null} - */ - width?: string; + /** Specify width for splitter control. + * @Default {null} + */ + width?: string; - /** Fires before expanding / collapsing the split pane of splitter control. */ - beforeExpandCollapse? (e: BeforeExpandCollapseEventArgs): void; + /** Fires before expanding / collapsing the split pane of splitter control. */ + beforeExpandCollapse?(e: BeforeExpandCollapseEventArgs): void; - /** Fires when splitter control pane has been created. */ - create? (e: CreateEventArgs): void; + /** Fires when splitter control pane has been created. */ + create?(e: CreateEventArgs): void; - /** Fires when splitter control pane has been destroyed. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when splitter control pane has been destroyed. */ + destroy?(e: DestroyEventArgs): void; - /** Fires when expand / collapse operation in splitter control pane has been performed successfully. */ - expandCollapse? (e: ExpandCollapseEventArgs): void; + /** Fires when expand / collapse operation in splitter control pane has been performed successfully. */ + expandCollapse?(e: ExpandCollapseEventArgs): void; - /** Fires when resize in splitter control pane. */ - resize? (e: ResizeEventArgs): void; -} + /** Fires when resize in splitter control pane. */ + resize?(e: ResizeEventArgs): void; + } -export interface BeforeExpandCollapseEventArgs { + export interface BeforeExpandCollapseEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns collapsed pane details. - */ - collapsed?: any; + /** returns collapsed pane details. + */ + collapsed?: any; - /** returns expanded pane details. - */ - expanded?: any; + /** returns expanded pane details. + */ + expanded?: any; - /** returns the splitter model. - */ - model?: ej.Splitter.Model; + /** returns the splitter model. + */ + model?: ej.Splitter.Model; - /** returns the current split bar index. - */ - splitbarIndex?: number; + /** returns the current split bar index. + */ + splitbarIndex?: number; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the splitter model. - */ - model?: ej.Splitter.Model; + /** returns the splitter model. + */ + model?: ej.Splitter.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the splitter model. - */ - model?: ej.Splitter.Model; + /** returns the splitter model. + */ + model?: ej.Splitter.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface ExpandCollapseEventArgs { + export interface ExpandCollapseEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns collapsed pane details. - */ - collapsed?: any; + /** returns collapsed pane details. + */ + collapsed?: any; - /** returns expanded pane details. - */ - expanded?: any; + /** returns expanded pane details. + */ + expanded?: any; - /** returns the splitter model. - */ - model?: ej.Splitter.Model; + /** returns the splitter model. + */ + model?: ej.Splitter.Model; - /** returns the current split bar index. - */ - splitbarIndex?: number; + /** returns the current split bar index. + */ + splitbarIndex?: number; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface ResizeEventArgs { + export interface ResizeEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns previous pane details. - */ - prevPane?: any; + /** returns previous pane details. + */ + prevPane?: any; - /** returns next pane details. - */ - nextPane?: any; + /** returns next pane details. + */ + nextPane?: any; - /** returns the splitter model. - */ - model?: ej.Splitter.Model; + /** returns the splitter model. + */ + model?: ej.Splitter.Model; - /** returns the current split bar index. - */ - splitbarIndex?: number; + /** returns the current split bar index. + */ + splitbarIndex?: number; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } } class Tab extends ej.Widget { static fn: Tab; - constructor(element: JQuery, options?: Tab.Model); - constructor(element: Element, options?: Tab.Model); + constructor(element: JQuery | Element, options?: Tab.Model); static Locale: any; - model:Tab.Model; - defaults:Tab.Model; + model: Tab.Model; + defaults: Tab.Model; /** Add new tab items with given name, URL and given index position, if index null it’s add last item. - * @param {string} URL name / tab id. - * @param {string} Tab Display name. - * @param {number} Index position to placed , this is optional. - * @param {string} specifies cssClass, this is optional. - * @param {string} specifies id of tab, this is optional. - * @returns {void} - */ + * @param {string} URL name / tab id. + * @param {string} Tab Display name. + * @param {number} Index position to placed , this is optional. + * @param {string} specifies cssClass, this is optional. + * @param {string} specifies id of tab, this is optional. + * @returns {void} + */ addItem(URL: string, displayLabel: string, index: number, cssClass: string, id: string): void; /** To disable the tab control. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** To enable the tab control. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** This function get the number of tab rendered - * @returns {number} - */ + * @returns {number} + */ getItemsCount(): number; /** This function hides the tab control. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** This function hides the specified item tab in tab control. - * @param {number} index of tab item. - * @returns {void} - */ + * @param {number} index of tab item. + * @returns {void} + */ hideItem(index: number): void; /** Remove the given index tab item. - * @param {number} index of tab item. - * @returns {void} - */ + * @param {number} index of tab item. + * @returns {void} + */ removeItem(index: number): void; /** This function is to show the tab control. - * @returns {void} - */ + * @returns {void} + */ show(): void; /** This function helps to show the specified hidden tab item in tab control. - * @param {number} index of tab item. - * @returns {void} - */ + * @param {number} index of tab item. + * @returns {void} + */ showItem(index: number): void; } -export module Tab{ - -export interface Model { - - /** Specifies the ajaxSettings option to load the content to the Tab control. - */ - ajaxSettings?: AjaxSettings; - - /** Tab items interaction with keyboard keys, like headers active navigation. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Allow to collapsing the active item, while click on the active header. - * @Default {false} - */ - collapsible?: boolean; - - /** Set the root class for Tab theme. This cssClass API helps to use custom skinning option for Tab control. - */ - cssClass?: string; - - /** Disables the given tab headers and content panels. - * @Default {[]} - */ - disabledItemIndex?: number[]; - - /** Specifies the animation behavior of the tab. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the tab control. - * @Default {true} - */ - enabled?: boolean; - - /** Enables the given tab headers and content panels. - * @Default {[]} - */ - enabledItemIndex?: number[]; - - /** Save current model value to browser cookies for state maintains. While refresh the Tab control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Display Right to Left direction for headers and panels text of tab. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specify to enable scrolling for Tab header. - * @Default {false} - */ - enableTabScroll?: boolean; - - /** The event API to bind the action for active the tab items. - * @Default {click} - */ - events?: string; - - /** Specifies the position of Tab header as top, bottom, left or right. See below to get available Position - * @Default {top} - */ - headerPosition?: string | ej.Tab.Position; - - /** Set the height of the tab header element. Default this property value is null, so height take content height. - * @Default {null} - */ - headerSize?: string|number; - - /** Height set the outer panel element. Default this property value is null, so height take content height. - * @Default {null} - */ - height?: string|number; - - /** Adjust the content panel height for given option (content, auto and fill), by default panels height adjust based on the content.See below to get available HeightAdjustMode - * @Default {content} - */ - heightAdjustMode?: string | ej.Tab.HeightAdjustMode; - - /** Specifies to hide a pane of Tab control. - * @Default {[]} - */ - hiddenItemIndex?: Array; - - /** Specifies the HTML Attributes of the Tab. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The idPrefix property appends the given string on the added tab item id’s in runtime. - * @Default {ej-tab-} - */ - idPrefix?: string; - - /** Specifies the Tab header in active for given index value. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Display the close button for each tab items. While clicking on the close icon, particular tab item will be removed. - * @Default {false} - */ - showCloseButton?: boolean; - - /** Display the Reload button for each tab items. - * @Default {false} - */ - showReloadIcon?: boolean; - - /** Tab panels and headers to be displayed in rounded corner style. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Set the width for outer panel element, if not it’s take parent width. - * @Default {null} - */ - width?: string|number; - - /** Triggered after a tab item activated. */ - itemActive? (e: ItemActiveEventArgs): void; - - /** Triggered before AJAX content has been loaded. */ - ajaxBeforeLoad? (e: AjaxBeforeLoadEventArgs): void; - - /** Triggered if error occurs in AJAX request. */ - ajaxError? (e: AjaxErrorEventArgs): void; - - /** Triggered after AJAX content load action. */ - ajaxLoad? (e: AjaxLoadEventArgs): void; - - /** Triggered after a tab item activated. */ - ajaxSuccess? (e: AjaxSuccessEventArgs): void; +export namespace Tab { + + export interface Model { + + /** Specifies the ajaxSettings option to load the content to the Tab control. + */ + ajaxSettings?: AjaxSettings; + + /** Tab items interaction with keyboard keys, like headers active navigation. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Allow to collapsing the active item, while click on the active header. + * @Default {false} + */ + collapsible?: boolean; + + /** Set the root class for Tab theme. This cssClass API helps to use custom skinning option for Tab control. + */ + cssClass?: string; + + /** Disables the given tab headers and content panels. + * @Default {[]} + */ + disabledItemIndex?: number[]; + + /** Specifies the animation behavior of the tab. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the tab control. + * @Default {true} + */ + enabled?: boolean; + + /** Enables the given tab headers and content panels. + * @Default {[]} + */ + enabledItemIndex?: number[]; + + /** Save current model value to browser cookies for state maintains. While refresh the Tab control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Display Right to Left direction for headers and panels text of tab. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specify to enable scrolling for Tab header. + * @Default {false} + */ + enableTabScroll?: boolean; + + /** The event API to bind the action for active the tab items. + * @Default {click} + */ + events?: string; + + /** Specifies the position of Tab header as top, bottom, left or right. See below to get available Position + * @Default {top} + */ + headerPosition?: string | ej.Tab.Position; + + /** Set the height of the tab header element. Default this property value is null, so height take content height. + * @Default {null} + */ + headerSize?: string | number; + + /** Height set the outer panel element. Default this property value is null, so height take content height. + * @Default {null} + */ + height?: string | number; + + /** Adjust the content panel height for given option (content, auto and fill), by default panels height adjust based on the content.See below to get available HeightAdjustMode + * @Default {content} + */ + heightAdjustMode?: string | ej.Tab.HeightAdjustMode; + + /** Specifies to hide a pane of Tab control. + * @Default {[]} + */ + hiddenItemIndex?: any[]; + + /** Specifies the HTML Attributes of the Tab. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The idPrefix property appends the given string on the added tab item id’s in runtime. + * @Default {ej-tab-} + */ + idPrefix?: string; + + /** Specifies the Tab header in active for given index value. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Display the close button for each tab items. While clicking on the close icon, particular tab item will be removed. + * @Default {false} + */ + showCloseButton?: boolean; + + /** Display the Reload button for each tab items. + * @Default {false} + */ + showReloadIcon?: boolean; + + /** Tab panels and headers to be displayed in rounded corner style. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Set the width for outer panel element, if not it’s take parent width. + * @Default {null} + */ + width?: string | number; + + /** Triggered after a tab item activated. */ + itemActive?(e: ItemActiveEventArgs): void; + + /** Triggered before AJAX content has been loaded. */ + ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; + + /** Triggered if error occurs in AJAX request. */ + ajaxError?(e: AjaxErrorEventArgs): void; + + /** Triggered after AJAX content load action. */ + ajaxLoad?(e: AjaxLoadEventArgs): void; + + /** Triggered after a tab item activated. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; - /** Triggered before a tab item activated. */ - beforeActive? (e: BeforeActiveEventArgs): void; + /** Triggered before a tab item activated. */ + beforeActive?(e: BeforeActiveEventArgs): void; - /** Triggered before a tab item remove. */ - beforeItemRemove? (e: BeforeItemRemoveEventArgs): void; - - /** Triggered before a tab item Create. */ - create? (e: CreateEventArgs): void; + /** Triggered before a tab item remove. */ + beforeItemRemove?(e: BeforeItemRemoveEventArgs): void; + + /** Triggered before a tab item Create. */ + create?(e: CreateEventArgs): void; - /** Triggered before a tab item destroy. */ - destroy? (e: DestroyEventArgs): void; + /** Triggered before a tab item destroy. */ + destroy?(e: DestroyEventArgs): void; - /** Triggered after new tab item add */ - itemAdd? (e: ItemAddEventArgs): void; + /** Triggered after new tab item add */ + itemAdd?(e: ItemAddEventArgs): void; - /** Triggered after tab item removed. */ - itemRemove? (e: ItemRemoveEventArgs): void; -} + /** Triggered after tab item removed. */ + itemRemove?(e: ItemRemoveEventArgs): void; + } -export interface ItemActiveEventArgs { + export interface ItemActiveEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; - /** returns previous active index. - */ - prevActiveIndex?: number; + /** returns previous active index. + */ + prevActiveIndex?: number; - /** returns current active tab header . - */ - activeHeader?: HTMLElement; + /** returns current active tab header . + */ + activeHeader?: HTMLElement; - /** returns current active index. - */ - activeIndex?: number; + /** returns current active index. + */ + activeIndex?: number; - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; -} + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } -export interface AjaxBeforeLoadEventArgs { + export interface AjaxBeforeLoadEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; - /** returns previous active index. - */ - prevActiveIndex?: number; + /** returns previous active index. + */ + prevActiveIndex?: number; - /** returns current active tab header . - */ - activeHeader?: HTMLElement; + /** returns current active tab header . + */ + activeHeader?: HTMLElement; - /** returns current active index. - */ - activeIndex?: number; + /** returns current active index. + */ + activeIndex?: number; - /** returns the URL of AJAX request - */ - URL?: string; + /** returns the URL of AJAX request + */ + URL?: string; - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; -} + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } -export interface AjaxErrorEventArgs { + export interface AjaxErrorEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns AJAX data details. - */ - data?: any; + /** returns AJAX data details. + */ + data?: any; - /** returns the URL of AJAX request. - */ - URL?: string; -} + /** returns the URL of AJAX request. + */ + URL?: string; + } -export interface AjaxLoadEventArgs { + export interface AjaxLoadEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; - /** returns previous active index. - */ - prevActiveIndex?: number; + /** returns previous active index. + */ + prevActiveIndex?: number; - /** returns current active tab header . - */ - activeHeader?: HTMLElement; + /** returns current active tab header . + */ + activeHeader?: HTMLElement; - /** returns current active index. - */ - activeIndex?: number; + /** returns current active index. + */ + activeIndex?: number; - /** returns the URL of AJAX request - */ - URL?: string; + /** returns the URL of AJAX request + */ + URL?: string; - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; -} + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } -export interface AjaxSuccessEventArgs { + export interface AjaxSuccessEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** return AJAX data. - */ - data?: any; + /** return AJAX data. + */ + data?: any; - /** returns AJAX URL - */ - URL?: string; + /** returns AJAX URL + */ + URL?: string; - /** returns content of AJAX request. - */ - content?: any; -} + /** returns content of AJAX request. + */ + content?: any; + } -export interface BeforeActiveEventArgs { + export interface BeforeActiveEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; - /** returns previous active index. - */ - prevActiveIndex?: number; + /** returns previous active index. + */ + prevActiveIndex?: number; - /** returns current active tab header . - */ - activeHeader?: HTMLElement; + /** returns current active tab header . + */ + activeHeader?: HTMLElement; - /** returns current active index. - */ - activeIndex?: number; + /** returns current active index. + */ + activeIndex?: number; - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; -} + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } -export interface BeforeItemRemoveEventArgs { + export interface BeforeItemRemoveEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns current tab item index - */ - index?: number; -} + /** returns current tab item index + */ + index?: number; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface ItemAddEventArgs { + export interface ItemAddEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns new added tab header. - */ - tabHeader?: HTMLElement; + /** returns new added tab header. + */ + tabHeader?: HTMLElement; - /** returns new added tab content panel. - */ - tabContent?: any; -} + /** returns new added tab content panel. + */ + tabContent?: any; + } -export interface ItemRemoveEventArgs { + export interface ItemRemoveEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the tab model. - */ - model?: ej.Tab.Model; + /** returns the tab model. + */ + model?: ej.Tab.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns removed tab header. - */ - removedTab?: HTMLElement; -} + /** returns removed tab header. + */ + removedTab?: HTMLElement; + } -export interface AjaxSettings { + export interface AjaxSettings { - /** It specifies, whether to enable or disable asynchronous request. - * @Default {true} - */ - async?: boolean; + /** It specifies, whether to enable or disable asynchronous request. + * @Default {true} + */ + async?: boolean; - /** It specifies the page will be cached in the web browser. - * @Default {false} - */ - cache?: boolean; + /** It specifies the page will be cached in the web browser. + * @Default {false} + */ + cache?: boolean; - /** It specifies the type of data is send in the query string. - * @Default {html} - */ - contentType?: string; + /** It specifies the type of data is send in the query string. + * @Default {html} + */ + contentType?: string; - /** It specifies the data as an object, will be passed in the query string. - * @Default {{}} - */ - data?: any; + /** It specifies the data as an object, will be passed in the query string. + * @Default {{}} + */ + data?: any; - /** It specifies the type of data that you're expecting back from the response. - * @Default {html} - */ - dataType?: string; + /** It specifies the type of data that you're expecting back from the response. + * @Default {html} + */ + dataType?: string; - /** It specifies the HTTP request type. - * @Default {get} - */ - type?: string; -} + /** It specifies the HTTP request type. + * @Default {get} + */ + type?: string; + } -enum Position{ + enum Position { - ///Tab headers display to top position - Top, + ///Tab headers display to top position + Top, - ///Tab headers display to bottom position - Bottom, + ///Tab headers display to bottom position + Bottom, - ///Tab headers display to left position. - Left, + ///Tab headers display to left position. + Left, - ///Tab headers display to right position. - Right -} + ///Tab headers display to right position. + Right + } -enum HeightAdjustMode{ + enum HeightAdjustMode { - ///string - None, + ///string + None, - ///string - Content, + ///string + Content, - ///string - Auto, + ///string + Auto, - ///string - Fill -} + ///string + Fill + } } class TagCloud extends ej.Widget { static fn: TagCloud; - constructor(element: JQuery, options?: TagCloud.Model); - constructor(element: Element, options?: TagCloud.Model); + constructor(element: JQuery | Element, options?: TagCloud.Model); static Locale: any; - model:TagCloud.Model; - defaults:TagCloud.Model; + model: TagCloud.Model; + defaults: TagCloud.Model; /** Inserts a new item into the TagCloud - * @param {string} Insert new item into the TagCloud - * @returns {void} - */ + * @param {string} Insert new item into the TagCloud + * @returns {void} + */ insert(name: string): void; /** Inserts a new item into the TagCloud at a particular position. - * @param {string} Inserts a new item into the TagCloud - * @param {number} Inserts a new item into the TagCloud with the specified position - * @returns {void} - */ + * @param {string} Inserts a new item into the TagCloud + * @param {number} Inserts a new item into the TagCloud with the specified position + * @returns {void} + */ insertAt(name: string, position: number): void; /** Removes the item from the TagCloud based on the name. It removes all the tags which have the corresponding name - * @param {string} name of the tag. - * @returns {void} - */ + * @param {string} name of the tag. + * @returns {void} + */ remove(name: string): void; /** Removes the item from the TagCloud based on the position. It removes the tags from the the corresponding position only. - * @param {number} position of tag item. - * @returns {void} - */ + * @param {number} position of tag item. + * @returns {void} + */ removeAt(position: number): void; } -export module TagCloud{ +export namespace TagCloud { -export interface Model { + export interface Model { - /** Specify the CSS class to button to achieve custom theme. - */ - cssClass?: string; + /** Specify the CSS class to button to achieve custom theme. + */ + cssClass?: string; - /** The dataSource contains the list of data to display in a cloud format. Each data contains a link URL, frequency to categorize the font size and a display text. - * @Default {null} - */ - dataSource?: any; + /** The dataSource contains the list of data to display in a cloud format. Each data contains a link URL, frequency to categorize the font size and a display text. + * @Default {null} + */ + dataSource?: any; - /** Sets the TagCloud and tag items direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; + /** Sets the TagCloud and tag items direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; - /** Defines the mapping fields for the data items of the TagCloud. - * @Default {null} - */ - fields?: Fields; + /** Defines the mapping fields for the data items of the TagCloud. + * @Default {null} + */ + fields?: Fields; - /** Specifies the list of HTML attributes to be added to TagCloud control. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the list of HTML attributes to be added to TagCloud control. + * @Default {{}} + */ + htmlAttributes?: any; - /** Defines the format for the TagCloud to display the tag items.See Format - * @Default {ej.Format.Cloud} - */ - format?: string|ej.Format; + /** Defines the format for the TagCloud to display the tag items.See Format + * @Default {ej.Format.Cloud} + */ + format?: string | ej.Format; - /** Sets the maximum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. - * @Default {40px} - */ - maxFontSize?: string|number; + /** Sets the maximum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. + * @Default {40px} + */ + maxFontSize?: string | number; - /** Sets the minimum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. - * @Default {10px} - */ - minFontSize?: string|number; + /** Sets the minimum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. + * @Default {10px} + */ + minFontSize?: string | number; - /** Define the query to retrieve the data from online server. The query is used only when the online dataSource is used. - * @Default {null} - */ - query?: any; + /** Define the query to retrieve the data from online server. The query is used only when the online dataSource is used. + * @Default {null} + */ + query?: any; - /** Shows or hides the TagCloud title. When this set to false, it hides the TagCloud header. - * @Default {true} - */ - showTitle?: boolean; + /** Shows or hides the TagCloud title. When this set to false, it hides the TagCloud header. + * @Default {true} + */ + showTitle?: boolean; - /** Sets the title image for the TagCloud. To show the title image, the showTitle property should be enabled. - * @Default {null} - */ - titleImage?: string; + /** Sets the title image for the TagCloud. To show the title image, the showTitle property should be enabled. + * @Default {null} + */ + titleImage?: string; - /** Sets the title text for the TagCloud. To show the title text, the showTitle property should be enabled. - * @Default {Title} - */ - titleText?: string; + /** Sets the title text for the TagCloud. To show the title text, the showTitle property should be enabled. + * @Default {Title} + */ + titleText?: string; - /** Event triggers when the TagCloud items are clicked */ - click? (e: ClickEventArgs): void; + /** Event triggers when the TagCloud items are clicked */ + click?(e: ClickEventArgs): void; - /** Event triggers when the TagCloud are created */ - create? (e: CreateEventArgs): void; + /** Event triggers when the TagCloud are created */ + create?(e: CreateEventArgs): void; - /** Event triggers when the TagCloud are destroyed */ - destroy? (e: DestroyEventArgs): void; + /** Event triggers when the TagCloud are destroyed */ + destroy?(e: DestroyEventArgs): void; - /** Event triggers when the cursor leaves out from a tag item */ - mouseout? (e: MouseoutEventArgs): void; + /** Event triggers when the cursor leaves out from a tag item */ + mouseout?(e: MouseoutEventArgs): void; - /** Event triggers when the cursor hovers on a tag item */ - mouseover? (e: MouseoverEventArgs): void; + /** Event triggers when the cursor hovers on a tag item */ + mouseover?(e: MouseoverEventArgs): void; + } + + export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface MouseoutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; + } + + export interface MouseoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; + } + + export interface Fields { + + /** Defines the frequency column number to categorize the font size. + */ + frequency?: string; + + /** Defines the HTML attributes column for the anchor elements inside the each tag items. + */ + htmlAttributes?: string; + + /** Defines the tag value or display text. + */ + text?: string; + + /** Defines the URL link to navigate while click the tag. + */ + url?: string; + } } - -export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface MouseoutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; -} - -export interface MouseoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; -} - -export interface Fields { - - /** Defines the frequency column number to categorize the font size. - */ - frequency?: string; - - /** Defines the HTML attributes column for the anchor elements inside the each tag items. - */ - htmlAttributes?: string; - - /** Defines the tag value or display text. - */ - text?: string; - - /** Defines the URL link to navigate while click the tag. - */ - url?: string; -} -} -enum Format -{ -//To render the TagCloud items in cloud format -Cloud, -//To render the TagCloud items in list format -List, +enum Format { + //To render the TagCloud items in cloud format + Cloud, + //To render the TagCloud items in list format + List, } class TimePicker extends ej.Widget { static fn: TimePicker; - constructor(element: JQuery, options?: TimePicker.Model); - constructor(element: Element, options?: TimePicker.Model); + constructor(element: JQuery | Element, options?: TimePicker.Model); static Locale: any; - model:TimePicker.Model; - defaults:TimePicker.Model; + model: TimePicker.Model; + defaults: TimePicker.Model; /** Allows you to disable the TimePicker. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Allows you to enable the TimePicker. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** It returns the current time value. - * @returns {string} - */ + * @returns {string} + */ getValue(): string; /** This method will hide the TimePicker control popup. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** Updates the current system time in TimePicker. - * @returns {void} - */ + * @returns {void} + */ setCurrentTime(): void; /** This method will show the TimePicker control popup. - * @returns {void} - */ + * @returns {void} + */ show(): void; } -export module TimePicker{ - -export interface Model { - - /** Sets the root CSS class for the TimePicker theme, which is used to customize. - */ - cssClass?: string; - - /** Specifies the list of time range to be disabled. - * @Default {{}} - */ - disableTimeRanges?: any; - - /** Specifies the animation behavior in TimePicker. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the TimePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the TimePicker control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the TimePicker as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** When the enableStrictMode is set as true it allows the value outside of the range and also indicate with red color border, otherwise it internally changed to the min or max range value based an input value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Defines the height of the TimePicker textbox. - */ - height?: string|number; - - /** Sets the step value for increment an hour value through arrow keys or mouse scroll. - * @Default {1} - */ - hourInterval?: number; - - /** It allows to define the characteristics of the TimePicker control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the time interval between the two adjacent time values in the popup. - * @Default {30} - */ - interval?: number; - - /** Defines the localization info used by the TimePicker. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum time value to the TimePicker. - * @Default {11:59:59 PM} - */ - maxTime?: string; - - /** Sets the minimum time value to the TimePicker. - * @Default {12:00:00 AM} - */ - minTime?: string; - - /** Sets the step value for increment the minute value through arrow keys or mouse scroll. - * @Default {1} - */ - minutesInterval?: number; - - /** Defines the height of the TimePicker popup. - * @Default {191px} - */ - popupHeight?: string|number; - - /** Defines the width of the TimePicker popup. - * @Default {auto} - */ - popupWidth?: string|number; - - /** Toggles the readonly state of the TimePicker. When the widget is readOnly, it doesn’t allow your input. - * @Default {false} - */ - readOnly?: boolean; - - /** Sets the step value for increment the seconds value through arrow keys or mouse scroll. - * @Default {1} - */ - secondsInterval?: number; - - /** shows or hides the drop down button in TimePicker. - * @Default {true} - */ - showPopupButton?: boolean; - - /** TimePicker is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Defines the time format displayed in the TimePicker. - * @Default {h:mm tt} - */ - timeFormat?: string; - - /** Sets a specified time value on the TimePicker. - * @Default {null} - */ - value?: string|Date; - - /** Defines the width of the TimePicker textbox. - */ - width?: string|number; - - /** Fires when the time value changed in the TimePicker. */ - beforeChange? (e: BeforeChangeEventArgs): void; - - /** Fires when the TimePicker popup before opened. */ - beforeOpen? (e: BeforeOpenEventArgs): void; +export namespace TimePicker { + + export interface Model { + + /** Sets the root CSS class for the TimePicker theme, which is used to customize. + */ + cssClass?: string; + + /** Specifies the list of time range to be disabled. + * @Default {{}} + */ + disableTimeRanges?: any; + + /** Specifies the animation behavior in TimePicker. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the TimePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the TimePicker control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the TimePicker as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** When the enableStrictMode is set as true it allows the value outside of the range and also indicate with red color border, + * otherwise it internally changed to the min or max range value based an input value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Defines the height of the TimePicker textbox. + */ + height?: string | number; + + /** Sets the step value for increment an hour value through arrow keys or mouse scroll. + * @Default {1} + */ + hourInterval?: number; + + /** It allows to define the characteristics of the TimePicker control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the time interval between the two adjacent time values in the popup. + * @Default {30} + */ + interval?: number; + + /** Defines the localization info used by the TimePicker. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum time value to the TimePicker. + * @Default {11:59:59 PM} + */ + maxTime?: string; + + /** Sets the minimum time value to the TimePicker. + * @Default {12:00:00 AM} + */ + minTime?: string; + + /** Sets the step value for increment the minute value through arrow keys or mouse scroll. + * @Default {1} + */ + minutesInterval?: number; + + /** Defines the height of the TimePicker popup. + * @Default {191px} + */ + popupHeight?: string | number; + + /** Defines the width of the TimePicker popup. + * @Default {auto} + */ + popupWidth?: string | number; + + /** Toggles the readonly state of the TimePicker + * @Default {false} + */ + readOnly?: boolean; + + /** Sets the step value for increment the seconds value through arrow keys or mouse scroll. + * @Default {1} + */ + secondsInterval?: number; + + /** shows or hides the drop down button in TimePicker. + * @Default {true} + */ + showPopupButton?: boolean; + + /** TimePicker is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Defines the time format displayed in the TimePicker. + * @Default {h:mm tt} + */ + timeFormat?: string; + + /** Sets a specified time value on the TimePicker. + * @Default {null} + */ + value?: string | Date; + + /** Defines the width of the TimePicker textbox. + */ + width?: string | number; + + /** Fires when the time value changed in the TimePicker. */ + beforeChange?(e: BeforeChangeEventArgs): void; + + /** Fires when the TimePicker popup before opened. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** Fires when the time value changed in the TimePicker. */ - change? (e: ChangeEventArgs): void; - - /** Fires when the TimePicker popup closed. */ - close? (e: CloseEventArgs): void; + /** Fires when the time value changed in the TimePicker. */ + change?(e: ChangeEventArgs): void; + + /** Fires when the TimePicker popup closed. */ + close?(e: CloseEventArgs): void; + + /** Fires when create TimePicker successfully. */ + create?(e: CreateEventArgs): void; - /** Fires when create TimePicker successfully. */ - create? (e: CreateEventArgs): void; + /** Fires when the TimePicker is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Fires when the TimePicker is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the TimePicker control gets focus. */ + focusIn?(e: FocusInEventArgs): void; - /** Fires when the TimePicker control gets focus. */ - focusIn? (e: FocusInEventArgs): void; + /** Fires when the TimePicker control get lost focus. */ + focusOut?(e: FocusOutEventArgs): void; - /** Fires when the TimePicker control get lost focus. */ - focusOut? (e: FocusOutEventArgs): void; + /** Fires when the TimePicker popup opened. */ + open?(e: OpenEventArgs): void; - /** Fires when the TimePicker popup opened. */ - open? (e: OpenEventArgs): void; + /** Fires when the value is selected from the TimePicker dropdown list. */ + select?(e: SelectEventArgs): void; + } - /** Fires when the value is selected from the TimePicker dropdown list. */ - select? (e: SelectEventArgs): void; -} + export interface BeforeChangeEventArgs { -export interface BeforeChangeEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; + /** returns the modified time value + */ + value?: string; + } - /** returns the modified time value - */ - value?: string; -} + export interface BeforeOpenEventArgs { -export interface BeforeOpenEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; + /** returns the time value + */ + value?: string; + } - /** returns the time value - */ - value?: string; -} + export interface ChangeEventArgs { -export interface ChangeEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns true when the value changed by user interaction otherwise returns false + */ + isInteraction?: boolean; - /** returns true when the value changed by user interaction otherwise returns false - */ - isInteraction?: boolean; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; + /** returns the modified time value + */ + value?: string; + } - /** returns the modified time value - */ - value?: string; -} + export interface CloseEventArgs { -export interface CloseEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; + /** returns the time value + */ + value?: string; + } - /** returns the time value - */ - value?: string; -} + export interface CreateEventArgs { -export interface CreateEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; + } - /** returns the name of the event - */ - type?: string; -} + export interface DestroyEventArgs { -export interface DestroyEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; + } - /** returns the name of the event - */ - type?: string; -} + export interface FocusInEventArgs { -export interface FocusInEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; + /** returns the current time value + */ + value?: string; + } - /** returns the current time value - */ - value?: string; -} + export interface FocusOutEventArgs { -export interface FocusOutEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; + /** returns the current time value + */ + value?: string; + } - /** returns the current time value - */ - value?: string; -} + export interface OpenEventArgs { -export interface OpenEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the time value + */ + value?: string; + } - /** returns the time value - */ - value?: string; -} + export interface SelectEventArgs { -export interface SelectEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; + /** returns the name of the event + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the previously selected time value + */ + prevTime?: string; - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the selected time value - */ - value?: string; -} + /** returns the selected time value + */ + value?: string; + } } class ToggleButton extends ej.Widget { static fn: ToggleButton; - constructor(element: JQuery, options?: ToggleButton.Model); - constructor(element: Element, options?: ToggleButton.Model); + constructor(element: JQuery | Element, options?: ToggleButton.Model); static Locale: any; - model:ToggleButton.Model; - defaults:ToggleButton.Model; + model: ToggleButton.Model; + defaults: ToggleButton.Model; /** Allows you to destroy the ToggleButton widget. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** To disable the ToggleButton to prevent all user interactions. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** To enable the ToggleButton. - * @returns {void} - */ + * @returns {void} + */ enable(): void; } -export module ToggleButton{ +export namespace ToggleButton { -export interface Model { + export interface Model { - /** Specify the icon in active state to the toggle button and it will be aligned from left margin of the button. - */ - activePrefixIcon?: string; + /** Specify the icon in active state to the toggle button and it will be aligned from left margin of the button. + */ + activePrefixIcon?: string; - /** Specify the icon in active state to the toggle button and it will be aligned from right margin of the button. - */ - activeSuffixIcon?: string; + /** Specify the icon in active state to the toggle button and it will be aligned from right margin of the button. + */ + activeSuffixIcon?: string; - /** Sets the text when ToggleButton is in active state i.e.,checked state. - * @Default {null} - */ - activeText?: string; + /** Sets the text when ToggleButton is in active state i.e.,checked state. + * @Default {null} + */ + activeText?: string; - /** Specifies the contentType of the ToggleButton. See ContentType as below - * @Default {ej.ContentType.TextOnly} - */ - contentType?: ej.ContentType|string; + /** Specifies the contentType of the ToggleButton. See ContentType as below + * @Default {ej.ContentType.TextOnly} + */ + contentType?: ej.ContentType | string; - /** Specify the CSS class to the ToggleButton to achieve custom theme. - */ - cssClass?: string; + /** Specify the CSS class to the ToggleButton to achieve custom theme. + */ + cssClass?: string; - /** Specify the icon in default state to the toggle button and it will be aligned from left margin of the button. - */ - defaultPrefixIcon?: string; + /** Specify the icon in default state to the toggle button and it will be aligned from left margin of the button. + */ + defaultPrefixIcon?: string; - /** Specify the icon in default state to the toggle button and it will be aligned from right margin of the button. - */ - defaultSuffixIcon?: string; + /** Specify the icon in default state to the toggle button and it will be aligned from right margin of the button. + */ + defaultSuffixIcon?: string; - /** Specifies the text of the ToggleButton, when the control is a default state. i.e., unChecked state. - * @Default {null} - */ - defaultText?: string; + /** Specifies the text of the ToggleButton, when the control is a default state. i.e., unChecked state. + * @Default {null} + */ + defaultText?: string; - /** Specifies the state of the ToggleButton. - * @Default {true} - */ - enabled?: boolean; + /** Specifies the state of the ToggleButton. + * @Default {true} + */ + enabled?: boolean; - /** Save current model value to browser cookies for maintaining states. When refreshing the ToggleButton control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; + /** Save current model value to browser cookies for maintaining states. When refreshing the ToggleButton control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; - /** Specify the Right to Left direction of the ToggleButton. - * @Default {false} - */ - enableRTL?: boolean; + /** Specify the Right to Left direction of the ToggleButton. + * @Default {false} + */ + enableRTL?: boolean; - /** Specifies the height of the ToggleButton. - * @Default {28pixel} - */ - height?: number|string; + /** Specifies the height of the ToggleButton. + * @Default {28pixel} + */ + height?: number | string; - /** It allows to define the characteristics of the ToggleButton control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; + /** It allows to define the characteristics of the ToggleButton control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the image position of the ToggleButton. - * @Default {ej.ImagePosition.ImageLeft} - */ - imagePosition?: ej.ImagePosition|string; + /** Specifies the image position of the ToggleButton. + * @Default {ej.ImagePosition.ImageLeft} + */ + imagePosition?: ej.ImagePosition | string; - /** Allows to prevents the control switched to checked (active) state. - * @Default {false} - */ - preventToggle?: boolean; + /** Allows to prevents the control switched to checked (active) state. + * @Default {false} + */ + preventToggle?: boolean; - /** Displays the ToggleButton with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** Displays the ToggleButton with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** Specifies the size of the ToggleButton. See ButtonSize as below - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize|string; + /** Specifies the size of the ToggleButton. See ButtonSize as below + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize | string; - /** It allows to define the ToggleButton state to checked(Active) or unchecked(Default) at initial time. - * @Default {false} - */ - toggleState?: boolean; + /** It allows to define the ToggleButton state to checked(Active) or unchecked(Default) at initial time. + * @Default {false} + */ + toggleState?: boolean; - /** Specifies the type of the ToggleButton. See ButtonType as below - * @Default {ej.ButtonType.Button} - */ - type?: ej.ButtonType|string; + /** Specifies the type of the ToggleButton. See ButtonType as below + * @Default {ej.ButtonType.Button} + */ + type?: ej.ButtonType | string; - /** Specifies the width of the ToggleButton. - * @Default {100pixel} - */ - width?: number|string; + /** Specifies the width of the ToggleButton. + * @Default {100pixel} + */ + width?: number | string; - /** Fires when ToggleButton control state is changed successfully. */ - change? (e: ChangeEventArgs): void; + /** Fires when ToggleButton control state is changed successfully. */ + change?(e: ChangeEventArgs): void; - /** Fires when ToggleButton control is clicked successfully. */ - click? (e: ClickEventArgs): void; + /** Fires when ToggleButton control is clicked successfully. */ + click?(e: ClickEventArgs): void; - /** Fires when ToggleButton control is created successfully. */ - create? (e: CreateEventArgs): void; + /** Fires when ToggleButton control is created successfully. */ + create?(e: CreateEventArgs): void; - /** Fires when ToggleButton control is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; -} + /** Fires when ToggleButton control is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** return the toggle button checked state - */ - isChecked?: boolean; + /** return the toggle button checked state + */ + isChecked?: boolean; - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface ClickEventArgs { + export interface ClickEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** return the toggle button checked state - */ - isChecked?: boolean; + /** return the toggle button checked state + */ + isChecked?: boolean; - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; - /** return the toggle button state - */ - status?: boolean; + /** return the toggle button state + */ + status?: boolean; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } } class Toolbar extends ej.Widget { static fn: Toolbar; - constructor(element: JQuery, options?: Toolbar.Model); - constructor(element: Element, options?: Toolbar.Model); + constructor(element: JQuery | Element, options?: Toolbar.Model); static Locale: any; - model:Toolbar.Model; - defaults:Toolbar.Model; + model: Toolbar.Model; + defaults: Toolbar.Model; /** Deselect the specified Toolbar item. - * @param {any} The element need to be deselected - * @returns {void} - */ + * @param {any} The element need to be deselected + * @returns {void} + */ deselectItem(element: any): void; /** Deselect the Toolbar item based on specified id. - * @param {string} The ID of the element need to be deselected - * @returns {void} - */ + * @param {string} The ID of the element need to be deselected + * @returns {void} + */ deselectItemByID(ID: string): void; /** Allows you to destroy the Toolbar widget. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** To disable all items in the Toolbar control. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Disable the specified Toolbar item. - * @param {any} The element need to be disabled - * @returns {void} - */ + * @param {any} The element need to be disabled + * @returns {void} + */ disableItem(element: any): void; /** Disable the Toolbar item based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be disabled - * @returns {void} - */ + * @param {string} The ID of the element need to be disabled + * @returns {void} + */ disableItemByID(ID: string): void; /** Enable the Toolbar if it is in disabled state. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Enable the Toolbar item based on specified item. - * @param {any} The element need to be enabled - * @returns {void} - */ + * @param {any} The element need to be enabled + * @returns {void} + */ enableItem(element: any): void; /** Enable the Toolbar item based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be enabled - * @returns {void} - */ + * @param {string} The ID of the element need to be enabled + * @returns {void} + */ enableItemByID(ID: string): void; /** To hide the Toolbar - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** Remove the item from toolbar, based on specified item. - * @param {any} The element need to be removed - * @returns {void} - */ + * @param {any} The element need to be removed + * @returns {void} + */ removeItem(element: any): void; /** Remove the item from toolbar, based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be removed - * @returns {void} - */ + * @param {string} The ID of the element need to be removed + * @returns {void} + */ removeItemByID(ID: string): void; /** Selects the item from toolbar, based on specified item. - * @param {any} The element need to be selected - * @returns {void} - */ + * @param {any} The element need to be selected + * @returns {void} + */ selectItem(element: any): void; /** Selects the item from toolbar, based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be selected - * @returns {void} - */ + * @param {string} The ID of the element need to be selected + * @returns {void} + */ selectItemByID(ID: string): void; /** To show the Toolbar. - * @returns {void} - */ + * @returns {void} + */ show(): void; } -export module Toolbar{ - -export interface Model { - - /** Sets the root CSS class for Toolbar control to achieve the custom theme. - */ - cssClass?: string; - - /** Specifies dataSource value for the Toolbar control during initialization. - * @Default {null} - */ - dataSource?: any; - - /** Disables an Item or set of Items that are enabled in the Toolbar - * @Default {[]} - */ - disabledItemIndices?: Array; - - /** Specifies the Toolbar control state. - * @Default {true} - */ - enabled?: boolean; +export namespace Toolbar { + + export interface Model { + + /** Sets the root CSS class for Toolbar control to achieve the custom theme. + */ + cssClass?: string; + + /** Specifies dataSource value for the Toolbar control during initialization. + * @Default {null} + */ + dataSource?: any; + + /** Disables an Item or set of Items that are enabled in the Toolbar + * @Default {[]} + */ + disabledItemIndices?: any[]; + + /** Specifies the Toolbar control state. + * @Default {true} + */ + enabled?: boolean; - /** Enables an Item or set of Items that are disabled in the Toolbar - * @Default {[]} - */ - enabledItemIndices?: Array; - - /** Specifies enableRTL property to align the Toolbar control from right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows to separate the each UL items in the Toolbar control. - * @Default {false} - */ - enableSeparator?: boolean; - - /** Specifies the mapping fields for the data items of the Toolbar - * @Default {null} - */ - fields?: string; - - /** Specifies the height of the Toolbar. - * @Default {28} - */ - height?: number|string; - - /** Specifies the list of HTML attributes to be added to toolbar control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies whether the Toolbar control is need to be show or hide. - * @Default {false} - */ - hide?: boolean; - - /** Enables/Disables the responsive support for Toolbar items during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; + /** Enables an Item or set of Items that are disabled in the Toolbar + * @Default {[]} + */ + enabledItemIndices?: any[]; + + /** Specifies enableRTL property to align the Toolbar control from right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows to separate the each UL items in the Toolbar control. + * @Default {false} + */ + enableSeparator?: boolean; + + /** Specifies the mapping fields for the data items of the Toolbar + * @Default {null} + */ + fields?: string; + + /** Specifies the height of the Toolbar. + * @Default {28} + */ + height?: number | string; + + /** Specifies the list of HTML attributes to be added to toolbar control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies whether the Toolbar control is need to be show or hide. + * @Default {false} + */ + hide?: boolean; + + /** Enables/Disables the responsive support for Toolbar items during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; - /** Specifies the items of Toolbar - * @Default {null} - */ - Items?: Items; - - /** Specifies the Toolbar orientation. See orientation - * @Default {Horizontal} - */ - orientation?: ej.Orientation|string; - - /** Specifies the query to retrieve the data from the online server. The query is used only when the online dataSource is used. - * @Default {null} - */ - query?: any; + /** Specifies the items of Toolbar + * @Default {null} + */ + Items?: Items; + + /** Specifies the Toolbar orientation. See orientation + * @Default {Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Specifies the query to retrieve the data from the online server. The query is used only when the online dataSource is used. + * @Default {null} + */ + query?: any; - /** Specifies the Toolbar responsive type. - * @Default {Popup} - */ - responsiveType?: ej.Toolbar.ResponsiveType|string; + /** Specifies the Toolbar responsive type. + * @Default {Popup} + */ + responsiveType?: ej.Toolbar.ResponsiveType | string; - /** Displays the Toolbar with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the width of the Toolbar. - */ - width?: number|string; + /** Displays the Toolbar with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the width of the Toolbar. + */ + width?: number | string; - /** Fires after Toolbar control is clicked. */ - click? (e: ClickEventArgs): void; + /** Fires after Toolbar control is clicked. */ + click?(e: ClickEventArgs): void; - /** Fires after Toolbar control is created. */ - create? (e: CreateEventArgs): void; + /** Fires after Toolbar control is created. */ + create?(e: CreateEventArgs): void; - /** Fires after Toolbar control is focused. */ - focusOut? (e: FocusOutEventArgs): void; + /** Fires after Toolbar control is focused. */ + focusOut?(e: FocusOutEventArgs): void; - /** Fires when the Toolbar is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the Toolbar is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Fires after Toolbar control item is hovered. */ - itemHover? (e: ItemHoverEventArgs): void; + /** Fires after Toolbar control item is hovered. */ + itemHover?(e: ItemHoverEventArgs): void; - /** Fires after mouse leave from Toolbar control item. */ - itemLeave? (e: ItemLeaveEventArgs): void; - - /** Fires when the overflow popup of toolbar is opened. */ - overflowOpen? (e: OverflowOpenEventArgs): void; + /** Fires after mouse leave from Toolbar control item. */ + itemLeave?(e: ItemLeaveEventArgs): void; + + /** Fires when the overflow popup of toolbar is opened. */ + overflowOpen?(e: OverflowOpenEventArgs): void; - /** Fires when the overflow popup of toolbar is closed. */ - overflowClose? (e: OverflowCloseEventArgs): void; -} + /** Fires when the overflow popup of toolbar is closed. */ + overflowClose?(e: OverflowCloseEventArgs): void; + } -export interface ClickEventArgs { + export interface ClickEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the target of the current object. - */ - target?: any; + /** returns the target of the current object. + */ + target?: any; - /** returns the target of the current object. - */ - currentTarget?: any; + /** returns the target of the current object. + */ + currentTarget?: any; - /** return the Toolbar state - */ - status?: boolean; -} + /** return the Toolbar state + */ + status?: boolean; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface FocusOutEventArgs { + export interface FocusOutEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface ItemHoverEventArgs { + export interface ItemHoverEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the target of the current object. - */ - target?: any; + /** returns the target of the current object. + */ + target?: any; - /** returns the target of the current object. - */ - currentTarget?: any; + /** returns the target of the current object. + */ + currentTarget?: any; - /** return the Toolbar state - */ - status?: boolean; -} + /** return the Toolbar state + */ + status?: boolean; + } -export interface ItemLeaveEventArgs { + export interface ItemLeaveEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the target of the current object. - */ - target?: any; + /** returns the target of the current object. + */ + target?: any; - /** returns the target of the current object. - */ - currentTarget?: any; + /** returns the target of the current object. + */ + currentTarget?: any; - /** return the Toolbar state - */ - status?: boolean; -} + /** return the Toolbar state + */ + status?: boolean; + } -export interface OverflowOpenEventArgs { + export interface OverflowOpenEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** Returns the current X position of the target . - */ - clientX?: number; + /** Returns the current X position of the target . + */ + clientX?: number; - /** Returns the current Y position of the target . - */ - clientY?: number; + /** Returns the current Y position of the target . + */ + clientY?: number; - /** returns the target of the current object. - */ - currentTarget?: any; -} + /** returns the target of the current object. + */ + currentTarget?: any; + } -export interface OverflowCloseEventArgs { + export interface OverflowCloseEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** Returns the current X position of the target . - */ - clientX?: number; + /** Returns the current X position of the target . + */ + clientX?: number; - /** Returns the current Y position of the target . - */ - clientY?: number; + /** Returns the current Y position of the target . + */ + clientY?: number; - /** returns the target of the current object. - */ - currentTarget?: any; -} + /** returns the target of the current object. + */ + currentTarget?: any; + } -export interface Fields { + export interface Fields { - /** Defines the group name for the item. - */ - group?: string; + /** Defines the group name for the item. + */ + group?: string; - /** Defines the HTML attributes such as id, class, styles for the item to extend the capability. - */ - htmlAttributes?: any; + /** Defines the HTML attributes such as id, class, styles for the item to extend the capability. + */ + htmlAttributes?: any; - /** Defines id for the tag. - */ - id?: string; + /** Defines id for the tag. + */ + id?: string; - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; - /** Defines the imageURL for the image location. - */ - imageUrl?: string; + /** Defines the imageURL for the image location. + */ + imageUrl?: string; - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; - /** Defines the text content for the tag. - */ - text?: string; + /** Defines the text content for the tag. + */ + text?: string; - /** Defines the tooltip text for the tag. - */ - tooltipText?: string; + /** Defines the tooltip text for the tag. + */ + tooltipText?: string; - /** Allows you to add template as toolbar item - */ - template?: string; -} + /** Allows you to add template as toolbar item + */ + template?: string; + } -export interface Items { + export interface Items { - /** Defines the group name for the item. - */ - group?: string; + /** Defines the group name for the item. + */ + group?: string; - /** Defines the HTML attributes such as id, class, styles for the item . - */ - htmlAttributes?: any; + /** Defines the HTML attributes such as id, class, styles for the item . + */ + htmlAttributes?: any; - /** Defines id for the tag. - */ - id?: string; + /** Defines id for the tag. + */ + id?: string; - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; - /** Defines the imageURL for the image location. - */ - imageUrl?: string; + /** Defines the imageURL for the image location. + */ + imageUrl?: string; - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; - /** Defines the text content for the tag. - */ - text?: string; + /** Defines the text content for the tag. + */ + text?: string; - /** Defines the tooltip text for the tag. - */ - tooltipText?: string; + /** Defines the tooltip text for the tag. + */ + tooltipText?: string; - /** Allows to add template as toolbar item. - */ - template?: string; -} + /** Allows to add template as toolbar item. + */ + template?: string; + } -enum ResponsiveType{ + enum ResponsiveType { - ///To display the toolbar overflow items as popup - Popup, + ///To display the toolbar overflow items as popup + Popup, - ///To display the toolbar overflow items as inline toolbar - Inline -} + ///To display the toolbar overflow items as inline toolbar + Inline + } } class TreeView extends ej.Widget { static fn: TreeView; - constructor(element: JQuery, options?: TreeView.Model); - constructor(element: Element, options?: TreeView.Model); + constructor(element: JQuery | Element, options?: TreeView.Model); static Locale: any; - model:TreeView.Model; - defaults:TreeView.Model; + model: TreeView.Model; + defaults: TreeView.Model; /** To add a Node or collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - addNode(newNodeText: string|any, target: string|any): void; + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + addNode(newNodeText: string | any, target: string | any): void; /** To add a collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {any|Array} New node details in JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - addNodes(collection: any|Array, target: string|any): void; + * @param {any|Array} New node details in JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + addNodes(collection: any | any[], target: string | any): void; /** To check all the nodes in TreeView. - * @returns {void} - */ + * @returns {void} + */ checkAll(): void; /** To check a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - checkNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + checkNode(element: string | any | any[]): void; - /** This method is used to collapse all nodes in TreeView control. If you want to collapse all nodes up to the specific level in TreeView control then we need to pass levelUntil as argument to this method. - * @param {number} TreeView nodes will collapse until the given level - * @param {boolean} Weather exclude the hidden nodes of TreeView while collapse all nodes - * @returns {void} - */ + /** This method is used to collapse all nodes in TreeView control. If you want to collapse all nodes up to the specific level in + * TreeView control then we need to pass levelUntil as argument to this method. + * @param {number} TreeView nodes will collapse until the given level + * @param {boolean} Weather exclude the hidden nodes of TreeView while collapse all nodes + * @returns {void} + */ collapseAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; /** To collapse a particular node in TreeView. - * @param {string|any|Array} ID of TreeView node|object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - collapseNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node|object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + collapseNode(element: string | any | any[]): void; /** To disable the node in the TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - disableNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + disableNode(element: string | any | any[]): void; /** To enable the node in the TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - enableNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + enableNode(element: string | any | any[]): void; /** To ensure that the TreeView node is visible in the TreeView. This method is useful if we need select a TreeView node dynamically. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - ensureVisible(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + ensureVisible(element: string | any): boolean; - /** This method is used to expand all nodes in TreeView control. If you want to expand all nodes up to the specific level in TreeView control then we need to pass levelUntil as argument to this method. - * @param {number} TreeView nodes will expand until the given level - * @param {boolean} Weather exclude the hidden nodes of TreeView while expand all nodes - * @returns {void} - */ + /** This method is used to expand all nodes in TreeView control. If you want to expand all nodes up to the specific level in TreeView control + * then we need to pass levelUntil as argument to this method. + * @param {number} TreeView nodes will expand until the given level + * @param {boolean} Weather exclude the hidden nodes of TreeView while expand all nodes + * @returns {void} + */ expandAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; /** To expandNode particular node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - expandNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + expandNode(element: string | any | any[]): void; /** To get currently checked nodes in TreeView. - * @returns {any} - */ + * @returns {any} + */ getCheckedNodes(): any; /** To get currently checked nodes indexes in TreeView. - * @returns {Array} - */ - getCheckedNodesIndex(): Array; + * @returns {Array} + */ + getCheckedNodesIndex(): any[]; - /** This method is used to get immediate child nodes of a node in TreeView control. If you want to get the all child nodes include nested child nodes then we need to pass includeNestedChild as true along with element arguments to this method. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {boolean} Weather include nested child nodes of TreeView node - * @returns {Array} - */ - getChildren(element: string|any, includeNestedChild?: boolean): Array; + /** This method is used to get immediate child nodes of a node in TreeView control. If you want to get the all child nodes include nested + * child nodes then we need to pass includeNestedChild as true along with element arguments to this method. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {boolean} Weather include nested child nodes of TreeView node + * @returns {Array} + */ + getChildren(element: string | any, includeNestedChild?: boolean): any[]; /** To get number of nodes in TreeView. - * @returns {number} - */ + * @returns {number} + */ getNodeCount(): number; /** To get currently expanded nodes in TreeView. - * @returns {any} - */ + * @returns {any} + */ getExpandedNodes(): any; /** To get currently expanded nodes indexes in TreeView. - * @returns {Array} - */ - getExpandedNodesIndex(): Array; + * @returns {Array} + */ + getExpandedNodesIndex(): any[]; /** To get TreeView node by using index position in TreeView. - * @param {number} Index position of TreeView node - * @returns {any} - */ + * @param {number} Index position of TreeView node + * @returns {any} + */ getNodeByIndex(index: number): any; /** To get TreeView node data such as id, text, parentId, selected, checked, expanded, level, childes and index. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {any} - */ - getNode(element: string|any): any; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {any} + */ + getNode(element: string | any): any; /** To get current index position of TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {number} - */ - getNodeIndex(element: string|any): number; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {number} + */ + getNodeIndex(element: string | any): number; /** To get immediate parent TreeView node of particular TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {any} - */ - getParent(element: string|any): any; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {any} + */ + getParent(element: string | any): any; /** To get the currently selected node in TreeView. - * @returns {any} - */ + * @returns {any} + */ getSelectedNode(): any; /** To get the currently selected nodes in TreeView. - * @returns {Array} - */ - getSelectedNodes(): Array; + * @returns {Array} + */ + getSelectedNodes(): any[]; /** To get the index position of currently selected node in TreeView. - * @returns {number} - */ + * @returns {number} + */ getSelectedNodeIndex(): number; /** To get the index positions of currently selected nodes in TreeView. - * @returns {Array} - */ - getSelectedNodesIndex(): Array; + * @returns {Array} + */ + getSelectedNodesIndex(): any[]; /** To get the text of a node in TreeView. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {string} - */ - getText(element: string|any): string; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {string} + */ + getText(element: string | any): string; /** To get the updated datasource of TreeView after performing some operation like drag and drop, node editing, adding and removing node. - * @param {string|number} ID of TreeView node - * @returns {Array} - */ - getTreeData(id?: string|number): Array; + * @param {string|number} ID of TreeView node + * @returns {Array} + */ + getTreeData(id?: string | number): any[]; /** To get currently visible nodes in TreeView. - * @returns {any} - */ + * @returns {any} + */ getVisibleNodes(): any; /** To check a node having child or not. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - hasChildNode(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + hasChildNode(element: string | any): boolean; /** To show nodes in TreeView. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** To hide particular node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - hideNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + hideNode(element: string | any | any[]): void; /** To add a Node or collection of nodes after the particular TreeView node. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - insertAfter(newNodeText: string|any, target: string|any): void; + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + insertAfter(newNodeText: string | any, target: string | any): void; /** To add a Node or collection of nodes before the particular TreeView node. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - insertBefore(newNodeText: string|any, target: string|any): void; + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + insertBefore(newNodeText: string | any, target: string | any): void; /** To check the given TreeView node is checked or unchecked. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isNodeChecked(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isNodeChecked(element: string | any): boolean; /** To check whether the child nodes are loaded of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isChildLoaded(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isChildLoaded(element: string | any): boolean; /** To check the given TreeView node is disabled or enabled. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isDisabled(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isDisabled(element: string | any): boolean; /** To check the given node is exist in TreeView. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isExist(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isExist(element: string | any): boolean; /** To get the expand status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isExpanded(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isExpanded(element: string | any): boolean; /** To get the select status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isSelected(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isSelected(element: string | any): boolean; /** To get the visibility status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isVisible(element: string|any): boolean; + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isVisible(element: string | any): boolean; /** To load the TreeView nodes from the particular URL. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {string} URL location, the data returned from the URL will be loaded in TreeView - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - loadData(URL: string, target: string|any): void; + * @param {string} URL location, the data returned from the URL will be loaded in TreeView + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + loadData(URL: string, target: string | any): void; /** To move the TreeView node with in same TreeView. The new position of given TreeView node will be based on destination node and index position. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {number} New index position of given source node - * @returns {void} - */ - moveNode(sourceNode: string|any, destinationNode: string|any, index: number): void; + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {number} New index position of given source node + * @returns {void} + */ + moveNode(sourceNode: string | any, destinationNode: string | any, index: number): void; /** To refresh the TreeView - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** To remove all the nodes in TreeView. - * @returns {void} - */ + * @returns {void} + */ removeAll(): void; /** To remove a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - removeNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + removeNode(element: string | any | any[]): void; /** To select all the TreeView nodes when enable allowMultiSelection property. - * @returns {void} - */ + * @returns {void} + */ selectAll(): void; /** This method is used to select a node in TreeView control. If you want to select the collection of nodes in TreeView control then we need to enable allowMultiSelection property. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes - * @returns {void} - */ - selectNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes + * @returns {void} + */ + selectNode(element: string | any | any[]): void; /** To show nodes in TreeView. - * @returns {void} - */ + * @returns {void} + */ show(): void; /** To show a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - showNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + showNode(element: string | any | any[]): void; /** To uncheck all the nodes in TreeView. - * @returns {void} - */ + * @returns {void} + */ unCheckAll(): void; /** To uncheck a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - uncheckNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + uncheckNode(element: string | any | any[]): void; /** To unselect all the TreeView nodes when enable allowMultiSelection property. - * @returns {void} - */ + * @returns {void} + */ unselectAll(): void; /** This method is used to unselect a node in TreeView control. If you want to unselect the collection of nodes in TreeView control then we need to enable allowMultiSelection property. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes - * @returns {void} - */ - unselectNode(element: string|any|Array): void; + * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes + * @returns {void} + */ + unselectNode(element: string | any | any[]): void; /** To edit or update the text of the TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {string} New text - * @returns {void} - */ - updateText(target: string|any, newText: string): void; + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {string} New text + * @returns {void} + */ + updateText(target: string | any, newText: string): void; } -export module TreeView{ +export namespace TreeView { -export interface Model { + export interface Model { - /** Gets or sets a value that indicates whether to enable drag and drop a node within the same tree. - * @Default {false} - */ - allowDragAndDrop?: boolean; + /** Gets or sets a value that indicates whether to enable drag and drop a node within the same tree. + * @Default {false} + */ + allowDragAndDrop?: boolean; - /** Gets or sets a value that indicates whether to enable drag and drop a node in inter ej.TreeView. - * @Default {true} - */ - allowDragAndDropAcrossControl?: boolean; + /** Gets or sets a value that indicates whether to enable drag and drop a node in inter ej.TreeView. + * @Default {true} + */ + allowDragAndDropAcrossControl?: boolean; - /** Gets or sets a value that indicates whether to drop a node to a sibling of particular node. - * @Default {true} - */ - allowDropSibling?: boolean; + /** Gets or sets a value that indicates whether to drop a node to a sibling of particular node. + * @Default {true} + */ + allowDropSibling?: boolean; - /** Gets or sets a value that indicates whether to drop a node to a child of particular node. - * @Default {true} - */ - allowDropChild?: boolean; + /** Gets or sets a value that indicates whether to drop a node to a child of particular node. + * @Default {true} + */ + allowDropChild?: boolean; - /** Gets or sets a value that indicates whether to enable node editing support for TreeView. - * @Default {false} - */ - allowEditing?: boolean; + /** Gets or sets a value that indicates whether to enable node editing support for TreeView. + * @Default {false} + */ + allowEditing?: boolean; - /** Gets or sets a value that indicates whether to enable keyboard support for TreeView actions like nodeSelection, nodeEditing, nodeExpand, nodeCollapse, nodeCut and Paste. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; + /** Gets or sets a value that indicates whether to enable keyboard support for TreeView actions like nodeSelection, nodeEditing, nodeExpand, nodeCollapse, nodeCut and Paste. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; - /** Gets or sets a value that indicates whether to enable multi selection support for TreeView. - * @Default {false} - */ - allowMultiSelection?: boolean; + /** Gets or sets a value that indicates whether to enable multi selection support for TreeView. + * @Default {false} + */ + allowMultiSelection?: boolean; - /** Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node. - * @Default {true} - */ - autoCheck?: boolean; + /** Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node. + * @Default {true} + */ + autoCheck?: boolean; - /** Allow us to specify the parent node to be retain in checked or unchecked state instead of going for indeterminate state. - * @Default {false} - */ - autoCheckParentNode?: boolean; + /** Allow us to specify the parent node to be retain in checked or unchecked state instead of going for indeterminate state. + * @Default {false} + */ + autoCheckParentNode?: boolean; - /** Gets or sets a value that indicates the checkedNodes index collection as an array. The given array index position denotes the nodes, that are checked while rendering TreeView. - * @Default {[]} - */ - checkedNodes?: Array; + /** Gets or sets a value that indicates the checkedNodes index collection as an array. The given array index position denotes the nodes, that are checked while rendering TreeView. + * @Default {[]} + */ + checkedNodes?: any[]; - /** Sets the root CSS class for TreeView which allow us to customize the appearance. - */ - cssClass?: string; + /** Sets the root CSS class for TreeView which allow us to customize the appearance. + */ + cssClass?: string; - /** Gets or sets a value that indicates whether to enable or disable the animation effect while expanding or collapsing a node. - * @Default {true} - */ - enableAnimation?: boolean; + /** Gets or sets a value that indicates whether to enable or disable the animation effect while expanding or collapsing a node. + * @Default {true} + */ + enableAnimation?: boolean; - /** Gets or sets a value that indicates whether a TreeView can be enabled or disabled. No actions can be performed while this property is set as false - * @Default {true} - */ - enabled?: boolean; + /** Gets or sets a value that indicates whether a TreeView can be enabled or disabled. No actions can be performed while this property is set as false + * @Default {true} + */ + enabled?: boolean; - /** Allow us to prevent multiple nodes to be in expanded state. If it set to false, previously expanded node will be collapsed automatically, while we expand a node. - * @Default {true} - */ - enableMultipleExpand?: boolean; + /** Allow us to prevent multiple nodes to be in expanded state. If it set to false, previously expanded node will be collapsed automatically, while we expand a node. + * @Default {true} + */ + enableMultipleExpand?: boolean; - /** Sets a value that indicates whether to persist the TreeView model state in page using applicable medium i.e., HTML5 localStorage or cookies - * @Default {false} - */ - enablePersistence?: boolean; + /** Sets a value that indicates whether to persist the TreeView model state in page using applicable medium i.e., HTML5 localStorage or cookies + * @Default {false} + */ + enablePersistence?: boolean; - /** Gets or sets a value that indicates to align content in the TreeView control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; + /** Gets or sets a value that indicates to align content in the TreeView control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; - /** Gets or sets a array of value that indicates the expandedNodes index collection as an array. The given array index position denotes the nodes, that are expanded while rendering TreeView. - * @Default {[]} - */ - expandedNodes?: Array; + /** Gets or sets a array of value that indicates the expandedNodes index collection as an array. The given array index position denotes the nodes, that are expanded while rendering TreeView. + * @Default {[]} + */ + expandedNodes?: any[]; - /** Gets or sets a value that indicates the TreeView node can be expand or collapse by using the specified action. - * @Default {dblclick} - */ - expandOn?: string; + /** Gets or sets a value that indicates the TreeView node can be expand or collapse by using the specified action. + * @Default {dblclick} + */ + expandOn?: string; - /** Gets or sets a fields object that allow us to map the data members with field properties in order to make the data binding easier. - * @Default {null} - */ - fields?: Fields; + /** Gets or sets a fields object that allow us to map the data members with field properties in order to make the data binding easier. + * @Default {null} + */ + fields?: Fields; - /** Gets or sets a value that indicates whether to enable full row selection support for TreeView. - * @Default {false} - */ - fullRowSelect?: boolean; + /** Gets or sets a value that indicates whether to enable full row selection support for TreeView. + * @Default {false} + */ + fullRowSelect?: boolean; - /** Defines the height of the TreeView. - * @Default {Null} - */ - height?: string|number; + /** Defines the height of the TreeView. + * @Default {Null} + */ + height?: string | number; - /** Specifies the HTML Attributes for the TreeView. Using this API we can add custom attributes in TreeView control. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the HTML Attributes for the TreeView. Using this API we can add custom attributes in TreeView control. + * @Default {{}} + */ + htmlAttributes?: any; - /** Specifies the child nodes to be loaded on demand - * @Default {false} - */ - loadOnDemand?: boolean; + /** Specifies the child nodes to be loaded on demand + * @Default {false} + */ + loadOnDemand?: boolean; - /** Gets or Sets a value that indicates the index position of a tree node. The particular index tree node will be selected while rendering the TreeView. - * @Default {-1} - */ - selectedNode?: number; + /** Gets or Sets a value that indicates the index position of a tree node. The particular index tree node will be selected while rendering the TreeView. + * @Default {-1} + */ + selectedNode?: number; - /** Gets or sets a value that indicates the selectedNodes index collection as an array. The given array index position denotes the nodes, that are selected while rendering TreeView. - * @Default {[]} - */ - selectedNodes?: Array; + /** Gets or sets a value that indicates the selectedNodes index collection as an array. The given array index position denotes the nodes, that are selected while rendering TreeView. + * @Default {[]} + */ + selectedNodes?: any[]; - /** Gets or sets a value that indicates whether to display or hide checkbox for all TreeView nodes. - * @Default {false} - */ - showCheckbox?: boolean; + /** Gets or sets a value that indicates whether to display or hide checkbox for all TreeView nodes. + * @Default {false} + */ + showCheckbox?: boolean; - /** By using sortSettings property, you can customize the sorting option in TreeView control. - */ - sortSettings?: SortSettings; + /** By using sortSettings property, you can customize the sorting option in TreeView control. + */ + sortSettings?: SortSettings; - /** Allow us to use custom template in order to create TreeView. - * @Default {null} - */ - template?: string; + /** Allow us to use custom template in order to create TreeView. + * @Default {null} + */ + template?: string; - /** Defines the width of the TreeView. - * @Default {Null} - */ - width?: string|number; + /** Defines the width of the TreeView. + * @Default {Null} + */ + width?: string | number; - /** Fires before adding node to TreeView. */ - beforeAdd? (e: BeforeAddEventArgs): void; + /** Fires before adding node to TreeView. */ + beforeAdd?(e: BeforeAddEventArgs): void; - /** Fires before collapse a node. */ - beforeCollapse? (e: BeforeCollapseEventArgs): void; + /** Fires before collapse a node. */ + beforeCollapse?(e: BeforeCollapseEventArgs): void; - /** Fires before cut node in TreeView. */ - beforeCut? (e: BeforeCutEventArgs): void; + /** Fires before cut node in TreeView. */ + beforeCut?(e: BeforeCutEventArgs): void; - /** Fires before deleting node in TreeView. */ - beforeDelete? (e: BeforeDeleteEventArgs): void; + /** Fires before deleting node in TreeView. */ + beforeDelete?(e: BeforeDeleteEventArgs): void; - /** Fires before editing the node in TreeView. */ - beforeEdit? (e: BeforeEditEventArgs): void; + /** Fires before editing the node in TreeView. */ + beforeEdit?(e: BeforeEditEventArgs): void; - /** Fires before expanding the node. */ - beforeExpand? (e: BeforeExpandEventArgs): void; + /** Fires before expanding the node. */ + beforeExpand?(e: BeforeExpandEventArgs): void; - /** Fires before loading nodes to TreeView. */ - beforeLoad? (e: BeforeLoadEventArgs): void; + /** Fires before loading nodes to TreeView. */ + beforeLoad?(e: BeforeLoadEventArgs): void; - /** Fires before paste node in TreeView. */ - beforePaste? (e: BeforePasteEventArgs): void; + /** Fires before paste node in TreeView. */ + beforePaste?(e: BeforePasteEventArgs): void; - /** Fires before selecting node in TreeView. */ - beforeSelect? (e: BeforeSelectEventArgs): void; + /** Fires before selecting node in TreeView. */ + beforeSelect?(e: BeforeSelectEventArgs): void; - /** Fires when TreeView created successfully. */ - create? (e: CreateEventArgs): void; + /** Fires when TreeView created successfully. */ + create?(e: CreateEventArgs): void; - /** Fires when TreeView destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when TreeView destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; - /** Fires before nodeEdit Successful. */ - inlineEditValidation? (e: InlineEditValidationEventArgs): void; + /** Fires before nodeEdit Successful. */ + inlineEditValidation?(e: InlineEditValidationEventArgs): void; - /** Fires when key pressed successfully. */ - keyPress? (e: KeyPressEventArgs): void; + /** Fires when key pressed successfully. */ + keyPress?(e: KeyPressEventArgs): void; - /** Fires when data load fails. */ - loadError? (e: LoadErrorEventArgs): void; + /** Fires when data load fails. */ + loadError?(e: LoadErrorEventArgs): void; - /** Fires when data loaded successfully. */ - loadSuccess? (e: LoadSuccessEventArgs): void; + /** Fires when data loaded successfully. */ + loadSuccess?(e: LoadSuccessEventArgs): void; - /** Fires once node added successfully. */ - nodeAdd? (e: NodeAddEventArgs): void; + /** Fires once node added successfully. */ + nodeAdd?(e: NodeAddEventArgs): void; - /** Fires once node checked successfully. */ - nodeCheck? (e: NodeCheckEventArgs): void; + /** Fires once node checked successfully. */ + nodeCheck?(e: NodeCheckEventArgs): void; - /** Fires when node clicked successfully. */ - nodeClick? (e: NodeClickEventArgs): void; + /** Fires when node clicked successfully. */ + nodeClick?(e: NodeClickEventArgs): void; - /** Fires when node collapsed successfully. */ - nodeCollapse? (e: NodeCollapseEventArgs): void; + /** Fires when node collapsed successfully. */ + nodeCollapse?(e: NodeCollapseEventArgs): void; - /** Fires when node cut successfully. */ - nodeCut? (e: NodeCutEventArgs): void; + /** Fires when node cut successfully. */ + nodeCut?(e: NodeCutEventArgs): void; - /** Fires when node deleted successfully. */ - nodeDelete? (e: NodeDeleteEventArgs): void; + /** Fires when node deleted successfully. */ + nodeDelete?(e: NodeDeleteEventArgs): void; - /** Fires when node dragging. */ - nodeDrag? (e: NodeDragEventArgs): void; + /** Fires when node dragging. */ + nodeDrag?(e: NodeDragEventArgs): void; - /** Fires once node drag start successfully. */ - nodeDragStart? (e: NodeDragStartEventArgs): void; + /** Fires once node drag start successfully. */ + nodeDragStart?(e: NodeDragStartEventArgs): void; - /** Fires before the dragged node to be dropped. */ - nodeDragStop? (e: NodeDragStopEventArgs): void; + /** Fires before the dragged node to be dropped. */ + nodeDragStop?(e: NodeDragStopEventArgs): void; - /** Fires once node dropped successfully. */ - nodeDropped? (e: NodeDroppedEventArgs): void; + /** Fires once node dropped successfully. */ + nodeDropped?(e: NodeDroppedEventArgs): void; - /** Fires once node edited successfully. */ - nodeEdit? (e: NodeEditEventArgs): void; + /** Fires once node edited successfully. */ + nodeEdit?(e: NodeEditEventArgs): void; - /** Fires once node expanded successfully. */ - nodeExpand? (e: NodeExpandEventArgs): void; + /** Fires once node expanded successfully. */ + nodeExpand?(e: NodeExpandEventArgs): void; - /** Fires once node pasted successfully. */ - nodePaste? (e: NodePasteEventArgs): void; + /** Fires once node pasted successfully. */ + nodePaste?(e: NodePasteEventArgs): void; - /** Fires when node selected successfully. */ - nodeSelect? (e: NodeSelectEventArgs): void; + /** Fires when node selected successfully. */ + nodeSelect?(e: NodeSelectEventArgs): void; - /** Fires once node unchecked successfully. */ - nodeUncheck? (e: NodeUncheckEventArgs): void; + /** Fires once node unchecked successfully. */ + nodeUncheck?(e: NodeUncheckEventArgs): void; - /** Fires once node unselected successfully. */ - nodeUnselect? (e: NodeUnselectEventArgs): void; + /** Fires once node unselected successfully. */ + nodeUnselect?(e: NodeUnselectEventArgs): void; - /** Fires when TreeView nodes are loaded successfully */ - ready? (e: ReadyEventArgs): void; + /** Fires when TreeView nodes are loaded successfully */ + ready?(e: ReadyEventArgs): void; + } + + export interface BeforeAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the given new node data + */ + data?: string | any; + + /** returns the parent element, the given new nodes to be appended to the given parent element + */ + targetParent?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + } + + export interface BeforeCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the child nodes are loaded or not + */ + isChildLoaded?: boolean; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface BeforeCutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be cut + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface BeforeDeleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be deleted + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the current parent element of the target node + */ + parentElement?: any; + + /** returns the parent node values + */ + parentDetails?: any; + + /** returns the currently removed nodes + */ + removedNodes?: any[]; + } + + export interface BeforeEditEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + } + + export interface BeforeExpandEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** if the child node is ready to expanded state; otherwise, false. + */ + isChildLoaded?: boolean; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface BeforeLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the AJAX settings object + */ + AjaxOptions?: any; + } + + export interface BeforePasteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be pasted + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface BeforeSelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element, the given node to be selected + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface InlineEditValidationEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the new entered text for the node + */ + newText?: string; + + /** returns the current node element id + */ + id?: any; + + /** returns the old node text + */ + oldText?: string; + } + + export interface KeyPressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns node path from root element + */ + path?: string; + + /** returns the key pressed key code value + */ + keyCode?: number; + + /** it returns when the current node is in expanded state; otherwise, false. + */ + isExpanded?: boolean; + + /** returns the id of current TreeView node + */ + id?: string; + + /** returns the parentId of current TreeView node + */ + parentId?: string; + } + + export interface LoadErrorEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the AJAX error object + */ + error?: any; + } + + export interface LoadSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the success data from the URL + */ + data?: any; + + /** returns the target parent element, the data returned from the URL to be appended to the given parent element, else in TreeView + */ + targetParent?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + } + + export interface NodeAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the added data, that are given initially + */ + data?: any; + + /** returns the newly added elements + */ + nodes?: any; + + /** returns the target parent element of the added element + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + } + + export interface NodeCheckEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns the id of the current element of the node clicked + */ + id?: string; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** it returns true when the node checkbox is checked; otherwise, false. + */ + isChecked?: boolean; + + /** it returns the currently checked node name + */ + currentNode?: any[]; + + /** it returns the currently checked and its child node details + */ + currentCheckedNodes?: any[]; + } + + export interface NodeClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked TreeView node + */ + id?: string; + + /** returns the parentId of currently clicked TreeView node + */ + parentId?: string; + } + + export interface NodeCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the id of the current element of the node clicked + */ + id?: string; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: string; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the child nodes are loaded or not + */ + isChildLoaded?: boolean; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface NodeCutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current parent element of the cut node + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface NodeDeleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current parent element of the deleted node + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + + /** returns the currently removed nodes + */ + removedNodes?: any[]; + } + + export interface NodeDragEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drag target + */ + dragTarget?: any; + + /** returns the current target TreeView node + */ + target?: any; + + /** returns the current target details + */ + targetElementData?: any; + + /** returns the current parent element of the target node + */ + draggedElement?: any; + + /** returns the given parent node details + */ + draggedElementData?: any; + + /** returns the event object + */ + event?: any; + } + + export interface NodeDragStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drag target + */ + dragTarget?: any; + + /** returns the current dragging parent TreeView node + */ + parentElement?: any; + + /** returns the current dragging parent TreeView node details + */ + parentElementData?: any; + + /** returns the current parent element of the dragging node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the event object + */ + event?: any; + } + + export interface NodeDragStopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drop target + */ + dropTarget?: any; + + /** returns the current dragged TreeView node + */ + draggedElement?: any; + + /** returns the current dragged TreeView node details + */ + draggedElementData?: any; + + /** returns the current parent element of the dragged node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the drop position such as before, after or over + */ + position?: string; + + /** returns the event object + */ + event?: any; + } + + export interface NodeDroppedEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drop target + */ + dropTarget?: any; + + /** returns the current dropped TreeView node + */ + droppedElement?: any; + + /** returns the current dropped TreeView node details + */ + droppedElementData?: any; + + /** returns the current parent element of the dropped node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the drop position such as before, after or over + */ + position?: string; + + /** returns the event object + */ + event?: any; + } + + export interface NodeEditEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the element + */ + id?: string; + + /** returns the oldText of the element + */ + oldText?: string; + + /** returns the newText of the element + */ + newText?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be cut + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + } + + export interface NodeExpandEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** if the child node is ready to expanded state; otherwise, false. + */ + isChildLoaded?: boolean; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface NodePasteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the pasted element + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface NodeSelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the current element of the node clicked + */ + id?: any; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: any; + + /** returns the current selected nodes index of TreeView + */ + selectedNodes?: any[]; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + } + + export interface NodeUncheckEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the id of the current element of the node clicked + */ + id?: any; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** it returns true when the node checkbox is checked; otherwise, false. + */ + isChecked?: boolean; + + /** it returns currently unchecked node name + */ + currentNode?: string; + + /** it returns currently unchecked node and its child node details. + */ + currentUncheckedNodes?: any[]; + } + + export interface NodeUnselectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the current element of the node unselected + */ + currentElement?: any; + + /** returns the id of the current element of the node unselected + */ + id?: string; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the id of the parent element of current element of the node unselected + */ + parentId?: string; + + /** returns the current selected nodes index of TreeView + */ + selectedNodes?: any[]; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + } + + export interface ReadyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface Fields { + + /** It receives the child level or inner level data source such as Essential DataManager object and JSON object. + */ + child?: any; + + /** It receives Essential DataManager object and JSON object. + */ + dataSource?: any; + + /** Specifies the node to be in expanded state. + */ + expanded?: string; + + /** Its allow us to indicate whether the node has child or not in load on demand + */ + hasChild?: string; + + /** Specifies the HTML Attributes to "li" item list. + */ + htmlAttribute?: any; + + /** Specifies the id to TreeView node items list. + */ + id?: string; + + /** Specifies the image attribute to “img” tag inside items list + */ + imageAttribute?: any; + + /** Specifies the HTML Attributes to "li" item list. + */ + imageUrl?: string; + + /** If its true Checkbox node will be checked when rendered with checkbox. + */ + isChecked?: string; + + /** Specifies the link attribute to “a” tag in item list. + */ + linkAttribute?: any; + + /** Specifies the parent id of the node. The nodes are listed as child nodes of the specified parent node by using its parent id. + */ + parentId?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + */ + query?: any; + + /** Allow us to specify the node to be in selected state + */ + selected?: string; + + /** Specifies the sprite CSS class to "li" item list. + */ + spriteCssClass?: string; + + /** It receives the table name to execute query on the corresponding table. + */ + tableName?: string; + + /** Specifies the text of TreeView node items list. + */ + text?: string; + } + + export interface SortSettings { + + /** Enables or disables the sorting option in TreeView control + * @Default {false} + */ + allowSorting?: boolean; + + /** Sets the sorting order type. There are two sorting types available, such as "ascending", "descending". + * @Default {ej.sortOrder.Ascending} + */ + sortOrder?: ej.sortOrder | string; + } } - -export interface BeforeAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the given new node data - */ - data?: string|any; - - /** returns the parent element, the given new nodes to be appended to the given parent element - */ - targetParent?: any; - - /** returns the given parent node details - */ - parentDetails?: any; -} - -export interface BeforeCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the child nodes are loaded or not - */ - isChildLoaded?: boolean; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; -} - -export interface BeforeCutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be cut - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; -} - -export interface BeforeDeleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be deleted - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the current parent element of the target node - */ - parentElement?: any; - - /** returns the parent node values - */ - parentDetails?: any; - - /** returns the currently removed nodes - */ - removedNodes?: Array; -} - -export interface BeforeEditEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; -} - -export interface BeforeExpandEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** if the child node is ready to expanded state; otherwise, false. - */ - isChildLoaded?: boolean; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; -} - -export interface BeforeLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the AJAX settings object - */ - AjaxOptions?: any; -} - -export interface BeforePasteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be pasted - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; -} - -export interface BeforeSelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element, the given node to be selected - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface InlineEditValidationEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the new entered text for the node - */ - newText?: string; - - /** returns the current node element id - */ - id?: any; - - /** returns the old node text - */ - oldText?: string; -} - -export interface KeyPressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns node path from root element - */ - path?: string; - - /** returns the key pressed key code value - */ - keyCode?: number; - - /** it returns when the current node is in expanded state; otherwise, false. - */ - isExpanded?: boolean; - - /** returns the id of current TreeView node - */ - id?: string; - - /** returns the parentId of current TreeView node - */ - parentId?: string; -} - -export interface LoadErrorEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the AJAX error object - */ - error?: any; -} - -export interface LoadSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the success data from the URL - */ - data?: any; - - /** returns the target parent element, the data returned from the URL to be appended to the given parent element, else in TreeView - */ - targetParent?: any; - - /** returns the given parent node details - */ - parentDetails?: any; -} - -export interface NodeAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the added data, that are given initially - */ - data?: any; - - /** returns the newly added elements - */ - nodes?: any; - - /** returns the target parent element of the added element - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; -} - -export interface NodeCheckEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns the id of the current element of the node clicked - */ - id?: string; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** it returns true when the node checkbox is checked; otherwise, false. - */ - isChecked?: boolean; - - /** it returns the currently checked node name - */ - currentNode?: Array; - - /** it returns the currently checked and its child node details - */ - currentCheckedNodes?: Array; -} - -export interface NodeClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked TreeView node - */ - id?: string; - - /** returns the parentId of currently clicked TreeView node - */ - parentId?: string; -} - -export interface NodeCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the id of the current element of the node clicked - */ - id?: string; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: string; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the child nodes are loaded or not - */ - isChildLoaded?: boolean; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; -} - -export interface NodeCutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current parent element of the cut node - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; -} - -export interface NodeDeleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current parent element of the deleted node - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - - /** returns the currently removed nodes - */ - removedNodes?: Array; -} - -export interface NodeDragEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drag target - */ - dragTarget?: any; - - /** returns the current target TreeView node - */ - target?: any; - - /** returns the current target details - */ - targetElementData?: any; - - /** returns the current parent element of the target node - */ - draggedElement?: any; - - /** returns the given parent node details - */ - draggedElementData?: any; - - /** returns the event object - */ - event?: any; -} - -export interface NodeDragStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drag target - */ - dragTarget?: any; - - /** returns the current dragging parent TreeView node - */ - parentElement?: any; - - /** returns the current dragging parent TreeView node details - */ - parentElementData?: any; - - /** returns the current parent element of the dragging node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the event object - */ - event?: any; -} - -export interface NodeDragStopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drop target - */ - dropTarget?: any; - - /** returns the current dragged TreeView node - */ - draggedElement?: any; - - /** returns the current dragged TreeView node details - */ - draggedElementData?: any; - - /** returns the current parent element of the dragged node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the drop position such as before, after or over - */ - position?: string; - - /** returns the event object - */ - event?: any; -} - -export interface NodeDroppedEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drop target - */ - dropTarget?: any; - - /** returns the current dropped TreeView node - */ - droppedElement?: any; - - /** returns the current dropped TreeView node details - */ - droppedElementData?: any; - - /** returns the current parent element of the dropped node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the drop position such as before, after or over - */ - position?: string; - - /** returns the event object - */ - event?: any; -} - -export interface NodeEditEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the element - */ - id?: string; - - /** returns the oldText of the element - */ - oldText?: string; - - /** returns the newText of the element - */ - newText?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be cut - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; -} - -export interface NodeExpandEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** if the child node is ready to expanded state; otherwise, false. - */ - isChildLoaded?: boolean; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; -} - -export interface NodePasteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the pasted element - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; -} - -export interface NodeSelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the current element of the node clicked - */ - id?: any; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: any; - - /** returns the current selected nodes index of TreeView - */ - selectedNodes?: Array; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; -} - -export interface NodeUncheckEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the id of the current element of the node clicked - */ - id?: any; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** it returns true when the node checkbox is checked; otherwise, false. - */ - isChecked?: boolean; - - /** it returns currently unchecked node name - */ - currentNode?: string; - - /** it returns currently unchecked node and its child node details. - */ - currentUncheckedNodes?: Array; -} - -export interface NodeUnselectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the current element of the node unselected - */ - currentElement?: any; - - /** returns the id of the current element of the node unselected - */ - id?: string; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the id of the parent element of current element of the node unselected - */ - parentId?: string; - - /** returns the current selected nodes index of TreeView - */ - selectedNodes?: Array; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; -} - -export interface ReadyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface Fields { - - /** It receives the child level or inner level data source such as Essential DataManager object and JSON object. - */ - child?: any; - - /** It receives Essential DataManager object and JSON object. - */ - dataSource?: any; - - /** Specifies the node to be in expanded state. - */ - expanded?: string; - - /** Its allow us to indicate whether the node has child or not in load on demand - */ - hasChild?: string; - - /** Specifies the HTML Attributes to "li" item list. - */ - htmlAttribute?: any; - - /** Specifies the id to TreeView node items list. - */ - id?: string; - - /** Specifies the image attribute to “img” tag inside items list - */ - imageAttribute?: any; - - /** Specifies the HTML Attributes to "li" item list. - */ - imageUrl?: string; - - /** If its true Checkbox node will be checked when rendered with checkbox. - */ - isChecked?: string; - - /** Specifies the link attribute to “a” tag in item list. - */ - linkAttribute?: any; - - /** Specifies the parent id of the node. The nodes are listed as child nodes of the specified parent node by using its parent id. - */ - parentId?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - */ - query?: any; - - /** Allow us to specify the node to be in selected state - */ - selected?: string; - - /** Specifies the sprite CSS class to "li" item list. - */ - spriteCssClass?: string; - - /** It receives the table name to execute query on the corresponding table. - */ - tableName?: string; - - /** Specifies the text of TreeView node items list. - */ - text?: string; -} - -export interface SortSettings { - - /** Enables or disables the sorting option in TreeView control - * @Default {false} - */ - allowSorting?: boolean; - - /** Sets the sorting order type. There are two sorting types available, such as "ascending", "descending". - * @Default {ej.sortOrder.Ascending} - */ - sortOrder?: ej.sortOrder|string; -} -} -enum sortOrder -{ -//Enum for Ascending sort order -Ascending, -//Enum for Descending sort order -Descending, +enum sortOrder { + //Enum for Ascending sort order + Ascending, + //Enum for Descending sort order + Descending, } class Uploadbox extends ej.Widget { static fn: Uploadbox; - constructor(element: JQuery, options?: Uploadbox.Model); - constructor(element: Element, options?: Uploadbox.Model); + constructor(element: JQuery | Element, options?: Uploadbox.Model); static Locale: any; - model:Uploadbox.Model; - defaults:Uploadbox.Model; + model: Uploadbox.Model; + defaults: Uploadbox.Model; /** The destroy method destroys the control and brings the control to a pre-init state. All the events of the Upload control is bound by using this._on unbinds automatically. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Disables the Uploadbox control - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Enables the Uploadbox control - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Refresh the Uploadbox control - * @returns {void} - */ + * @returns {void} + */ refresh(): void; } -export module Uploadbox{ - -export interface Model { - - /** Enables the file drag and drop support to the Uploadbox control. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Uploadbox supports both synchronous and asynchronous upload. This can be achieved by using the asyncUpload property. - * @Default {true} - */ - asyncUpload?: boolean; - - /** Uploadbox supports auto uploading of files after the file selection is done. - * @Default {false} - */ - autoUpload?: boolean; - - /** Sets the text for each action button. - * @Default {{browse: Browse, upload: Upload, cancel: Cancel, close: Close}} - */ - buttonText?: ButtonText; - - /** Sets the root class for the Uploadbox control theme. This cssClass API helps to use custom skinning option for the Uploadbox button and dialog content. - */ - cssClass?: string; - - /** Specifies the custom file details in the dialog popup on initialization. - * @Default {{ title:true, name:true, size:true, status:true, action:true}} - */ - customFileDetails?: CustomFileDetails; - - /** Specifies the actions for dialog popup while initialization. - * @Default {{ modal:false, closeOnComplete:false, content:null, drag:true}} - */ - dialogAction?: DialogAction; - - /** Displays the Uploadbox dialog at the given X and Y positions. X: Dialog sets the left position value. Y: Dialog sets the top position value. - * @Default {null} - */ - dialogPosition?: any; - - /** Property for applying the text to the Dialog title and content headers. - * @Default {{ title: Upload Box, name: Name, size: Size, status: Status}} - */ - dialogText?: DialogText; - - /** The dropAreaText is displayed when the drag and drop support is enabled in the Uploadbox control. - * @Default {Drop files or click to upload} - */ - dropAreaText?: string; - - /** Specifies the dropAreaHeight when the drag and drop support is enabled in the Uploadbox control. - * @Default {100%} - */ - dropAreaHeight?: number|string; - - /** Specifies the dropAreaWidth when the drag and drop support is enabled in the Uploadbox control. - * @Default {100%} - */ - dropAreaWidth?: number|string; - - /** Based on the property value, Uploadbox is enabled or disabled. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the right-to-left direction property for the Uploadbox control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Only the files with the specified extension is allowed to upload. This is mentioned in the string format. - */ - extensionsAllow?: string; - - /** Only the files with the specified extension is denied for upload. This is mentioned in the string format. - */ - extensionsDeny?: string; - - /** Sets the maximum size limit for uploading the file. This is mentioned in the number format. - * @Default {31457280} - */ - fileSize?: number; - - /** Sets the height of the browse button. - * @Default {35px} - */ - height?: string; - - /** Specifies the list of HTML attributes to be added to uploadbox control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Configures the culture data and sets the culture to the Uploadbox. - * @Default {en-US} - */ - locale?: string; - - /** Enables multiple file selection for upload. - * @Default {true} - */ - multipleFilesSelection?: boolean; - - /** You can push the file to the Uploadbox in the client-side of the XHR supported browsers alone. - * @Default {null} - */ - pushFile?: any; - - /** Specifies the remove action to be performed after the file uploading is completed. Here, mention the server address for removal. - */ - removeUrl?: string; - - /** Specifies the save action to be performed after the file is pushed for uploading. Here, mention the server address to be saved. - */ - saveUrl?: string; - - /** Enables the browse button support to the Uploadbox control. - * @Default {true} - */ - showBrowseButton?: boolean; - - /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. - * @Default {true} - */ - showFileDetails?: boolean; - - /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. - * @Default {true} - */ - showRoundedCorner?: boolean; - - /** Sets the name for the Uploadbox control. This API helps to Map the action in code behind to retrieve the files. - */ - uploadName?: string; +export namespace Uploadbox { + + export interface Model { + + /** Enables the file drag and drop support to the Uploadbox control. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Uploadbox supports both synchronous and asynchronous upload. This can be achieved by using the asyncUpload property. + * @Default {true} + */ + asyncUpload?: boolean; + + /** Uploadbox supports auto uploading of files after the file selection is done. + * @Default {false} + */ + autoUpload?: boolean; + + /** Sets the text for each action button. + * @Default {{browse: Browse, upload: Upload, cancel: Cancel, close: Close}} + */ + buttonText?: ButtonText; + + /** Sets the root class for the Uploadbox control theme. This cssClass API helps to use custom skinning option for the Uploadbox button and dialog content. + */ + cssClass?: string; + + /** Specifies the custom file details in the dialog popup on initialization. + * @Default {{ title:true, name:true, size:true, status:true, action:true}} + */ + customFileDetails?: CustomFileDetails; + + /** Specifies the actions for dialog popup while initialization. + * @Default {{ modal:false, closeOnComplete:false, content:null, drag:true}} + */ + dialogAction?: DialogAction; + + /** Displays the Uploadbox dialog at the given X and Y positions. X: Dialog sets the left position value. Y: Dialog sets the top position value. + * @Default {null} + */ + dialogPosition?: any; + + /** Property for applying the text to the Dialog title and content headers. + * @Default {{ title: Upload Box, name: Name, size: Size, status: Status}} + */ + dialogText?: DialogText; + + /** The dropAreaText is displayed when the drag and drop support is enabled in the Uploadbox control. + * @Default {Drop files or click to upload} + */ + dropAreaText?: string; + + /** Specifies the dropAreaHeight when the drag and drop support is enabled in the Uploadbox control. + * @Default {100%} + */ + dropAreaHeight?: number | string; + + /** Specifies the dropAreaWidth when the drag and drop support is enabled in the Uploadbox control. + * @Default {100%} + */ + dropAreaWidth?: number | string; + + /** Based on the property value, Uploadbox is enabled or disabled. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the right-to-left direction property for the Uploadbox control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Only the files with the specified extension is allowed to upload. This is mentioned in the string format. + */ + extensionsAllow?: string; + + /** Only the files with the specified extension is denied for upload. This is mentioned in the string format. + */ + extensionsDeny?: string; + + /** Sets the maximum size limit for uploading the file. This is mentioned in the number format. + * @Default {31457280} + */ + fileSize?: number; + + /** Sets the height of the browse button. + * @Default {35px} + */ + height?: string; + + /** Specifies the list of HTML attributes to be added to uploadbox control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Configures the culture data and sets the culture to the Uploadbox. + * @Default {en-US} + */ + locale?: string; + + /** Enables multiple file selection for upload. + * @Default {true} + */ + multipleFilesSelection?: boolean; + + /** You can push the file to the Uploadbox in the client-side of the XHR supported browsers alone. + * @Default {null} + */ + pushFile?: any; + + /** Specifies the remove action to be performed after the file uploading is completed. Here, mention the server address for removal. + */ + removeUrl?: string; + + /** Specifies the save action to be performed after the file is pushed for uploading. Here, mention the server address to be saved. + */ + saveUrl?: string; + + /** Enables the browse button support to the Uploadbox control. + * @Default {true} + */ + showBrowseButton?: boolean; + + /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. + * @Default {true} + */ + showFileDetails?: boolean; + + /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. + * @Default {true} + */ + showRoundedCorner?: boolean; + + /** Sets the name for the Uploadbox control. This API helps to Map the action in code behind to retrieve the files. + */ + uploadName?: string; - /** Sets the width of the browse button. - * @Default {100px} - */ - width?: string; + /** Sets the width of the browse button. + * @Default {100px} + */ + width?: string; - /** Fires when the upload progress beforeSend. */ - beforeSend? (e: BeforeSendEventArgs): void; + /** Fires when the upload progress beforeSend. */ + beforeSend?(e: BeforeSendEventArgs): void; - /** Fires when the upload progress begins. */ - begin? (e: BeginEventArgs): void; + /** Fires when the upload progress begins. */ + begin?(e: BeginEventArgs): void; - /** Fires when the upload progress is cancelled. */ - cancel? (e: CancelEventArgs): void; + /** Fires when the upload progress is cancelled. */ + cancel?(e: CancelEventArgs): void; - /** Fires when the file upload progress is completed. */ - complete? (e: CompleteEventArgs): void; + /** Fires when the file upload progress is completed. */ + complete?(e: CompleteEventArgs): void; - /** Fires when the file upload progress is succeeded. */ - success? (e: SuccessEventArgs): void; + /** Fires when the file upload progress is succeeded. */ + success?(e: SuccessEventArgs): void; - /** Fires when the Uploadbox control is created. */ - create? (e: CreateEventArgs): void; + /** Fires when the Uploadbox control is created. */ + create?(e: CreateEventArgs): void; - /** Fires when the Uploadbox control is destroyed. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the Uploadbox control is destroyed. */ + destroy?(e: DestroyEventArgs): void; - /** Fires when the Upload process ends in Error. */ - error? (e: ErrorEventArgs): void; + /** Fires when the Upload process ends in Error. */ + error?(e: ErrorEventArgs): void; - /** Fires when the file is selected for upload successfully. */ - fileSelect? (e: FileSelectEventArgs): void; + /** Fires when the file is selected for upload successfully. */ + fileSelect?(e: FileSelectEventArgs): void; - /** Fires when the file is uploading. */ - inProgress? (e: InProgressEventArgs): void; + /** Fires when the file is uploading. */ + inProgress?(e: InProgressEventArgs): void; - /** Fires when the uploaded file is removed successfully. */ - remove? (e: RemoveEventArgs): void; -} + /** Fires when the uploaded file is removed successfully. */ + remove?(e: RemoveEventArgs): void; + } -export interface BeforeSendEventArgs { + export interface BeforeSendEventArgs { - /** Selected FileList Object. - */ - files?: any; + /** Selected FileList Object. + */ + files?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** XHR-AJAX Object for reference. - */ - xhr?: any; + /** XHR-AJAX Object for reference. + */ + xhr?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface BeginEventArgs { + export interface BeginEventArgs { - /** To pass additional information to the server. - */ - data?: any; + /** To pass additional information to the server. + */ + data?: any; - /** Selected FileList Object. - */ - files?: any; + /** Selected FileList Object. + */ + files?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface CancelEventArgs { + export interface CancelEventArgs { - /** Canceled FileList Object. - */ - fileStatus?: any; + /** Canceled FileList Object. + */ + fileStatus?: any; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface CompleteEventArgs { + export interface CompleteEventArgs { - /** AJAX event argument for reference. - */ - e?: any; + /** AJAX event argument for reference. + */ + e?: any; - /** Uploaded file list. - */ - files?: any; + /** Uploaded file list. + */ + files?: any; - /** response from the server. - */ - responseText?: string; + /** response from the server. + */ + responseText?: string; - /** XHR-AJAX Object for reference. - */ - xhr?: any; + /** XHR-AJAX Object for reference. + */ + xhr?: any; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface SuccessEventArgs { + export interface SuccessEventArgs { - /** response from the server. - */ - responseText?: string; + /** response from the server. + */ + responseText?: string; - /** AJAX event argument for reference. - */ - e?: any; + /** AJAX event argument for reference. + */ + e?: any; - /** successfully uploaded files list. - */ - success?: any; + /** successfully uploaded files list. + */ + success?: any; - /** Uploaded file list. - */ - files?: any; + /** Uploaded file list. + */ + files?: any; - /** XHR-AJAX Object for reference. - */ - xhr?: any; + /** XHR-AJAX Object for reference. + */ + xhr?: any; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface ErrorEventArgs { + export interface ErrorEventArgs { - /** details about the error information. - */ - error?: string; + /** details about the error information. + */ + error?: string; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** error event action details. - */ - action?: string; + /** error event action details. + */ + action?: string; - /** returns the file details of the file uploaded - */ - files?: any; -} + /** returns the file details of the file uploaded + */ + files?: any; + } -export interface FileSelectEventArgs { + export interface FileSelectEventArgs { - /** returns Selected FileList objects - */ - files?: any; + /** returns Selected FileList objects + */ + files?: any; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface InProgressEventArgs { + export interface InProgressEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** AJAX event argument for reference. - */ - e?: any; + /** AJAX event argument for reference. + */ + e?: any; - /** returns Selected FileList objects - */ - files?: any; + /** returns Selected FileList objects + */ + files?: any; - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the current progress percentage. - */ - percentage?: any; + /** returns the current progress percentage. + */ + percentage?: any; - /** returns the name of the event. - */ - type?: string; -} + /** returns the name of the event. + */ + type?: string; + } -export interface RemoveEventArgs { + export interface RemoveEventArgs { - /** returns the Uploadbox model - */ - model?: any; + /** returns the Uploadbox model + */ + model?: any; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the file details of the file object - */ - fileStatus?: any; -} + /** returns the file details of the file object + */ + fileStatus?: any; + } -export interface ButtonText { + export interface ButtonText { - /** Sets the text for the browse button. - */ - browse?: string; + /** Sets the text for the browse button. + */ + browse?: string; - /** Sets the text for the cancel button. - */ - cancel?: string; + /** Sets the text for the cancel button. + */ + cancel?: string; - /** Sets the text for the close button. - */ - Close?: string; + /** Sets the text for the close button. + */ + Close?: string; - /** Sets the text for the Upload button inside the dialog popup. - */ - upload?: string; -} + /** Sets the text for the Upload button inside the dialog popup. + */ + upload?: string; + } -export interface CustomFileDetails { + export interface CustomFileDetails { - /** Enables the file upload interactions like remove/cancel in File details of the dialog popup. - */ - action?: boolean; + /** Enables the file upload interactions like remove/cancel in File details of the dialog popup. + */ + action?: boolean; - /** Enables the name in the File details of the dialog popup. - */ - name?: boolean; + /** Enables the name in the File details of the dialog popup. + */ + name?: boolean; - /** Enables or disables the File size details of the dialog popup. - */ - size?: boolean; + /** Enables or disables the File size details of the dialog popup. + */ + size?: boolean; - /** Enables or disables the file uploading status visibility in the dialog file details content. - */ - status?: boolean; + /** Enables or disables the file uploading status visibility in the dialog file details content. + */ + status?: boolean; - /** Enables the title in File details for the dialog popup. - */ - title?: boolean; -} + /** Enables the title in File details for the dialog popup. + */ + title?: boolean; + } -export interface DialogAction { + export interface DialogAction { - /** Once uploaded successfully, the dialog popup closes immediately. - */ - closeOnComplete?: boolean; + /** Once uploaded successfully, the dialog popup closes immediately. + */ + closeOnComplete?: boolean; - /** Sets the content container option to the Uploadbox dialog popup. - */ - content?: string; + /** Sets the content container option to the Uploadbox dialog popup. + */ + content?: string; - /** Enables the drag option to the dialog popup. - */ - drag?: boolean; + /** Enables the drag option to the dialog popup. + */ + drag?: boolean; - /** Enables or disables the Uploadbox dialog’s modal property to the dialog popup. - */ - modal?: boolean; -} + /** Enables or disables the Uploadbox dialog’s modal property to the dialog popup. + */ + modal?: boolean; + } -export interface DialogText { + export interface DialogText { - /** Sets the uploaded file’s Name (header text) to the Dialog popup. - */ - name?: string; + /** Sets the uploaded file’s Name (header text) to the Dialog popup. + */ + name?: string; - /** Sets the upload file Size (header text) to the dialog popup. - */ - size?: string; + /** Sets the upload file Size (header text) to the dialog popup. + */ + size?: string; - /** Sets the upload file Status (header text) to the dialog popup. - */ - status?: string; + /** Sets the upload file Status (header text) to the dialog popup. + */ + status?: string; - /** Sets the title text of the dialog popup. - */ - title?: string; -} + /** Sets the title text of the dialog popup. + */ + title?: string; + } } class WaitingPopup extends ej.Widget { static fn: WaitingPopup; - constructor(element: JQuery, options?: WaitingPopup.Model); - constructor(element: Element, options?: WaitingPopup.Model); + constructor(element: JQuery | Element, options?: WaitingPopup.Model); static Locale: any; - model:WaitingPopup.Model; - defaults:WaitingPopup.Model; + model: WaitingPopup.Model; + defaults: WaitingPopup.Model; /** To hide the waiting popup - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** Refreshes the WaitingPopup control by resetting the pop-up panel position and content position - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** To show the waiting popup - * @returns {void} - */ + * @returns {void} + */ show(): void; } -export module WaitingPopup{ +export namespace WaitingPopup { -export interface Model { + export interface Model { - /** Sets the root class for the WaitingPopup control theme - * @Default {null} - */ - cssClass?: string; + /** Sets the root class for the WaitingPopup control theme + * @Default {null} + */ + cssClass?: string; - /** Specifies the list of HTML attributes to be added to waitingpopup control. - * @Default {{}} - */ - htmlAttributes?: any; + /** Specifies the list of HTML attributes to be added to waitingpopup control. + * @Default {{}} + */ + htmlAttributes?: any; - /** Enables or disables the default loading icon. - * @Default {true} - */ - showImage?: boolean; + /** Enables or disables the default loading icon. + * @Default {true} + */ + showImage?: boolean; - /** Enables the visibility of the WaitingPopup control - * @Default {false} - */ - showOnInit?: boolean; + /** Enables the visibility of the WaitingPopup control + * @Default {false} + */ + showOnInit?: boolean; - /** Specified a selector for elements, within the container. - * @Default {null} - */ - target?: string; + /** Specified a selector for elements, within the container. + * @Default {null} + */ + target?: string; - /** Waitingpopup element append to given container element. - * @Default {null} - */ - appendTo?: string; + /** Waitingpopup element append to given container element. + * @Default {null} + */ + appendTo?: string; - /** Loads HTML content inside the popup panel instead of the default icon - * @Default {null} - */ - template?: any; + /** Loads HTML content inside the popup panel instead of the default icon + * @Default {null} + */ + template?: any; - /** Sets the custom text in the pop-up panel to notify the waiting process - * @Default {null} - */ - text?: string; + /** Sets the custom text in the pop-up panel to notify the waiting process + * @Default {null} + */ + text?: string; - /** Fires after Create WaitingPopup successfully */ - create? (e: CreateEventArgs): void; + /** Fires after Create WaitingPopup successfully */ + create?(e: CreateEventArgs): void; - /** Fires after Destroy WaitingPopup successfully */ - destroy? (e: DestroyEventArgs): void; -} + /** Fires after Destroy WaitingPopup successfully */ + destroy?(e: DestroyEventArgs): void; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the WaitingPopup model - */ - model?: ej.WaitingPopup.Model; + /** returns the WaitingPopup model + */ + model?: ej.WaitingPopup.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the WaitingPopup model - */ - model?: ej.WaitingPopup.Model; + /** returns the WaitingPopup model + */ + model?: ej.WaitingPopup.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } } class Grid extends ej.Widget { static fn: Grid; - constructor(element: JQuery, options?: Grid.Model); - constructor(element: Element, options?: Grid.Model); + constructor(element: JQuery | Element, options?: Grid.Model); static Locale: any; - model:Grid.Model; - defaults:Grid.Model; + model: Grid.Model; + defaults: Grid.Model; /** Adds a grid model property which is to be ignored upon exporting. - * @param {Array} Pass the array of parameters which need to be ignored on exporting - * @returns {void} - */ - addIgnoreOnExport(propertyNames: Array): void; + * @param {Array} Pass the array of parameters which need to be ignored on exporting + * @returns {void} + */ + addIgnoreOnExport(propertyNames: any[]): void; /** Add a new record in grid control when allowAdding is set as true. - * @returns {void} - */ - addRecord(): void; + * @returns {void} + */ + //addRecord(): void; /** Add a new record in grid control when allowAdding is set as true. - * @param {Array} Pass the array of added Records - * @param {Array} optionalIf we pass serverChange as true, send post to server side for server action. - * @returns {void} - */ - addRecord(data: Array, serverChange?: Array): void; + * @param {Array} Pass the array of added Records + * @param {Array} optionalIf we pass serverChange as true, send post to server side for server action. + * @returns {void} + */ + addRecord(data: any[], serverChange?: any[]): void; /** Cancel the modified changes in grid control when edit mode is "batch". - * @returns {void} - */ + * @returns {void} + */ batchCancel(): void; /** Save the modified changes to data source in grid control when edit mode is "batch". - * @returns {void} - */ + * @returns {void} + */ batchSave(): void; /** Send a cancel request in grid. - * @returns {void} - */ + * @returns {void} + */ cancelEdit(): void; /** Send a cancel request to the edited cell in grid. - * @returns {void} - */ + * @returns {void} + */ cancelEditCell(): void; /** It is used to clear all the cell selection. - * @returns {Boolean} - */ - clearCellSelection(): Boolean; + * @returns {Boolean} + */ + clearCellSelection(): boolean; /** It is used to clear specified cell selection based on the rowIndex and columnIndex provided. - * @param {number} It is used to pass the row index of the cell - * @param {number} It is used to pass the column index of the cell. - * @returns {Boolean} - */ - clearCellSelection(rowIndex: number, columnIndex: number): Boolean; + * @param {number} It is used to pass the row index of the cell + * @param {number} It is used to pass the column index of the cell. + * @returns {Boolean} + */ + clearCellSelection(rowIndex: number, columnIndex: number): boolean; /** It is used to clear all the row selection or at specific row selection based on the index provided. - * @param {number} optional If index of the column is specified then it will remove the selection from the particular column else it will clears all of the column selection - * @returns {Boolean} - */ - clearColumnSelection(index?: number): Boolean; + * @param {number} optional If index of the column is specified then it will remove the selection from the particular column else it will clears all of the column selection + * @returns {Boolean} + */ + clearColumnSelection(index?: number): boolean; /** It is used to clear all the filtering done. - * @param {string} If field of the column is specified then it will clear the particular filtering column - * @returns {void} - */ + * @param {string} If field of the column is specified then it will clear the particular filtering column + * @returns {void} + */ clearFiltering(field: string): void; /** Clear the searching from the grid - * @returns {void} - */ + * @returns {void} + */ clearSearching(): void; /** Clear all the row selection or at specific row selection based on the index provided - * @param {number} optional If index of the row is specified then it will remove the selection from the particular row else it will clears all of the row selection - * @returns {Boolean} - */ - clearSelection(index?: number): Boolean; + * @param {number} optional If index of the row is specified then it will remove the selection from the particular row else it will clears all of the row selection + * @returns {Boolean} + */ + clearSelection(index?: number): boolean; /** Clear the sorting from columns in the grid - * @returns {void} - */ + * @returns {void} + */ clearSorting(): void; /** Collapse all the group caption rows in grid - * @returns {void} - */ + * @returns {void} + */ collapseAll(): void; /** Collapse the group drop area in grid - * @returns {void} - */ + * @returns {void} + */ collapseGroupDropArea(): void; /** Add or remove columns in grid column collections - * @param {Array|string} Pass array of columns or string of field name to add/remove the column in grid - * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform - * @returns {void} - */ - columns(columnDetails: Array|string, action?: string): void; + * @param {Array|string} Pass array of columns or string of field name to add/remove the column in grid + * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform + * @returns {void} + */ + columns(columnDetails: any[] | string, action?: string): void; /** Refresh the grid with new data source - * @param {Array} Pass new data source to the grid - * @param {boolean} optional When templateRefresh is set true, both header and contents get refreshed - * @returns {void} - */ - dataSource(datasource: Array, templateRefresh?: boolean): void; + * @param {Array} Pass new data source to the grid + * @param {boolean} optional When templateRefresh is set true, both header and contents get refreshed + * @returns {void} + */ + dataSource(datasource: any[], templateRefresh?: boolean): void; /** Delete a record in grid control when allowDeleting is set as true - * @param {string} Pass the primary key field Name of the column - * @param {any} Pass the JSON data of record need to be delete. - * @returns {void} - */ - deleteRecord(fieldName: string, data: any): void; + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the JSON data of record need to be delete. + * @returns {void} + */ + deleteRecord(fieldName: string, data: any[]): void; /** Delete the row based on the given tr element in grid. - * @param {JQuery} Pass the tr element in grid content to get its row index - * @returns {HTMLElement} - */ + * @param {JQuery} Pass the tr element in grid content to get its row index + * @returns {HTMLElement} + */ deleteRow($tr: JQuery): HTMLElement; /** Destroy the grid widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Edit a particular cell based on the row index and field name provided in "batch" edit mode. - * @param {number} Pass row index to edit particular cell - * @param {string} Pass the field name of the column to perform batch edit - * @returns {void} - */ + * @param {number} Pass row index to edit particular cell + * @param {string} Pass the field name of the column to perform batch edit + * @returns {void} + */ editCell(index: number, fieldName: string): void; /** It returns a value and if the input field values of edit form is not based on the validation rules then it will show the validation message. - * @returns {Boolean} - */ - editFormValidate(): Boolean; + * @returns {Boolean} + */ + editFormValidate(): boolean; /** Send a save request in grid. - * @returns {void} - */ + * @returns {void} + */ endEdit(): void; /** Expand all the group caption rows in grid. - * @returns {void} - */ + * @returns {void} + */ expandAll(): void; /** Expand or collapse the row based on the row state in grid - * @param {JQuery} Pass the target object to expand/collapse the row based on its row state - * @returns {void} - */ + * @param {JQuery} Pass the target object to expand/collapse the row based on its row state + * @returns {void} + */ expandCollapse($target: JQuery): void; /** Expand the group drop area in grid. - * @returns {void} - */ + * @returns {void} + */ expandGroupDropArea(): void; /** Export the grid content to excel, word or PDF document. - * @param {string} Pass the controller action name corresponding to exporting - * @param {string} optionalASP server event name corresponding to exporting - * @param {boolean} optionalPass the multiple exporting value as true/false - * @param {Array} optionalPass the array of the gridIds to be filtered - * @returns {void} - */ - export(action: string, serverEvent?: string, multipleExport?: boolean, gridIds?: Array): void; - - /** Export the grid content to excel, word or PDF document. - * @param {string} Pass the controller action name corresponding to exporting - * @param {string} optionalASP server event name corresponding to exporting - * @param {boolean} optionalPass the multiple exporting value as true/false - * @returns {void} - */ - export(action: string, serverEvent?: string, multipleExport?: boolean): void; + * @param {string} Pass the controller action name corresponding to exporting + * @param {string} optionalASP server event name corresponding to exporting + * @param {boolean} optionalPass the multiple exporting value as true/false + * @param {Array} optionalPass the array of the gridIds to be filtered + * @returns {void} + */ + export(action: string, serverEvent?: string, multipleExport?: boolean, gridIds?: any[]): void; /** Send a filtering request to filter one column in grid. - * @param {Array} Pass the field name of the column - * @param {string} string/integer/dateTime operator - * @param {string} Pass the value to be filtered in a column - * @param {string} Pass the predicate as and/or - * @param {boolean} optional Pass the match case value as true/false - * @param {any} optionalactualFilterValue denote the filter object of current filtered columns.Pass the value to filtered in a column - * @returns {void} - */ - filterColumn(fieldName: Array, filterOperator: string, filterValue: string, predicate: string, matchcase?: boolean, actualFilterValue?: any): void; + * @param {Array} Pass the field name of the column + * @param {string} string/integer/dateTime operator + * @param {string} Pass the value to be filtered in a column + * @param {string} Pass the predicate as and/or + * @param {boolean} optional Pass the match case value as true/false + * @param {any} optionalactualFilterValue denote the filter object of current filtered columns.Pass the value to filtered in a column + * @returns {void} + */ + filterColumn(fieldName: any[], filterOperator: string, filterValue: string, predicate: string, matchcase?: boolean, actualFilterValue?: any): void; /** Send a filtering request to filter single or multiple column in grid. - * @param {Array} Pass array of filterColumn query for performing filter operation - * @returns {void} - */ - filterColumn(filterQueries: Array): void; + * @param {Array} Pass array of filterColumn query for performing filter operation + * @returns {void} + */ + filterColumn(filterQueries: any[]): void; /** Get the batch changes of edit, delete and add operations of grid. - * @returns {any} - */ + * @returns {any} + */ getBatchChanges(): any; /** Get the browser details - * @returns {any} - */ + * @returns {any} + */ getBrowserDetails(): any; /** Get the column details based on the given field in grid - * @param {string} Pass the field name of the column to get the corresponding column object - * @returns {any} - */ + * @param {string} Pass the field name of the column to get the corresponding column object + * @returns {any} + */ getColumnByField(fieldName: string): any; /** Get the column details based on the given header text in grid. - * @param {string} Pass the header text of the column to get the corresponding column object - * @returns {any} - */ + * @param {string} Pass the header text of the column to get the corresponding column object + * @returns {any} + */ getColumnByHeaderText(headerText: string): any; /** Get the column details based on the given column index in grid - * @param {number} Pass the index of the column to get the corresponding column object - * @returns {any} - */ + * @param {number} Pass the index of the column to get the corresponding column object + * @returns {any} + */ getColumnByIndex(columnIndex: number): any; /** Get the list of field names from column collection in grid. - * @returns {Array} - */ - getColumnFieldNames(): Array; + * @returns {Array} + */ + getColumnFieldNames(): any[]; /** Get the column index of the given field in grid. - * @param {string} Pass the field name of the column to get the corresponding column index - * @returns {number} - */ + * @param {string} Pass the field name of the column to get the corresponding column index + * @returns {number} + */ getColumnIndexByField(fieldName: string): number; /** Get the column index of the given headerText of column in grid. - * @param {string} Pass the headerText of the column to get that column index - * @param {string} optionalOptional Pass the field name of the column. - * @returns {number} - */ + * @param {string} Pass the headerText of the column to get that column index + * @param {string} optionalOptional Pass the field name of the column. + * @returns {number} + */ getColumnIndexByHeaderText(headerText: string, field?: string): number; /** Get the content div element of grid. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getContent(): HTMLElement; /** Get the content table element of grid - * @returns {Array} - */ - getContentTable(): Array; + * @returns {Array} + */ + getContentTable(): HTMLTableElement[]; /** Get the data of currently edited cell value in "batch" edit mode - * @returns {any} - */ + * @returns {any} + */ getCurrentEditCellData(): any; /** Get the current page index in grid pager. - * @returns {number} - */ + * @returns {number} + */ getCurrentIndex(): number; /** Get the current page data source of grid. - * @returns {Array} - */ - getCurrentViewData(): Array; + * @returns {Array} + */ + getCurrentViewData(): any[]; /** Get the data of given row index in grid. - * @returns {any} - */ + * @returns {any} + */ getDataByIndex(): any; /** Get the column field name from the given header text in grid. - * @param {string} Pass header text of the column to get its corresponding field name - * @returns {String} - */ - getFieldNameByHeaderText(headerText: string): String; + * @param {string} Pass header text of the column to get its corresponding field name + * @returns {String} + */ + getFieldNameByHeaderText(headerText: string): string; /** Get the filter bar of grid - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getFilterBar(): HTMLElement; /** Get the records filtered or searched in Grid - * @returns {Array} - */ - getFilteredRecords(): Array; + * @returns {Array} + */ + getFilteredRecords(): any[]; /** Get the footer content of grid. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getFooterContent(): HTMLElement; /** Get the footer table element of grid. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getFooterTable(): HTMLElement; /** Get the header content div element of grid. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getHeaderContent(): HTMLElement; /** Get the header table element of grid - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getHeaderTable(): HTMLElement; /** Get the column header text from the given field name in grid. - * @param {string} Pass field name of the column to get its corresponding header text - * @returns {String} - */ - getHeaderTextByFieldName(field: string): String; + * @param {string} Pass field name of the column to get its corresponding header text + * @returns {String} + */ + getHeaderTextByFieldName(field: string): string; /** Get the names of all the hidden column collections in grid. - * @returns {Array} - */ - getHiddenColumnNames(): Array; + * @returns {Array} + */ + getHiddenColumnNames(): any[]; /** Get the row index based on the given tr element in grid. - * @param {JQuery} Pass the tr element in grid content to get its row index - * @returns {number} - */ + * @param {JQuery} Pass the tr element in grid content to get its row index + * @returns {number} + */ getIndexByRow($tr: JQuery): number; /** Get the pager of grid. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getPager(): HTMLElement; /** Get the names of primary key columns in Grid - * @returns {Array} - */ - getPrimaryKeyFieldNames(): Array; + * @returns {Array} + */ + getPrimaryKeyFieldNames(): any[]; /** Get the rows(tr element) from the given from and to row index in grid - * @param {number} Pass the from index from which the rows to be returned - * @param {number} Pass the to index to which the rows to be returned - * @returns {HTMLElement} - */ + * @param {number} Pass the from index from which the rows to be returned + * @param {number} Pass the to index to which the rows to be returned + * @returns {HTMLElement} + */ getRowByIndex(from: number, to: number): HTMLElement; /** Get the row height of grid. - * @returns {number} - */ + * @returns {number} + */ getRowHeight(): number; /** Get the rows(tr element)of grid which is displayed in the current page. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getRows(): HTMLElement; /** Get the scroller object of grid. - * @returns {ej.Scroller} - */ + * @returns {ej.Scroller} + */ getScrollObject(): ej.Scroller; /** Get the selected records details in grid. - * @returns {Array} - */ - getSelectedRecords(): Array; + * @returns {Array} + */ + getSelectedRecords(): any[]; /** Get the selected row element details in grid. - * @returns {Array} - */ - getSelectedRows(): Array; + * @returns {Array} + */ + getSelectedRows(): any[]; /** It accepts the string value and returns the field and sorted direction of the column in grid. - * @param {string} Pass the field of the column to get the sorted direction of the corresponding column in Grid. - * @returns {number} - */ + * @param {string} Pass the field of the column to get the sorted direction of the corresponding column in Grid. + * @returns {number} + */ getsortColumnByField(field: string): number; /** Get the calculated summary values of JSON data passed to it - * @param {any} Pass Summary Column details - * @param {any} Pass JSON Array for which its field values to be calculated - * @returns {Number} - */ - getSummaryValues(summaryCol: any, summaryData: any): Number; + * @param {any} Pass Summary Column details + * @param {any} Pass JSON Array for which its field values to be calculated + * @returns {Number} + */ + getSummaryValues(summaryCol: any, summaryData: any): number; /** Get the names of all the visible column collections in grid - * @returns {Array} - */ - getVisibleColumnNames(): Array; + * @returns {Array} + */ + getVisibleColumnNames(): any[]; /** Send a paging request to specified page in grid - * @param {number} Pass the page index to perform paging at specified page index - * @returns {void} - */ + * @param {number} Pass the page index to perform paging at specified page index + * @returns {void} + */ gotoPage(pageIndex: number): void; /** Send a column grouping request in grid. - * @param {string} Pass the field Name of the column to be grouped in grid control - * @returns {void} - */ + * @param {string} Pass the field Name of the column to be grouped in grid control + * @returns {void} + */ groupColumn(fieldName: string): void; /** Hide columns from the grid based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide - * @returns {void} - */ - hideColumns(headerText: Array|string): void; + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide + * @returns {void} + */ + hideColumns(headerText: any[] | string): void; /** Print the grid control - * @returns {void} - */ + * @returns {void} + */ print(): void; /** It is used to refresh and reset the changes made in "batch" edit mode - * @returns {void} - */ + * @returns {void} + */ refreshBatchEditChanges(): void; /** It is used to refresh the grid header. - * @returns {void} - */ + * @returns {void} + */ refreshHeader(): void; /** Refresh the grid contents. The template refreshment is based on the argument passed along with this method - * @param {boolean} optional When templateRefresh is set true, template and grid contents both are refreshed in grid else only grid content is refreshed - * @returns {void} - */ + * @param {boolean} optional When templateRefresh is set true, template and grid contents both are refreshed in grid else only grid content is refreshed + * @returns {void} + */ refreshContent(templateRefresh?: boolean): void; /** Refresh the template of the grid - * @returns {void} - */ + * @returns {void} + */ refreshTemplate(): void; /** Refresh the toolbar items in grid. - * @returns {void} - */ + * @returns {void} + */ refreshToolbar(): void; /** Remove a column or collection of columns from a sorted column collections in grid. - * @param {Array|string} Pass array of field names of the columns to remove a collection of sorted columns or pass a string of field name to remove a column from sorted column collections - * @returns {void} - */ - removeSortedColumns(fieldName: Array|string): void; + * @param {Array|string} Pass array of field names of the columns to remove a collection of sorted columns or pass a string of field name to remove a column from sorted column collections + * @returns {void} + */ + removeSortedColumns(fieldName: any[] | string): void; /** Creates a grid control - * @returns {void} - */ + * @returns {void} + */ render(): void; /** Re-order the column in grid - * @param {string} Pass the from field name of the column needs to be changed - * @param {string} Pass the to field name of the column needs to be changed - * @returns {void} - */ + * @param {string} Pass the from field name of the column needs to be changed + * @param {string} Pass the to field name of the column needs to be changed + * @returns {void} + */ reorderColumns(fromFieldName: string, toFieldName: string): void; /** Re-order the row in grid - * @param {Array} Pass the indexes of the rows needs to reorder. - * @param {number} Pass the index of a row where to be reordered. - * @returns {void} - */ - reorderRows(indexes: Array, toIndex: number): void; + * @param {Array} Pass the indexes of the rows needs to reorder. + * @param {number} Pass the index of a row where to be reordered. + * @returns {void} + */ + reorderRows(indexes: any[], toindex: number): void; /** Reset the model collections like pageSettings, groupSettings, filterSettings, sortSettings and summaryRows. - * @returns {void} - */ + * @returns {void} + */ resetModelCollections(): void; /** Resize the columns by giving column name and width for the corresponding one. - * @param {string} Pass the column name that needs to be changed - * @param {string} Pass the width to resize the particular columns - * @returns {void} - */ + * @param {string} Pass the column name that needs to be changed + * @param {string} Pass the width to resize the particular columns + * @returns {void} + */ resizeColumns(column: string, width: string): void; /** Resolves row height issue when unbound column is used with FrozenColumn - * @returns {void} - */ + * @returns {void} + */ rowHeightRefresh(): void; /** Save the particular edited cell in grid. - * @returns {void} - */ - saveCell(): void; + * @returns {void} + */ + //saveCell(): void; /** We can prevent the client side cellSave event triggering by passing the preventSaveEvent argument as true. - * @param {boolean} optionalIf we pass preventSaveEvent as true, it prevents the client side cellSave event triggering - * @returns {void} - */ + * @param {boolean} optionalIf we pass preventSaveEvent as true, it prevents the client side cellSave event triggering + * @returns {void} + */ saveCell(preventSaveEvent: boolean): void; /** Set dimension for grid with corresponding to grid parent. - * @param {number} Pass the height of the grid container - * @param {number} Pass the width of the grid container - * @returns {void} - */ + * @param {number} Pass the height of the grid container + * @param {number} Pass the width of the grid container + * @returns {void} + */ setDimension(height: number, width: number): void; /** Send a request to grid to refresh the width set to columns - * @returns {void} - */ + * @returns {void} + */ setWidthToColumns(): void; /** Send a search request to grid with specified string passed in it - * @param {string} Pass the string to search in Grid records - * @returns {void} - */ + * @param {string} Pass the string to search in Grid records + * @returns {void} + */ search(searchString: string): void; /** Select cells in grid. - * @param {any} It is used to set the starting index of row and indexes of cells for that corresponding row for selecting cells. - * @returns {void} - */ + * @param {any} It is used to set the starting index of row and indexes of cells for that corresponding row for selecting cells. + * @returns {void} + */ selectCells(rowCellIndexes: any): void; /** Select columns in grid. - * @param {number} It is used to set the starting index of column for selecting columns. - * @returns {void} - */ + * @param {number} It is used to set the starting index of column for selecting columns. + * @returns {void} + */ selectColumns(fromIndex: number): void; /** Select the specified columns in grid based on Index provided. - * @param {number} It is used to set the starting index of column for selecting columns. - * @param {number} optionalIt is used to set the ending index of column for selecting columns. - * @returns {Boolean} - */ - selectColumns(columnIndex: number, toIndex?: number): Boolean; + * @param {number} It is used to set the starting index of column for selecting columns. + * @param {number} optionalIt is used to set the ending index of column for selecting columns. + * @returns {Boolean} + */ + selectColumns(columnIndex: number, toIndex?: number): boolean; /** Select rows in grid. - * @param {number} It is used to set the starting index of row for selecting rows. - * @param {number} It is used to set the ending index of row for selecting rows. - * @returns {void} - */ + * @param {number} It is used to set the starting index of row for selecting rows. + * @param {number} It is used to set the ending index of row for selecting rows. + * @returns {void} + */ selectRows(fromIndex: number, toIndex: number): void; /** Select specified rows in grid based on Index provided. - * @param {Array|number} It is used to set the starting index of row for selecting rows. - * @param {number} optionalIt is used to set the ending index of row for selecting rows. - * @param {any} optionalTarget element which is clicked. - * @returns {void} - */ - selectRows(from: Array|number, to: number, target?: any): void; + * @param {Array|number} It is used to set the starting index of row for selecting rows. + * @param {number} optionalIt is used to set the ending index of row for selecting rows. + * @param {any} optionalTarget element which is clicked. + * @returns {void} + */ + selectRows(from: any[] | number, to: number, target?: any): void; /** Select rows in grid. - * @param {Array} Pass array of rowIndexes for selecting rows - * @returns {void} - */ - selectRows(rowIndexes: Array): void; + * @param {Array} Pass array of rowIndexes for selecting rows + * @returns {void} + */ + selectRows(rowIndexes: any[]): void; /** Used to update a particular cell value. - * @returns {void} - */ + * @returns {void} + */ setCellText(): void; /** Used to update a particular cell value based on specified row Index and the fieldName. - * @param {number} It is used to set the index for selecting the row. - * @param {string} It is used to set the field name for selecting column. - * @param {any} It is used to set the value for the selected cell. - * @returns {void} - */ + * @param {number} It is used to set the index for selecting the row. + * @param {string} It is used to set the field name for selecting column. + * @param {any} It is used to set the value for the selected cell. + * @returns {void} + */ setCellValue(Index: number, fieldName: string, value: any): void; /** It sets the default data to the column in grid during adding record in batch edit mode. - * @returns {void} - */ + * @returns {void} + */ setDefaultData(): void; /** The grid rows has to be rendered as detail view in mobile mode based on given value. - * @param {number} It is used to render grid rows as details view in mobile mode. - * @returns {void} - */ + * @param {number} It is used to render grid rows as details view in mobile mode. + * @returns {void} + */ setPhoneModeMaxWidth(Index: number): void; /** Set validation to edit form in the grid. - * @returns {void} - */ + * @returns {void} + */ setValidation(): void; /** Set validation to a particular input field in a edit form dynamically. - * @param {string} Specify the field name of the column to set validation rules - * @param {any} Specify the validation rules for the field - * @returns {void} - */ + * @param {string} Specify the field name of the column to set validation rules + * @param {any} Specify the validation rules for the field + * @returns {void} + */ setValidationToField(fieldName: string, rules: any): void; /** Show columns in the grid based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to show - * @returns {void} - */ - showColumns(headerText: Array|string): void; + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to show + * @returns {void} + */ + showColumns(headerText: any[] | string): void; /** Send a sorting request in grid. - * @param {string} Pass the field name of the column as columnName for which sorting have to be performed - * @param {string} optional Pass the sort direction ascending/descending by which the column have to be sort. By default it is sorting in an ascending order - * @returns {void} - */ + * @param {string} Pass the field name of the column as columnName for which sorting have to be performed + * @param {string} optional Pass the sort direction ascending/descending by which the column have to be sort. By default it is sorting in an ascending order + * @returns {void} + */ sortColumn(columnName: string, sortingDirection?: string): void; /** Send an edit record request in grid - * @param {JQuery} Pass the tr- selected row element to be edited in grid - * @returns {void} - */ + * @param {JQuery} Pass the tr- selected row element to be edited in grid + * @returns {void} + */ startEdit($tr: JQuery): void; /** Un-group a column from grouped columns collection in grid - * @param {string} Pass the field Name of the column to be ungrouped from grouped column collection - * @returns {void} - */ + * @param {string} Pass the field Name of the column to be ungrouped from grouped column collection + * @returns {void} + */ ungroupColumn(fieldName: string): void; /** Update a edited record in grid control when allowEditing is set as true. - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the edited JSON data of record need to be update. - * @returns {void} - */ - updateRecord(fieldName: string, data: Array): void; + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the edited JSON data of record need to be update. + * @returns {void} + */ + updateRecord(fieldName: string, data: any[]): void; /** It adapts grid to its parent element or to the browsers window. - * @returns {void} - */ + * @returns {void} + */ windowonresize(): void; } -export module Grid{ - -export interface Model { - - /** Gets or sets a value that indicates whether to customizing cell based on our needs. - * @Default {false} - */ - allowCellMerging?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic grouping behavior. Grouping can be done by drag on drop desired columns to grid’s GroupDropArea. This can be further customized through “groupSettings” property. - * @Default {false} - */ - allowGrouping?: Boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for performing grid actions. selectionType – Gets or sets a value that indicates whether to enable single row or multiple rows selection behavior in grid. Multiple selection can be done through by holding CTRL and clicking the grid rows - * @Default {true} - */ - allowKeyboardNavigation?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic filtering behavior on grid. Filtering can be used to limit the records displayed using required criteria and this can be further customized through “filterSettings” property - * @Default {false} - */ - allowFiltering?: Boolean; - - /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. - * @Default {false} - */ - allowSorting?: Boolean; - - /** Gets or sets a value that indicates whether to enable multi columns sorting behavior in grid. Sort multiple columns by holding CTRL and click on the corresponding column header. - * @Default {false} - */ - allowMultiSorting?: Boolean; - - /** This specifies the grid to show the paginated data. Also enables pager control at the bottom of grid for dynamic navigation through data source. Paging can be further customized through “pageSettings” property. - * @Default {false} - */ - allowPaging?: Boolean; - - /** Gets or sets a value that indicates whether to enable the columns reordering behavior in the grid. Reordering can be done through by drag and drop the particular column from one index to another index within the grid. - * @Default {false} - */ - allowReordering?: Boolean; - - /** Gets or sets a value that indicates whether the column is non resizable. Column width is set automatically based on the content or header text which is large. - * @Default {false} - */ - allowResizeToFit?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic resizable of columns. Resize the width of the columns by simply click and move the particular column header line - * @Default {false} - */ - allowResizing?: Boolean; - - /** Gets or sets a value that indicates whether to enable the rows reordering in Grid and drag & drop rows between multiple Grid. - * @Default {false} - */ - allowRowDragAndDrop?: Boolean; - - /** Gets or sets a value that indicates whether to enable the scrollbar in the grid and view the records by scroll through the grid manually - * @Default {false} - */ - allowScrolling?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic searching behavior in grid. Currently search box can be enabled through “toolbarSettings” - * @Default {false} - */ - allowSearching?: Boolean; - - /** Gets or sets a value that indicates whether user can select rows on grid. On enabling feature, selected row will be highlighted. - * @Default {true} - */ - allowSelection?: Boolean; - - /** Gets or sets a value that indicates whether the Content will wrap to the next line if the content exceeds the boundary of the Column Cells. - * @Default {false} - */ - allowTextWrap?: Boolean; - - /** Gets or sets a value that indicates whether to enable the multiple exporting behavior on grid data. - * @Default {false} - */ - allowMultipleExporting?: Boolean; - - /** Gets or sets a value that indicates to define common width for all the columns in the grid. - */ - commonWidth?: Number; - - /** Gets or sets a value that indicates to enable the visibility of the grid lines. - * @Default {ej.Grid.GridLines.Both} - */ - gridLines?: ej.Grid.GridLines|string; - - /** This specifies the grid to add the grid control inside the grid row of the parent with expand/collapse options - * @Default {null} - */ - childGrid?: any; - - /** Used to enable or disable static width settings for column. If the columnLayout is set as fixed, then column width will be static. - * @Default {ej.Grid.ColumnLayout.Auto} - */ - columnLayout?: ej.Grid.ColumnLayout|string; - - /** Gets or sets an object that indicates to render the grid with specified columns - * @Default {[]} - */ - columns?: Array; - - /** Gets or sets an object that indicates whether to customize the context menu behavior of the grid. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Gets or sets a value that indicates to render the grid with custom theme. - */ - cssClass?: String; - - /** Gets or sets the data to render the grid with records - * @Default {null} - */ - dataSource?: any; - - /** Default Value: - * @Default {null} - */ - detailsTemplate?: String; - - /** Gets or sets an object that indicates whether to customize the editing behavior of the grid. - */ - editSettings?: EditSettings; - - /** Gets or sets a value that indicates whether to enable the alternative rows differentiation in the grid records based on corresponding theme. - * @Default {true} - */ - enableAltRow?: Boolean; - - /** Gets or sets a value that indicates whether to enable the save action in the grid through row selection - * @Default {true} - */ - enableAutoSaveOnSelectionChange?: Boolean; - - /** Gets or sets a value that indicates whether to enable mouse over effect on the corresponding column header cell of the grid - * @Default {false} - */ - enableHeaderHover?: Boolean; - - /** Gets or sets a value that indicates whether to persist the grid model state in page using applicable medium i.e., HTML5 localStorage or cookies - * @Default {false} - */ - enablePersistence?: Boolean; - - /** Gets or sets a value that indicates whether the grid rows has to be rendered as detail view in mobile mode - * @Default {false} - */ - enableResponsiveRow?: Boolean; - - /** Gets or sets a value that indicates whether to enable mouse over effect on corresponding grid row. - * @Default {true} - */ - enableRowHover?: Boolean; - - /** Align content in the grid control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: Boolean; - - /** To Disable the mouse swipe property as false. - * @Default {true} - */ - enableTouch?: Boolean; - - /** It sets a value that indicates whether to enable toolbar items, when allowEditing, allowAdding and allowDeleting property set as false in the grid. - * @Default {false} - */ - enableToolbarItems?: Boolean; - - /** Act as mapper for the excel exporting URL. - * @Default {ExportToExcel} - */ - exportToExcelAction?: string; - - /** Act as mapper for the PDF exporting URL. - * @Default {ExportToPdf} - */ - exportToPdfAction?: string; - - /** Act as mapper for the Word exporting URL. - * @Default {ExportToWord} - */ - exportToWordAction?: string; - - /** Gets or sets an object that indicates whether to customize the filtering behavior of the grid - */ - filterSettings?: FilterSettings; - - /** Gets or sets an object that indicates whether to customize the grouping behavior of the grid. - */ - groupSettings?: GroupSettings; - - /** Gets or sets a value that indicates whether the grid design has be to made responsive. - * @Default {false} - */ - isResponsive?: Boolean; - - /** This specifies to change the key in keyboard interaction to grid control - * @Default {null} - */ - keySettings?: any; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: String; - - /** Gets or sets a value that indicates whether to set the minimum width of the responsive grid while isResponsive property is true and enableResponsiveRow property is set as false. - * @Default {0} - */ - minWidth?: Number; - - /** Gets or sets an object that indicates whether to modify the pager default configuration. - */ - pageSettings?: PageSettings; - - /** Query the dataSource from the table for Grid. - * @Default {null} - */ - query?: any; - - /** Gets or sets an object that indicates whether to modify the resizing behavior. - */ - resizeSettings?: ResizeSettings; - - /** Gets or sets a value that indicates to render the grid with template rows. The template row must be a table row. That table row must have the JavaScript render binding format ({{:columnName}}) then the grid data source binds the data to the corresponding table row of the template. - * @Default {null} - */ - rowTemplate?: String; - - /** Gets or sets an object that indicates whether to customize the drag and drop behavior of the grid rows - */ - rowDropSettings?: RowDropSettings; - - /** Gets or sets an object that indicates whether to customize the searching behavior of the grid - */ - searchSettings?: SearchSettings; - - /** Gets a value that indicates whether the grid model to hold multiple selected records . selectedRecords can be used to displayed hold the single or multiple selected records using “selectedRecords” property - * @Default {null} - */ - selectedRecords?: Array; - - /** Gets or sets a value that indicates to select the row while initializing the grid - * @Default {-1} - */ - selectedRowIndex?: Number; - - /** Gets or sets a value that indicates the selected rows in grid - * @Default {[]} - */ - selectedRowIndices?: Array; - - /** This property is used to configure the selection behavior of the grid. - */ - selectionSettings?: SelectionSettings; +export namespace Grid { + + export interface Model { + + /** Gets or sets a value that indicates whether to customizing cell based on our needs. + * @Default {false} + */ + allowCellMerging?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic grouping behavior. Grouping can be done by drag on drop desired columns to grid’s GroupDropArea. + * This can be further customized through “groupSettings” property. + * @Default {false} + */ + allowGrouping?: boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for performing grid actions. selectionType – Gets or sets a value that indicates whether to enable single + * row or multiple rows selection behavior in grid. Multiple selection can be done through by holding CTRL and clicking the grid rows + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic filtering behavior on grid. Filtering can be used to limit the records displayed using required criteria and + * this can be further customized through “filterSettings” property + * @Default {false} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. + * @Default {false} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable multi columns sorting behavior in grid. Sort multiple columns by holding CTRL and click on the corresponding column header. + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** This specifies the grid to show the paginated data. Also enables pager control at the bottom of grid for dynamic navigation through data source. + * Paging can be further customized through “pageSettings” property. + * @Default {false} + */ + allowPaging?: boolean; + + /** Gets or sets a value that indicates whether to enable the columns reordering behavior in the grid. Reordering can be done through by drag and drop the particular column + * from one index to another index within the grid. + * @Default {false} + */ + allowReordering?: boolean; + + /** Gets or sets a value that indicates whether the column is non resizable. Column width is set automatically based on the content or header text which is large. + * @Default {false} + */ + allowResizeToFit?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic resizable of columns. Resize the width of the columns by simply click and move the particular column header line + * @Default {false} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable the rows reordering in Grid and drag & drop rows between multiple Grid. + * @Default {false} + */ + allowRowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable the scrollbar in the grid and view the records by scroll through the grid manually + * @Default {false} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic searching behavior in grid. Currently search box can be enabled through “toolbarSettings” + * @Default {false} + */ + allowSearching?: boolean; + + /** Gets or sets a value that indicates whether user can select rows on grid. On enabling feature, selected row will be highlighted. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether the Content will wrap to the next line if the content exceeds the boundary of the Column Cells. + * @Default {false} + */ + allowTextWrap?: boolean; + + /** Gets or sets a value that indicates whether to enable the multiple exporting behavior on grid data. + * @Default {false} + */ + allowMultipleExporting?: boolean; + + /** Gets or sets a value that indicates to define common width for all the columns in the grid. + */ + commonWidth?: number; + + /** Gets or sets a value that indicates to enable the visibility of the grid lines. + * @Default {ej.Grid.GridLines.Both} + */ + gridLines?: ej.Grid.GridLines | string; + + /** This specifies the grid to add the grid control inside the grid row of the parent with expand/collapse options + * @Default {null} + */ + childGrid?: any; + + /** Used to enable or disable static width settings for column. If the columnLayout is set as fixed, then column width will be static. + * @Default {ej.Grid.ColumnLayout.Auto} + */ + columnLayout?: ej.Grid.ColumnLayout | string; + + /** Gets or sets an object that indicates to render the grid with specified columns + * @Default {[]} + */ + columns?: Column[]; + + /** Gets or sets an object that indicates whether to customize the context menu behavior of the grid. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Gets or sets a value that indicates to render the grid with custom theme. + */ + cssClass?: string; + + /** Gets or sets the data to render the grid with records + * @Default {null} + */ + dataSource?: any; + + /** Default Value: + * @Default {null} + */ + detailsTemplate?: string; + + /** Gets or sets an object that indicates whether to customize the editing behavior of the grid. + */ + editSettings?: EditSettings; + + /** Gets or sets a value that indicates whether to enable the alternative rows differentiation in the grid records based on corresponding theme. + * @Default {true} + */ + enableAltRow?: boolean; + + /** Gets or sets a value that indicates whether to enable the save action in the grid through row selection + * @Default {true} + */ + enableAutoSaveOnSelectionChange?: boolean; + + /** Gets or sets a value that indicates whether to enable mouse over effect on the corresponding column header cell of the grid + * @Default {false} + */ + enableHeaderHover?: boolean; + + /** Gets or sets a value that indicates whether to persist the grid model state in page using applicable medium i.e., HTML5 localStorage or cookies + * @Default {false} + */ + enablePersistence?: boolean; + + /** Gets or sets a value that indicates whether the grid rows has to be rendered as detail view in mobile mode + * @Default {false} + */ + enableResponsiveRow?: boolean; + + /** Gets or sets a value that indicates whether to enable mouse over effect on corresponding grid row. + * @Default {true} + */ + enableRowHover?: boolean; + + /** Align content in the grid control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** To Disable the mouse swipe property as false. + * @Default {true} + */ + enableTouch?: boolean; + + /** It sets a value that indicates whether to enable toolbar items, when allowEditing, allowAdding and allowDeleting property set as false in the grid. + * @Default {false} + */ + enableToolbarItems?: boolean; + + /** Act as mapper for the excel exporting URL. + * @Default {ExportToExcel} + */ + exportToExcelAction?: string; + + /** Act as mapper for the PDF exporting URL. + * @Default {ExportToPdf} + */ + exportToPdfAction?: string; + + /** Act as mapper for the Word exporting URL. + * @Default {ExportToWord} + */ + exportToWordAction?: string; + + /** Gets or sets an object that indicates whether to customize the filtering behavior of the grid + */ + filterSettings?: FilterSettings; + + /** Gets or sets an object that indicates whether to customize the grouping behavior of the grid. + */ + groupSettings?: GroupSettings; + + /** Gets or sets a value that indicates whether the grid design has be to made responsive. + * @Default {false} + */ + isResponsive?: boolean; + + /** This specifies to change the key in keyboard interaction to grid control + * @Default {null} + */ + keySettings?: any; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and + * culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets a value that indicates whether to set the minimum width of the responsive grid while isResponsive property is true and enableResponsiveRow property is set as false. + * @Default {0} + */ + minWidth?: number; + + /** Gets or sets an object that indicates whether to modify the pager default configuration. + */ + pageSettings?: PageSettings; + + /** Query the dataSource from the table for Grid. + * @Default {null} + */ + query?: any; + + /** Gets or sets an object that indicates whether to modify the resizing behavior. + */ + resizeSettings?: ResizeSettings; + + /** Gets or sets a value that indicates to render the grid with template rows. The template row must be a table row. That table row must have the JavaScript render binding format ({{:columnName}}) + * then the grid data source binds the data to the corresponding table row of the template. + * @Default {null} + */ + rowTemplate?: string; + + /** Gets or sets an object that indicates whether to customize the drag and drop behavior of the grid rows + */ + rowDropSettings?: RowDropSettings; + + /** Gets or sets an object that indicates whether to customize the searching behavior of the grid + */ + searchSettings?: SearchSettings; + + /** Gets a value that indicates whether the grid model to hold multiple selected records . selectedRecords can be used to displayed hold the single + * or multiple selected records using “selectedRecords” property + * @Default {null} + */ + selectedRecords?: any[]; + + /** Gets or sets a value that indicates to select the row while initializing the grid + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Gets or sets a value that indicates the selected rows in grid + * @Default {[]} + */ + selectedRowIndices?: any[]; + + /** This property is used to configure the selection behavior of the grid. + */ + selectionSettings?: SelectionSettings; + + /** The row selection behavior of grid. Accepting types are "single" and "multiple". + * @Default {ej.Grid.SelectionType.Single} + */ + selectionType?: ej.Grid.SelectionType | string; + + /** Gets or sets an object that indicates whether to customize the scrolling behavior of the grid. + */ + scrollSettings?: ScrollSettings; - /** The row selection behavior of grid. Accepting types are "single" and "multiple". - * @Default {ej.Grid.SelectionType.Single} - */ - selectionType?: ej.Grid.SelectionType|string; + /** Default Value: + * @Default {false} + */ + showColumnChooser?: boolean; - /** Gets or sets an object that indicates whether to customize the scrolling behavior of the grid. - */ - scrollSettings?: ScrollSettings; + /** Gets or sets a value that indicates stacked header should be shown on grid layout when the property “stackedHeaderRows” is set. + * @Default {false} + */ + showStackedHeader?: boolean; - /** Default Value: - * @Default {false} - */ - showColumnChooser?: Boolean; + /** Gets or sets a value that indicates summary rows should be shown on grid layout when the property “summaryRows” is set + * @Default {false} + */ + showSummary?: boolean; - /** Gets or sets a value that indicates stacked header should be shown on grid layout when the property “stackedHeaderRows” is set. - * @Default {false} - */ - showStackedHeader?: Boolean; + /** Gets or sets a value that indicates whether to customize the sorting behavior of the grid. + */ + sortSettings?: SortSettings; - /** Gets or sets a value that indicates summary rows should be shown on grid layout when the property “summaryRows” is set - * @Default {false} - */ - showSummary?: Boolean; + /** Gets or sets an object that indicates to managing the collection of stacked header rows for the grid. + * @Default {[]} + */ + stackedHeaderRows?: StackedHeaderRow[]; - /** Gets or sets a value that indicates whether to customize the sorting behavior of the grid. - */ - sortSettings?: SortSettings; + /** Gets or sets an object that indicates to managing the collection of summary rows for the grid. + * @Default {[]} + */ + summaryRows?: SummaryRow[]; - /** Gets or sets an object that indicates to managing the collection of stacked header rows for the grid. - * @Default {[]} - */ - stackedHeaderRows?: Array; + /** Gets or sets an object that indicates whether to auto wrap the grid header or content or both + */ + textWrapSettings?: TextWrapSettings; - /** Gets or sets an object that indicates to managing the collection of summary rows for the grid. - * @Default {[]} - */ - summaryRows?: Array; + /** Gets or sets an object that indicates whether to enable the toolbar in the grid and add toolbar items + */ + toolbarSettings?: ToolbarSettings; - /** Gets or sets an object that indicates whether to auto wrap the grid header or content or both - */ - textWrapSettings?: TextWrapSettings; + /** Triggered for every grid action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Gets or sets an object that indicates whether to enable the toolbar in the grid and add toolbar items - */ - toolbarSettings?: ToolbarSettings; + /** Triggered for every grid action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Triggered for every grid action before its starts. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Triggered for every grid action server failure event. */ + actionFailure?(e: ActionFailureEventArgs): void; - /** Triggered for every grid action success event. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** Triggered when record batch add. */ + batchAdd?(e: BatchAddEventArgs): void; - /** Triggered for every grid action server failure event. */ - actionFailure? (e: ActionFailureEventArgs): void; + /** Triggered when record batch delete. */ + batchDelete?(e: BatchDeleteEventArgs): void; - /** Triggered when record batch add. */ - batchAdd? (e: BatchAddEventArgs): void; + /** Triggered before the batch add. */ + beforeBatchAdd?(e: BeforeBatchAddEventArgs): void; - /** Triggered when record batch delete. */ - batchDelete? (e: BatchDeleteEventArgs): void; + /** Triggered before the batch delete. */ + beforeBatchDelete?(e: BeforeBatchDeleteEventArgs): void; - /** Triggered before the batch add. */ - beforeBatchAdd? (e: BeforeBatchAddEventArgs): void; + /** Triggered before the batch save. */ + beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; - /** Triggered before the batch delete. */ - beforeBatchDelete? (e: BeforeBatchDeleteEventArgs): void; + /** Triggered before the print. */ + beforePrint?(e: BeforePrintEventArgs): void; - /** Triggered before the batch save. */ - beforeBatchSave? (e: BeforeBatchSaveEventArgs): void; + /** Triggered before row drop in the grid */ + beforeRowDrop?(e: BeforeRowDropEventArgs): void; - /** Triggered before the print. */ - beforePrint? (e: BeforePrintEventArgs): void; + /** Triggered before the record is going to be edited. */ + beginEdit?(e: BeginEditEventArgs): void; - /** Triggered before row drop in the grid */ - beforeRowDrop? (e: BeforeRowDropEventArgs): void; + /** Triggered when record cell edit. */ + cellEdit?(e: CellEditEventArgs): void; - /** Triggered before the record is going to be edited. */ - beginEdit? (e: BeginEditEventArgs): void; + /** Triggered when record cell save. */ + cellSave?(e: CellSaveEventArgs): void; - /** Triggered when record cell edit. */ - cellEdit? (e: CellEditEventArgs): void; + /** Triggered after the cell is selected. */ + cellSelected?(e: CellSelectedEventArgs): void; - /** Triggered when record cell save. */ - cellSave? (e: CellSaveEventArgs): void; + /** Triggered before the cell is going to be selected. */ + cellSelecting?(e: CellSelectingEventArgs): void; - /** Triggered after the cell is selected. */ - cellSelected? (e: CellSelectedEventArgs): void; + /** Triggered after the cell is deselected. */ + cellDeselected?(e: CellDeselectedEventArgs): void; - /** Triggered before the cell is going to be selected. */ - cellSelecting? (e: CellSelectingEventArgs): void; + /** Triggered before the cell is going to be deselected. */ + cellDeselecting?(e: CellDeselectingEventArgs): void; - /** Triggered after the cell is deselected. */ - cellDeselected? (e: CellDeselectedEventArgs): void; + /** Triggered when the column is being dragged. */ + columnDrag?(e: ColumnDragEventArgs): void; - /** Triggered before the cell is going to be deselected. */ - cellDeselecting? (e: CellDeselectingEventArgs): void; + /** Triggered when column dragging begins. */ + columnDragStart?(e: ColumnDragStartEventArgs): void; - /** Triggered when the column is being dragged. */ - columnDrag? (e: ColumnDragEventArgs): void; + /** Triggered when the column is dropped. */ + columnDrop?(e: ColumnDropEventArgs): void; - /** Triggered when column dragging begins. */ - columnDragStart? (e: ColumnDragStartEventArgs): void; + /** Triggered when the row is being dragged. */ + rowDrag?(e: RowDragEventArgs): void; - /** Triggered when the column is dropped. */ - columnDrop? (e: ColumnDropEventArgs): void; + /** Triggered when row dragging begins. */ + rowDragStart?(e: RowDragStartEventArgs): void; - /** Triggered when the row is being dragged. */ - rowDrag? (e: RowDragEventArgs): void; + /** Triggered when the row is dropped. */ + rowDrop?(e: RowDropEventArgs): void; - /** Triggered when row dragging begins. */ - rowDragStart? (e: RowDragStartEventArgs): void; + /** Triggered after the column is selected. */ + columnSelected?(e: ColumnSelectedEventArgs): void; - /** Triggered when the row is dropped. */ - rowDrop? (e: RowDropEventArgs): void; + /** Triggered before the column is going to be selected. */ + columnSelecting?(e: ColumnSelectingEventArgs): void; - /** Triggered after the column is selected. */ - columnSelected? (e: ColumnSelectedEventArgs): void; + /** Triggered after the column is deselected. */ + columnDeselected?(e: ColumnDeselectedEventArgs): void; - /** Triggered before the column is going to be selected. */ - columnSelecting? (e: ColumnSelectingEventArgs): void; + /** Triggered before the column is going to be deselected. */ + columnDeselecting?(e: ColumnDeselectingEventArgs): void; - /** Triggered after the column is deselected. */ - columnDeselected? (e: ColumnDeselectedEventArgs): void; + /** Triggered when context menu item is clicked */ + contextClick?(e: ContextClickEventArgs): void; - /** Triggered before the column is going to be deselected. */ - columnDeselecting? (e: ColumnDeselectingEventArgs): void; + /** Triggered before the context menu is opened. */ + contextOpen?(e: ContextOpenEventArgs): void; - /** Triggered when context menu item is clicked */ - contextClick? (e: ContextClickEventArgs): void; + /** Triggered when the grid is rendered completely. */ + create?(e: CreateEventArgs): void; - /** Triggered before the context menu is opened. */ - contextOpen? (e: ContextOpenEventArgs): void; + /** Triggered when the grid is bound with data during initial rendering. */ + dataBound?(e: DataBoundEventArgs): void; - /** Triggered when the grid is rendered completely. */ - create? (e: CreateEventArgs): void; + /** Triggered when grid going to destroy. */ + destroy?(e: DestroyEventArgs): void; - /** Triggered when the grid is bound with data during initial rendering. */ - dataBound? (e: DataBoundEventArgs): void; + /** Triggered when detail template row is clicked to collapse. */ + detailsCollapse?(e: DetailsCollapseEventArgs): void; - /** Triggered when grid going to destroy. */ - destroy? (e: DestroyEventArgs): void; + /** Triggered detail template row is initialized. */ + detailsDataBound?(e: DetailsDataBoundEventArgs): void; - /** Triggered when detail template row is clicked to collapse. */ - detailsCollapse? (e: DetailsCollapseEventArgs): void; + /** Triggered when detail template row is clicked to expand. */ + detailsExpand?(e: DetailsExpandEventArgs): void; - /** Triggered detail template row is initialized. */ - detailsDataBound? (e: DetailsDataBoundEventArgs): void; + /** Triggered after the record is added. */ + endAdd?(e: EndAddEventArgs): void; - /** Triggered when detail template row is clicked to expand. */ - detailsExpand? (e: DetailsExpandEventArgs): void; + /** Triggered after the record is deleted. */ + endDelete?(e: EndDeleteEventArgs): void; - /** Triggered after the record is added. */ - endAdd? (e: EndAddEventArgs): void; + /** Triggered after the record is edited. */ + endEdit?(e: EndEditEventArgs): void; - /** Triggered after the record is deleted. */ - endDelete? (e: EndDeleteEventArgs): void; + /** Triggered initial load. */ + load?(e: LoadEventArgs): void; - /** Triggered after the record is edited. */ - endEdit? (e: EndEditEventArgs): void; + /** Triggered every time a request is made to access particular cell information, element and data. */ + mergeCellInfo?(e: MergeCellInfoEventArgs): void; - /** Triggered initial load. */ - load? (e: LoadEventArgs): void; + /** Triggered every time a request is made to access particular cell information, element and data. */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; - /** Triggered every time a request is made to access particular cell information, element and data. */ - mergeCellInfo? (e: MergeCellInfoEventArgs): void; + /** Triggered when record is clicked. */ + recordClick?(e: RecordClickEventArgs): void; - /** Triggered every time a request is made to access particular cell information, element and data. */ - queryCellInfo? (e: QueryCellInfoEventArgs): void; + /** Triggered when record is double clicked. */ + recordDoubleClick?(e: RecordDoubleClickEventArgs): void; - /** Triggered when record is clicked. */ - recordClick? (e: RecordClickEventArgs): void; + /** Triggered after column resized. */ + resized?(e: ResizedEventArgs): void; - /** Triggered when record is double clicked. */ - recordDoubleClick? (e: RecordDoubleClickEventArgs): void; + /** Triggered when column resize end. */ + resizeEnd?(e: ResizeEndEventArgs): void; - /** Triggered after column resized. */ - resized? (e: ResizedEventArgs): void; + /** Triggered when column resize start. */ + resizeStart?(e: ResizeStartEventArgs): void; - /** Triggered when column resize end. */ - resizeEnd? (e: ResizeEndEventArgs): void; + /** Triggered when right clicked on grid element. */ + rightClick?(e: RightClickEventArgs): void; - /** Triggered when column resize start. */ - resizeStart? (e: ResizeStartEventArgs): void; + /** Triggered every time a request is made to access row information, element and data. */ + rowDataBound?(e: RowDataBoundEventArgs): void; - /** Triggered when right clicked on grid element. */ - rightClick? (e: RightClickEventArgs): void; + /** Triggered after the row is selected. */ + rowSelected?(e: RowSelectedEventArgs): void; - /** Triggered every time a request is made to access row information, element and data. */ - rowDataBound? (e: RowDataBoundEventArgs): void; + /** Triggered before the row is going to be selected. */ + rowSelecting?(e: RowSelectingEventArgs): void; - /** Triggered after the row is selected. */ - rowSelected? (e: RowSelectedEventArgs): void; + /** Triggered after the row is deselected. */ + rowDeselected?(e: RowDeselectedEventArgs): void; - /** Triggered before the row is going to be selected. */ - rowSelecting? (e: RowSelectingEventArgs): void; + /** Triggered before the row is going to be deselected. */ + rowDeselecting?(e: RowDeselectingEventArgs): void; - /** Triggered after the row is deselected. */ - rowDeselected? (e: RowDeselectedEventArgs): void; + /** Triggered when refresh the template column elements in the Grid. */ + templateRefresh?(e: TemplateRefreshEventArgs): void; - /** Triggered before the row is going to be deselected. */ - rowDeselecting? (e: RowDeselectingEventArgs): void; + /** Triggered when toolbar item is clicked in grid. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } - /** Triggered when refresh the template column elements in the Grid. */ - templateRefresh? (e: TemplateRefreshEventArgs): void; + export interface ActionBeginEventArgs { - /** Triggered when toolbar item is clicked in grid. */ - toolbarClick? (e: ToolbarClickEventArgs): void; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ActionBeginEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns the grid model. - */ - model?: any; + /** Returns the current selected page number. + */ + currentPage?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the previous selected page number. + */ + previousPage?: number; - /** Returns the current selected page number. - */ - currentPage?: number; + /** Returns the end row index of that current page. + */ + endIndex?: number; - /** Returns the previous selected page number. - */ - previousPage?: number; + /** Returns request type. + */ + requestType?: string; - /** Returns the end row index of that current page. - */ - endIndex?: number; + /** Returns the start row index of that current page. + */ + startIndex?: number; - /** Returns request type. - */ - requestType?: string; + /** Returns the current grouped column field name. + */ + columnName?: string; - /** Returns the start row index of that current page. - */ - startIndex?: number; + /** Returns the column sort direction. + */ + columnSortDirection?: string; - /** Returns the current grouped column field name. - */ - columnName?: string; + /** Returns current edited row. + */ + row?: any; - /** Returns the column sort direction. - */ - columnSortDirection?: string; + /** Returns the current action event type. + */ + originalEventType?: string; - /** Returns current edited row. - */ - row?: any; + /** Returns primary key. + */ + primaryKey?: string; - /** Returns the current action event type. - */ - originalEventType?: string; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns primary key. - */ - primaryKey?: string; + /** Returns the edited row index. + */ + rowIndex?: number; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the record object (JSON). + */ + data?: any; - /** Returns the edited row index. - */ - rowIndex?: number; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns the record object (JSON). - */ - data?: any; + /** Returns the selected row index. + */ + selectedRow?: number; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns selected row for delete. + */ + tr?: any; - /** Returns the selected row index. - */ - selectedRow?: number; + /** Returns current filtering column field name. + */ + currentFilteringColumn?: any; - /** Returns selected row for delete. - */ - tr?: any; + /** Returns current filtering object. + */ + currentFilterObject?: any; - /** Returns current filtering column field name. - */ - currentFilteringColumn?: any; + /** Returns filter details. + */ + filterCollection?: any; - /** Returns current filtering object. - */ - currentFilterObject?: any; + /** Returns type of the column like number, string and so on. + */ + columnType?: string; - /** Returns filter details. - */ - filterCollection?: any; + /** Returns the excel filter model. + */ + filtermodel?: any; - /** Returns type of the column like number, string and so on. - */ - columnType?: string; + /** Returns the dataSource. + */ + dataSource?: any; - /** Returns the excel filter model. - */ - filtermodel?: any; + /** Returns the query manager. + */ + query?: any; - /** Returns the dataSource. - */ - dataSource?: any; + /** Returns the customfilter option value. + */ + isCustomFilter?: boolean; + } - /** Returns the query manager. - */ - query?: any; + export interface ActionCompleteEventArgs { - /** Returns the customfilter option value. - */ - isCustomFilter?: boolean; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ActionCompleteEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns request type. + */ + requestType?: string; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns the current selected page number. + */ + currentPage?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the previous selected page number. + */ + previousPage?: number; - /** Returns the current selected page number. - */ - currentPage?: number; + /** Returns the end row index of that current page. + */ + endIndex?: number; - /** Returns the previous selected page number. - */ - previousPage?: number; + /** Returns current action event type. + */ + originalEventType?: string; - /** Returns the end row index of that current page. - */ - endIndex?: number; + /** Returns the start row index of the current page. + */ + startIndex?: number; - /** Returns current action event type. - */ - originalEventType?: string; + /** Returns grid element. + */ + target?: any; - /** Returns the start row index of the current page. - */ - startIndex?: number; + /** Returns the current sorted column field name. + */ + columnName?: string; - /** Returns grid element. - */ - target?: any; + /** Returns the column sort direction. + */ + columnSortDirection?: string; - /** Returns the current sorted column field name. - */ - columnName?: string; + /** Returns current edited row. + */ + row?: any; - /** Returns the column sort direction. - */ - columnSortDirection?: string; + /** Returns primary key. + */ + primaryKey?: string; - /** Returns current edited row. - */ - row?: any; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns primary key. - */ - primaryKey?: string; + /** Returns the edited row index. + */ + rowIndex?: number; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the record object (JSON). + */ + data?: any; - /** Returns the edited row index. - */ - rowIndex?: number; + /** Returns the selectedRow index. + */ + selectedRow?: number; - /** Returns the record object (JSON). - */ - data?: any; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns the selectedRow index. - */ - selectedRow?: number; + /** Returns selected row for delete. + */ + tr?: any; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; - /** Returns selected row for delete. - */ - tr?: any; + /** Returns current filtering object. + */ + currentFilterObject?: any; - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; + /** Returns filter details. + */ + filterCollection?: any; - /** Returns current filtering object. - */ - currentFilterObject?: any; + /** Returns the dataSource. + */ + dataSource?: any; - /** Returns filter details. - */ - filterCollection?: any; + /** Returns the excel filter model. + */ + filtermodel?: any; - /** Returns the dataSource. - */ - dataSource?: any; + /** Returns type of the column like number, string and so on. + */ + columnType?: string; - /** Returns the excel filter model. - */ - filtermodel?: any; + /** Returns the customfilter option value. + */ + isCustomFilter?: boolean; + } - /** Returns type of the column like number, string and so on. - */ - columnType?: string; + export interface ActionFailureEventArgs { - /** Returns the customfilter option value. - */ - isCustomFilter?: boolean; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ActionFailureEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns request type. + */ + requestType?: string; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns the error return by server. + */ + error?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the current selected page number. + */ + currentPage?: number; - /** Returns the error return by server. - */ - error?: any; + /** Returns the previous selected page number. + */ + previousPage?: number; - /** Returns the current selected page number. - */ - currentPage?: number; + /** Returns the end row index of that current page. + */ + endIndex?: number; - /** Returns the previous selected page number. - */ - previousPage?: number; + /** Returns current action event type. + */ + originalEventType?: string; - /** Returns the end row index of that current page. - */ - endIndex?: number; + /** Returns the start row index of the current page. + */ + startIndex?: number; - /** Returns current action event type. - */ - originalEventType?: string; + /** Returns grid element. + */ + target?: any; - /** Returns the start row index of the current page. - */ - startIndex?: number; + /** Returns the current sorted column field name. + */ + columnName?: string; - /** Returns grid element. - */ - target?: any; + /** Returns the column sort direction. + */ + columnSortDirection?: string; - /** Returns the current sorted column field name. - */ - columnName?: string; + /** Returns current edited row. + */ + row?: any; - /** Returns the column sort direction. - */ - columnSortDirection?: string; + /** Returns primary key. + */ + primaryKey?: string; - /** Returns current edited row. - */ - row?: any; + /** Returns primary key value. + */ + primaryKeyValue?: string; - /** Returns primary key. - */ - primaryKey?: string; + /** Returns the edited row index. + */ + rowIndex?: number; - /** Returns primary key value. - */ - primaryKeyValue?: string; + /** Returns the record object (JSON). + */ + data?: any; - /** Returns the edited row index. - */ - rowIndex?: number; + /** Returns the selectedRow index. + */ + selectedRow?: number; - /** Returns the record object (JSON). - */ - data?: any; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns the selectedRow index. - */ - selectedRow?: number; + /** Returns selected row for delete. + */ + tr?: any; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; - /** Returns selected row for delete. - */ - tr?: any; + /** Returns current filtering object. + */ + currentFilterObject?: any; - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; + /** Returns filter details. + */ + filterCollection?: any; + } - /** Returns current filtering object. - */ - currentFilterObject?: any; + export interface BatchAddEventArgs { - /** Returns filter details. - */ - filterCollection?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BatchAddEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the column object. + */ + columnObject?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the column index. + */ + columnIndex?: number; - /** Returns the column object. - */ - columnObject?: any; + /** Returns the row element. + */ + row?: any; - /** Returns the column index. - */ - columnIndex?: number; + /** Returns the primaryKey. + */ + primaryKey?: any; - /** Returns the row element. - */ - row?: any; + /** Returns the cell object. + */ + cell?: any; + } - /** Returns the primaryKey. - */ - primaryKey?: any; + export interface BatchDeleteEventArgs { - /** Returns the cell object. - */ - cell?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BatchDeleteEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the primary key. + */ + primaryKey?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the row Index. + */ + rowIndex?: number; + } - /** Returns the primary key. - */ - primaryKey?: any; + export interface BeforeBatchAddEventArgs { - /** Returns the row Index. - */ - rowIndex?: number; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BeforeBatchAddEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the default data object. + */ + defaultData?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the primaryKey. + */ + primaryKey?: any; + } - /** Returns the default data object. - */ - defaultData?: any; + export interface BeforeBatchDeleteEventArgs { - /** Returns the primaryKey. - */ - primaryKey?: any; -} + /** Returns the grid model. + */ + model?: any; -export interface BeforeBatchDeleteEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the primaryKey. + */ + primaryKey?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the row index. + */ + rowIndex?: number; - /** Returns the primaryKey. - */ - primaryKey?: any; + /** Returns the row data. + */ + rowData?: any; - /** Returns the row index. - */ - rowIndex?: number; + /** Returns the row element. + */ + row?: any; + } - /** Returns the row data. - */ - rowData?: any; + export interface BeforeBatchSaveEventArgs { - /** Returns the row element. - */ - row?: any; -} + /** Returns the grid model. + */ + model?: any; -export interface BeforeBatchSaveEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the changed record object. + */ + batchChanges?: any; + } - /** Returns the name of the event. - */ - type?: string; + export interface BeforePrintEventArgs { - /** Returns the changed record object. - */ - batchChanges?: any; -} + /** Returns the grid model. + */ + model?: any; -export interface BeforePrintEventArgs { + /** Returns the name of the event. + */ + type?: string; - /** Returns the grid model. - */ - model?: any; + /** Returns the Grid element. + */ + element?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the selected records. + */ + selectedRows?: any; + } - /** Returns the Grid element. - */ - element?: any; + export interface BeforeRowDropEventArgs { - /** Returns the selected records. - */ - selectedRows?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BeforeRowDropEventArgs { + /** Returns the targeted row. + */ + target?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the targeted row index. + */ + targetIndex?: any; - /** Returns the targeted row. - */ - target?: any; + /** Returns the dragged record details + */ + draggedRecords?: any; - /** Returns the targeted row index. - */ - targetIndex?: any; + /** Returns the drop details + */ + dropDetails?: any; + } - /** Returns the dragged record details - */ - draggedRecords?: any; + export interface BeginEditEventArgs { - /** Returns the drop details - */ - dropDetails?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface BeginEditEventArgs { + /** Returns the current edited row. + */ + row?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns the current edited row. - */ - row?: any; + /** Returns the primary key. + */ + primaryKey?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the primary key value. + */ + primaryKeyValue?: any; - /** Returns the primary key. - */ - primaryKey?: any; + /** Returns the edited row index. + */ + rowIndex?: number; - /** Returns the primary key value. - */ - primaryKeyValue?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the edited row index. - */ - rowIndex?: number; + export interface CellEditEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface CellEditEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the validation rules. + */ + validationRules?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the column name. + */ + columnName?: string; - /** Returns the validation rules. - */ - validationRules?: any; + /** Returns the cell value. + */ + value?: string; - /** Returns the column name. - */ - columnName?: string; + /** Returns the row data object. + */ + rowData?: any; - /** Returns the cell value. - */ - value?: string; + /** Returns the previous value of the cell. + */ + previousValue?: string; - /** Returns the row data object. - */ - rowData?: any; + /** Returns the column object. + */ + columnObject?: any; - /** Returns the previous value of the cell. - */ - previousValue?: string; + /** Returns the cell object. + */ + cell?: any; - /** Returns the column object. - */ - columnObject?: any; + /** Returns isForeignKey option value. + */ + isForeignKey?: boolean; + } - /** Returns the cell object. - */ - cell?: any; + export interface CellSaveEventArgs { - /** Returns isForeignKey option value. - */ - isForeignKey?: boolean; -} + /** Returns the grid model. + */ + model?: any; -export interface CellSaveEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the column name. + */ + columnName?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cell value. + */ + value?: string; - /** Returns the column name. - */ - columnName?: string; + /** Returns the row data object. + */ + rowData?: any; - /** Returns the cell value. - */ - value?: string; + /** Returns the previous value of the cell. + */ + previousValue?: string; - /** Returns the row data object. - */ - rowData?: any; + /** Returns the column object. + */ + columnObject?: any; - /** Returns the previous value of the cell. - */ - previousValue?: string; + /** Returns the cell object. + */ + cell?: any; - /** Returns the column object. - */ - columnObject?: any; + /** Returns isForeignKey option value. + */ + isForeignKey?: boolean; + } - /** Returns the cell object. - */ - cell?: any; + export interface CellSelectedEventArgs { - /** Returns isForeignKey option value. - */ - isForeignKey?: boolean; -} + /** Returns the selected cell index value. + */ + cellIndex?: number; -export interface CellSelectedEventArgs { + /** Returns the previous selected cell index value. + */ + previousRowCellIndex?: number; - /** Returns the selected cell index value. - */ - cellIndex?: number; + /** Returns the selected cell element. + */ + currentCell?: any; - /** Returns the previous selected cell index value. - */ - previousRowCellIndex?: number; + /** Returns the previous selected cell element. + */ + previousRowCell?: any; - /** Returns the selected cell element. - */ - currentCell?: any; + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the previous selected cell element. - */ - previousRowCell?: any; + /** Returns the selected row cell index values. + */ + selectedRowCellIndex?: any[]; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the selected row cell index values. - */ - selectedRowCellIndex?: Array; + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface CellSelectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the selected cell index value. + */ + cellIndex?: number; -export interface CellSelectingEventArgs { + /** Returns the previous selected cell index value. + */ + previousRowCellIndex?: number; - /** Returns the selected cell index value. - */ - cellIndex?: number; + /** Returns the selected cell element. + */ + currentCell?: any; - /** Returns the previous selected cell index value. - */ - previousRowCellIndex?: number; + /** Returns the previous selected cell element. + */ + previousRowCell?: any; - /** Returns the selected cell element. - */ - currentCell?: any; + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the previous selected cell element. - */ - previousRowCell?: any; + /** Returns whether the ctrl key is pressed while selecting cell + */ + isCtrlKeyPressed?: boolean; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns whether the shift key is pressed while selecting cell + */ + isShiftKeyPressed?: boolean; - /** Returns whether the ctrl key is pressed while selecting cell - */ - isCtrlKeyPressed?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns whether the shift key is pressed while selecting cell - */ - isShiftKeyPressed?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface CellDeselectedEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the deselected cell index value. + */ + cellIndex?: number; -export interface CellDeselectedEventArgs { + /** Returns the deselected cell element. + */ + currentCell?: any; - /** Returns the deselected cell index value. - */ - cellIndex?: number; + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the deselected cell element. - */ - currentCell?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface CellDeselectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the deselecting cell index value. + */ + cellIndex?: number; -export interface CellDeselectingEventArgs { + /** Returns the deselecting cell element. + */ + currentCell?: any; - /** Returns the deselecting cell index value. - */ - cellIndex?: number; + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the deselecting cell element. - */ - currentCell?: any; + /** Returns whether the ctrl key is pressed while deselecting cell + */ + isCtrlKeyPressed?: boolean; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns whether the shift key is pressed while deselecting cell + */ + isShiftKeyPressed?: boolean; - /** Returns whether the ctrl key is pressed while deselecting cell - */ - isCtrlKeyPressed?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns whether the shift key is pressed while deselecting cell - */ - isShiftKeyPressed?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface ColumnDragEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ColumnDragEventArgs { + /** Returns draggable element type. + */ + draggableType?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the draggable column object. + */ + column?: any; - /** Returns draggable element type. - */ - draggableType?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the draggable column object. - */ - column?: any; + /** Returns target elements based on mouse move position. + */ + target?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns target elements based on mouse move position. - */ - target?: any; + export interface ColumnDragStartEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ColumnDragStartEventArgs { + /** Returns draggable element type. + */ + draggableType?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the draggable column object. + */ + column?: any; - /** Returns draggable element type. - */ - draggableType?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the draggable column object. - */ - column?: any; + /** Returns drag start element. + */ + target?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns drag start element. - */ - target?: any; + export interface ColumnDropEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ColumnDropEventArgs { + /** Returns draggable element type. + */ + draggableType?: string; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the draggable column object. + */ + column?: any; - /** Returns draggable element type. - */ - draggableType?: string; + /** Returns the grid model. + */ + model?: any; - /** Returns the draggable column object. - */ - column?: any; + /** Returns dropped dragged element. + */ + target?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns dropped dragged element. - */ - target?: any; + export interface RowDragEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RowDragEventArgs { + /** Returns draggable element type. + */ + draggableType?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the draggable row object. + */ + target?: any; - /** Returns draggable element type. - */ - draggableType?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the draggable row object. - */ - target?: any; + /** Returns target elements based on mouse move position. + */ + currentTarget?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns target elements based on mouse move position. - */ - currentTarget?: any; + /** Returns JSON data of dragged rows. + */ + data?: any; + } - /** Returns the name of the event. - */ - type?: string; + export interface RowDragStartEventArgs { - /** Returns JSON data of dragged rows. - */ - data?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RowDragStartEventArgs { + /** Returns draggable element type. + */ + draggableType?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the draggable row object. + */ + target?: any; - /** Returns draggable element type. - */ - draggableType?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the draggable row object. - */ - target?: any; + /** Returns drag start element cell. + */ + currentTarget?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns drag start element cell. - */ - currentTarget?: any; + /** Returns the JSON data of dragged rows. + */ + data?: any; + } - /** Returns the name of the event. - */ - type?: string; + export interface RowDropEventArgs { - /** Returns the JSON data of dragged rows. - */ - data?: any; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RowDropEventArgs { + /** Returns draggable element type. + */ + draggableType?: string; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the draggable row object. + */ + rows?: any; - /** Returns draggable element type. - */ - draggableType?: string; + /** Returns the grid model. + */ + model?: any; - /** Returns the draggable row object. - */ - rows?: any; + /** Returns the current mouse position cell element. + */ + target?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns the current mouse position cell element. - */ - target?: any; + /** Returns the JSON data of dragged rows. + */ + data?: any; + } - /** Returns the name of the event. - */ - type?: string; + export interface ColumnSelectedEventArgs { - /** Returns the JSON data of dragged rows. - */ - data?: any; -} + /** Returns the selected cell index value. + */ + columnIndex?: number; -export interface ColumnSelectedEventArgs { + /** Returns the previous selected column index value. + */ + previousColumnIndex?: number; - /** Returns the selected cell index value. - */ - columnIndex?: number; + /** Returns the selected header cell element. + */ + headerCell?: any; - /** Returns the previous selected column index value. - */ - previousColumnIndex?: number; + /** Returns the previous selected header cell element. + */ + prevColumnHeaderCell?: any; - /** Returns the selected header cell element. - */ - headerCell?: any; + /** Returns corresponding column object (JSON). + */ + column?: any; - /** Returns the previous selected header cell element. - */ - prevColumnHeaderCell?: any; + /** Returns the selected columns values. + */ + selectedColumnsIndex?: any[]; - /** Returns corresponding column object (JSON). - */ - column?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the selected columns values. - */ - selectedColumnsIndex?: Array; + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface ColumnSelectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the selected column index value. + */ + columnIndex?: number; -export interface ColumnSelectingEventArgs { + /** Returns the previous selected column index value. + */ + previousColumnIndex?: number; - /** Returns the selected column index value. - */ - columnIndex?: number; + /** Returns the selected header cell element. + */ + headerCell?: any; - /** Returns the previous selected column index value. - */ - previousColumnIndex?: number; + /** Returns the previous selected header cell element. + */ + prevColumnHeaderCell?: any; - /** Returns the selected header cell element. - */ - headerCell?: any; + /** Returns corresponding column object (JSON). + */ + column?: any; - /** Returns the previous selected header cell element. - */ - prevColumnHeaderCell?: any; + /** Returns whether the ctrl key is pressed while selecting cell + */ + isCtrlKeyPressed?: boolean; - /** Returns corresponding column object (JSON). - */ - column?: any; + /** Returns whether the shift key is pressed while selecting cell + */ + isShiftKeyPressed?: boolean; - /** Returns whether the ctrl key is pressed while selecting cell - */ - isCtrlKeyPressed?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns whether the shift key is pressed while selecting cell - */ - isShiftKeyPressed?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface ColumnDeselectedEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the Deselected column index value. + */ + columnIndex?: number; -export interface ColumnDeselectedEventArgs { + /** Returns the Deselected column header element. + */ + headerCell?: any; - /** Returns the Deselected column index value. - */ - columnIndex?: number; + /** Returns corresponding column object (JSON). + */ + column?: any; - /** Returns the Deselected column header element. - */ - headerCell?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns corresponding column object (JSON). - */ - column?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface ColumnDeselectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the deselecting column index value. + */ + columnIndex?: number; -export interface ColumnDeselectingEventArgs { + /** Returns the deselecting column header element. + */ + headerCell?: any; - /** Returns the deselecting column index value. - */ - columnIndex?: number; + /** Returns corresponding column object (JSON). + */ + column?: any; - /** Returns the deselecting column header element. - */ - headerCell?: any; + /** Returns whether the ctrl key is pressed while deselecting column + */ + isCtrlKeyPressed?: boolean; - /** Returns corresponding column object (JSON). - */ - column?: any; + /** Returns whether the shift key is pressed while deselecting column + */ + isShiftKeyPressed?: boolean; - /** Returns whether the ctrl key is pressed while deselecting column - */ - isCtrlKeyPressed?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns whether the shift key is pressed while deselecting column - */ - isShiftKeyPressed?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface ContextClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ContextClickEventArgs { + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns the status of contextmenu item which denotes its enabled state + */ + status?: boolean; - /** Returns the grid model. - */ - model?: any; + /** Returns the target item. + */ + target?: any; - /** Returns the status of contextmenu item which denotes its enabled state - */ - status?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the target item. - */ - target?: any; + export interface ContextOpenEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ContextOpenEventArgs { + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns the status of contextmenu item which denotes its enabled state + */ + status?: boolean; - /** Returns the grid model. - */ - model?: any; + /** Returns the target item. + */ + target?: any; - /** Returns the status of contextmenu item which denotes its enabled state - */ - status?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the target item. - */ - target?: any; + export interface CreateEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface CreateEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface DataBoundEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface DataBoundEventArgs { + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface DestroyEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface DestroyEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns deleted data. - */ - data?: any; + export interface DetailsCollapseEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface DetailsCollapseEventArgs { + /** Returns detail row element. + */ + detailsRow?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns master row of detail row record object (JSON). + */ + masterData?: any; - /** Returns detail row element. - */ - detailsRow?: any; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns master row of detail row record object (JSON). - */ - masterData?: any; + /** Returns master row element. + */ + masterRow?: any; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns master row element. - */ - masterRow?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface DetailsDataBoundEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface DetailsDataBoundEventArgs { + /** Returns details row element. + */ + detailsElement?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the details row data. + */ + data?: any; - /** Returns details row element. - */ - detailsElement?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the details row data. - */ - data?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface DetailsExpandEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface DetailsExpandEventArgs { + /** Returns detail row element. + */ + detailsRow?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns master row of detail row record object (JSON). + */ + masterData?: any; - /** Returns detail row element. - */ - detailsRow?: any; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns master row of detail row record object (JSON). - */ - masterData?: any; + /** Returns master row element. + */ + masterRow?: any; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns master row element. - */ - masterRow?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface EndAddEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface EndAddEventArgs { + /** Returns added data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns added data. - */ - data?: any; + export interface EndDeleteEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface EndDeleteEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns deleted data. - */ - data?: any; + export interface EndEditEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface EndEditEventArgs { + /** Returns modified data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns modified data. - */ - data?: any; + export interface LoadEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface LoadEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns deleted data. - */ - data?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface MergeCellInfoEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns grid cell. + */ + cell?: any; -export interface MergeCellInfoEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns grid cell. - */ - cell?: any; + /** Returns current row record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the text value in the cell. + */ + text?: string; - /** Returns current row record object (JSON). - */ - data?: any; + /** Returns the column object. + */ + column?: any; - /** Returns the text value in the cell. - */ - text?: string; + /** Method to merge Grid rows. + */ + rowMerge?: any; - /** Returns the column object. - */ - column?: any; + /** Method to merge Grid columns. + */ + colMerge?: any; - /** Method to merge Grid rows. - */ - rowMerge?: void; + /** Method to merge Grid rows and columns. + */ + merge?: any; - /** Method to merge Grid columns. - */ - colMerge?: void; + /** Returns the grid model. + */ + model?: any; - /** Method to merge Grid rows and columns. - */ - merge?: void; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface QueryCellInfoEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns grid cell. + */ + cell?: any; -export interface QueryCellInfoEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns grid cell. - */ - cell?: any; + /** Returns current row record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the text value in the cell. + */ + text?: string; - /** Returns current row record object (JSON). - */ - data?: any; + /** Returns the column object. + */ + column?: any; - /** Returns the text value in the cell. - */ - text?: string; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns the column object. - */ - column?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface RecordClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RecordClickEventArgs { + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the row index of the selected row. + */ + rowIndex?: number; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the jQuery object of the current selected row. + */ + row?: any; - /** Returns the row index of the selected row. - */ - rowIndex?: number; + /** Returns the current selected cell. + */ + cell?: any; - /** Returns the jQuery object of the current selected row. - */ - row?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the current selected cell. - */ - cell?: any; + /** Returns the cell index value. + */ + cellIndex?: number; - /** Returns the grid model. - */ - model?: any; + /** Returns the corresponding cell value. + */ + cellValue?: string; - /** Returns the cell index value. - */ - cellIndex?: number; + /** Returns the Header text of the column corresponding to the selected cell. + */ + columnName?: string; - /** Returns the corresponding cell value. - */ - cellValue?: string; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the Header text of the column corresponding to the selected cell. - */ - columnName?: string; + export interface RecordDoubleClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RecordDoubleClickEventArgs { + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the row index of the selected row. + */ + rowIndex?: number; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the jQuery object of the current selected row. + */ + row?: any; - /** Returns the row index of the selected row. - */ - rowIndex?: number; + /** Returns the current selected cell. + */ + cell?: any; - /** Returns the jQuery object of the current selected row. - */ - row?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the current selected cell. - */ - cell?: any; + /** Returns the selected cell index value. + */ + cellIndex?: number; - /** Returns the grid model. - */ - model?: any; + /** Returns the corresponding cell value. + */ + cellValue?: string; - /** Returns the selected cell index value. - */ - cellIndex?: number; + /** Returns the Header text of the column corresponding to the selected cell. + */ + columnName?: string; - /** Returns the corresponding cell value. - */ - cellValue?: string; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the Header text of the column corresponding to the selected cell. - */ - columnName?: string; + export interface ResizedEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the grid model. + */ + model?: any; -export interface ResizedEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the grid model. - */ - model?: any; + /** Returns deleted data. + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the column index. + */ + columnIndex?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the column object. + */ + column?: any; - /** Returns the column index. - */ - columnIndex?: number; + /** Returns the grid object. + */ + target?: any; - /** Returns the column object. - */ - column?: any; + /** Returns the old width value. + */ + oldWidth?: number; - /** Returns the grid object. - */ - target?: any; + /** Returns the new width value. + */ + newWidth?: number; + } - /** Returns the old width value. - */ - oldWidth?: number; + export interface ResizeEndEventArgs { - /** Returns the new width value. - */ - newWidth?: number; -} + /** Returns the grid model. + */ + model?: any; -export interface ResizeEndEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the column index. + */ + columnIndex?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the column object. + */ + column?: any; - /** Returns the column index. - */ - columnIndex?: number; + /** Returns the grid object. + */ + target?: any; - /** Returns the column object. - */ - column?: any; + /** Returns the old width value. + */ + oldWidth?: number; - /** Returns the grid object. - */ - target?: any; + /** Returns the new width value. + */ + newWidth?: number; - /** Returns the old width value. - */ - oldWidth?: number; + /** Returns the extra width value. + */ + extra?: number; + } - /** Returns the new width value. - */ - newWidth?: number; + export interface ResizeStartEventArgs { - /** Returns the extra width value. - */ - extra?: number; -} + /** Returns the grid model. + */ + model?: any; -export interface ResizeStartEventArgs { + /** Returns deleted data. + */ + data?: any; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns deleted data. - */ - data?: any; + /** Returns the column index. + */ + columnIndex?: number; - /** Returns the name of the event. - */ - type?: string; + /** Returns the column object. + */ + column?: any; - /** Returns the column index. - */ - columnIndex?: number; + /** Returns the grid object. + */ + target?: any; - /** Returns the column object. - */ - column?: any; + /** Returns the old width value. + */ + oldWidth?: number; + } - /** Returns the grid object. - */ - target?: any; + export interface RightClickEventArgs { - /** Returns the old width value. - */ - oldWidth?: number; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RightClickEventArgs { + /** Returns current record object (JSON). + */ + currentData?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the row index of the selected row. + */ + rowIndex?: number; - /** Returns current record object (JSON). - */ - currentData?: any; + /** Returns the current selected row. + */ + row?: any; - /** Returns the row index of the selected row. - */ - rowIndex?: number; + /** Returns the selected row data object. + */ + data?: any; - /** Returns the current selected row. - */ - row?: any; + /** Returns the cell index of the selected cell. + */ + cellIndex?: number; - /** Returns the selected row data object. - */ - data?: any; + /** Returns the cell value. + */ + cellValue?: string; - /** Returns the cell index of the selected cell. - */ - cellIndex?: number; + /** Returns the cell object. + */ + cell?: any; - /** Returns the cell value. - */ - cellValue?: string; + /** Returns the grid model. + */ + model?: any; - /** Returns the cell object. - */ - cell?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface RowDataBoundEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns grid row. + */ + row?: any; -export interface RowDataBoundEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns grid row. - */ - row?: any; + /** Returns current row record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns current row record object (JSON). - */ - data?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface RowSelectedEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface RowSelectedEventArgs { + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the row index of the selected row. + */ + rowIndex?: number; - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; + /** Returns the current selected row. + */ + row?: any; - /** Returns the row index of the selected row. - */ - rowIndex?: number; + /** Returns the previous selected row element. + */ + prevRow?: any; - /** Returns the current selected row. - */ - row?: any; + /** Returns the previous selected row index. + */ + prevRowIndex?: number; - /** Returns the previous selected row element. - */ - prevRow?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the previous selected row index. - */ - prevRowIndex?: number; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface RowSelectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the selected row index value. + */ + rowIndex?: number; -export interface RowSelectingEventArgs { + /** Returns the selected row element. + */ + row?: any; - /** Returns the selected row index value. - */ - rowIndex?: number; + /** Returns the previous selected row element. + */ + prevRow?: any; - /** Returns the selected row element. - */ - row?: any; + /** Returns the previous selected row index. + */ + prevRowIndex?: number; - /** Returns the previous selected row element. - */ - prevRow?: any; + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the previous selected row index. - */ - prevRowIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface RowDeselectedEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns current record object (JSON). + */ + data?: any; -export interface RowDeselectedEventArgs { + /** Returns the row index of the deselected row. + */ + rowIndex?: number; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns the current deselected row element. + */ + row?: any; - /** Returns the row index of the deselected row. - */ - rowIndex?: number; + /** Returns the grid model. + */ + model?: any; - /** Returns the current deselected row element. - */ - row?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface RowDeselectingEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the deselecting row index value. + */ + rowIndex?: number; -export interface RowDeselectingEventArgs { + /** Returns the deselecting row element. + */ + row?: any; - /** Returns the deselecting row index value. - */ - rowIndex?: number; + /** Returns current record object (JSON). + */ + data?: any; - /** Returns the deselecting row element. - */ - row?: any; + /** Returns whether the ctrl key is pressed while deselecting row + */ + isCtrlKeyPressed?: boolean; - /** Returns current record object (JSON). - */ - data?: any; + /** Returns whether the shift key is pressed while deselecting row + */ + isShiftKeyPressed?: boolean; - /** Returns whether the ctrl key is pressed while deselecting row - */ - isCtrlKeyPressed?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns whether the shift key is pressed while deselecting row - */ - isShiftKeyPressed?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the grid model. - */ - model?: any; + export interface TemplateRefreshEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface TemplateRefreshEventArgs { + /** Returns the cell object. + */ + cell?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the column object. + */ + column?: any; - /** Returns the cell object. - */ - cell?: any; + /** Returns the current row data. + */ + data?: any; - /** Returns the column object. - */ - column?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the current row data. - */ - data?: any; + /** Returns the current row index. + */ + rowIndex?: number; - /** Returns the grid model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the current row index. - */ - rowIndex?: number; + export interface ToolbarClickEventArgs { - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the cancel option value. + */ + cancel?: boolean; -export interface ToolbarClickEventArgs { + /** Returns the current item. + */ + currentTarget?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the grid model. + */ + model?: any; - /** Returns the current item. - */ - currentTarget?: any; + /** Returns the status of toolbar item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the grid model. + */ + gridModel?: any; + + /** Returns the toolbar object of the selected toolbar element. + */ + toolbarData?: any; + + /** Returns the Id of the current toolbar element. + */ + itemId?: string; + + /** Returns the index of the current toolbar element. + */ + itemIndex?: number; + + /** Returns the name of the current toolbar element. + */ + itemName?: string; + } + + export interface ColumnsCommand { + + /** Gets or sets an object that indicates to define all the button options which are available in ejButton. + */ + buttonOptions?: any; + + /** Gets or sets a value that indicates to add the command column button. See unboundType + */ + type?: ej.Grid.UnboundType | string; + } + + export interface Column { + + /** Sets the clip mode for Grid cell as ellipsis or clipped content(both header and content) + * @Default {ej.Grid.ClipMode.Clip} + */ + clipMode?: ej.Grid.ClipMode | string; + + /** Gets or sets a value that indicates whether to enable editing behavior for particular column. + * @Default {true} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic filtering behavior for particular column. + * @Default {true} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic grouping behavior for particular column. + * @Default {true} + */ + allowGrouping?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic sorting behavior for particular column. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic resizable for particular column. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets an object that indicates to define a command column in the grid. + * @Default {[]} + */ + commands?: ColumnsCommand[]; + + /** Gets or sets a value that indicates to provide custom CSS for an individual column. + */ + cssClass?: string; + + /** Gets or sets a value that indicates the attribute values to the td element of a particular column + */ + customAttributes?: any; + + /** Gets or sets a value that indicates to bind the external datasource to the particular column when column editType as dropdownedit and also it is used to bind the datasource + * to the foreign key column while editing the grid. //Where data is array of JSON objects of text and value for the drop-down and array of JSON objects for foreign key column. + * @Default {null} + */ + dataSource?: any[]; + + /** Gets or sets a value that indicates to display the specified default value while adding a new record to the grid + */ + defaultValue?: string | number | boolean | Date; + + /** Gets or sets a value that indicates to render the grid content and header with an HTML elements + * @Default {false} + */ + disableHtmlEncode?: boolean; + + /** Gets or sets a value that indicates to display a column value as checkbox or string + * @Default {true} + */ + displayAsCheckBox?: boolean; + + /** Gets or sets a value that indicates to customize ejNumericTextbox of an editable column. See editingType + */ + editParams?: any; + + /** Gets or sets a template that displays a custom editor used to edit column values. See editTemplate + * @Default {null} + */ + editTemplate?: any; + + /** Gets or sets a value that indicates to render the element(based on edit type) for editing the grid record. See editingType + * @Default {ej.Grid.EditingType.String} + */ + editType?: ej.Grid.EditingType | string; + + /** Gets or sets a value that indicates to groups the column based on its column format. + * @Default {false} + */ + enableGroupByFormat?: boolean; + + /** Gets or sets a value that indicates to display the columns in the grid mapping with column name of the dataSource. + */ + field?: string; + + /** Gets or sets a template that customize the filter control from default . See filterBarTemplate + * @Default {null} + */ + filterBarTemplate?: any; + + /** Gets or sets a value that indicates to render the excel or menu filter dialog to the grid columns. See filterType + * @Default {null} + */ + filterType?: ej.Grid.FilterType | string; + + /** Gets or sets a value that indicates to define foreign key field name of the grid datasource. + * @Default {null} + */ + foreignKeyField?: string; + + /** Gets or sets a value that indicates to bind the field which is in foreign column datasource based on the foreignKeyField + * @Default {null} + */ + foreignKeyValue?: string; + + /** Gets or sets a value that indicates the format for the text applied on the column + */ + format?: string; + + /** Gets or sets a value that indicates to add the template within the header element of the particular column. + * @Default {null} + */ + headerTemplateID?: string; + + /** Gets or sets a value that indicates to display the title of that particular column. + */ + headerText?: string; + + /** This defines the text alignment of a particular column header cell value. See headerTextAlign + * @Default {null} + */ + headerTextAlign?: ej.TextAlign | string; + + /** It accepts the string value and shows the tooltip for the Grid column header. + * @Default {null} + */ + headerTooltip?: string; + + /** You can use this property to freeze selected columns in grid at the time of scrolling. + * @Default {false} + */ + isFrozen?: boolean; + + /** Gets or sets a value that indicates the column has an identity in the database. + * @Default {false} + */ + isIdentity?: boolean; + + /** Gets or sets a value that indicates the column is act as a primary key(read-only) of the grid. The editing is performed based on the primary key column + * @Default {false} + */ + isPrimaryKey?: boolean; + + /** Gets or sets a value that indicates the order of Column that are to be hidden or visible when Grid element is in responsive mode and could not occupy all columns. + * @Default {-1} + */ + priority?: number; + + /** Used to hide the particular column in column chooser by giving value as false. + * @Default {true} + */ + showInColumnChooser?: boolean; + + /** Gets or sets a value that indicates whether to enables column template for a particular column. + * @Default {false} + */ + template?: boolean | string; + + /** Gets or sets a value that indicates to align the text within the column. See textAlign + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign | string; + + /** Sets the template for Tooltip in Grid Columns(both header and content) + */ + tooltip?: string; + + /** Gets or sets a value that indicates to specify the data type of the specified columns. + */ + type?: string; + + /** Gets or sets a value that indicates to define constraints for saving data to the database. + */ + validationRules?: any; + + /** Gets or sets a value that indicates whether this column is visible in the grid. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets a value that indicates to define the width for a particular column in the grid. + */ + width?: number; + } + + export interface ContextMenuSettingsSubContextMenu { + + /** Used to get or set the corresponding custom context menu item to which the submenu to be appended. + * @Default {null} + */ + contextMenuItem?: string; + + /** Used to get or set the sub menu items to the custom context menu item. + * @Default {[]} + */ + subMenu?: any[]; + } + + export interface ContextMenuSettings { + + /** Gets or sets a value that indicates whether to add the default context menu actions as a context menu items If enableContextMenu is true it will show all the items related to the target, + * if you want selected items from contextmenu you have to mention in the contextMenuItems + * @Default {[]} + */ + contextMenuItems?: any[]; + + /** Gets or sets a value that indicates whether to add custom contextMenu items within the toolbar to perform any action in the grid + * @Default {[]} + */ + customContextMenuItems?: any[]; + + /** Gets or sets a value that indicates whether to enable the context menu action in the grid. + * @Default {false} + */ + enableContextMenu?: boolean; + + /** Used to get or set the subMenu to the corresponding custom context menu item. + */ + subContextMenu?: ContextMenuSettingsSubContextMenu[]; + + /** Gets or sets a value that indicates whether to disable the default context menu items in the grid. + * @Default {false} + */ + disableDefaultItems?: boolean; + } + + export interface EditSettings { + + /** Gets or sets a value that indicates whether to enable insert action in the editing mode. + * @Default {false} + */ + allowAdding?: boolean; + + /** Gets or sets a value that indicates whether to enable the delete action in the editing mode. + * @Default {false} + */ + allowDeleting?: boolean; + + /** Gets or sets a value that indicates whether to enable the edit action in the editing mode. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable the editing action while double click on the record + * @Default {true} + */ + allowEditOnDblClick?: boolean; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Dialog Box + * @Default {null} + */ + dialogEditorTemplateID?: string; + + /** Gets or sets a value that indicates whether to define the mode of editing See editMode + * @Default {ej.Grid.EditMode.Normal} + */ + editMode?: ej.Grid.EditMode | string; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the External edit form + * @Default {null} + */ + externalFormTemplateID?: string; + + /** This specifies to set the position of an External edit form either in the top-right or bottom-left of the grid + * @Default {ej.Grid.FormPosition.BottomLeft} + */ + formPosition?: ej.Grid.FormPosition | string; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Inline edit form + * @Default {null} + */ + inlineFormTemplateID?: string; + + /** This specifies to set the position of an adding new row either in the top or bottom of the grid + * @Default {ej.Grid.RowPosition.Top} + */ + rowPosition?: ej.Grid.RowPosition | string; + + /** Gets or sets a value that indicates whether the confirm dialog has to be shown while saving or discarding the batch changes + * @Default {true} + */ + showConfirmDialog?: boolean; + + /** Gets or sets a value that indicates whether the confirm dialog has to be shown while deleting record + * @Default {false} + */ + showDeleteConfirmDialog?: boolean; + + /** Gets or sets a value that indicates whether the title for edit form is different from the primarykey column. + * @Default {null} + */ + titleColumn?: string; + + /** Gets or sets a value that indicates whether to display the add new form by default in the grid. + * @Default {false} + */ + showAddNewRow?: boolean; + } + + export interface FilterSettingsFilteredColumn { + + /** Gets or sets a value that indicates whether to define the field name of the column to be filter. + */ + field?: string; + + /** Gets or sets a value that indicates whether to define the matchCase of given value to be filter. + */ + matchCase?: boolean; + + /** Gets or sets a value that indicates whether to define the filter condition to filtered column. See operator + */ + operator?: ej.FilterOperators | string; + + /** Gets or sets a value that indicates whether to define the predicate as and/or. + */ + predicate?: string; + + /** Gets or sets a value that indicates whether to define the value to be filtered in a column. + */ + value?: string | number; + } + + export interface FilterSettings { + + /** Gets or sets a value that indicates to perform the filter operation with case sensitive in excel styled filter menu mode + * @Default {false} + */ + enableCaseSensitivity?: boolean; + + /** Gets or sets a value that indicates to define the interDeterminateState of checkbox in excel filter dialog. + * @Default {true} + */ + enableInterDeterminateState?: boolean; + + /** This specifies the grid to starts the filter action while typing in the filterBar or after pressing the enter key. based on the filterBarMode. See filterBarMode. + * @Default {ej.Grid.FilterBarMode.Immediate} + */ + filterBarMode?: ej.Grid.FilterBarMode | string; + + /** Gets or sets a value that indicates whether to define the filtered columns details programmatically at initial load + * @Default {[]} + */ + filteredColumns?: FilterSettingsFilteredColumn[]; + + /** This specifies the grid to show the filterBar or filterMenu to the grid records. See filterType + * @Default {ej.Grid.FilterType.FilterBar} + */ + filterType?: ej.Grid.FilterType | string; + + /** This specifies the grid to delay the filter action while typing in the filterBar. + * @Default {1500} + */ + immediateModeDelay?: number; + + /** Gets or sets a value that indicates the maximum number of filter choices that can be showed in the excel styled filter menu. + * @Default {1000} + */ + maxFilterChoices?: number; + + /** This specifies the grid to show the filter text within the grid pager itself. + * @Default {true} + */ + showFilterBarMessage?: boolean; + + /** Gets or sets a value that indicates whether to enable the predicate options in the filtering menu + * @Default {false} + */ + showPredicate?: boolean; + } + + export interface GroupSettings { + + /** Gets or sets a value that customize the group caption format. + * @Default {null} + */ + captionFormat?: string; + + /** Gets or sets a value that indicates whether to enable animation button option in the group drop area of the grid. + * @Default {false} + */ + enableDropAreaAutoSizing?: boolean; + + /** Gets or sets a value that indicates whether to add grouped columns programmatically at initial load + * @Default {[]} + */ + groupedColumns?: any[]; + + /** Gets or sets a value that indicates whether to show the group drop area just above the column header. It can be used to avoid ungrouping the already grouped column using groupSettings. + * @Default {true} + */ + showDropArea?: boolean; + + /** Gets or sets a value that indicates whether to hide the grouped columns from the grid + * @Default {false} + */ + showGroupedColumn?: boolean; + + /** Gets or sets a value that indicates whether to show the group button image(toggle button)in the column header and also in the grouped column in the group drop area. + * It can be used to group/ungroup the columns by click on the toggle button. + * @Default {false} + */ + showToggleButton?: boolean; + + /** Gets or sets a value that indicates whether to enable the close button in the grouped column which is in the group drop area to ungroup the grouped column + * @Default {false} + */ + showUngroupButton?: boolean; + } + + export interface PageSettings { + + /** Gets or sets a value that indicates whether to define which page to display currently in the grid + * @Default {1} + */ + currentPage?: number; + + /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. + * @Default {false} + */ + enableQueryString?: boolean; + + /** Gets or sets a value that indicates whether to enables pager template for the grid. + * @Default {false} + */ + enableTemplates?: boolean; + + /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation + * @Default {8} + */ + pageCount?: number; + + /** Gets or sets a value that indicates whether to define the number of records displayed per page + * @Default {12} + */ + pageSize?: number; + + /** Gets or sets a value that indicates whether to enables default pager for the grid. + * @Default {false} + */ + showDefaults?: boolean; + + /** Gets or sets a value that indicates to add the template as a pager template for grid. + * @Default {null} + */ + template?: string; + + /** Get the value of total number of pages in the grid. The totalPages value is calculated based on page size and total records of grid + * @Default {null} + */ + totalPages?: number; + + /** Get the value of total number of records which is bound to the grid. The totalRecordsCount value is calculated based on dataSource bound to the grid. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Gets or sets a value that indicates whether to define the number of pages to print + * @Default {ej.Grid.PrintMode.AllPages} + */ + printMode?: ej.Grid.PrintMode | string; + } + + export interface ResizeSettings { + + /** Gets or sets a value that indicates whether to define the mode of resizing. + * @Default {ej.Grid.ResizeMode.Normal} + */ + resizeMode?: ej.Grid.ResizeMode | string; + } + + export interface RowDropSettings { + + /** This specifies the grid to drop the grid rows only at particular target element. + * @Default {null} + */ + dropTargetID?: any; + + /** This helps in mapping server-side action when rows are dragged from Grid. + * @Default {null} + */ + dragMapper?: string; + + /** This helps in mapping server-side action when rows are dropped in Grid. + * @Default {null} + */ + dropMapper?: string; + } + + export interface SearchSettings { + + /** This specify the grid to search for the value in particular columns that is mentioned in the field. + * @Default {[]} + */ + fields?: any; + + /** This specifies the grid to search the particular data that is mentioned in the key. + */ + key?: string; + + /** It specifies the grid to search the records based on operator. + * @Default {contains} + */ + operator?: string; + + /** It enables or disables case-sensitivity while searching the search key in grid. + * @Default {true} + */ + ignoreCase?: boolean; + } + + export interface SelectionSettings { + + /** Gets or sets a value that indicates the cell selection actions based on the cell selection mode. + * @Default {flow} + */ + cellSelectionMode?: string; + + /** Gets or sets a value that indicates whether to enable the toggle selection behavior for row, cell and column. + * @Default {false} + */ + enableToggle?: boolean; + + /** Gets or sets a value that indicates whether to add the default selection actions as a selection mode.See selectionMode + * @Default {[row]} + */ + selectionMode?: any[]; + } + + export interface ScrollSettings { + + /** This specify the grid to to view data that you require without buffering the entire load of a huge database + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** It accepts the boolean value and shows or hides the scrollbar while focus in or focus out of the Grid. + * @Default {false} + */ + autoHide?: boolean; + + /** Specifies the height and width of button in the scrollbar. + * @Default {18} + */ + buttonSize?: number; + + /** This specify the grid to enable/disable touch control for scrolling. + * @Default {true} + */ + enableTouchScroll?: boolean; + + /** This specify the grid to freeze particular columns at the time of scrolling. + * @Default {0} + */ + frozenColumns?: number; + + /** This specify the grid to freeze particular rows at the time of scrolling. + * @Default {0} + */ + frozenRows?: number; + + /** This specify the grid to show the vertical scroll bar, to scroll and view the grid contents. + * @Default {0} + */ + height?: string | number; + + /** It accepts the integer value and sets the width of scrollbar. + * @Default {18} + */ + scrollerSize?: number; + + /** This is used to define the mode of virtual scrolling in grid. See virtualScrollMode + * @Default {ej.Grid.VirtualScrollMode.Normal} + */ + virtualScrollMode?: ej.Grid.VirtualScrollMode | string; + + /** This is used to enable the enhanced virtual scrolling in Grid. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** This specify the grid to show the horizontal scroll bar, to scroll and view the grid contents + * @Default {250} + */ + width?: string | number; + + /** This specify the scroll down pixel of mouse wheel, to scroll mouse wheel and view the grid contents. + * @Default {57} + */ + scrollOneStepBy?: number; + } + + export interface SortSettingsSortedColumn { + + /** Gets or sets a value that indicates whether to define the direction to sort the column. + */ + direction?: string; + + /** Gets or sets a value that indicates whether to define the field name of the column to be sort + */ + field?: string; + } + + export interface SortSettings { + + /** Gets or sets a value that indicates whether to define the direction and field to sort the column. + */ + sortedColumns?: SortSettingsSortedColumn[]; + } + + export interface StackedHeaderRowsStackedHeaderColumn { + + /** Gets or sets a value that indicates the header text for the particular stacked header column. + * @Default {null} + */ + column?: any; + + /** Gets or sets a value that indicates class to the corresponding stackedHeaderColumn. + * @Default {null} + */ + cssClass?: string; + + /** Gets or sets a value that indicates the header text for the particular stacked header column. + * @Default {null} + */ + headerText?: string; + + /** Gets or sets a value that indicates the text alignment of the corresponding headerText. + * @Default {ej.TextAlign.Left} + */ + textAlign?: string; + + /** Sets the template for tooltip for the Grid stackedHeaderColumns. + * @Default {null} + */ + tooltip?: string; + } + + export interface StackedHeaderRow { + + /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows + * @Default {[]} + */ + stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; + } + + export interface SummaryRowsSummaryColumn { + + /** Gets or sets a value that indicates the text displayed in the summary column as a value + * @Default {null} + */ + customSummaryValue?: string; + + /** This specifies summary column used to perform the summary calculation + * @Default {null} + */ + dataMember?: string; + + /** Gets or sets a value that indicates to define the target column at which to display the summary. + * @Default {null} + */ + displayColumn?: string; + + /** Gets or sets a value that indicates the format for the text applied on the column + * @Default {null} + */ + format?: string; + + /** Gets or sets a value that indicates the text displayed before the summary column value + * @Default {null} + */ + prefix?: string; + + /** Gets or sets a value that indicates the text displayed after the summary column value + * @Default {null} + */ + suffix?: string; - /** Returns the grid model. - */ - model?: any; + /** Gets or sets a value that indicates the type of calculations to be performed for the corresponding summary column + * @Default {[]} + */ + summaryType?: ej.Grid.SummaryType | string; - /** Returns the status of toolbar item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the grid model. - */ - gridModel?: any; - - /** Returns the toolbar object of the selected toolbar element. - */ - toolbarData?: any; - - /** Returns the Id of the current toolbar element. - */ - itemId?: string; - - /** Returns the index of the current toolbar element. - */ - itemIndex?: number; - - /** Returns the name of the current toolbar element. - */ - itemName?: string; -} - -export interface ColumnsCommand { - - /** Gets or sets an object that indicates to define all the button options which are available in ejButton. - */ - buttonOptions?: any; - - /** Gets or sets a value that indicates to add the command column button. See unboundType - */ - type?: ej.Grid.UnboundType|string; -} - -export interface Column { - - /** Sets the clip mode for Grid cell as ellipsis or clipped content(both header and content) - * @Default {ej.Grid.ClipMode.Clip} - */ - clipMode?: ej.Grid.ClipMode|string; - - /** Gets or sets a value that indicates whether to enable editing behavior for particular column. - * @Default {true} - */ - allowEditing?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic filtering behavior for particular column. - * @Default {true} - */ - allowFiltering?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic grouping behavior for particular column. - * @Default {true} - */ - allowGrouping?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic sorting behavior for particular column. - * @Default {true} - */ - allowSorting?: Boolean; - - /** Gets or sets a value that indicates whether to enable dynamic resizable for particular column. - * @Default {true} - */ - allowResizing?: Boolean; - - /** Gets or sets an object that indicates to define a command column in the grid. - * @Default {[]} - */ - commands?: Array; - - /** Gets or sets a value that indicates to provide custom CSS for an individual column. - */ - cssClass?: String; - - /** Gets or sets a value that indicates the attribute values to the td element of a particular column - */ - customAttributes?: any; - - /** Gets or sets a value that indicates to bind the external datasource to the particular column when column editType as dropdownedit and also it is used to bind the datasource to the foreign key column while editing the grid. //Where data is array of JSON objects of text and value for the drop-down and array of JSON objects for foreign key column. - * @Default {null} - */ - dataSource?: Array; - - /** Gets or sets a value that indicates to display the specified default value while adding a new record to the grid - */ - defaultValue?: String|Number|Boolean|Date; - - /** Gets or sets a value that indicates to render the grid content and header with an HTML elements - * @Default {false} - */ - disableHtmlEncode?: Boolean; - - /** Gets or sets a value that indicates to display a column value as checkbox or string - * @Default {true} - */ - displayAsCheckBox?: Boolean; - - /** Gets or sets a value that indicates to customize ejNumericTextbox of an editable column. See editingType - */ - editParams?: any; - - /** Gets or sets a template that displays a custom editor used to edit column values. See editTemplate - * @Default {null} - */ - editTemplate?: any; - - /** Gets or sets a value that indicates to render the element(based on edit type) for editing the grid record. See editingType - * @Default {ej.Grid.EditingType.String} - */ - editType?: ej.Grid.EditingType|string; - - /** Gets or sets a value that indicates to groups the column based on its column format. - * @Default {false} - */ - enableGroupByFormat?: Boolean; - - /** Gets or sets a value that indicates to display the columns in the grid mapping with column name of the dataSource. - */ - field?: string; - - /** Gets or sets a template that customize the filter control from default . See filterBarTemplate - * @Default {null} - */ - filterBarTemplate?: any; - - /** Gets or sets a value that indicates to render the excel or menu filter dialog to the grid columns. See filterType - * @Default {null} - */ - filterType?: ej.Grid.FilterType|string; - - /** Gets or sets a value that indicates to define foreign key field name of the grid datasource. - * @Default {null} - */ - foreignKeyField?: string; - - /** Gets or sets a value that indicates to bind the field which is in foreign column datasource based on the foreignKeyField - * @Default {null} - */ - foreignKeyValue?: string; - - /** Gets or sets a value that indicates the format for the text applied on the column - */ - format?: string; - - /** Gets or sets a value that indicates to add the template within the header element of the particular column. - * @Default {null} - */ - headerTemplateID?: string; - - /** Gets or sets a value that indicates to display the title of that particular column. - */ - headerText?: string; - - /** This defines the text alignment of a particular column header cell value. See headerTextAlign - * @Default {null} - */ - headerTextAlign?: ej.TextAlign|string; - - /** It accepts the string value and shows the tooltip for the Grid column header. - * @Default {null} - */ - headerTooltip?: String; - - /** You can use this property to freeze selected columns in grid at the time of scrolling. - * @Default {false} - */ - isFrozen?: Boolean; - - /** Gets or sets a value that indicates the column has an identity in the database. - * @Default {false} - */ - isIdentity?: Boolean; - - /** Gets or sets a value that indicates the column is act as a primary key(read-only) of the grid. The editing is performed based on the primary key column - * @Default {false} - */ - isPrimaryKey?: Boolean; - - /** Gets or sets a value that indicates the order of Column that are to be hidden or visible when Grid element is in responsive mode and could not occupy all columns. - * @Default {-1} - */ - priority?: Number; - - /** Used to hide the particular column in column chooser by giving value as false. - * @Default {true} - */ - showInColumnChooser?: Boolean; - - /** Gets or sets a value that indicates whether to enables column template for a particular column. - * @Default {false} - */ - template?: Boolean|String; - - /** Gets or sets a value that indicates to align the text within the column. See textAlign - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign|string; - - /** Sets the template for Tooltip in Grid Columns(both header and content) - */ - tooltip?: string; - - /** Gets or sets a value that indicates to specify the data type of the specified columns. - */ - type?: String; - - /** Gets or sets a value that indicates to define constraints for saving data to the database. - */ - validationRules?: any; - - /** Gets or sets a value that indicates whether this column is visible in the grid. - * @Default {true} - */ - visible?: Boolean; - - /** Gets or sets a value that indicates to define the width for a particular column in the grid. - */ - width?: Number; -} - -export interface ContextMenuSettingsSubContextMenu { - - /** Used to get or set the corresponding custom context menu item to which the submenu to be appended. - * @Default {null} - */ - contextMenuItem?: string; - - /** Used to get or set the sub menu items to the custom context menu item. - * @Default {[]} - */ - subMenu?: Array; -} - -export interface ContextMenuSettings { - - /** Gets or sets a value that indicates whether to add the default context menu actions as a context menu items If enableContextMenu is true it will show all the items related to the target, if you want selected items from contextmenu you have to mention in the contextMenuItems - * @Default {[]} - */ - contextMenuItems?: Array; - - /** Gets or sets a value that indicates whether to add custom contextMenu items within the toolbar to perform any action in the grid - * @Default {[]} - */ - customContextMenuItems?: Array; - - /** Gets or sets a value that indicates whether to enable the context menu action in the grid. - * @Default {false} - */ - enableContextMenu?: Boolean; - - /** Used to get or set the subMenu to the corresponding custom context menu item. - */ - subContextMenu?: Array; - - /** Gets or sets a value that indicates whether to disable the default context menu items in the grid. - * @Default {false} - */ - disableDefaultItems?: Boolean; -} - -export interface EditSettings { - - /** Gets or sets a value that indicates whether to enable insert action in the editing mode. - * @Default {false} - */ - allowAdding?: Boolean; - - /** Gets or sets a value that indicates whether to enable the delete action in the editing mode. - * @Default {false} - */ - allowDeleting?: Boolean; - - /** Gets or sets a value that indicates whether to enable the edit action in the editing mode. - * @Default {false} - */ - allowEditing?: Boolean; - - /** Gets or sets a value that indicates whether to enable the editing action while double click on the record - * @Default {true} - */ - allowEditOnDblClick?: Boolean; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Dialog Box - * @Default {null} - */ - dialogEditorTemplateID?: String; - - /** Gets or sets a value that indicates whether to define the mode of editing See editMode - * @Default {ej.Grid.EditMode.Normal} - */ - editMode?: ej.Grid.EditMode|string; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the External edit form - * @Default {null} - */ - externalFormTemplateID?: String; - - /** This specifies to set the position of an External edit form either in the top-right or bottom-left of the grid. See formPosition - * @Default {ej.Grid.FormPosition.BottomLeft} - */ - formPosition?: ej.Grid.FormPosition|string; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Inline edit form - * @Default {null} - */ - inlineFormTemplateID?: String; - - /** This specifies to set the position of an adding new row either in the top or bottom of the grid. See rowPosition - * @Default {ej.Grid.RowPosition.Top} - */ - rowPosition?: ej.Grid.RowPosition|string; - - /** Gets or sets a value that indicates whether the confirm dialog has to be shown while saving or discarding the batch changes - * @Default {true} - */ - showConfirmDialog?: Boolean; - - /** Gets or sets a value that indicates whether the confirm dialog has to be shown while deleting record - * @Default {false} - */ - showDeleteConfirmDialog?: Boolean; - - /** Gets or sets a value that indicates whether the title for edit form is different from the primarykey column. - * @Default {null} - */ - titleColumn?: String; - - /** Gets or sets a value that indicates whether to display the add new form by default in the grid. - * @Default {false} - */ - showAddNewRow?: Boolean; -} - -export interface FilterSettingsFilteredColumn { - - /** Gets or sets a value that indicates whether to define the field name of the column to be filter. - */ - field?: string; - - /** Gets or sets a value that indicates whether to define the matchCase of given value to be filter. - */ - matchCase?: Boolean; - - /** Gets or sets a value that indicates whether to define the filter condition to filtered column. See operator - */ - operator?: ej.FilterOperators|string; - - /** Gets or sets a value that indicates whether to define the predicate as and/or. - */ - predicate?: string; - - /** Gets or sets a value that indicates whether to define the value to be filtered in a column. - */ - value?: string|number; -} - -export interface FilterSettings { - - /** Gets or sets a value that indicates to perform the filter operation with case sensitive in excel styled filter menu mode - * @Default {false} - */ - enableCaseSensitivity?: Boolean; - - /** Gets or sets a value that indicates to define the interDeterminateState of checkbox in excel filter dialog. - * @Default {true} - */ - enableInterDeterminateState?: Boolean; - - /** This specifies the grid to starts the filter action while typing in the filterBar or after pressing the enter key. based on the filterBarMode. See filterBarMode. - * @Default {ej.Grid.FilterBarMode.Immediate} - */ - filterBarMode?: ej.Grid.FilterBarMode|string; - - /** Gets or sets a value that indicates whether to define the filtered columns details programmatically at initial load - * @Default {[]} - */ - filteredColumns?: Array; - - /** This specifies the grid to show the filterBar or filterMenu to the grid records. See filterType - * @Default {ej.Grid.FilterType.FilterBar} - */ - filterType?: ej.Grid.FilterType|string; - - /** This specifies the grid to delay the filter action while typing in the filterBar. - * @Default {1500} - */ - immediateModeDelay?: Number; - - /** Gets or sets a value that indicates the maximum number of filter choices that can be showed in the excel styled filter menu. - * @Default {1000} - */ - maxFilterChoices?: Number; - - /** This specifies the grid to show the filter text within the grid pager itself. - * @Default {true} - */ - showFilterBarStatus?: Boolean; - - /** Gets or sets a value that indicates whether to enable the predicate options in the filtering menu - * @Default {false} - */ - showPredicate?: Boolean; -} - -export interface GroupSettings { - - /** Gets or sets a value that customize the group caption format. - * @Default {null} - */ - captionFormat?: String; - - /** Gets or sets a value that indicates whether to enable animation button option in the group drop area of the grid. - * @Default {false} - */ - enableDropAreaAutoSizing?: Boolean; - - /** Gets or sets a value that indicates whether to add grouped columns programmatically at initial load - * @Default {[]} - */ - groupedColumns?: Array; - - /** Gets or sets a value that indicates whether to show the group drop area just above the column header. It can be used to avoid ungrouping the already grouped column using groupSettings. - * @Default {true} - */ - showDropArea?: Boolean; - - /** Gets or sets a value that indicates whether to hide the grouped columns from the grid - * @Default {false} - */ - showGroupedColumn?: Boolean; - - /** Gets or sets a value that indicates whether to show the group button image(toggle button)in the column header and also in the grouped column in the group drop area . It can be used to group/ungroup the columns by click on the toggle button. - * @Default {false} - */ - showToggleButton?: Boolean; - - /** Gets or sets a value that indicates whether to enable the close button in the grouped column which is in the group drop area to ungroup the grouped column - * @Default {false} - */ - showUngroupButton?: Boolean; -} - -export interface PageSettings { - - /** Gets or sets a value that indicates whether to define which page to display currently in the grid - * @Default {1} - */ - currentPage?: Number; - - /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. - * @Default {false} - */ - enableQueryString?: Boolean; - - /** Gets or sets a value that indicates whether to enables pager template for the grid. - * @Default {false} - */ - enableTemplates?: Boolean; - - /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation - * @Default {8} - */ - pageCount?: Number; - - /** Gets or sets a value that indicates whether to define the number of records displayed per page - * @Default {12} - */ - pageSize?: Number; - - /** Gets or sets a value that indicates whether to enables default pager for the grid. - * @Default {false} - */ - showDefaults?: Boolean; - - /** Gets or sets a value that indicates to add the template as a pager template for grid. - * @Default {null} - */ - template?: String; - - /** Get the value of total number of pages in the grid. The totalPages value is calculated based on page size and total records of grid - * @Default {null} - */ - totalPages?: Number; - - /** Get the value of total number of records which is bound to the grid. The totalRecordsCount value is calculated based on dataSource bound to the grid. - * @Default {null} - */ - totalRecordsCount?: Number; - - /** Gets or sets a value that indicates whether to define the number of pages to print. See printMode. - * @Default {ej.Grid.PrintMode.AllPages} - */ - printMode?: ej.Grid.PrintMode|string; -} - -export interface ResizeSettings { - - /** Gets or sets a value that indicates whether to define the mode of resizing. - * @Default {ej.Grid.ResizeMode.Normal} - */ - resizeMode?: ej.Grid.ResizeMode|string; -} - -export interface RowDropSettings { - - /** This specifies the grid to drop the grid rows only at particular target element. - * @Default {null} - */ - dropTargetID?: any; - - /** This helps in mapping server-side action when rows are dragged from Grid. - * @Default {null} - */ - dragMapper?: string; - - /** This helps in mapping server-side action when rows are dropped in Grid. - * @Default {null} - */ - dropMapper?: string; -} - -export interface SearchSettings { - - /** This specify the grid to search for the value in particular columns that is mentioned in the field. - * @Default {[]} - */ - fields?: any; - - /** This specifies the grid to search the particular data that is mentioned in the key. - */ - key?: string; - - /** It specifies the grid to search the records based on operator. - * @Default {contains} - */ - operator?: string; - - /** It enables or disables case-sensitivity while searching the search key in grid. - * @Default {true} - */ - ignoreCase?: boolean; -} - -export interface SelectionSettings { - - /** Gets or sets a value that indicates the cell selection actions based on the cell selection mode. - * @Default {flow} - */ - cellSelectionMode?: String; - - /** Gets or sets a value that indicates whether to enable the toggle selection behavior for row, cell and column. - * @Default {false} - */ - enableToggle?: Boolean; - - /** Gets or sets a value that indicates whether to add the default selection actions as a selection mode.See selectionMode - * @Default {[row]} - */ - selectionMode?: Array; -} - -export interface ScrollSettings { - - /** This specify the grid to to view data that you require without buffering the entire load of a huge database - * @Default {false} - */ - allowVirtualScrolling?: Boolean; - - /** It accepts the boolean value and shows or hides the scrollbar while focus in or focus out of the Grid. - * @Default {false} - */ - autoHide?: Boolean; - - /** Specifies the height and width of button in the scrollbar. - * @Default {18} - */ - buttonSize?: Number; - - /** This specify the grid to enable/disable touch control for scrolling. - * @Default {true} - */ - enableTouchScroll?: Boolean; - - /** This specify the grid to freeze particular columns at the time of scrolling. - * @Default {0} - */ - frozenColumns?: Number; - - /** This specify the grid to freeze particular rows at the time of scrolling. - * @Default {0} - */ - frozenRows?: Number; - - /** This specify the grid to show the vertical scroll bar, to scroll and view the grid contents. - * @Default {0} - */ - height?: String|Number; - - /** It accepts the integer value and sets the width of scrollbar. - * @Default {18} - */ - scrollerSize?: Number; - - /** This is used to define the mode of virtual scrolling in grid. See virtualScrollMode - * @Default {ej.Grid.VirtualScrollMode.Normal} - */ - virtualScrollMode?: ej.Grid.VirtualScrollMode|string; - - /** This is used to enable the enhanced virtual scrolling in Grid. - * @Default {false} - */ - enableVirtualization?: Boolean; - - /** This specify the grid to show the horizontal scroll bar, to scroll and view the grid contents - * @Default {250} - */ - width?: String|Number; - - /** This specify the scroll down pixel of mouse wheel, to scroll mouse wheel and view the grid contents. - * @Default {57} - */ - scrollOneStepBy?: Number; -} - -export interface SortSettingsSortedColumn { - - /** Gets or sets a value that indicates whether to define the direction to sort the column. - */ - direction?: string; - - /** Gets or sets a value that indicates whether to define the field name of the column to be sort - */ - field?: string; -} - -export interface SortSettings { - - /** Gets or sets a value that indicates whether to define the direction and field to sort the column. - */ - sortedColumns?: Array; -} - -export interface StackedHeaderRowsStackedHeaderColumn { - - /** Gets or sets a value that indicates the header text for the particular stacked header column. - * @Default {null} - */ - column?: any; - - /** Gets or sets a value that indicates class to the corresponding stackedHeaderColumn. - * @Default {null} - */ - cssClass?: string; - - /** Gets or sets a value that indicates the header text for the particular stacked header column. - * @Default {null} - */ - headerText?: string; - - /** Gets or sets a value that indicates the text alignment of the corresponding headerText. - * @Default {ej.TextAlign.Left} - */ - textAlign?: string; - - /** Sets the template for tooltip for the Grid stackedHeaderColumns. - * @Default {null} - */ - tooltip?: String; -} - -export interface StackedHeaderRow { - - /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows - * @Default {[]} - */ - stackedHeaderColumns?: Array; -} - -export interface SummaryRowsSummaryColumn { - - /** Gets or sets a value that indicates the text displayed in the summary column as a value - * @Default {null} - */ - customSummaryValue?: string; - - /** This specifies summary column used to perform the summary calculation - * @Default {null} - */ - dataMember?: string; - - /** Gets or sets a value that indicates to define the target column at which to display the summary. - * @Default {null} - */ - displayColumn?: string; - - /** Gets or sets a value that indicates the format for the text applied on the column - * @Default {null} - */ - format?: string; - - /** Gets or sets a value that indicates the text displayed before the summary column value - * @Default {null} - */ - prefix?: string; - - /** Gets or sets a value that indicates the text displayed after the summary column value - * @Default {null} - */ - suffix?: string; + /** Gets or sets a value that indicates to add the template for the summary value of dataMember given. + * @Default {null} + */ + template?: string; + } - /** Gets or sets a value that indicates the type of calculations to be performed for the corresponding summary column. See summaryType. - * @Default {[]} - */ - summaryType?: ej.Grid.SummaryType|string; + export interface SummaryRow { - /** Gets or sets a value that indicates to add the template for the summary value of dataMember given. - * @Default {null} - */ - template?: String; -} + /** Gets or sets a value that indicates whether to show the summary value within the group caption area for the corresponding summary column while grouping the column + * @Default {false} + */ + showCaptionSummary?: boolean; -export interface SummaryRow { + /** Gets or sets a value that indicates whether to show the group summary value for the corresponding summary column while grouping a column + * @Default {false} + */ + showGroupSummary?: boolean; - /** Gets or sets a value that indicates whether to show the summary value within the group caption area for the corresponding summary column while grouping the column - * @Default {false} - */ - showCaptionSummary?: Boolean; + /** Gets or sets a value that indicates whether to show the total summary value the for the corresponding summary column. The summary row is added after the grid content. + * @Default {true} + */ + showTotalSummary?: boolean; - /** Gets or sets a value that indicates whether to show the group summary value for the corresponding summary column while grouping a column - * @Default {false} - */ - showGroupSummary?: Boolean; + /** Gets or sets a value that indicates whether to add summary columns into the summary rows. + * @Default {[]} + */ + summaryColumns?: SummaryRowsSummaryColumn[]; - /** Gets or sets a value that indicates whether to show the total summary value the for the corresponding summary column. The summary row is added after the grid content. - * @Default {true} - */ - showTotalSummary?: Boolean; + /** This specifies the grid to show the title for the summary rows. + */ + title?: string; - /** Gets or sets a value that indicates whether to add summary columns into the summary rows. - * @Default {[]} - */ - summaryColumns?: Array; + /** This specifies the grid to show the title of summary row in the specified column. + * @Default {null} + */ + titleColumn?: string; + } - /** This specifies the grid to show the title for the summary rows. - */ - title?: string; + export interface TextWrapSettings { - /** This specifies the grid to show the title of summary row in the specified column. - * @Default {null} - */ - titleColumn?: string; -} + /** This specifies the grid to apply the auto wrap for grid content or header or both. + * @Default {ej.Grid.WrapMode.Both} + */ + wrapMode?: ej.Grid.WrapMode | string; + } -export interface TextWrapSettings { + export interface ToolbarSettings { - /** This specifies the grid to apply the auto wrap for grid content or header or both. - * @Default {ej.Grid.WrapMode.Both} - */ - wrapMode?: ej.Grid.WrapMode|string; -} + /** Gets or sets a value that indicates whether to add custom toolbar items within the toolbar to perform any action in the grid + * @Default {[]} + */ + customToolbarItems?: any[]; -export interface ToolbarSettings { + /** Gets or sets a value that indicates whether to enable toolbar in the grid. + * @Default {false} + */ + showToolbar?: boolean; - /** Gets or sets a value that indicates whether to add custom toolbar items within the toolbar to perform any action in the grid - * @Default {[]} - */ - customToolbarItems?: Array; + /** Gets or sets a value that indicates whether to add the default editing actions as a toolbar items + * @Default {[]} + */ + toolbarItems?: Array; + } - /** Gets or sets a value that indicates whether to enable toolbar in the grid. - * @Default {false} - */ - showToolbar?: Boolean; + enum GridLines { - /** Gets or sets a value that indicates whether to add the default editing actions as a toolbar items. See toolbarItems. - * @Default {[]} - */ - toolbarItems?: Array; -} + ///Displays both the horizontal and vertical grid lines. + Both, -enum GridLines{ + ///Displays the horizontal grid lines only. + Horizontal, - ///Displays both the horizontal and vertical grid lines. - Both, + ///Displays the vertical grid lines only. + Vertical, - ///Displays the horizontal grid lines only. - Horizontal, + ///No grid lines are displayed. + None + } - ///Displays the vertical grid lines only. - Vertical, - ///No grid lines are displayed. - None -} + enum ClipMode { + ///Shows ellipsis for the overflown cell. + Ellipsis, -enum ClipMode{ + ///Truncate the text in the cell + Clip, - ///Shows ellipsis for the overflown cell. - Ellipsis, + ///Shows ellipsis and tooltip for the overflown cell. + EllipsisWithTooltip + } - ///Truncate the text in the cell - Clip, - ///Shows ellipsis and tooltip for the overflown cell. - EllipsisWithTooltip -} + enum ColumnLayout { + ///Column layout is auto(based on width). + Auto, -enum ColumnLayout{ + ///Column layout is fixed(based on width). + Fixed + } - ///Column layout is auto(based on width). - Auto, - ///Column layout is fixed(based on width). - Fixed -} + enum UnboundType { + ///Unbound type is edit. + Edit, -enum UnboundType{ + ///Unbound type is save. + Save, - ///Unbound type is edit. - Edit, + ///Unbound type is delete. + Delete, - ///Unbound type is save. - Save, + ///Unbound type is cancel. + Cancel + } - ///Unbound type is delete. - Delete, - ///Unbound type is cancel. - Cancel -} + enum EditingType { + ///Specifies editing type as string edit. + String, -enum EditingType{ + ///Specifies editing type as boolean edit. + Boolean, - ///Specifies editing type as string edit. - String, + ///Specifies editing type as numeric edit. + Numeric, - ///Specifies editing type as boolean edit. - Boolean, + ///Specifies editing type as dropdown edit. + Dropdown, - ///Specifies editing type as numeric edit. - Numeric, + ///Specifies editing type as datepicker. + DatePicker, - ///Specifies editing type as dropdown edit. - Dropdown, + ///Specifies editing type as datetime picker. + DateTimePicker + } - ///Specifies editing type as datepicker. - DatePicker, - ///Specifies editing type as datetime picker. - DateTimePicker -} + enum FilterType { + ///Specifies the filter type as menu. + Menu, -enum FilterType{ + ///Specifies the filter type as excel. + Excel + } - ///Specifies the filter type as menu. - Menu, - ///Specifies the filter type as excel. - Excel -} + enum EditMode { + ///Edit mode is normal. + Normal, -enum EditMode{ + ///Edit mode is dialog. + Dialog, - ///Edit mode is normal. - Normal, + ///Edit mode is dialog template. + DialogTemplate, - ///Edit mode is dialog. - Dialog, + ///Edit mode is batch. + Batch, - ///Edit mode is dialog template. - DialogTemplate, + ///Edit mode is inline form. + InlineForm, - ///Edit mode is batch. - Batch, + ///Edit mode is inline template form. + InlineTemplateForm, - ///Edit mode is inline form. - InlineForm, + ///Edit mode is external form. + ExternalForm, - ///Edit mode is inline template form. - InlineTemplateForm, + ///Edit mode is external form template. + ExternalFormTemplate + } - ///Edit mode is external form. - ExternalForm, - ///Edit mode is external form template. - ExternalFormTemplate -} + enum FormPosition { + ///Form position is bottomleft. + BottomLeft, -enum FormPosition{ + ///Form position is topright. + TopRight + } - ///Form position is bottomleft. - BottomLeft, - ///Form position is topright. - TopRight -} + enum RowPosition { + ///Specifies position of add new row as top. + Top, -enum RowPosition{ + ///Specifies position of add new row as bottom. + Bottom + } - ///Specifies position of add new row as top. - Top, - ///Specifies position of add new row as bottom. - Bottom -} + enum FilterBarMode { + ///Initiate filter operation on typing the filter query. + Immediate, -enum FilterBarMode{ + ///Initiate filter operation after Enter key is pressed. + OnEnter + } - ///Initiate filter operation on typing the filter query. - Immediate, - ///Initiate filter operation after Enter key is pressed. - OnEnter -} + enum PrintMode { + ///Prints all pages. + AllPages, -enum PrintMode{ + ///Prints current page. + CurrentPage + } - ///Prints all pages. - AllPages, - ///Prints current page. - CurrentPage -} + enum ResizeMode { + ///New column size will be adjusted by all other Columns + Normal, -enum ResizeMode{ + ///New column Size will be adjusted using next column. + NextColumn, - ///New column size will be adjusted by all other Columns - Normal, + ///New column Size will be adjusted using entire control + Control + } - ///New column Size will be adjusted using next column. - NextColumn, - ///New column Size will be adjusted using entire control - Control -} + enum SelectionType { + ///Specifies the selection type as single. + Single, -enum SelectionType{ + ///Specifies the selection type as multiple. + Multiple + } - ///Specifies the selection type as single. - Single, - ///Specifies the selection type as multiple. - Multiple -} + enum VirtualScrollMode { + ///virtual scroll mode is normal. + Normal, -enum VirtualScrollMode{ + ///virtual scroll mode is continuous. + Continuous + } - ///virtual scroll mode is normal. - Normal, - ///virtual scroll mode is continuous. - Continuous -} + enum SummaryType { + ///Summary type is average. + Average, -enum SummaryType{ + ///Summary type is minimum. + Minimum, - ///Summary type is average. - Average, + ///Summary type is maximum. + Maximum, - ///Summary type is minimum. - Minimum, + ///Summary type is count. + Count, - ///Summary type is maximum. - Maximum, + ///Summary type is sum. + Sum, - ///Summary type is count. - Count, + ///Summary type is custom. + Custom, - ///Summary type is sum. - Sum, + ///Summary type is true count. + TrueCount, - ///Summary type is custom. - Custom, + ///Summary type is false count. + FalseCount + } - ///Summary type is true count. - TrueCount, - ///Summary type is false count. - FalseCount -} + enum WrapMode { + ///Auto wrap is applied for both content and header. + Both, -enum WrapMode{ + ///Auto wrap is applied only for content. + Content, - ///Auto wrap is applied for both content and header. - Both, + ///Auto wrap is applied only for header. + Header + } - ///Auto wrap is applied only for content. - Content, - ///Auto wrap is applied only for header. - Header -} + enum ToolBarItems { + ///Toolbar item is add. + Add, -enum ToolBarItems{ + ///Toolbar item is edit. + Edit, - ///Toolbar item is add. - Add, + ///Toolbar item is delete. + Delete, - ///Toolbar item is edit. - Edit, + ///Toolbar item is update. + Update, - ///Toolbar item is delete. - Delete, + ///Toolbar item is cancel. + Cancel, - ///Toolbar item is update. - Update, + ///Toolbar item is search. + Search, - ///Toolbar item is cancel. - Cancel, + ///Toolbar item is pdfExport. + PdfExport, - ///Toolbar item is search. - Search, + ///Toolbar item is printGrid. + PrintGrid, - ///Toolbar item is pdfExport. - PdfExport, - - ///Toolbar item is printGrid. - PrintGrid, - - ///Toolbar item is wordExport. - WordExport -} + ///Toolbar item is wordExport. + WordExport + } } class Sparkline extends ej.Widget { static fn: Sparkline; - constructor(element: JQuery, options?: Sparkline.Model); - constructor(element: Element, options?: Sparkline.Model); + constructor(element: JQuery | Element, options?: Sparkline.Model); static Locale: any; - model:Sparkline.Model; - defaults:Sparkline.Model; + model: Sparkline.Model; + defaults: Sparkline.Model; /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ + * @returns {void} + */ redraw(): void; } -export module Sparkline{ +export namespace Sparkline { -export interface Model { + export interface Model { - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; - /** Fill color for the sparkline series. - * @Default {#33ccff} - */ - fill?: string; + /** Fill color for the sparkline series. + * @Default {#33ccff} + */ + fill?: string; - /** Border color of the series. - * @Default {null} - */ - stroke?: string; + /** Border color of the series. + * @Default {null} + */ + stroke?: string; - /** Options for customizing the color, opacity and width of the sparkline border. - */ - border?: Border; + /** Options for customizing the color, opacity and width of the sparkline border. + */ + border?: Border; - /** Border width of the series. - * @Default {1} - */ - width?: number; + /** Border width of the series. + * @Default {1} + */ + width?: number; - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; - /** Color for series high point. - * @Default {null} - */ - highPointColor?: string; + /** Color for series high point. + * @Default {null} + */ + highPointColor?: string; - /** Color for series low point. - * @Default {null} - */ - lowPointColor?: string; + /** Color for series low point. + * @Default {null} + */ + lowPointColor?: string; - /** Color for series start point. - * @Default {null} - */ - startPointColor?: string; + /** Color for series start point. + * @Default {null} + */ + startPointColor?: string; - /** Color for series end point. - * @Default {null} - */ - endPointColor?: string; + /** Color for series end point. + * @Default {null} + */ + endPointColor?: string; - /** Color for series negative point. - * @Default {null} - */ - negativePointColor?: string; + /** Color for series negative point. + * @Default {null} + */ + negativePointColor?: string; - /** Options for customizing the color, opacity of the sparkline start and end range. - */ - rangeBandSettings?: RangeBandSettings; + /** Options for customizing the color, opacity of the sparkline start and end range. + */ + rangeBandSettings?: RangeBandSettings; - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; - /** Controls whether sparkline has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; + /** Controls whether sparkline has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; - /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. - * @Default {false} - */ - enableCanvasRendering?: boolean; + /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. + * @Default {false} + */ + enableCanvasRendering?: boolean; - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; - /** Gap or padding for sparkline. - * @Default {8} - */ - padding?: number; + /** Gap or padding for sparkline. + * @Default {8} + */ + padding?: number; - /** Specifies the type of the series to render in sparkline. - * @Default {line. See Type} - */ - type?: ej.datavisualization.Sparkline.Type|string; + /** Specifies the type of the series to render in sparkline. + * @Default {line. See Type} + */ + type?: ej.datavisualization.Sparkline.Type | string; - /** Specifies the theme for Sparkline. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sparkline.Theme|string; + /** Specifies the theme for Sparkline. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sparkline.Theme | string; - /** Options to customize the tooltip. - */ - tooltip?: Tooltip; + /** Options to customize the tooltip. + */ + tooltip?: Tooltip; - /** Options for displaying and customizing marker for a data point. - */ - markerSettings?: MarkerSettings; + /** Options for displaying and customizing marker for a data point. + */ + markerSettings?: MarkerSettings; - /** Options to customize the Sparkline size. - */ - size?: Size; + /** Options to customize the Sparkline size. + */ + size?: Size; - /** Options for customizing the color,dashArray and width of the axisLine. - */ - axisLineSettings?: AxisLineSettings; + /** Options for customizing the color,dashArray and width of the axisLine. + */ + axisLineSettings?: AxisLineSettings; - /** Fires before loading the sparkline. */ - load? (e: LoadEventArgs): void; + /** Fires before loading the sparkline. */ + load?(e: LoadEventArgs): void; - /** Fires after loaded the sparkline. */ - loaded? (e: LoadedEventArgs): void; + /** Fires after loaded the sparkline. */ + loaded?(e: LoadedEventArgs): void; - /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ - tooltipInitialize? (e: TooltipInitializeEventArgs): void; + /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ + tooltipInitialize?(e: TooltipInitializeEventArgs): void; - /** Fires before rendering a series. This event is fired for each series in Sparkline. */ - seriesRendering? (e: SeriesRenderingEventArgs): void; + /** Fires before rendering a series. This event is fired for each series in Sparkline. */ + seriesRendering?(e: SeriesRenderingEventArgs): void; - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ - pointRegionMouseClick? (e: PointRegionMouseClickEventArgs): void; + /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ + pointRegionMouseClick?(e: PointRegionMouseClickEventArgs): void; - /** Fires on moving mouse over the sparkline. */ - sparklineMouseMove? (e: SparklineMouseMoveEventArgs): void; + /** Fires on moving mouse over the sparkline. */ + sparklineMouseMove?(e: SparklineMouseMoveEventArgs): void; - /** Fires on moving mouse outside the sparkline. */ - sparklineMouseLeave? (e: SparklineMouseLeaveEventArgs): void; + /** Fires on moving mouse outside the sparkline. */ + sparklineMouseLeave?(e: SparklineMouseLeaveEventArgs): void; + } + + export interface LoadEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface LoadedEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface TooltipInitializeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X Location of the trackball tooltip in pixels + */ + locationX?: any; + + /** Y Location of the trackball tooltip in pixels + */ + locationY?: any; + + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; + + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; + } + + export interface SeriesRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Minimum x value of the data point + */ + minX?: any; + + /** Minimum y value of the data point + */ + minY?: any; + + /** Maximum x value of the data point + */ + maxX?: any; + + /** Maximum y value of the data point + */ + maxY?: any; + } + + export interface PointRegionMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; + } + + export interface PointRegionMouseClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; + } + + export interface SparklineMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface SparklineMouseLeaveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of the sparkline. + * @Default {transparent} + */ + color?: string; + + /** Width of the Sparkline border. + * @Default {1} + */ + width?: number; + } + + export interface RangeBandSettings { + + /** Start value of the range band. + * @Default {null} + */ + startRange?: number; + + /** End value of the range band. + * @Default {null} + */ + endRange?: number; + + /** Range band opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Range band color of the series. + * @Default {transparent} + */ + color?: string; + } + + export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {transparent} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; + } + + export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {#111111} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sparkline.FontStyle | string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sparkline.FontWeight | string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {8px} + */ + size?: string; + } + + export interface Tooltip { + + /** Show/hides the tooltip visibility. + * @Default {false} + */ + visible?: boolean; + + /** Fill color for the sparkline tooltip. + * @Default {white} + */ + fill?: string; + + /** Custom template to the tooltip. + */ + template?: string; + + /** Options for customizing the border of the tooltip. + */ + border?: TooltipBorder; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + } + + export interface MarkerSettingsBorder { + + /** Border color of the marker shape. + * @Default {transparent} + */ + color?: string; + + /** Controls the opacity of the marker border. + * @Default {1} + */ + opacity?: number; + + /** Border width of the marker shape. + * @Default {null} + */ + width?: number; + } + + export interface MarkerSettings { + + /** Controls the opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + + /** width of the marker shape. + * @Default {2} + */ + width?: number; + + /** Color of the marker shape. + * @Default {white} + */ + fill?: string; + + /** Options for customizing the border of the marker shape. + */ + border?: MarkerSettingsBorder; + } + + export interface Size { + + /** Height of the Sparkline. Height can be specified in either pixel or percentage. + * @Default {''} + */ + height?: string; + + /** Width of the Sparkline. Width can be specified in either pixel or percentage. + * @Default {''} + */ + width?: string; + } + + export interface AxisLineSettings { + + /** Controls the visibility of the axis. + * @Default {false} + */ + visible?: boolean; + + /** Color of the axis line. + * @Default {'#111111'} + */ + color?: string; + + /** Width of the axis line. + * @Default {1} + */ + width?: number; + + /** Dash array of the axis line. + * @Default {1} + */ + dashArray?: number; + } } - -export interface LoadEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; +namespace Sparkline { + enum Type { + //string + Area, + //string + Line, + //string + Column, + //string + Pie, + //string + WinLoss, + } } - -export interface LoadedEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; +namespace Sparkline { + enum Theme { + //string + Azure, + //string + FlatLight, + //string + FlatDark, + //string + Azuredark, + //string + Lime, + //string + LimeDark, + //string + Saffron, + //string + SaffronDark, + //string + GradientLight, + //string + GradientDark, + } } - -export interface TooltipInitializeEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X Location of the trackball tooltip in pixels - */ - locationX?: any; - - /** Y Location of the trackball tooltip in pixels - */ - locationY?: any; - - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; - - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; -} - -export interface SeriesRenderingEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** Minimum x value of the data point - */ - minX?: any; - - /** Minimum y value of the data point - */ - minY?: any; - - /** Maximum x value of the data point - */ - maxX?: any; - - /** Maximum y value of the data point - */ - maxY?: any; -} - -export interface PointRegionMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; -} - -export interface PointRegionMouseClickEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; -} - -export interface SparklineMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface SparklineMouseLeaveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface Border { - - /** Border color of the sparkline. - * @Default {transparent} - */ - color?: string; - - /** Width of the Sparkline border. - * @Default {1} - */ - width?: number; -} - -export interface RangeBandSettings { - - /** Start value of the range band. - * @Default {null} - */ - startRange?: number; - - /** End value of the range band. - * @Default {null} - */ - endRange?: number; - - /** Range band opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Range band color of the series. - * @Default {transparent} - */ - color?: string; -} - -export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {transparent} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; -} - -export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {#111111} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sparkline.FontStyle|string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sparkline.FontWeight|string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {8px} - */ - size?: string; -} - -export interface Tooltip { - - /** Show/hides the tooltip visibility. - * @Default {false} - */ - visible?: boolean; - - /** Fill color for the sparkline tooltip. - * @Default {white} - */ - fill?: string; - - /** Custom template to the tooltip. - */ - template?: string; - - /** Options for customizing the border of the tooltip. - */ - border?: TooltipBorder; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; -} - -export interface MarkerSettingsBorder { - - /** Border color of the marker shape. - * @Default {transparent} - */ - color?: string; - - /** Controls the opacity of the marker border. - * @Default {1} - */ - opacity?: number; - - /** Border width of the marker shape. - * @Default {null} - */ - width?: number; -} - -export interface MarkerSettings { - - /** Controls the opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - - /** width of the marker shape. - * @Default {2} - */ - width?: number; - - /** Color of the marker shape. - * @Default {white} - */ - fill?: string; - - /** Options for customizing the border of the marker shape. - */ - border?: MarkerSettingsBorder; -} - -export interface Size { - - /** Height of the Sparkline. Height can be specified in either pixel or percentage. - * @Default {''} - */ - height?: string; - - /** Width of the Sparkline. Width can be specified in either pixel or percentage. - * @Default {''} - */ - width?: string; -} - -export interface AxisLineSettings { - - /** Controls the visibility of the axis. - * @Default {false} - */ - visible?: boolean; - - /** Color of the axis line. - * @Default {'#111111'} - */ - color?: string; - - /** Width of the axis line. - * @Default {1} - */ - width?: number; - - /** Dash array of the axis line. - * @Default {1} - */ - dashArray?: number; -} -} -module Sparkline -{ -enum Type -{ -//string -Area, -//string -Line, -//string -Column, -//string -Pie, -//string -WinLoss, -} -} -module Sparkline -{ -enum Theme -{ -//string -Azure, -//string -FlatLight, -//string -FlatDark, -//string -Azuredark, -//string -Lime, -//string -LimeDark, -//string -Saffron, -//string -SaffronDark, -//string -GradientLight, -//string -GradientDark, -} -} -module Sparkline -{ -enum FontStyle -{ -//string -Normal, -//string -Italic, -} -} -module Sparkline -{ -enum FontWeight -{ -//string -Regular, -//string -Bold, -//string -Lighter, +namespace Sparkline { + enum FontStyle { + //string + Normal, + //string + Italic, + } } +namespace Sparkline { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } } class SunburstChart extends ej.Widget { static fn: SunburstChart; - constructor(element: JQuery, options?: SunburstChart.Model); - constructor(element: Element, options?: SunburstChart.Model); + constructor(element: JQuery | Element, options?: SunburstChart.Model); static Locale: any; - model:SunburstChart.Model; - defaults:SunburstChart.Model; + model: SunburstChart.Model; + defaults: SunburstChart.Model; /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ + * @returns {void} + */ redraw(): void; /** destroy the sunburst - * @returns {void} - */ + * @returns {void} + */ _destroy(): void; } -export module SunburstChart{ - -export interface Model { - - /** Background color of the plot area. - * @Default {null} - */ - background?: string; - - /** Bind the data field from the data source. - * @Default {null} - */ - valueMemberPath?: string; - - /** Options for customizing the sunburst border. - */ - border?: Border; - - /** Options for customizing the sunburst segment border. - */ - segmentBorder?: SegmentBorder; - - /** Specifies the dataSource to the sunburst. - * @Default {null} - */ - dataSource?: any; - - /** Palette color for the data points. - * @Default {null} - */ - palette?: string; - - /** Parent node of the data points. - * @Default {null} - */ - parentNode?: string; - - /** Name of the property in the datasource that contains x values. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y values. - * @Default {null} - */ - yName?: string; - - /** Controls whether sunburst has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Options to customize the Sunburst size. - */ - size?: Size; - - /** Controls the visibility of sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options to customize the Sunburst tooltip. - */ - tooltip?: Tooltip; - - /** Options for customizing sunburst points. - */ - points?: Points; - - /** Sunburst rendering will start from the specified value - * @Default {null} - */ - startAngle?: number; - - /** Sunburst rendering will end at the specified value - * @Default {null} - */ - endAngle?: number; - - /** Sunburst outer radius value - * @Default {1} - */ - radius?: number; - - /** Sunburst inner radius value - * @Default {0.4} - */ - innerRadius?: number; - - /** Options to customize the Sunburst dataLabel. - */ - dataLabelSettings?: DataLabelSettings; - - /** Options for customizing the title and subtitle of sunburst. - */ - title?: Title; - - /** Options for customizing the appearance of the levels or point while highlighting. - */ - highlightSettings?: HighlightSettings; - - /** Options for customizing the appearance of the levels or data point while selection. - */ - selectionSettings?: SelectionSettings; - - /** Specify levels of sunburst for grouped visualization of data - * @Default {[]} - */ - levels?: Array; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; - - /** Specifies the theme for Sunburst. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sunburst.SunburstTheme|string; - - /** Options to customize the left, right, top and bottom margins of sunburst area. - */ - margin?: Margin; - - /** Enable/disable the animation for all the levels. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Opacity of the levels. - * @Default {1} - */ - opacity?: number; - - /** Options for enable zooming feature of chart. - */ - zoomSettings?: ZoomSettings; +export namespace SunburstChart { + + export interface Model { + + /** Background color of the plot area. + * @Default {null} + */ + background?: string; + + /** Bind the data field from the data source. + * @Default {null} + */ + valueMemberPath?: string; + + /** Options for customizing the sunburst border. + */ + border?: Border; + + /** Options for customizing the sunburst segment border. + */ + segmentBorder?: SegmentBorder; + + /** Specifies the dataSource to the sunburst. + * @Default {null} + */ + dataSource?: any; + + /** Palette color for the data points. + * @Default {null} + */ + palette?: string; + + /** Parent node of the data points. + * @Default {null} + */ + parentNode?: string; + + /** Name of the property in the datasource that contains x values. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y values. + * @Default {null} + */ + yName?: string; + + /** Controls whether sunburst has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Options to customize the Sunburst size. + */ + size?: Size; + + /** Controls the visibility of sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options to customize the Sunburst tooltip. + */ + tooltip?: Tooltip; + + /** Options for customizing sunburst points. + */ + points?: Points; + + /** Sunburst rendering will start from the specified value + * @Default {null} + */ + startAngle?: number; + + /** Sunburst rendering will end at the specified value + * @Default {null} + */ + endAngle?: number; - /** Animation type of sunburst - * @Default {rotation. See Alignment} - */ - animationType?: ej.datavisualization.Sunburst.Animation|string; + /** Sunburst outer radius value + * @Default {1} + */ + radius?: number; + + /** Sunburst inner radius value + * @Default {0.4} + */ + innerRadius?: number; - /** Fires before loading. */ - load? (e: LoadEventArgs): void; + /** Options to customize the Sunburst dataLabel. + */ + dataLabelSettings?: DataLabelSettings; - /** Fires before rendering sunburst. */ - preRender? (e: PreRenderEventArgs): void; + /** Options for customizing the title and subtitle of sunburst. + */ + title?: Title; + + /** Options for customizing the appearance of the levels or point while highlighting. + */ + highlightSettings?: HighlightSettings; - /** Fires after rendering sunburst. */ - loaded? (e: LoadedEventArgs): void; + /** Options for customizing the appearance of the levels or data point while selection. + */ + selectionSettings?: SelectionSettings; + + /** Specify levels of sunburst for grouped visualization of data + * @Default {[]} + */ + levels?: Level[]; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; - /** Fires before rendering the datalabel */ - dataLabelRendering? (e: DataLabelRenderingEventArgs): void; + /** Specifies the theme for Sunburst. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sunburst.SunburstTheme | string; - /** Fires before rendering each segment */ - segmentRendering? (e: SegmentRenderingEventArgs): void; + /** Options to customize the left, right, top and bottom margins of sunburst area. + */ + margin?: Margin; - /** Fires before rendering sunburst title. */ - titleRendering? (e: TitleRenderingEventArgs): void; + /** Enable/disable the animation for all the levels. + * @Default {false} + */ + enableAnimation?: boolean; - /** Fires during initialization of tooltip. */ - tooltipInitialize? (e: TooltipInitializeEventArgs): void; + /** Opacity of the levels. + * @Default {1} + */ + opacity?: number; - /** Fires after clicking the point in sunburst */ - pointRegionClick? (e: PointRegionClickEventArgs): void; + /** Options for enable zooming feature of chart. + */ + zoomSettings?: ZoomSettings; - /** Fires while moving the mouse over sunburst points */ - pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + /** Animation type of sunburst + * @Default {rotation. See Alignment} + */ + animationType?: ej.datavisualization.Sunburst.Animation | string; - /** Fires when clicking the point to perform drilldown. */ - drillDownClick? (e: DrillDownClickEventArgs): void; + /** Fires before loading. */ + load?(e: LoadEventArgs): void; - /** Fires when resetting drilldown points. */ - drillDownBack? (e: DrillDownBackEventArgs): void; + /** Fires before rendering sunburst. */ + preRender?(e: PreRenderEventArgs): void; - /** Fires after resetting the sunburst points */ - drillDownReset? (e: DrillDownResetEventArgs): void; -} - -export interface LoadEventArgs { - - /** Load event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface PreRenderEventArgs { - - /** PreRender event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface LoadedEventArgs { - - /** Loaded event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DataLabelRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface SegmentRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface TitleRenderingEventArgs { - - /** Sunburst title data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface TooltipInitializeEventArgs { - - /** Sunburst tooltip data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface PointRegionClickEventArgs { - - /** Includes clicked points region data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface PointRegionMouseMoveEventArgs { - - /** Includes data of mouse moved region - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DrillDownClickEventArgs { - - /** Clicked point data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DrillDownBackEventArgs { - - /** Drill down data of points - */ - data?: string; + /** Fires after rendering sunburst. */ + loaded?(e: LoadedEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Fires before rendering the datalabel */ + dataLabelRendering?(e: DataLabelRenderingEventArgs): void; - /** Instance of the sunburst model object - */ - model?: any; + /** Fires before rendering each segment */ + segmentRendering?(e: SegmentRenderingEventArgs): void; - /** Name of the event - */ - type?: string; -} + /** Fires before rendering sunburst title. */ + titleRendering?(e: TitleRenderingEventArgs): void; -export interface DrillDownResetEventArgs { + /** Fires during initialization of tooltip. */ + tooltipInitialize?(e: TooltipInitializeEventArgs): void; - /** Drill down reset data - */ - data?: string; + /** Fires after clicking the point in sunburst */ + pointRegionClick?(e: PointRegionClickEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Fires while moving the mouse over sunburst points */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - /** Instance of the sunburst model object - */ - model?: any; + /** Fires when clicking the point to perform drilldown. */ + drillDownClick?(e: DrillDownClickEventArgs): void; - /** Name of the event - */ - type?: string; -} + /** Fires when resetting drilldown points. */ + drillDownBack?(e: DrillDownBackEventArgs): void; -export interface Border { + /** Fires after resetting the sunburst points */ + drillDownReset?(e: DrillDownResetEventArgs): void; + } - /** Border color of the sunburst. - * @Default {null} - */ - color?: string; + export interface LoadEventArgs { - /** Width of the Sunburst border. - * @Default {2} - */ - width?: number; -} + /** Load event data + */ + data?: string; -export interface SegmentBorder { + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Segment Border color of the sunburst. - * @Default {null} - */ - color?: string; + /** Instance of the sunburst model object + */ + model?: any; - /** Width of the Sunburst segment border. - * @Default {2} - */ - width?: number; -} + /** Name of the event + */ + type?: string; + } -export interface Size { + export interface PreRenderEventArgs { - /** Height of the Sunburst. - * @Default {''} - */ - height?: string; + /** PreRender event data + */ + data?: string; - /** Width of the Sunburst. - * @Default {''} - */ - width?: string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface TooltipBorder { + /** Instance of the sunburst model object + */ + model?: any; - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; + /** Name of the event + */ + type?: string; + } - /** Border width of the tooltip. - * @Default {5} - */ - width?: number; -} + export interface LoadedEventArgs { -export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {null} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {12px} - */ - size?: string; -} + /** Loaded event data + */ + data?: string; -export interface Tooltip { + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** tooltip visibility of the Sunburst. - * @Default {true} - */ - visible?: boolean; + /** Instance of the sunburst model object + */ + model?: any; - /** Options for customizing the border of the sunburst tooltip. - */ - border?: TooltipBorder; + /** Name of the event + */ + type?: string; + } - /** Fill color for the sunburst tooltip. - * @Default {null} - */ - fill?: string; + export interface DataLabelRenderingEventArgs { - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; + /** Sunburst datalabel data + */ + data?: string; - /** Custom template to the tooltip. - * @Default {null} - */ - template?: string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface Points { + /** Instance of the sunburst model object + */ + model?: any; - /** Points x value of the sunburst. - * @Default {null} - */ - x?: string; + /** Name of the event + */ + type?: string; + } - /** Points y value of the sunburst. - * @Default {null} - */ - y?: number; + export interface SegmentRenderingEventArgs { - /** Points text of the sunburst. - * @Default {null} - */ - text?: string; + /** Sunburst datalabel data + */ + data?: string; - /** Points fill color of the sunburst. - * @Default {null} - */ - fill?: string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface DataLabelSettingsFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; -} + /** Instance of the sunburst model object + */ + model?: any; -export interface DataLabelSettings { + /** Name of the event + */ + type?: string; + } - /** Datalabel visibility of the Sunburst. - * @Default {false} - */ - visible?: boolean; + export interface TitleRenderingEventArgs { - /** Alignment of sunburst datalabel - * @Default {Angle. See DatalabelAlignment} - */ - labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode|string; + /** Sunburst title data + */ + data?: string; - /** Options for customizing the data label font. - */ - font?: DataLabelSettingsFont; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Custom template for datalabel - * @Default {null} - */ - template?: string; + /** Instance of the sunburst model object + */ + model?: any; - /** Fill color for the datalabel - * @Default {null} - */ - fill?: string; + /** Name of the event + */ + type?: string; + } - /** Datalabel overflow mode - * @Default {Trim. See LabelOverflowMode} - */ - labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode|string; -} + export interface TooltipInitializeEventArgs { -export interface TitleFont { + /** Sunburst tooltip data + */ + data?: string; - /** Font family for Sunburst title. - * @Default {Segoe UI} - */ - fontFamily?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Font style for Sunburst title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; + /** Instance of the sunburst model object + */ + model?: any; - /** Font weight for Sunburst title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + /** Name of the event + */ + type?: string; + } - /** Opacity of the Sunburst title. - * @Default {1} - */ - opacity?: number; + export interface PointRegionClickEventArgs { - /** Font size for Sunburst title. - * @Default {20px} - */ - size?: string; -} - -export interface TitleSubtitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; + /** Includes clicked points region data + */ + data?: string; - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Font size for sub title. - * @Default {12px} - */ - size?: string; -} + /** Instance of the sunburst model object + */ + model?: any; -export interface TitleSubtitle { + /** Name of the event + */ + type?: string; + } - /** Subtitle text for sunburst - */ - text?: string; + export interface PointRegionMouseMoveEventArgs { - /** Sub title text visibility for sunburst - * @Default {true} - */ - visible?: string; + /** Includes data of mouse moved region + */ + data?: string; - /** Sub title text alignment - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Options for customizing the font of sub title. - */ - font?: TitleSubtitleFont; -} + /** Instance of the sunburst model object + */ + model?: any; -export interface Title { + /** Name of the event + */ + type?: string; + } - /** Title text for sunburst - */ - text?: string; + export interface DrillDownClickEventArgs { - /** Title text visibility for sunburst - * @Default {true} - */ - visible?: string; + /** Clicked point data + */ + data?: string; - /** Title text alignment - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Options for customizing the font of sunburst title. - */ - font?: TitleFont; + /** Instance of the sunburst model object + */ + model?: any; - /** Options to customize the sub title of Sunburst. - */ - subtitle?: TitleSubtitle; -} + /** Name of the event + */ + type?: string; + } -export interface HighlightSettings { + export interface DrillDownBackEventArgs { - /** Enables/disables the ability to highlight the levels or point interactively. - * @Default {false} - */ - enable?: boolean; + /** Drill down data of points + */ + data?: string; - /** Specifies whether the levels or point has to be highlighted. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Color of the levels/point on highlight. - * @Default {red} - */ - color?: string; + /** Instance of the sunburst model object + */ + model?: any; - /** Opacity of the levels/point on highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be highlighted. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; -} + /** Name of the event + */ + type?: string; + } -export interface SelectionSettings { + export interface DrillDownResetEventArgs { + + /** Drill down reset data + */ + data?: string; - /** Enables/disables the ability to select the levels or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or data point has to be selected. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; - - /** Color of the levels/point on selection. - * @Default {green} - */ - color?: string; - - /** Opacity of the levels/point on selection. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be selected. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; -} - -export interface Level { - - /** Specifies the group member path - * @Default {null} - */ - groupMemberPath?: string; -} - -export interface LegendBorder { - - /** Border color of the legend. - * @Default {null} - */ - color?: string; - - /** Border width of the legend. - * @Default {1} - */ - width?: number; -} - -export interface LegendFont { - - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; -} - -export interface LegendItemStyle { - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; -} - -export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; -} - -export interface LegendSize { - - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; -} - -export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; -} - -export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Enables or disables the legend title. - * @Default {true} - */ - visible?: string; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; -} - -export interface Legend { - - /** Visibility of the legend. - * @Default {false} - */ - visible?: boolean; - - /** Interactive action of legend items. - * @Default {toggleSegmentVisibility. See Alignment} - */ - clickAction?: ej.datavisualization.Sunburst.SunburstClickAction|string; - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Sunburst.SunburstLegendPosition|string; - - /** Shape of the legend items. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Sunburst.SunburstLegendShape|string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; -} - -export interface Margin { - - /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. - * @Default {10} - */ - left?: number; - - /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. - * @Default {10} - */ - right?: number; - - /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. - * @Default {10} - */ - top?: number; - - /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. - * @Default {10} - */ - bottom?: number; -} - -export interface ZoomSettings { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Toolbar horizontal alignment - * @Default {right. See Alignment} - */ - toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment|string; - - /** Toolbar vertical alignment - * @Default {top. See Alignment} - */ - toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment|string; -} -} -module Sunburst -{ -enum FontStyle -{ -//string -Normal, -//string -Italic, -} -} -module Sunburst -{ -enum FontWeight -{ -//string -Regular, -//string -Bold, -//string -Lighter, -} -} -module Sunburst -{ -enum SunburstLabelRotationMode -{ -//string -Angle, -//string -Normal, -} -} -module Sunburst -{ -enum SunburstLabelOverflowMode -{ -//string -Trim, -//string -Hide, -//string -None, -} -} -module Sunburst -{ -enum SunburstAlignment -{ -//string -Center, -//string -Near, -//string -Far, -} -} -module Sunburst -{ -enum SunburstHighlightMode -{ -//string -Point, -//string -Parent, -//string -Child, -//string -All, -} -} -module Sunburst -{ -enum SunburstHighlightType -{ -//string -Opacity, -//string -Color, -} -} -module Sunburst -{ -enum SunburstClickAction -{ -//string -None, -//string -ToggleSegmentVisibility, -//string -ToggleSegmentSelection, -} -} -module Sunburst -{ -enum SunburstLegendPosition -{ -//string -Left, -//string -Right, -//string -Top, -//string -Bottom, -} -} -module Sunburst -{ -enum SunburstLegendShape -{ -//string -Diamond, -//string -Pentagon, -//string -Rectangle, -//string -Circle, -//string -Cross, -//string -Triangle, -} -} -module Sunburst -{ -enum SunburstTheme -{ -//string -FlatLight, -//string -FlatDark, -} -} -module Sunburst -{ -enum SunburstHorizontalAlignment -{ -//string -Center, -//string -Left, -//string -Right, -} -} -module Sunburst -{ -enum SunburstVerticalAlignment -{ -//string -Top, -//string -Bottom, -//string -Middle, -} -} -module Sunburst -{ -enum Animation -{ -//string -Rotation, -//string -FadeIn, -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst border. + * @Default {2} + */ + width?: number; + } + + export interface SegmentBorder { + + /** Segment Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst segment border. + * @Default {2} + */ + width?: number; + } + + export interface Size { + + /** Height of the Sunburst. + * @Default {''} + */ + height?: string; + + /** Width of the Sunburst. + * @Default {''} + */ + width?: string; + } + + export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {5} + */ + width?: number; + } + + export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {null} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {12px} + */ + size?: string; + } + + export interface Tooltip { + + /** tooltip visibility of the Sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options for customizing the border of the sunburst tooltip. + */ + border?: TooltipBorder; + + /** Fill color for the sunburst tooltip. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + + /** Custom template to the tooltip. + * @Default {null} + */ + template?: string; + } + + export interface Points { + + /** Points x value of the sunburst. + * @Default {null} + */ + x?: string; + + /** Points y value of the sunburst. + * @Default {null} + */ + y?: number; + + /** Points text of the sunburst. + * @Default {null} + */ + text?: string; + + /** Points fill color of the sunburst. + * @Default {null} + */ + fill?: string; + } + + export interface DataLabelSettingsFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; + } + + export interface DataLabelSettings { + + /** Datalabel visibility of the Sunburst. + * @Default {false} + */ + visible?: boolean; + + /** Alignment of sunburst datalabel + * @Default {Angle. See DatalabelAlignment} + */ + labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode | string; + + /** Options for customizing the data label font. + */ + font?: DataLabelSettingsFont; + + /** Custom template for datalabel + * @Default {null} + */ + template?: string; + + /** Fill color for the datalabel + * @Default {null} + */ + fill?: string; + + /** Datalabel overflow mode + * @Default {Trim. See LabelOverflowMode} + */ + labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode | string; + } + + export interface TitleFont { + + /** Font family for Sunburst title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Sunburst title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for Sunburst title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the Sunburst title. + * @Default {1} + */ + opacity?: number; + + /** Font size for Sunburst title. + * @Default {20px} + */ + size?: string; + } + + export interface TitleSubtitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; + } + + export interface TitleSubtitle { + + /** Subtitle text for sunburst + */ + text?: string; + + /** Sub title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Sub title text alignment + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the font of sub title. + */ + font?: TitleSubtitleFont; + } + + export interface Title { + + /** Title text for sunburst + */ + text?: string; + + /** Title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Title text alignment + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the font of sunburst title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Sunburst. + */ + subtitle?: TitleSubtitle; + } + + export interface HighlightSettings { + + /** Enables/disables the ability to highlight the levels or point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or point has to be highlighted. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; + + /** Color of the levels/point on highlight. + * @Default {red} + */ + color?: string; + + /** Opacity of the levels/point on highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be highlighted. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; + } + + export interface SelectionSettings { + + /** Enables/disables the ability to select the levels or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or data point has to be selected. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; + + /** Color of the levels/point on selection. + * @Default {green} + */ + color?: string; + + /** Opacity of the levels/point on selection. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be selected. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; + } + + export interface Level { + + /** Specifies the group member path + * @Default {null} + */ + groupMemberPath?: string; + } + + export interface LegendBorder { + + /** Border color of the legend. + * @Default {null} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; + } + + export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; + } + + export interface LegendItemStyle { + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; + } + + export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; + } + + export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; + } + + export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; + } + + export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Enables or disables the legend title. + * @Default {true} + */ + visible?: string; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + } + + export interface Legend { + + /** Visibility of the legend. + * @Default {false} + */ + visible?: boolean; + + /** Interactive action of legend items. + * @Default {toggleSegmentVisibility. See Alignment} + */ + clickAction?: ej.datavisualization.Sunburst.SunburstClickAction | string; + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Sunburst.SunburstLegendPosition | string; + + /** Shape of the legend items. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Sunburst.SunburstLegendShape | string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; + } + + export interface Margin { + + /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. + * @Default {10} + */ + left?: number; + + /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. + * @Default {10} + */ + right?: number; + + /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. + * @Default {10} + */ + top?: number; + + /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. + * @Default {10} + */ + bottom?: number; + } + + export interface ZoomSettings { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Toolbar horizontal alignment + * @Default {right. See Alignment} + */ + toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment | string; + + /** Toolbar vertical alignment + * @Default {top. See Alignment} + */ + toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment | string; + } +} +namespace Sunburst { + enum FontStyle { + //string + Normal, + //string + Italic, + } +} +namespace Sunburst { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } +} +namespace Sunburst { + enum SunburstLabelRotationMode { + //string + Angle, + //string + Normal, + } +} +namespace Sunburst { + enum SunburstLabelOverflowMode { + //string + Trim, + //string + Hide, + //string + None, + } +} +namespace Sunburst { + enum SunburstAlignment { + //string + Center, + //string + Near, + //string + Far, + } +} +namespace Sunburst { + enum SunburstHighlightMode { + //string + Point, + //string + Parent, + //string + Child, + //string + All, + } +} +namespace Sunburst { + enum SunburstHighlightType { + //string + Opacity, + //string + Color, + } +} +namespace Sunburst { + enum SunburstClickAction { + //string + None, + //string + ToggleSegmentVisibility, + //string + ToggleSegmentSelection, + } +} +namespace Sunburst { + enum SunburstLegendPosition { + //string + Left, + //string + Right, + //string + Top, + //string + Bottom, + } +} +namespace Sunburst { + enum SunburstLegendShape { + //string + Diamond, + //string + Pentagon, + //string + Rectangle, + //string + Circle, + //string + Cross, + //string + Triangle, + } +} +namespace Sunburst { + enum SunburstTheme { + //string + FlatLight, + //string + FlatDark, + } +} +namespace Sunburst { + enum SunburstHorizontalAlignment { + //string + Center, + //string + Left, + //string + Right, + } +} +namespace Sunburst { + enum SunburstVerticalAlignment { + //string + Top, + //string + Bottom, + //string + Middle, + } +} +namespace Sunburst { + enum Animation { + //string + Rotation, + //string + FadeIn, + } } class PivotGrid extends ej.Widget { static fn: PivotGrid; - constructor(element: JQuery, options?: PivotGrid.Model); - constructor(element: Element, options?: PivotGrid.Model); + constructor(element: JQuery | Element, options?: PivotGrid.Model); static Locale: any; - model:PivotGrid.Model; - defaults:PivotGrid.Model; + model: PivotGrid.Model; + defaults: PivotGrid.Model; /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ + * @returns {void} + */ doAjaxPost(): void; /** Performs an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ + * @returns {void} + */ doPostBack(): void; /** Exports the PivotGrid to the specified format. - * @returns {void} - */ + * @returns {void} + */ exportPivotGrid(): void; /** This function re-renders the PivotGrid on clicking the navigation buttons on PivotPager. - * @returns {void} - */ + * @returns {void} + */ refreshPagedPivotGrid(): void; /** This function refreshes the PivotGrid with modified data input in client-mode. - * @returns {void} - */ + * @returns {void} + */ refreshPivotGrid(): void; /** This function re-renders the control with the report available at that instant. - * @returns {void} - */ + * @returns {void} + */ refreshControl(): void; /** This function returns the height of all rows and width each and every column. - * @returns {any} - */ + * @returns {any} + */ calculateCellWidths(): any; /** This function creates the conditional formatting dialog to apply conditional formatting for PivotGrid control. - * @returns {void} - */ + * @returns {void} + */ createConditionalDialog(): void; /** This function saves the current report to the database/local storage. - * @returns {void} - */ + * @returns {void} + */ saveReport(): void; /** This function loads the specified report from the database/local storage. - * @returns {void} - */ + * @returns {void} + */ loadReport(): void; /** This function reconstructs the JSON data formed for rendering PivotGrid in excel-like layout format. - * @returns {void} - */ + * @returns {void} + */ excelLikeLayout(): void; /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ + * @returns {string} + */ getOlapReport(): string; /** Sets the OlapReport string along with the axis information. - * @returns {void} - */ + * @returns {void} + */ setOlapReport(): void; /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): Array; + * @returns {Array} + */ + getJSONRecords(): any[]; /** Sets the JSON records formed to render the control. - * @returns {void} - */ + * @returns {void} + */ setJSONRecords(): void; /** This function allows user to change the caption of the Pivot Item (name displayed in UI) on-demand for relational datasource in client-mode. - * @returns {void} - */ + * @returns {void} + */ refreshFieldCaption(): void; /** This function receives the JSON formatted datasource to render the PivotGrid control. - * @returns {void} - */ + * @returns {void} + */ renderControlFromJSON(): void; } -export module PivotGrid{ - -export interface Model { - - /** Sets the mode for the PivotGrid widget for binding either OLAP or relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode|string; - - /** Specifies the CSS class to PivotGrid to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Connects the PivotSchemaDesigner with the specified ID to the PivotGrid Control. - * @Default {“”} - */ - pivotTableFieldListID?: string; - - /** Initializes the data source for the PivotGrid widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Holds the necessary properties for value sorting. - * @Default {{}} - */ - valueSortSettings?: ValueSortSettings; - - /** Object that holds the settings of frozen headers. - * @Default {{}} - */ - frozenHeaderSettings?: FrozenHeaderSettings; - - /** Allows user to display header name in PivotGrid control. - * @Default {{}} - */ - headerSettings?: HeaderSettings; - - /** Allows user to show appropriate unique name on Pivot button. - * @Default {false} - */ - showUniqueNameOnPivotButton?: boolean; - - /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. - * @Default {null} - */ - customObject?: any; - - /** Allows the user to collapsed the specified members in each field by default. - * @Default {null} - */ - collapsedMembers?: any; - - /** Allows the user to access each cell on mouse right-click. - * @Default {false} - */ - enableCellContext?: boolean; - - /** Enables the cell selection for a specific range of value cells. - * @Default {false} - */ - enableCellSelection?: boolean; - - /** Enables the Drill-Through feature which retrieves the raw items that are used to create the specific cell in PivotGrid. - * @Default {false} - */ - enableDrillThrough?: boolean; - - /** Allows user to get the cell details in JSON format on double clicking the cell. - * @Default {false} - */ - enableCellDoubleClick?: boolean; - - /** Allows user to edit the value cells for write-back support in PivotGrid. This is applicable only for server-mode. - * @Default {false} - */ - enableCellEditing?: boolean; - - /** Collapses the Pivot items along rows and columns by default. It works only for relational data source. - * @Default {false} - */ - enableCollapseByDefault?: boolean; - - /** Enables/Disables the display of grand total for all the columns. - * @Default {true} - */ - enableColumnGrandTotal?: boolean; - - /** Allows the user to format a specific set of cells based on the condition. - * @Default {false} - */ - enableConditionalFormatting?: boolean; - - /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each fields in server mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Allows the user to refresh the control on-demand and not during every UI operation. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Enables the display of GroupingBar allowing you to filter, sort and remove fields obtained from datasource. - * @Default {false} - */ - enableGroupingBar?: boolean; - - /** Enables/Disables the display of grand total for rows and columns. - * @Default {true} - */ - enableGrandTotal?: boolean; - - /** Allows the user to load PivotGrid using JSON data. - * @Default {false} - */ - enableJSONRendering?: boolean; - - /** Enables rendering of PivotGrid widget along with the PivotTable Field List, which allows UI operations. - * @Default {true} - */ - enablePivotFieldList?: boolean; - - /** Enables the display of grand total for all the rows. - * @Default {true} - */ - enableRowGrandTotal?: boolean; - - /** Allows the user to view layout of the PivotGrid from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable ToolTip option. - * @Default {false} - */ - enableToolTip?: boolean; - - /** Allows the user to enable the animation effects in tooltip. - * @Default {false} - */ - enableToolTipAnimation?: boolean; - - /** Allows the user to adjust the width of the columns dynamically. - * @Default {false} - */ - enableColumnResizing?: boolean; - - /** Allows the user to view large amount of data through virtual scrolling. - * @Default {false} - */ - enableVirtualScrolling?: boolean; - - /** Allows the user to view large amount of data by applying paging. - * @Default {false} - */ - enablePaging?: boolean; - - /** Allows the user to configure hyperlink settings of PivotGrid control. - * @Default {{}} - */ - hyperlinkSettings?: HyperlinkSettings; - - /** Allows the user to enable PivotGrid’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; +export namespace PivotGrid { + + export interface Model { + + /** Sets the mode for the PivotGrid widget for binding either OLAP or relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Specifies the CSS class to PivotGrid to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Connects the PivotSchemaDesigner with the specified ID to the PivotGrid Control. + * @Default {“”} + */ + pivotTableFieldListID?: string; + + /** Initializes the data source for the PivotGrid widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Holds the neccessary properties for value sorting. + * @Default {{}} + */ + valueSortSettings?: ValueSortSettings; + + /** Object that holds the settings of frozen headers. + * @Default {{}} + */ + frozenHeaderSettings?: FrozenHeaderSettings; + + /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. + * @Default {null} + */ + customObject?: any; + + /** Allows the user to collapsed the specified members in each field by default. + * @Default {null} + */ + collapsedMembers?: any; + + /** Allows the user to access each cell on mouse right-click. + * @Default {false} + */ + enableCellContext?: boolean; + + /** Enables the cell selection for a specific range of value cells. + * @Default {false} + */ + enableCellSelection?: boolean; + + /** Enables the Drill-Through feature which retrieves the raw items that are used to create the specific cell in PivotGrid. + * @Default {false} + */ + enableDrillThrough?: boolean; + + /** Allows user to get the cell details in JSON format on double clicking the cell. + * @Default {false} + */ + enableCellDoubleClick?: boolean; + + /** Allows user to edit the value cells for write-back support in PivotGrid. This is applicable only for server-mode. + * @Default {false} + */ + enableCellEditing?: boolean; + + /** Collapses the Pivot items along rows and columns by default. It works only for relational data source. + * @Default {false} + */ + enableCollapseByDefault?: boolean; + + /** Enables/Disables the display of grand total for all the columns. + * @Default {true} + */ + enableColumnGrandTotal?: boolean; + + /** Allows the user to format a specific set of cells based on the condition. + * @Default {false} + */ + enableConditionalFormatting?: boolean; + + /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each fields in server mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Allows the user to refresh the control on-demand and not during every UI operation. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Enables the display of GroupingBar allowing you to filter, sort and remove fields obtained from datasource. + * @Default {false} + */ + enableGroupingBar?: boolean; + + /** Enables/Disables the display of grand total for rows and columns. + * @Default {true} + */ + enableGrandTotal?: boolean; + + /** Allows the user to load PivotGrid using JSON data. + * @Default {false} + */ + enableJSONRendering?: boolean; + + /** Enables rendering of PivotGrid widget along with the PivotTable Field List, which allows UI operations. + * @Default {true} + */ + enablePivotFieldList?: boolean; + + /** Enables the display of grand total for all the rows. + * @Default {true} + */ + enableRowGrandTotal?: boolean; + + /** Allows the user to view layout of the PivotGrid from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable ToolTip option. + * @Default {false} + */ + enableToolTip?: boolean; + + /** Allows the user to enable the animation effects in tooltip. + * @Default {false} + */ + enableToolTipAnimation?: boolean; + + /** Allows the user to adjust the width of the columns dynamically. + * @Default {false} + */ + enableColumnResizing?: boolean; + + /** Allows the user to view large amount of data through virtual scrolling. + * @Default {false} + */ + enableVirtualScrolling?: boolean; + + /** Allows the user to view large amount of data by applying paging. + * @Default {false} + */ + enablePaging?: boolean; + + /** Allows the user to configure hyperlink settings of PivotGrid control. + * @Default {{}} + */ + hyperlinkSettings?: HyperlinkSettings; + + /** Allows the user to enable PivotGrid’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; - /** Contains the serialized JSON string which renders PivotGrid. - */ - jsonRecords?: string; - - /** Sets the summary layout for PivotGrid.Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. - * @Default {ej.PivotGrid.Layout.Normal} - */ - layout?: ej.PivotGrid.Layout|string; + /** Contains the serialized JSON string which renders PivotGrid. + */ + jsonRecords?: string; + + /** Sets the summary layout for PivotGrid.Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. + * @Default {ej.PivotGrid.Layout.Normal} + */ + layout?: ej.PivotGrid.Layout | string; - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; - /** Sets the mode for the PivotGrid widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode|string; + /** Sets the mode for the PivotGrid widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - /** Triggers before any AJAX request is passed from PivotGrid to service methods. */ - beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + /** Triggers before any AJAX request is passed from PivotGrid to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - /** Triggers before Pivot Engine starts to populate. */ - beforePivotEnginePopulate? (e: BeforePivotEnginePopulateEventArgs): void; + /** Triggers before Pivot Engine starts to populate. */ + beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - /** Triggers when double click action is performed over a cell. */ - cellDoubleClick? (e: CellDoubleClickEventArgs): void; + /** Triggers when double click action is performed over a cell. */ + cellDoubleClick?(e: CellDoubleClickEventArgs): void; - /** Triggers when right-click action is performed on a cell. */ - cellContext? (e: CellContextEventArgs): void; + /** Triggers when right-click action is performed on a cell. */ + cellContext?(e: CellContextEventArgs): void; - /** Triggers when a specific range of value cells are selected. */ - cellSelection? (e: CellSelectionEventArgs): void; + /** Triggers when a specific range of value cells are selected. */ + cellSelection?(e: CellSelectionEventArgs): void; - /** Triggers when the hyperlink of column header is clicked. */ - columnHeaderHyperlinkClick? (e: ColumnHeaderHyperlinkClickEventArgs): void; + /** Triggers when the hyperlink of column header is clicked. */ + columnHeaderHyperlinkClick?(e: ColumnHeaderHyperlinkClickEventArgs): void; - /** Triggers after performing drill operation in PivotGrid. */ - drillSuccess? (e: DrillSuccessEventArgs): void; + /** Triggers after performing drill operation in PivotGrid. */ + drillSuccess?(e: DrillSuccessEventArgs): void; - /** Triggers while clicking "OK" button in the drill-through dialog. */ - drillThrough? (e: DrillThroughEventArgs): void; + /** Triggers while clicking "OK" button in the drill-through dialog. */ + drillThrough?(e: DrillThroughEventArgs): void; - /** Triggers when PivotGrid loading is initiated. */ - load? (e: LoadEventArgs): void; + /** Triggers when PivotGrid loading is initiated. */ + load?(e: LoadEventArgs): void; - /** Triggers when PivotGrid widget completes all operations at client-side after any AJAX request. */ - renderComplete? (e: RenderCompleteEventArgs): void; + /** Triggers when PivotGrid widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; - /** Triggers when any error occurred during AJAX request. */ - renderFailure? (e: RenderFailureEventArgs): void; + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; - /** Triggers when PivotGrid successfully reaches client-side after any AJAX request. */ - renderSuccess? (e: RenderSuccessEventArgs): void; + /** Triggers when PivotGrid successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; - /** Triggers when the hyperlink of row header is clicked. */ - rowHeaderHyperlinkClick? (e: RowHeaderHyperlinkClickEventArgs): void; + /** Triggers when the hyperlink of row header is clicked. */ + rowHeaderHyperlinkClick?(e: RowHeaderHyperlinkClickEventArgs): void; - /** Triggers when the hyperlink of summary cell is clicked. */ - summaryCellHyperlinkClick? (e: SummaryCellHyperlinkClickEventArgs): void; + /** Triggers when the hyperlink of summary cell is clicked. */ + summaryCellHyperlinkClick?(e: SummaryCellHyperlinkClickEventArgs): void; - /** Triggers when the hyperlink of value cell is clicked. */ - valueCellHyperlinkClick? (e: ValueCellHyperlinkClickEventArgs): void; + /** Triggers when the hyperlink of value cell is clicked. */ + valueCellHyperlinkClick?(e: ValueCellHyperlinkClickEventArgs): void; - /** Triggers before saving the current report to database. */ - saveReport? (e: SaveReportEventArgs): void; + /** Triggers before saving the current report to database. */ + saveReport?(e: SaveReportEventArgs): void; - /** Triggers before loading a report from database. */ - loadReport? (e: LoadReportEventArgs): void; + /** Triggers before loading a report from database. */ + loadReport?(e: LoadReportEventArgs): void; - /** Triggers before performing exporting in pivot grid. */ - beforeExport? (e: BeforeExportEventArgs): void; + /** Triggers before performing exporting in pivot grid. */ + beforeExport?(e: BeforeExportEventArgs): void; - /** Triggers before editing the cells. */ - cellEdit? (e: CellEditEventArgs): void; -} + /** Triggers before editing the cells. */ + cellEdit?(e: CellEditEventArgs): void; + } -export interface AfterServiceInvokeEventArgs { + export interface AfterServiceInvokeEventArgs { - /** returns the current action of PivotGrid control. - */ - action?: string; + /** returns the current action of PivotGrid control. + */ + action?: string; - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface BeforeServiceInvokeEventArgs { + export interface BeforeServiceInvokeEventArgs { - /** returns the current action of PivotGrid control. - */ - action?: string; + /** returns the current action of PivotGrid control. + */ + action?: string; - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface BeforePivotEnginePopulateEventArgs { + export interface BeforePivotEnginePopulateEventArgs { - /** returns the PivotGrid object - */ - pivotGridObject?: any; -} + /** returns the PivotGrid object + */ + pivotGridObject?: any; + } -export interface CellDoubleClickEventArgs { + export interface CellDoubleClickEventArgs { - /** returns the JSON details of the double clicked cell. - */ - selectedData?: Array; + /** returns the JSON details of the double clicked cell. + */ + selectedData?: any[]; - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface CellContextEventArgs { + export interface CellContextEventArgs { - /** returns the cell position (row index and column index) in table. - */ - cellPosition?: string; + /** returns the cell position (row index and column index) in table. + */ + cellPosition?: string; - /** returns the type of the cell. - */ - cellType?: string; + /** returns the type of the cell. + */ + cellType?: string; - /** returns the content of the cell. - */ - cellValue?: string; + /** returns the content of the cell. + */ + cellValue?: string; - /** returns the unique name of levels/members. - */ - uniqueName?: string; + /** returns the unique name of levels/members. + */ + uniqueName?: string; - /** returns the role of the cell in PivotGrid. - */ - role?: string; + /** returns the role of the cell in PivotGrid. + */ + role?: string; - /** returns JSON record corresponding to the selected cell. - */ - rawdata?: any; + /** returns JSON record corresponding to the selected cell. + */ + rawdata?: any; - /** returns the original event object. - */ - args?: any; -} + /** returns the original event object. + */ + args?: any; + } -export interface CellSelectionEventArgs { + export interface CellSelectionEventArgs { - /** returns the JSON records of the selected range of cells. - */ - JSONRecords?: any; + /** returns the JSON records of the selected range of cells. + */ + JSONRecords?: any; - /** Returns the row headers corresponding to the selected value cells. - */ - rowheader?: any; + /** Returns the row headers corresponding to the selected value cells. + */ + rowheader?: any; - /** Returns the column headers corresponding to the selected value cells. - */ - columnheader?: any; + /** Returns the column headers corresponding to the selected value cells. + */ + columnheader?: any; - /** Returns the information about the measure associated with the selected cell. - */ - measureCount?: string; -} + /** Returns the information about the measure associated with the selected cell. + */ + measureCount?: string; + } -export interface ColumnHeaderHyperlinkClickEventArgs { + export interface ColumnHeaderHyperlinkClickEventArgs { - /** returns the information about the clicked cell - */ - args?: any; + /** returns the information about the clicked cell + */ + args?: any; - /** returns the HTML element of the control. - */ - element?: any; + /** returns the HTML element of the control. + */ + element?: any; - /** returns the custom object bound to the control. - */ - customObject?: any; -} + /** returns the custom object bound to the control. + */ + customObject?: any; + } -export interface DrillSuccessEventArgs { + export interface DrillSuccessEventArgs { - /** returns the HTML element of the control. - */ - args?: any; -} + /** returns the HTML element of the control. + */ + args?: any; + } -export interface DrillThroughEventArgs { + export interface DrillThroughEventArgs { - /** return the JSON records of the generated cells on drill-through operation. - */ - data?: any; + /** return the JSON records of the generated cells on drill-through operation. + */ + data?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface LoadEventArgs { + export interface LoadEventArgs { - /** returns the custom object bound with the control. - */ - customObject?: any; + /** returns the custom object bound with the control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface RenderCompleteEventArgs { + export interface RenderCompleteEventArgs { - /** returns the current action of PivotGrid control. - */ - action?: string; + /** returns the current action of PivotGrid control. + */ + action?: string; - /** returns the custom object bound with the control. - */ - customObject?: any; + /** returns the custom object bound with the control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface RenderFailureEventArgs { + export interface RenderFailureEventArgs { - /** returns the current action of PivotGrid control. - */ - action?: string; + /** returns the current action of PivotGrid control. + */ + action?: string; - /** returns the custom object bound with the control. - */ - customObject?: any; + /** returns the custom object bound with the control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; + /** returns the HTML element of PivotGrid control. + */ + element?: any; - /** returns the error message with error code. - */ - message?: string; -} + /** returns the error message with error code. + */ + message?: string; + } -export interface RenderSuccessEventArgs { + export interface RenderSuccessEventArgs { - /** returns the current action of PivotGrid control. - */ - action?: string; + /** returns the current action of PivotGrid control. + */ + action?: string; - /** returns the custom object bound with the control. - */ - customObject?: any; + /** returns the custom object bound with the control. + */ + customObject?: any; - /** returns the HTML element of PivotGrid control. - */ - element?: any; -} + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } -export interface RowHeaderHyperlinkClickEventArgs { + export interface RowHeaderHyperlinkClickEventArgs { - /** returns the information about the clicked cell - */ - args?: any; + /** returns the information about the clicked cell + */ + args?: any; - /** returns the HTML element of the control. - */ - element?: any; + /** returns the HTML element of the control. + */ + element?: any; - /** returns the custom object bound to the control. - */ - customObject?: any; -} + /** returns the custom object bound to the control. + */ + customObject?: any; + } -export interface SummaryCellHyperlinkClickEventArgs { + export interface SummaryCellHyperlinkClickEventArgs { - /** returns the information about the clicked cell - */ - args?: any; + /** returns the information about the clicked cell + */ + args?: any; - /** returns the HTML element of the control. - */ - element?: any; + /** returns the HTML element of the control. + */ + element?: any; - /** returns the custom object bound to the control. - */ - customObject?: any; -} + /** returns the custom object bound to the control. + */ + customObject?: any; + } -export interface ValueCellHyperlinkClickEventArgs { + export interface ValueCellHyperlinkClickEventArgs { - /** returns the information about the clicked cell - */ - args?: any; + /** returns the information about the clicked cell + */ + args?: any; - /** returns the HTML element of the control. - */ - element?: any; + /** returns the HTML element of the control. + */ + element?: any; - /** returns the custom object bound to the control. - */ - customObject?: any; -} + /** returns the custom object bound to the control. + */ + customObject?: any; + } -export interface SaveReportEventArgs { + export interface SaveReportEventArgs { - /** returns the report to be stored in database. - */ - report?: any; -} + /** returns the report to be stored in database. + */ + report?: any; + } -export interface LoadReportEventArgs { + export interface LoadReportEventArgs { - /** returns the PivotGrid object. - */ - targetControl?: any; + /** returns the PivotGrid object. + */ + targetControl?: any; - /** returns whether the control is bound with OLAP or Relational data source. - */ - dataModel?: string; -} + /** returns whether the control is bound with OLAP or Relational data source. + */ + dataModel?: string; + } -export interface BeforeExportEventArgs { + export interface BeforeExportEventArgs { - /** contains the url of the service responsible for exporting. - */ - url?: string; + /** contains the url of the service responsible for exporting. + */ + url?: string; - /** contains the name of the exporting file. - */ - fileName?: string; -} + /** contains the name of the exporting file. + */ + fileName?: string; + } -export interface CellEditEventArgs { + export interface CellEditEventArgs { - /** contains the array of cells selected for editing. - */ - editCellsInfo?: Array; -} + /** contains the array of cells selected for editing. + */ + editCellsInfo?: any[]; + } -export interface DataSourceColumnsAdvancedFilter { + export interface DataSourceColumnsAdvancedFilter { - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: Array; -} + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } -export interface DataSourceColumnsFilterItems { + export interface DataSourceColumnsFilterItems { - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: Array; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field in PivotGrid. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: Array; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; -} - -export interface DataSourceRowsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: Array; -} - -export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: Array; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: Array; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; -} - -export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; -} - -export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: Array; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. - * @Default {ej.PivotAnalysis.SummaryType.Sum} - */ - summaryType?: ej.PivotAnalysis.SummaryType|string; - - /** Allows to set the format of the values. - */ - format?: string; - - /** This property sets type of display of date. - */ - formatString?: string; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; -} - -export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display name for an item. - */ - fieldCaption?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; -} - -export interface DataSourcePagerOptions { - - /** Allows to set the number of categorical columns to be displayed in each page on applying paging. - * @Default {0} - */ - categoricalPageSize?: number; - - /** Allows to set the number of series rows to be displayed in each page on applying paging. - * @Default {0} - */ - seriesPageSize?: number; - - /** Allows to set the page number in categorical axis to be loaded by default. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Allows to set the page number in series axis to be loaded by default. - * @Default {1} - */ - seriesCurrentPage?: number; -} - -export interface DataSource { - - /** Lists out the items to be arranged in columns section of PivotGrid. - * @Default {[]} - */ - columns?: Array; - - /** Lists out the items to be arranged in rows section of PivotGrid. - * @Default {[]} - */ - rows?: Array; - - /** Lists out the items which supports calculation in PivotGrid. - * @Default {[]} - */ - values?: Array; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGrid. - * @Default {[]} - */ - filters?: Array; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotGrid. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Sets a name to the report bound to the control. - */ - reportName?: string; - - /** Allows to set the page size and current page number for each axis on applying paging. - * @Default {{}} - */ - pagerOptions?: DataSourcePagerOptions; -} - -export interface ValueSortSettings { - - /** Contains the headers of the specific column to which value sorting is applied. - */ - headerText?: string; - - /** Allows the user to set the string for separating column headers provided in the above property headerText. - */ - headerDelimiters?: string; - - /** Allows the user to set the sorting order of the values of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; -} - -export interface FrozenHeaderSettings { - - /** Allows the user to freeze the row headers alone on scrolling the horizontal scroll bar. - * @Default {false} - */ - enableFrozenRowHeaders?: boolean; - - /** Allows the user to freeze the column headers alone on scrolling the vertical scroll bar. - * @Default {false} - */ - enableFrozenColumnHeaders?: boolean; - - /** Allows the user to freeze both the row headers and column headers on scrolling. - * @Default {false} - */ - enableFrozenHeaders?: boolean; - - /** Allows user to set the size of the scrollbar (horizontal and vertical) visible in PivotGrid. - * @Default {18} - */ - scrollerSize?: number; -} - -export interface HeaderSettings { - - /** Allows user to enable/disable row header names in PivotGrid control. - * @Default {false} - */ - showRowItems?: boolean; - - /** Allows user to enable/disable column header names in PivotGrid control. - * @Default {false} - */ - showColumnItems?: boolean; -} - -export interface HyperlinkSettings { - - /** Allows the user to enable/disable hyperlink for column header. - * @Default {false} - */ - enableColumnHeaderHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for row header. - * @Default {false} - */ - enableRowHeaderHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for summary cells. - * @Default {false} - */ - enableSummaryCellHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for value cells. - * @Default {false} - */ - enableValueCellHyperlink?: boolean; -} - -export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for drill up/down operation in PivotGrid. - * @Default {DrillGrid} - */ - drillDown?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotGrid?: string; - - /** Allows the user to set the custom name for the service method responsible for performing server-side actions on defer update. - * @Default {DeferUpdate} - */ - deferUpdate?: string; - - /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. - * @Default {FetchMembers} - */ - fetchMembers?: string; - - /** Allows the user to set the custom name for the service method responsible for filtering operation in PivotGrid. - * @Default {Filtering} - */ - filtering?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotGrid. - * @Default {InitializeGrid} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node from Field List. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. - * @Default {NodeStateModified} - */ - nodeStateModified?: string; - - /** Allows the user to set the custom name for the service method responsible for performing paging operation in PivotGrid. - * @Default {Paging} - */ - paging?: string; - - /** Allows the user to set the custom name for the service method responsible for sorting operation in PivotGrid. - * @Default {Sorting} - */ - sorting?: string; - - /** Allows the user to set the custom name for the service method responsible for expanding members inside member editor. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for editing the cells. - * @Default {CellEditing} - */ - cellEditing?: string; - - /** Allows the user to set the custom name for the service method responsible for saving the current report to database. - * @Default {SaveReport} - */ - saveReport?: string; - - /** Allows the user to set the custom name for the service method responsible for loading a report from database. - * @Default {LoadReportFromDB} - */ - loadReport?: string; - - /** Allows the user to set the custom name for the service method responsible for adding a calculated field to the report. - * @Default {CalculatedField} - */ - calculatedField?: string; - - /** Allows the user to set the custom name for the service method responsible for performing drill through operation. - * @Default {DrillThroughHierarchies} - */ - drillThroughHierarchies?: string; - - /** Allows the user to set the custom name for the service method responsible for performing drill through operation in data table. - * @Default {DrillThroughDataTable} - */ - drillThroughDataTable?: string; - - /** Allows the user to set the custom name for the service method responsible for write-back operation in OLAP Cube. This is only applicable in server-side component. - * @Default {WriteBack} - */ - writeBack?: string; -} - -enum Layout{ - - ///To set normal summary layout in PivotGrid. - Normal, - - ///To set layout with summaries at the top in PivotGrid. - NormalTopSummary, - - ///To set layout without summaries in PivotGrid. - NoSummaries, - - ///To set excel-like layout in PivotGrid. - ExcelLikeLayout -} + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceColumnsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field in PivotGrid. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceRowsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. + * @Default {ej.PivotAnalysis.SummaryType.Sum} + */ + summaryType?: ej.PivotAnalysis.SummaryType | string; + + /** Allows to set the format of the values. + */ + format?: string; + + /** This property sets type of display of date. + */ + formatString?: string; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display name for an item. + */ + fieldCaption?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSourcePagerOptions { + + /** Allows to set the number of categorical columns to be displayed in each page on applying paging. + * @Default {0} + */ + categoricalPageSize?: number; + + /** Allows to set the number of series rows to be displayed in each page on applying paging. + * @Default {0} + */ + seriesPageSize?: number; + + /** Allows to set the page number in categorical axis to be loaded by default. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Allows to set the page number in series axis to be loaded by default. + * @Default {1} + */ + seriesCurrentPage?: number; + } + + export interface DataSource { + + /** Lists out the items to be arranged in columns section of PivotGrid. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be arranged in rows section of PivotGrid. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items which supports calculation in PivotGrid. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGrid. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotGrid. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Sets a name to the report bound to the control. + */ + reportName?: string; + + /** Allows to set the page size and current page number for each axis on applying paging. + * @Default {{}} + */ + pagerOptions?: DataSourcePagerOptions; + } + + export interface ValueSortSettings { + + /** Contains the headers of the specific column to which value sorting is applied. + */ + headerText?: string; + + /** Allows the user to set the string for separating column headers provided in the above property headerText. + */ + headerDelimiters?: string; + + /** Allows the user to set the sorting order of the values of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + } + + export interface FrozenHeaderSettings { + + /** Allows the user to freeze the row headers alone on scrolling the horizontal scroll bar. + * @Default {false} + */ + enableFrozenRowHeaders?: boolean; + + /** Allows the user to freeze the column headers alone on scrolling the vertical scroll bar. + * @Default {false} + */ + enableFrozenColumnHeaders?: boolean; + + /** Allows the user to freeze both the row headers and column headers on scrolling. + * @Default {false} + */ + enableFrozenHeaders?: boolean; + } + + export interface HyperlinkSettings { + + /** Allows the user to enable/disable hyperlink for column header. + * @Default {false} + */ + enableColumnHeaderHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for row header. + * @Default {false} + */ + enableRowHeaderHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for summary cells. + * @Default {false} + */ + enableSummaryCellHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for value cells. + * @Default {false} + */ + enableValueCellHyperlink?: boolean; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for drill up/down operation in PivotGrid. + * @Default {DrillGrid} + */ + drillDown?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotGrid?: string; + + /** Allows the user to set the custom name for the service method responsible for performing server-side actions on defer update. + * @Default {DeferUpdate} + */ + deferUpdate?: string; + + /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. + * @Default {FetchMembers} + */ + fetchMembers?: string; + + /** Allows the user to set the custom name for the service method responsible for filtering operation in PivotGrid. + * @Default {Filtering} + */ + filtering?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotGrid. + * @Default {InitializeGrid} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node from Field List. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. + * @Default {NodeStateModified} + */ + nodeStateModified?: string; + + /** Allows the user to set the custom name for the service method responsible for performing paging operation in PivotGrid. + * @Default {Paging} + */ + paging?: string; + + /** Allows the user to set the custom name for the service method responsible for sorting operation in PivotGrid. + * @Default {Sorting} + */ + sorting?: string; + + /** Allows the user to set the custom name for the service method responsible for expanding members inside member editor. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for editing the cells. + * @Default {CellEditing} + */ + cellEditing?: string; + + /** Allows the user to set the custom name for the service method responsible for saving the current report to database. + * @Default {SaveReport} + */ + saveReport?: string; + + /** Allows the user to set the custom name for the service method responsible for loading a report from database. + * @Default {LoadReportFromDB} + */ + loadReport?: string; + + /** Allows the user to set the custom name for the service method responsible for adding a calculated field to the report. + * @Default {CalculatedField} + */ + calculatedField?: string; + + /** Allows the user to set the custom name for the service method responsible for performing drill through operation. + * @Default {DrillThroughHierarchies} + */ + drillThroughHierarchies?: string; + + /** Allows the user to set the custom name for the service method responsible for performing drill through operation in data table. + * @Default {DrillThroughDataTable} + */ + drillThroughDataTable?: string; + + /** Allows the user to set the custom name for the service method responsible for write-back operation in OLAP Cube. This is only applicable in server-side component. + * @Default {WriteBack} + */ + writeBack?: string; + } + + enum Layout { + + ///To set normal summary layout in PivotGrid. + Normal, + + ///To set layout with summaries at the top in PivotGrid. + NormalTopSummary, + + ///To set layout without summaries in PivotGrid. + NoSummaries, + + ///To set excel-like layout in PivotGrid. + ExcelLikeLayout + } } -module Pivot -{ -enum AnalysisMode -{ -//To bind an OLAP data source to PivotGrid. -OLAP, -//To bind a relational data source to PivotGrid. -Pivot, +namespace Pivot { + enum AnalysisMode { + //To bind an OLAP data source to PivotGrid. + OLAP, + //To bind a relational data source to PivotGrid. + Pivot, + } } +namespace PivotAnalysis { + enum SortOrder { + //Sorts the members of the field in ascending order. + Ascending, + //Sorts the members of the field in descending order. + Descending, + //Displays the members without sorting in any order. + None, + } } -module PivotAnalysis -{ -enum SortOrder -{ -//Sorts the members of the field in ascending order. -Ascending, -//Sorts the members of the field in descending order. -Descending, -//Displays the members without sorting in any order. -None, +namespace PivotAnalysis { + enum FilterType { + //Excludes the specified values among the members of the field. + Exclude, + //Includes the specified values alone among the members of the field. + Include, + } } +namespace PivotAnalysis { + enum SummaryType { + //Calculates the summary as the total of all values. + Sum, + //Displays the average of all values as the summaries. + Average, + //Displays the count of items in summaries. + Count, + //Displays the minimum value of all the items in the summary. + Min, + //Displays the maximum value of all the items in the summary. + Max, + } } -module PivotAnalysis -{ -enum FilterType -{ -//Excludes the specified values among the members of the field. -Exclude, -//Includes the specified values alone among the members of the field. -Include, -} -} -module PivotAnalysis -{ -enum SummaryType -{ -//Calculates the summary as the total of all values. -Sum, -//Displays the average of all values as the summaries. -Average, -//Displays the count of items in summaries. -Count, -//Displays the minimum value of all the items in the summary. -Min, -//Displays the maximum value of all the items in the summary. -Max, -} -} -module Pivot -{ -enum OperationalMode -{ -//To bind data source completely from client-side. -ClientMode, -//To bind data source completely from server-side. -ServerMode, -} +namespace Pivot { + enum OperationalMode { + //To bind data source completely from client-side. + ClientMode, + //To bind data source completely from server-side. + ServerMode, + } } class PivotSchemaDesigner extends ej.Widget { static fn: PivotSchemaDesigner; - constructor(element: JQuery, options?: PivotSchemaDesigner.Model); - constructor(element: Element, options?: PivotSchemaDesigner.Model); + constructor(element: JQuery | Element, options?: PivotSchemaDesigner.Model); static Locale: any; - model:PivotSchemaDesigner.Model; - defaults:PivotSchemaDesigner.Model; + model: PivotSchemaDesigner.Model; + defaults: PivotSchemaDesigner.Model; /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ + * @returns {void} + */ doAjaxPost(): void; /** Re-renders the control with the data source bound to the pivot control at that instant. - * @returns {void} - */ + * @returns {void} + */ refreshControl(): void; } -export module PivotSchemaDesigner{ +export namespace PivotSchemaDesigner { -export interface Model { + export interface Model { - /** Specifies the CSS class to PivotSchemaDesigner to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; + /** Specifies the CSS class to PivotSchemaDesigner to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; - /** Object utilized to pass additional information between client-end and service-end. - * @Default {{}} - */ - customObject?: any; + /** Object utilized to pass additional information between client-end and service-end. + * @Default {{}} + */ + customObject?: any; - /** For ASP.NET and MVC Wrapper, PivotSchemaDesigner will be initialized and rendered empty initially. Once the connected pivot control widget is rendered completely, PivotSchemaDesigner will just be populated with data source by setting this property to “true”. - * @Default {false} - */ - enableWrapper?: boolean; + /** For ASP.NET and MVC Wrapper, PivotSchemaDesigner will be initialized and rendered empty initially. Once the connected pivot control widget is rendered completely, + * PivotSchemaDesigner will just be populated with data source by setting this property to “true”. + * @Default {false} + */ + enableWrapper?: boolean; - /** Allows the user to view PivotTable Field List from right to left. - * @Default {false} - */ - enableRTL?: boolean; + /** Allows the user to view PivotTable Field List from right to left. + * @Default {false} + */ + enableRTL?: boolean; - /** Sets the visibility of OLAP elements in PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {null} - */ - olap?: Olap; + /** Sets the visibility of OLAP elements in PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {null} + */ + olap?: Olap; - /** Allows the user to enable/disable drag and drop operations within the PivotTable Field List. - * @Default {true} - */ - enableDragDrop?: boolean; + /** Allows the user to enable/disable drag and drop operations within the PivotTable Field List. + * @Default {true} + */ + enableDragDrop?: boolean; - /** Sets the height for PivotSchemaDesigner. - * @Default {“”} - */ - height?: string; + /** Sets the height for PivotSchemaDesigner. + * @Default {“”} + */ + height?: string; - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; - /** Sets the Pivot control bound with this PivotSchemaDesigner. - * @Default {null} - */ - pivotControl?: any; + /** Sets the Pivot control bound with this PivotSchemaDesigner. + * @Default {null} + */ + pivotControl?: any; - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethod?: ServiceMethod; + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethod?: ServiceMethod; - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; - /** Sets the width for PivotSchemaDesigner. - * @Default {“”} - */ - width?: string; + /** Sets the width for PivotSchemaDesigner. + * @Default {“”} + */ + width?: string; - /** Sets the layout for PivotSchemaDesigner. - * @Default {ej.PivotSchemaDesigner.Layouts.Excel} - */ - layout?: ej.PivotSchemaDesigner.Layouts|string; + /** Sets the layout for PivotSchemaDesigner. + * @Default {ej.PivotSchemaDesigner.Layouts.Excel} + */ + layout?: ej.PivotSchemaDesigner.Layouts | string; - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - /** Triggers before any AJAX request is passed from PivotSchemaDesigner to service methods. */ - beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + /** Triggers before any AJAX request is passed from PivotSchemaDesigner to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - /** Triggers when we start dragging any field from PivotSchemaDesigner. */ - dragMove? (e: DragMoveEventArgs): void; -} + /** Triggers when we start dragging any field from PivotSchemaDesigner. */ + dragMove?(e: DragMoveEventArgs): void; + } -export interface AfterServiceInvokeEventArgs { + export interface AfterServiceInvokeEventArgs { - /** returns the current action of PivotSchemaDesigner control. - */ - action?: string; + /** returns the current action of PivotSchemaDesigner control. + */ + action?: string; - /** returns the custom object bound with PivotSchemaDesigner control. - */ - customObject?: any; + /** returns the custom object bound with PivotSchemaDesigner control. + */ + customObject?: any; - /** returns the HTML element of PivotSchemaDesigner control. - */ - element?: any; -} + /** returns the HTML element of PivotSchemaDesigner control. + */ + element?: any; + } -export interface BeforeServiceInvokeEventArgs { + export interface BeforeServiceInvokeEventArgs { - /** returns the current action of PivotSchemaDesigner control. - */ - action?: string; + /** returns the current action of PivotSchemaDesigner control. + */ + action?: string; - /** returns the custom object bound with PivotSchemaDesigner control. - */ - customObject?: any; + /** returns the custom object bound with PivotSchemaDesigner control. + */ + customObject?: any; - /** returns the HTML element of PivotSchemaDesigner control. - */ - element?: any; -} + /** returns the HTML element of PivotSchemaDesigner control. + */ + element?: any; + } -export interface DragMoveEventArgs { + export interface DragMoveEventArgs { - /** returns the HTML element of the dragged field from PivotSchemaDesigner. - */ - dragTarget?: any; + /** returns the HTML element of the dragged field from PivotSchemaDesigner. + */ + dragTarget?: any; - /** return the JSON details of the dragged field. - */ - draggedElementData?: any; + /** return the JSON details of the dragged field. + */ + draggedElementData?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the PivotSchemaDesigner model - */ - model?: any; -} + /** returns the PivotSchemaDesigner model + */ + model?: any; + } -export interface Olap { + export interface Olap { - /** Allows the user to view the KPI elements in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {false} - */ - showKPI?: boolean; + /** Allows the user to view the KPI elements in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {false} + */ + showKPI?: boolean; - /** Allows the user to view the named sets in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {false} - */ - showNamedSets?: boolean; -} + /** Allows the user to view the named sets in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {false} + */ + showNamedSets?: boolean; + } -export interface ServiceMethod { + export interface ServiceMethod { - /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. - * @Default {FetchMembers} - */ - fetchMembers?: string; + /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. + * @Default {FetchMembers} + */ + fetchMembers?: string; - /** Allows the user to set the custom name for the service method responsible for filtering operation in Field List. - * @Default {Filtering} - */ - filtering?: string; + /** Allows the user to set the custom name for the service method responsible for filtering operation in Field List. + * @Default {Filtering} + */ + filtering?: string; - /** Allows the user to set the custom name for the service method responsible for the server-side action, on expanding members in Field List. - * @Default {MemberExpanded} - */ - memberExpand?: string; + /** Allows the user to set the custom name for the service method responsible for the server-side action, on expanding members in Field List. + * @Default {MemberExpanded} + */ + memberExpand?: string; - /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node into Field List. - * @Default {NodeDropped} - */ - nodeDropped?: string; + /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node into Field List. + * @Default {NodeDropped} + */ + nodeDropped?: string; - /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. - * @Default {NodeStateModified} - */ - nodeStateModified?: string; + /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. + * @Default {NodeStateModified} + */ + nodeStateModified?: string; - /** Allows the user to set the custom name for the service method responsible for button removing operation in Field List. - * @Default {RemoveButton} - */ - removeButton?: string; -} + /** Allows the user to set the custom name for the service method responsible for button removing operation in Field List. + * @Default {RemoveButton} + */ + removeButton?: string; + } -enum Layouts{ + enum Layouts { - ///To set the layout as same in the Excel. - Excel, + ///To set the layout as same in the Excel. + Excel, - ///To set normal layout for Field List. - Normal, + ///To set normal layout for Field List. + Normal, - ///To set layout with the axes one above the other. - OneByOne -} + ///To set layout with the axes one above the other. + OneByOne + } } class PivotPager extends ej.Widget { static fn: PivotPager; - constructor(element: JQuery, options?: PivotPager.Model); - constructor(element: Element, options?: PivotPager.Model); + constructor(element: JQuery | Element, options?: PivotPager.Model); static Locale: any; - model:PivotPager.Model; - defaults:PivotPager.Model; + model: PivotPager.Model; + defaults: PivotPager.Model; /** This function initializes the page counts and page numbers for the PivotPager. - * @returns {void} - */ + * @returns {void} + */ initPagerProperties(): void; } -export module PivotPager{ +export namespace PivotPager { -export interface Model { + export interface Model { - /** Contains the current page number in categorical axis. - * @Default {1} - */ - categoricalCurrentPage?: number; + /** Contains the current page number in categorical axis. + * @Default {1} + */ + categoricalCurrentPage?: number; - /** Contains the total page count in categorical axis. - * @Default {1} - */ - categoricalPageCount?: number; + /** Contains the total page count in categorical axis. + * @Default {1} + */ + categoricalPageCount?: number; - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; - /** Sets the pager mode (Only Categorical Pager/Only Series Pager/Both) for the PivotPager. - * @Default {ej.PivotPager.Mode.Both} - */ - mode?: ej.PivotPager.Mode|string; + /** Sets the pager mode (Only Categorical Pager/Only Series Pager/Both) for the PivotPager. + * @Default {ej.PivotPager.Mode.Both} + */ + mode?: ej.PivotPager.Mode | string; - /** Contains the current page number in series axis. - * @Default {1} - */ - seriesCurrentPage?: number; + /** Contains the current page number in series axis. + * @Default {1} + */ + seriesCurrentPage?: number; - /** Contains the total page count in series axis. - * @Default {1} - */ - seriesPageCount?: number; + /** Contains the total page count in series axis. + * @Default {1} + */ + seriesPageCount?: number; - /** Contains the ID of the target element for which paging needs to be done. - * @Default {“”} - */ - targetControlID?: string; -} + /** Contains the ID of the target element for which paging needs to be done. + * @Default {“”} + */ + targetControlID?: string; + } -enum Mode{ + enum Mode { - ///To set both categorical and series pager for paging. - Both, + ///To set both categorical and series pager for paging. + Both, - ///To set only categorical pager for paging. - Categorical, + ///To set only categorical pager for paging. + Categorical, - ///To set only series pager for paging. - Series -} + ///To set only series pager for paging. + Series + } } class PivotChart extends ej.Widget { static fn: PivotChart; - constructor(element: JQuery, options?: PivotChart.Model); - constructor(element: Element, options?: PivotChart.Model); + constructor(element: JQuery | Element, options?: PivotChart.Model); static Locale: any; - model:PivotChart.Model; - defaults:PivotChart.Model; + model: PivotChart.Model; + defaults: PivotChart.Model; /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ + * @returns {void} + */ doAjaxPost(): void; /** Perform an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ + * @returns {void} + */ doPostBack(): void; /** Exports the PivotChart to the format specified in the parameter. - * @returns {void} - */ + * @returns {void} + */ exportPivotChart(): void; /** This function renders the PivotChart control with the JSON formatted datasource. - * @returns {void} - */ + * @returns {void} + */ renderChartFromJSON(): void; /** This function receives the update from service-end, which would be utilized for rendering the widget. - * @returns {void} - */ + * @returns {void} + */ renderControlSuccess(): void; /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ + * @returns {string} + */ getOlapReport(): string; /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ + * @returns {void} + */ setOlapReport(): void; /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): Array; + * @returns {Array} + */ + getJSONRecords(): any[]; /** Sets the JSON records to render the control. - * @returns {void} - */ + * @returns {void} + */ setJSONRecords(): void; /** Returns the PivotEngine formed to render the control. - * @returns {Array} - */ - getPivotEngine(): Array; + * @returns {Array} + */ + getPivotEngine(): any[]; /** Sets the PivotEngine required to render the control. - * @returns {void} - */ + * @returns {void} + */ setPivotEngine(): void; /** Re-renders the control with the data source at the instant. - * @returns {void} - */ + * @returns {void} + */ refreshControl(): void; /** Renders the control with the pivot engine obtained from olap cube. - * @returns {void} - */ + * @returns {void} + */ generateJSON(): void; /** Navigates to the specified page number in specified axis. - * @returns {void} - */ + * @returns {void} + */ refreshPagedPivotChart(): void; } -export module PivotChart{ - -export interface Model { - - /** Sets the mode for the PivotChart widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode|string; - - /** Specifies the CSS class to PivotChart to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Options for enabling zooming feature of PivotChart. - * @Default {{}} - */ - zooming?: Zooming; - - /** Options available to configure the properties of entire series. You can also override the options for specific series by using series collection. - * @Default {{}} - */ - commonSeriesOptions?: CommonSeriesOptions; - - /** Initializes the data source for the PivotChart widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. - * @Default {{}} - */ - customObject?: any; - - /** Allows the user to enable 3D view of PivotChart. - * @Default {false} - */ - enable3D?: boolean; - - /** Allows the user to view PivotChart from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows user to render complete PivotChart on drill operation, that is, when expanding and collapsing members which are shown in multi-level labels. - * @Default {false} - */ - enableMultiLevelLabels?: boolean; - - /** Allows the user to enable PivotChart’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Lets the user to customize the legend items and their labels. - * @Default {{}} - */ - legend?: any; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotChart widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode|string; - - /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s xAxisName property to link both axis and series. - * @Default {{}} - */ - primaryXAxis?: any; - - /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s yAxisName property to link both axis and series. - * @Default {{}} - */ - primaryYAxis?: any; +export namespace PivotChart { + + export interface Model { + + /** Sets the mode for the PivotChart widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Specifies the CSS class to PivotChart to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Options for enabling zooming feature of PivotChart. + * @Default {{}} + */ + zooming?: Zooming; + + /** Options available to configure the properties of entire series. You can also override the options for specific series by using series collection. + * @Default {{}} + */ + commonSeriesOptions?: CommonSeriesOptions; + + /** Initializes the data source for the PivotChart widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. + * @Default {{}} + */ + customObject?: any; + + /** Allows the user to enable 3D view of PivotChart. + * @Default {false} + */ + enable3D?: boolean; + + /** Allows the user to view PivotChart from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable PivotChart’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Lets the user to customize the legend items and their labels. + * @Default {{}} + */ + legend?: any; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotChart widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. + * To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s xAxisName property to link both axis and series. + * @Default {{}} + */ + primaryXAxis?: any; + + /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. + * To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s yAxisName property to link both axis and series. + * @Default {{}} + */ + primaryYAxis?: any; + + /** Allows the user to rotate the angle of PivotChart in 3D view. + * @Default {0} + */ + rotation?: number; + + /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Options to customize the size of the PivotChart control. + * @Default {{}} + */ + size?: any; + + /** Connects the service using the specified URL for any server updates on operating the control in server mode. + * @Default {“”} + */ + url?: string; + + /** Triggers when PivotChart starts to render. */ + load?(e: LoadEventArgs): void; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotChart to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers on performing drill up/down in PivotChart control. */ + drillSuccess?(e: DrillSuccessEventArgs): void; + + /** Triggers when PivotChart widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotChart successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + + /** Triggers before performing exporting in pivot chart. */ + beforeExport?(e: BeforeExportEventArgs): void; + } - /** Allows the user to rotate the angle of PivotChart in 3D view. - * @Default {0} - */ - rotation?: number; - - /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Options to customize the size of the PivotChart control. - * @Default {{}} - */ - size?: any; + export interface LoadEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; - /** Connects the service using the specified URL for any server updates on operating the control in server mode. - * @Default {“”} - */ - url?: string; + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; - /** Triggers when PivotChart starts to render. */ - load? (e: LoadEventArgs): void; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotChart to service methods. */ - beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; - - /** Triggers on performing drill up/down in PivotChart control. */ - drillSuccess? (e: DrillSuccessEventArgs): void; - - /** Triggers when PivotChart widget completes all operations at client-side after any AJAX request. */ - renderComplete? (e: RenderCompleteEventArgs): void; + /** returns the HTML element of PivotChart control. + */ + element?: any; + } - /** Triggers when any error occurred during AJAX request. */ - renderFailure? (e: RenderFailureEventArgs): void; + export interface AfterServiceInvokeEventArgs { - /** Triggers when PivotChart successfully reaches client-side after any AJAX request. */ - renderSuccess? (e: RenderSuccessEventArgs): void; - - /** Triggers before performing exporting in pivot chart. */ - beforeExport? (e: BeforeExportEventArgs): void; -} + /** returns the current action of PivotChart control. + */ + action?: string; -export interface LoadEventArgs { + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; - /** returns the current action of PivotChart control. - */ - action?: string; + /** returns the HTML element of PivotChart control. + */ + element?: any; + } - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; + export interface BeforeServiceInvokeEventArgs { - /** returns the HTML element of PivotChart control. - */ - element?: any; -} + /** returns the current action of PivotChart control. + */ + action?: string; -export interface AfterServiceInvokeEventArgs { + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; - /** returns the current action of PivotChart control. - */ - action?: string; + /** returns the HTML element of PivotChart control. + */ + element?: any; + } - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; + export interface DrillSuccessEventArgs { - /** returns the HTML element of PivotChart control. - */ - element?: any; -} + /** returns the current instance of PivotChart. + */ + chartObj?: any; -export interface BeforeServiceInvokeEventArgs { + /** returns the drill action of PivotChart. + */ + drillAction?: string; - /** returns the current action of PivotChart control. - */ - action?: string; + /** contains the name of the member drilled. + */ + drilledMember?: string; - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; + /** returns the event object. + */ + event?: any; + } - /** returns the HTML element of PivotChart control. - */ - element?: any; -} + export interface RenderCompleteEventArgs { -export interface DrillSuccessEventArgs { + /** returns the current action of PivotChart control. + */ + action?: string; - /** returns the current instance of PivotChart. - */ - chartObj?: any; + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; - /** returns the drill action of PivotChart. - */ - drillAction?: string; + /** returns the HTML element of PivotChart control. + */ + element?: any; + } - /** contains the name of the member drilled. - */ - drilledMember?: string; + export interface RenderFailureEventArgs { - /** returns the event object. - */ - event?: any; -} + /** returns the current action of PivotChart control. + */ + action?: string; -export interface RenderCompleteEventArgs { + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; - /** returns the current action of PivotChart control. - */ - action?: string; + /** returns the HTML element of PivotChart control. + */ + element?: any; - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; + /** returns the error stack trace of the original exception. + */ + message?: string; + } - /** returns the HTML element of PivotChart control. - */ - element?: any; -} + export interface RenderSuccessEventArgs { -export interface RenderFailureEventArgs { + /** returns the current instance of PivotChart. + */ + args?: any; + } - /** returns the current action of PivotChart control. - */ - action?: string; + export interface BeforeExportEventArgs { - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; + /** contains the url of the service responsible for exporting. + */ + url?: string; - /** returns the HTML element of PivotChart control. - */ - element?: any; + /** contains the name of the exporting file. + */ + fileName?: string; + } - /** returns the error stack trace of the original exception. - */ - message?: string; -} + export interface Zooming { -export interface RenderSuccessEventArgs { + /** Enables or disables horizontal scrollbar. + * @Default {false} + */ + enableScrollbar?: boolean; + } - /** returns the current instance of PivotChart. - */ - args?: any; -} + export interface CommonSeriesOptions { -export interface BeforeExportEventArgs { + /** Allows the user to set the specific chart type for PivotChart widget. + * @Default {ej.PivotChart.ChartTypes.Column} + */ + type?: ej.PivotChart.ChartTypes | string; + } - /** contains the url of the service responsible for exporting. - */ - url?: string; + export interface DataSourceColumnsFilterItems { - /** contains the name of the exporting file. - */ - fileName?: string; -} + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; -export interface Zooming { + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } - /** Enables or disables horizontal scrollbar. - * @Default {false} - */ - enableScrollbar?: boolean; -} + export interface DataSourceColumn { -export interface CommonSeriesOptions { + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; - /** Allows the user to set the specific chart type for PivotChart widget. - * @Default {ej.PivotChart.ChartTypes.Column} - */ - type?: ej.PivotChart.ChartTypes|string; -} + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; -export interface DataSourceColumnsFilterItems { + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; + export interface DataSource { - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; -export interface DataSourceColumn { + /** Provides the raw data source for the PivotChart. + * @Default {null} + */ + data?: any; - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; + /** Lists out the items to be displayed as series of PivotChart. + * @Default {[]} + */ + columns?: DataSourceColumn[]; - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; -} - -export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; -} - -export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; -} - -export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: Array; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; -} - -export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; -} + /** Lists out the items to be displayed as segments of PivotChart. + * @Default {[]} + */ + rows?: DataSourceRow[]; -export interface DataSource { + /** Lists out the items supports calculation in PivotChart. + * @Default {[]} + */ + values?: DataSourceValue[]; - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotChart. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + } - /** Provides the raw data source for the PivotChart. - * @Default {null} - */ - data?: any; + export interface ServiceMethodSettings { - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; + /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotChart. + * @Default {DrillChart} + */ + drillDown?: string; - /** Lists out the items to be displayed as series of PivotChart. - * @Default {[]} - */ - columns?: Array; + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotChart?: string; - /** Lists out the items to be displayed as segments of PivotChart. - * @Default {[]} - */ - rows?: Array; + /** Allows the user to set the custom name for the service method responsible for initializing PivotChart. + * @Default {InitializeChart} + */ + initialize?: string; - /** Lists out the items supports calculation in PivotChart. - * @Default {[]} - */ - values?: Array; + /** Allows the user to set the custom name for the service method responsible for navigating between pages in paged PivotChart. + * @Default {Paging} + */ + paging?: string; + } - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotChart. - * @Default {[]} - */ - filters?: Array; -} + enum ChartTypes { -export interface ServiceMethodSettings { + ///To render a Line type PivotChart. + Line, - /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotChart. - * @Default {DrillChart} - */ - drillDown?: string; + ///To render a Spline type PivotChart. + Spline, - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotChart?: string; + ///To render a Column type PivotChart. + Column, - /** Allows the user to set the custom name for the service method responsible for initializing PivotChart. - * @Default {InitializeChart} - */ - initialize?: string; + ///To render an Area type PivotChart. + Area, - /** Allows the user to set the custom name for the service method responsible for navigating between pages in paged PivotChart. - * @Default {Paging} - */ - paging?: string; -} + ///To render a SplineArea type PivotChart. + SplineArea, -enum ChartTypes{ + ///To render a StepLine type PivotChart. + StepLine, - ///To render a Line type PivotChart. - Line, + ///To render a StepArea type PivotChart. + StepArea, - ///To render a Spline type PivotChart. - Spline, + ///To render a Pie type PivotChart. + Pie, - ///To render a Column type PivotChart. - Column, + ///To render a Bar type PivotChart. + Bar, - ///To render an Area type PivotChart. - Area, + ///To render a StackingArea type PivotChart. + StackingArea, - ///To render a SplineArea type PivotChart. - SplineArea, + ///To render a StackingColumn type PivotChart. + StackingColumn, - ///To render a StepLine type PivotChart. - StepLine, + ///To render a StackingBar type PivotChart. + StackingBar, - ///To render a StepArea type PivotChart. - StepArea, + ///To render a Pyramid type PivotChart. + Pyramid, - ///To render a Pie type PivotChart. - Pie, + ///To render a Funnel type PivotChart. + Funnel, - ///To render a Bar type PivotChart. - Bar, + ///To render a Doughnut type PivotChart. + Doughnut, - ///To render a StackingArea type PivotChart. - StackingArea, + ///To render a Scatter type PivotChart. + Scatter, - ///To render a StackingColumn type PivotChart. - StackingColumn, - - ///To render a StackingBar type PivotChart. - StackingBar, - - ///To render a Pyramid type PivotChart. - Pyramid, - - ///To render a Funnel type PivotChart. - Funnel, - - ///To render a Doughnut type PivotChart. - Doughnut, - - ///To render a Scatter type PivotChart. - Scatter, - - ///To render a Bubble type PivotChart. - Bubble -} + ///To render a Bubble type PivotChart. + Bubble + } } class PivotClient extends ej.Widget { static fn: PivotClient; - constructor(element: JQuery, options?: PivotClient.Model); - constructor(element: Element, options?: PivotClient.Model); + constructor(element: JQuery | Element, options?: PivotClient.Model); static Locale: any; - model:PivotClient.Model; - defaults:PivotClient.Model; + model: PivotClient.Model; + defaults: PivotClient.Model; /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ + * @returns {void} + */ doAjaxPost(): void; /** Performs an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ + * @returns {void} + */ doPostBack(): void; /** Navigates to the specified page in specified axis. - * @returns {void} - */ + * @returns {void} + */ refreshPagedPivotClient(): void; /** Updates the PivotClient component with the JSON data fetched from the service on navigating between pages. - * @returns {void} - */ + * @returns {void} + */ refreshPagedPivotClientSuccess(): void; /** Renders the PivotChart and PivotGrid with the JSON data provided. - * @returns {void} - */ + * @returns {void} + */ generateJSON(): void; /** Re-renders the control with the report at that instant. - * @returns {void} - */ + * @returns {void} + */ refreshControl(): void; /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ + * @returns {string} + */ getOlapReport(): string; /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ + * @returns {void} + */ setOlapReport(): void; /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): Array; + * @returns {Array} + */ + getJSONRecords(): any[]; /** Sets the JSON records formed to render the control to a property. - * @returns {void} - */ + * @returns {void} + */ setJSONRecords(): void; } -export module PivotClient{ - -export interface Model { - - /** Sets the mode for the PivotClient widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode|string; - - /** Allows the user to set the specific chart type for PivotChart inside PivotClient widget. - * @Default {ej.PivotChart.ChartTypes.Column} - */ - chartType?: ej.PivotChart.ChartTypes|string; - - /** Allows the user to set the content on exporting the PivotClient widget. - * @Default {ej.PivotClient.ClientExportMode.ChartAndGrid} - */ - clientExportMode?: ej.PivotClient.ClientExportMode|string; - - /** Specifies the CSS class to PivotClient to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end when the control functions in server-mode. - * @Default {{}} - */ - customObject?: any; - - /** Initializes the data source for the PivotClient widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Allows the user to customize the widget's layout and appearance. - * @Default {{}} - */ - displaySettings?: DisplaySettings; - - /** Allows user to set visibility of icons in toolbar panel. - * @Default {{}} - */ - toolbarIconSettings?: ToolbarIconSettings; - - /** Allows user to show unique name on pivotbutton. - * @Default {false} - */ - showUniqueNameOnPivotButton?: boolean; - - /** Enables the splitter option for resizing the elements inside the control. - * @Default {false} - */ - enableSplitter?: boolean; - - /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each dimensions on binding OLAP data in server mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Allows the user to refresh the control on-demand and not during every UI operation. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Lets the user to save and load reports in a customized way with the help of events. - * @Default {false} - */ - enableLocalStorage?: boolean; - - /** Allows the user to enable paging for both the PivotChart and PivotGrid components for the ease of viewing large data. - * @Default {false} - */ - enablePaging?: boolean; - - /** Allows the user to include the PivotTreeMap component as one of the chart types. - * @Default {false} - */ - enablePivotTreeMap?: boolean; - - /** Allows the user to view the layout of PivotClient from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Enables/disables the visibility of measure group selector drop-down in Cube Browser. - * @Default {false} - */ - enableMeasureGroups?: boolean; - - /** Allows the user to enable virtual scrolling for both the PivotChart and PivotGrid components for the ease of viewing large data. - * @Default {false} - */ - enableVirtualScrolling?: boolean; - - /** Enables/Disables paging in Member Editor for viewing the large count of members in pages. - * @Default {false} - */ - enableMemberEditorPaging?: boolean; - - /** Allows the user to set the number of members to be displayed in each page of Member Editor on applying paging in it. - * @Default {100} - */ - memberEditorPageSize?: number; - - /** Sets the summary layout for PivotGrid. Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. - * @Default {ej.PivotGrid.Layout.Normal} - */ - gridLayout?: ej.PivotGrid.Layout|string; - - /** Allows the user to enable PivotClient’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotClient widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode|string; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; +export namespace PivotClient { + + export interface Model { + + /** Sets the mode for the PivotClient widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Allows the user to set the specific chart type for PivotChart inside PivotClient widget. + * @Default {ej.PivotChart.ChartTypes.Column} + */ + chartType?: ej.PivotChart.ChartTypes | string; + + /** Allows the user to set the content on exporting the PivotClient widget. + * @Default {ej.PivotClient.ClientExportMode.ChartAndGrid} + */ + clientExportMode?: ej.PivotClient.ClientExportMode | string; + + /** Specifies the CSS class to PivotClient to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end when the control functions in server-mode. + * @Default {{}} + */ + customObject?: any; + + /** Initializes the data source for the PivotClient widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Allows the user to customize the widget's layout and appearance. + * @Default {{}} + */ + displaySettings?: DisplaySettings; + + /** Enables the splitter option for resizing the elements inside the control. + * @Default {false} + */ + enableSplitter?: boolean; + + /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each dimensions on binding OLAP data in server mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Allows the user to refresh the control on-demand and not during every UI operation. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Lets the user to save and load reports in a customized way with the help of events. + * @Default {false} + */ + enableLocalStorage?: boolean; + + /** Allows the user to enable paging for both the PivotChart and PivotGrid components for the ease of viewing large data. + * @Default {false} + */ + enablePaging?: boolean; + + /** Allows the user to include the PivotTreeMap component as one of the chart types. + * @Default {false} + */ + enablePivotTreeMap?: boolean; + + /** Allows the user to view the layout of PivotClient from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Enables/disables the visibility of measure group selector drop-down in Cube Browser. + * @Default {false} + */ + enableMeasureGroups?: boolean; + + /** Allows the user to enable virtual scrolling for both the PivotChart and PivotGrid components for the ease of viewing large data. + * @Default {false} + */ + enableVirtualScrolling?: boolean; + + /** Enables/Disables paging in Member Editor for viewing the large count of members in pages. + * @Default {false} + */ + enableMemberEditorPaging?: boolean; + + /** Allows the user to set the number of members to be displayed in each page of Member Editor on applying paging in it. + * @Default {100} + */ + memberEditorPageSize?: number; + + /** Sets the summary layout for PivotGrid. Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. + * @Default {ej.PivotGrid.Layout.Normal} + */ + gridLayout?: ej.PivotGrid.Layout | string; + + /** Allows the user to enable PivotClient’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotClient widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; - /** Sets the title for PivotClient widget. - */ - title?: string; + /** Sets the title for PivotClient widget. + */ + title?: string; - /** Connects the service using the specified URL for any server updates. - */ - url?: string; + /** Connects the service using the specified URL for any server updates. + */ + url?: string; - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - /** Triggers before any AJAX request is passed from client-side to service methods. */ - beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + /** Triggers before any AJAX request is passed from client-side to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - /** Triggers before saving the current collection of reports. */ - saveReport? (e: SaveReportEventArgs): void; + /** Triggers before saving the current collection of reports. */ + saveReport?(e: SaveReportEventArgs): void; - /** Triggers before loading a saved collection of reports. */ - loadReport? (e: LoadReportEventArgs): void; + /** Triggers before loading a saved collection of reports. */ + loadReport?(e: LoadReportEventArgs): void; - /** Triggers before fetching the report collection from storage. */ - fetchReport? (e: FetchReportEventArgs): void; + /** Triggers before fetching the report collection from storage. */ + fetchReport?(e: FetchReportEventArgs): void; - /** Triggers before exporting the control. */ - beforeExport? (e: BeforeExportEventArgs): void; + /** Triggers before exporting the control. */ + beforeExport?(e: BeforeExportEventArgs): void; - /** Triggers before rendering the PivotChart. */ - chartLoad? (e: ChartLoadEventArgs): void; + /** Triggers before rendering the PivotChart. */ + chartLoad?(e: ChartLoadEventArgs): void; - /** Triggers before rendering the PivotTreeMap. */ - treeMapLoad? (e: TreeMapLoadEventArgs): void; + /** Triggers before rendering the PivotTreeMap. */ + treeMapLoad?(e: TreeMapLoadEventArgs): void; - /** Triggers while we initiate loading of the widget. */ - load? (e: LoadEventArgs): void; + /** Triggers while we initiate loading of the widget. */ + load?(e: LoadEventArgs): void; - /** Triggers when PivotClient widget completes all operations at client-end after any AJAX request. */ - renderComplete? (e: RenderCompleteEventArgs): void; + /** Triggers when PivotClient widget completes all operations at client-end after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; - /** Triggers when any error occurred during AJAX request. */ - renderFailure? (e: RenderFailureEventArgs): void; + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; - /** Triggers when PivotClient successfully completes rendering. */ - renderSuccess? (e: RenderSuccessEventArgs): void; -} + /** Triggers when PivotClient successfully completes rendering. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + } -export interface AfterServiceInvokeEventArgs { + export interface AfterServiceInvokeEventArgs { - /** returns the current action of PivotClient control. - */ - action?: string; + /** returns the current action of PivotClient control. + */ + action?: string; - /** returns the custom object bounds with PivotClient control. - */ - customObject?: any; + /** returns the custom object bounds with PivotClient control. + */ + customObject?: any; - /** returns the HTML element of PivotClient control. - */ - element?: any; -} + /** returns the HTML element of PivotClient control. + */ + element?: any; + } -export interface BeforeServiceInvokeEventArgs { + export interface BeforeServiceInvokeEventArgs { - /** returns the current action of PivotClient control. - */ - action?: string; + /** returns the current action of PivotClient control. + */ + action?: string; - /** returns the custom object bounds with PivotClient control. - */ - customObject?: any; + /** returns the custom object bounds with PivotClient control. + */ + customObject?: any; - /** returns the HTML element of PivotClient control. - */ - element?: any; -} + /** returns the HTML element of PivotClient control. + */ + element?: any; + } -export interface SaveReportEventArgs { + export interface SaveReportEventArgs { - /** returns the current instance of PivotClient control. - */ - targetControl?: any; + /** returns the current instance of PivotClient control. + */ + targetControl?: any; - /** returns the object which holds the necessary parameters required for saving the report collection. - */ - saveReportSetting?: any; -} + /** returns the object which holds the necessary parameters required for saving the report collection. + */ + saveReportSetting?: any; + } -export interface LoadReportEventArgs { + export interface LoadReportEventArgs { - /** returns the current instance of PivotClient control. - */ - targetControl?: any; + /** returns the current instance of PivotClient control. + */ + targetControl?: any; - /** returns the object which holds the necessary parameters required for loading a report collection from database. - */ - loadReportSetting?: any; -} + /** returns the object which holds the necessary parameters required for loading a report collection from database. + */ + loadReportSetting?: any; + } -export interface FetchReportEventArgs { + export interface FetchReportEventArgs { - /** returns the current instance of PivotClient control. - */ - targetControl?: any; + /** returns the current instance of PivotClient control. + */ + targetControl?: any; - /** returns the object which holds the necessary parameters required for fetching the report names stored in database. - */ - fetchReportSetting?: any; -} + /** returns the object which holds the necessary parameters required for fetching the report names stored in database. + */ + fetchReportSetting?: any; + } -export interface BeforeExportEventArgs { + export interface BeforeExportEventArgs { - /** holds the url of the service method responsible for exporting the PivotClient control. - */ - url?: string; + /** holds the url of the service method responsible for exporting the PivotClient control. + */ + url?: string; - /** holds the name of the file to be exported. - */ - fileName?: string; -} + /** holds the name of the file to be exported. + */ + fileName?: string; + } -export interface ChartLoadEventArgs { + export interface ChartLoadEventArgs { - /** returns the current action of PivotChart control. - */ - action?: string; + /** returns the current action of PivotChart control. + */ + action?: string; - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; - /** returns the HTML element of PivotChart control. - */ - element?: any; -} + /** returns the HTML element of PivotChart control. + */ + element?: any; + } -export interface TreeMapLoadEventArgs { + export interface TreeMapLoadEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface LoadEventArgs { + export interface LoadEventArgs { - /** returns the HTML element of PivotClient component. - */ - element?: any; + /** returns the HTML element of PivotClient component. + */ + element?: any; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; -} + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + } -export interface RenderCompleteEventArgs { + export interface RenderCompleteEventArgs { - /** returns the HTML element of PivotClient component. - */ - element?: any; + /** returns the HTML element of PivotClient component. + */ + element?: any; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; -} + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + } -export interface RenderFailureEventArgs { + export interface RenderFailureEventArgs { - /** returns the custom object bound with the control. - */ - customObject?: any; + /** returns the custom object bound with the control. + */ + customObject?: any; - /** returns the HTML element of PivotClient control. - */ - element?: any; + /** returns the HTML element of PivotClient control. + */ + element?: any; - /** returns the error message with error code. - */ - message?: string; -} + /** returns the error message with error code. + */ + message?: string; + } -export interface RenderSuccessEventArgs { + export interface RenderSuccessEventArgs { - /** returns the object of PivotClient control at that instant. - */ - args?: any; -} + /** returns the object of PivotClient control at that instant. + */ + args?: any; + } -export interface DataSourceColumnsAdvancedFilter { + export interface DataSourceColumnsAdvancedFilter { - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: Array; -} - -export interface DataSourceColumnsFilterItems { + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceColumnsFilterItems { - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: Array; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field in PivotGrid. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: Array; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; -} - -export interface DataSourceRowsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: Array; -} - -export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: Array; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder|string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: Array; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; -} - -export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; -} - -export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: Array; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. - * @Default {ej.PivotAnalysis.SummaryType.Sum} - */ - summaryType?: ej.PivotAnalysis.SummaryType|string; - - /** Allows to set the format of the values. - */ - format?: string; - - /** This property sets type of display of date. - */ - formatString?: string; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; -} - -export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display name for an item. - */ - fieldCaption?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; -} - -export interface DataSourcePagerOptions { - - /** Allows to set the number of categorical columns to be displayed in each page on applying paging. - * @Default {0} - */ - categoricalPageSize?: number; - - /** Allows to set the number of series rows to be displayed in each page on applying paging. - * @Default {0} - */ - seriesPageSize?: number; - - /** Allows to set the page number in categorical axis to be loaded by default. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Allows to set the page number in series axis to be loaded by default. - * @Default {1} - */ - seriesCurrentPage?: number; -} - -export interface DataSource { - - /** Lists out the items to be arranged in columns section of PivotClient. - * @Default {[]} - */ - columns?: Array; - - /** Lists out the items to be arranged in rows section of PivotClient. - * @Default {[]} - */ - rows?: Array; - - /** Lists out the items which supports calculation in PivotClient. - * @Default {[]} - */ - values?: Array; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotClient. - * @Default {[]} - */ - filters?: Array; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotClient. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option in client-mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Sets a name to the report bound to the control. - */ - reportName?: string; - - /** Allows to set the page size and current page number for each axis on applying paging. - * @Default {{}} - */ - pagerOptions?: DataSourcePagerOptions; -} - -export interface DisplaySettings { - - /** Lets the user to customize the display of PivotChart and PivotGrid widgets, either in tabs or tiles. - * @Default {ej.PivotClient.ControlPlacement.Tab} - */ - controlPlacement?: ej.PivotClient.ControlPlacement|string; - - /** Lets the user to set either Chart or Grid as the start-up widget. - * @Default {ej.PivotClient.DefaultView.Grid} - */ - defaultView?: ej.PivotClient.DefaultView|string; - - /** Lets the user to have an option for switching to full screen view of PivotChart and PivotGrid from default view in PivotClient. - * @Default {false} - */ - enableFullScreen?: boolean; - - /** Enables an option to enhance the space for PivotGrid and PivotChart by hiding Cube Browser and Axis Element Builder. - * @Default {false} - */ - enableTogglePanel?: boolean; - - /** Sets the display mode (Only Chart/Only Grid/Both) in PivotClient. - * @Default {ej.PivotClient.DisplayMode.ChartAndGrid} - */ - mode?: ej.PivotClient.DisplayMode|string; -} - -export interface ToolbarIconSettings { - - /** Allows user to set the visibility of Add Report icon in toolbar panel. - * @Default {true} - */ - enableAddReport?: boolean; - - /** Allows user to set the visibility of New Report icon in toolbar panel. - * @Default {true} - */ - enableNewReport?: boolean; - - /** Allows user to set the visibility of Rename Report icon in toolbar panel. - * @Default {true} - */ - enableRenameReport?: boolean; - - /** Allows user to set the visibility of DB Manipulation icon in toolbar panel. - * @Default {true} - */ - enableDBManipulation?: boolean; - - /** Allows user to set the visibility of Word Export icon in toolbar panel. - * @Default {true} - */ - enableWordExport?: boolean; - - /** Allows user to set the visibility of Excel Export icon in toolbar panel. - * @Default {true} - */ - enableExcelExport?: boolean; - - /** Allows user to set the visibility of PDF Export icon in toolbar panel. - * @Default {true} - */ - enablePdfExport?: boolean; - - /** Allows user to set the visibility of MDX Query icon in toolbar panel. - * @Default {true} - */ - enableMDXQuery?: boolean; - - /** Allows user to set the visibility of Defer Update icon in toolbar panel. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Allows user to set the visibility of Full Screen icon in toolbar panel. - * @Default {false} - */ - enableFullScreen?: boolean; - - /** Allows user to set the visibility of Sort/Filter Column icon in toolbar panel. - * @Default {true} - */ - enableSortOrFilterColumn?: boolean; - - /** Allows user to set the visibility of Sort/Filter Row icon in toolbar panel. - * @Default {true} - */ - enableSortOrFilterRow?: boolean; - - /** Allows user to set the visibility of Toggle Axis icon in toolbar panel. - * @Default {true} - */ - enableToggleAxis?: boolean; - - /** Allows user to set the visibility of Chart Types icon in toolbar panel. - * @Default {true} - */ - enableChartTypes?: boolean; - - /** Allows user to set the visibility of Remove Report icon in toolbar panel. - * @Default {true} - */ - enableRemoveReport?: boolean; - - /** Allows user to set the visibility of Calculated Member icon in toolbar panel. - * @Default {false} - */ - enableCalculatedMember?: boolean; -} - -export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for updating the entire report and widget, while changing the Cube. - * @Default {CubeChanged} - */ - cubeChanged?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotClient?: string; - - /** Allows the user to set the custom name for the service method responsible to get the members for the tree-view, inside member-editor dialog. - * @Default {FetchMemberTreeNodes} - */ - fetchMemberTreeNodes?: string; - - /** Allows the user to set the custom name for the service method responsible for fetching the report names from the database. - * @Default {FetchReportListFromDB} - */ - fetchReportList?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while filtering members. - * @Default {FilterElement} - */ - filterElement?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotClient. - * @Default {InitializeClient} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for loading a report collection from the database. - * @Default {LoadReportFromDB} - */ - loadReport?: string; - - /** Allows the user to set the custom name for the service method responsible for retrieving the MDX query for the current report. - * @Default {GetMDXQuery} - */ - mdxQuery?: string; - - /** Allows the user to set the custom name for the service method responsible for updating the tree-view inside Cube Browser, while changing the measure group. - * @Default {MeasureGroupChanged} - */ - measureGroupChanged?: string; - - /** Allows the user to set the custom name for the service method responsible to get the child members, on tree-view node expansion. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while dropping a node/SplitButton inside Axis Element Builder. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while removing SplitButton from Axis Element Builder. - * @Default {RemoveSplitButton} - */ - removeSplitButton?: string; + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceColumnsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field in PivotGrid. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceRowsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. + * @Default {ej.PivotAnalysis.SummaryType.Sum} + */ + summaryType?: ej.PivotAnalysis.SummaryType | string; + + /** Allows to set the format of the values. + */ + format?: string; + + /** This property sets type of display of date. + */ + formatString?: string; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display name for an item. + */ + fieldCaption?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSourcePagerOptions { + + /** Allows to set the number of categorical columns to be displayed in each page on applying paging. + * @Default {0} + */ + categoricalPageSize?: number; + + /** Allows to set the number of series rows to be displayed in each page on applying paging. + * @Default {0} + */ + seriesPageSize?: number; + + /** Allows to set the page number in categorical axis to be loaded by default. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Allows to set the page number in series axis to be loaded by default. + * @Default {1} + */ + seriesCurrentPage?: number; + } + + export interface DataSource { + + /** Lists out the items to be arranged in columns section of PivotClient. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be arranged in rows section of PivotClient. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items which supports calculation in PivotClient. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotClient. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotClient. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option in client-mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Sets a name to the report bound to the control. + */ + reportName?: string; + + /** Allows to set the page size and current page number for each axis on applying paging. + * @Default {{}} + */ + pagerOptions?: DataSourcePagerOptions; + } + + export interface DisplaySettings { + + /** Lets the user to customize the display of PivotChart and PivotGrid widgets, either in tabs or tiles. + * @Default {ej.PivotClient.ControlPlacement.Tab} + */ + controlPlacement?: ej.PivotClient.ControlPlacement | string; + + /** Lets the user to set either Chart or Grid as the start-up widget. + * @Default {ej.PivotClient.DefaultView.Grid} + */ + defaultView?: ej.PivotClient.DefaultView | string; + + /** Lets the user to have an option for switching to full screen view of PivotChart and PivotGrid from default view in PivotClient. + * @Default {false} + */ + enableFullScreen?: boolean; + + /** Enables an option to enhance the space for PivotGrid and PivotChart by hiding Cube Browser and Axis Element Builder. + * @Default {false} + */ + enableTogglePanel?: boolean; + + /** Sets the display mode (Only Chart/Only Grid/Both) in PivotClient. + * @Default {ej.PivotClient.DisplayMode.ChartAndGrid} + */ + mode?: ej.PivotClient.DisplayMode | string; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for updating the entire report and widget, while changing the Cube. + * @Default {CubeChanged} + */ + cubeChanged?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotClient?: string; + + /** Allows the user to set the custom name for the service method responsible to get the members for the tree-view, inside member-editor dialog. + * @Default {FetchMemberTreeNodes} + */ + fetchMemberTreeNodes?: string; + + /** Allows the user to set the custom name for the service method responsible for fetching the report names from the database. + * @Default {FetchReportListFromDB} + */ + fetchReportList?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while filtering members. + * @Default {FilterElement} + */ + filterElement?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotClient. + * @Default {InitializeClient} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for loading a report collection from the database. + * @Default {LoadReportFromDB} + */ + loadReport?: string; + + /** Allows the user to set the custom name for the service method responsible for retrieving the MDX query for the current report. + * @Default {GetMDXQuery} + */ + mdxQuery?: string; - /** Allows the user to set the custom name for the service method responsible for saving the report collection to database. - * @Default {SaveReportToDB} - */ - saveReport?: string; + /** Allows the user to set the custom name for the service method responsible for updating the tree-view inside Cube Browser, while changing the measure group. + * @Default {MeasureGroupChanged} + */ + measureGroupChanged?: string; - /** Allows the user to set the custom name for the service method responsible for toggling the elements in row and column axes. - * @Default {ToggleAxis} - */ - toggleAxis?: string; + /** Allows the user to set the custom name for the service method responsible to get the child members, on tree-view node expansion. + * @Default {MemberExpanded} + */ + memberExpand?: string; - /** Allows the user to set the custom name for the service method responsible for all the toolbar operations. - * @Default {ToolbarOperations} - */ - toolbarServices?: string; + /** Allows the user to set the custom name for the service method responsible for updating report while dropping a node/SplitButton inside Axis Element Builder. + * @Default {NodeDropped} + */ + nodeDropped?: string; - /** Allows the user to set the custom name for the service method responsible for updating report collection. - * @Default {UpdateReport} - */ - updateReport?: string; + /** Allows the user to set the custom name for the service method responsible for updating report while removing SplitButton from Axis Element Builder. + * @Default {RemoveSplitButton} + */ + removeSplitButton?: string; - /** Allows the user to set the custom name for the service method responsible on navigating between pages in paged PivotClient. - * @Default {Paging} - */ - paging?: string; -} + /** Allows the user to set the custom name for the service method responsible for saving the report collection to database. + * @Default {SaveReportToDB} + */ + saveReport?: string; -enum ClientExportMode{ + /** Allows the user to set the custom name for the service method responsible for toggling the elements in row and column axes. + * @Default {ToggleAxis} + */ + toggleAxis?: string; - ///Exports both the PivotChart and PivotGrid on exporting. - ChartAndGrid, + /** Allows the user to set the custom name for the service method responsible for all the toolbar operations. + * @Default {ToolbarOperations} + */ + toolbarServices?: string; - ///Exports the PivotChart control alone on exporting. - ChartOnly, + /** Allows the user to set the custom name for the service method responsible for updating report collection. + * @Default {UpdateReport} + */ + updateReport?: string; - ///Exports the PivotGrid control alone on exporting. - GridOnly -} + /** Allows the user to set the custom name for the service method responsible on navigating between pages in paged PivotClient. + * @Default {Paging} + */ + paging?: string; + } + enum ClientExportMode { -enum ControlPlacement{ + ///Exports both the PivotChart and PivotGrid on exporting. + ChartAndGrid, - ///Displays PivotChart and PivotGrid widgets in separate tabs. - Tab, + ///Exports the PivotChart control alone on exporting. + ChartOnly, - ///Displays PivotChart and PivotGrid widgets one above the other. - Tile -} + ///Exports the PivotGrid control alone on exporting. + GridOnly + } -enum DefaultView{ + enum ControlPlacement { - ///To set PivotChart as a default control in view. - Chart, + ///Displays PivotChart and PivotGrid widgets in separate tabs. + Tab, - ///To set PivotGrid as a default control in view. - Grid -} + ///Displays PivotChart and PivotGrid widgets one above the other. + Tile + } -enum DisplayMode{ + enum DefaultView { - ///To display only PivotChart widget. - ChartOnly, + ///To set PivotChart as a default control in view. + Chart, - ///To display only PivotGrid widget. - GridOnly, + ///To set PivotGrid as a default control in view. + Grid + } - ///To display both PivotChart and PivotGrid widgets. - ChartAndGrid -} + + enum DisplayMode { + + ///To display only PivotChart widget. + ChartOnly, + + ///To display only PivotGrid widget. + GridOnly, + + ///To display both PivotChart and PivotGrid widgets. + ChartAndGrid + } } class PivotGauge extends ej.Widget { static fn: PivotGauge; - constructor(element: JQuery, options?: PivotGauge.Model); - constructor(element: Element, options?: PivotGauge.Model); + constructor(element: JQuery | Element, options?: PivotGauge.Model); static Locale: any; - model:PivotGauge.Model; - defaults:PivotGauge.Model; + model: PivotGauge.Model; + defaults: PivotGauge.Model; /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ + * @returns {void} + */ doAjaxPost(): void; /** This function is used to refresh the PivotGauge at client-side itself. - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** This function removes the KPI related images from PivotGauge on binding OLAP datasource. - * @returns {void} - */ + * @returns {void} + */ removeImg(): void; /** This function receives the JSON formatted datasource and renders the PivotGauge control. - * @returns {void} - */ + * @returns {void} + */ renderControlFromJSON(): void; /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ + * @returns {string} + */ getOlapReport(): string; /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ + * @returns {void} + */ setOlapReport(): void; /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): Array; + * @returns {Array} + */ + getJSONRecords(): any[]; /** Sets the JSON records to render the control. - * @returns {void} - */ + * @returns {void} + */ setJSONRecords(): void; /** Returns the JSON records required to render the PivotGauge on performing any action with OLAP data source. - * @returns {void} - */ + * @returns {void} + */ getJSONData(): void; } -export module PivotGauge{ - -export interface Model { - - /** Sets the number of columns to arrange the Pivot Gauges. - * @Default {0} - */ - columnsCount?: number; - - /** Specifies the CSS class to PivotGauge to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end on operating in server mode. - * @Default {{}} - */ - customObject?: any; - - /** Initializes the data source for the PivotGauge widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Enables/disables the animation of pointer in PivotGauge. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Enables/disables tooltip visibility in PivotGauge. - * @Default {false} - */ - enableTooltip?: boolean; - - /** Allows the user to view PivotGauge from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable PivotGauge’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to change the format of the label values in PivotGauge. - * @Default {null} - */ - labelFormatSettings?: LabelFormatSettings; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; +export namespace PivotGauge { + + export interface Model { + + /** Sets the number of columns to arrange the Pivot Gauges. + * @Default {0} + */ + columnsCount?: number; + + /** Specifies the CSS class to PivotGauge to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end on operating in server mode. + * @Default {{}} + */ + customObject?: any; + + /** Initializes the data source for the PivotGauge widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Enables/disables the animation of pointer in PivotGauge. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Enables/disables tooltip visibility in PivotGauge. + * @Default {false} + */ + enableTooltip?: boolean; + + /** Allows the user to view PivotGauge from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable PivotGauge’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to change the format of the label values in PivotGauge. + * @Default {null} + */ + labelFormatSettings?: LabelFormatSettings; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; - /** Sets the number of rows to arrange the Pivot Gauges. - * @Default {0} - */ - rowsCount?: number; + /** Sets the number of rows to arrange the Pivot Gauges. + * @Default {0} + */ + rowsCount?: number; - /** Sets the scale values such as pointers, indicators, etc... for PivotGauge. - * @Default {{}} - */ - scales?: any; - - /** Allows the user to set the custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Enables/disables the header labels in PivotGauge. - * @Default {true} - */ - showHeaderLabel?: boolean; + /** Sets the scale values such as pointers, indicators, etc... for PivotGauge. + * @Default {{}} + */ + scales?: any; + + /** Allows the user to set the custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Enables/disables the header labels in PivotGauge. + * @Default {true} + */ + showHeaderLabel?: boolean; - /** Connects the service using the specified URL for any server updates on server mode operation. - * @Default {“”} - */ - url?: string; + /** Connects the service using the specified URL for any server updates on server mode operation. + * @Default {“”} + */ + url?: string; - /** Sets the mode for the PivotGauge widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode|string; - - /** Sets the mode for the PivotGauge widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode|string; + /** Sets the mode for the PivotGauge widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Sets the mode for the PivotGauge widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - /** Triggers before any AJAX request is passed from PivotGauge to service methods. */ - beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + /** Triggers before any AJAX request is passed from PivotGauge to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - /** Triggers before populating the pivot engine on operating in client mode. */ - beforePivotEnginePopulate? (e: BeforePivotEnginePopulateEventArgs): void; + /** Triggers before populating the pivot engine on operating in client mode. */ + beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - /** Triggers when PivotGauge started loading at client-side. */ - load? (e: LoadEventArgs): void; + /** Triggers when PivotGauge started loading at client-side. */ + load?(e: LoadEventArgs): void; - /** Triggers when PivotGauge widget completes all operations at client-side after any AJAX request. */ - renderComplete? (e: RenderCompleteEventArgs): void; + /** Triggers when PivotGauge widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; - /** Triggers when any error occurred during AJAX request. */ - renderFailure? (e: RenderFailureEventArgs): void; - - /** Triggers when PivotGauge successfully reaches client-side after any AJAX request. */ - renderSuccess? (e: RenderSuccessEventArgs): void; -} + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotGauge successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + } -export interface AfterServiceInvokeEventArgs { + export interface AfterServiceInvokeEventArgs { - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; - /** returns the HTML element of PivotGauge control. - */ - element?: any; -} + /** returns the HTML element of PivotGauge control. + */ + element?: any; + } -export interface BeforeServiceInvokeEventArgs { + export interface BeforeServiceInvokeEventArgs { - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; - /** returns the HTML element of PivotGauge control. - */ - element?: any; -} + /** returns the HTML element of PivotGauge control. + */ + element?: any; + } -export interface BeforePivotEnginePopulateEventArgs { + export interface BeforePivotEnginePopulateEventArgs { - /** returns the current instance of PivotGauge control. - */ - gaugeObject?: any; -} + /** returns the current instance of PivotGauge control. + */ + gaugeObject?: any; + } -export interface LoadEventArgs { + export interface LoadEventArgs { - /** returns the current action of PivotGauge control. - */ - action?: string; + /** returns the current action of PivotGauge control. + */ + action?: string; - /** returns the model of PivotGauge control. - */ - model?: any; + /** returns the model of PivotGauge control. + */ + model?: any; - /** returns the HTML element of the widget. - */ - element?: any; + /** returns the HTML element of the widget. + */ + element?: any; - /** returns the custom object bound to the control. - */ - customObject?: any; -} + /** returns the custom object bound to the control. + */ + customObject?: any; + } -export interface RenderCompleteEventArgs { + export interface RenderCompleteEventArgs { - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; - /** returns the HTML element of PivotGauge control. - */ - element?: any; -} + /** returns the HTML element of PivotGauge control. + */ + element?: any; + } -export interface RenderFailureEventArgs { + export interface RenderFailureEventArgs { - /** returns the HTML element of PivotGauge control. - */ - element?: any; + /** returns the HTML element of PivotGauge control. + */ + element?: any; - /** returns the custom object bound with the control. - */ - customObject?: any; + /** returns the custom object bound with the control. + */ + customObject?: any; - /** returns the error message with error code. - */ - message?: string; -} + /** returns the error message with error code. + */ + message?: string; + } -export interface RenderSuccessEventArgs { + export interface RenderSuccessEventArgs { - /** returns the HTML element of PivotGauge control. - */ - element?: any; + /** returns the HTML element of PivotGauge control. + */ + element?: any; - /** returns the custom object bound with the control. - */ - customObject?: any; -} + /** returns the custom object bound with the control. + */ + customObject?: any; + } -export interface DataSourceColumnsFilterItems { + export interface DataSourceColumnsFilterItems { - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } -export interface DataSourceColumn { + export interface DataSourceColumn { - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; -} + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } -export interface DataSourceRowsFilterItems { + export interface DataSourceRowsFilterItems { - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; -} - -export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; -} - -export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: Array; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; -} - -export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType|string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: Array; -} + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } -export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; -} + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } -export interface DataSource { - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotGauge. - * @Default {null} - */ - data?: any; + export interface DataSource { + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotGauge. + * @Default {null} + */ + data?: any; - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to bind in columns section. - * @Default {[]} - */ - columns?: Array; - - /** Lists out the items to bind in rows section. - * @Default {[]} - */ - rows?: Array; - - /** Lists out the items supports calculation in PivotGauge. - * @Default {[]} - */ - values?: Array; + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to bind in columns section. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to bind in rows section. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items supports calculation in PivotGauge. + * @Default {[]} + */ + values?: DataSourceValue[]; - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGauge. - * @Default {[]} - */ - filters?: Array; -} + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGauge. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + } -export interface LabelFormatSettings { + export interface LabelFormatSettings { - /** Allows the user to change the number format of the label values in PivotGauge. - * @Default {ej.PivotGauge.NumberFormat.Default} - */ - numberFormat?: ej.PivotGauge.NumberFormat|string; + /** Allows the user to change the number format of the label values in PivotGauge. + * @Default {ej.PivotGauge.NumberFormat.Default} + */ + numberFormat?: ej.PivotGauge.NumberFormat | string; - /** Allows you to set the number of digits displayed after decimal point. - * @Default {5} - */ - decimalPlaces?: number; - - /** Allows you to add a text at the beginning of the label. - */ - prefixText?: string; - - /** Allows you to add text at the end of the label. - */ - suffixText?: string; -} - -export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for initializing PivotGauge. - * @Default {InitializeGauge} - */ - initialize?: string; -} - -enum NumberFormat{ + /** Allows you to set the number of digits displayed after decimal point. + * @Default {5} + */ + decimalPlaces?: number; + + /** Allows you to add a text at the beginning of the label. + */ + prefixText?: string; + + /** Allows you to add text at the end of the label. + */ + suffixText?: string; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for initializing PivotGauge. + * @Default {InitializeGauge} + */ + initialize?: string; + } + + enum NumberFormat { - ///To set default format for label values. - Default, + ///To set default format for label values. + Default, - ///To set currency format for label values. - Currency, + ///To set currency format for label values. + Currency, - ///To set percentage format for label values. - Percentage, - - ///To set fraction format for label values. - Fraction, + ///To set percentage format for label values. + Percentage, + + ///To set fraction format for label values. + Fraction, - ///To set scientific format for label values. - Scientific, + ///To set scientific format for label values. + Scientific, - ///To set text format for label values. - Text, + ///To set text format for label values. + Text, - ///To set notation format for label values. - Notation -} + ///To set notation format for label values. + Notation + } } class PivotTreeMap extends ej.Widget { static fn: PivotTreeMap; - constructor(element: JQuery, options?: PivotTreeMap.Model); - constructor(element: Element, options?: PivotTreeMap.Model); + constructor(element: JQuery | Element, options?: PivotTreeMap.Model); static Locale: any; - model:PivotTreeMap.Model; - defaults:PivotTreeMap.Model; + model: PivotTreeMap.Model; + defaults: PivotTreeMap.Model; /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ + * @returns {void} + */ doAjaxPost(): void; /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ + * @returns {string} + */ getOlapReport(): string; /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ + * @returns {void} + */ setOlapReport(): void; /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): Array; + * @returns {Array} + */ + getJSONRecords(): any[]; /** Sets the JSON records to render the control. - * @returns {void} - */ + * @returns {void} + */ setJSONRecords(): void; /** Renders the control with the pivot engine obtained from OLAP cube. - * @returns {void} - */ + * @returns {void} + */ generateJSON(): void; /** This function receives the JSON formatted datasource to render the PivotTreeMap control. - * @returns {void} - */ + * @returns {void} + */ renderTreeMapFromJSON(): void; /** This function receives the update from service-end, which would be utilized for rendering the widget. - * @returns {void} - */ + * @returns {void} + */ renderControlSuccess(): void; } -export module PivotTreeMap{ +export namespace PivotTreeMap { -export interface Model { + export interface Model { - /** Specifies the CSS class to PivotTreeMap to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; + /** Specifies the CSS class to PivotTreeMap to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; - /** Initializes the data source for the PivotTreeMap widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; + /** Initializes the data source for the PivotTreeMap widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; - /** Object utilized to pass additional information between client-end and service-end. - * @Default {{}} - */ - customObject?: any; + /** Object utilized to pass additional information between client-end and service-end. + * @Default {{}} + */ + customObject?: any; - /** Allows the user to enable PivotTreeMap’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; + /** Allows the user to enable PivotTreeMap’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; - /** Sets the mode for the PivotTreeMap widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode|string; + /** Sets the mode for the PivotTreeMap widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; - /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; + /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke? (e: AfterServiceInvokeEventArgs): void; + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - /** Triggers before any AJAX request is passed from PivotTreeMap to service methods. */ - beforeServiceInvoke? (e: BeforeServiceInvokeEventArgs): void; + /** Triggers before any AJAX request is passed from PivotTreeMap to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - /** Triggers when PivotTreeMap starts to render. */ - load? (e: LoadEventArgs): void; + /** Triggers when PivotTreeMap starts to render. */ + load?(e: LoadEventArgs): void; - /** Triggers before populating the pivot engine from datasource. */ - beforePivotEnginePopulate? (e: BeforePivotEnginePopulateEventArgs): void; + /** Triggers before populating the pivot engine from datasource. */ + beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - /** Triggers when drill up/down happens in PivotTreeMap control. And it returns the outer HTML of PivotTreeMap control. */ - drillSuccess? (e: DrillSuccessEventArgs): void; + /** Triggers when drill up/down happens in PivotTreeMap control. And it returns the outer HTML of PivotTreeMap control. */ + drillSuccess?(e: DrillSuccessEventArgs): void; - /** Triggers when PivotTreeMap widget completes all operations at client-side after any AJAX request. */ - renderComplete? (e: RenderCompleteEventArgs): void; + /** Triggers when PivotTreeMap widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; - /** Triggers when any error occurred during AJAX request. */ - renderFailure? (e: RenderFailureEventArgs): void; + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; - /** Triggers when PivotTreeMap successfully reaches client-side after any AJAX request. */ - renderSuccess? (e: RenderSuccessEventArgs): void; -} + /** Triggers when PivotTreeMap successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + } -export interface AfterServiceInvokeEventArgs { + export interface AfterServiceInvokeEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface BeforeServiceInvokeEventArgs { + export interface BeforeServiceInvokeEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface LoadEventArgs { + export interface LoadEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface BeforePivotEnginePopulateEventArgs { + export interface BeforePivotEnginePopulateEventArgs { - /** returns the current instance of PivotTreeMap control. - */ - treeMapObject?: any; -} + /** returns the current instance of PivotTreeMap control. + */ + treeMapObject?: any; + } -export interface DrillSuccessEventArgs { + export interface DrillSuccessEventArgs { - /** return the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** return the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface RenderCompleteEventArgs { + export interface RenderCompleteEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface RenderFailureEventArgs { + export interface RenderFailureEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; - /** returns the error stack trace of the original exception. - */ - message?: string; -} + /** returns the error stack trace of the original exception. + */ + message?: string; + } -export interface RenderSuccessEventArgs { + export interface RenderSuccessEventArgs { - /** returns the current action of PivotTreeMap control. - */ - action?: string; + /** returns the current action of PivotTreeMap control. + */ + action?: string; - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; -} + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } -export interface DataSourceColumnsFilterItems { + export interface DataSourceColumnsFilterItems { - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: Array; -} + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } -export interface DataSourceColumn { + export interface DataSourceColumn { - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; -} - -export interface DataSourceRowsFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceRow { + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; -} - -export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; -} - -export interface DataSourceValue { - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: Array; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; -} - -export interface DataSourceFiltersFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: Array; -} - -export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; -} - -export interface DataSource { - - /** Provides the raw data source for the PivotTreeMap. - * @Default {null} - */ - data?: any; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to be displayed as series of PivotTreeMap. - * @Default {[]} - */ - columns?: Array; - - /** Lists out the items to be displayed as segments of PivotTreeMap. - * @Default {[]} - */ - rows?: Array; - - /** Lists out the items supports calculation in PivotTreeMap. - * @Default {[]} - */ - values?: Array; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotTreeMap. - * @Default {[]} - */ - filters?: Array; -} - -export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for initializing PivotTreeMap. - * @Default {InitializeTreemap} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotTreeMap. - * @Default {DrillTreeMap} - */ - drillDown?: string; -} + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSource { + + /** Provides the raw data source for the PivotTreeMap. + * @Default {null} + */ + data?: any; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to be displayed as series of PivotTreeMap. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be displayed as segments of PivotTreeMap. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items supports calculation in PivotTreeMap. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotTreeMap. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for initializing PivotTreeMap. + * @Default {InitializeTreemap} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotTreeMap. + * @Default {DrillTreeMap} + */ + drillDown?: string; + } } class Schedule extends ej.Widget { static fn: Schedule; - constructor(element: JQuery, options?: Schedule.Model); - constructor(element: Element, options?: Schedule.Model); + constructor(element: JQuery | Element, options?: Schedule.Model); static Locale: any; - model:Schedule.Model; - defaults:Schedule.Model; + model: Schedule.Model; + defaults: Schedule.Model; /** This method is used to delete the appointment based on the guid value or the appointment data passed to it. - * @param {string|any} GUID value of an appointment element or an appointment object - * @returns {void} - */ - deleteAppointment(data: string|any): void; + * @param {string|any} GUID value of an appointment element or an appointment object + * @returns {void} + */ + deleteAppointment(data: string | any): void; /** Destroys the Schedule widget. All the events bound using this._on are unbound automatically and the control is moved to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Exports the appointments from the Schedule control. - * @param {string} It refers the controller action name to redirect. (For MVC) - * @param {string} It refers the server event name.(For ASP) - * @param {string|number} Pass the id of an appointment, in case if a single appointment needs to be exported. Otherwise, it takes the null value. - * @returns {void} - */ - exportSchedule(action: string, serverEvent: string, id: string|number): void; + * @param {string} It refers the controller action name to redirect. (For MVC) + * @param {string} It refers the server event name.(For ASP) + * @param {string|number} Pass the id of an appointment, in case if a single appointment needs to be exported. Otherwise, it takes the null value. + * @returns {void} + */ + exportSchedule(action: string, serverEvent: string, id: string | number): void; /** Searches and filters the appointments from appointment list of Schedule control. - * @param {Array} Holds array of one or more conditional objects for filtering the appointments based on it. - * @returns {Array} - */ - filterAppointments(filterConditions: Array): Array; + * @param {Array} Holds array of one or more conditional objects for filtering the appointments based on it. + * @returns {Array} + */ + filterAppointments(filterConditions: any[]): any[]; /** Gets the complete appointment list of Schedule control. - * @returns {Array} - */ - getAppointments(): Array; + * @returns {Array} + */ + getAppointments(): any[]; - /** Prints the entire Scheduler or a single appointment based on the appointment data passed as an argument to it. Simply calling the print() method, without passing any argument will print the entire Scheduler. - * @param {any} Either accepts no arguments at all or else accepts an appointment object. - * @returns {void} - */ + /** Prints the entire Scheduler or a single appointment based on the appointment data passed as an argument to it. Simply calling the print() method, + * without passing any argument will print the entire Scheduler. + * @param {any} Either accepts no arguments at all or else accepts an appointment object. + * @returns {void} + */ print(data: any): void; /** Refreshes the Scroller of Scheduler while using it within some other controls or application. - * @returns {void} - */ + * @returns {void} + */ refreshScroller(): void; /** It is used to save the appointment. The appointment object is based on the argument passed to this method. - * @param {any} appointment object which includes appointment details - * @returns {void} - */ + * @param {any} appointment object which includes appointment details + * @returns {void} + */ saveAppointment(appointmentObject: any): void; /** Generate the recurrence rule as a string, based on the repeat options selected. - * @returns {string} - */ + * @returns {string} + */ getRecurrenceRule(): string; - /** Retrieves the time slot information (start/end time and resource details) of the given element. The parameter is optional - as when no element is passed to it, the currently selected cell information will be retrieved. When multiple cells are selected in the Scheduler, it is not necessary to provide the parameter. - * @param {any} TD element object rendered as Scheduler work cell - * @returns {any} - */ + /** Retrieves the time slot information (start/end time and resource details) of the given element. + * The parameter is optional - as when no element is passed to it, the currently selected cell information will be retrieved. When multiple cells are selected in the Scheduler, + * it is not necessary to provide the parameter. + * @param {any} TD element object rendered as Scheduler work cell + * @returns {any} + */ getSlotByElement(element: any): any; /** Searches the appointments from the appointment list of Schedule control based on the provided search string in its argument list. - * @param {any|string} Defines the search word or the filter condition, based on which the appointments are filtered from the list. - * @param {string} Defines the field name on which the search is to be made. - * @param {ej.FilterOperators|string} Defines the filterOperator value for the search operation. - * @param {boolean} Defines the ignoreCase value for performing the search operation. - * @returns {Array} - */ - searchAppointments(searchString: any|string, field: string, operator: ej.FilterOperators|string, ignoreCase: boolean): Array; + * @param {any|string} Defines the search word or the filter condition, based on which the appointments are filtered from the list. + * @param {string} Defines the field name on which the search is to be made. + * @param {ej.FilterOperators|string} Defines the filterOperator value for the search operation. + * @param {boolean} Defines the ignoreCase value for performing the search operation. + * @returns {Array} + */ + searchAppointments(searchString: any | string, field: string, operator: ej.FilterOperators | string, ignoreCase: boolean): any[]; /** Refreshes the entire Schedule control. - * @returns {void} - */ + * @returns {void} + */ refresh(): void; /** Refreshes only the appointment elements within the Schedule control. - * @returns {void} - */ + * @returns {void} + */ refreshAppointments(): void; /** Passes the server-side action and data to the client-side for rendering the modified appointment list on the Schedule control. - * @returns {void} - */ + * @returns {void} + */ notifyChanges(): void; } -export module Schedule{ - -export interface Model { - - /** When set to true, Schedule allows the appointments to be dragged and dropped at required time. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** When set to true, Scheduler allows interaction through keyboard shortcut keys. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** It includes the dataSource option and the fields related to Schedule appointments. The appointment fields within the appointmentSettings can accept both string and object type values. To apply validation rules on the appointment window fields, then the appointment fields needs to be defined with object type values. - */ - appointmentSettings?: AppointmentSettings; - - /** Template design that applies on the Schedule appointments. All the field names that are mapped from dataSource to the appropriate field properties within the appointmentSettings can be used within the template. - * @Default {null} - */ - appointmentTemplateId?: string; - - /** Accepts the custom CSS class name that defines specific user-defined styles and themes to be applied for partial or complete elements of the Schedule. - */ - cssClass?: string; - - /** Sets various categorize colors to the Schedule appointments to differentiate it. - */ - categorizeSettings?: CategorizeSettings; - - /** Sets the height for Schedule cells. - * @Default {20px} - */ - cellHeight?: string; - - /** Sets the width for Schedule cells. - */ - cellWidth?: string; - - /** Holds all options related to the context menu settings of Scheduler. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Sets current date of the Schedule. The Schedule displays initially with the date that is provided here. - * @Default {new Date()} - */ - currentDate?: any; - - /** Sets current view of the Schedule. Schedule renders initially with the view that is specified here. The available views are day, week, workweek, month, agenda and custom view - from which any one of the required view can be set to the Schedule. It accepts both string or enum values. The enum values that are accepted by currentView(ej.Schedule.CurrentView) are as follows, - * @Default {ej.Schedule.CurrentView.Week} - */ - currentView?: string|ej.Schedule.CurrentView; - - /** Sets the date format for Schedule. - */ - dateFormat?: string; - - /** When set to true, shows the previous/next appointment navigator button on the Scheduler. - * @Default {true} - */ - showAppointmentNavigator?: boolean; - - /** When set to true, enables the resize behavior of appointments within the Schedule. - * @Default {true} - */ - enableAppointmentResize?: boolean; - - /** When set to true, enables the loading of Schedule appointments based on your demand. With this load on demand concept, the data consumption of the Schedule can be limited. - * @Default {false} - */ - enableLoadOnDemand?: boolean; - - /** Saves the current model value to browser cookies for state maintenance. When the page gets refreshed, Schedule control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** When set to true, the Schedule layout and behavior changes as per the common RTL conventions. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the end hour time limit to be displayed on the Schedule. - * @Default {24} - */ - endHour?: number; - - /** To configure resource grouping on the Schedule. - */ - group?: Group; - - /** Sets the height of the Schedule. Accepts both pixel and percentage values. - * @Default {1120px} - */ - height?: string; - - /** To define the work hours within the Schedule control. - */ - workHours?: WorkHours; - - /** When set to true, enables the Schedule to observe Daylight Saving Time for supported timezones. - * @Default {false} - */ - isDST?: boolean; - - /** When set to true, adapts the Schedule layout to fit the screen size of devices on which it renders. - * @Default {true} - */ - isResponsive?: boolean; - - /** Sets the specific culture to the Schedule. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum date limit to display on the Schedule. Setting maxDate with specific date value disallows the Schedule to navigate beyond that date. - * @Default {new Date(2099, 12, 31)} - */ - maxDate?: any; - - /** Sets the minimum date limit to display on the Schedule. Setting minDate with specific date value disallows the Schedule to navigate beyond that date. - * @Default {new Date(1900, 01, 01)} - */ - minDate?: any; - - /** Sets the mode of Schedule rendering either in a vertical or horizontal direction. It accepts either string("vertical" or "horizontal") or enum values. The enum values that are accepted by orientation(ej.Schedule.Orientation) are as follows, - * @Default {ej.Schedule.Orientation.Vertical} - */ - orientation?: string|ej.Schedule.Orientation; - - /** Holds all the options related to priority settings of the Schedule. - */ - prioritySettings?: PrioritySettings; - - /** When set to true, disables the interaction with the Schedule appointments, simply allowing the date and view navigation to occur. - * @Default {false} - */ - readOnly?: boolean; - - /** Holds all the options related to reminder settings of the Schedule. - */ - reminderSettings?: ReminderSettings; - - /** Defines the specific start and end dates to be rendered in the Schedule control. To render such user-specified custom date ranges in the Schedule control, set the currentView property to ej.Schedule.CurrentView.CustomView. - * @Default {null} - */ - renderDates?: RenderDates; - - /** Template design that applies on the Schedule resource header. - * @Default {null} - */ - resourceHeaderTemplateId?: string; - - /** Holds all the options related to the resources settings of the Schedule. It is a collection of one or more resource objects, where the levels of resources are rendered on the Schedule based on the order of the resource data provided within this collection. - * @Default {null} - */ - resources?: Array; - - /** When set to true, displays the all-day row cells on the Schedule. - * @Default {true} - */ - showAllDayRow?: boolean; - - /** When set to false, hides the weekend days on all the Scheduler views. - * @Default {true} - */ - showWeekend?: boolean; - - /** When set to true, displays the current time indicator on the Schedule. - * @Default {true} - */ - showCurrentTimeIndicator?: boolean; - - /** When set to true, displays the header bar on the Schedule. - * @Default {true} - */ - showHeaderBar?: boolean; - - /** When set to true, displays the location field additionally on Schedule appointment window. - * @Default {false} - */ - showLocationField?: boolean; - - /** When set to false, doesn't render the start and end timezone fields on the Schedule appointment window. - * @Default {true} - */ - showTimeZoneFields?: boolean; - - /** When set to true, displays the quick window for every single click made on the Schedule cells or appointments. - * @Default {true} - */ - showQuickWindow?: boolean; - - /** Sets the start hour time range to be displayed on the Schedule. - * @Default {0} - */ - startHour?: number; - - /** Sets either 12 or 24 hour time mode on the Schedule. It accepts either the string value("12" or "24") or the below mentioned enum values. The enum values that are accepted by timeMode(ej.Schedule.TimeMode) are as follows, - * @Default {null} - */ - timeMode?: string|ej.Schedule.TimeMode; - - /** Sets the timezone for the Schedule. - * @Default {null} - */ - timeZone?: string; - - /** Sets the collection of timezone items to be bound to the Schedule. Only the items bound to this property gets listed out in the timezone field of the appointment window. - */ - timeZoneCollection?: TimeZoneCollection; - - /** Defines the view collection to be displayed on the Schedule. By default, it displays all the views namely, Day, Week, WorkWeek and Month. - * @Default {[Day, Week, WorkWeek, Month, Agenda]} - */ - views?: Array; - - /** Sets the width of the Schedule. Accepts both pixel and percentage values. - * @Default {100%} - */ - width?: string; - - /** When set to true, Schedule allows the validation of recurrence pattern to take place before it is being assigned to the appointments. For example, when one of the instance of recurrence appointment is dragged beyond the next or previous instance of the same recurrence appointment, a pop-up is displayed with the validation message disallowing the drag functionality. - * @Default {true} - */ - enableRecurrenceValidation?: boolean; - - /** Sets the week to display more than one week appointment summary. - */ - agendaViewSettings?: AgendaViewSettings; - - /** Sets specific day as the starting day of the week. - * @Default {null} - */ - firstDayOfWeek?: string; - - /** Sets different day collection within workWeek view. - * @Default {[Monday, Tuesday, Wednesday, Thursday, Friday]} - */ - workWeek?: Array; - - /** Allows to pop-up appointment details in a tooltip while hovering over the appointments. - */ - tooltipSettings?: TooltipSettings; - - /** Holds all the options related to the time scale of Scheduler. The timeslots either major or minor slots can be customized with this property. - */ - timeScale?: TimeScale; - - /** When set to true, shows the delete confirmation dialog before deleting an appointment. - * @Default {true} - */ - showDeleteConfirmationDialog?: boolean; +export namespace Schedule { + + export interface Model { + + /** When set to true, Schedule allows the appointments to be dragged and dropped at required time. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** When set to true, Scheduler allows interaction through keyboard shortcut keys. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** It includes the dataSource option and the fields related to Schedule appointments. The appointment fields within the appointmentSettings can accept both string and object type values. + * To apply validation rules on the appointment window fields, then the appointment fields needs to be defined with object type values. + */ + appointmentSettings?: AppointmentSettings; + + /** Template design that applies on the Schedule appointments. All the field names that are mapped from dataSource + * to the appropriate field properties within the appointmentSettings can be used within the template. + * @Default {null} + */ + appointmentTemplateId?: string; + + /** Accepts the custom CSS class name that defines specific user-defined styles and themes to be applied for partial or complete elements of the Schedule. + */ + cssClass?: string; + + /** Sets various categorize colors to the Schedule appointments to differentiate it. + */ + categorizeSettings?: CategorizeSettings; + + /** Sets the height for Schedule cells. + * @Default {20px} + */ + cellHeight?: string; + + /** Sets the width for Schedule cells. + */ + cellWidth?: string; + + /** Holds all options related to the context menu settings of Scheduler. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Sets current date of the Schedule. The Schedule displays initially with the date that is provided here. + * @Default {new Date()} + */ + currentDate?: any; + + /** Sets current view of the Schedule. Schedule renders initially with the view that is specified here. The available views are day, week, workweek, month, agenda and + * custom view - from which any one of the required view can be set to the Schedule. It accepts both string or enum values. The enum values that are accepted + * by currentView(ej.Schedule.CurrentView) are as follows, + * @Default {ej.Schedule.CurrentView.Week} + */ + currentView?: string | ej.Schedule.CurrentView; + + /** Sets the date format for Schedule. + */ + dateFormat?: string; + + /** When set to true, shows the previous/next appointment navigator button on the Scheduler. + * @Default {true} + */ + showAppointmentNavigator?: boolean; + + /** When set to true, enables the resize behavior of appointments within the Schedule. + * @Default {true} + */ + enableAppointmentResize?: boolean; + + /** When set to true, enables the loading of Schedule appointments based on your demand. With this load on demand concept, the data consumption of the Schedule can be limited. + * @Default {false} + */ + enableLoadOnDemand?: boolean; + + /** Saves the current model value to browser cookies for state maintenance. When the page gets refreshed, Schedule control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** When set to true, the Schedule layout and behavior changes as per the common RTL conventions. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the end hour time limit to be displayed on the Schedule. + * @Default {24} + */ + endHour?: number; + + /** To configure resource grouping on the Schedule. + */ + group?: Group; + + /** Sets the height of the Schedule. Accepts both pixel and percentage values. + * @Default {1120px} + */ + height?: string; + + /** To define the work hours within the Schedule control. + */ + workHours?: WorkHours; + + /** When set to true, enables the Schedule to observe Daylight Saving Time for supported timezones. + * @Default {false} + */ + isDST?: boolean; + + /** When set to true, adapts the Schedule layout to fit the screen size of devices on which it renders. + * @Default {true} + */ + isResponsive?: boolean; + + /** Sets the specific culture to the Schedule. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum date limit to display on the Schedule. Setting maxDate with specific date value disallows the Schedule to navigate beyond that date. + * @Default {new Date(2099, 12, 31)} + */ + maxDate?: any; + + /** Sets the minimum date limit to display on the Schedule. Setting minDate with specific date value disallows the Schedule to navigate beyond that date. + * @Default {new Date(1900, 01, 01)} + */ + minDate?: any; + + /** Sets the mode of Schedule rendering either in a vertical or horizontal direction. It accepts either string("vertical" or "horizontal") or enum values. + * The enum values that are accepted by orientation(ej.Schedule.Orientation) are as follows, + * @Default {ej.Schedule.Orientation.Vertical} + */ + orientation?: string | ej.Schedule.Orientation; + + /** Holds all the options related to priority settings of the Schedule. + */ + prioritySettings?: PrioritySettings; + + /** When set to true, disables the interaction with the Schedule appointments, simply allowing the date and view navigation to occur. + * @Default {false} + */ + readOnly?: boolean; + + /** Holds all the options related to reminder settings of the Schedule. + */ + reminderSettings?: ReminderSettings; + + /** Defines the specific start and end dates to be rendered in the Schedule control. To render such user-specified custom date ranges in the Schedule control, + * set the currentView property to ej.Schedule.CurrentView.CustomView. + * @Default {null} + */ + renderDates?: RenderDates; + + /** Template design that applies on the Schedule resource header. + * @Default {null} + */ + resourceHeaderTemplateId?: string; + + /** Holds all the options related to the resources settings of the Schedule. It is a collection of one or more resource objects, where the levels of resources are rendered on the Schedule + * based on the order of the resource data provided within this collection. + * @Default {null} + */ + resources?: Resource[]; + + /** When set to true, displays the all-day row cells on the Schedule. + * @Default {true} + */ + showAllDayRow?: boolean; + + /** When set to true, displays the current time indicator on the Schedule. + * @Default {true} + */ + showCurrentTimeIndicator?: boolean; + + /** When set to true, displays the header bar on the Schedule. + * @Default {true} + */ + showHeaderBar?: boolean; + + /** When set to true, displays the location field additionally on Schedule appointment window. + * @Default {false} + */ + showLocationField?: boolean; + + /** When set to false, doesn't render the start and end timezone fields on the Schedule appointment window. + * @Default {true} + */ + showTimeZoneFields?: boolean; + + /** When set to true, displays the quick window for every single click made on the Schedule cells or appointments. + * @Default {true} + */ + showQuickWindow?: boolean; + + /** Sets the start hour time range to be displayed on the Schedule. + * @Default {0} + */ + startHour?: number; + + /** Sets either 12 or 24 hour time mode on the Schedule. It accepts either the string value("12" or "24") or the below mentioned enum values. + * The enum values that are accepted by timeMode(ej.Schedule.TimeMode) are as follows, + * @Default {null} + */ + timeMode?: string | ej.Schedule.TimeMode; + + /** Sets the timezone for the Schedule. + * @Default {null} + */ + timeZone?: string; + + /** Sets the collection of timezone items to be bound to the Schedule. Only the items bound to this property gets listed out in the timezone field of the appointment window. + */ + timeZoneCollection?: TimeZoneCollection; + + /** Defines the view collection to be displayed on the Schedule. By default, it displays all the views namely, Day, Week, WorkWeek and Month. + * @Default {[Day, Week, WorkWeek, Month, Agenda]} + */ + views?: any[]; + + /** Sets the width of the Schedule. Accepts both pixel and percentage values. + * @Default {100%} + */ + width?: string; + + /** When set to true, Schedule allows the validation of recurrence pattern to take place before it is being assigned to the appointments. For example, when one of the instance of + * recurrence appointment is dragged beyond the next or previous instance of the same recurrence appointment, a pop-up is displayed with the validation message disallowing the drag functionality. + * @Default {true} + */ + enableRecurrenceValidation?: boolean; + + /** Sets the week to display more than one week appointment summary. + */ + agendaViewSettings?: AgendaViewSettings; + + /** Sets specific day as the starting day of the week. + * @Default {null} + */ + firstDayOfWeek?: string; + + /** Sets different day collection within workWeek view. + * @Default {[Monday, Tuesday, Wednesday, Thursday, Friday]} + */ + workWeek?: any[]; + + /** Allows to pop-up appointment details in a tooltip while hovering over the appointments. + */ + tooltipSettings?: TooltipSettings; + + /** Holds all the options related to the time scale of Scheduler. The timeslots either major or minor slots can be customized with this property. + */ + timeScale?: TimeScale; + + /** When set to true, shows the delete confirmation dialog before deleting an appointment. + * @Default {true} + */ + showDeleteConfirmationDialog?: boolean; - /** Accepts the id value of the template layout defined for the all-day cells and customizes it. - * @Default {null} - */ - allDayCellsTemplateId?: string; + /** Accepts the id value of the template layout defined for the all-day cells and customizes it. + * @Default {null} + */ + allDayCellsTemplateId?: string; - /** Accepts the id value of the template layout defined for the work cells and month cells. - * @Default {null} - */ - workCellsTemplateId?: string; + /** Accepts the id value of the template layout defined for the work cells and month cells. + * @Default {null} + */ + workCellsTemplateId?: string; - /** Accepts the id value of the template layout defined for the date header cells and customizes it. - * @Default {null} - */ - dateHeaderTemplateId?: string; + /** Accepts the id value of the template layout defined for the date header cells and customizes it. + * @Default {null} + */ + dateHeaderTemplateId?: string; - /** when set to false, allows the height of the work-cells to adjust automatically (either expand or collapse) based on the number of appointment count it has. - * @Default {true} - */ - showOverflowButton?: boolean; + /** when set to false, allows the height of the work-cells to adjust automatically (either expand or collapse) based on the number of appointment count it has. + * @Default {true} + */ + showOverflowButton?: boolean; - /** Allows setting draggable area for the Scheduler appointments. Also, turns on the external drag and drop, when set with some specific external drag area name. - */ - appointmentDragArea?: string; + /** Allows setting draggable area for the Scheduler appointments. Also, turns on the external drag and drop, when set with some specific external drag area name. + */ + appointmentDragArea?: string; - /** When set to true, displays the other months days from the current month on the Schedule. - * @Default {true} - */ - showNextPrevMonth?: boolean; + /** When set to true, displays the other months days from the current month on the Schedule. + * @Default {true} + */ + showNextPrevMonth?: boolean; - /** Blocks the user-specific time interval on the Scheduler, so that no appointments can be created on that particular time slots. It includes the dataSource option and also the fields related to block intervals. - */ - blockoutSettings?: BlockoutSettings; + /** Blocks the user-specific time interval on the Scheduler, so that no appointments can be created on that particular time slots. + * It includes the dataSource option and also the fields related to block intervals. + */ + blockoutSettings?: BlockoutSettings; - /** Triggers on the beginning of every action that starts within the Schedule. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Triggers on the beginning of every action that starts within the Schedule. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Triggers after the completion of every action within the Schedule. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** Triggers after the completion of every action within the Schedule. */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Triggers after an appointment is clicked. */ - appointmentClick? (e: AppointmentClickEventArgs): void; + /** Triggers after an appointment is clicked. */ + appointmentClick?(e: AppointmentClickEventArgs): void; - /** Triggers before the appointment is being removed from the Scheduler. */ - beforeAppointmentRemove? (e: BeforeAppointmentRemoveEventArgs): void; + /** Triggers before the appointment is being removed from the Scheduler. */ + beforeAppointmentRemove?(e: BeforeAppointmentRemoveEventArgs): void; - /** Triggers before the edited appointment is being saved. */ - beforeAppointmentChange? (e: BeforeAppointmentChangeEventArgs): void; + /** Triggers before the edited appointment is being saved. */ + beforeAppointmentChange?(e: BeforeAppointmentChangeEventArgs): void; - /** Triggers on hovering the mouse over the appointments. */ - appointmentHover? (e: AppointmentHoverEventArgs): void; + /** Triggers on hovering the mouse over the appointments. */ + appointmentHover?(e: AppointmentHoverEventArgs): void; - /** Triggers before the new appointment gets saved. */ - beforeAppointmentCreate? (e: BeforeAppointmentCreateEventArgs): void; + /** Triggers before the new appointment gets saved. */ + beforeAppointmentCreate?(e: BeforeAppointmentCreateEventArgs): void; - /** Triggers before the appointment window opens. */ - appointmentWindowOpen? (e: AppointmentWindowOpenEventArgs): void; + /** Triggers before the appointment window opens. */ + appointmentWindowOpen?(e: AppointmentWindowOpenEventArgs): void; - /** Triggers before the context menu opens. */ - beforeContextMenuOpen? (e: BeforeContextMenuOpenEventArgs): void; + /** Triggers before the context menu opens. */ + beforeContextMenuOpen?(e: BeforeContextMenuOpenEventArgs): void; - /** Triggers after the cell is clicked. */ - cellClick? (e: CellClickEventArgs): void; + /** Triggers after the cell is clicked. */ + cellClick?(e: CellClickEventArgs): void; - /** Triggers after the cell is clicked twice. */ - cellDoubleClick? (e: CellDoubleClickEventArgs): void; + /** Triggers after the cell is clicked twice. */ + cellDoubleClick?(e: CellDoubleClickEventArgs): void; - /** Triggers on hovering the mouse overs the cells. */ - cellHover? (e: CellHoverEventArgs): void; + /** Triggers on hovering the mouse overs the cells. */ + cellHover?(e: CellHoverEventArgs): void; - /** Triggers when the Scheduler completely renders on the page. */ - create? (e: CreateEventArgs): void; + /** Triggers when the Scheduler completely renders on the page. */ + create?(e: CreateEventArgs): void; - /** Triggers when the Scheduler and all its sub-components gets destroyed. */ - destroy? (e: DestroyEventArgs): void; + /** Triggers when the Scheduler and all its sub-components gets destroyed. */ + destroy?(e: DestroyEventArgs): void; - /** Triggers while the appointment is being dragged over the work cells. */ - drag? (e: DragEventArgs): void; + /** Triggers while the appointment is being dragged over the work cells. */ + drag?(e: DragEventArgs): void; - /** Triggers when the appointment dragging begins. */ - dragStart? (e: DragStartEventArgs): void; + /** Triggers when the appointment dragging begins. */ + dragStart?(e: DragStartEventArgs): void; - /** Triggers when the appointment is dropped. */ - dragStop? (e: DragStopEventArgs): void; + /** Triggers when the appointment is dropped. */ + dragStop?(e: DragStopEventArgs): void; - /** Triggers after the menu/sub-menu items within the context menu is clicked. */ - menuItemClick? (e: MenuItemClickEventArgs): void; + /** Triggers after the menu/sub-menu items within the context menu is clicked. */ + menuItemClick?(e: MenuItemClickEventArgs): void; - /** Triggers after the Schedule view or date is navigated. */ - navigation? (e: NavigationEventArgs): void; + /** Triggers after the Schedule view or date is navigated. */ + navigation?(e: NavigationEventArgs): void; - /** Triggers every time before the elements of the scheduler such as work cells, time cells or header cells and so on renders or re-renders on a page. */ - queryCellInfo? (e: QueryCellInfoEventArgs): void; + /** Triggers every time before the elements of the scheduler such as work cells, time cells or header cells and so on renders or re-renders on a page. */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; - /** Triggers when the reminder is raised for an appointment based on the alertBefore value. */ - reminder? (e: ReminderEventArgs): void; + /** Triggers when the reminder is raised for an appointment based on the alertBefore value. */ + reminder?(e: ReminderEventArgs): void; - /** Triggers while resizing the appointment. */ - resize? (e: ResizeEventArgs): void; + /** Triggers while resizing the appointment. */ + resize?(e: ResizeEventArgs): void; - /** Triggers when the appointment resizing begins. */ - resizeStart? (e: ResizeStartEventArgs): void; + /** Triggers when the appointment resizing begins. */ + resizeStart?(e: ResizeStartEventArgs): void; - /** Triggers when an appointment resizing stops. */ - resizeStop? (e: ResizeStopEventArgs): void; + /** Triggers when an appointment resizing stops. */ + resizeStop?(e: ResizeStopEventArgs): void; - /** Triggers when the overflow button is clicked. */ - overflowButtonClick? (e: OverflowButtonClickEventArgs): void; + /** Triggers when the overflow button is clicked. */ + overflowButtonClick?(e: OverflowButtonClickEventArgs): void; - /** Triggers while mouse hovering on the overflow button. */ - overflowButtonHover? (e: OverflowButtonHoverEventArgs): void; + /** Triggers while mouse hovering on the overflow button. */ + overflowButtonHover?(e: OverflowButtonHoverEventArgs): void; - /** Triggers when any of the keyboard keys are pressed. */ - keyDown? (e: KeyDownEventArgs): void; + /** Triggers when any of the keyboard keys are pressed. */ + keyDown?(e: KeyDownEventArgs): void; - /** Triggers after the new appointment is saved. */ - appointmentCreated? (e: AppointmentCreatedEventArgs): void; + /** Triggers after the new appointment is saved. */ + appointmentCreated?(e: AppointmentCreatedEventArgs): void; - /** Triggers after an existing appointment is edited. */ - appointmentChanged? (e: AppointmentChangedEventArgs): void; + /** Triggers after an existing appointment is edited. */ + appointmentChanged?(e: AppointmentChangedEventArgs): void; - /** Triggers after the appointment is deleted. */ - appointmentRemoved? (e: AppointmentRemovedEventArgs): void; -} + /** Triggers after the appointment is deleted. */ + appointmentRemoved?(e: AppointmentRemovedEventArgs): void; + } -export interface ActionBeginEventArgs { + export interface ActionBeginEventArgs { - /** Returns the current date value. - */ - currentDate?: any; + /** Returns the current date value. + */ + currentDate?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the current view value. - */ - currentView?: string; + /** Returns the current view value. + */ + currentView?: string; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the action begin request type. - */ - requestType?: string; + /** Returns the action begin request type. + */ + requestType?: string; - /** Returns the target of the click. - */ - target?: any; + /** Returns the target of the click. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the save appointment value. - */ - data?: any; + /** Returns the save appointment value. + */ + data?: any; - /** Returns the id of delete appointment. - */ - id?: number; -} + /** Returns the id of delete appointment. + */ + id?: number; + } -export interface ActionCompleteEventArgs { + export interface ActionCompleteEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the data about view change action. - */ - data?: any; + /** Returns the data about view change action. + */ + data?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the action complete request type. - */ - requestType?: string; + /** Returns the action complete request type. + */ + requestType?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the appointment data dropped. - */ - appointment?: any; -} + /** Returns the appointment data dropped. + */ + appointment?: any; + } -export interface AppointmentClickEventArgs { + export interface AppointmentClickEventArgs { - /** Returns the object of appointmentClick event. - */ - object?: any; + /** Returns the object of appointmentClick event. + */ + object?: any; - /** Returns the clicked appointment object. - */ - appointment?: any; + /** Returns the clicked appointment object. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface BeforeAppointmentRemoveEventArgs { + export interface BeforeAppointmentRemoveEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the deleted appointment object. - */ - appointment?: any; + /** Returns the deleted appointment object. + */ + appointment?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the Scheduler event. - */ - type?: string; -} + /** Returns the name of the Scheduler event. + */ + type?: string; + } -export interface BeforeAppointmentChangeEventArgs { + export interface BeforeAppointmentChangeEventArgs { - /** Returns the edited appointment object. - */ - appointment?: any; + /** Returns the edited appointment object. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the Scheduler event. - */ - type?: string; -} + /** Returns the name of the Scheduler event. + */ + type?: string; + } -export interface AppointmentHoverEventArgs { + export interface AppointmentHoverEventArgs { - /** Returns the object of appointmentHover event. - */ - object?: any; + /** Returns the object of appointmentHover event. + */ + object?: any; - /** Returns the hovered appointment object. - */ - appointment?: any; + /** Returns the hovered appointment object. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface BeforeAppointmentCreateEventArgs { + export interface BeforeAppointmentCreateEventArgs { - /** Returns the appointment object. - */ - appointment?: any; + /** Returns the appointment object. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the Scheduler event. - */ - type?: string; -} + /** Returns the name of the Scheduler event. + */ + type?: string; + } -export interface AppointmentWindowOpenEventArgs { + export interface AppointmentWindowOpenEventArgs { - /** returns the object of appointmentWindowOpen event while selecting the detail option from quick window or edit appointment or edit series option. - */ - object?: any; + /** returns the object of appointmentWindowOpen event while selecting the detail option from quick window or edit appointment or edit series option. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the end time of the double clicked cell. - */ - endTime?: any; + /** Returns the end time of the double clicked cell. + */ + endTime?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the action name that triggers window open. - */ - originalEventType?: string; + /** Returns the action name that triggers window open. + */ + originalEventType?: string; - /** Returns the start time of the double clicked cell. - */ - startTime?: any; + /** Returns the start time of the double clicked cell. + */ + startTime?: any; - /** Returns the target of the double clicked cell. - */ - target?: any; + /** Returns the target of the double clicked cell. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the edit appointment object. - */ - appointment?: any; + /** Returns the edit appointment object. + */ + appointment?: any; - /** Returns the edit occurrence option value. - */ - edit?: boolean; -} + /** Returns the edit occurrence option value. + */ + edit?: boolean; + } -export interface BeforeContextMenuOpenEventArgs { + export interface BeforeContextMenuOpenEventArgs { - /** Returns the object of beforeContextMenuOpen event. - */ - object?: any; + /** Returns the object of beforeContextMenuOpen event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the current cell index value. - */ - cellIndex?: number; + /** Returns the current cell index value. + */ + cellIndex?: number; - /** Returns the current date value. - */ - currentDate?: any; + /** Returns the current date value. + */ + currentDate?: any; - /** Returns the current resource details, when multiple resources are present, otherwise returns null. - */ - resources?: any; + /** Returns the current resource details, when multiple resources are present, otherwise returns null. + */ + resources?: any; - /** Returns the current appointment details while opening the menu from appointment. - */ - appointment?: any; + /** Returns the current appointment details while opening the menu from appointment. + */ + appointment?: any; - /** Returns the object of before opening menu target. - */ - events?: any; + /** Returns the object of before opening menu target. + */ + events?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface CellClickEventArgs { + export interface CellClickEventArgs { - /** Returns the object of cellClick event. - */ - object?: any; + /** Returns the object of cellClick event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the end time of the clicked cell. - */ - endTime?: any; + /** Returns the end time of the clicked cell. + */ + endTime?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the start time of the clicked cell. - */ - startTime?: any; + /** Returns the start time of the clicked cell. + */ + startTime?: any; - /** Returns the target of the clicked cell. - */ - target?: any; + /** Returns the target of the clicked cell. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface CellDoubleClickEventArgs { + export interface CellDoubleClickEventArgs { - /** Returns the object of cellDoubleClick event. - */ - object?: any; + /** Returns the object of cellDoubleClick event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the end time of the double clicked cell. - */ - endTime?: any; + /** Returns the end time of the double clicked cell. + */ + endTime?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the start time of the double clicked cell. - */ - startTime?: any; + /** Returns the start time of the double clicked cell. + */ + startTime?: any; - /** Returns the target of the double clicked cell. - */ - target?: any; + /** Returns the target of the double clicked cell. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface CellHoverEventArgs { + export interface CellHoverEventArgs { - /** Returns the object of cellHover event. - */ - object?: any; + /** Returns the object of cellHover event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the index of the hovered cell. - */ - cellIndex?: any; + /** Returns the index of the hovered cell. + */ + cellIndex?: any; - /** Returns the current date of the hovered cell. - */ - currentDate?: any; + /** Returns the current date of the hovered cell. + */ + currentDate?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the target of the clicked cell. - */ - target?: any; + /** Returns the target of the clicked cell. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the Scheduler event. - */ - type?: string; -} + /** Returns the name of the Scheduler event. + */ + type?: string; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the Scheduler event. - */ - type?: string; -} + /** Returns the name of the Scheduler event. + */ + type?: string; + } -export interface DragEventArgs { + export interface DragEventArgs { - /** Returns the object of dragOver event. - */ - object?: any; + /** Returns the object of dragOver event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the target of the drag over appointment. - */ - target?: any; + /** Returns the target of the drag over appointment. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface DragStartEventArgs { + export interface DragStartEventArgs { - /** Returns the object of dragStart event. - */ - object?: any; + /** Returns the object of dragStart event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the target of the dragging appointment. - */ - target?: any; + /** Returns the target of the dragging appointment. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface DragStopEventArgs { + export interface DragStopEventArgs { - /** Returns the object of dragDrop event. - */ - object?: any; + /** Returns the object of dragDrop event. + */ + object?: any; - /** Returns the dropped appointment object. - */ - appointment?: any; + /** Returns the dropped appointment object. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface MenuItemClickEventArgs { + export interface MenuItemClickEventArgs { - /** Returns the object of menuItemClick event. - */ - object?: any; + /** Returns the object of menuItemClick event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the object of menu item event. - */ - events?: any; + /** Returns the object of menu item event. + */ + events?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface NavigationEventArgs { + export interface NavigationEventArgs { - /** Returns the current date object. - */ - currentDate?: any; + /** Returns the current date object. + */ + currentDate?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the current view value. - */ - currentView?: string; + /** Returns the current view value. + */ + currentView?: string; - /** Returns the previous view value. - */ - previousView?: string; + /** Returns the previous view value. + */ + previousView?: string; - /** Returns the target of the action. - */ - target?: any; + /** Returns the target of the action. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the previous date of the Schedule. - */ - previousDate?: any; -} + /** Returns the previous date of the Schedule. + */ + previousDate?: any; + } -export interface QueryCellInfoEventArgs { + export interface QueryCellInfoEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the current appointment data. - */ - appointment?: any; + /** Returns the current appointment data. + */ + appointment?: any; - /** Returns the currently rendering DOM element. - */ - element?: any; + /** Returns the currently rendering DOM element. + */ + element?: any; - /** Returns the name of the currently rendering element on the scheduler. - */ - requestType?: string; + /** Returns the name of the currently rendering element on the scheduler. + */ + requestType?: string; - /** Returns the cell type which is currently rendering on the Scheduler. - */ - cellType?: string; + /** Returns the cell type which is currently rendering on the Scheduler. + */ + cellType?: string; - /** Returns the start date of the currently rendering appointment. - */ - currentAppointmentDate?: any; + /** Returns the start date of the currently rendering appointment. + */ + currentAppointmentDate?: any; - /** Returns the currently rendering cell information. - */ - cell?: any; + /** Returns the currently rendering cell information. + */ + cell?: any; - /** Returns the currently rendering resource details. - */ - resource?: any; + /** Returns the currently rendering resource details. + */ + resource?: any; - /** Returns the currently rendering date information. - */ - currentDay?: any; -} + /** Returns the currently rendering date information. + */ + currentDay?: any; + } -export interface ReminderEventArgs { + export interface ReminderEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the appointment object for which the reminder is raised. - */ - reminderAppointment?: any; -} + /** Returns the appointment object for which the reminder is raised. + */ + reminderAppointment?: any; + } -export interface ResizeEventArgs { + export interface ResizeEventArgs { - /** Returns the object of resizing event. - */ - object?: any; + /** Returns the object of resizing event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the resize element value. - */ - element?: any; + /** Returns the resize element value. + */ + element?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface ResizeStartEventArgs { + export interface ResizeStartEventArgs { - /** Returns the object of resizeStart event. - */ - object?: any; + /** Returns the object of resizeStart event. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the resize element value. - */ - element?: any; + /** Returns the resize element value. + */ + element?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface ResizeStopEventArgs { + export interface ResizeStopEventArgs { - /** Returns the object of resizeStop event. - */ - object?: any; + /** Returns the object of resizeStop event. + */ + object?: any; - /** Returns the resized appointment value. - */ - appointment?: any; + /** Returns the resized appointment value. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the target of the resized appointment. - */ - target?: any; + /** Returns the target of the resized appointment. + */ + target?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface OverflowButtonClickEventArgs { + export interface OverflowButtonClickEventArgs { - /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the clicked overflow button is present. - */ - object?: any; + /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the clicked overflow button is present. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the object of menu item event. - */ - events?: any; + /** Returns the object of menu item event. + */ + events?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface OverflowButtonHoverEventArgs { + export interface OverflowButtonHoverEventArgs { - /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the overflow button is currently hovered. - */ - object?: any; + /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the overflow button is currently hovered. + */ + object?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the object of menu item event. - */ - events?: any; + /** Returns the object of menu item event. + */ + events?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface KeyDownEventArgs { + export interface KeyDownEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the object of menu item event. - */ - events?: any; + /** Returns the object of menu item event. + */ + events?: any; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface AppointmentCreatedEventArgs { + export interface AppointmentCreatedEventArgs { - /** Returns the appointment object. - */ - appointment?: any; + /** Returns the appointment object. + */ + appointment?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; - /** Returns the name of the Scheduler event. - */ - type?: string; -} - -export interface AppointmentChangedEventArgs { - - /** Returns the edited appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; -} - -export interface AppointmentRemovedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the deleted appointment object. - */ - appointment?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; -} - -export interface AppointmentSettings { - - /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule appointments. - * @Default {[]} - */ - dataSource?: any|Array; - - /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. - * @Default {null} - */ - query?: string; - - /** Assign the table name from where the records are to be fetched for the Schedule. - * @Default {null} - */ - tableName?: string; - - /** When set to false, doesn't consider the time difference offset calculation on appointment time. - * @Default {true} - */ - applyTimeOffset?: boolean; - - /** Binds the id field name in dataSource to the id of Schedule appointments. It denotes the unique id assigned to appointments. - * @Default {null} - */ - id?: string; - - /** Binds the name of startTime field in the dataSource with start time of the Schedule appointments. It indicates the date and Time when Schedule appointment actually starts. - * @Default {null} - */ - startTime?: string; - - /** Binds the name of endTime field in dataSource with the end time of Schedule appointments. It indicates the date and time when Schedule appointment actually ends. - * @Default {null} - */ - endTime?: string; - - /** Binds the name of subject field in the dataSource to appointment Subject. Indicates the Subject or title that gets displayed on Schedule appointments. - * @Default {null} - */ - subject?: string; - - /** Binds the description field name in dataSource. It indicates the appointment description. - * @Default {null} - */ - description?: string; - - /** Binds the name of recurrence field in dataSource. It indicates whether the appointment is a recurrence appointment or not. - * @Default {null} - */ - recurrence?: string; - - /** Binds the name of recurrenceRule field in dataSource. It indicates the recurrence pattern associated with appointments. - * @Default {null} - */ - recurrenceRule?: string; - - /** Binds the name of allDay field in dataSource. It indicates whether the appointment is an all-day appointment or not. - * @Default {null} - */ - allDay?: string; - - /** Binds one or more fields in resource collection dataSource. It maps the resource field names with appointments denoting the resource of appointments actually belongs. - * @Default {null} - */ - resourceFields?: string; - - /** Binds the name of categorize field in dataSource. It indicates the categorize value, red categorize, green, yellow and so on applied to the appointments. - * @Default {null} - */ - categorize?: string; - - /** Binds the name of location field in dataSource. It indicates the appointment location. - * @Default {null} - */ - location?: string; - - /** Binds the name of the priority field in dataSource. It indicates the priority, high, low, medium and none of the appointments. - * @Default {null} - */ - priority?: string; - - /** Binds the name of start timezone field in dataSource. It indicates the timezone of appointment start date. When startTimeZone field is not mentioned, the appointment uses the Schedule timeZone or System timeZone. - * @Default {null} - */ - startTimeZone?: string; - - /** Binds the name of end timezone field in dataSource. It indicates the timezone of appointment end date. When the endTimeZone field is not mentioned, the appointment uses the Schedule timeZone or System timeZone. - * @Default {null} - */ - endTimeZone?: string; -} - -export interface CategorizeSettings { - - /** When set to true, enables the multiple selection of categories to be applied for the appointments. - * @Default {false} - */ - allowMultiple?: boolean; - - /** When set to true, enables the categories option to be applied for the appointments. - * @Default {false} - */ - enable?: boolean; - - /** The dataSource option accepts either the JSON object collection or DataManager [ej.DataManager] instance that contains the categorize data. - */ - dataSource?: Array|any; - - /** Binds id field name in the dataSource to id of category data. - * @Default {id} - */ - id?: string; - - /** Binds text field name in the dataSource to category text. - * @Default {text} - */ - text?: string; - - /** Binds color field name in the dataSource to category color. - * @Default {color} - */ - color?: string; - - /** Binds fontColor field name in the dataSource to category font. - * @Default {fontColor} - */ - fontColor?: string; -} - -export interface ContextMenuSettingsMenuItems { - - /** All the appointment related context menu items are grouped under this appointment menu collection. - */ - appointment?: Array; - - /** All the Scheduler cell related context menu items are grouped under this cells menu item collection. - */ - cells?: Array; -} - -export interface ContextMenuSettings { - - /** When set to true, enables the context menu options available for the Schedule cells and appointments. - * @Default {false} - */ - enable?: boolean; - - /** Contains all the default context menu options that are applicable for both Schedule cells and appointments. It also supports adding custom menu items to cells or appointment collection. - */ - menuItems?: ContextMenuSettingsMenuItems; -} - -export interface Group { - - /** Holds the array of resource names to be grouped on the Schedule. - */ - resources?: Array; -} - -export interface WorkHours { - - /** When set to true, highlights the work hours of the Schedule. - * @Default {true} - */ - highlight?: boolean; - - /** Sets the start time to depict the start of working or business hour in a day. - * @Default {9} - */ - start?: number; - - /** Sets the end time to depict the end of working or business hour in a day. - * @Default {18} - */ - end?: number; -} - -export interface PrioritySettings { - - /** When set to true, enables the priority options available for the Schedule appointments. - * @Default {false} - */ - enable?: boolean; - - /** The dataSource option can accept the JSON object collection that contains the priority related data. - * @Default {{% highlight js%}[{ text: None, value: none },{ text: High, value: high },{ text: Medium, value: medium },{ text: Low, value: low }]{% endhighlight %}} - */ - dataSource?: any|Array; - - /** Binds text field name in the dataSource to prioritySettings text. These text gets listed out in priority field of the appointment window. - * @Default {text} - */ - text?: string; - - /** Binds value field name in the dataSource to prioritySettings value. These field names usually accepts four priority values by default, high, low, medium and none. - * @Default {value} - */ - value?: string; - - /** Allows priority field customization in the appointment window to add custom icons denoting the priority level for the appointments. - * @Default {null} - */ - template?: string; -} - -export interface ReminderSettings { - - /** When set to true, enables the reminder option available for the Schedule appointments. - * @Default {false} - */ - enable?: boolean; - - /** Sets the timing, when the reminders are to be alerted for the Schedule appointments. - * @Default {5} - */ - alertBefore?: number; -} - -export interface RenderDates { - - /** Sets the start of custom date range to be rendered in the Schedule. - * @Default {null} - */ - start?: any; - - /** Sets the end limit of the custom date range. - * @Default {null} - */ - end?: any; -} - -export interface ResourcesResourceSettings { - - /** The dataSource option accepts either JSON object collection or DataManager (ejDataManager) instance that contains the resources related data. - * @Default {[]} - */ - dataSource?: any|Array; - - /** Binds text field name in the dataSource to resourceSettings text. These text gets listed out in resources field of the appointment window. - * @Default {null} - */ - text?: string; - - /** Binds id field name in the dataSource to resourceSettings id. - * @Default {null} - */ - id?: string; - - /** Binds groupId field name in the dataSource to resourceSettings groupId. - * @Default {null} - */ - groupId?: string; - - /** Binds color field name in the dataSource to resourceSettings color. The color specified here gets applied to the Schedule appointments denoting to the resource it belongs. - * @Default {null} - */ - color?: string; - - /** Binds the starting work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the starting work hour for specific resources. - * @Default {null} - */ - start?: string; - - /** Binds the end work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the end work hour for specific resources. - * @Default {null} - */ - end?: string; - - /** Binds the resources working days field name in the dataSource. It's optional, and accepts the array of strings (week day names). When provided with specific collection of days (array of day names), only those days will render for the specific resources. - * @Default {null} - */ - workWeek?: string; - - /** Binds appointmentClass field name in the dataSource. It applies custom CSS class name to appointments depicting to the resource it belongs. - * @Default {null} - */ - appointmentClass?: string; -} - -export interface Resource { - - /** It holds the name of the resource field to be bound to the Schedule appointments that contains the resource Id. - * @Default {null} - */ - field?: string; - - /** It holds the title name of the resource field to be displayed on the Schedule appointment window. - * @Default {null} - */ - title?: string; - - /** A unique resource name that is used for differentiating various resource objects while grouping it in various levels. - * @Default {null} - */ - name?: string; - - /** When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. - * @Default {false} - */ - allowMultiple?: boolean; - - /** It holds the field names of the resources to be bound to the Schedule and also the dataSource. - */ - resourceSettings?: ResourcesResourceSettings; -} - -export interface TimeZoneCollection { - - /** Sets the collection of timezone items to the dataSource that accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule timezones. - */ - dataSource?: any; - - /** Binds text field name in the dataSource to timeZoneCollection text. These text gets listed out in the timezone fields of the appointment window. - * @Default {text} - */ - text?: string; - - /** Binds id field name in the dataSource to timeZoneCollection id. - * @Default {id} - */ - id?: string; - - /** Binds value field name in the dataSource to timeZoneCollection value. - * @Default {value} - */ - value?: string; -} - -export interface AgendaViewSettings { - - /** You can display the summary of multiple week's appointment by setting this value. - * @Default {7} - */ - daysInAgenda?: number; - - /** You can customize the Date column display based on the requirement. - * @Default {null} - */ - dateColumnTemplateId?: string; - - /** You can customize the time column display based on the requirement. - * @Default {null} - */ - timeColumnTemplateId?: string; -} - -export interface TooltipSettings { - - /** Enables or disables the tooltip display. - * @Default {false} - */ - enable?: boolean; - - /** Template design that customizes the tooltip. All the field names that are mapped from dataSource to the appropriate field properties within the appointmentSettings can be accessed within the template. - * @Default {null} - */ - templateId?: string; -} - -export interface TimeScale { - - /** When set to true, displays the time slots on the Scheduler. - * @Default {true} - */ - enable?: boolean; - - /** When set with some specific value, defines the number of time divisions split per hour(as per value given for the majorTimeSlot). Those time divisions are meant to be the minor slots. - * @Default {2} - */ - minorSlotCount?: number; - - /** Accepts the value in minutes. When provided with specific value, displays the appropriate time interval on the Scheduler - * @Default {60} - */ - majorSlot?: number; - - /** Template design that customizes the timecells (minor slots) that are partitioned based on minorSlotCount. Accepts id value of the template defined for minor time slots. - * @Default {null} - */ - minorSlotTemplateId?: string; - - /** Template design that customizes the timecells (major slots). Accepts id value of the template defined for major time slots. - * @Default {null} - */ - majorSlotTemplateId?: string; -} - -export interface BlockoutSettings { - - /** When set to true, enables the blockout option to be applied on the Scheduler cells. - * @Default {false} - */ - enable?: boolean; - - /** Template design that applies on the Schedule block intervals. All the field names that are mapped from dataSource to the appropriate field properties within the blockoutSettings can be used within the template. - * @Default {null} - */ - templateId?: string; - - /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule block intervals. - * @Default {[]} - */ - dataSource?: any|Array; - - /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. - * @Default {null} - */ - query?: string; - - /** Assign the table name from where the records are to be fetched for the Schedule. - * @Default {null} - */ - tableName?: string; - - /** Binds the id field name in dataSource to the id of block time interval. It denotes the unique id assigned to each of the block records. - * @Default {null} - */ - id?: string; - - /** Binds the name of startTime field in the dataSource with start time of block time interval. It indicates the date and time, when the block interval actually starts in the Scheduler. - * @Default {null} - */ - startTime?: string; - - /** Binds the name of endTime field in dataSource with the end time of block time interval. It indicates the date and time, when the block interval actually ends in the Scheduler. - * @Default {null} - */ - endTime?: string; + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentChangedEventArgs { + + /** Returns the edited appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentRemovedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the deleted appointment object. + */ + appointment?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentSettings { + + /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule appointments. + * @Default {[]} + */ + dataSource?: any | any[]; + + /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. + * @Default {null} + */ + query?: string; + + /** Assign the table name from where the records are to be fetched for the Schedule. + * @Default {null} + */ + tableName?: string; + + /** When set to false, doesn't consider the time difference offset calculation on appointment time. + * @Default {true} + */ + applyTimeOffset?: boolean; + + /** Binds the id field name in dataSource to the id of Schedule appointments. It denotes the unique id assigned to appointments. + * @Default {null} + */ + id?: string; + + /** Binds the name of startTime field in the dataSource with start time of the Schedule appointments. It indicates the date and Time when Schedule appointment actually starts. + * @Default {null} + */ + startTime?: string; + + /** Binds the name of endTime field in dataSource with the end time of Schedule appointments. It indicates the date and time when Schedule appointment actually ends. + * @Default {null} + */ + endTime?: string; + + /** Binds the name of subject field in the dataSource to appointment Subject. Indicates the Subject or title that gets displayed on Schedule appointments. + * @Default {null} + */ + subject?: string; + + /** Binds the description field name in dataSource. It indicates the appointment description. + * @Default {null} + */ + description?: string; + + /** Binds the name of recurrence field in dataSource. It indicates whether the appointment is a recurrence appointment or not. + * @Default {null} + */ + recurrence?: string; + + /** Binds the name of recurrenceRule field in dataSource. It indicates the recurrence pattern associated with appointments. + * @Default {null} + */ + recurrenceRule?: string; + + /** Binds the name of allDay field in dataSource. It indicates whether the appointment is an all-day appointment or not. + * @Default {null} + */ + allDay?: string; + + /** Binds one or more fields in resource collection dataSource. It maps the resource field names with appointments denoting the resource of appointments actually belongs. + * @Default {null} + */ + resourceFields?: string; + + /** Binds the name of categorize field in dataSource. It indicates the categorize value, red categorize, green, yellow and so on applied to the appointments. + * @Default {null} + */ + categorize?: string; + + /** Binds the name of location field in dataSource. It indicates the appointment location. + * @Default {null} + */ + location?: string; + + /** Binds the name of the priority field in dataSource. It indicates the priority, high, low, medium and none of the appointments. + * @Default {null} + */ + priority?: string; + + /** Binds the name of start timezone field in dataSource. It indicates the timezone of appointment start date. When startTimeZone field is not mentioned, + * the appointment uses the Schedule timeZone or System timeZone. + * @Default {null} + */ + startTimeZone?: string; + + /** Binds the name of end timezone field in dataSource. It indicates the timezone of appointment end date. When the endTimeZone field is not mentioned, + * the appointment uses the Schedule timeZone or System timeZone. + * @Default {null} + */ + endTimeZone?: string; + } + + export interface CategorizeSettings { + + /** When set to true, enables the multiple selection of categories to be applied for the appointments. + * @Default {false} + */ + allowMultiple?: boolean; + + /** When set to true, enables the categories option to be applied for the appointments. + * @Default {false} + */ + enable?: boolean; + + /** The dataSource option accepts either the JSON object collection or DataManager [ej.DataManager] instance that contains the categorize data. + */ + dataSource?: any[] | any; + + /** Binds id field name in the dataSource to id of category data. + * @Default {id} + */ + id?: string; + + /** Binds text field name in the dataSource to category text. + * @Default {text} + */ + text?: string; + + /** Binds color field name in the dataSource to category color. + * @Default {color} + */ + color?: string; + + /** Binds fontColor field name in the dataSource to category font. + * @Default {fontColor} + */ + fontColor?: string; + } + + export interface ContextMenuSettingsMenuItems { + + /** All the appointment related context menu items are grouped under this appointment menu collection. + */ + appointment?: any[]; + + /** All the Scheduler cell related context menu items are grouped under this cells menu item collection. + */ + cells?: any[]; + } + + export interface ContextMenuSettings { + + /** When set to true, enables the context menu options available for the Schedule cells and appointments. + * @Default {false} + */ + enable?: boolean; + + /** Contains all the default context menu options that are applicable for both Schedule cells and appointments. It also supports adding custom menu items to cells or appointment collection. + */ + menuItems?: ContextMenuSettingsMenuItems; + } + + export interface Group { + + /** Holds the array of resource names to be grouped on the Schedule. + */ + resources?: any[]; + } + + export interface WorkHours { + + /** When set to true, highlights the work hours of the Schedule. + * @Default {true} + */ + highlight?: boolean; + + /** Sets the start time to depict the start of working or business hour in a day. + * @Default {9} + */ + start?: number; + + /** Sets the end time to depict the end of working or business hour in a day. + * @Default {18} + */ + end?: number; + } + + export interface PrioritySettings { + + /** When set to true, enables the priority options available for the Schedule appointments. + * @Default {false} + */ + enable?: boolean; + + /** The dataSource option can accept the JSON object collection that contains the priority related data. + * @Default {{% highlight js%}[{ text: None, value: none },{ text: High, value: high },{ text: Medium, value: medium },{ text: Low, value: low }]{% endhighlight %}} + */ + dataSource?: any | any[]; + + /** Binds text field name in the dataSource to prioritySettings text. These text gets listed out in priority field of the appointment window. + * @Default {text} + */ + text?: string; + + /** Binds value field name in the dataSource to prioritySettings value. These field names usually accepts four priority values by default, high, low, medium and none. + * @Default {value} + */ + value?: string; + + /** Allows priority field customization in the appointment window to add custom icons denoting the priority level for the appointments. + * @Default {null} + */ + template?: string; + } + + export interface ReminderSettings { + + /** When set to true, enables the reminder option available for the Schedule appointments. + * @Default {false} + */ + enable?: boolean; + + /** Sets the timing, when the reminders are to be alerted for the Schedule appointments. + * @Default {5} + */ + alertBefore?: number; + } + + export interface RenderDates { + + /** Sets the start of custom date range to be rendered in the Schedule. + * @Default {null} + */ + start?: any; + + /** Sets the end limit of the custom date range. + * @Default {null} + */ + end?: any; + } + + export interface ResourcesResourceSettings { + + /** The dataSource option accepts either JSON object collection or DataManager (ejDataManager) instance that contains the resources related data. + * @Default {[]} + */ + dataSource?: any | any[]; + + /** Binds text field name in the dataSource to resourceSettings text. These text gets listed out in resources field of the appointment window. + * @Default {null} + */ + text?: string; + + /** Binds id field name in the dataSource to resourceSettings id. + * @Default {null} + */ + id?: string; + + /** Binds groupId field name in the dataSource to resourceSettings groupId. + * @Default {null} + */ + groupId?: string; + + /** Binds color field name in the dataSource to resourceSettings color. The color specified here gets applied to the Schedule appointments denoting to the resource it belongs. + * @Default {null} + */ + color?: string; + + /** Binds the starting work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the starting work hour for specific resources. + * @Default {null} + */ + start?: string; + + /** Binds the end work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the end work hour for specific resources. + * @Default {null} + */ + end?: string; + + /** Binds the resources working days field name in the dataSource. It's optional, and accepts the array of strings (week day names). When provided with specific collection of + * days (array of day names), only those days will render for the specific resources. + * @Default {null} + */ + workWeek?: string; + + /** Binds appointmentClass field name in the dataSource. It applies custom CSS class name to appointments depicting to the resource it belongs. + * @Default {null} + */ + appointmentClass?: string; + } + + export interface Resource { + + /** It holds the name of the resource field to be bound to the Schedule appointments that contains the resource Id. + * @Default {null} + */ + field?: string; + + /** It holds the title name of the resource field to be displayed on the Schedule appointment window. + * @Default {null} + */ + title?: string; + + /** A unique resource name that is used for differentiating various resource objects while grouping it in various levels. + * @Default {null} + */ + name?: string; + + /** When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. + * @Default {false} + */ + allowMultiple?: boolean; + + /** It holds the field names of the resources to be bound to the Schedule and also the dataSource. + */ + resourceSettings?: ResourcesResourceSettings; + } + + export interface TimeZoneCollection { + + /** Sets the collection of timezone items to the dataSource that accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule timezones. + */ + dataSource?: any; + + /** Binds text field name in the dataSource to timeZoneCollection text. These text gets listed out in the timezone fields of the appointment window. + * @Default {text} + */ + text?: string; + + /** Binds id field name in the dataSource to timeZoneCollection id. + * @Default {id} + */ + id?: string; + + /** Binds value field name in the dataSource to timeZoneCollection value. + * @Default {value} + */ + value?: string; + } + + export interface AgendaViewSettings { + + /** You can display the summary of multiple week's appointment by setting this value. + * @Default {7} + */ + daysInAgenda?: number; + + /** You can customize the Date column display based on the requirement. + * @Default {null} + */ + dateColumnTemplateId?: string; + + /** You can customize the time column display based on the requirement. + * @Default {null} + */ + timeColumnTemplateId?: string; + } + + export interface TooltipSettings { + + /** Enables or disables the tooltip display. + * @Default {false} + */ + enable?: boolean; + + /** Template design that customizes the tooltip. All the field names that are mapped from dataSource to the appropriate field properties within + * the appointmentSettings can be accessed within the template. + * @Default {null} + */ + templateId?: string; + } + + export interface TimeScale { + + /** When set to true, displays the time slots on the Scheduler. + * @Default {true} + */ + enable?: boolean; + + /** When set with some specific value, defines the number of time divisions split per hour(as per value given for the majorTimeSlot). Those time divisions are meant to be the minor slots. + * @Default {2} + */ + minorSlotCount?: number; + + /** Accepts the value in minutes. When provided with specific value, displays the appropriate time interval on the Scheduler + * @Default {60} + */ + majorSlot?: number; + + /** Template design that customizes the timecells (minor slots) that are partitioned based on minorSlotCount. Accepts id value of the template defined for minor time slots. + * @Default {null} + */ + minorSlotTemplateId?: string; + + /** Template design that customizes the timecells (major slots). Accepts id value of the template defined for major time slots. + * @Default {null} + */ + majorSlotTemplateId?: string; + } + + export interface BlockoutSettings { + + /** When set to true, enables the blockout option to be applied on the Scheduler cells. + * @Default {false} + */ + enable?: boolean; + + /** Template design that applies on the Schedule block intervals. All the field names that are mapped from dataSource to the appropriate field + * properties within the blockoutSettings can be used within the template. + * @Default {null} + */ + templateId?: string; + + /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule block intervals. + * @Default {[]} + */ + dataSource?: any | any[]; + + /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. + * @Default {null} + */ + query?: string; + + /** Assign the table name from where the records are to be fetched for the Schedule. + * @Default {null} + */ + tableName?: string; + + /** Binds the id field name in dataSource to the id of block time interval. It denotes the unique id assigned to each of the block records. + * @Default {null} + */ + id?: string; + + /** Binds the name of startTime field in the dataSource with start time of block time interval. It indicates the date and time, when the block interval actually starts in the Scheduler. + * @Default {null} + */ + startTime?: string; + + /** Binds the name of endTime field in dataSource with the end time of block time interval. It indicates the date and time, when the block interval actually ends in the Scheduler. + * @Default {null} + */ + endTime?: string; + + /** Binds the name of subject field in the dataSource to block time Subject. Indicates the Subject or title that gets displayed on the Schedule block intervals. + * @Default {null} + */ + subject?: string; + + /** Binds the name of isBlockAppointment field in dataSource. When set to true, disables the appointments that lies on the blocked area and restrict to perform CRUD operations in it. + * @Default {null} + */ + isBlockAppointment?: string; + + /** Binds the name of isAllDay field in dataSource. It indicates whether an entire day is blocked or not. + * @Default {null} + */ + isAllDay?: string; - /** Binds the name of subject field in the dataSource to block time Subject. Indicates the Subject or title that gets displayed on the Schedule block intervals. - * @Default {null} - */ - subject?: string; + /** Binds the name of resourceId field in dataSource. Specifies the id of the resources, to which the time intervals are needed to be blocked. + * @Default {null} + */ + resourceId?: string; - /** Binds the name of isBlockAppointment field in dataSource. When set to true, disables the appointments that lies on the blocked area and restrict to perform CRUD operations in it. - * @Default {null} - */ - isBlockAppointment?: string; + /** Binds the name of customStyle field in dataSource. It applies the custom CSS to the block intervals. + * @Default {null} + */ + customStyle?: string; + } - /** Binds the name of isAllDay field in dataSource. It indicates whether an entire day is blocked or not. - * @Default {null} - */ - isAllDay?: string; + enum CurrentView { - /** Binds the name of resourceId field in dataSource. Specifies the id of the resources, to which the time intervals are needed to be blocked. - * @Default {null} - */ - resourceId?: string; + ///Sets currentView of the Scheduler as Day + Day, - /** Binds the name of customStyle field in dataSource. It applies the custom CSS to the block intervals. - * @Default {null} - */ - customStyle?: string; -} + ///Sets currentView of the Scheduler as Week + Week, -enum CurrentView{ + ///Sets currentView of the Scheduler as WorkWeek + Workweek, - ///Sets currentView of the Scheduler as Day - Day, + ///Sets currentView of the Scheduler as Month + Month, - ///Sets currentView of the Scheduler as Week - Week, + ///Sets currentView of the Scheduler as Agenda + Agenda, - ///Sets currentView of the Scheduler as WorkWeek - Workweek, + ///Sets currentView of the Scheduler as CustomView with user-specified date range. + CustomView + } - ///Sets currentView of the Scheduler as Month - Month, - ///Sets currentView of the Scheduler as Agenda - Agenda, + enum Orientation { - ///Sets currentView of the Scheduler as CustomView with user-specified date range. - CustomView -} + ///Set orientation as vertical to Scheduler + Vertical, + ///Set orientation as horizontal to Scheduler + Horizontal + } -enum Orientation{ - ///Set orientation as vertical to Scheduler - Vertical, + enum TimeMode { - ///Set orientation as horizontal to Scheduler - Horizontal -} + ///Sets 12 hour time mode to Scheduler + Hour12, - -enum TimeMode{ - - ///Sets 12 hour time mode to Scheduler - Hour12, - - ///Sets 24 hour time mode to Scheduler - Hour24 -} + ///Sets 24 hour time mode to Scheduler + Hour24 + } } class RecurrenceEditor extends ej.Widget { static fn: RecurrenceEditor; - constructor(element: JQuery, options?: RecurrenceEditor.Model); - constructor(element: Element, options?: RecurrenceEditor.Model); + constructor(element: JQuery | Element, options?: RecurrenceEditor.Model); static Locale: any; - model:RecurrenceEditor.Model; - defaults:RecurrenceEditor.Model; + model: RecurrenceEditor.Model; + defaults: RecurrenceEditor.Model; /** Generates the recurrence rule with the options selected within the Recurrence Editor. - * @returns {String} - */ - getRecurrenceRule(): String; + * @returns {String} + */ + getRecurrenceRule(): string; /** Generates the collection of date, that lies within the selected recurrence start and end date for which the recurrence pattern applies. - * @param {string} It refers the recurrence rule. - * @param {any} It refers the start date of the recurrence. - * @returns {any} - */ + * @param {string} It refers the recurrence rule. + * @param {any} It refers the start date of the recurrence. + * @returns {any} + */ recurrenceDateGenerator(recurrenceString: string, startDate: any): any; /** It splits and returns the recurrence rule string into object collection. - * @param {string} It refers the recurrence rule string. - * @param {any} It refers the appointment dates (ExDate) to be excluded - * @returns {any} - */ + * @param {string} It refers the recurrence rule string. + * @param {any} It refers the appointment dates (ExDate) to be excluded + * @returns {any} + */ recurrenceRuleSplit(recurrenceRule: string, exDate: any): any; } -export module RecurrenceEditor{ +export namespace RecurrenceEditor { -export interface Model { + export interface Model { - /** Defines the collection of recurrence frequencies within Recurrence Editor such as Never, Daily, Weekly, Monthly, Yearly and Every Weekday. - * @Default {[never, daily, weekly, monthly, yearly, everyweekday]} - */ - frequencies?: Array; + /** Defines the collection of recurrence frequencies within Recurrence Editor such as Never, Daily, Weekly, Monthly, Yearly and Every Weekday. + * @Default {[never, daily, weekly, monthly, yearly, everyweekday]} + */ + frequencies?: any[]; - /** Sets the starting day of the week. - * @Default {null} - */ - firstDayOfWeek?: string; + /** Sets the starting day of the week. + * @Default {null} + */ + firstDayOfWeek?: string; - /** When set to true, enables the spin button of numeric textboxes within the Recurrence Editor. - * @Default {true} - */ - enableSpinners?: boolean; + /** When set to true, enables the spin button of numeric textboxes within the Recurrence Editor. + * @Default {true} + */ + enableSpinners?: boolean; - /** Sets the start date of the recurrence. The Recurrence Editor initially displays the current date as its start date. - * @Default {new Date()} - */ - startDate?: any; + /** Sets the start date of the recurrence. The Recurrence Editor initially displays the current date as its start date. + * @Default {new Date()} + */ + startDate?: any; - /** Sets the specific culture to the Recurrence Editor. - * @Default {en-US} - */ - locale?: string; + /** Sets the specific culture to the Recurrence Editor. + * @Default {en-US} + */ + locale?: string; - /** Sets the date format for the datepickers available within the Recurrence Editor. - */ - dateFormat?: string; + /** Sets the date format for the datepickers available within the Recurrence Editor. + */ + dateFormat?: string; - /** When set to true, renders the Recurrence Editor options from Right-to-Left direction. - * @Default {false} - */ - enableRTL?: boolean; + /** When set to true, renders the Recurrence Editor options from Right-to-Left direction. + * @Default {false} + */ + enableRTL?: boolean; - /** Sets the active/current repeat type(frequency) on Recurrence Editor based on the index value provided. For example, setting the value 1 will initially set the repeat type as Daily and display its related options. - * @Default {0} - */ - selectedRecurrenceType?: number; + /** Sets the active/current repeat type(frequency) on Recurrence Editor based on the index value provided. For example, setting the value 1 will initially set the repeat type + * as Daily and display its related options. + * @Default {0} + */ + selectedRecurrenceType?: number; - /** Sets the minimum date limit to display on the datepickers defined within the Recurrence Editor. Setting minDate with specific date value disallows the datepickers within Recurrence Editor to navigate beyond that date. - * @Default {new Date(1900, 01, 01)} - */ - minDate?: any; + /** Sets the minimum date limit to display on the datepickers defined within the Recurrence Editor. Setting minDate with specific date value disallows the datepickers within + * Recurrence Editor to navigate beyond that date. + * @Default {new Date(1900, 01, 01)} + */ + minDate?: any; - /** Sets the maximum date limit to display on the datepickers used within the Recurrence Editor. Setting maxDate with specific date value disallows the datepickers within the Recurrence Editor to navigate beyond that date. - * @Default {new Date(2099, 12, 31)} - */ - maxDate?: any; + /** Sets the maximum date limit to display on the datepickers used within the Recurrence Editor. Setting maxDate with specific date value disallows the + * datepickers within the Recurrence Editor to navigate beyond that date. + * @Default {new Date(2099, 12, 31)} + */ + maxDate?: any; - /** Accepts the custom CSS class name, that defines user-defined styles and themes to be applied on partial or complete elements of the Recurrence Editor. - */ - cssClass?: string; + /** Accepts the custom CSS class name, that defines user-defined styles and themes to be applied on partial or complete elements of the Recurrence Editor. + */ + cssClass?: string; - /** Triggers whenever any of the Recurrence Editor's value is changed. */ - change? (e: ChangeEventArgs): void; -} + /** Triggers whenever any of the Recurrence Editor's value is changed. */ + change?(e: ChangeEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** When set to true, event gets canceled. - */ - cancel?: boolean; + /** When set to true, event gets canceled. + */ + cancel?: boolean; - /** Returns the Recurrence Editor model - */ - model?: ej.RecurrenceEditor.Model; + /** Returns the Recurrence Editor model + */ + model?: ej.RecurrenceEditor.Model; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Returns the recurrence rule value. - */ - recurrenceRule?: string; -} + /** Returns the recurrence rule value. + */ + recurrenceRule?: string; + } } class Gantt extends ej.Widget { static fn: Gantt; - constructor(element: JQuery, options?: Gantt.Model); - constructor(element: Element, options?: Gantt.Model); + constructor(element: JQuery | Element, options?: Gantt.Model); static Locale: any; - model:Gantt.Model; - defaults:Gantt.Model; + model: Gantt.Model; + defaults: Gantt.Model; /** To add a new item in Gantt - * @param {any} Item to add in Gantt row. - * @param {string} Defines in which position the row wants to add - * @returns {void} - */ + * @param {any} Item to add in Gantt row. + * @param {string} Defines in which position the row wants to add + * @returns {void} + */ addRecord(data: any, rowPosition: string): void; /** To select cell based on the cell and row index dynamically. - * @param {Array} array of cell indexes to be select - * @param {boolean} Defines that we need to preserve the previously selected cells of not - * @returns {void} - */ - selectCells(Indexes: Array, preservePreviousSelectedCell: boolean): void; + * @param {Array} array of cell indexes to be select + * @param {boolean} Defines that we need to preserve the previously selected cells of not + * @returns {void} + */ + selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; /** Positions the splitter by the specified column index. - * @param {number} Set the splitter position based on column index. - * @returns {void} - */ + * @param {number} Set the splitter position based on column index. + * @returns {void} + */ setSplitterIndex(index: number): void; /** To cancel the edited state of an item in Gantt - * @returns {void} - */ + * @returns {void} + */ cancelEdit(): void; /** To collapse all the parent items in Gantt - * @returns {void} - */ + * @returns {void} + */ collapseAllItems(): void; /** To delete a selected item in Gantt - * @returns {void} - */ + * @returns {void} + */ deleteItem(): void; /** destroy the Gantt widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** To Expand all the parent items in Gantt - * @returns {void} - */ + * @returns {void} + */ expandAllItems(): void; /** To expand and collapse an item in Gantt using item's ID - * @param {number} Expand or Collapse a record based on task id. - * @returns {void} - */ + * @param {number} Expand or Collapse a record based on task id. + * @returns {void} + */ expandCollapseRecord(taskId: number): void; - /** Export the Gantt content to excel or PDF document. - * @param {string} Pass the controller action name corresponding to exporting - * @param {string} optionalASP server event name corresponding to exporting - * @param {boolean} optionalPass the multiple exporting value as true/false - * @returns {void} - */ - export(action: string, serverEvent?: string, multipleExport?: boolean): void; - /** To hide the column by using header text - * @param {string} you can pass a header text of a column to hide - * @returns {void} - */ + * @param {string} you can pass a header text of a column to hide + * @returns {void} + */ hideColumn(headerText: string): void; /** To indent a selected item in Gantt - * @returns {void} - */ + * @returns {void} + */ indentItem(): void; /** To Open the dialog to add new task to the Gantt - * @returns {void} - */ + * @returns {void} + */ openAddDialog(): void; /** To Open the dialog to edit existing task to the Gantt - * @returns {void} - */ + * @returns {void} + */ openEditDialog(): void; /** To outdent a selected item in Gantt - * @returns {void} - */ + * @returns {void} + */ outdentItem(): void; /** To save the edited state of an item in Gantt - * @returns {void} - */ + * @returns {void} + */ saveEdit(): void; /** To search an item with search string provided at the run time - * @param {string} you can pass a text to search in Gantt Control. - * @returns {void} - */ + * @param {string} you can pass a text to search in Gantt Control. + * @returns {void} + */ searchItem(searchString: string): void; /** To set the grid width in Gantt - * @param {string} you can give either percentage or pixels value - * @returns {void} - */ + * @param {string} you can give either percentage or pixels value + * @returns {void} + */ setSplitterPosition(width: string): void; /** To show the column by using header text - * @param {string} you can pass a header text of a column to show - * @returns {void} - */ + * @param {string} you can pass a header text of a column to show + * @returns {void} + */ showColumn(headerText: string): void; } -export module Gantt{ - -export interface Model { - - /** Specifies the fields to be included in the add dialog in Gantt - * @Default {[]} - */ - addDialogFields?: Array; - - /** Enables or disables the ability to resize column. - * @Default {false} - */ - allowColumnResize?: boolean; - - /** Enables or Disables Gantt chart editing in Gantt - * @Default {true} - */ - allowGanttChartEditing?: boolean; - - /** Enables or Disables Keyboard navigation in Gantt - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specifies enabling or disabling multiple sorting for Gantt columns - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** Enables or disables the option for multiple exporting - * @Default {false} - */ - allowMultipleExporting?: boolean; - - /** Enables or disables the interactive selection of a row. - * @Default {true} - */ - allowSelection?: boolean; - - /** Enables or disables sorting. When enabled, we can sort the column by clicking on the column. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables or disables the ability to drag and drop the row interactively to reorder the rows - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Enable or disable predecessor validation. When it is true, all the task's start and end dates are aligned based on its predecessors start and end dates. - * @Default {true} - */ - enablePredecessorValidation?: boolean; - - /** Specifies the baseline background color in Gantt - * @Default {#fba41c} - */ - baselineColor?: string; - - /** Specifies the mapping property path for the work field of a task in the data source. When it is mapped the end date and duration for a task will be calculated automatically. - */ - workMapping?: string; - - /** Specifies the mapping property path for the expand status of a record in data source. - */ - expandStateMapping?: string; - - /** Specifies the mapping property path for baseline end date in datasource - */ - baselineEndDateMapping?: string; - - /** Specifies the mapping property path for baseline start date of a task in datasource - */ - baselineStartDateMapping?: string; - - /** Specifies the mapping property path for sub tasks in datasource - */ - childMapping?: string; - - /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. - * @Default {[]} - */ - columnDialogFields?: Array; - - /** Specifies the background of connector lines in Gantt - */ - connectorLineBackground?: string; - - /** Specifies the width of the connector lines in Gantt - * @Default {1} - */ - connectorlineWidth?: number; - - /** Specify the CSS class for Gantt to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the template for cell tooltip - * @Default {null} - */ - cellTooltipTemplate?: string; - - /** Option for customizing the drag tooltip while reordering the rows. - */ - dragTooltip?: DragTooltip; - - /** Collection of data or hierarchical data to represent in Gantt - * @Default {null} - */ - dataSource?: Array; - - /** Specifies the dateFormat for Gantt , given format is displayed in tooltip , Grid . - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Specifies the mapping property path for duration of a task in datasource - */ - durationMapping?: string; - - /** Specifies the duration unit for each tasks whether days or hours or minutes - * @Default {ej.Gantt.DurationUnit.Day} - */ - durationUnit?: ej.Gantt.DurationUnit|string; - - /** Specifies the fields to be included in the edit dialog in Gantt - * @Default {[]} - */ - editDialogFields?: Array; - - /** Enables or disables the responsiveness of Gantt - * @Default {false} - */ - isResponsive?: boolean; - - /** Option to configure the splitter position. - */ - splitterSettings?: SplitterSettings; - - /** Specifies the editSettings options in Gantt. - */ - editSettings?: EditSettings; - - /** Enables or Disables enableAltRow row effect in Gantt - * @Default {true} - */ - enableAltRow?: boolean; - - /** Enables/disables work breakdown structure column. - * @Default {false} - */ - enableWBS?: boolean; - - /** Enables/disables WBS predecessor column. - * @Default {false} - */ - enableWBSPredecessor?: boolean; - - /** Enables or disables the collapse all records when loading the Gantt. - * @Default {false} - */ - enableCollapseAll?: boolean; - - /** Specifies the data source field name to be displayed as left task label - */ - leftTaskLabelMapping?: string; - - /** Specifies the data source field name to be displayed as right task label - */ - rightTaskLabelMapping?: string; - - /** Specifies the template for left task label - */ - leftTaskLabelTemplate?: string; - - /** Specifies the template for right task label - */ - rightTaskLabelTemplate?: string; - - /** Enables or disables the contextmenu for Gantt , when enabled contextmenu appears on right clicking Gantt - * @Default {false} - */ - enableContextMenu?: boolean; - - /** Indicates whether we can edit the progress of a task interactively in Gantt. - * @Default {true} - */ - enableProgressBarResizing?: boolean; - - /** Enables or disables the option for dynamically updating the Gantt size on window resizing - * @Default {false} - */ - enableResize?: boolean; - - /** Enables or disables tooltip while editing (dragging/resizing) the taskbar. - * @Default {true} - */ - enableTaskbarDragTooltip?: boolean; - - /** Enables or disables tooltip for taskbar. - * @Default {true} - */ - enableTaskbarTooltip?: boolean; - - /** Enables/Disables virtualization for rendering Gantt items. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the mapping property path for end Date of a task in datasource - */ - endDateMapping?: string; - - /** Specifies whether to highlight the weekends in Gantt . - * @Default {true} - */ - highlightWeekends?: boolean; - - /** Collection of holidays with date, background and label information to be displayed in Gantt. - * @Default {[]} - */ - holidays?: Array; - - /** Specifies whether to include weekends while calculating the duration of a task. - * @Default {true} - */ - includeWeekend?: boolean; - - /** Specify the locale for Gantt - * @Default {en-US} - */ - locale?: string; - - /** Specifies the mapping property path for milestone in datasource - */ - milestoneMapping?: string; - - /** Enables/disables the options for inserting , deleting and renaming columns. - * @Default {false} - */ - showColumnOptions?: boolean; - - /** Specifies the template for parent taskbar - */ - parentTaskbarTemplate?: string; - - /** Specifies the nature of a task for calculating the work, and it can fixed duration, fixed work and fixed resource unit - * @Default {ej.Gantt.TaskType.FixedUnit} - */ - taskType?: ej.Gantt.TaskType|string; - - /** Specifies the unit for the work involved in a task and it can be day, hour or minute - * @Default {ej.Gantt.WorkUnit.Hour} - */ - workUnit?: ej.Gantt.WorkUnit|string; - - /** Specifies the task scheduling mode for a project and this will be set to all the tasks available in the project - * @Default {ej.Gantt.TaskSchedulingMode.Auto} - */ - taskSchedulingMode?: ej.Gantt.TaskSchedulingMode|string; - - /** Specifies the row selection type. - * @Default {ej.Gantt.SelectionType.Single} - */ - selectionType?: ej.Gantt.SelectionType|string; - - /** Specifies the background of parent progressbar in Gantt - */ - parentProgressbarBackground?: string; - - /** Specifies the mapping property path for resource's percent effort involved in a task in datasource - */ - resourceUnitMapping?: string; - - /** Specifies the mapping property path for the task description in datasource - */ - notesMapping?: string; - - /** Specifies the mapping property path for the task scheduling mode for a task in datasource - * @Default {auto} - */ - taskSchedulingModeMapping?: string; - - /** Specifies the mapping property path for task duration unit in datasource - */ - durationUnitMapping?: string; - - /** Specifies the background of parent taskbar in Gantt - */ - parentTaskbarBackground?: string; - - /** Specifies the mapping property path for parent task Id in self reference datasource - */ - parentTaskIdMapping?: string; - - /** Specifies the mapping property path for predecessors of a task in datasource - */ - predecessorMapping?: string; - - /** Specifies the background of progressbar in Gantt - */ - progressbarBackground?: string; - - /** Specified the height of the progressbar in taskbar - * @Default {100} - */ - progressbarHeight?: number; - - /** Specifies the template for tooltip on resizing progressbar - * @Default {null} - */ - progressbarTooltipTemplate?: string; - - /** Specifies the template ID for customized tooltip for progressbar editing in Gantt - * @Default {null} - */ - progressbarTooltipTemplateId?: string; - - /** Specifies the mapping property path for progress percentage of a task in datasource - */ - progressMapping?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - * @Default {null} - */ - query?: any; - - /** Enables or Disables rendering baselines in Gantt , when enabled baseline is rendered in Gantt - * @Default {false} - */ - renderBaseline?: boolean; - - /** Enables or disables the schedule date validation while connecting a manually scheduled task with predecessor - * @Default {false} - */ - validateManualTasksOnLinking?: boolean; - - /** Specifies the mapping property name for resource ID in resource Collection in Gantt - */ - resourceIdMapping?: string; - - /** Specifies the mapping property path for resources of a task in datasource - */ - resourceInfoMapping?: string; - - /** Specifies the mapping property path for resource name of a task in Gantt - */ - resourceNameMapping?: string; - - /** Collection of data regarding resources involved in entire project - * @Default {[]} - */ - resources?: Array; - - /** Specifies whether rounding off the day working time edits - * @Default {true} - */ - roundOffDayworkingTime?: boolean; - - /** Specifies the height of a single row in Gantt. Also, we need to set same height in the CSS style with class name e-rowcell. - * @Default {30} - */ - rowHeight?: number; - - /** Specifies end date of the Gantt schedule. By default, end date will be rounded to its next Saturday. - * @Default {null} - */ - scheduleEndDate?: string; - - /** Specifies the options for customizing schedule header. - */ - scheduleHeaderSettings?: ScheduleHeaderSettings; - - /** Specifies start date of the Gantt schedule. By default, start date will be rounded to its previous Sunday. - * @Default {null} - */ - scheduleStartDate?: string; - - /** Specifies the selected row Index in Gantt , the row with given index will highlighted - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Enables or disables the column chooser. - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Specifies the template for cell tooltip - * @Default {true} - */ - showGridCellTooltip?: boolean; - - /** Specifies whether to show grid cell tooltip over expander cell alone. - * @Default {true} - */ - showGridExpandCellTooltip?: boolean; - - /** Specifies whether display task progress inside taskbar. - * @Default {true} - */ - showProgressStatus?: boolean; - - /** Specifies whether to display resource names for a task beside taskbar. - * @Default {true} - */ - showResourceNames?: boolean; - - /** Specifies whether to display task name beside task bar. - * @Default {true} - */ - showTaskNames?: boolean; - - /** Specifies the size option of Gantt control. - */ - sizeSettings?: SizeSettings; - - /** Specifies the selected cell information on rendering Gantt. - */ - selectedCellIndexes?: Array; - - /** Specifies the sorting options for Gantt. - */ - sortSettings?: SortSettings; - - /** Specifies splitter position in Gantt. - * @Default {null} - */ - splitterPosition?: string; - - /** Specifies the mapping property path for start date of a task in datasource - */ - startDateMapping?: string; - - /** Specifies the options for striplines - * @Default {[]} - */ - stripLines?: Array; - - /** Specifies the background of the taskbar in Gantt - */ - taskbarBackground?: string; - - /** Specifies the template script for customized tooltip for taskbar editing in Gantt - */ - taskbarEditingTooltipTemplate?: string; - - /** Specifies the template Id for customized tooltip for taskbar editing in Gantt - */ - taskbarEditingTooltipTemplateId?: string; - - /** Specifies the template for tooltip on mouse action on taskbars - */ - taskbarTooltipTemplate?: string; - /** To Specify the JsRender script Id to customize the task bar with our preference - */ - taskbarTemplate?: string; +export namespace Gantt { + + export interface Model { + + /** Specifies the fields to be included in the add dialog in Gantt + * @Default {[]} + */ + addDialogFields?: any[]; + + /** Enables or disables the ability to resize column. + * @Default {false} + */ + allowColumnResize?: boolean; + + /** Enables or Disables Gantt chart editing in Gantt + * @Default {true} + */ + allowGanttChartEditing?: boolean; + + /** Enables or Disables Keyboard navigation in Gantt + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specifies enabling or disabling multiple sorting for Gantt columns + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** Enables or disables the option for multiple exporting + * @Default {false} + */ + allowMultipleExporting?: boolean; + + /** Enables or disables the interactive selection of a row. + * @Default {true} + */ + allowSelection?: boolean; + + /** Enables or disables sorting. When enabled, we can sort the column by clicking on the column. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables or disables the ability to drag and drop the row interactively to reorder the rows + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Enable or disable predecessor validation. When it is true, all the task's start and end dates are aligned based on its predecessors start and end dates. + * @Default {true} + */ + enablePredecessorValidation?: boolean; + + /** Specifies the baseline background color in Gantt + * @Default {#fba41c} + */ + baselineColor?: string; + + /** Specifies the mapping property path for baseline end date in datasource + */ + baselineEndDateMapping?: string; + + /** Specifies the mapping property path for baseline start date of a task in datasource + */ + baselineStartDateMapping?: string; + + /** Specifies the mapping property path for sub tasks in datasource + */ + childMapping?: string; + + /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. + * @Default {[]} + */ + columnDialogFields?: any[]; + + /** Specifies the background of connector lines in Gantt + */ + connectorLineBackground?: string; + + /** Specifies the width of the connector lines in Gantt + * @Default {1} + */ + connectorlineWidth?: number; + + /** Specify the CSS class for Gantt to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the template for cell tooltip + * @Default {null} + */ + cellTooltipTemplate?: string; + + /** Option for customizing the drag tooltip while reordering the rows. + */ + dragTooltip?: DragTooltip; + + /** Collection of data or hierarchical data to represent in Gantt + * @Default {null} + */ + dataSource?: any[]; + + /** Specifies the dateFormat for Gantt , given format is displayed in tooltip , Grid . + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Specifies the mapping property path for duration of a task in datasource + */ + durationMapping?: string; + + /** Specifies the duration unit for each tasks whether days or hours or minutes + * @Default {ej.Gantt.DurationUnit.Day} + */ + durationUnit?: ej.Gantt.DurationUnit | string; + + /** Specifies the fields to be included in the edit dialog in Gantt + * @Default {[]} + */ + editDialogFields?: any[]; + + /** Enables or disables the responsiveness of Gantt + * @Default {false} + */ + isResponsive?: boolean; + + /** Option to configure the splitter position. + */ + splitterSettings?: SplitterSettings; + + /** Specifies the editSettings options in Gantt. + */ + editSettings?: EditSettings; + + /** Enables or Disables enableAltRow row effect in Gantt + * @Default {true} + */ + enableAltRow?: boolean; + + /** Enables/disables work breakdown structure column. + * @Default {false} + */ + enableWBS?: boolean; + + /** Enables/disables WBS predecessor column. + * @Default {false} + */ + enableWBSPredecessor?: boolean; + + /** Enables or disables the collapse all records when loading the Gantt. + * @Default {false} + */ + enableCollapseAll?: boolean; + + /** Specifies the data source field name to be displayed as left task label + */ + leftTaskLabelMapping?: string; + + /** Specifies the data source field name to be displayed as right task label + */ + rightTaskLabelMapping?: string; + + /** Specifies the template for left task label + */ + leftTaskLabelTemplate?: string; + + /** Specifies the template for right task label + */ + rightTaskLabelTemplate?: string; + + /** Enables or disables the contextmenu for Gantt , when enabled contextmenu appears on right clicking Gantt + * @Default {false} + */ + enableContextMenu?: boolean; + + /** Indicates whether we can edit the progress of a task interactively in Gantt. + * @Default {true} + */ + enableProgressBarResizing?: boolean; + + /** Enables or disables the option for dynamically updating the Gantt size on window resizing + * @Default {false} + */ + enableResize?: boolean; + + /** Enables or disables tooltip while editing (dragging/resizing) the taskbar. + * @Default {true} + */ + enableTaskbarDragTooltip?: boolean; + + /** Enables or disables tooltip for taskbar. + * @Default {true} + */ + enableTaskbarTooltip?: boolean; + + /** Enables/Disables virtualization for rendering Gantt items. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the mapping property path for end Date of a task in datasource + */ + endDateMapping?: string; + + /** Specifies whether to highlight the weekends in Gantt . + * @Default {true} + */ + highlightWeekends?: boolean; + + /** Collection of holidays with date, background and label information to be displayed in Gantt. + * @Default {[]} + */ + holidays?: any[]; + + /** Specifies whether to include weekends while calculating the duration of a task. + * @Default {true} + */ + includeWeekend?: boolean; + + /** Specify the locale for Gantt + * @Default {en-US} + */ + locale?: string; + + /** Specifies the mapping property path for milestone in datasource + */ + milestoneMapping?: string; + + /** Enables/disables the options for inserting , deleting and renaming columns. + * @Default {false} + */ + showColumnOptions?: boolean; + + /** Specifies the template for parent taskbar + */ + parentTaskbarTemplate?: string; + + /** Specifies the nature of a task for calculating the work, and it can fixed duration, fixed work and fixed resource unit + * @Default {ej.Gantt.TaskType.FixedUnit} + */ + taskType?: ej.Gantt.TaskType | string; + + /** Specifies the unit for the work involved in a task and it can be day, hour or minute + * @Default {ej.Gantt.WorkUnit.Hour} + */ + workUnit?: ej.Gantt.WorkUnit | string; + + /** Specifies the task scheduling mode for a project and this will be set to all the tasks available in the project + * @Default {ej.Gantt.TaskSchedulingMode.Auto} + */ + taskSchedulingMode?: ej.Gantt.TaskSchedulingMode | string; + + /** Specifies the row selection type. + * @Default {ej.Gantt.SelectionType.Single} + */ + selectionType?: ej.Gantt.SelectionType | string; + + /** Specifies the background of parent progressbar in Gantt + */ + parentProgressbarBackground?: string; + + /** Specifies the mapping property path for resource's percent effort involved in a task in datasource + */ + resourceUnitMapping?: string; + + /** Specifies the mapping property path for the task description in datasource + */ + notesMapping?: string; + + /** Specifies the mapping property path for the task scheduling mode for a task in datasource + * @Default {auto} + */ + taskSchedulingModeMapping?: string; + + /** Specifies the mapping property path for task duration unit in datasource + */ + durationUnitMapping?: string; + + /** Specifies the background of parent taskbar in Gantt + */ + parentTaskbarBackground?: string; + + /** Specifies the mapping property path for parent task Id in self reference datasource + */ + parentTaskIdMapping?: string; + + /** Specifies the mapping property path for predecessors of a task in datasource + */ + predecessorMapping?: string; + + /** Specifies the background of progressbar in Gantt + */ + progressbarBackground?: string; + + /** Specified the height of the progressbar in taskbar + * @Default {100} + */ + progressbarHeight?: number; + + /** Specifies the template for tooltip on resizing progressbar + * @Default {null} + */ + progressbarTooltipTemplate?: string; + + /** Specifies the template ID for customized tooltip for progressbar editing in Gantt + * @Default {null} + */ + progressbarTooltipTemplateId?: string; + + /** Specifies the mapping property path for progress percentage of a task in datasource + */ + progressMapping?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + * @Default {null} + */ + query?: any; + + /** Enables or Disables rendering baselines in Gantt , when enabled baseline is rendered in Gantt + * @Default {false} + */ + renderBaseline?: boolean; + + /** Enables or disables the schedule date validation while connecting a manually scheduled task with predecessor + * @Default {false} + */ + validateManualTasksOnLinking?: boolean; + + /** Specifies the mapping property name for resource ID in resource Collection in Gantt + */ + resourceIdMapping?: string; + + /** Specifies the mapping property path for resources of a task in datasource + */ + resourceInfoMapping?: string; + + /** Specifies the mapping property path for resource name of a task in Gantt + */ + resourceNameMapping?: string; + + /** Collection of data regarding resources involved in entire project + * @Default {[]} + */ + resources?: any[]; + + /** Specifies whether rounding off the day working time edits + * @Default {true} + */ + roundOffDayworkingTime?: boolean; + + /** Specifies the height of a single row in Gantt. Also, we need to set same height in the CSS style with class name e-rowcell. + * @Default {30} + */ + rowHeight?: number; + + /** Specifies end date of the Gantt schedule. By default, end date will be rounded to its next Saturday. + * @Default {null} + */ + scheduleEndDate?: string; + + /** Specifies the options for customizing schedule header. + */ + scheduleHeaderSettings?: ScheduleHeaderSettings; + + /** Specifies start date of the Gantt schedule. By default, start date will be rounded to its previous Sunday. + * @Default {null} + */ + scheduleStartDate?: string; + + /** Specifies the selected row Index in Gantt , the row with given index will highlighted + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Enables or disables the column chooser. + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Specifies the template for cell tooltip + * @Default {true} + */ + showGridCellTooltip?: boolean; + + /** Specifies whether to show grid cell tooltip over expander cell alone. + * @Default {true} + */ + showGridExpandCellTooltip?: boolean; + + /** Specifies whether display task progress inside taskbar. + * @Default {true} + */ + showProgressStatus?: boolean; + + /** Specifies whether to display resource names for a task beside taskbar. + * @Default {true} + */ + showResourceNames?: boolean; + + /** Specifies whether to display task name beside task bar. + * @Default {true} + */ + showTaskNames?: boolean; + + /** Specifies the size option of Gantt control. + */ + sizeSettings?: SizeSettings; + + /** Specifies the selected cell information on rendering Gantt. + */ + selectedCellIndexes?: SelectedCellIndex[]; + + /** Specifies the sorting options for Gantt. + */ + sortSettings?: SortSettings; + + /** Specifies splitter position in Gantt. + * @Default {null} + */ + splitterPosition?: string; + + /** Specifies the mapping property path for start date of a task in datasource + */ + startDateMapping?: string; + + /** Specifies the options for striplines + * @Default {[]} + */ + stripLines?: any[]; + + /** Specifies the background of the taskbar in Gantt + */ + taskbarBackground?: string; + + /** Specifies the template script for customized tooltip for taskbar editing in Gantt + */ + taskbarEditingTooltipTemplate?: string; + + /** Specifies the template Id for customized tooltip for taskbar editing in Gantt + */ + taskbarEditingTooltipTemplateId?: string; + + /** Specifies the template for tooltip on mouse action on taskbars + */ + taskbarTooltipTemplate?: string; - /** To Specify the JsRender script Id to customize the mile stone with our preference - */ - milestoneTemplate?: string; + /** To Specify the JsRender script Id to customize the task bar with our preference + */ + taskbarTemplate?: string; - /** Enables or disables Gantt to read-only mode - * @Default {false} - */ - readOnly?: boolean; + /** To Specify the JsRender script Id to customize the mile stone with our preference + */ + milestoneTemplate?: string; - /** Specifies the template id for tooltip on mouse action on taskbars - */ - taskbarTooltipTemplateId?: string; + /** Enables or disables Gantt to read-only mode + * @Default {false} + */ + readOnly?: boolean; - /** Specifies the mapping property path for task Id in datasource - */ - taskIdMapping?: string; + /** Specifies the template id for tooltip on mouse action on taskbars + */ + taskbarTooltipTemplateId?: string; - /** Specifies the mapping property path for task name in datasource - */ - taskNameMapping?: string; + /** Specifies the mapping property path for task Id in datasource + */ + taskIdMapping?: string; - /** Specifies the toolbarSettings options. - */ - toolbarSettings?: ToolbarSettings; + /** Specifies the mapping property path for task name in datasource + */ + taskNameMapping?: string; - /** Specifies the tree expander column in Gantt - * @Default {0} - */ - treeColumnIndex?: number; + /** Specifies the toolbarSettings options. + */ + toolbarSettings?: ToolbarSettings; - /** Specifies the type of selection whether to select row or cell. - * @Default {ej.Gantt.SelectionMode.Row} - */ - selectionMode?: ej.Gantt.SelectionMode|string; + /** Specifies the tree expander column in Gantt + * @Default {0} + */ + treeColumnIndex?: number; - /** Specifies the weekendBackground color in Gantt - * @Default {#F2F2F2} - */ - weekendBackground?: string; + /** Specifies the type of selection whether to select row or cell. + * @Default {ej.Gantt.SelectionMode.Row} + */ + selectionMode?: ej.Gantt.SelectionMode | string; - /** Specifies the working time schedule of day - * @Default {ej.Gantt.workingTimeScale.TimeScale8Hours} - */ - workingTimeScale?: ej.Gantt.workingTimeScale|string; + /** Specifies the weekendBackground color in Gantt + * @Default {#F2F2F2} + */ + weekendBackground?: string; - /** Triggered for every Gantt action before its starts. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Specifies the working time schedule of day + * @Default {ej.Gantt.workingTimeScale.TimeScale8Hours} + */ + workingTimeScale?: ej.Gantt.workingTimeScale | string; - /** Triggered for every Gantt action success event. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** Triggered for every Gantt action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Triggered while enter the edit mode in the TreeGrid cell */ - beginEdit? (e: BeginEditEventArgs): void; + /** Triggered for every Gantt action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Triggered before selecting a cell */ - cellSelecting? (e: CellSelectingEventArgs): void; + /** Triggered while enter the edit mode in the TreeGrid cell */ + beginEdit?(e: BeginEditEventArgs): void; - /** Triggered after selected a cell */ - cellSelected? (e: CellSelectedEventArgs): void; + /** Triggered before selecting a cell */ + cellSelecting?(e: CellSelectingEventArgs): void; - /** Triggered while dragging a row in Gantt control */ - rowDrag? (e: RowDragEventArgs): void; + /** Triggered after selected a cell */ + cellSelected?(e: CellSelectedEventArgs): void; - /** Triggered while start to drag row in Gantt control */ - rowDragStart? (e: RowDragStartEventArgs): void; + /** Triggered while dragging a row in Gantt control */ + rowDrag?(e: RowDragEventArgs): void; - /** Triggered while drop a row in Gantt control */ - rowDragStop? (e: RowDragStopEventArgs): void; + /** Triggered while start to drag row in Gantt control */ + rowDragStart?(e: RowDragStartEventArgs): void; - /** Triggered after collapsed the Gantt record */ - collapsed? (e: CollapsedEventArgs): void; + /** Triggered while drop a row in Gantt control */ + rowDragStop?(e: RowDragStopEventArgs): void; - /** Triggered while collapsing the Gantt record */ - collapsing? (e: CollapsingEventArgs): void; + /** Triggered after collapsed the Gantt record */ + collapsed?(e: CollapsedEventArgs): void; - /** Triggered while Context Menu is rendered in Gantt control */ - contextMenuOpen? (e: ContextMenuOpenEventArgs): void; + /** Triggered while collapsing the Gantt record */ + collapsing?(e: CollapsingEventArgs): void; - /** Triggered when Gantt is rendered completely. */ - create? (e: CreateEventArgs): void; + /** Triggered while Context Menu is rendered in Gantt control */ + contextMenuOpen?(e: ContextMenuOpenEventArgs): void; - /** Triggered after save the modified cellValue in Gantt. */ - endEdit? (e: EndEditEventArgs): void; + /** Triggered when Gantt is rendered completely. */ + create?(e: CreateEventArgs): void; - /** Triggered after expand the record */ - expanded? (e: ExpandedEventArgs): void; + /** Triggered after save the modified cellValue in Gantt. */ + endEdit?(e: EndEditEventArgs): void; - /** Triggered while expanding the Gantt record */ - expanding? (e: ExpandingEventArgs): void; + /** Triggered after expand the record */ + expanded?(e: ExpandedEventArgs): void; - /** Triggered while Gantt is loaded */ - load? (e: LoadEventArgs): void; + /** Triggered while expanding the Gantt record */ + expanding?(e: ExpandingEventArgs): void; - /** Triggered while rendering each cell in the TreeGrid */ - queryCellInfo? (e: QueryCellInfoEventArgs): void; + /** Triggered while Gantt is loaded */ + load?(e: LoadEventArgs): void; - /** Triggered while rendering each taskbar in the Gantt */ - queryTaskbarInfo? (e: QueryTaskbarInfoEventArgs): void; + /** Triggered while rendering each cell in the TreeGrid */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; - /** Triggered while rendering each row */ - rowDataBound? (e: RowDataBoundEventArgs): void; + /** Triggered while rendering each taskbar in the Gantt */ + queryTaskbarInfo?(e: QueryTaskbarInfoEventArgs): void; - /** Triggered after the row is selected. */ - rowSelected? (e: RowSelectedEventArgs): void; + /** Triggered while rendering each row */ + rowDataBound?(e: RowDataBoundEventArgs): void; - /** Triggered before the row is going to be selected. */ - rowSelecting? (e: RowSelectingEventArgs): void; + /** Triggered after the row is selected. */ + rowSelected?(e: RowSelectedEventArgs): void; - /** Triggered after completing the editing operation in taskbar */ - taskbarEdited? (e: TaskbarEditedEventArgs): void; + /** Triggered before the row is going to be selected. */ + rowSelecting?(e: RowSelectingEventArgs): void; - /** Triggered while editing the Gantt chart (dragging, resizing the taskbar ) */ - taskbarEditing? (e: TaskbarEditingEventArgs): void; + /** Triggered after completing the editing operation in taskbar */ + taskbarEdited?(e: TaskbarEditedEventArgs): void; - /** Triggered when taskbar item is clicked in Gantt. */ - taskbarClick? (e: TaskbarClickEventArgs): void; + /** Triggered while editing the Gantt chart (dragging, resizing the taskbar ) */ + taskbarEditing?(e: TaskbarEditingEventArgs): void; - /** Triggered when toolbar item is clicked in Gantt. */ - toolbarClick? (e: ToolbarClickEventArgs): void; -} + /** Triggered when taskbar item is clicked in Gantt. */ + taskbarClick?(e: TaskbarClickEventArgs): void; -export interface ActionBeginEventArgs { + /** Triggered when toolbar item is clicked in Gantt. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface ActionBeginEventArgs { - /** Returns the grid model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the name of the event. - */ - type?: string; + /** Returns the grid model. + */ + model?: any; - /** Returns the current grouped column field name. - */ - columnName?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns the current grouped column field name. + */ + columnName?: string; - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the value of searching element. - */ - keyValue?: string; + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; - /** Returns the data of deleting element. - */ - data?: string; + /** Returns the value of searching element. + */ + keyValue?: string; - /** Returns selected record index - */ - recordIndex?: number; -} + /** Returns the data of deleting element. + */ + data?: string; -export interface ActionCompleteEventArgs { + /** Returns selected record index + */ + recordIndex?: number; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface ActionCompleteEventArgs { - /** Returns the grid model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the name of the event. - */ - type?: string; + /** Returns the grid model. + */ + model?: any; - /** Returns the current grouped column field name. - */ - columnName?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns the current grouped column field name. + */ + columnName?: string; - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the value of searched element. - */ - keyValue?: string; + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; - /** Returns the data of deleted element. - */ - data?: string; + /** Returns the value of searched element. + */ + keyValue?: string; - /** Returns selected record index - */ - recordIndex?: number; -} + /** Returns the data of deleted element. + */ + data?: string; -export interface BeginEditEventArgs { + /** Returns selected record index + */ + recordIndex?: number; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface BeginEditEventArgs { - /** Returns the row element of editing cell. - */ - rowElement?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Element of editing cell. - */ - cellElement?: any; + /** Returns the row element of editing cell. + */ + rowElement?: any; - /** Returns the data of current cell record. - */ - data?: any; + /** Returns the Element of editing cell. + */ + cellElement?: any; - /** Returns the column Index of cell belongs. - */ - columnIndex?: number; -} + /** Returns the data of current cell record. + */ + data?: any; -export interface CellSelectingEventArgs { + /** Returns the column Index of cell belongs. + */ + columnIndex?: number; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface CellSelectingEventArgs { - /** Returns the cell index on the selection. - */ - cellIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index on the selection - */ - rowIndex?: number; + /** Returns the cell index on the selection. + */ + cellIndex?: number; - /** Returns the selecting cell element - */ - targetCell?: any; + /** Returns the row index on the selection + */ + rowIndex?: number; - /** Returns the selecting row element - */ - targetRow?: any; + /** Returns the selecting cell element + */ + targetCell?: any; - /** Returns the selecting record object - */ - data?: any; + /** Returns the selecting row element + */ + targetRow?: any; - /** Returns the Gantt object Model - */ - model?: any; -} + /** Returns the selecting record object + */ + data?: any; -export interface CellSelectedEventArgs { + /** Returns the Gantt object Model + */ + model?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface CellSelectedEventArgs { - /** Returns the cell index on the selection. - */ - cellIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index on the selection - */ - rowIndex?: number; + /** Returns the cell index on the selection. + */ + cellIndex?: number; - /** Returns the selecting cell element - */ - targetCell?: any; + /** Returns the row index on the selection + */ + rowIndex?: number; - /** Returns the selecting row element - */ - targetRow?: any; + /** Returns the selecting cell element + */ + targetCell?: any; - /** Returns the selecting record object - */ - data?: any; + /** Returns the selecting row element + */ + targetRow?: any; - /** Returns the Gantt object Model - */ - model?: any; + /** Returns the selecting record object + */ + data?: any; - /** Returns the previously selected row data - */ - previousData?: any; + /** Returns the Gantt object Model + */ + model?: any; - /** Returns the previously selected cell index - */ - previousCellIndex?: any; + /** Returns the previously selected row data + */ + previousData?: any; - /** Returns the previously selected row index - */ - previousRowIndex?: any; + /** Returns the previously selected cell index + */ + previousCellIndex?: any; - /** Returns the previously selected cell element - */ - previousTargetCell?: any; + /** Returns the previously selected row index + */ + previousRowIndex?: any; - /** Returns the previously selected row element - */ - previousTargetRow?: any; -} + /** Returns the previously selected cell element + */ + previousTargetCell?: any; -export interface RowDragEventArgs { + /** Returns the previously selected row element + */ + previousTargetRow?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface RowDragEventArgs { - /** Returns the row which we start to drag. - */ - draggedRow?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; + /** Returns the row which we start to drag. + */ + draggedRow?: any; - /** Returns the row on which we are dragging. - */ - targetRow?: any; + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; - /** Returns the row index on which we are dragging. - */ - targetRowIndex?: number; + /** Returns the row on which we are dragging. + */ + targetRow?: any; - /** Returns that we can drop over that record or not. - */ - canDrop?: boolean; + /** Returns the row index on which we are dragging. + */ + targetRowIndex?: number; - /** Returns the Gantt model. - */ - model?: any; + /** Returns that we can drop over that record or not. + */ + canDrop?: boolean; - /** Returns request type. - */ - requestType?: string; + /** Returns the Gantt model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns request type. + */ + requestType?: string; -export interface RowDragStartEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface RowDragStartEventArgs { - /** Returns the row which we start to drag. - */ - draggedRow?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: boolean; + /** Returns the row which we start to drag. + */ + draggedRow?: any; - /** Returns the Gantt model. - */ - model?: any; + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: boolean; - /** Returns request type. - */ - requestType?: string; + /** Returns the Gantt model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns request type. + */ + requestType?: string; -export interface RowDragStopEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface RowDragStopEventArgs { - /** Returns the row which we start to drag. - */ - draggedRow?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; + /** Returns the row which we start to drag. + */ + draggedRow?: any; - /** Returns the row which we are dropped to row. - */ - targetRow?: any; + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; - /** Returns the row index which we are dropped to row. - */ - targetRowIndex?: number; + /** Returns the row which we are dropped to row. + */ + targetRow?: any; - /** Returns the Gantt model. - */ - model?: any; + /** Returns the row index which we are dropped to row. + */ + targetRowIndex?: number; - /** Returns request type. - */ - requestType?: string; + /** Returns the Gantt model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns request type. + */ + requestType?: string; -export interface CollapsedEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface CollapsedEventArgs { - /** Returns the row index of collapsed record. - */ - recordIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the data of collapsed record. - */ - data?: any; + /** Returns the row index of collapsed record. + */ + recordIndex?: number; - /** Returns Request Type. - */ - requestType?: string; + /** Returns the data of collapsed record. + */ + data?: any; - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; -} + /** Returns Request Type. + */ + requestType?: string; -export interface CollapsingEventArgs { + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface CollapsingEventArgs { - /** Returns the row index of collapsing record. - */ - recordIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the data of edited cell record.. - */ - data?: any; + /** Returns the row index of collapsing record. + */ + recordIndex?: number; - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; -} + /** Returns the data of edited cell record.. + */ + data?: any; -export interface ContextMenuOpenEventArgs { + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface ContextMenuOpenEventArgs { - /** Returns the default context menu items to which we add custom items. - */ - contextMenuItems?: Array; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Gantt model. - */ - model?: any; + /** Returns the default context menu items to which we add custom items. + */ + contextMenuItems?: any[]; - /** Returns request type. - */ - requestType?: string; + /** Returns the Gantt model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns request type. + */ + requestType?: string; -export interface CreateEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface CreateEventArgs { - /** Returns the Gantt model - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the Gantt model + */ + model?: any; -export interface EndEditEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface EndEditEventArgs { - /** Returns the row element of editing cell. - */ - rowElement?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the Element of editing cell. - */ - cellElement?: any; + /** Returns the row element of editing cell. + */ + rowElement?: any; - /** Returns the data of edited cell record. - */ - data?: any; + /** Returns the Element of editing cell. + */ + cellElement?: any; - /** Returns the column name of edited cell belongs. - */ - columnName?: string; + /** Returns the data of edited cell record. + */ + data?: any; - /** Returns the column object of edited cell belongs. - */ - columnObject?: any; -} + /** Returns the column name of edited cell belongs. + */ + columnName?: string; -export interface ExpandedEventArgs { + /** Returns the column object of edited cell belongs. + */ + columnObject?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface ExpandedEventArgs { - /** Returns the row index of record. - */ - recordIndex?: number; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the data of expanded record. - */ - data?: any; + /** Returns the row index of record. + */ + recordIndex?: number; - /** Returns Request Type. - */ - requestType?: string; + /** Returns the data of expanded record. + */ + data?: any; - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; -} + /** Returns Request Type. + */ + requestType?: string; -export interface ExpandingEventArgs { + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface ExpandingEventArgs { - /** Returns the row index of record. - */ - recordIndex?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the data of edited cell record.. - */ - data?: any; + /** Returns the row index of record. + */ + recordIndex?: any; - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; -} + /** Returns the data of edited cell record.. + */ + data?: any; -export interface LoadEventArgs { + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface LoadEventArgs { - /** Returns the Gantt model - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the Gantt model + */ + model?: any; -export interface QueryCellInfoEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface QueryCellInfoEventArgs { - /** Returns the selecting cell element. - */ - cellElement?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the value of cell. - */ - cellValue?: string; + /** Returns the selecting cell element. + */ + cellElement?: any; - /** Returns the data of current cell record. - */ - data?: any; + /** Returns the value of cell. + */ + cellValue?: string; - /** Returns the column of cell belongs. - */ - column?: any; -} + /** Returns the data of current cell record. + */ + data?: any; -export interface QueryTaskbarInfoEventArgs { + /** Returns the column of cell belongs. + */ + column?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface QueryTaskbarInfoEventArgs { - /** Returns the taskbar background of current item. - */ - TaskbarBackground?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the progressbar background of current item. - */ - ProgressbarBackground?: string; + /** Returns the taskbar background of current item. + */ + TaskbarBackground?: string; - /** Returns the parent taskbar background of current item. - */ - parentTaskbarBackground?: string; + /** Returns the progressbar background of current item. + */ + ProgressbarBackground?: string; - /** Returns the parent progressbar background of current item. - */ - parentProgressbarBackground?: string; + /** Returns the parent taskbar background of current item. + */ + parentTaskbarBackground?: string; - /** Returns the data of the record. - */ - data?: any; -} + /** Returns the parent progressbar background of current item. + */ + parentProgressbarBackground?: string; -export interface RowDataBoundEventArgs { + /** Returns the data of the record. + */ + data?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface RowDataBoundEventArgs { - /** Returns the row element of rendering row. - */ - rowElement?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the data of rendering row record.. - */ - data?: any; -} + /** Returns the row element of rendering row. + */ + rowElement?: any; -export interface RowSelectedEventArgs { + /** Returns the data of rendering row record.. + */ + data?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface RowSelectedEventArgs { - /** Returns the selecting row element. - */ - targetRow?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the index of selecting row record. - */ - recordIndex?: number; + /** Returns the selecting row element. + */ + targetRow?: any; - /** Returns the data of selected record. - */ - data?: any; -} + /** Returns the index of selecting row record. + */ + recordIndex?: number; -export interface RowSelectingEventArgs { + /** Returns the data of selected record. + */ + data?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface RowSelectingEventArgs { - /** Returns the data selecting record. - */ - data?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the index of selecting row record. - */ - recordIndex?: string; + /** Returns the data selecting record. + */ + data?: any; - /** Returns the selecting row chart element. - */ - targetChartRow?: any; + /** Returns the index of selecting row record. + */ + recordIndex?: string; - /** Returns the selecting row grid element. - */ - targetGridRow?: any; + /** Returns the selecting row chart element. + */ + targetChartRow?: any; - /** Returns the previous selected data. - */ - previousData?: any; + /** Returns the selecting row grid element. + */ + targetGridRow?: any; - /** Returns the previous selected row index. - */ - previousIndex?: string; + /** Returns the previous selected data. + */ + previousData?: any; - /** Returns the previous selected row chart element. - */ - previousChartRow?: any; + /** Returns the previous selected row index. + */ + previousIndex?: string; - /** Returns the previous selected row grid element. - */ - previousGridRow?: any; -} + /** Returns the previous selected row chart element. + */ + previousChartRow?: any; -export interface TaskbarEditedEventArgs { + /** Returns the previous selected row grid element. + */ + previousGridRow?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface TaskbarEditedEventArgs { - /** Returns the data of edited record. - */ - data?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the previous data value of edited record. - */ - previousData?: any; + /** Returns the data of edited record. + */ + data?: any; - /** Returns 'true' if taskbar is dragged. - */ - dragging?: boolean; + /** Returns the previous data value of edited record. + */ + previousData?: any; - /** Returns 'true' if taskbar is left resized. - */ - leftResizing?: boolean; + /** Returns 'true' if taskbar is dragged. + */ + dragging?: boolean; - /** Returns 'true' if taskbar is right resized. - */ - rightResizing?: boolean; + /** Returns 'true' if taskbar is left resized. + */ + leftResizing?: boolean; - /** Returns 'true' if taskbar is progress resized. - */ - progressResizing?: boolean; + /** Returns 'true' if taskbar is right resized. + */ + rightResizing?: boolean; - /** Returns the field values of record being edited. - */ - editingFields?: any; + /** Returns 'true' if taskbar is progress resized. + */ + progressResizing?: boolean; - /** Returns the Gantt model. - */ - model?: any; -} + /** Returns the field values of record being edited. + */ + editingFields?: any; -export interface TaskbarEditingEventArgs { + /** Returns the Gantt model. + */ + model?: any; + } - /** Returns the cancel option value. - */ - cancel?: boolean; + export interface TaskbarEditingEventArgs { - /** Returns the Gantt model. - */ - model?: any; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row object being edited. - */ - rowData?: any; + /** Returns the Gantt model. + */ + model?: any; - /** Returns the field values of record being edited. - */ - editingFields?: any; + /** Returns the row object being edited. + */ + rowData?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the field values of record being edited. + */ + editingFields?: any; -export interface TaskbarClickEventArgs { + /** Returns the name of the event. + */ + type?: string; + } - /** Returns currently clicked row data - */ - data?: any; + export interface TaskbarClickEventArgs { - /** Returns the current item index. - */ - index?: number; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the clicked row element - */ - taskbarElement?: any; - - /** Returns the target element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; -} - -export interface ToolbarClickEventArgs { + /** Returns currently clicked row data + */ + data?: any; - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the name of the toolbar item on which mouse click has been performed - */ - itemName?: string; - - /** Returns the name of the event. - */ - type?: string; -} - -export interface DragTooltip { - - /** Specifies option to enable/disable tooltip while drag and drop a row. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the data source fields to be displayed in the drag tooltip. - * @Default {[]} - */ - tooltipItems?: Array; - - /** Specifies the custom template for drag tooltip. - * @Default {null} - */ - tooltipTemplate?: string; -} - -export interface SplitterSettings { - - /** Specifies position of the splitter in Gantt , splitter can be placed either based on percentage values or pixel values. - */ - position?: string; - - /** Specifies the position of splitter in Gantt, based on column index in Gantt. - */ - index?: string; -} - -export interface EditSettings { - - /** Enables or disables add record icon in Gantt toolbar - * @Default {false} - */ - allowAdding?: boolean; - - /** Enables or disables delete icon in Gantt toolbar - * @Default {false} - */ - allowDeleting?: boolean; - - /** Specifies the option for enabling or disabling editing in Gantt grid part - * @Default {false} - */ - allowEditing?: boolean; - - /** Specifies the option for enabling or disabling indent action in Gantt. - * @Default {false} - */ - allowIndent?: boolean; - - /** Specifies the option for enabling or disabling outdent action in Gantt - * @Default {false} - */ - allowOutdent?: boolean; - - /** Specifies the mouse action whether single click or double click to begin the editing - * @Default {ej.Gantt.BeginEditAction.DblClick} - */ - beginEditAction?: ej.Gantt.BeginEditAction|string; - - /** Specifies the edit mode in Gantt, "normal" is for dialog editing ,"cellEditing" is for cell type editing - * @Default {normal} - */ - editMode?: string; - - /** Specifies the position where the new row has to be added. - * @Default {ej.Gantt.RowPosition.BelowSelectedRow} - */ - rowPosition?: ej.Gantt.RowPosition|string; -} - -export interface ScheduleHeaderSettings { - - /** Specified the format for day view in schedule header - * @Default {ddd} - */ - dayHeaderFormat?: string; - - /** Specified the format for Hour view in schedule header - * @Default {HH} - */ - hourHeaderFormat?: string; - - /** Specifies the number of minutes per interval - * @Default {ej.Gantt.minutesPerInterval.Auto} - */ - minutesPerInterval?: ej.Gantt.minutesPerInterval|string; - - /** Specified the format for month view in schedule header - * @Default {MMM} - */ - monthHeaderFormat?: string; - - /** Specifies the schedule mode - * @Default {ej.Gantt.ScheduleHeaderType.Week} - */ - scheduleHeaderType?: ej.Gantt.ScheduleHeaderType|string; - - /** Specifies the round-off mode for the start date in schedule header. - * @Default {ej.Gantt.TimescaleRoundMode.Auto} - */ - timescaleStartDateMode?: ej.Gantt.TimescaleRoundMode|string; - - /** Specified the background for weekends in Gantt - * @Default {#F2F2F2} - */ - weekendBackground?: string; - - /** Specified the format for week view in schedule header - * @Default {ddd} - */ - weekHeaderFormat?: string; - - /** Specified the format for year view in schedule header - * @Default {yyyy} - */ - yearHeaderFormat?: string; - - /** Specifies the size of the lowest time unit along the timescale, with minimum value as "50%" and maximum value as "500%". It is also possible to set the value in pixels. - * @Default {100%} - */ - timescaleUnitSize?: string; + /** Returns the current item index. + */ + index?: number; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the clicked row element + */ + taskbarElement?: any; + + /** Returns the target element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ToolbarClickEventArgs { - /** Specifies the start day of the week in week timescale mode - * @Default {0} - */ - weekStartDay?: number; -} + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the name of the toolbar item on which mouse click has been performed + */ + itemName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DragTooltip { + + /** Specifies option to enable/disable tooltip while drag and drop a row. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the data source fields to be displayed in the drag tooltip. + * @Default {[]} + */ + tooltipItems?: any[]; + + /** Specifies the custom template for drag tooltip. + * @Default {null} + */ + tooltipTemplate?: string; + } + + export interface SplitterSettings { + + /** Specifies position of the splitter in Gantt , splitter can be placed either based on percentage values or pixel values. + */ + position?: string; + + /** Specifies the position of splitter in Gantt, based on column index in Gantt. + */ + index?: string; + } + + export interface EditSettings { + + /** Enables or disables add record icon in Gantt toolbar + * @Default {false} + */ + allowAdding?: boolean; + + /** Enables or disables delete icon in Gantt toolbar + * @Default {false} + */ + allowDeleting?: boolean; + + /** Specifies the option for enabling or disabling editing in Gantt grid part + * @Default {false} + */ + allowEditing?: boolean; + + /** Specifies the option for enabling or disabling indent action in Gantt. + * @Default {false} + */ + allowIndent?: boolean; + + /** Specifies the option for enabling or disabling outdent action in Gantt + * @Default {false} + */ + allowOutdent?: boolean; + + /** Specifies the mouse action whether single click or double click to begin the editing + * @Default {ej.Gantt.BeginEditAction.DblClick} + */ + beginEditAction?: ej.Gantt.BeginEditAction | string; + + /** Specifies the edit mode in Gantt, "normal" is for dialog editing ,"cellEditing" is for cell type editing + * @Default {normal} + */ + editMode?: string; + + /** Specifies the position where the new row has to be added. + * @Default {ej.Gantt.RowPosition.BelowSelectedRow} + */ + rowPosition?: ej.Gantt.RowPosition | string; + } + + export interface ScheduleHeaderSettings { + + /** Specified the format for day view in schedule header + * @Default {ddd} + */ + dayHeaderFormat?: string; + + /** Specified the format for Hour view in schedule header + * @Default {HH} + */ + hourHeaderFormat?: string; + + /** Specifies the number of minutes per interval + * @Default {ej.Gantt.minutesPerInterval.Auto} + */ + minutesPerInterval?: ej.Gantt.minutesPerInterval | string; + + /** Specified the format for month view in schedule header + * @Default {MMM} + */ + monthHeaderFormat?: string; + + /** Specifies the schedule mode + * @Default {ej.Gantt.ScheduleHeaderType.Week} + */ + scheduleHeaderType?: ej.Gantt.ScheduleHeaderType | string; + + /** Specifies the round-off mode for the start date in schedule header. + * @Default {ej.Gantt.TimescaleRoundMode.Auto} + */ + timescaleStartDateMode?: ej.Gantt.TimescaleRoundMode | string; + + /** Specified the background for weekends in Gantt + * @Default {#F2F2F2} + */ + weekendBackground?: string; + + /** Specified the format for week view in schedule header + * @Default {ddd} + */ + weekHeaderFormat?: string; -export interface SizeSettings { + /** Specified the format for year view in schedule header + * @Default {yyyy} + */ + yearHeaderFormat?: string; - /** Specifies the height of Gantt control - * @Default {450px} - */ - height?: string; + /** Specifies the size of the lowest time unit along the timescale, with minimum value as "50%" and maximum value as "500%". It is also possible to set the value in pixels. + * @Default {100%} + */ + timescaleUnitSize?: string; - /** Specifies the width of Gantt control - * @Default {1000px} - */ - width?: string; -} + /** Specifies the start day of the week in week timescale mode + * @Default {0} + */ + weekStartDay?: number; + } -export interface SelectedCellIndex { + export interface SizeSettings { - /** Specifies the row index of the cell to be selected Gantt control - */ - rowIndex?: number; + /** Specifies the height of Gantt control + * @Default {450px} + */ + height?: string; - /** Specifies the cell index to be selected in the row. - * @Default { } - */ - cellIndex?: number; -} + /** Specifies the width of Gantt control + * @Default {1000px} + */ + width?: string; + } -export interface SortSettings { + export interface SelectedCellIndex { - /** Specifies the sorted columns for Gantt - * @Default {[]} - */ - sortedColumns?: Array; -} + /** Specifies the row index of the cell to be selected Gantt control + */ + rowIndex?: number; -export interface ToolbarSettingsCustomToolbarItem { + /** Specifies the cell index to be selected in the row. + * @Default { } + */ + cellIndex?: number; + } - /** Allows the user to insert the custom icons in toolbar using CSS class name selector. - */ - text?: string; + export interface SortSettings { - /** Allows the user to insert the custom icons in toolbar using script templates. Using this property we can bind HTML elements and other EJ controls to Gantt toolbar. - */ - templateID?: string; + /** Specifies the sorted columns for Gantt + * @Default {[]} + */ + sortedColumns?: any[]; + } - /** Allows the user to display custom tooltip text for Gantt custom toolbar items. - */ - tooltipText?: string; -} + export interface ToolbarSettings { -export interface ToolbarSettings { + /** Specifies the state of enabling or disabling toolbar + * @Default {true} + */ + showToolbar?: boolean; - /** Specifies the state of enabling or disabling toolbar - * @Default {true} - */ - showToolbar?: boolean; + /** Specifies the list of toolbar items to be rendered in Gantt toolbar + * @Default {[]} + */ + toolbarItems?: any[]; + } - /** Specifies the list of toolbar items to be rendered in Gantt toolbar - * @Default {[]} - */ - toolbarItems?: Array; + enum DurationUnit { - /** Allows the user to insert custom toolbar items. - */ - customToolbarItems?: Array; -} + ///Sets the Duration Unit as day. + Day, -enum DurationUnit{ + ///Sets the Duration Unit as hour. + Hour, - ///Sets the Duration Unit as day. - Day, + ///Sets the Duration Unit as minute. + Minute + } - ///Sets the Duration Unit as hour. - Hour, - ///Sets the Duration Unit as minute. - Minute -} + enum BeginEditAction { + ///you can begin the editing at double click + DblClick, -enum BeginEditAction{ + ///you can begin the editing at single click + Click + } - ///you can begin the editing at double click - DblClick, - ///you can begin the editing at single click - Click -} + enum RowPosition { + ///you can add a new row at top. + Top, -enum RowPosition{ + ///you can add a new row at bottom. + Bottom, - ///you can add a new row at top. - Top, + ///you can add a new row to above selected row. + AboveSelectedRow, - ///you can add a new row at bottom. - Bottom, + ///you can add a new row to below selected row. + BelowSelectedRow, - ///you can add a new row to above selected row. - AboveSelectedRow, + ///you can add a new row as a child for selected row. + Child + } - ///you can add a new row to below selected row. - BelowSelectedRow, - ///you can add a new row as a child for selected row. - Child -} + enum TaskType { + ///Resource unit remains constant while editing the work and duration values. + FixedUnit, -enum TaskType{ + ///Work value of a task remains constant while editing duration and resource unit values. + FixedWork, - ///Resource unit remains constant while editing the work and duration values. - FixedUnit, + ///Duration value remains constant while editing work and resource unit values. + FixedDuration + } - ///Work value of a task remains constant while editing duration and resource unit values. - FixedWork, - ///Duration value remains constant while editing work and resource unit values. - FixedDuration -} + enum WorkUnit { + ///Displays the work involved in a task in days. + Day, -enum WorkUnit{ + ///Displays the work involved in a task in hours. + Hour, - ///Displays the work involved in a task in days. - Day, + ///Displays the work involved in a task in minutes + Minute + } - ///Displays the work involved in a task in hours. - Hour, - ///Displays the work involved in a task in minutes - Minute -} + enum TaskSchedulingMode { + ///All the tasks in the project will be displayed in auto scheduled mode, where the tasks are scheduled automatically over non-working days and holidays. + Auto, -enum TaskSchedulingMode{ + ///All the tasks in the project will be displayed in manually scheduled mode. + Manual, - ///All the tasks in the project will be displayed in auto scheduled mode, where the tasks are scheduled automatically over non-working days and holidays. - Auto, + ///Project consists of tasks with both auto and manually scheduled modes, based on the datasource values + Custom + } - ///All the tasks in the project will be displayed in manually scheduled mode. - Manual, - ///Project consists of tasks with both auto and manually scheduled modes, based on the datasource values - Custom -} + enum SelectionType { + ///you can select a single row. + Single, -enum SelectionType{ + ///you can select a multiple row. + Multiple + } - ///you can select a single row. - Single, - ///you can select a multiple row. - Multiple -} + enum minutesPerInterval { + ///Sets the interval automatically according with schedule start and end date. + Auto, -enum minutesPerInterval{ + ///Sets one minute intervals per hour. + OneMinute, - ///Sets the interval automatically according with schedule start and end date. - Auto, + ///Sets Five minute intervals per hour. + FiveMinutes, - ///Sets one minute intervals per hour. - OneMinute, + ///Sets fifteen minute intervals per hour. + FifteenMinutes, - ///Sets Five minute intervals per hour. - FiveMinutes, + ///Sets thirty minute intervals per hour. + ThirtyMinutes + } - ///Sets fifteen minute intervals per hour. - FifteenMinutes, - ///Sets thirty minute intervals per hour. - ThirtyMinutes -} + enum ScheduleHeaderType { + ///Sets year Schedule Mode. + Year, -enum ScheduleHeaderType{ + ///Sets month Schedule Mode. + Month, - ///Sets year Schedule Mode. - Year, + ///Sets week Schedule Mode. + Week, - ///Sets month Schedule Mode. - Month, + ///Sets day Schedule Mode. + Day, - ///Sets week Schedule Mode. - Week, + ///Sets hour Schedule Mode. + Hour + } - ///Sets day Schedule Mode. - Day, - ///Sets hour Schedule Mode. - Hour -} + enum TimescaleRoundMode { + ///The round-off value will be automatically calculated based on the data source values. + Auto, -enum TimescaleRoundMode{ + ///Schedule header start date will round-off to the immediate week. + Week, - ///The round-off value will be automatically calculated based on the data source values. - Auto, + ///Schedule headers start date will round off to the immediate month + Month, - ///Schedule header start date will round-off to the immediate week. - Week, + ///Schedule headers start date will round off to the immediate year + Year + } - ///Schedule headers start date will round off to the immediate month - Month, - ///Schedule headers start date will round off to the immediate year - Year -} + enum SelectionMode { + ///you can select a row. + Row, -enum SelectionMode{ + ///you can select a cell. + Cell + } - ///you can select a row. - Row, - ///you can select a cell. - Cell -} + enum workingTimeScale { + ///Sets eight hour timescale. + TimeScale8Hours, -enum workingTimeScale{ - - ///Sets eight hour timescale. - TimeScale8Hours, - - ///Sets twenty four hour timescale. - TimeScale24Hours -} + ///Sets twenty four hour timescale. + TimeScale24Hours + } } class ReportViewer extends ej.Widget { static fn: ReportViewer; - constructor(element: JQuery, options?: ReportViewer.Model); - constructor(element: Element, options?: ReportViewer.Model); + constructor(element: JQuery | Element, options?: ReportViewer.Model); static Locale: any; - model:ReportViewer.Model; - defaults:ReportViewer.Model; + model: ReportViewer.Model; + defaults: ReportViewer.Model; /** Export the report to the specified format. - * @returns {void} - */ + * @returns {void} + */ exportReport(): void; /** Fit the report page to the container. - * @returns {void} - */ + * @returns {void} + */ fitToPage(): void; /** Fit the report page height to the container. - * @returns {void} - */ + * @returns {void} + */ fitToPageHeight(): void; /** Fit the report page width to the container. - * @returns {void} - */ + * @returns {void} + */ fitToPageWidth(): void; /** Get the available datasets name of the rdlc report. - * @returns {void} - */ + * @returns {void} + */ getDataSetNames(): void; /** Get the available parameters of the report. - * @returns {void} - */ + * @returns {void} + */ getParameters(): void; /** Navigate to first page of report. - * @returns {void} - */ + * @returns {void} + */ gotoFirstPage(): void; /** Navigate to last page of the report. - * @returns {void} - */ + * @returns {void} + */ gotoLastPage(): void; /** Navigate to next page from the current page. - * @returns {void} - */ + * @returns {void} + */ gotoNextPage(): void; /** Go to specific page index of the report. - * @returns {void} - */ + * @returns {void} + */ gotoPageIndex(): void; /** Navigate to previous page from the current page. - * @returns {void} - */ + * @returns {void} + */ gotoPreviousPage(): void; /** Print the report. - * @returns {void} - */ + * @returns {void} + */ print(): void; /** Apply print layout to the report. - * @returns {void} - */ + * @returns {void} + */ printLayout(): void; /** Refresh the report. - * @returns {void} - */ + * @returns {void} + */ refresh(): void; } -export module ReportViewer{ -export interface Model { - - /** Gets or sets the list of data sources for the RDLC report. - * @Default {[]} - */ - dataSources?: Array; +export namespace ReportViewer { - /** Enables or disables the page cache of report. - * @Default {false} - */ - enablePageCache?: Boolean; + export interface Model { - /** Specifies the export settings. - */ - exportSettings?: ExportSettings; + /** Gets or sets the list of data sources for the RDLC report. + * @Default {[]} + */ + dataSources?: DataSource[]; - /** When set to true, adapts the report layout to fit the screen size of devices on which it renders. - * @Default {true} - */ - isResponsive?: Boolean; + /** Enables or disables the page cache of report. + * @Default {false} + */ + enablePageCache?: boolean; - /** Specifies the locale for report viewer. - * @Default {en-US} - */ - locale?: String; + /** Specifies the export settings. + */ + exportSettings?: ExportSettings; - /** Specifies the page settings. - */ - pageSettings?: PageSettings; + /** When set to true, adapts the report layout to fit the screen size of devices on which it renders. + * @Default {true} + */ + isResponsive?: boolean; - /** Gets or sets the list of parameters associated with the report. - * @Default {[]} - */ - parameters?: Array; + /** Specifies the locale for report viewer. + * @Default {en-US} + */ + locale?: string; - /** Enables and disables the print mode. - * @Default {false} - */ - printMode?: Boolean; + /** Specifies the page settings. + */ + pageSettings?: PageSettings; - /** Specifies the print option of the report. - * @Default {ej.ReportViewer.PrintOptions.Default} - */ - printOptions?: ej.ReportViewer.PrintOptions|string; + /** Gets or sets the list of parameters associated with the report. + * @Default {[]} + */ + parameters?: Parameter[]; - /** Specifies the processing mode of the report. - * @Default {ej.ReportViewer.ProcessingMode.Remote} - */ - processingMode?: ej.ReportViewer.ProcessingMode|string; + /** Enables and disables the print mode. + * @Default {false} + */ + printMode?: boolean; - /** Specifies the render layout. - * @Default {ej.ReportViewer.RenderMode.Default} - */ - renderMode?: ej.ReportViewer.RenderMode|string; + /** Specifies the print option of the report. + * @Default {ej.ReportViewer.PrintOptions.Default} + */ + printOptions?: ej.ReportViewer.PrintOptions | string; - /** Gets or sets the path of the report file. - * @Default {empty} - */ - reportPath?: String; + /** Specifies the processing mode of the report. + * @Default {ej.ReportViewer.ProcessingMode.Remote} + */ + processingMode?: ej.ReportViewer.ProcessingMode | string; - /** Gets or sets the reports server URL. - * @Default {empty} - */ - reportServerUrl?: String; + /** Specifies the render layout. + * @Default {ej.ReportViewer.RenderMode.Default} + */ + renderMode?: ej.ReportViewer.RenderMode | string; - /** Specifies the report Web API service URL. - * @Default {empty} - */ - reportServiceUrl?: String; + /** Gets or sets the path of the report file. + * @Default {empty} + */ + reportPath?: string; - /** Specifies the toolbar settings. - */ - toolbarSettings?: ToolbarSettings; + /** Gets or sets the reports server URL. + * @Default {empty} + */ + reportServerUrl?: string; - /** Gets or sets the zoom factor for report viewer. - * @Default {1} - */ - zoomFactor?: Number; + /** Specifies the report Web API service URL. + * @Default {empty} + */ + reportServiceUrl?: string; - /** Fires when the report viewer is destroyed successfully.If you want to perform any operation after destroying the reportviewer control,you can make use of the destroy event. */ - destroy? (e: DestroyEventArgs): void; + /** Specifies the toolbar settings. + */ + toolbarSettings?: ToolbarSettings; - /** Fires during drill through action done in report.If you want to perform any operation when a drill through action is performed, you can make use of the drillThrough event. */ - drillThrough? (e: DrillThroughEventArgs): void; + /** Gets or sets the zoom factor for report viewer. + * @Default {1} + */ + zoomFactor?: number; - /** Fires before report rendering is completed.If you want to perform any operation before the rendering of report,you can make use of the renderingBegin event. */ - renderingBegin? (e: RenderingBeginEventArgs): void; + /** Fires when the report viewer is destroyed successfully.If you want to perform any operation after destroying the reportviewer control,you can make use of the destroy event. */ + destroy?(e: DestroyEventArgs): void; - /** Fires after report rendering completed.If you want to perform any operation after the rendering of report,you can make use of this renderingComplete event. */ - renderingComplete? (e: RenderingCompleteEventArgs): void; + /** Fires during drill through action done in report.If you want to perform any operation when a drill through action is performed, you can make use of the drillThrough event. */ + drillThrough?(e: DrillThroughEventArgs): void; - /** Fires when any error occurred while rendering the report.If you want to perform any operation when an error occurs in the report, you can make use of the reportError event. */ - reportError? (e: ReportErrorEventArgs): void; + /** Fires before report rendering is completed.If you want to perform any operation before the rendering of report,you can make use of the renderingBegin event. */ + renderingBegin?(e: RenderingBeginEventArgs): void; - /** Fires when the report is being exported.If you want to perform any operation before exporting of report, you can make use of the reportExport event. */ - reportExport? (e: ReportExportEventArgs): void; + /** Fires after report rendering completed.If you want to perform any operation after the rendering of report,you can make use of this renderingComplete event. */ + renderingComplete?(e: RenderingCompleteEventArgs): void; - /** Fires when the report is loaded.If you want to perform any operation after the successful loading of report, you can make use of the reportLoaded event. */ - reportLoaded? (e: ReportLoadedEventArgs): void; + /** Fires when any error occurred while rendering the report.If you want to perform any operation when an error occurs in the report, you can make use of the reportError event. */ + reportError?(e: ReportErrorEventArgs): void; - /** Fires when click the View Report Button. */ - viewReportClick? (e: ViewReportClickEventArgs): void; -} + /** Fires when the report is being exported.If you want to perform any operation before exporting of report, you can make use of the reportExport event. */ + reportExport?(e: ReportExportEventArgs): void; -export interface DestroyEventArgs { + /** Fires when the report is loaded.If you want to perform any operation after the successful loading of report, you can make use of the reportLoaded event. */ + reportLoaded?(e: ReportLoadedEventArgs): void; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Fires when click the View Report Button. */ + viewReportClick?(e: ViewReportClickEventArgs): void; + } - /** returns the report model. - */ - model?: any; + export interface DestroyEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface DrillThroughEventArgs { + /** returns the report model. + */ + model?: any; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the actionInfo's parameters bookmarkLink, hyperLink, reportName, parameters. - */ - actionInfo?: any; + export interface DrillThroughEventArgs { - /** returns the report model. - */ - model?: any; + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} + /** returns the actionInfo's parameters bookmarkLink, hyperLink, reportName, parameters. + */ + actionInfo?: any; -export interface RenderingBeginEventArgs { + /** returns the report model. + */ + model?: any; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the report model. - */ - model?: any; + export interface RenderingBeginEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface RenderingCompleteEventArgs { + /** returns the report model. + */ + model?: any; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the report model. - */ - model?: any; + export interface RenderingCompleteEventArgs { - /** returns the name of the event. - */ - type?: string; + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the collection of parameters. - */ - reportParameters?: any; -} + /** returns the report model. + */ + model?: any; -export interface ReportErrorEventArgs { + /** returns the name of the event. + */ + type?: string; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the collection of parameters. + */ + reportParameters?: any; + } - /** returns the error details. - */ - error?: string; + export interface ReportErrorEventArgs { - /** returns the report model. - */ - model?: any; + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; -} + /** returns the error details. + */ + error?: string; -export interface ReportExportEventArgs { + /** returns the report model. + */ + model?: any; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the report model. - */ - model?: any; + export interface ReportExportEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface ReportLoadedEventArgs { + /** returns the report model. + */ + model?: any; - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; + } - /** returns the report model. - */ - model?: any; + export interface ReportLoadedEventArgs { - /** returns the name of the event. - */ - type?: string; -} + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; -export interface ViewReportClickEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the parameter collection. - */ - parameters?: any; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; -} - -export interface DataSource { - - /** Gets or sets the name of the data source. - * @Default {empty} - */ - name?: String; - - /** Gets or sets the values of data source. - * @Default {[]} - */ - values?: Array; -} + /** returns the report model. + */ + model?: any; -export interface ExportSettings { + /** returns the name of the event. + */ + type?: string; + } - /** Specifies the export formats. - * @Default {ej.ReportViewer.ExportOptions.All} - */ - exportOptions?: ej.ReportViewer.ExportOptions|string; + export interface ViewReportClickEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the parameter collection. + */ + parameters?: any; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DataSource { + + /** Gets or sets the name of the data source. + * @Default {empty} + */ + name?: string; + + /** Gets or sets the values of data source. + * @Default {[]} + */ + values?: any[]; + } - /** Specifies the excel export format. - * @Default {ej.ReportViewer.ExcelFormats.Excel97to2003} - */ - excelFormat?: ej.ReportViewer.ExcelFormats|string; + export interface ExportSettings { - /** Specifies the word export format. - * @Default {ej.ReportViewer.WordFormats.Doc} - */ - wordFormat?: ej.ReportViewer.WordFormats|string; -} + /** Specifies the export formats. + * @Default {ej.ReportViewer.ExportOptions.All} + */ + exportOptions?: ej.ReportViewer.ExportOptions | string; -export interface PageSettings { + /** Specifies the excel export format. + * @Default {ej.ReportViewer.ExcelFormats.Excel97to2003} + */ + excelFormat?: ej.ReportViewer.ExcelFormats | string; - /** Specifies the print layout orientation. - * @Default {null} - */ - orientation?: ej.ReportViewer.Orientation|string; + /** Specifies the word export format. + * @Default {ej.ReportViewer.WordFormats.Doc} + */ + wordFormat?: ej.ReportViewer.WordFormats | string; + } - /** Specifies the paper size of print layout. - * @Default {null} - */ - paperSize?: ej.ReportViewer.PaperSize|string; -} + export interface PageSettings { -export interface Parameter { + /** Specifies the print layout orientation. + * @Default {null} + */ + orientation?: ej.ReportViewer.Orientation | string; - /** Gets or sets the parameter labels. - * @Default {null} - */ - labels?: Array; + /** Specifies the paper size of print layout. + * @Default {null} + */ + paperSize?: ej.ReportViewer.PaperSize | string; + } - /** Gets or sets the name of the parameter. - * @Default {empty} - */ - name?: String; + export interface Parameter { - /** Gets or sets whether the parameter allows nullable value or not. - * @Default {false} - */ - nullable?: Boolean; + /** Gets or sets the parameter labels. + * @Default {null} + */ + labels?: any[]; - /** Gets or sets the prompt message associated with the specified parameter. - * @Default {empty} - */ - prompt?: String; + /** Gets or sets the name of the parameter. + * @Default {empty} + */ + name?: string; - /** Gets or sets the parameter values. - * @Default {[]} - */ - values?: Array; -} + /** Gets or sets whether the parameter allows nullable value or not. + * @Default {false} + */ + nullable?: boolean; -export interface ToolbarSettings { + /** Gets or sets the prompt message associated with the specified parameter. + * @Default {empty} + */ + prompt?: string; - /** Fires when user click on toolbar item in the toolbar. - * @Default {empty} - */ - click?: String; + /** Gets or sets the parameter values. + * @Default {[]} + */ + values?: any[]; + } - /** Specifies the toolbar items. - * @Default {ej.ReportViewer.ToolbarItems.All} - */ - items?: ej.ReportViewer.ToolbarItems|string; + export interface ToolbarSettings { - /** Shows or hides the toolbar. - * @Default {true} - */ - showToolbar?: Boolean; + /** Fires when user click on toolbar item in the toolbar. + * @Default {empty} + */ + click?: string; - /** Shows or hides the tooltip of toolbar items. - * @Default {true} - */ - showTooltip?: Boolean; + /** Specifies the toolbar items. + * @Default {ej.ReportViewer.ToolbarItems.All} + */ + items?: ej.ReportViewer.ToolbarItems | string; - /** Specifies the toolbar template ID. - * @Default {empty} - */ - templateId?: String; -} + /** Shows or hides the toolbar. + * @Default {true} + */ + showToolbar?: boolean; -enum ExportOptions{ + /** Shows or hides the tooltip of toolbar items. + * @Default {true} + */ + showTooltip?: boolean; - ///Specifies the All property in ExportOptions to get all available options. - All, + /** Specifies the toolbar template ID. + * @Default {empty} + */ + templateId?: string; + } - ///Specifies the PDF property in ExportOptions to get PDF option. - PDF, + enum ExportOptions { - ///Specifies the Word property in ExportOptions to get Word option. - Word, + ///Specifies the All property in ExportOptions to get all available options. + All, - ///Specifies the Excel property in ExportOptions to get Excel option. - Excel, + ///Specifies the PDF property in ExportOptions to get PDF option. + PDF, - ///Specifies the HTML property in ExportOptions to get HTML option. - HTML -} + ///Specifies the Word property in ExportOptions to get Word option. + Word, + ///Specifies the Excel property in ExportOptions to get Excel option. + Excel, -enum ExcelFormats{ + ///Specifies the HTML property in ExportOptions to get HTML option. + HTML + } - ///Specifies the Excel97to2003 property in ExcelFormats to get specified version of exported format. - Excel97to2003, - ///Specifies the Excel2007 property in ExcelFormats to get specified version of exported format. - Excel2007, + enum ExcelFormats { - ///Specifies the Excel2010 property in ExcelFormats to get specified version of exported format. - Excel2010, + ///Specifies the Excel97to2003 property in ExcelFormats to get specified version of exported format. + Excel97to2003, - ///Specifies the Excel2013 property in ExcelFormats to get specified version of exported format. - Excel2013 -} + ///Specifies the Excel2007 property in ExcelFormats to get specified version of exported format. + Excel2007, + ///Specifies the Excel2010 property in ExcelFormats to get specified version of exported format. + Excel2010, -enum WordFormats{ + ///Specifies the Excel2013 property in ExcelFormats to get specified version of exported format. + Excel2013 + } - ///Specifies the Doc property in WordFormats to get specified version of exported format. - Doc, - ///Specifies the Dot property in WordFormats to get specified version of exported format. - Dot, + enum WordFormats { - ///Specifies the DOCX property in WordFormats to get specified version of exported format. - DOCX, + ///Specifies the Doc property in WordFormats to get specified version of exported format. + Doc, - ///Specifies the Word2007 property in WordFormats to get specified version of exported format. - Word2007, + ///Specifies the Dot property in WordFormats to get specified version of exported format. + Dot, - ///Specifies the Word2010 property in WordFormats to get specified version of exported format. - Word2010, + ///Specifies the DOCX property in WordFormats to get specified version of exported format. + DOCX, - ///Specifies the Word2013 property in WordFormats to get specified version of exported format. - Word2013, + ///Specifies the Word2007 property in WordFormats to get specified version of exported format. + Word2007, - ///Specifies the Word2007Dotx property in WordFormats to get specified version of exported format. - Word2007Dotx, + ///Specifies the Word2010 property in WordFormats to get specified version of exported format. + Word2010, - ///Specifies the Word2010Dotx property in WordFormats to get specified version of exported format. - Word2010Dotx, + ///Specifies the Word2013 property in WordFormats to get specified version of exported format. + Word2013, - ///Specifies the Word2013Dotx property in WordFormats to get specified version of exported format. - Word2013Dotx, + ///Specifies the Word2007Dotx property in WordFormats to get specified version of exported format. + Word2007Dotx, - ///Specifies the Word2007Docm property in WordFormats to get specified version of exported format. - Word2007Docm, + ///Specifies the Word2010Dotx property in WordFormats to get specified version of exported format. + Word2010Dotx, - ///Specifies the Word2010Docm property in WordFormats to get specified version of exported format. - Word2010Docm, + ///Specifies the Word2013Dotx property in WordFormats to get specified version of exported format. + Word2013Dotx, - ///Specifies the Word2013Docm property in WordFormats to get specified version of exported format. - Word2013Docm, + ///Specifies the Word2007Docm property in WordFormats to get specified version of exported format. + Word2007Docm, - ///Specifies the Word2007Dotm property in WordFormats to get specified version of exported format. - Word2007Dotm, + ///Specifies the Word2010Docm property in WordFormats to get specified version of exported format. + Word2010Docm, - ///Specifies the Word2010Dotm property in WordFormats to get specified version of exported format. - Word2010Dotm, + ///Specifies the Word2013Docm property in WordFormats to get specified version of exported format. + Word2013Docm, - ///Specifies the Word2013Dotm property in WordFormats to get specified version of exported format. - Word2013Dotm, + ///Specifies the Word2007Dotm property in WordFormats to get specified version of exported format. + Word2007Dotm, - ///Specifies the RTF property in WordFormats to get specified version of exported format. - RTF, + ///Specifies the Word2010Dotm property in WordFormats to get specified version of exported format. + Word2010Dotm, - ///Specifies the Txt property in WordFormats to get specified version of exported format. - Txt, + ///Specifies the Word2013Dotm property in WordFormats to get specified version of exported format. + Word2013Dotm, - ///Specifies the EPUB property in WordFormats to get specified version of exported format. - EPUB, + ///Specifies the RTF property in WordFormats to get specified version of exported format. + RTF, - ///Specifies the HTML property in WordFormats to get specified version of exported format. - HTML, + ///Specifies the Txt property in WordFormats to get specified version of exported format. + Txt, - ///Specifies the XML property in WordFormats to get specified version of exported format. - XML, + ///Specifies the EPUB property in WordFormats to get specified version of exported format. + EPUB, - ///Specifies the Automatic property in WordFormats to get specified version of exported format. - Automatic -} + ///Specifies the HTML property in WordFormats to get specified version of exported format. + HTML, + ///Specifies the XML property in WordFormats to get specified version of exported format. + XML, -enum Orientation{ + ///Specifies the Automatic property in WordFormats to get specified version of exported format. + Automatic + } - ///Specifies the Landscape property in pageSettings.orientation to get specified layout. - Landscape, - ///Specifies the portrait property in pageSettings.orientation to get specified layout. - Portrait -} + enum Orientation { + ///Specifies the Landscape property in pageSettings.orientation to get specified layout. + Landscape, -enum PaperSize{ + ///Specifies the portrait property in pageSettings.orientation to get specified layout. + Portrait + } - ///Specifies the A3 as value in pageSettings.paperSize to get specified size. - A3, - ///Specifies the A4 as value in pageSettings.paperSize to get specified size. - Portrait, + enum PaperSize { - ///Specifies the B4(JIS) as value in pageSettings.paperSize to get specified size. - B4_JIS, + ///Specifies the A3 as value in pageSettings.paperSize to get specified size. + A3, - ///Specifies the B5(JIS) as value in pageSettings.paperSize to get specified size. - B5_JIS, + ///Specifies the A4 as value in pageSettings.paperSize to get specified size. + Portrait, - ///Specifies the Envelope #10 as value in pageSettings.paperSize to get specified size. - Envelope_10, + ///Specifies the B4(JIS) as value in pageSettings.paperSize to get specified size. + B4_JIS, - ///Specifies the Envelope as value in pageSettings.paperSize to get specified size. - Envelope_Monarch, + ///Specifies the B5(JIS) as value in pageSettings.paperSize to get specified size. + B5_JIS, - ///Specifies the Executive as value in pageSettings.paperSize to get specified size. - Executive, + ///Specifies the Envelope #10 as value in pageSettings.paperSize to get specified size. + Envelope_10, - ///Specifies the Legal as value in pageSettings.paperSize to get specified size. - Legal, + ///Specifies the Envelope as value in pageSettings.paperSize to get specified size. + Envelope_Monarch, - ///Specifies the Letter as value in pageSettings.paperSize to get specified size. - Letter, + ///Specifies the Executive as value in pageSettings.paperSize to get specified size. + Executive, - ///Specifies the Tabloid as value in pageSettings.paperSize to get specified size. - Tabloid, + ///Specifies the Legal as value in pageSettings.paperSize to get specified size. + Legal, - ///Specifies the Custom as value in pageSettings.paperSize to get specified size. - Custom -} + ///Specifies the Letter as value in pageSettings.paperSize to get specified size. + Letter, + ///Specifies the Tabloid as value in pageSettings.paperSize to get specified size. + Tabloid, -enum PrintOptions{ + ///Specifies the Custom as value in pageSettings.paperSize to get specified size. + Custom + } - ///Specifies the Default property in printOptions. - Default, - ///Specifies the NewTab property in printOptions. - NewTab, + enum PrintOptions { - ///Specifies the None property in printOptions. - None -} + ///Specifies the Default property in printOptions. + Default, + ///Specifies the NewTab property in printOptions. + NewTab, -enum ProcessingMode{ + ///Specifies the None property in printOptions. + None + } - ///Specifies the Remote property in processingMode. - Remote, - ///Specifies the Local property in processingMode. - Local -} + enum ProcessingMode { + ///Specifies the Remote property in processingMode. + Remote, -enum RenderMode{ + ///Specifies the Local property in processingMode. + Local + } - ///Specifies the Default property in RenderMode to get default output. - Default, - ///Specifies the Mobile property in RenderMode to get specified output. - Mobile, + enum RenderMode { - ///Specifies the Desktop property in RenderMode to get specified output. - Desktop -} + ///Specifies the Default property in RenderMode to get default output. + Default, + ///Specifies the Mobile property in RenderMode to get specified output. + Mobile, -enum ToolbarItems{ + ///Specifies the Desktop property in RenderMode to get specified output. + Desktop + } - ///Specifies the Print as value in ToolbarItems to get specified item. - Print, - ///Specifies the Refresh as value in ToolbarItems to get specified item. - Refresh, + enum ToolbarItems { - ///Specifies the Zoom as value in ToolbarItems to get specified item. - Zoom, + ///Specifies the Print as value in ToolbarItems to get specified item. + Print, - ///Specifies the FittoPage as value in ToolbarItems to get specified item. - FittoPage, + ///Specifies the Refresh as value in ToolbarItems to get specified item. + Refresh, - ///Specifies the Export as value in ToolbarItems to get specified item. - Export, + ///Specifies the Zoom as value in ToolbarItems to get specified item. + Zoom, - ///Specifies the PageNavigation as value in ToolbarItems to get specified item. - PageNavigation, + ///Specifies the FittoPage as value in ToolbarItems to get specified item. + FittoPage, - ///Specifies the Parameters as value in ToolbarItems to get specified item. - Parameters, + ///Specifies the Export as value in ToolbarItems to get specified item. + Export, - ///Specifies the PrintLayout as value in ToolbarItems to get specified item. - PrintLayout, + ///Specifies the PageNavigation as value in ToolbarItems to get specified item. + PageNavigation, - ///Specifies the PageSetup as value in ToolbarItems to get specified item. - PageSetup -} + ///Specifies the Parameters as value in ToolbarItems to get specified item. + Parameters, + + ///Specifies the PrintLayout as value in ToolbarItems to get specified item. + PrintLayout, + + ///Specifies the PageSetup as value in ToolbarItems to get specified item. + PageSetup + } } class TreeGrid extends ej.Widget { static fn: TreeGrid; - constructor(element: JQuery, options?: TreeGrid.Model); - constructor(element: Element, options?: TreeGrid.Model); + constructor(element: JQuery | Element, options?: TreeGrid.Model); static Locale: any; - model:TreeGrid.Model; - defaults:TreeGrid.Model; + model: TreeGrid.Model; + defaults: TreeGrid.Model; /** Add a new row in TreeGrid, while allowAdding is set to true - * @param {any} Item to add in TreeGrid row. - * @param {string} Defines in which position the row wants to be added - * @returns {void} - */ + * @param {any} Item to add in TreeGrid row. + * @param {string} Defines in which position the row wants to be added + * @returns {void} + */ addRow(data: any, rowPosition: string): void; /** To clear all the selection in TreeGrid - * @param {number} you can pass a row index to clear the row selection. - * @returns {void} - */ + * @param {number} you can pass a row index to clear the row selection. + * @returns {void} + */ clearSelection(index: number): void; /** To select cell based on the cell and row index dynamically. - * @param {Array} array of cell indexes to be select - * @param {boolean} Defines that we need to preserve the previously selected cells or not - * @returns {void} - */ - selectCells(Indexes: Array, preservePreviousSelectedCell: boolean): void; + * @param {Array} array of cell indexes to be select + * @param {boolean} Defines that we need to preserve the previously selected cells or not + * @returns {void} + */ + selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; /** To rename a column with the specified name - * @param {number} Index of the column to be renamed - * @param {string} Header text of the column - * @returns {void} - */ + * @param {number} Index of the column to be renamed + * @param {string} Header text of the column + * @returns {void} + */ renameColumn(columnIndex: number, name: string): void; /** To delete the specified column - * @param {number} Index of the column to be deleted - * @returns {void} - */ + * @param {number} Index of the column to be deleted + * @returns {void} + */ deleteColumn(columnIndex: number): void; /** To collapse all the parent items in tree grid - * @returns {void} - */ + * @returns {void} + */ collapseAll(): void; /** To hide the column by using header text - * @param {string} you can pass a header text of a column to hide. - * @returns {void} - */ + * @param {string} you can pass a header text of a column to hide. + * @returns {void} + */ hideColumn(headerText: string): void; /** Expands the records at specific hierarchical level - * @param {number} you can pass the level as index number to expand - * @returns {void} - */ + * @param {number} you can pass the level as index number to expand + * @returns {void} + */ expandAtLevel(index: number): void; /** Collapses the records at specific hierarchical level - * @param {number} you can pass the particular level as index. - * @returns {void} - */ + * @param {number} you can pass the particular level as index. + * @returns {void} + */ collapseAtLevel(index: number): void; /** To refresh the changes in tree grid - * @param {Array} Pass which data source you want to show in tree grid - * @param {any} Pass which data you want to show in tree grid - * @returns {void} - */ - refresh(dataSource: Array, query: any): void; + * @param {Array} Pass which data source you want to show in tree grid + * @param {any} Pass which data you want to show in tree grid + * @returns {void} + */ + refresh(dataSource: any[], query: any): void; /** Freeze all the columns preceding to the column specified by the field name. - * @param {string} Freeze all Columns before this field column. - * @returns {void} - */ + * @param {string} Freeze all Columns before this field column. + * @returns {void} + */ freezePrecedingColumns(field: string): void; /** Freeze/unfreeze the specified column. - * @param {string} Freeze/Unfreeze this field column. - * @param {boolean} Decides to Freeze/Unfreeze this field column. - * @returns {void} - */ + * @param {string} Freeze/Unfreeze this field column. + * @param {boolean} Decides to Freeze/Unfreeze this field column. + * @returns {void} + */ freezeColumn(field: string, isFrozen: boolean): void; /** To save the edited cell in TreeGrid - * @returns {void} - */ + * @returns {void} + */ saveCell(): void; /** To search an item with search string provided at the run time - * @param {string} you can pass a searchString to search the tree grid - * @returns {void} - */ + * @param {string} you can pass a searchString to search the tree grid + * @returns {void} + */ search(searchString: string): void; /** To show the column by using header text - * @param {string} you can pass a header text of a column to show. - * @returns {void} - */ + * @param {string} you can pass a header text of a column to show. + * @returns {void} + */ showColumn(headerText: string): void; /** To sorting the data based on the particular fields - * @param {string} you can pass a name of column to sort. - * @param {string} you can pass a sort direction to sort the column. - * @returns {void} - */ + * @param {string} you can pass a name of column to sort. + * @param {string} you can pass a sort direction to sort the column. + * @returns {void} + */ sortColumn(columnName: string, columnSortDirection: string): void; /** To reorder the column with field name and target index values - * @param {string} you can pass a name of column to reorder. - * @param {string} you can pass a target column index to be inserted. - * @returns {void} - */ + * @param {string} you can pass a name of column to reorder. + * @param {string} you can pass a target column index to be inserted. + * @returns {void} + */ reorderColumn(fieldName: string, targetIndex: string): void; } -export module TreeGrid{ - -export interface Model { - - /** Enables or disables the ability to resize the column width interactively. - * @Default {false} - */ - allowColumnResize?: boolean; - - /** Enables or disables the option for column reordering - * @Default {false} - */ - allowColumnReordering?: boolean; - - /** Enables or disables the ability to drag and drop the row interactively to reorder the rows. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Enables or disables the ability to filter the data on all the columns. Enabling this property will display a row with editor controls corresponding to each column. You can restrict filtering on particular column by disabling this property directly on that column instance itself. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Enables or disables keyboard navigation. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Enables or disables the ability to sort the rows based on multiple columns/fields by clicking on each column header. Rows will be sorted recursively on clicking the column headers. - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** Enables or disables the ability to select a row interactively. - * @Default {true} - */ - allowSelection?: boolean; - - /** Enables or disables the ability to sort the rows based on a single field/column by clicking on that column header. When enabled, rows can be sorted only by single field/column. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables/disables pagination of rows in TreeGrid - * @Default {false} - */ - allowPaging?: boolean; - - /** Specifies the id of the template that has to be applied for alternate rows. - */ - altRowTemplateID?: string; - - /** Specifies the mapping property path for the expand status of a record in data source. - */ - expandStateMapping?: string; - - /** Specifies the mapping property path for sub tasks in datasource - */ - childMapping?: string; - - /** Option for adding columns; each column has the option to bind to a field in the dataSource. - */ - columns?: Array; - - /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. - * @Default {[]} - */ - columnDialogFields?: Array; - - /** Options for displaying and customizing context menu items. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Specify the CSS class for TreeGrid to achieve custom theme. - */ - cssClass?: string; - - /** Specifies hierarchical or self-referential data to populate the TreeGrid. - * @Default {null} - */ - dataSource?: Array; - - /** Specifies whether to wrap the header text when it is overflown i.e., when it exceeds the header width. - * @Default {none} - */ - headerTextOverflow?: string; - - /** Options for displaying and customizing the tooltip. This tooltip will show the preview of the row that is being dragged. - */ - dragTooltip?: DragTooltip; - - /** Options for enabling and configuring the editing related operations. - */ - editSettings?: EditSettings; - - /** Specifies whether to render alternate rows in different background colors. - * @Default {true} - */ - enableAltRow?: boolean; - - /** Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time. - * @Default {false} - */ - enableCollapseAll?: boolean; - - /** Specifies whether to resize TreeGrid whenever window size changes. - * @Default {false} - */ - enableResize?: boolean; - - /** Specifies whether to render only the visual elements that are visible in the UI. When you enable this property, it will reduce the loading time for loading large number of records. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the settings for column resize - */ - columnResizeSettings?: ColumnResizeSettings; - - /** Options for filtering and customizing filter actions. - */ - filterSettings?: FilterSettings; - - /** Specifies the localization information to customize the User Interface (UI) to support regional language and culture - * @Default {en-US} - */ - locale?: string; - - /** Enables or disables internal parsing of a row. When disabled this property, row will be displayed using the defined template without any internal event bindings. - * @Default {true} - */ - parseRowTemplate?: boolean; - - /** Specifies the name of the field in the dataSource, which contains the id of that row. - */ - idMapping?: string; - - /** Enables or disables the responsiveness of TreeGrid - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the name of the field in the dataSource, which contains the parent's id. This is necessary to form a parent-child hierarchy, if the dataSource contains self-referential data. - */ - parentIdMapping?: string; - - /** Specifies the options for customizing the pager. - */ - pageSettings?: PageSettings; - - /** Specifies the template for cell tooltip - * @Default {null} - */ - cellTooltipTemplate?: string; - - /** Specifies ej.Query to select data from the dataSource. This property is applicable only when the dataSource is ej.DataManager. - * @Default {null} - */ - query?: any; - - /** Specifies the height of a single row in tree grid. Also, we need to set same height in the CSS style with class name e-rowcell. - * @Default {30} - */ - rowHeight?: number; - - /** Specifies the id of the template to be applied for all the rows. - */ - rowTemplateID?: string; - - /** Specifies the index of the selected row. - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Specifies the settings for row and cell selection. - */ - selectionSettings?: SelectionSettings; - - /** Enables/disables the options for inserting , deleting and renaming columns. - * @Default {false} - */ - showColumnOptions?: boolean; - - /** Controls the visibility of the menu button, which is displayed on the column header. Clicking on this button will show a popup menu. When you choose Columns item from this popup, a list box with column names will be shown, from which you can select/deselect a column name to control the visibility of the respective columns. - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Specifies the visibility of details view - * @Default {false} - */ - showDetailsRow?: boolean; - - /** Specifies the visibility of the expander column which is used to expand or collapse the details view - * @Default {false} - */ - showDetailsRowInfoColumn?: boolean; - - /** Specifies the template for details view - */ - detailsTemplate?: string; - - /** Specifies the row height of the details view - * @Default {100} - */ - detailsRowHeight?: number; +export namespace TreeGrid { + + export interface Model { + + /** Enables or disables the ability to resize the column width interactively. + * @Default {false} + */ + allowColumnResize?: boolean; + + /** Enables or disables the option for column reordering + * @Default {false} + */ + allowColumnReordering?: boolean; + + /** Enables or disables the ability to drag and drop the row interactively to reorder the rows. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Enables or disables the ability to filter the data on all the columns. Enabling this property will display a row with editor controls corresponding to each column. + * You can restrict filtering on particular column by disabling this property directly on that column instance itself. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Enables or disables keyboard navigation. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Enables or disables the ability to sort the rows based on multiple columns/fields by clicking on each column header. Rows will be sorted recursively on clicking the column headers. + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** Enables or disables the ability to select a row interactively. + * @Default {true} + */ + allowSelection?: boolean; + + /** Enables or disables the ability to sort the rows based on a single field/column by clicking on that column header. When enabled, rows can be sorted only by single field/column. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables/disables pagination of rows in TreeGrid + * @Default {false} + */ + allowPaging?: boolean; + + /** Specifies the id of the template that has to be applied for alternate rows. + */ + altRowTemplateID?: string; + + /** Specifies the mapping property path for sub tasks in datasource + */ + childMapping?: string; + + /** Option for adding columns; each column has the option to bind to a field in the dataSource. + */ + columns?: Column[]; + + /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. + * @Default {[]} + */ + columnDialogFields?: any[]; + + /** Options for displaying and customizing context menu items. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Specify the CSS class for TreeGrid to achieve custom theme. + */ + cssClass?: string; + + /** Specifies hierarchical or self-referential data to populate the TreeGrid. + * @Default {null} + */ + dataSource?: any[]; + + /** Specifies whether to wrap the header text when it is overflown i.e., when it exceeds the header width. + * @Default {none} + */ + headerTextOverflow?: string; + + /** Options for displaying and customizing the tooltip. This tooltip will show the preview of the row that is being dragged. + */ + dragTooltip?: DragTooltip; + + /** Options for enabling and configuring the editing related operations. + */ + editSettings?: EditSettings; + + /** Specifies whether to render alternate rows in different background colors. + * @Default {true} + */ + enableAltRow?: boolean; + + /** Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time. + * @Default {false} + */ + enableCollapseAll?: boolean; + + /** Specifies whether to resize TreeGrid whenever window size changes. + * @Default {false} + */ + enableResize?: boolean; + + /** Specifies whether to render only the visual elements that are visible in the UI. When you enable this property, it will reduce the loading time for loading large number of records. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the settings for column resize + */ + columnResizeSettings?: ColumnResizeSettings; + + /** Options for filtering and customizing filter actions. + */ + filterSettings?: FilterSettings; + + /** Specifies the localization information to customize the User Interface (UI) to support regional language and culture + * @Default {en-US} + */ + locale?: string; + + /** Enables or disables internal parsing of a row. When disabled this property, row will be displayed using the defined template without any internal event bindings. + * @Default {true} + */ + parseRowTemplate?: boolean; + + /** Specifies the name of the field in the dataSource, which contains the id of that row. + */ + idMapping?: string; + + /** Enables or disables the responsiveness of TreeGrid + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the name of the field in the dataSource, which contains the parent's id. This is necessary to form a parent-child hierarchy, if the dataSource contains self-referential data. + */ + parentIdMapping?: string; + + /** Specifies the options for customizing the pager. + */ + pageSettings?: PageSettings; + + /** Specifies the template for cell tooltip + * @Default {null} + */ + cellTooltipTemplate?: string; + + /** Specifies ej.Query to select data from the dataSource. This property is applicable only when the dataSource is ej.DataManager. + * @Default {null} + */ + query?: any; + + /** Specifies the height of a single row in tree grid. Also, we need to set same height in the CSS style with class name e-rowcell. + * @Default {30} + */ + rowHeight?: number; + + /** Specifies the id of the template to be applied for all the rows. + */ + rowTemplateID?: string; + + /** Specifies the index of the selected row. + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Specifies the settings for row and cell selection. + */ + selectionSettings?: SelectionSettings; + + /** Enables/disables the options for inserting , deleting and renaming columns. + * @Default {false} + */ + showColumnOptions?: boolean; + + /** Controls the visibility of the menu button, which is displayed on the column header. Clicking on this button will show a popup menu. When you choose Columns item from this popup, + * a list box with column names will be shown, from which you can select/deselect a column name to control the visibility of the respective columns. + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Specifies the visibility of details view + * @Default {false} + */ + showDetailsRow?: boolean; + + /** Specifies the visibility of the expander column which is used to expand or collapse the details view + * @Default {false} + */ + showDetailsRowInfoColumn?: boolean; + + /** Specifies the template for details view + */ + detailsTemplate?: string; + + /** Specifies the row height of the details view + * @Default {100} + */ + detailsRowHeight?: number; - /** Specifies the visibility of summary row - * @Default {false} - */ - showSummaryRow?: boolean; + /** Specifies the visibility of summary row + * @Default {false} + */ + showSummaryRow?: boolean; - /** Specifies the visibility of total summary row for the corresponding summary column - * @Default {false} - */ - showTotalSummary?: boolean; + /** Specifies the visibility of total summary row for the corresponding summary column + * @Default {false} + */ + showTotalSummary?: boolean; - /** Specifies the summary row collection object to be displayed - * @Default {[]} - */ - summaryRows?: Array; + /** Specifies the summary row collection object to be displayed + * @Default {[]} + */ + summaryRows?: any[]; - /** Specifies whether to show tooltip when mouse is hovered on the cell. - * @Default {true} - */ - showGridCellTooltip?: boolean; + /** Specifies whether to show tooltip when mouse is hovered on the cell. + * @Default {true} + */ + showGridCellTooltip?: boolean; - /** Specifies whether to show tooltip for the cells, which has expander button. - * @Default {true} - */ - showGridExpandCellTooltip?: boolean; + /** Specifies whether to show tooltip for the cells, which has expander button. + * @Default {true} + */ + showGridExpandCellTooltip?: boolean; - /** Options for setting width and height for TreeGrid. - */ - sizeSettings?: SizeSettings; + /** Options for setting width and height for TreeGrid. + */ + sizeSettings?: SizeSettings; - /** Options for sorting the rows. - */ - sortSettings?: SortSettings; + /** Options for sorting the rows. + */ + sortSettings?: SortSettings; - /** Options for displaying and customizing the toolbar items. - */ - toolbarSettings?: ToolbarSettings; + /** Options for displaying and customizing the toolbar items. + */ + toolbarSettings?: ToolbarSettings; - /** Specifies the index of the column that needs to have the expander button. By default, cells in the first column contain the expander button. - * @Default {0} - */ - treeColumnIndex?: number; + /** Specifies the index of the column that needs to have the expander button. By default, cells in the first column contain the expander button. + * @Default {0} + */ + treeColumnIndex?: number; - /** Triggered before every success event of TreeGrid action. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Triggered before every success event of TreeGrid action. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Triggered for every TreeGrid action success event. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** Triggered for every TreeGrid action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Triggered while enter the edit mode in the TreeGrid cell */ - beginEdit? (e: BeginEditEventArgs): void; + /** Triggered while enter the edit mode in the TreeGrid cell */ + beginEdit?(e: BeginEditEventArgs): void; - /** Triggered after collapsed the TreeGrid record */ - collapsed? (e: CollapsedEventArgs): void; + /** Triggered after collapsed the TreeGrid record */ + collapsed?(e: CollapsedEventArgs): void; - /** Triggered while collapsing the TreeGrid record */ - collapsing? (e: CollapsingEventArgs): void; + /** Triggered while collapsing the TreeGrid record */ + collapsing?(e: CollapsingEventArgs): void; - /** Triggered while clicking a row, even when allowSelection property is disabled. */ - recordClick? (e: RecordClickEventArgs): void; + /** Triggered while clicking a row, even when allowSelection property is disabled. */ + recordClick?(e: RecordClickEventArgs): void; - /** Triggered when you start to drag a column */ - columnDragStart? (e: ColumnDragStartEventArgs): void; + /** Triggered when you start to drag a column */ + columnDragStart?(e: ColumnDragStartEventArgs): void; - /** Triggered while dragging a column */ - columnDrag? (e: ColumnDragEventArgs): void; + /** Triggered while dragging a column */ + columnDrag?(e: ColumnDragEventArgs): void; - /** Triggered when a column is dropped */ - columnDrop? (e: ColumnDropEventArgs): void; + /** Triggered when a column is dropped */ + columnDrop?(e: ColumnDropEventArgs): void; - /** Triggered after a column resized */ - columnResized? (e: ColumnResizedEventArgs): void; + /** Triggered after a column resized */ + columnResized?(e: ColumnResizedEventArgs): void; - /** Triggered while start to resize a column */ - columnResizeStart? (e: ColumnResizeStartEventArgs): void; + /** Triggered while start to resize a column */ + columnResizeStart?(e: ColumnResizeStartEventArgs): void; - /** Triggered when a column has been resized */ - columnResizeEnd? (e: ColumnResizeEndEventArgs): void; + /** Triggered when a column has been resized */ + columnResizeEnd?(e: ColumnResizeEndEventArgs): void; - /** Triggered while Context Menu is rendered in TreeGrid control */ - contextMenuOpen? (e: ContextMenuOpenEventArgs): void; + /** Triggered while Context Menu is rendered in TreeGrid control */ + contextMenuOpen?(e: ContextMenuOpenEventArgs): void; - /** Triggered when TreeGrid is rendered completely */ - create? (e: CreateEventArgs): void; + /** Triggered when TreeGrid is rendered completely */ + create?(e: CreateEventArgs): void; - /** Triggered after saved the modified cellValue in TreeGrid */ - endEdit? (e: EndEditEventArgs): void; + /** Triggered after saved the modified cellValue in TreeGrid */ + endEdit?(e: EndEditEventArgs): void; - /** Triggered after expand the record */ - expanded? (e: ExpandedEventArgs): void; + /** Triggered after expand the record */ + expanded?(e: ExpandedEventArgs): void; - /** Triggered while expanding the TreeGrid record */ - expanding? (e: ExpandingEventArgs): void; + /** Triggered while expanding the TreeGrid record */ + expanding?(e: ExpandingEventArgs): void; - /** Triggered while Treegrid is loaded */ - load? (e: LoadEventArgs): void; + /** Triggered while Treegrid is loaded */ + load?(e: LoadEventArgs): void; - /** Triggered while rendering each cell in the TreeGrid */ - queryCellInfo? (e: QueryCellInfoEventArgs): void; + /** Triggered while rendering each cell in the TreeGrid */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; - /** Triggered while rendering each row */ - rowDataBound? (e: RowDataBoundEventArgs): void; + /** Triggered while rendering each row */ + rowDataBound?(e: RowDataBoundEventArgs): void; - /** Triggered while dragging a row in TreeGrid control */ - rowDrag? (e: RowDragEventArgs): void; + /** Triggered while dragging a row in TreeGrid control */ + rowDrag?(e: RowDragEventArgs): void; - /** Triggered while start to drag row in TreeGrid control */ - rowDragStart? (e: RowDragStartEventArgs): void; + /** Triggered while start to drag row in TreeGrid control */ + rowDragStart?(e: RowDragStartEventArgs): void; - /** Triggered while drop a row in TreeGrid control */ - rowDragStop? (e: RowDragStopEventArgs): void; + /** Triggered while drop a row in TreeGrid control */ + rowDragStop?(e: RowDragStopEventArgs): void; - /** Triggered before selecting a cell */ - cellSelecting? (e: CellSelectingEventArgs): void; + /** Triggered before selecting a cell */ + cellSelecting?(e: CellSelectingEventArgs): void; - /** Triggered after selected a cell */ - cellSelected? (e: CellSelectedEventArgs): void; + /** Triggered after selected a cell */ + cellSelected?(e: CellSelectedEventArgs): void; - /** Triggered after the row is selected. */ - rowSelected? (e: RowSelectedEventArgs): void; + /** Triggered after the row is selected. */ + rowSelected?(e: RowSelectedEventArgs): void; - /** Triggered before the row is going to be selected. */ - rowSelecting? (e: RowSelectingEventArgs): void; + /** Triggered before the row is going to be selected. */ + rowSelecting?(e: RowSelectingEventArgs): void; - /** Triggered when toolbar item is clicked in TreeGrid. */ - toolbarClick? (e: ToolbarClickEventArgs): void; -} + /** Triggered when toolbar item is clicked in TreeGrid. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } -export interface ActionBeginEventArgs { + export interface ActionBeginEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the current grouped column field name. - */ - columnName?: string; + /** Returns the current grouped column field name. + */ + columnName?: string; - /** Returns the TreeGrid model. - */ - model?: any; + /** Returns the TreeGrid model. + */ + model?: any; - /** Returns request type. - */ - requestType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the direction of sorting ascending or descending. - */ - columnSortDirection?: string; + /** Returns the direction of sorting ascending or descending. + */ + columnSortDirection?: string; - /** Returns the value of expanding parent element. - */ - keyValue?: string; + /** Returns the value of expanding parent element. + */ + keyValue?: string; - /** Returns the data or deleting element. - */ - data?: string; -} + /** Returns the data or deleting element. + */ + data?: string; + } -export interface ActionCompleteEventArgs { + export interface ActionCompleteEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the grid model. - */ - model?: any; + /** Returns the grid model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the current grouped column field name. - */ - columnName?: string; + /** Returns the current grouped column field name. + */ + columnName?: string; - /** Returns request type. - */ - requestType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; - /** Returns the value of searched element. - */ - keyValue?: string; + /** Returns the value of searched element. + */ + keyValue?: string; - /** Returns the data of deleted element. - */ - data?: string; + /** Returns the data of deleted element. + */ + data?: string; - /** Returns selected record index - */ - recordIndex?: number; -} + /** Returns selected record index + */ + recordIndex?: number; + } -export interface BeginEditEventArgs { + export interface BeginEditEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row element of editing cell. - */ - rowElement?: any; + /** Returns the row element of editing cell. + */ + rowElement?: any; - /** Returns the Element of editing cell. - */ - cellElement?: any; + /** Returns the Element of editing cell. + */ + cellElement?: any; - /** Returns the data of current cell record. - */ - data?: any; + /** Returns the data of current cell record. + */ + data?: any; - /** Returns the column Index of cell belongs. - */ - columnIndex?: number; -} + /** Returns the column Index of cell belongs. + */ + columnIndex?: number; + } -export interface CollapsedEventArgs { + export interface CollapsedEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index of collapsed record. - */ - recordIndex?: number; + /** Returns the row index of collapsed record. + */ + recordIndex?: number; - /** Returns the data of collapsed record.. - */ - data?: any; + /** Returns the data of collapsed record.. + */ + data?: any; - /** Returns Request Type. - */ - requestType?: string; + /** Returns Request Type. + */ + requestType?: string; - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; - /** Returns the event type. - */ - type?: string; -} + /** Returns the event type. + */ + type?: string; + } -export interface CollapsingEventArgs { + export interface CollapsingEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index of collapsing record. - */ - recordIndex?: number; + /** Returns the row index of collapsing record. + */ + recordIndex?: number; - /** Returns the data of collapsing record.. - */ - data?: any; + /** Returns the data of collapsing record.. + */ + data?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns state of a record whether it is in expanded or collapsing state. - */ - expanded?: boolean; -} + /** Returns state of a record whether it is in expanded or collapsing state. + */ + expanded?: boolean; + } -export interface RecordClickEventArgs { + export interface RecordClickEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the element of clicked cell. - */ - cell?: any; + /** Returns the element of clicked cell. + */ + cell?: any; - /** Returns the index of the clicked cell. - */ - cellIndex?: number; + /** Returns the index of the clicked cell. + */ + cellIndex?: number; - /** Returns the data of clicked cell. - */ - cellValue?: any; + /** Returns the data of clicked cell. + */ + cellValue?: any; - /** Returns the element of the clicked row. - */ - row?: any; + /** Returns the element of the clicked row. + */ + row?: any; - /** Returns the index of the clicked row. - */ - rowIndex?: number; + /** Returns the index of the clicked row. + */ + rowIndex?: number; - /** Returns the column name of the clicked cell. - */ - columnName?: string; -} + /** Returns the column name of the clicked cell. + */ + columnName?: string; + } -export interface ColumnDragStartEventArgs { + export interface ColumnDragStartEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the control model values. - */ - model?: any; + /** Returns the control model values. + */ + model?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns the column data which is dragged - */ - draggedColumn?: any; + /** Returns the column data which is dragged + */ + draggedColumn?: any; - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; -} + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; + } -export interface ColumnDragEventArgs { + export interface ColumnDragEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the control model values. - */ - model?: any; + /** Returns the control model values. + */ + model?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns the column data which is dragged - */ - draggedColumn?: any; + /** Returns the column data which is dragged + */ + draggedColumn?: any; - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; - /** Returns the target column data - */ - targetColumn?: any; + /** Returns the target column data + */ + targetColumn?: any; - /** Returns the index of the target column - */ - targetColumnIndex?: number; + /** Returns the index of the target column + */ + targetColumnIndex?: number; - /** Returns that we can drop over the column or not. - */ - canDrop?: boolean; -} + /** Returns that we can drop over the column or not. + */ + canDrop?: boolean; + } -export interface ColumnDropEventArgs { + export interface ColumnDropEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the control model values. - */ - model?: any; + /** Returns the control model values. + */ + model?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns the column data which is dragged - */ - draggedColumn?: any; + /** Returns the column data which is dragged + */ + draggedColumn?: any; - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; - /** Returns the target column data - */ - targetColumn?: any; + /** Returns the target column data + */ + targetColumn?: any; - /** Returns the index of the target column - */ - targetColumnIndex?: number; -} + /** Returns the index of the target column + */ + targetColumnIndex?: number; + } -export interface ColumnResizedEventArgs { + export interface ColumnResizedEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the control model values. - */ - model?: any; + /** Returns the control model values. + */ + model?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns the column data which is resized - */ - column?: any; + /** Returns the column data which is resized + */ + column?: any; - /** Returns the index of the column being resized. - */ - columnIndex?: number; + /** Returns the index of the column being resized. + */ + columnIndex?: number; - /** Returns resized column width after resized. - */ - newWidth?: number; + /** Returns resized column width after resized. + */ + newWidth?: number; - /** Returns resized column width before resizing - */ - oldWidth?: number; -} + /** Returns resized column width before resizing + */ + oldWidth?: number; + } -export interface ColumnResizeStartEventArgs { + export interface ColumnResizeStartEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the control model values. - */ - model?: any; + /** Returns the control model values. + */ + model?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns the column data in which the resizing started - */ - column?: any; + /** Returns the column data in which the resizing started + */ + column?: any; - /** Returns the column index in which the resizing started - */ - columnIndex?: number; + /** Returns the column index in which the resizing started + */ + columnIndex?: number; - /** Returns column width before dragging - */ - oldWidth?: number; + /** Returns column width before dragging + */ + oldWidth?: number; - /** Returns initial column element object. - */ - target?: any; -} + /** Returns initial column element object. + */ + target?: any; + } -export interface ColumnResizeEndEventArgs { + export interface ColumnResizeEndEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the control model values. - */ - model?: any; + /** Returns the control model values. + */ + model?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns the column data in which the resizing started - */ - column?: any; + /** Returns the column data in which the resizing started + */ + column?: any; - /** Returns the column index in which the resizing started - */ - columnIndex?: number; + /** Returns the column index in which the resizing started + */ + columnIndex?: number; - /** Returns the column width difference, before and after the resizing - */ - extra?: number; + /** Returns the column width difference, before and after the resizing + */ + extra?: number; - /** Returns the new column width after resized - */ - newWidth?: number; + /** Returns the new column width after resized + */ + newWidth?: number; - /** Returns column width before dragging - */ - oldWidth?: number; + /** Returns column width before dragging + */ + oldWidth?: number; - /** Returns initial column element object. - */ - target?: any; -} + /** Returns initial column element object. + */ + target?: any; + } -export interface ContextMenuOpenEventArgs { + export interface ContextMenuOpenEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the default context menu items to which we add custom items. - */ - contextMenuItems?: Array; + /** Returns the default context menu items to which we add custom items. + */ + contextMenuItems?: any[]; - /** Returns the TreeGrid model. - */ - model?: any; + /** Returns the TreeGrid model. + */ + model?: any; - /** Returns request type. - */ - requestType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the TreeGrid model - */ - model?: any; + /** Returns the TreeGrid model + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface EndEditEventArgs { + export interface EndEditEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row element of editing cell. - */ - rowElement?: any; + /** Returns the row element of editing cell. + */ + rowElement?: any; - /** Returns the Element of editing cell. - */ - cellElement?: any; + /** Returns the Element of editing cell. + */ + cellElement?: any; - /** Returns the data of edited cell record. - */ - data?: any; + /** Returns the data of edited cell record. + */ + data?: any; - /** Returns the column name of edited cell belongs. - */ - columnName?: string; + /** Returns the column name of edited cell belongs. + */ + columnName?: string; - /** Returns the column object of edited cell belongs. - */ - columnObject?: any; -} + /** Returns the column object of edited cell belongs. + */ + columnObject?: any; + } -export interface ExpandedEventArgs { + export interface ExpandedEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index of expanded record. - */ - recordIndex?: number; + /** Returns the row index of expanded record. + */ + recordIndex?: number; - /** Returns the data of expanded record.. - */ - data?: any; + /** Returns the data of expanded record.. + */ + data?: any; - /** Returns Request Type. - */ - requestType?: string; + /** Returns Request Type. + */ + requestType?: string; - /** Returns state of a record whether it is in expanded or expanded state. - */ - expanded?: boolean; + /** Returns state of a record whether it is in expanded or expanded state. + */ + expanded?: boolean; - /** Returns the event type. - */ - type?: string; -} + /** Returns the event type. + */ + type?: string; + } -export interface ExpandingEventArgs { + export interface ExpandingEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row index of expanding record. - */ - recordIndex?: number; + /** Returns the row index of expanding record. + */ + recordIndex?: number; - /** Returns the data of expanding record.. - */ - data?: any; + /** Returns the data of expanding record.. + */ + data?: any; - /** Returns the event Type. - */ - type?: string; + /** Returns the event Type. + */ + type?: string; - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; -} + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } -export interface LoadEventArgs { + export interface LoadEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the TreeGrid model - */ - model?: any; + /** Returns the TreeGrid model + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface QueryCellInfoEventArgs { + export interface QueryCellInfoEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the selecting cell element. - */ - cellElement?: any; + /** Returns the selecting cell element. + */ + cellElement?: any; - /** Returns the value of cell. - */ - cellValue?: string; + /** Returns the value of cell. + */ + cellValue?: string; - /** Returns the data of current cell record. - */ - data?: any; + /** Returns the data of current cell record. + */ + data?: any; - /** Returns the column of cell belongs. - */ - column?: any; -} + /** Returns the column of cell belongs. + */ + column?: any; + } -export interface RowDataBoundEventArgs { + export interface RowDataBoundEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row element of rendering row. - */ - rowElement?: any; + /** Returns the row element of rendering row. + */ + rowElement?: any; - /** Returns the data of rendering row record. - */ - data?: any; -} + /** Returns the data of rendering row record. + */ + data?: any; + } -export interface RowDragEventArgs { + export interface RowDragEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row which we start to drag. - */ - draggedRow?: any; + /** Returns the row which we start to drag. + */ + draggedRow?: any; - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; - /** Returns the row on which we are dragging. - */ - targetRow?: any; + /** Returns the row on which we are dragging. + */ + targetRow?: any; - /** Returns the row index on which we are dragging. - */ - targetRowIndex?: number; + /** Returns the row index on which we are dragging. + */ + targetRowIndex?: number; - /** Returns that we can drop over that record or not. - */ - canDrop?: boolean; + /** Returns that we can drop over that record or not. + */ + canDrop?: boolean; - /** Returns the TreeGrid model. - */ - model?: any; + /** Returns the TreeGrid model. + */ + model?: any; - /** Returns request type. - */ - requestType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface RowDragStartEventArgs { + export interface RowDragStartEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row which we start to drag. - */ - draggedRow?: any; + /** Returns the row which we start to drag. + */ + draggedRow?: any; - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: boolean; + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: boolean; - /** Returns the TreeGrid model. - */ - model?: any; + /** Returns the TreeGrid model. + */ + model?: any; - /** Returns request type. - */ - requestType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface RowDragStopEventArgs { + export interface RowDragStopEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the row which we start to drag. - */ - draggedRow?: any; + /** Returns the row which we start to drag. + */ + draggedRow?: any; - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; - /** Returns the row which we are dropped to row. - */ - targetRow?: any; + /** Returns the row which we are dropped to row. + */ + targetRow?: any; - /** Returns the row index which we are dropped to row. - */ - targetRowIndex?: number; + /** Returns the row index which we are dropped to row. + */ + targetRowIndex?: number; - /** Returns the TreeGrid model. - */ - model?: any; + /** Returns the TreeGrid model. + */ + model?: any; - /** Returns request type. - */ - requestType?: string; + /** Returns request type. + */ + requestType?: string; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface CellSelectingEventArgs { + export interface CellSelectingEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cell index on the selection. - */ - cellIndex?: number; + /** Returns the cell index on the selection. + */ + cellIndex?: number; - /** Returns the row index on the selection - */ - rowIndex?: number; + /** Returns the row index on the selection + */ + rowIndex?: number; - /** Returns the selecting cell element - */ - targetCell?: any; + /** Returns the selecting cell element + */ + targetCell?: any; - /** Returns the selecting row element - */ - targetRow?: any; + /** Returns the selecting row element + */ + targetRow?: any; - /** Returns the selecting record object - */ - data?: any; + /** Returns the selecting record object + */ + data?: any; - /** Returns the Gantt object Model - */ - model?: any; -} + /** Returns the Gantt object Model + */ + model?: any; + } -export interface CellSelectedEventArgs { + export interface CellSelectedEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cell index on the selection. - */ - cellIndex?: number; + /** Returns the cell index on the selection. + */ + cellIndex?: number; - /** Returns the row index on the selection - */ - rowIndex?: number; + /** Returns the row index on the selection + */ + rowIndex?: number; - /** Returns the selecting cell element - */ - targetCell?: any; + /** Returns the selecting cell element + */ + targetCell?: any; - /** Returns the selecting row element - */ - targetRow?: any; + /** Returns the selecting row element + */ + targetRow?: any; - /** Returns the selecting record object - */ - data?: any; + /** Returns the selecting record object + */ + data?: any; - /** Returns the Gantt object Model - */ - model?: any; + /** Returns the Gantt object Model + */ + model?: any; - /** Returns the previously selected row data - */ - previousData?: any; + /** Returns the previously selected row data + */ + previousData?: any; - /** Returns the previously selected cell index - */ - previousCellIndex?: any; + /** Returns the previously selected cell index + */ + previousCellIndex?: any; - /** Returns the previously selected row index - */ - previousRowIndex?: any; + /** Returns the previously selected row index + */ + previousRowIndex?: any; - /** Returns the previously selected cell element - */ - previousTargetCell?: any; + /** Returns the previously selected cell element + */ + previousTargetCell?: any; - /** Returns the previously selected row element - */ - previousTargetRow?: any; -} + /** Returns the previously selected row element + */ + previousTargetRow?: any; + } -export interface RowSelectedEventArgs { + export interface RowSelectedEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the selecting row element. - */ - targetRow?: any; + /** Returns the selecting row element. + */ + targetRow?: any; - /** Returns the index of selecting row record. - */ - recordIndex?: number; + /** Returns the index of selecting row record. + */ + recordIndex?: number; - /** Returns the data of selected record. - */ - data?: any; + /** Returns the data of selected record. + */ + data?: any; - /** Returns the event type. - */ - type?: string; -} + /** Returns the event type. + */ + type?: string; + } -export interface RowSelectingEventArgs { + export interface RowSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data selecting record. + */ + data?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: string; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the previous selected data. + */ + previousData?: any; + + /** Returns the previous selected row index. + */ + previousIndex?: string; + + /** Returns the previous selected row element. + */ + previousTreeGridRow?: any; + } + + export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns the name of the toolbar item on which mouse click has been performed + */ + itemName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface Column { + + /** Enables or disables the ability to filter the rows based on this column. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Enables or disables the ability to sort the rows based on this column/field. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables/disables cell selection. + * @Default {false} + */ + allowCellSelection?: boolean; + + /** Specifies the edit type of the column. + * @Default {ej.TreeGrid.EditingType.String} + */ + editType?: ej.TreeGrid.EditingType | string; + + /** Specifies the name of the field from the dataSource to bind with this column. + */ + field?: string; + + /** Specifies the type of the editor control to be used to filter the rows. + * @Default {ej.TreeGrid.EditingType.String} + */ + filterEditType?: ej.TreeGrid.EditingType | string; + + /** Header text of the column. + * @Default {null} + */ + headerText?: string; + + /** Enables or disables the checkbox visibility in a column to make it as a checkbox column + * @Default {false} + */ + showCheckbox?: boolean; + + /** Controls the visibility of the column. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets a value for treegrid column width + */ + width?: number; + + /** Specifies the header template value for the column header + */ + headerTemplateID?: string; + + /** Specifies the display format of a column + * @Default {null} + */ + format?: any; + + /** Specifies whether the column is a template column + * @Default {false} + */ + isTemplateColumn?: boolean; + + /** Specifies the alignment of the column header text + * @Default {ej.TextAlign.Left} + */ + headerTextAlign?: ej.TextAlign | string; + + /** Specifies whether the column is frozen + * @Default {false} + */ + isFrozen?: boolean; + + /** Specifies the text alignment for the column + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign | string; + + /** Specifies the template for the TreeGrid column + */ + templateID?: string; + + /** Enables or disables the ability to edit a row or cell. + * @Default {false} + */ + allowEditing?: boolean; + + /** Enables or disables the ability to freeze/unfreeze the columns + * @Default {false} + */ + allowFreezing?: boolean; + } + + export interface ContextMenuSettings { + + /** Option for adding items to context menu. + * @Default {[]} + */ + contextMenuItems?: any[]; + + /** Shows/hides the context menu. + * @Default {false} + */ + showContextMenu?: boolean; + } + + export interface DragTooltip { + + /** Specifies whether to show tooltip while dragging a row. + * @Default {true} + */ + showTooltip?: boolean; + + /** Option to add field names whose corresponding values in the dragged row needs to be shown in the preview tooltip. + * @Default {[]} + */ + tooltipItems?: any[]; + + /** Custom template for that tooltip that is shown while dragging a row. + * @Default {null} + */ + tooltipTemplate?: string; + } + + export interface EditSettings { + + /** Enables or disables the button to add new row in context menu as well as in toolbar. + * @Default {true} + */ + allowAdding?: boolean; + + /** Enables or disables the button to delete the selected row in context menu as well as in toolbar. + * @Default {true} + */ + allowDeleting?: boolean; + + /** Enables or disables the ability to edit a row or cell. + * @Default {false} + */ + allowEditing?: boolean; + + /** Specifies the mouse action whether single click or double click to begin the editing + * @Default {ej.TreeGrid.BeginEditAction.DblClick} + */ + beginEditAction?: ej.TreeGrid.BeginEditAction | string; + + /** specifies the edit mode in TreeGrid , "cellEditing" is for cell type editing and "rowEditing" is for entire row. + * @Default {ej.TreeGrid.EditMode.CellEditing} + */ + editMode?: ej.TreeGrid.EditMode | string; + + /** Specifies the position where the new row has to be added. + * @Default {top} + */ + rowPosition?: ej.TreeGrid.RowPosition | string; + } + + export interface ColumnResizeSettings { + + /** Specifies the mode for column resizing + * @Default {normal} + */ + columnResizeMode?: string; + } + + export interface FilterSettings { + + /** Specifies the mode on which column filtering should start + * @Default {immediate} + */ + filterBarMode?: string; + + /** Specifies the type of column filtering. + * @Default {filterbar} + */ + filterType?: string; + + /** Specifies the column collection for filtering the TreeGrid content on initial load + * @Default {[]} + */ + filteredColumns?: any[]; + } + + export interface PageSettings { + + /** Using this property we can specify the number of pages should pager contains, according to this count TreeGrid height will be updated. + * @Default {8} + */ + pageCount?: number; + + /** This specifies the number of rows to display in each page. + * @Default {12} + */ + pageSize?: number; + + /** Get the value of records which is bound to TreeGrid. The totalRecordsCount value is calculated based on the datasource bound to TreeGrid. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Specifies the current page to display at load time. + * @Default {1} + */ + currentPage?: number; + + /** Specifies the mode of record count in a page, whether it should count all the records or the root to count zero level parent records. + * @Default {ej.TreeGrid.PageSizeMode.All} + */ + pageSizeMode?: ej.TreeGrid.PageSizeMode | string; - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data selecting record. - */ - data?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: string; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the previous selected data. - */ - previousData?: any; - - /** Returns the previous selected row index. - */ - previousIndex?: string; + /** Specifies the Custom template for Pager control. + * @Default {null} + */ + template?: string; + } - /** Returns the previous selected row element. - */ - previousTreeGridRow?: any; -} - -export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns the name of the toolbar item on which mouse click has been performed - */ - itemName?: string; - - /** Returns the name of the event. - */ - type?: string; -} - -export interface Column { - - /** Enables or disables the ability to filter the rows based on this column. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Enables or disables the ability to sort the rows based on this column/field. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables/disables cell selection. - * @Default {false} - */ - allowCellSelection?: boolean; - - /** Specifies the edit type of the column. - * @Default {ej.TreeGrid.EditingType.String} - */ - editType?: ej.TreeGrid.EditingType|string; - - /** Specifies the name of the field from the dataSource to bind with this column. - */ - field?: string; - - /** Specifies the template string of the script element to enable column template for a column. - */ - template?: string; - - /** Specifies the template ID of the script element to enable column template for a column. - */ - templateID?: string; - - /** Specifies the template ID or the template string of the AngularJS script element to enable column template for a column. - */ - angularTemplate?: string; - - /** Specifies the type of the editor control to be used to filter the rows. - * @Default {ej.TreeGrid.EditingType.String} - */ - filterEditType?: ej.TreeGrid.EditingType|string; - - /** Header text of the column. - * @Default {null} - */ - headerText?: string; - - /** Gets or sets a value that indicates to display a column value as checkbox or string - * @Default {false} - */ - displayAsCheckbox?: boolean; - - /** Enables or disables the checkbox visibility in a column for checkbox selection. - * @Default {false} - */ - showCheckbox?: boolean; - - /** Controls the visibility of the column. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets a value for treegrid column width - */ - width?: Number; - - /** Specifies the header template value for the column header - */ - headerTemplateID?: String; - - /** Specifies the display format of a column - * @Default {null} - */ - format?: any; - - /** Specifies whether the column is a template column - * @Default {false} - */ - isTemplateColumn?: boolean; - - /** Specifies the alignment of the column header text - * @Default {ej.TextAlign.Left} - */ - headerTextAlign?: ej.TextAlign|string; - - /** Specifies whether the column is frozen - * @Default {false} - */ - isFrozen?: boolean; - - /** Specifies the text alignment for the column - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign|string; - - /** Enables or disables the ability to edit a row or cell. - * @Default {false} - */ - allowEditing?: boolean; - - /** We can include or exclude particular column from column visibility list in column menu. - * @Default {true} - */ - showInColumnChooser?: boolean; - - /** Sets the clip mode for TreeGrid cell as ellipsis or clipped content(both header and content) - * @Default {ej.TreeGrid.ClipMode.Clip} - */ - clipMode?: ej.TreeGrid.ClipMode|string; - - /** Sets the tooltip template for the specific column. - * @Default {null} - */ - tooltip?: string; - - /** Sets the tooltip template for the column header - * @Default {null} - */ - headerTooltip?: string; - - /** specifies the conditions for saving data to the database while adding or editing the fields. - */ - validationRules?: any; - - /** Enables or disables the ability to freeze/unfreeze the columns - * @Default {false} - */ - allowFreezing?: boolean; -} - -export interface ContextMenuSettings { - - /** Option for adding items to context menu. - * @Default {[]} - */ - contextMenuItems?: Array; - - /** Shows/hides the context menu. - * @Default {false} - */ - showContextMenu?: boolean; -} - -export interface DragTooltip { - - /** Specifies whether to show tooltip while dragging a row. - * @Default {true} - */ - showTooltip?: boolean; - - /** Option to add field names whose corresponding values in the dragged row needs to be shown in the preview tooltip. - * @Default {[]} - */ - tooltipItems?: Array; - - /** Custom template for that tooltip that is shown while dragging a row. - * @Default {null} - */ - tooltipTemplate?: string; -} - -export interface EditSettings { - - /** Enables or disables the button to add new row in context menu as well as in toolbar. - * @Default {true} - */ - allowAdding?: boolean; - - /** Enables or disables the button to delete the selected row in context menu as well as in toolbar. - * @Default {true} - */ - allowDeleting?: boolean; - - /** Enables or disables the ability to edit a row or cell. - * @Default {false} - */ - allowEditing?: boolean; - - /** Specifies the mouse action whether single click or double click to begin the editing - * @Default {ej.TreeGrid.BeginEditAction.DblClick} - */ - beginEditAction?: ej.TreeGrid.BeginEditAction|string; - - /** specifies the edit mode in TreeGrid , "cellEditing" is for cell type editing and "rowEditing" is for entire row. - * @Default {ej.TreeGrid.EditMode.CellEditing} - */ - editMode?: ej.TreeGrid.EditMode|string; - - /** Specifies the position where the new row has to be added. - * @Default {top} - */ - rowPosition?: ej.TreeGrid.RowPosition|string; - - /** Specifies the template ID for the custom dialog. - * @Default {null} - */ - dialogEditorTemplateID?: string; -} - -export interface ColumnResizeSettings { - - /** Specifies the mode for column resizing - * @Default {normal} - */ - columnResizeMode?: string; -} - -export interface FilterSettings { - - /** Specifies the mode on which column filtering should start - * @Default {immediate} - */ - filterBarMode?: string; - - /** Specifies the type of column filtering. - * @Default {filterbar} - */ - filterType?: string; - - /** Specifies the column collection for filtering the TreeGrid content on initial load - * @Default {[]} - */ - filteredColumns?: Array; -} - -export interface PageSettings { - - /** Using this property we can specify the number of pages should pager contains, according to this count TreeGrid height will be updated. - * @Default {8} - */ - pageCount?: number; - - /** This specifies the number of rows to display in each page. - * @Default {12} - */ - pageSize?: number; - - /** Get the value of records which is bound to TreeGrid. The totalRecordsCount value is calculated based on the datasource bound to TreeGrid. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Specifies the current page to display at load time. - * @Default {1} - */ - currentPage?: number; - - /** Specifies the mode of record count in a page, whether it should count all the records or the root to count zero level parent records. - * @Default {ej.TreeGrid.PageSizeMode.All} - */ - pageSizeMode?: ej.TreeGrid.PageSizeMode|string; - - /** Specifies the Custom template for Pager control. - * @Default {null} - */ - template?: string; -} - -export interface SelectionSettings { - - /** Specifies the type of selection whether to select row or cell. - * @Default {ej.TreeGrid.SelectionMode.Row} - */ - selectionMode?: ej.TreeGrid.SelectionMode|string; - - /** Specifies the type of selection whether single, multiple or checkbox. - * @Default {ej.TreeGrid.SelectionType.Single} - */ - selectionType?: ej.TreeGrid.SelectionType|string; + export interface SelectionSettings { - /** Enables or disables the selection by hierarchy in check box selection - * @Default {true} - */ - enableHierarchySelection?: boolean; + /** Specifies the type of selection whether to select row or cell. + * @Default {ej.TreeGrid.SelectionMode.Row} + */ + selectionMode?: ej.TreeGrid.SelectionMode | string; - /** Toggles the visibility of the checkbox in column header, using which all the check boxes can be selected or unselected. - * @Default {true} - */ - enableSelectAll?: boolean; -} + /** Specifies the type of selection whether single, multiple or checkbox. + * @Default {ej.TreeGrid.SelectionType.Single} + */ + selectionType?: ej.TreeGrid.SelectionType | string; -export interface SizeSettings { + /** Enables or disables the selection by hierarchy in check box selection + * @Default {true} + */ + enableHierarchySelection?: boolean; - /** Height of the TreeGrid. - * @Default {null} - */ - height?: string; + /** Toggles the visibility of the checkbox in column header, using which all the check boxes can be selected or unselected. + * @Default {true} + */ + enableSelectAll?: boolean; + } - /** Width of the TreeGrid. - * @Default {null} - */ - width?: string; -} + export interface SizeSettings { -export interface SortSettings { + /** Height of the TreeGrid. + * @Default {null} + */ + height?: string; - /** Option to add columns based on which the rows have to be sorted recursively. - * @Default {[]} - */ - sortedColumns?: Array; -} + /** Width of the TreeGrid. + * @Default {null} + */ + width?: string; + } -export interface ToolbarSettingsCustomToolbarItem { + export interface SortSettings { - /** Allows the user to insert the custom icons in toolbar using CSS class name selector. - */ - text?: string; + /** Option to add columns based on which the rows have to be sorted recursively. + * @Default {[]} + */ + sortedColumns?: any[]; + } - /** Allows the user to insert the custom icons in toolbar using script templates. Using this property we can bind HTML elements and other EJ controls to TreeGrid toolbar. - */ - templateID?: string; + export interface ToolbarSettings { - /** Allows the user to display custom tooltip text for TreeGrid custom toolbar items. - */ - tooltipText?: string; -} + /** Shows/hides the toolbar. + * @Default {false} + */ + showToolbar?: boolean; -export interface ToolbarSettings { + /** Specifies the list of toolbar items to be rendered in TreeGrid toolbar + * @Default {[]} + */ + toolbarItems?: any[]; + } - /** Shows/hides the toolbar. - * @Default {false} - */ - showToolbar?: boolean; + enum EditingType { - /** Specifies the list of toolbar items to be rendered in TreeGrid toolbar - * @Default {[]} - */ - toolbarItems?: Array; + ///It Specifies String edit type. + String, - /** Allows the user to insert custom toolbar items. - */ - customToolbarItems?: Array; -} + ///It Specifies Boolean edit type. + Boolean, -enum EditingType{ + ///It Specifies Numeric edit type. + Numeric, - ///It Specifies String edit type. - String, + ///It Specifies Dropdown edit type. + Dropdown, - ///It Specifies Boolean edit type. - Boolean, + ///It Specifies DatePicker edit type. + DatePicker, - ///It Specifies Numeric edit type. - Numeric, + ///It Specifies DateTimePicker edit type. + DateTimePicker, - ///It Specifies Dropdown edit type. - Dropdown, + ///It Specifies Maskedit edit type. + Maskedit + } - ///It Specifies DatePicker edit type. - DatePicker, - ///It Specifies DateTimePicker edit type. - DateTimePicker, + enum BeginEditAction { - ///It Specifies Maskedit edit type. - Maskedit -} + ///you can begin the editing at double click + DblClick, + ///you can begin the editing at single click + Click + } -enum ClipMode{ - ///Shows ellipsis for the overflown cell. - Ellipsis, + enum EditMode { - ///Truncate the text in the cell. - Clip -} + ///you can edit a cell. + CellEditing, + ///you can edit a row. + RowEditing + } -enum BeginEditAction{ - ///you can begin the editing at double click - DblClick, + enum RowPosition { - ///you can begin the editing at single click - Click -} + ///you can add a new row at top. + Top, + ///you can add a new row at bottom. + Bottom, -enum EditMode{ + ///you can add a new row to above selected row. + Above, - ///you can edit a cell. - CellEditing, + ///you can add a new row to below selected row. + Below, - ///you can edit a row. - RowEditing, + ///you can add a new row as a child for selected row. + Child + } - ///you can edit a row in dialog form. - DialogEditing -} + enum PageSizeMode { -enum RowPosition{ + ///To count all the parent and child records. + All, - ///you can add a new row at top. - Top, + ///To count the Zeroth level parent records. + Root + } - ///you can add a new row at bottom. - Bottom, - ///you can add a new row to above selected row. - Above, + enum SelectionMode { - ///you can add a new row to below selected row. - Below, + ///you can select a row. + Row, - ///you can add a new row as a child for selected row. - Child -} + ///you can select a cell. + Cell + } -enum PageSizeMode{ + enum SelectionType { - ///To count all the parent and child records. - All, + ///you can select a single row. + Single, - ///To count the Zeroth level parent records. - Root -} + ///you can select a multiple row. + Multiple, - -enum SelectionMode{ - - ///you can select a row. - Row, - - ///you can select a cell. - Cell -} - - -enum SelectionType{ - - ///you can select a single row. - Single, - - ///you can select a multiple row. - Multiple, - - ///you can select rows using checkbox. - Checkbox -} + ///you can select rows using checkbox. + Checkbox + } } class GroupButton extends ej.Widget { static fn: GroupButton; - constructor(element: JQuery, options?: GroupButton.Model); - constructor(element: Element, options?: GroupButton.Model); + constructor(element: JQuery | Element, options?: GroupButton.Model); static Locale: any; - model:GroupButton.Model; - defaults:GroupButton.Model; + model: GroupButton.Model; + defaults: GroupButton.Model; /** Remove the selection state of the specified the button element from the GroupButton - * @param {JQuery} Specific button element - * @returns {void} - */ + * @param {JQuery} Specific button element + * @returns {void} + */ deselectItem(element: JQuery): void; /** Destroy the GroupButton widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Disables the GroupButton control - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Disable the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ + * @param {JQuery} Specific button element + * @returns {void} + */ disableItem(element: JQuery): void; /** Enables the disabled ejGroupButton control. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Enable the specified disabled button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ + * @param {JQuery} Specific button element + * @returns {void} + */ enableItem(element: JQuery): void; /** Returns the index value for specified button element in the GroupButton control. - * @param {JQuery} Specific button element - * @returns {number} - */ + * @param {JQuery} Specific button element + * @returns {number} + */ getIndex(element: JQuery): number; /** This method returns the list of active state button elements from the GroupButton control. - * @returns {any} - */ + * @returns {any} + */ getSelectedItem(): any; /** Hides the GroupButton control - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** Hide the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ + * @param {JQuery} Specific button element + * @returns {void} + */ hideItem(element: JQuery): void; /** Returns the disabled state of the specified element button element in GroupButton as Boolean. - * @returns {boolean} - */ + * @returns {boolean} + */ isDisabled(): boolean; /** Returns the state of the specified button element as Boolean. - * @returns {boolean} - */ + * @returns {boolean} + */ isSelected(): boolean; /** Public method used to select the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ + * @param {JQuery} Specific button element + * @returns {void} + */ selectItem(element: JQuery): void; /** Shows the GroupButton control, if its hide. - * @returns {void} - */ + * @returns {void} + */ show(): void; /** Show the specified hidden button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ + * @param {JQuery} Specific button element + * @returns {void} + */ showItem(element: JQuery): void; } -export module GroupButton{ +export namespace GroupButton { -export interface Model { + export interface Model { - /** Sets the specified class to GroupButton wrapper element, which allows for custom skinning option in ejGroupButton control. - */ - cssClass?: string; + /** Sets the specified class to GroupButton wrapper element, which allows for custom skinning option in ejGroupButton control. + */ + cssClass?: string; - /** To set the local JSON data, define a JSON array and initialize the GroupButton with dataSource property. Specify the column names in the fields property. - * @Default {null} - */ - dataSource?: any; + /** To set the local JSON data, define a JSON array and initialize the GroupButton with dataSource property. Specify the column names in the fields property. + * @Default {null} + */ + dataSource?: any; - /** Displays the ejGroupButton in Right to Left direction. - * @Default {false} - */ - enableRTL?: boolean; + /** Displays the ejGroupButton in Right to Left direction. + * @Default {false} + */ + enableRTL?: boolean; - /** Used to enable or disable the ejGroupButton control. - * @Default {true} - */ - enabled?: boolean; + /** Used to enable or disable the ejGroupButton control. + * @Default {true} + */ + enabled?: boolean; - /** Gets or sets a value that indicates to display the values of the data. - * @Default {null} - */ - fields?: any; + /** Gets or sets a value that indicates to display the values of the data. + * @Default {null} + */ + fields?: any; - /** Sets the GroupButton behavior to works as Checkbox mode/ radio button mode based on the specified option. - * @Default {ej.GroupButtonMode.RadioButton} - */ - groupButtonMode?: ej.GroupButtonMode | string; + /** Sets the GroupButton behavior to works as Checkbox mode/ radio button mode based on the specified option. + * @Default {ej.GroupButtonMode.RadioButton} + */ + groupButtonMode?: ej.GroupButtonMode | string; - /** Used to sets the height of the ejGroupButton control. - * @Default {28} - */ - height?: string|number; + /** Used to sets the height of the ejGroupButton control. + * @Default {28} + */ + height?: string | number; - /** Defines the characteristics of the ejGroupButton control and extend the capability of an HTML element by adding specified attributes to element tag and by performing the related actions - * @Default {{}} - */ - htmlAttributes?: any; + /** Defines the characteristics of the ejGroupButton control and extend the capability of an HTML element by adding specified attributes to element tag and by performing the related actions + * @Default {{}} + */ + htmlAttributes?: any; - /** Specify the orientation of the GroupButton. See below to get available orientations - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation|string; + /** Specify the orientation of the GroupButton. See below to get available orientations + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; - /** Query the dataSource from the table for Groupbutton - * @Default {null} - */ - query?: any; + /** Query the dataSource from the table for Groupbutton + * @Default {null} + */ + query?: any; - /** Sets the list of button elements to be selected. To enable this option groupButtonMode should be in “checkbox” mode. - * @Default {[]} - */ - selectedItemIndex?: number[]|string[]; + /** Sets the list of button elements to be selected. To enable this option groupButtonMode should be in “checkbox” mode. + * @Default {[]} + */ + selectedItemIndex?: number[] | string[]; - /** Sets the rounder corner to the GroupButton, if sets as true. - * @Default {false} - */ - showRoundedCorner?: boolean; + /** Sets the rounder corner to the GroupButton, if sets as true. + * @Default {false} + */ + showRoundedCorner?: boolean; - /** Specifies the size of the button. See available size - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize|string; + /** Specifies the size of the button. See available size + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize | string; - /** Defines the width of the ejGroupButton control. - */ - width?: string|number; + /** Defines the width of the ejGroupButton control. + */ + width?: string | number; - /** Triggered before any button element in the GroupButton get selected. */ - beforeSelect? (e: BeforeSelectEventArgs): void; + /** Triggered before any button element in the GroupButton get selected. */ + beforeSelect?(e: BeforeSelectEventArgs): void; - /** Fires after GroupButton control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ - create? (e: CreateEventArgs): void; + /** Fires after GroupButton control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ + create?(e: CreateEventArgs): void; - /** Fires when the GroupButton is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ - destroy? (e: DestroyEventArgs): void; + /** Fires when the GroupButton is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ + destroy?(e: DestroyEventArgs): void; - /** Triggered once the key is pressed, when the control is in focused state. */ - keyPress? (e: KeyPressEventArgs): void; + /** Triggered once the key is pressed, when the control is in focused state. */ + keyPress?(e: KeyPressEventArgs): void; - /** Triggered when the button element get selected. */ - select? (e: SelectEventArgs): void; + /** Triggered when the button element get selected. */ + select?(e: SelectEventArgs): void; + } + + export interface BeforeSelectEventArgs { + + /** Boolean value based on whether the button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the button element ID. + */ + id?: string; + + /** Button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the GroupButton model + */ + model?: ej.GroupButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the GroupButton model + */ + model?: ej.GroupButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface KeyPressEventArgs { + + /** Boolean value based on whether the button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the button element ID. + */ + id?: string; + + /** Button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + } + + export interface SelectEventArgs { + + /** Boolean value based on whether the selected button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the selected button element ID. + */ + id?: string; + + /** Selected button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + } } - -export interface BeforeSelectEventArgs { - - /** Boolean value based on whether the button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the button element ID. - */ - id?: string; - - /** Button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model ; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; -} - -export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the GroupButton model - */ - model?: ej.GroupButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the GroupButton model - */ - model?: ej.GroupButton.Model; - - /** returns the name of the event - */ - type?: string; -} - -export interface KeyPressEventArgs { - - /** Boolean value based on whether the button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the button element ID. - */ - id?: string; - - /** Button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; -} - -export interface SelectEventArgs { - - /** Boolean value based on whether the selected button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the selected button element ID. - */ - id?: string; - - /** Selected button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; -} -} -enum GroupButtonMode -{ -//Sets the GroupButton to work as checkbox mode -CheckBox, -//Sets the RadioButton to work as radio button mode -RadioButton, +enum GroupButtonMode { + //Sets the GroupButton to work as checkbox mode + CheckBox, + //Sets the RadioButton to work as radio button mode + RadioButton, } class NavigationDrawer extends ej.Widget { static fn: NavigationDrawer; - constructor(element: JQuery, options?: NavigationDrawer.Model); - constructor(element: Element, options?: NavigationDrawer.Model); + constructor(element: JQuery | Element, options?: NavigationDrawer.Model); static Locale: any; - model:NavigationDrawer.Model; - defaults:NavigationDrawer.Model; + model: NavigationDrawer.Model; + defaults: NavigationDrawer.Model; /** To close the navigation drawer control - * @returns {void} - */ + * @returns {void} + */ close(): void; /** To load AJAX content into NavigationDrawer container. - * @returns {void} - */ + * @returns {void} + */ loadContent(): void; /** To open the navigation drawer control - * @returns {void} - */ + * @returns {void} + */ open(): void; /** To Toggle the navigation drawer control - * @returns {void} - */ + * @returns {void} + */ toggle(): void; } -export module NavigationDrawer{ +export namespace NavigationDrawer { -export interface Model { + export interface Model { - /** Specifies the ajaxSettings option to load the content to the NavigationDrawer control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; + /** Specifies the ajaxSettings option to load the content to the NavigationDrawer control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; - /** Specifies the contentId for navigation drawer, where the AJAX content need to updated - * @Default {null} - */ - contentId?: string; + /** Specifies the contentId for navigation drawer, where the AJAX content need to updated + * @Default {null} + */ + contentId?: string; - /** Sets the root class for NavigationDrawer theme. This cssClass API helps to use custom skinning option for NavigationDrawer control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; + /** Sets the root class for NavigationDrawer theme. This cssClass API helps to use custom skinning option for NavigationDrawer control. + * By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; - /** Sets the Direction for the control. See Direction - * @Default {left} - */ - direction?: ej.Direction|string; + /** Sets the Direction for the control. See Direction + * @Default {left} + */ + direction?: ej.Direction | string; - /** Sets the listview to be enabled or not - * @Default {false} - */ - enableListView?: boolean; + /** Sets the listview to be enabled or not + * @Default {false} + */ + enableListView?: boolean; - /** Specifies the listview items as an array of object. - * @Default {[]} - */ - items?: Array; + /** Specifies the listview items as an array of object. + * @Default {[]} + */ + items?: any[]; - /** Sets all the properties of listview to render in navigation drawer - */ - listViewSettings?: any; + /** Sets all the properties of listview to render in navigation drawer + */ + listViewSettings?: any; - /** Specifies position whether it is in fixed or relative to the page. See Position - * @Default {normal} - */ - position?: string; + /** Specifies position whether it is in fixed or relative to the page. See Position + * @Default {normal} + */ + position?: string; - /** Specifies the targetId for navigation drawer - */ - targetId?: string; + /** Specifies the targetId for navigation drawer + */ + targetId?: string; - /** Sets the rendering type of the control. See Type - * @Default {overlay} - */ - type?: string; + /** Sets the rendering type of the control. See Type + * @Default {overlay} + */ + type?: string; - /** Specifies the width of the control - * @Default {auto} - */ - width?: number; + /** Specifies the width of the control + * @Default {auto} + */ + width?: number; - /** Navigation pane opened initially when isPaneOpen property is true. - * @Default {false} - */ - isPaneOpen?: boolean; + /** Navigation pane opened initially when isPaneOpen property is true. + * @Default {false} + */ + isPaneOpen?: boolean; - /** Event triggers after the AJAX content loaded completely. */ - ajaxComplete? (e: AjaxCompleteEventArgs): void; + /** Event triggers after the AJAX content loaded completely. */ + ajaxComplete?(e: AjaxCompleteEventArgs): void; - /** Event triggers when the AJAX request failed. */ - ajaxError? (e: AjaxErrorEventArgs): void; + /** Event triggers when the AJAX request failed. */ + ajaxError?(e: AjaxErrorEventArgs): void; - /** Event triggers after the AJAX content loaded successfully. */ - ajaxSuccess? (e: AjaxSuccessEventArgs): void; + /** Event triggers after the AJAX content loaded successfully. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; - /** Event triggers before the control gets closed. */ - beforeClose? (e: BeforeCloseEventArgs): void; + /** Event triggers before the control gets closed. */ + beforeClose?(e: BeforeCloseEventArgs): void; - /** Event triggers when the control open. */ - open? (e: OpenEventArgs): void; + /** Event triggers when the control open. */ + open?(e: OpenEventArgs): void; - /** Event triggers when the Swipe happens. */ - swipe? (e: SwipeEventArgs): void; -} + /** Event triggers when the Swipe happens. */ + swipe?(e: SwipeEventArgs): void; + } -export interface AjaxCompleteEventArgs { + export interface AjaxCompleteEventArgs { - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; -} + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; + } -export interface AjaxErrorEventArgs { + export interface AjaxErrorEventArgs { - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; - /** returns the error thrown in the AJAX post. - */ - errorThrown?: any; + /** returns the error thrown in the AJAX post. + */ + errorThrown?: any; - /** returns the status. - */ - textStatus?: any; -} + /** returns the status. + */ + textStatus?: any; + } -export interface AjaxSuccessEventArgs { + export interface AjaxSuccessEventArgs { - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; - /** returns the AJAX current content. - */ - content?: string; + /** returns the AJAX current content. + */ + content?: string; - /** returns the current URL of the AJAX post. - */ - URL?: string; -} + /** returns the current URL of the AJAX post. + */ + URL?: string; + } -export interface BeforeCloseEventArgs { + export interface BeforeCloseEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface OpenEventArgs { + export interface OpenEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface SwipeEventArgs { + export interface SwipeEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface AjaxSettings { + export interface AjaxSettings { - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; - /** It specifies the type of data is send in the query string. - */ - contentType?: string; + /** It specifies the type of data is send in the query string. + */ + contentType?: string; - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; - /** It specifies the HTTP request type. - */ - type?: string; -} + /** It specifies the HTTP request type. + */ + type?: string; + } } class RadialMenu extends ej.Widget { static fn: RadialMenu; - constructor(element: JQuery, options?: RadialMenu.Model); - constructor(element: Element, options?: RadialMenu.Model); + constructor(element: JQuery | Element, options?: RadialMenu.Model); static Locale: any; - model:RadialMenu.Model; - defaults:RadialMenu.Model; + model: RadialMenu.Model; + defaults: RadialMenu.Model; /** To hide the radialmenu - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** To hide the radialmenu items - * @returns {void} - */ + * @returns {void} + */ hideMenu(): void; /** To Show the radial menu - * @returns {void} - */ + * @returns {void} + */ show(): void; /** To show menu items - * @returns {void} - */ + * @returns {void} + */ showMenu(): void; /** To enable menu item using index - * @param {number} Index of the Radialmenu to be enabled. - * @returns {void} - */ + * @param {number} Index of the Radialmenu to be enabled. + * @returns {void} + */ enableItemByIndex(itemIndex: number): void; /** To enable menu items using indices - * @param {Array} Index of the Radialmenu to be enabled. - * @returns {void} - */ - enableItemsByIndices(itemIndices: Array): void; + * @param {Array} Index of the Radialmenu to be enabled. + * @returns {void} + */ + enableItemsByIndices(itemIndices: any[]): void; /** To disable menu item using index - * @param {number} Index of the Radialmenu to be disabled. - * @returns {void} - */ + * @param {number} Index of the Radialmenu to be disabled. + * @returns {void} + */ disableItemByIndex(itemIndex: number): void; /** To disable menu items using indices - * @param {Array} items of the Radialmenu to disable. - * @returns {void} - */ - disableItemsByIndices(itemIndices: Array): void; + * @param {Array} items of the Radialmenu to disable. + * @returns {void} + */ + disableItemsByIndices(itemIndices: any[]): void; /** To enable menu item using item text - * @param {string} item of the Radialmenu item to enable. - * @returns {void} - */ + * @param {string} item of the Radialmenu item to enable. + * @returns {void} + */ enableItem(item: string): void; /** To disable menu item using item text - * @param {string} item of the Radialmenu item to disable. - * @returns {void} - */ + * @param {string} item of the Radialmenu item to disable. + * @returns {void} + */ disableItem(item: string): void; /** To enable menu items using item texts - * @param {Array} items of the Radialmenu item to enable. - * @returns {void} - */ - enableItems(items: Array): void; + * @param {Array} items of the Radialmenu item to enable. + * @returns {void} + */ + enableItems(items: any[]): void; /** To disable menu items using item texts - * @param {Array} items of the Radialmenu item to disable. - * @returns {void} - */ - disableItems(items: Array): void; + * @param {Array} items of the Radialmenu item to disable. + * @returns {void} + */ + disableItems(items: any[]): void; /** To update menu item badge value - * @param {number} The index value to add the given items at the specified index. If index is not specified, the given value will not be updated. - * @param {number} The Value to be updated in the badge. It will be updated based on the given index - * @returns {void} - */ + * @param {number} The index value to add the given items at the specified index. If index is not specified, the given value will not be updated. + * @param {number} The Value to be updated in the badge. It will be updated based on the given index + * @returns {void} + */ updateBadgeValue(index: number, value: number): void; /** To show menu item badge - * @param {number} Index of the Radialmenu item to be shown badge. - * @returns {void} - */ + * @param {number} Index of the Radialmenu item to be shown badge. + * @returns {void} + */ showBadge(index: number): void; /** To hide menu item badge - * @param {number} Index of the Radialmenu item to hide the badge. - * @returns {void} - */ + * @param {number} Index of the Radialmenu item to hide the badge. + * @returns {void} + */ hideBadge(index: number): void; } -export module RadialMenu{ +export namespace RadialMenu { -export interface Model { + export interface Model { - /** To show the Radial in initial render. - */ - autoOpen?: boolean; + /** To show the Radial in initial render. + */ + autoOpen?: boolean; - /** Renders the back button Image for Radial using class. - */ - backImageClass?: string; + /** Renders the back button Image for Radial using class. + */ + backImageClass?: string; - /** Sets the root class for RadialMenu theme. This cssClass API helps to use custom skinning option for RadialMenu control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; + /** Sets the root class for RadialMenu theme. This cssClass API helps to use custom skinning option for RadialMenu control. By defining the root class using this API, + * we need to include this root class in CSS. + */ + cssClass?: string; - /** To enable Animation for Radial Menu. - */ - enableAnimation?: boolean; + /** To enable Animation for Radial Menu. + */ + enableAnimation?: boolean; - /** Renders the Image for Radial using Class. - */ - imageClass?: string; + /** Renders the Image for Radial using Class. + */ + imageClass?: string; - /** Specify the items of radial menu - */ - items?: Array; + /** Specify the items of radial menu + */ + items?: Item[]; - /** Specifies the radius of radial menu - */ - radius?: number; + /** Specifies the radius of radial menu + */ + radius?: number; - /** To show the Radial while clicking given target element. - */ - targetElementId?: string; + /** To show the Radial while clicking given target element. + */ + targetElementId?: string; - /** To set radial render position. - */ - position?: any; + /** To set radial render position. + */ + position?: any; - /** Event triggers when we click an item. */ - click? (e: ClickEventArgs): void; + /** Event triggers when we click an item. */ + click?(e: ClickEventArgs): void; - /** Event triggers when the menu is opened. */ - open? (e: OpenEventArgs): void; + /** Event triggers when the menu is opened. */ + open?(e: OpenEventArgs): void; - /** Event triggers when the menu is closed. */ - close? (e: CloseEventArgs): void; -} + /** Event triggers when the menu is closed. */ + close?(e: CloseEventArgs): void; + } -export interface ClickEventArgs { + export interface ClickEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialmenu model - */ - model?: any; + /** returns the Radialmenu model + */ + model?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the item of element - */ - item?: any; + /** returns the item of element + */ + item?: any; - /** returns the name of item - */ - itemName?: string; -} + /** returns the name of item + */ + itemName?: string; + } -export interface OpenEventArgs { + export interface OpenEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialmenu model - */ - model?: any; + /** returns the Radialmenu model + */ + model?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface CloseEventArgs { + export interface CloseEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialmenu model - */ - model?: any; + /** returns the Radialmenu model + */ + model?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface ItemsBadge { + export interface ItemsBadge { - /** Specifies whether to enable radialmenu item badge or not. - */ - enabled?: boolean; + /** Specifies whether to enable radialmenu item badge or not. + */ + enabled?: boolean; - /** Specifies the value of radial menu item badge. - */ - value?: number; -} + /** Specifies the value of radial menu item badge. + */ + value?: number; + } -export interface ItemsSliderSettings { + export interface ItemsSliderSettings { - /** Specifies the sliderSettings ticks values of nested radial menu items. - */ - ticks?: Array; + /** Specifies the sliderSettings ticks values of nested radial menu items. + */ + ticks?: any[]; - /** Specifies the sliderSettings stroke Width value. - */ - strokeWidth?: number; + /** Specifies the sliderSettings stroke Width value. + */ + strokeWidth?: number; - /** Specifies the value of sliderSettings labelSpace . - */ - labelSpace?: number; -} + /** Specifies the value of sliderSettings labelSpace . + */ + labelSpace?: number; + } -export interface Item { + export interface Item { - /** Specify the URL of the frame background image for radial menu item. - */ - imageUrl?: string; + /** Specify the URL of the frame background image for radial menu item. + */ + imageUrl?: string; - /** Specifies the text of RadialMenu item. - */ - text?: string; + /** Specifies the text of RadialMenu item. + */ + text?: string; - /** Specifies the enable state of RadialMenu item. - */ - enabled?: boolean; + /** Specifies the enable state of RadialMenu item. + */ + enabled?: boolean; - /** specify the click event to corresponding image/text for performing some specific action. - */ - click?: string; + /** specify the click event to corresponding image/text for performing some specific action. + */ + click?: string; - /** Specifies radialmenu item badges. - */ - badge?: ItemsBadge; + /** Specifies radialmenu item badges. + */ + badge?: ItemsBadge; - /** Specifies the type of nested radial menu item. - */ - type?: string; + /** Specifies the type of nested radial menu item. + */ + type?: string; - /** Specifies the sliderSettings ticks for nested radial menu items. - */ - sliderSettings?: ItemsSliderSettings; + /** Specifies the sliderSettings ticks for nested radial menu items. + */ + sliderSettings?: ItemsSliderSettings; - /** Specifies to add sub level items . - */ - items?: Array; -} + /** Specifies to add sub level items . + */ + items?: any[]; + } } class Tile extends ej.Widget { static fn: Tile; - constructor(element: JQuery, options?: Tile.Model); - constructor(element: Element, options?: Tile.Model); + constructor(element: JQuery | Element, options?: Tile.Model); static Locale: any; - model:Tile.Model; - defaults:Tile.Model; + model: Tile.Model; + defaults: Tile.Model; /** Update the image template of tile item to another one. - * @param {string} UpdateTemplate by using id - * @param {number} index of the tile - * @returns {void} - */ + * @param {string} UpdateTemplate by using id + * @param {number} index of the tile + * @returns {void} + */ updateTemplate(id: string, index: number): void; } -export module Tile{ - -export interface Model { - - /** Section for badge specific functionalities and it represents the notification for tile items. - */ - badge?: Badge; - - /** Section for caption specific functionalities and it represents the notification for tile items. - */ - caption?: Caption; - - /** Sets the root class for Tile theme. This cssClass API helps to use custom skinning option for Tile control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** Saves current model value to browser cookies for state maintains. While refreshing the page retains the model value applies from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Customize the tile size height. - * @Default {null} - */ - height?: number; - - /** Specifies Tile imageClass, using this property we can give images for each tile through CSS classes. - * @Default {null} - */ - imageClass?: string; - - /** Specifies the position of tile image. - * @Default {center} - */ - imagePosition?: ej.Tile.ImagePosition|string; - - /** Specifies the tile image in outside of template content. - * @Default {null} - */ - imageTemplateId?: string; - - /** Specifies the URL of tile image. - * @Default {null} - */ - imageUrl?: string; - - /** Set the localization culture for Tile Widget. - */ - locale?: String; - - /** Section for liveTile specific functionalities. - */ - liveTile?: LiveTile; - - /** Specifies the size of a tile. See tileSize - * @Default {small} - */ - tileSize?: ej.Tile.TileSize|string; - - /** Customize the tile size width. - * @Default {null} - */ - width?: number; - - /** Sets the rounded corner to tile. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Sets allowSelection to tile. - * @Default {false} - */ - allowSelection?: boolean; - - /** Sets the background color to tile. - * @Default {null} - */ - backgroundColor?: string; - - /** Event triggers when the mouseDown happens in the tile */ - mouseDown? (e: MouseDownEventArgs): void; - - /** Event triggers when the mouseUp happens in the tile */ - mouseUp? (e: MouseUpEventArgs): void; -} - -export interface MouseDownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tile model - */ - model?: boolean; - - /** returns the name of the event - */ - type?: boolean; - - /** returns the current tile text - */ - text?: string; - - /** returns the index of current tile item - */ - index?: number; -} - -export interface MouseUpEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tile model - */ - model?: boolean; - - /** returns the name of the event - */ - type?: boolean; - - /** returns the current tile text - */ - text?: boolean; - - /** returns the index of current tile item - */ - index?: number; -} - -export interface Badge { - - /** Specifies whether to enable badge or not. - * @Default {false} - */ - enabled?: boolean; - - /** Specifies maximum value for tile badge. - * @Default {100} - */ - maxValue?: number; - - /** Specifies minimum value for tile badge. - * @Default {1} - */ - minValue?: number; - - /** Specifies text instead of number for tile badge. - * @Default {null} - */ - text?: string; - - /** Sets value for tile badge. - * @Default {1} - */ - value?: number; +export namespace Tile { + + export interface Model { + + /** Section for badge specific functionalities and it represents the notification for tile items. + */ + badge?: Badge; + + /** Section for caption specific functionalities and it represents the notification for tile items. + */ + caption?: Caption; + + /** Sets the root class for Tile theme. This cssClass API helps to use custom skinning option for Tile control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** Saves current model value to browser cookies for state maintains. While refreshing the page retains the model value applies from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Customize the tile size height. + * @Default {null} + */ + height?: number; + + /** Specifies Tile imageClass, using this property we can give images for each tile through CSS classes. + * @Default {null} + */ + imageClass?: string; + + /** Specifies the position of tile image. + * @Default {center} + */ + imagePosition?: ej.Tile.ImagePosition | string; + + /** Specifies the tile image in outside of template content. + * @Default {null} + */ + imageTemplateId?: string; + + /** Specifies the URL of tile image. + * @Default {null} + */ + imageUrl?: string; + + /** Set the localization culture for Tile Widget. + */ + locale?: string; + + /** Section for liveTile specific functionalities. + */ + liveTile?: LiveTile; + + /** Specifies the size of a tile. See tileSize + * @Default {small} + */ + tileSize?: ej.Tile.TileSize | string; + + /** Customize the tile size width. + * @Default {null} + */ + width?: number; + + /** Sets the rounded corner to tile. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Sets allowSelection to tile. + * @Default {false} + */ + allowSelection?: boolean; + + /** Sets the background color to tile. + * @Default {null} + */ + backgroundColor?: string; + + /** Event triggers when the mouseDown happens in the tile */ + mouseDown?(e: MouseDownEventArgs): void; + + /** Event triggers when the mouseUp happens in the tile */ + mouseUp?(e: MouseUpEventArgs): void; + } + + export interface MouseDownEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tile model + */ + model?: boolean; + + /** returns the name of the event + */ + type?: boolean; + + /** returns the current tile text + */ + text?: string; + + /** returns the index of current tile item + */ + index?: number; + } + + export interface MouseUpEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tile model + */ + model?: boolean; + + /** returns the name of the event + */ + type?: boolean; + + /** returns the current tile text + */ + text?: boolean; + + /** returns the index of current tile item + */ + index?: number; + } + + export interface Badge { + + /** Specifies whether to enable badge or not. + * @Default {false} + */ + enabled?: boolean; + + /** Specifies maximum value for tile badge. + * @Default {100} + */ + maxValue?: number; + + /** Specifies minimum value for tile badge. + * @Default {1} + */ + minValue?: number; + + /** Specifies text instead of number for tile badge. + * @Default {null} + */ + text?: string; + + /** Sets value for tile badge. + * @Default {1} + */ + value?: number; - /** Sets position for tile badge. - * @Default {“bottomright”} - */ - position?: ej.Tile.BadgePosition|string; -} + /** Sets position for tile badge. + * @Default {“bottomright”} + */ + position?: ej.Tile.BadgePosition | string; + } -export interface Caption { + export interface Caption { - /** Specifies whether the tile text to be shown or hidden. - * @Default {true} - */ - enabled?: boolean; + /** Specifies whether the tile text to be shown or hidden. + * @Default {true} + */ + enabled?: boolean; - /** Changes the text of a tile. - * @Default {Text} - */ - text?: string; + /** Changes the text of a tile. + * @Default {Text} + */ + text?: string; - /** It is used to align the text of a tile. - * @Default {normal} - */ - alignment?: ej.Tile.CaptionAlignment|string; + /** It is used to align the text of a tile. + * @Default {normal} + */ + alignment?: ej.Tile.CaptionAlignment | string; - /** It is used to specify the caption position like Inner top, inner bottom and outer. - * @Default {Innerbottom} - */ - position?: ej.Tile.CaptionPosition|string; + /** It is used to specify the caption position like Inner top, inner bottom and outer. + * @Default {Innerbottom} + */ + position?: ej.Tile.CaptionPosition | string; - /** sets the icon instead of text. - * @Default {null} - */ - icon?: string; -} + /** sets the icon instead of text. + * @Default {null} + */ + icon?: string; + } -export interface LiveTile { + export interface LiveTile { - /** Specifies whether to enable liveTile or not. - * @Default {false} - */ - enabled?: boolean; + /** Specifies whether to enable liveTile or not. + * @Default {false} + */ + enabled?: boolean; - /** Specifies liveTile images in CSS classes. - * @Default {null} - */ - imageClass?: Array; + /** Specifies liveTile images in CSS classes. + * @Default {null} + */ + imageClass?: any[]; - /** Specifies liveTile images in templates. - * @Default {null} - */ - imageTemplateId?: Array; + /** Specifies liveTile images in templates. + * @Default {null} + */ + imageTemplateId?: any[]; - /** Specifies liveTile images in CSS classes. - * @Default {null} - */ - imageUrl?: Array; + /** Specifies liveTile images in CSS classes. + * @Default {null} + */ + imageUrl?: any[]; - /** Specifies liveTile type for Tile. See orientation - * @Default {flip} - */ - type?: ej.Tile.liveTileType|string; + /** Specifies liveTile type for Tile. See orientation + * @Default {flip} + */ + type?: ej.Tile.liveTileType | string; - /** Specifies time interval between two successive liveTile animation - * @Default {2000} - */ - updateInterval?: number; + /** Specifies time interval between two successive liveTile animation + * @Default {2000} + */ + updateInterval?: number; - /** Sets the text to each living tile - * @Default {Null} - */ - text?: Array; -} + /** Sets the text to each living tile + * @Default {Null} + */ + text?: any[]; + } -enum BadgePosition{ + enum BadgePosition { - ///To set the topright position of tile badge - Topright, + ///To set the topright position of tile badge + Topright, - ///To set the bottomright of tile badge - Bottomright -} + ///To set the bottomright of tile badge + Bottomright + } -enum CaptionAlignment{ + enum CaptionAlignment { - ///To set the normal alignment of text in tile control - Normal, + ///To set the normal alignment of text in tile control + Normal, - ///To set the left alignment of text in tile control - Left, + ///To set the left alignment of text in tile control + Left, - ///To set the right alignment of text in tile control - Right, + ///To set the right alignment of text in tile control + Right, - ///To set the center alignment of text in tile control - Center -} + ///To set the center alignment of text in tile control + Center + } -enum CaptionPosition{ + enum CaptionPosition { - ///To set the inner top position of the tile text - Innertop, + ///To set the inner top position of the tile text + Innertop, - ///To set the inner bottom position of the tile text - Innerbottom, + ///To set the inner bottom position of the tile text + Innerbottom, - ///To set the outer position of the tile text - Outer -} + ///To set the outer position of the tile text + Outer + } -enum ImagePosition{ + enum ImagePosition { - ///To set the center position of tile image - Center, + ///To set the center position of tile image + Center, - ///To set the top center position of tile image - TopCenter, + ///To set the top center position of tile image + TopCenter, - ///To set the bottom center position of tile image - BottomCenter, + ///To set the bottom center position of tile image + BottomCenter, - ///To set the right center position of tile image - RightCenter, + ///To set the right center position of tile image + RightCenter, - ///To set the left center position of tile image - LeftCenter, + ///To set the left center position of tile image + LeftCenter, - ///To set the topleft position of tile image - TopLeft, + ///To set the topleft position of tile image + TopLeft, - ///To set the topright position of tile image - TopRight, + ///To set the topright position of tile image + TopRight, - ///To set the bottomright position of tile image - BottomRight, + ///To set the bottomright position of tile image + BottomRight, - ///To set the bottomleft position of tile image - BottomLeft, + ///To set the bottomleft position of tile image + BottomLeft, - ///To set the fill position of tile image - Fill -} + ///To set the fill position of tile image + Fill + } -enum liveTileType{ + enum liveTileType { - ///To set flip type of liveTile for tile control - Flip, + ///To set flip type of liveTile for tile control + Flip, - ///To set slide type of liveTile for tile control - Slide, + ///To set slide type of liveTile for tile control + Slide, - ///To set carousel type of liveTile for tile control - Carousel -} + ///To set carousel type of liveTile for tile control + Carousel + } -enum TileSize{ + enum TileSize { - ///To set the medium size for tile control - Medium, + ///To set the medium size for tile control + Medium, - ///To set the small size for tile control - Small, + ///To set the small size for tile control + Small, - ///To set the large size for tile control - Large, + ///To set the large size for tile control + Large, - ///To set the wide size for tile control - Wide -} + ///To set the wide size for tile control + Wide + } } class Signature extends ej.Widget { static fn: Signature; - constructor(element: JQuery, options?: Signature.Model); - constructor(element: Element, options?: Signature.Model); + constructor(element: JQuery | Element, options?: Signature.Model); static Locale: any; - model:Signature.Model; - defaults:Signature.Model; + model: Signature.Model; + defaults: Signature.Model; /** Clears the strokes in the signature. - * @returns {void} - */ + * @returns {void} + */ clear(): void; /** Destroys the signature widget. - * @returns {void} - */ + * @returns {void} + */ destroy(): void; /** Disables the signature widget. - * @returns {void} - */ + * @returns {void} + */ disable(): void; /** Enables the signature widget. - * @returns {void} - */ + * @returns {void} + */ enable(): void; /** Hides the signature widget. - * @returns {void} - */ + * @returns {void} + */ hide(): void; /** redo the last drawn stroke of the signature - * @returns {void} - */ + * @returns {void} + */ redo(): void; /** used to save the drawn image. - * @param {string} The file name of the signature to be downloaded. - * @returns {void} - */ - save(Filename: string): void; + * @returns {void} + */ + save(): void; /** Used to Show the signature widget, if it is already hided. - * @returns {void} - */ + * @returns {void} + */ show(): void; /** undo the last drawn stroke of the signature. - * @returns {void} - */ + * @returns {void} + */ undo(): void; } -export module Signature{ +export namespace Signature { -export interface Model { + export interface Model { - /** This property is used to set the background color for the signature. - * @Default {#ffffff} - */ - backgroundColor?: string; + /** This property is used to set the background color for the signature. + * @Default {#ffffff} + */ + backgroundColor?: string; - /** This property is used to set the background image for the signature. - */ - backgroundImage?: string; + /** This property is used to set the background image for the signature. + */ + backgroundImage?: string; - /** Enables or disables the Signature textbox widget. - * @Default {true} - */ - enabled?: boolean; + /** Enables or disables the Signature textbox widget. + * @Default {true} + */ + enabled?: boolean; - /** Sets the height of the Signature control. - * @Default {100%} - */ - height?: string; + /** Sets the height of the Signature control. + * @Default {100%} + */ + height?: string; - /** Enables/disables responsive support for the signature control (i.e) maintain the signature drawing during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; + /** Enables/disables responsive support for the signature control (i.e) maintain the signature drawing during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; - /** Allows the type of the image format to be saved when the signature image is saved. - */ - saveImageFormat?: ej.Signature.SaveImageFormat|string; + /** Allows the type of the image format to be saved when the signature image is saved. + */ + saveImageFormat?: ej.Signature.SaveImageFormat | string; - /** Allows the signature image to be saved along with its background. - * @Default {false} - */ - saveWithBackground?: boolean; + /** Allows the signature image to be saved along with its background. + * @Default {false} + */ + saveWithBackground?: boolean; - /** Enables or disables rounded corner. - * @Default {true} - */ - showRoundedCorner?: boolean; + /** Enables or disables rounded corner. + * @Default {true} + */ + showRoundedCorner?: boolean; - /** Sets the stroke color for the stroke of the signature. - * @Default {#000000} - */ - strokeColor?: string; + /** Sets the stroke color for the stroke of the signature. + * @Default {#000000} + */ + strokeColor?: string; - /** Sets the stroke width for the stroke of the signature. - * @Default {2} - */ - strokeWidth?: number; + /** Sets the stroke width for the stroke of the signature. + * @Default {2} + */ + strokeWidth?: number; - /** Sets the width of the Signature control. - * @Default {100%} - */ - width?: string; + /** Sets the width of the Signature control. + * @Default {100%} + */ + width?: string; - /** Triggers when the stroke is changed. */ - change? (e: ChangeEventArgs): void; + /** Triggers when the stroke is changed. */ + change?(e: ChangeEventArgs): void; - /** Triggered when the pointer is clicked or touched in the signature canvas. */ - mouseDown? (e: MouseDownEventArgs): void; + /** Triggered when the pointer is clicked or touched in the signature canvas. */ + mouseDown?(e: MouseDownEventArgs): void; - /** Triggered when the pointer is moved in the signature canvas. */ - mouseMove? (e: MouseMoveEventArgs): void; + /** Triggered when the pointer is moved in the signature canvas. */ + mouseMove?(e: MouseMoveEventArgs): void; - /** Triggered when the pointer is released after click or touch in the signature canvas. */ - mouseUp? (e: MouseUpEventArgs): void; -} + /** Triggered when the pointer is released after click or touch in the signature canvas. */ + mouseUp?(e: MouseUpEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; - /** Gives the last stored image - */ - lastImage?: string; -} + /** Gives the last stored image + */ + lastImage?: string; + } -export interface MouseDownEventArgs { + export interface MouseDownEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; - /** returns all the event values - */ - value?: any; -} + /** returns all the event values + */ + value?: any; + } -export interface MouseMoveEventArgs { + export interface MouseMoveEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; - /** returns all the event values - */ - value?: any; -} + /** returns all the event values + */ + value?: any; + } -export interface MouseUpEventArgs { + export interface MouseUpEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; - /** Name of the event. - */ - type?: string; + /** Name of the event. + */ + type?: string; - /** returns all the event values - */ - value?: any; -} + /** returns all the event values + */ + value?: any; + } -enum SaveImageFormat{ + enum SaveImageFormat { - ///To save the signature image with PNG format only. - PNG, + ///To save the signature image with PNG format only. + PNG, - ///To save the signature image with JPG format only. - JPG, + ///To save the signature image with JPG format only. + JPG, - ///To save the signature image with BMP format only. - BMP, + ///To save the signature image with BMP format only. + BMP, - ///To save the signature image with TIFF format only. - TIFF -} + ///To save the signature image with TIFF format only. + TIFF + } } class RadialSlider extends ej.Widget { static fn: RadialSlider; - constructor(element: JQuery, options?: RadialSlider.Model); - constructor(element: Element, options?: RadialSlider.Model); + constructor(element: JQuery | Element, options?: RadialSlider.Model); static Locale: any; - model:RadialSlider.Model; - defaults:RadialSlider.Model; + model: RadialSlider.Model; + defaults: RadialSlider.Model; /** To show the radialslider - * @returns {void} - */ + * @returns {void} + */ show(): void; /** To hide the radialslider - * @returns {void} - */ + * @returns {void} + */ hide(): void; } -export module RadialSlider{ +export namespace RadialSlider { -export interface Model { + export interface Model { - /** To show the RadialSlider in initial render. - * @Default {false} - */ - autoOpen?: boolean; + /** To show the RadialSlider in initial render. + * @Default {false} + */ + autoOpen?: boolean; - /** Sets the root class for RadialSlider theme. This cssClass API helps to use custom skinning option for RadialSlider control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; + /** Sets the root class for RadialSlider theme. This cssClass API helps to use custom skinning option for RadialSlider control. + * By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; - /** To enable Animation for Radial Slider. - * @Default {true} - */ - enableAnimation?: boolean; + /** To enable Animation for Radial Slider. + * @Default {true} + */ + enableAnimation?: boolean; - /** Enable/Disable the Roundoff property of RadialSlider - * @Default {true} - */ - enableRoundOff?: boolean; + /** Enable/Disable the Roundoff property of RadialSlider + * @Default {true} + */ + enableRoundOff?: boolean; - /** Specifies the endAngle value for radial slider circle. - * @Default {360} - */ - endAngle?: number; + /** Specifies the endAngle value for radial slider circle. + * @Default {360} + */ + endAngle?: number; - /** Specifies the inline for label show or not on given radius. - * @Default {false} - */ - inline?: boolean; + /** Specifies the inline for label show or not on given radius. + * @Default {false} + */ + inline?: boolean; - /** Specifies innerCircleImageClass, using this property we can give images for center radial circle through CSS classes. - * @Default {null} - */ - innerCircleImageClass?: string; + /** Specifies innerCircleImageClass, using this property we can give images for center radial circle through CSS classes. + * @Default {null} + */ + innerCircleImageClass?: string; - /** Specifies the file name of center circle icon - * @Default {null} - */ - innerCircleImageUrl?: string; + /** Specifies the file name of center circle icon + * @Default {null} + */ + innerCircleImageUrl?: string; - /** Specifies the Space between the radial slider element and the label. - * @Default {30} - */ - labelSpace?: number; + /** Specifies the Space between the radial slider element and the label. + * @Default {30} + */ + labelSpace?: number; - /** Specifies the radius of radial slider - * @Default {200} - */ - radius?: number; + /** Specifies the radius of radial slider + * @Default {200} + */ + radius?: number; - /** To show the RadialSlider inner circle. - * @Default {true} - */ - showInnerCircle?: boolean; + /** To show the RadialSlider inner circle. + * @Default {true} + */ + showInnerCircle?: boolean; - /** Specifies the endAngle value for radial slider circle. - * @Default {0} - */ - startAngle?: number; + /** Specifies the endAngle value for radial slider circle. + * @Default {0} + */ + startAngle?: number; - /** Specifies the strokeWidth for customize the needle, outer circle and inner circle. - * @Default {2} - */ - strokeWidth?: number; + /** Specifies the strokeWidth for customize the needle, outer circle and inner circle. + * @Default {2} + */ + strokeWidth?: number; - /** Specifies the ticks value of radial slider - */ - ticks?: Array; + /** Specifies the ticks value of radial slider + */ + ticks?: any[]; - /** Specifies the value of radial slider - * @Default {10} - */ - value?: number; + /** Specifies the value of radial slider + * @Default {10} + */ + value?: number; - /** Event triggers when the change occurs. */ - change? (e: ChangeEventArgs): void; + /** Event triggers when the change occurs. */ + change?(e: ChangeEventArgs): void; - /** Event triggers when the radial slider is created. */ - create? (e: CreateEventArgs): void; + /** Event triggers when the radial slider is created. */ + create?(e: CreateEventArgs): void; - /** Event triggers when the mouse pointer is dragged over the radial slider. */ - mouseover? (e: MouseoverEventArgs): void; + /** Event triggers when the mouse pointer is dragged over the radial slider. */ + mouseover?(e: MouseoverEventArgs): void; - /** Event triggers when the Radial slider slides. */ - slide? (e: SlideEventArgs): void; + /** Event triggers when the Radial slider slides. */ + slide?(e: SlideEventArgs): void; - /** Event triggers when the radial slider starts. */ - start? (e: StartEventArgs): void; + /** Event triggers when the radial slider starts. */ + start?(e: StartEventArgs): void; - /** Event triggers when the radial slider stops. */ - stop? (e: StopEventArgs): void; -} + /** Event triggers when the radial slider stops. */ + stop?(e: StopEventArgs): void; + } -export interface ChangeEventArgs { + export interface ChangeEventArgs { - /** returns the Radialslider model - */ - model?: any; + /** returns the Radialslider model + */ + model?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the initial value of Radial slider - */ - oldValue?: number; + /** returns the initial value of Radial slider + */ + oldValue?: number; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current value of the Radial slider - */ - value?: number; -} + /** returns the current value of the Radial slider + */ + value?: number; + } -export interface CreateEventArgs { + export interface CreateEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialslider model - */ - model?: any; + /** returns the Radialslider model + */ + model?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface MouseoverEventArgs { + export interface MouseoverEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialslider model - */ - model?: any; + /** returns the Radialslider model + */ + model?: any; - /** returns the value selected - */ - selectedValue?: number; + /** returns the value selected + */ + selectedValue?: number; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current value selected in Radial slider - */ - value?: number; -} + /** returns the current value selected in Radial slider + */ + value?: number; + } -export interface SlideEventArgs { + export interface SlideEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialslider model - */ - model?: any; + /** returns the Radialslider model + */ + model?: any; - /** returns the value selected in Radial slider - */ - selectedValue?: number; + /** returns the value selected in Radial slider + */ + selectedValue?: number; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the currently selected value - */ - value?: number; -} + /** returns the currently selected value + */ + value?: number; + } -export interface StartEventArgs { + export interface StartEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialslider model - */ - model?: any; + /** returns the Radialslider model + */ + model?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current value selected in Radial slider - */ - value?: number; -} + /** returns the current value selected in Radial slider + */ + value?: number; + } -export interface StopEventArgs { + export interface StopEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the Radialslider model - */ - model?: any; + /** returns the Radialslider model + */ + model?: any; - /** returns the name of the event - */ - type?: string; + /** returns the name of the event + */ + type?: string; - /** returns the current value selected in Radial slider - */ - value?: number; -} + /** returns the current value selected in Radial slider + */ + value?: number; + } } class Spreadsheet extends ej.Widget { static fn: Spreadsheet; - constructor(element: JQuery, options?: Spreadsheet.Model); - constructor(element: Element, options?: Spreadsheet.Model); + constructor(element: JQuery | Element, options?: Spreadsheet.Model); static Locale: any; - model:Spreadsheet.Model; - defaults:Spreadsheet.Model; + model: Spreadsheet.Model; + defaults: Spreadsheet.Model; /** This method is used to add custom formulas in Spreadsheet. - * @param {string} Pass the name of the formula. - * @param {string} Pass the name of the function. - * @returns {void} - */ + * @param {string} Pass the name of the formula. + * @param {string} Pass the name of the function. + * @returns {void} + */ addCustomFormula(formulaName: string, functionName: string): void; /** This method is used to add a new sheet in the last position of the sheet container. - * @returns {void} - */ + * @returns {void} + */ addNewSheet(): void; /** It is used to clear all the data and format in the specified range of cells in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear all content in the specified range else it will use the current selected range. - * @returns {void} - */ - clearAll(range?: string|Array): void; + * @param {string|Array} Optional. If range is specified, then it will clear all content in the specified range else it will use the current selected range. + * @returns {void} + */ + clearAll(range?: string | any[]): void; /** This property is used to clear all the formats applied in the specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear all format in the specified range else it will use the current selected range. - * @returns {void} - */ - clearAllFormat(range?: string|Array): void; + * @param {string|Array} Optional. If range is specified, then it will clear all format in the specified range else it will use the current selected range. + * @returns {void} + */ + clearAllFormat(range?: string | any[]): void; /** Used to clear the applied border in the specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear border in the specified range else it will use the current selected range. - * @returns {void} - */ - clearBorder(range?: string|Array): void; + * @param {string|Array} Optional. If range is specified, then it will clear border in the specified range else it will use the current selected range. + * @returns {void} + */ + clearBorder(range?: string | any[]): void; /** This property is used to clear the contents in the specified range in Spreadsheet. - * @param {string|Array} Optional. If the range is specified, then it will clear the content in the specified range else it will use the current selected range. - * @returns {void} - */ - clearContents(range?: string|Array): void; + * @param {string|Array} Optional. If the range is specified, then it will clear the content in the specified range else it will use the current selected range. + * @returns {void} + */ + clearContents(range?: string | any[]): void; /** This method is used to remove only the data in the range denoted by the specified range name. - * @param {string} Pass the defined rangeSettings property name. - * @returns {void} - */ + * @param {string} Pass the defined rangeSettings property name. + * @returns {void} + */ clearRange(rangeName: string): void; /** It is used to remove data in the specified range of cells based on the defined property. - * @param {Array|string} Optional. If range is specified, it will clear data for the specified range else it will use the current selected range. - * @param {string} Optional. If property is specified, it will remove the specified property in the range else it will remove default properties - * @param {any} Optional. - * @param {boolean} Optional. pass {{'`true`' | markdownify}}, if you want to skip the hidden rows - * @param {any} Optional. Pass the status to perform undo and redo operation. - * @param {any} Optional. It specifies whether to skip element processing or not. - * @returns {void} - */ - clearRangeData(range?: Array|string, property?: string, cells?: any, skipHiddenRow?: boolean, status?: any, skipCell?: any): void; + * @param {Array|string} Optional. If range is specified, it will clear data for the specified range else it will use the current selected range. + * @param {string} Optional. If property is specified, it will remove the specified property in the range else it will remove default properties + * @param {any} Optional. + * @param {boolean} Optional. pass {{'`true`' | markdownify}}, if you want to skip the hidden rows + * @param {any} Optional. Pass the status to perform undo and redo operation. + * @param {any} Optional. It specifies whether to skip element processing or not. + * @returns {void} + */ + clearRangeData(range?: any[] | string, property?: string, cells?: any, skipHiddenRow?: boolean, status?: any, skipCell?: any): void; /** This method is used to clear undo and redo collections in the Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ clearUndoRedo(): void; /** This method is used to copy or move the sheets in Spreadsheet. - * @param {number} Pass the sheet index that you want to copy or move. - * @param {number} Pass the position index where you want to copy or move. - * @param {boolean} Pass {{'`true`' | markdownify}},If you want to copy sheet or else it will move sheet. - * @returns {void} - */ + * @param {number} Pass the sheet index that you want to copy or move. + * @param {number} Pass the position index where you want to copy or move. + * @param {boolean} Pass {{'`true`' | markdownify}},If you want to copy sheet or else it will move sheet. + * @returns {void} + */ copySheet(fromIdx: number, toIdx: number, isCopySheet: boolean): void; /** This method is used to delete the entire column which is selected. - * @param {number} Pass the start column index. - * @param {number} Pass the end column index. - * @returns {void} - */ + * @param {number} Pass the start column index. + * @param {number} Pass the end column index. + * @returns {void} + */ deleteEntireColumn(startCol: number, endCol: number): void; /** This method is used to delete the entire row which is selected. - * @param {number} Pass the start row index. - * @param {number} Pass the end row index. - * @returns {void} - */ + * @param {number} Pass the start row index. + * @param {number} Pass the end row index. + * @returns {void} + */ deleteEntireRow(startRow: number, endRow: number): void; /** This method is used to delete a particular sheet in the Spreadsheet. - * @param {number} Pass the sheet index to perform delete action. - * @returns {void} - */ + * @param {number} Pass the sheet index to perform delete action. + * @returns {void} + */ deleteSheet(idx: number): void; /** This method is used to delete the selected cells and shift the remaining cells to left. - * @param {any} Row index and column index of the starting cell. - * @param {any} Row index and column index of the ending cell. - * @returns {void} - */ + * @param {any} Row index and column index of the starting cell. + * @param {any} Row index and column index of the ending cell. + * @returns {void} + */ deleteShiftLeft(startCell: any, endCell: any): void; /** This method is used to delete the selected cells and shift the remaining cells up. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ deleteShiftUp(startCell: any, endCell: any): void; /** This method is used to edit data in the specified range of cells based on its corresponding rangeSettings. - * @param {string} Pass the defined rangeSettings property name. - * @param {Function} Pass the function that you want to perform range edit. - * @returns {void} - */ - editRange(rangeName: string, fn: Function): void; + * @param {string} Pass the defined rangeSettings property name. + * @param {Function} Pass the function that you want to perform range edit. + * @returns {void} + */ + editRange(rangeName: string, fn: any): void; /** This method is used to get the activation panel in the Spreadsheet. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getActivationPanel(): HTMLElement; /** This method is used to get the active cell object in Spreadsheet. It will returns object which contains rowIndex and colIndex of the active cell. - * @param {number} Optional. If sheetIdx is specified, it will return the active cell object in specified sheet index else it will use the current sheet index - * @returns {any} - */ + * @param {number} Optional. If sheetIdx is specified, it will return the active cell object in specified sheet index else it will use the current sheet index + * @returns {any} + */ getActiveCell(sheetIdx?: number): any; /** This method is used to get the active cell element based on the given sheet index in the Spreadsheet. - * @param {number} Optional. If sheetIndex is specified, it will return the active cell element in specified sheet index else it will use the current active sheet index. - * @returns {HTMLElement} - */ + * @param {number} Optional. If sheetIndex is specified, it will return the active cell element in specified sheet index else it will use the current active sheet index. + * @returns {HTMLElement} + */ getActiveCellElem(sheetIdx?: number): HTMLElement; /** This method is used to get the current active sheet index in Spreadsheet. - * @returns {number} - */ + * @returns {number} + */ getActiveSheetIndex(): number; /** This method is used to get the auto fill element in Spreadsheet. - * @returns {HTMLElement} - */ + * @returns {HTMLElement} + */ getAutoFillElem(): HTMLElement; /** This method is used to get the cell element based on specified row and column index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @param {number} Optional. Pass the sheet index that you want to get cell. - * @returns {HTMLElement} - */ + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @param {number} Optional. Pass the sheet index that you want to get cell. + * @returns {HTMLElement} + */ getCell(rowIdx: number, colIdx: number, sheetIdx?: number): HTMLElement; /** This method is used to get the data settings in the Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ + * @param {number} Pass the sheet index. + * @returns {number} + */ getDataSettings(sheetIdx: number): number; /** This method is used to get the frozen columns index in the Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ + * @param {number} Pass the sheet index. + * @returns {number} + */ getFrozenColumns(sheetIdx: number): number; /** This method is used to get the frozen row index in Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ + * @param {number} Pass the sheet index. + * @returns {number} + */ getFrozenRows(sheetIdx: number): number; /** This method is used to get the hyperlink data as object from the specified cell in Spreadsheet. - * @param {HTMLElement} Pass the DOM element to get hyperlink - * @returns {any} - */ + * @param {HTMLElement} Pass the DOM element to get hyperlink + * @returns {any} + */ getHyperlink(cell: HTMLElement): any; /** This method is used to get all cell elements in the specified range. - * @param {string} Pass the range that you want to get the cells. - * @param {number} Pass the index of the sheet. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. - * @returns {HTMLElement} - */ + * @param {string} Pass the range that you want to get the cells. + * @param {number} Pass the index of the sheet. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. + * @returns {HTMLElement} + */ getRange(range: string, sheetIdx: number, skipHiddenRow?: boolean): HTMLElement; /** This method is used to get the data in specified range in Spreadsheet. - * @param {any} Optional. Pass the range, property, sheetIdx, valueOnly in options. - * @returns {Array} - */ - getRangeData(options?: any): Array; + * @param {any} Optional. Pass the range, property, sheetIdx, valueOnly in options. + * @returns {Array} + */ + getRangeData(options?: any): any[]; /** This method is used to get the range indices array based on the specified alpha range in Spreadsheet. - * @param {string} Pass the alpha range that you want to get range indices. - * @returns {Array} - */ - getRangeIndices(range: string): Array; + * @param {string} Pass the alpha range that you want to get range indices. + * @returns {Array} + */ + getRangeIndices(range: string): any[]; /** This method is used to get the sheet details based on the given sheet index in Spreadsheet. - * @param {number} Pass the sheet index to get the sheet object. - * @returns {any} - */ + * @param {number} Pass the sheet index to get the sheet object. + * @returns {any} + */ getSheet(sheetIdx: number): any; /** This method is used to get the sheet content div element of Spreadsheet. - * @param {number} Pass the sheet index to get the sheet content. - * @returns {HTMLElement} - */ + * @param {number} Pass the sheet index to get the sheet content. + * @returns {HTMLElement} + */ getSheetElement(sheetIdx: number): HTMLElement; /** This method is used to get all the sheets in workbook. - * @returns {Array} - */ - getSheets(): Array; + * @returns {Array} + */ + getSheets(): any[]; /** This method is used to send a paging request to the specified sheet Index in the Spreadsheet. - * @param {number} Pass the sheet index to perform paging at specified sheet index - * @param {boolean} Pass {{'`true`' | markdownify}} to create a new sheet. If the specified sheet index is already exist, it navigate to that sheet else it create a new sheet. - * @returns {void} - */ + * @param {number} Pass the sheet index to perform paging at specified sheet index + * @param {boolean} Pass {{'`true`' | markdownify}} to create a new sheet. If the specified sheet index is already exist, it navigate to that sheet else it create a new sheet. + * @returns {void} + */ gotoPage(sheetIdx: number, newSheet: boolean): void; - /** This method is used to hide the pivot table activationPanel in the Spreadsheet. - * @returns {void} - */ - hideActivationPanel(): void; - /** This method is used to hide the entire columns from the specified range (startCol, endCol) in Spreadsheet. - * @param {number} Index of the start column. - * @param {number} Optional. Index of the end column. - * @returns {void} - */ + * @param {number} Index of the start column. + * @param {number} Optional. Index of the end column. + * @returns {void} + */ hideColumn(startCol: number, endCol: number): void; /** This method is used to hide the formula bar in Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ hideFormulaBar(): void; /** This method is used to hide the rows, based on the specified row index in Spreadsheet. - * @param {number} Index of the start row. - * @param {number} Optional. Index of the end row. - * @returns {void} - */ + * @param {number} Index of the start row. + * @param {number} Optional. Index of the end row. + * @returns {void} + */ hideRow(startRow: number, endRow: number): void; /** This method is used to hide the sheet based on the specified sheetIndex or sheet name in the Spreadsheet. - * @param {string|number} Pass the sheet name or index that you want to hide. - * @returns {void} - */ - hideSheet(sheetIdx: string|number): void; + * @param {string|number} Pass the sheet name or index that you want to hide. + * @returns {void} + */ + hideSheet(sheetIdx: string | number): void; /** This method is used to hide the displayed waiting pop-up in Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ hideWaitingPopUp(): void; /** This method is used to insert a column before the active cell's column in the Spreadsheet. - * @param {number} Pass start column. - * @param {number} Pass end column. - * @returns {void} - */ + * @param {number} Pass start column. + * @param {number} Pass end column. + * @returns {void} + */ insertEntireColumn(startCol: number, endCol: number): void; /** This method is used to insert a row before the active cell's row in the Spreadsheet. - * @param {number} Pass start row. - * @param {number} Pass end row. - * @returns {void} - */ + * @param {number} Pass start row. + * @param {number} Pass end row. + * @returns {void} + */ insertEntireRow(startRow: number, endRow: number): void; /** This method is used to insert a new sheet to the left of the current active sheet. - * @returns {void} - */ + * @returns {void} + */ insertSheet(): void; /** This method is used to insert cells in the selected or specified range and shift remaining cells to bottom. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ insertShiftBottom(startCell: any, endCell: any): void; /** This method is used to insert cells in the selected or specified range and shift remaining cells to right. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ insertShiftRight(startCell: any, endCell: any): void; /** This method is used to import excel file manually by using form data. - * @param {any} Pass the form data object to import files manually. - * @returns {void} - */ + * @param {any} Pass the form data object to import files manually. + * @returns {void} + */ import(importRequest: any): void; /** This method is used to load JSON data in Spreadsheet. - * @param {any} Pass the response that you want to load. - * @returns {void} - */ + * @param {any} Pass the response that you want to load. + * @returns {void} + */ loadFromJSON(response: any): void; /** This method is used to lock/unlock the range of cells in active sheet. Lock cells are activated only after the sheet is protected. Once the sheet is protected it is unable to lock/unlock cells. - * @param {string|Array} Pass the alpha range cells or array range of cells. - * @param {string} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} locked cells are unlocked. - * @returns {void} - */ - lockCells(range: string|Array, isLocked?: string): void; + * @param {string|Array} Pass the alpha range cells or array range of cells. + * @param {string} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} locked cells are unlocked. + * @returns {void} + */ + lockCells(range: string | any[], isLocked?: string): void; /** This method is used to merge cells by across in the Spreadsheet. - * @param {string} Optional. To pass the cell range or selected cells are process. - * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. - * @returns {void} - */ + * @param {string} Optional. To pass the cell range or selected cells are process. + * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. + * @returns {void} + */ mergeAcrossCells(range?: string, alertStatus?: boolean): void; /** This method is used to merge the selected cells in the Spreadsheet. - * @param {string|Array} Optional. To pass the cell range or selected cells are process. - * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. - * @returns {void} - */ - mergeCells(range?: string|Array, alertStatus?: boolean): void; + * @param {string|Array} Optional. To pass the cell range or selected cells are process. + * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. + * @returns {void} + */ + mergeCells(range?: string | any[], alertStatus?: boolean): void; /** This method is used to select a cell or range in the Spreadsheet. - * @param {any} Pass the start cell to perform selection. - * @param {any} Pass the end cell to perform selection. - * @returns {void} - */ + * @param {any} Pass the start cell to perform selection. + * @param {any} Pass the end cell to perform selection. + * @returns {void} + */ performSelection(startCell: any, endCell: any): void; /** This method is used to protect or unprotect active sheet. - * @param {boolean} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} active sheet is unprotected. - * @returns {void} - */ + * @param {boolean} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} active sheet is unprotected. + * @returns {void} + */ protectSheet(isProtected?: boolean): void; /** This method is used to refresh the content in Spreadsheet. - * @param {number} Pass the index of the sheet. - * @returns {void} - */ + * @param {number} Pass the index of the sheet. + * @returns {void} + */ refreshContent(sheetIdx: number): void; /** This method is used to refresh the Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ refreshSpreadsheet(): void; /** This method is used to remove custom formulae in Spreadsheet. - * @param {string} Pass the name of the formula. - * @param {string} Pass the name of the function. - * @returns {void} - */ + * @param {string} Pass the name of the formula. + * @param {string} Pass the name of the function. + * @returns {void} + */ removeCustomFormula(formulaName: string, functionName: string): void; /** This method is used to remove the hyperlink from selected cells of current sheet. - * @param {string} Hyperlink remove from the specified range. - * @param {boolean} Optional. If it is {{'`true`' | markdownify}}, It will clear link only not format. - * @param {boolean} Optional. Pass the status to perform undo and redo operations. - * @param {any} Optional. Pass the cells that you want to remove hyperlink. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. - * @returns {void} - */ + * @param {string} Hyperlink remove from the specified range. + * @param {boolean} Optional. If it is {{'`true`' | markdownify}}, It will clear link only not format. + * @param {boolean} Optional. Pass the status to perform undo and redo operations. + * @param {any} Optional. Pass the cells that you want to remove hyperlink. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. + * @returns {void} + */ removeHyperlink(range: string, isClearHLink?: boolean, status?: boolean, cells?: any, skipHiddenRow?: boolean): void; /** This method is used to remove the range data and its defined rangeSettings property based on the specified range name. - * @param {string} Pass the defined rangeSetting property name. - * @returns {void} - */ + * @param {string} Pass the defined rangeSetting property name. + * @returns {void} + */ removeRange(rangeName: string): void; /** This method is used to remove the readonly option for the specified range. - * @param {string|Array} Pass the range. - * @returns {void} - */ - removeReadOnly(range?: string|Array): void; + * @param {string|Array} Pass the range. + * @returns {void} + */ + removeReadOnly(range?: string | any[]): void; /** This method is used to save JSON data in Spreadsheet. - * @returns {any} - */ + * @returns {any} + */ saveAsJSON(): any; /** This method is used to save batch changes in Spreadsheet. - * @param {number} Pass the sheet index for Spreadsheet. - * @returns {void} - */ + * @param {number} Pass the sheet index for Spreadsheet. + * @returns {void} + */ saveBatchChanges(sheetIdx: number): void; /** This method is used to set the active cell in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @param {number} Pass the index of the sheet. - * @returns {void} - */ + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @param {number} Pass the index of the sheet. + * @returns {void} + */ setActiveCell(rowIdx: number, colIdx: number, sheetIdx: number): void; /** This method is used to set active sheet index for the Spreadsheet. - * @param {number} Pass the active sheet index for Spreadsheet. - * @returns {void} - */ + * @param {number} Pass the active sheet index for Spreadsheet. + * @returns {void} + */ setActiveSheetIndex(sheetIdx: number): void; /** This method is used to set border for the specified range of cells in the Spreadsheet. - * @param {any} Pass the border properties that you want to set. - * @param {string} Optional. If range is specified, it will set border for the specified range else it will use the selected range. - * @returns {void} - */ + * @param {any} Pass the border properties that you want to set. + * @param {string} Optional. If range is specified, it will set border for the specified range else it will use the selected range. + * @returns {void} + */ setBorder(property: any, range?: string): void; /** This method is used to set the height for the rows in the Spreadsheet. - * @param {Array|any} Pass the row index and height of the rows. - * @returns {void} - */ - setHeightToRows(heightColl: Array|any): void; + * @param {Array|any} Pass the row index and height of the rows. + * @returns {void} + */ + setHeightToRows(heightColl: any[] | any): void; /** This method is used to set the hyperlink in selected cells of the current sheet. - * @param {string|Array} If range is specified, it will set the hyperlink in range of the cells. - * @param {any} Pass cellAddress or webAddress - * @param {number} If we pass cellAddress then which sheet to be navigate in the applied link. - * @returns {void} - */ - setHyperlink(range: string|Array, link: any, sheetIdx: number): void; + * @param {string|Array} If range is specified, it will set the hyperlink in range of the cells. + * @param {any} Pass cellAddress or webAddress + * @param {number} If we pass cellAddress then which sheet to be navigate in the applied link. + * @returns {void} + */ + setHyperlink(range: string | any[], link: any, sheetIdx: number): void; /** This method is used to set the readonly option for the specified range. - * @param {string|Array} Pass the range. - * @returns {void} - */ - setReadOnly(range?: string|Array): void; + * @param {string|Array} Pass the range. + * @returns {void} + */ + setReadOnly(range?: string | any[]): void; /** This method is used to set the focus to the Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ setSheetFocus(): void; /** This method is used to set the width for the columns in the Spreadsheet. - * @param {Array|any} Pass the column index and width of the columns. - * @returns {void} - */ - setWidthToColumns(widthColl: Array|any): void; + * @param {Array|any} Pass the column index and width of the columns. + * @returns {void} + */ + setWidthToColumns(widthColl: any[] | any): void; /** This method is used to rename the active sheet. - * @param {string} Pass the sheet name that you want to change the current active sheet name. - * @returns {void} - */ + * @param {string} Pass the sheet name that you want to change the current active sheet name. + * @returns {void} + */ sheetRename(sheetName: string): void; /** This method is used to display the activationPanel for the specified range name. - * @param {string} Pass the range name that you want to display the activation panel. - * @returns {void} - */ + * @param {string} Pass the range name that you want to display the activation panel. + * @returns {void} + */ showActivationPanel(rangeName: string): void; /** This method is used to show the hidden columns within the specified range in the Spreadsheet. - * @param {number} Index of the start column. - * @param {number} Optional. Index of the end column. - * @returns {void} - */ + * @param {number} Index of the start column. + * @param {number} Optional. Index of the end column. + * @returns {void} + */ showColumn(startColIdx: number, endColIdx: number): void; /** This method is used to show the formula bar in Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ showFormulaBar(): void; /** This method is used to show/hide gridlines in active sheet in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show the gridlines - * @returns {void} - */ + * @param {boolean} Pass {{'`true`' | markdownify}} to show the gridlines + * @returns {void} + */ showGridlines(status: boolean): void; /** This method is used to show/hide the headers in active sheet in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show the sheet headers. - * @returns {void} - */ + * @param {boolean} Pass {{'`true`' | markdownify}} to show the sheet headers. + * @returns {void} + */ showHeadings(startRow: boolean): void; /** This method is used to show/hide pager in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show pager. - * @returns {void} - */ + * @param {boolean} Pass {{'`true`' | markdownify}} to show pager. + * @returns {void} + */ showPager(status: boolean): void; /** This method is used to show the hidden rows in the specified range in the Spreadsheet. - * @param {number} Index of the start row. - * @param {number} Optional. Index of the end row. - * @returns {void} - */ + * @param {number} Index of the start row. + * @param {number} Optional. Index of the end row. + * @returns {void} + */ showRow(startRow: number, endRow: number): void; /** This method is used to show waiting pop-up in Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ showWaitingPopUp(): void; /** This method is used to unhide the sheet based on specified sheet name or sheet index. - * @param {string|number} Pass the sheet name or index that you want to unhide. - * @returns {void} - */ - unhideSheet(sheetInfo: string|number): void; + * @param {string|number} Pass the sheet name or index that you want to unhide. + * @returns {void} + */ + unhideSheet(sheetInfo: string | number): void; /** This method is used to unmerge the selected range of cells in the Spreadsheet. - * @param {string} Optional. If the range is specified, then it will un merge the specified range else it will use the current selected range. - * @returns {void} - */ + * @param {string} Optional. If the range is specified, then it will un merge the specified range else it will use the current selected range. + * @returns {void} + */ unmergeCells(range?: string): void; /** This method is used to unwrap the selected range of cells in the Spreadsheet. - * @param {Array|string} Optional. If the range is specified, then it will update unwrap in the specified range else it will use the current selected range. - * @returns {void} - */ - unWrapText(range?: Array|string): void; + * @param {Array|string} Optional. If the range is specified, then it will update unwrap in the specified range else it will use the current selected range. + * @returns {void} + */ + unWrapText(range?: any[] | string): void; /** This method is used to update the data for the specified range of cells in the Spreadsheet. - * @param {any} Pass the cells data that you want to update. - * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. - * @returns {void} - */ - updateData(data: any, range?: Array|string): void; + * @param {any} Pass the cells data that you want to update. + * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. + * @returns {void} + */ + updateData(data: any, range?: any[] | string): void; /** This method is used to update the formula bar in the Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ updateFormulaBar(): void; /** This method is used to update the range of cells based on the specified settings which we want to update in the Spreadsheet. - * @param {number} Pass the sheet index that you want to update. - * @param {any} Pass the dataSource, startCell and showHeader values as settings. - * @returns {void} - */ + * @param {number} Pass the sheet index that you want to update. + * @param {any} Pass the dataSource, startCell and showHeader values as settings. + * @returns {void} + */ updateRange(sheetIdx: number, settings: any): void; /** This method is used to update the details for custom undo and redo operations. - * @param {any} Pass the details to update undo and redo collection - * @returns {void} - */ + * @param {any} Pass the details to update undo and redo collection + * @returns {void} + */ updateUndoRedoCollection(details: any): void; /** This method is used to update the unique data for the specified range of cells in Spreadsheet. - * @param {any} Pass the data that you want to update in the particular range - * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. - * @param {any} Optional. It specifies whether to skip element processing or not. - * @returns {void} - */ - updateUniqueData(data: any, range?: Array|string, skipCell?: any): void; + * @param {any} Pass the data that you want to update in the particular range + * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. + * @param {any} Optional. It specifies whether to skip element processing or not. + * @returns {void} + */ + updateUniqueData(data: any, range?: any[] | string, skipCell?: any): void; /** This method is used to wrap the selected range of cells in the Spreadsheet. - * @param {Array|string} Optional. If the range is specified, then it will update wrap in the specified range else it will use the current selected range. - * @returns {void} - */ - wrapText(range?: Array|string): void; + * @param {Array|string} Optional. If the range is specified, then it will update wrap in the specified range else it will use the current selected range. + * @returns {void} + */ + wrapText(range?: any[] | string): void; XLCellType: Spreadsheet.XLCellType; @@ -38932,8 +38608,8 @@ class Spreadsheet extends ej.Widget { XLExport: Spreadsheet.XLExport; /** This method is used to get the export properties in the Spreadsheet. - * @returns {any} - */ + * @returns {any} + */ getExportProps(): any; XLFilter: Spreadsheet.XLFilter; @@ -38943,8 +38619,8 @@ class Spreadsheet extends ej.Widget { XLFreeze: Spreadsheet.XLFreeze; /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. - * @returns {void} - */ + * @returns {void} + */ unfreezePanes(): void; XLPivot: Spreadsheet.XLPivot; @@ -38965,27895 +38641,26833 @@ class Spreadsheet extends ej.Widget { XLValidate: Spreadsheet.XLValidate; } -export module Spreadsheet{ - -export interface XLCellType { - - /** This method is used to set a cell type from the specified range of cells in the spreadsheet. - * @param {string} Pass the range where you want apply cell type. - * @param {any} Pass type of cell type and its settings. - * @param {number} Optional. Pass sheet index. - * @returns {void} - */ - addCellTypes(range: string,settings: any,sheetIdx: number): void; - - /** This method is used to remove cell type from the specified range of cells in the Spreadsheet. - * @param {string|Array} Pass the range where you want remove cell type. - * @param {number} Optional. Pass sheet index. - * @returns {void} - */ - removeCellTypes(range: string|Array,sheetIdx: number): void; -} - -export interface XLCFormat { - - /** This method is used to clear the applied conditional formatting rules in the Spreadsheet. - * @param {Array|string} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - clearCF(range: Array|string): void; - - /** This method is used to get the applied conditional formatting rules as array of objects based on the specified row Index and column Index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @returns {Array} - */ - getCFRule(rowIdx: number,colIdx: number): Array; - - /** This method is used to set the conditional formatting rule in the Spreadsheet. - * @param {any} Pass the rule to set. - * @returns {void} - */ - setCFRule(rule: any): void; -} - -export interface XLChart { - - /** This method is used to change the theme of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {ej.datavisualization.Chart.Theme} Pass the chart theme which want to update. - * @returns {void} - */ - changeTheme(chartId: string,theme: ej.datavisualization.Chart.Theme): void; - - /** This method is used to change the type of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {any} Pass the chart type. - * @returns {void} - */ - changeType(chartId: string,option: any): void; - - /** This method is used to change the data range of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {string} X axis range of chart data. - * @param {string} Y axis range of chart data. - * @param {string} Legend range of chart data. - * @returns {void} - */ - changeDataRange(chartId: string,xRange: string,yRange: string,lRange: string): void; - - /** This method is used to create a chart for specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will create chart for the specified range else it will use the current selected range. - * @param {any} Optional. To pass the type of chart and chart name. - * @returns {void} - */ - createChart(range: string|Array,options: any): void; - - /** This method is used to refresh the chart in the Spreadsheet. - * @param {string} To pass the chart Id. - * @param {any} To pass the type of chart and chart name. - * @returns {void} - */ - refreshChart(id: string,options: any): void; - - /** This method is used to resize the chart of specified id in the Spreadsheet. - * @param {string} To pass the chart id. - * @param {number} To pass height value. - * @param {number} To pass the width value. - * @returns {void} - */ - resizeChart(id: string,height: number,width: number): void; - - /** This method is used to update the chart element, such as axes, titles, data labels, grid lines and legends in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {ej.Spreadsheet.ChartProperties} Pass chart element value which you want to update. - * @returns {void} - */ - updateChartElement(chartId: string,value: ej.Spreadsheet.ChartProperties): void; - - /** This method is used switch row to columns and vice versa for chart in the Spreadsheet. So that the data is displayed in the chart the way you want. - * @param {string} Pass the chart id. - * @returns {void} - */ - switchRowColumn(chartId: string): void; -} - -export interface XLClipboard { - - /** This method is used to copy the selected cells in the Spreadsheet. - * @returns {void} - */ - copy(): void; - - /** This method is used to cut the selected cells in the Spreadsheet. - * @returns {void} - */ - cut(): void; - - /** This method is used to paste the cut or copied cells data in the Spreadsheet. - * @returns {void} - */ - paste(): void; -} - -export interface XLComment { - - /** This method is used to delete the comment in the specified range in Spreadsheet. - * @param {Array|string} Optional. If range is specified, it will delete comments for the specified range else it will use the current selected range. - * @param {number} Optional. If sheetIdx is specified, it will delete comment in specified sheet else it will use active sheet. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows data. - * @returns {void} - */ - deleteComment(range: Array|string,sheetIdx: number,skipHiddenRow: boolean): void; - - /** This method is used to edit the comment in the target Cell in Spreadsheet. - * @param {any} Optional. Pass the row index and column index of the cell which contains comment. - * @returns {void} - */ - editComment(targetCell: any): void; - - /** This method is used to find the next comment from the active cell in Spreadsheet. - * @returns {boolean} - */ - findNextComment(): boolean; - - /** This method is used to find the previous comment from the active cell in Spreadsheet. - * @returns {boolean} - */ - findPrevComment(): boolean; - - /** This method is used to get comment data for the specified cell. - * @param {HTMLElement} Pass the DOM element to get comment data as object. - * @returns {any} - */ - getComment(cell: HTMLElement): any; - - /** This method is used to set new comment in Spreadsheet. - * @param {string|Array} Optional. If we pass the range comment will set in the range otherwise it will set with selected cells. - * @param {string} Optional. Pass the comment data. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show comment in edit mode - * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show the user name - * @returns {void} - */ - setComment(range: string|Array,data: string,showEditPanel: boolean,showUserName: boolean): void; - - /** This method is used to show all the comments in the Spreadsheet. - * @returns {void} - */ - showAllComments(): void; - - /** This method is used to show or hide the specific comment in the Spreadsheet. - * @param {HTMLElement} Optional. Pass the cell DOM element to show or hide its comment. If pass empty argument active cell will processed. - * @returns {void} - */ - showHideComment(targetCell: HTMLElement): void; -} - -export interface XLCMenu { - - /** This method is used to dynamically add items in the context menu. - * @param {string} Specifies the context menu type in which the item to be inserted. - * @param {Array} Pass the items to be inserted - * @param {string} Specifies the type of operation to be performed - * @returns {void} - */ - addItem(target: string,itemColl: Array,operation: string): void; - - /** This method is used to change data source in the context menu. - * @param {string} Specifies the context menu type to bind the data source. - * @param {Array} Pass the data source to be binded - * @returns {void} - */ - changeDataSource(target: string,data: Array): void; - - /** This method is used to disable the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be disabled. - * @param {Array} Specifies the Menu Item id collection to be disabled - * @returns {void} - */ - disableItem(target: string,idxColl: Array): void; - - /** This method is used to enable the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be enabled. - * @param {Array} Specifies the Menu Item id collection to be enabled - * @returns {void} - */ - enableItem(target: string,idxColl: Array): void; - - /** This method is used to remove the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be removed. - * @param {Array} Specifies the Menu Item id collection to be removed - * @returns {void} - */ - removeItem(target: string,idxColl: Array): void; -} - -export interface XLDragDrop { - - /** This method is used to drag and drop the selected range of cells to destination range in the Spreadsheet. - * @param {any|Array} Pass the source range to perform drag and drop. - * @param {any|Array} Pass the destination range to drop the dragged cells. - * @returns {void} - */ - moveRangeTo(sourceRange: any|Array,destinationRange: any|Array): void; -} - -export interface XLDragFill { - - /** This method is used to perform auto fill in Spreadsheet. - * @param {any} Pass the options to perform auto fill in Spreadsheet. - * @returns {void} - */ - autoFill(options: any): void; - - /** This method is used to hide the auto fill element in the Spreadsheet. - * @returns {void} - */ - hideAutoFillElement(): void; - - /** This method is used to hide the auto fill options in the Spreadsheet. - * @returns {void} - */ - hideAutoFillOptions(): void; - - /** This method is used to set position of the auto fill element in the Spreadsheet. - * @param {boolean} Pass the isDragFill option as {{'`boolean`' | markdownify}} value to show auto fill options in Spreadsheet. - * @returns {void} - */ - positionAutoFillElement(isDragFill: boolean): void; -} - -export interface XLEdit { - - /** This method is used to calculate formulas in the specified sheet. - * @param {number} Optional. If sheet index is specified, then it will calculate formulas in the specified sheet only else it will calculate formulas in all sheets. - * @returns {void} - */ - calcNow(sheetIdx: number): void; - - /** This method is used to edit a particular cell based on the row index and column index in the Spreadsheet. - * @param {number} Pass the row index to edit particular cell. - * @param {number} Pass the column index to edit particular cell. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to maintain previous cell value. - * @returns {void} - */ - editCell(rowIdx: number,colIdx: number,oldData: boolean): void; - - /** This method is used to get the property value of particular cell, based on the row and column index in the Spreadsheet. - * @param {number} Pass the row index to get the property value. - * @param {number} Pass the column index to get the property value. - * @param {string} Optional. Pass the property name that you want("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", "decimalPlaces", "cellType"). - * @param {number} Optional. Pass the index of the sheet. - * @returns {any|string|Array} - */ - getPropertyValue(rowIdx: number,colIdx: number,prop: string,sheetIdx: number): any|string|Array; - - /** This method is used to get the property value in specified cell in Spreadsheet. - * @param {HTMLElement} Pass the cell element to get property value. - * @param {string} Pass the property name that you want ("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", "decimalPlaces", "cellType"). - * @param {number} Pass the index of sheet. - * @returns {any|string|Array} - */ - getPropertyValueByElem(elem: HTMLElement,property: string,sheetIdx: number): any|string|Array; - - /** This method is used to save the edited cell value in the Spreadsheet. - * @returns {void} - */ - saveCell(): void; - - /** This method is used to update a particular cell value in the Spreadsheet. - * @param {any} Pass row index and column index of the cell. - * @param {string|number} Pass the cell value. - * @returns {void} - */ - updateCell(cell: any,value: string|number): void; - - /** This method is used to update a particular cell value and its format in the Spreadsheet. - * @param {any} Pass row index and column index of the cell. - * @param {string|number} Pass the cell value. - * @param {string} Pass the class name to update format. - * @param {number} Pass sheet index. - * @returns {void} - */ - updateCellValue(cellIdx: any,val: string|number,formatClass: string,sheetIdx: number): void; -} - -export interface XLExport { - - /** This method is used to save the sheet data as Excel ,CSV or PDF document (.xls, .xlsx .csv, .pdf) in Spreadsheet. - * @param {string} Pass the export type that you want. - * @returns {void} - */ - export(type: string): void; - - /** This method is used to get the export properties in the Spreadsheet. - * @returns {any} - */ - getExportProps(): any; -} - -export interface XLFilter { - - /** This method is used to clear the filter in filtered columns in the Spreadsheet. - * @returns {void} - */ - clearFilter(): void; - - /** This method is used to apply filter for the selected range of cells in the Spreadsheet. - * @param {string|Array} Pass the range of the selected cells. - * @returns {void} - */ - filter(range: string|Array): void; - - /** This method is used to apply filter for the column by active cell's value in the Spreadsheet. - * @returns {void} - */ - filterByActiveCell(): void; -} - -export interface XLFormat { - - /** This method is used to convert table range to normal range. - * @param {any} Pass the sheet index and table id. - * @returns {void} - */ - convertToRange(options: any): void; - - /** This method is used to create a table for the selected range of cells in the Spreadsheet. - * @param {any} Pass the table object. - * @param {string|Array} Optional. If the range is specified, then it will create table in the specified range else it will use the current selected range. - * @returns {string} - */ - createTable(tableObject: any,range: string|Array): string; - - /** This method is used to set format style and values in a cell or range of cells. - * @param {any} Pass the formatObject which contains style, type, format, groupSeparator and decimalPlaces. - * @param {string} Pass the range to format cells. - * @returns {void} - */ - format(formatObj: any,range: string): void; - - /** This method is used to remove the style in the specified range. - * @param {Array|string} Pass the cell range . - * @param {any} Optional. Pass the options for which the style gets removed. - * @returns {void} - */ - removeStyle(range: Array|string,options: any): void; - - /** This method is used to remove table with specified tableId in the Spreadsheet. - * @param {number} Pass the tableId that you want to remove. - * @returns {void} - */ - removeTable(tableId: number): void; - - /** This method is used to update the decimal places for numeric value for the selected range of cells in the Spreadsheet. - * @param {string} Pass the decimal places type in IncreaseDecimal/DecreaseDecimal. - * @param {string|Array} Pass the range. - * @returns {void} - */ - updateDecimalPlaces(type: string,range: string|Array): void; - - /** This method is used to update the format for the selected range of cells in the Spreadsheet. - * @param {any} Pass the format object that you want to update. - * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. - * @returns {void} - */ - updateFormat(formatObj: any,range: Array): void; - - /** This method is used to update the unique format for selected range of cells in the Spreadsheet. - * @param {string} Pass the unique format class. - * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. - * @returns {void} - */ - updateUniqueFormat(formatClass: string,range: Array): void; -} - -export interface XLFreeze { - - /** This method is used to freeze columns upto the specified column index in the Spreadsheet. - * @param {number} Index of the column to be freeze. - * @returns {void} - */ - freezeColumns(colIdx: number): void; - - /** This method is used to freeze the first column in the Spreadsheet. - * @returns {void} - */ - freezeLeftColumn(): void; - - /** This method is used to freeze rows and columns before the specified cell in the Spreadsheet. - * @param {number} Index of the row to be freeze. - * @param {number} Index of the column to be freeze. - * @returns {void} - */ - freezePanes(rowIdx: number,colIdx: number): void; - - /** This method is used to freeze rows upto the specified row index in the Spreadsheet. - * @param {number} Index of the row to be freeze. - * @returns {void} - */ - freezeRows(rowIdx: number): void; - - /** This method is used to freeze the top row in the Spreadsheet. - * @returns {void} - */ - freezeTopRow(): void; - - /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. - * @returns {void} - */ - unfreezePanes(): void; -} - -export interface XLPivot { - - /** This property is used to clear the pivot table list in Spreadsheet. - * @param {string} Pass the name of the pivot table. - * @returns {void} - */ - clearPivotFieldList(pivotName: string): void; - - /** This method is used to create pivot table. - * @param {string} It specifies the range for which the pivot table is created. - * @param {string} It specifies the location in which the pivot table is created. - * @param {string} It specifies the name of the pivot table. - * @param {any} Pass the pivot table settings. - * @param {any} Pass the pivot range, sheet index, address and data source . - * @returns {string} - */ - createPivotTable(range: string,location: string,name: string,settings: any,pvt: any): string; - - /** This method is used to delete the pivot table which is selected. - * @param {string} Pass the name of the pivot table. - * @returns {void} - */ - deletePivotTable(pivotName: string): void; - - /** This method is used to refresh data in pivot table. - * @param {string} Optional. Pass the name of the pivot table. - * @param {number} Optional. Pass the index of the sheet. - * @returns {void} - */ - refreshDataSource(name: string,sheetIdx: number): void; -} - -export interface XLPrint { - - /** This method is used to print the selected contents in the Spreadsheet. - * @returns {void} - */ - printSelection(): void; - - /** This method is used to print the entire contents in the active sheet. - * @returns {void} - */ - printSheet(): void; -} - -export interface XLResize { - - /** This method is used to fit the height of rows in the Spreadsheet. - * @param {Array} Optional. Pass row index collection that you want to fit its height. - * @returns {void} - */ - fitHeight(rowIndexes: Array): void; - - /** This method is used to fit the width of columns in the Spreadsheet. - * @param {Array} Optional. Pass column index collection that you want to fit its width. - * @returns {void} - */ - fitWidth(colIndexes: Array): void; - - /** This method is used to get the column width of the specified column index in the Spreadsheet. - * @param {number} Pass the column index. - * @returns {number} - */ - getColWidth(colIdx: number): number; - - /** This method is used to get the row height of the specified row index in the Spreadsheet. - * @param {number} Pass the row index which you want to find its height. - * @returns {number} - */ - getRowHeight(rowIdx: number): number; - - /** This method is used to set the column width of the specified column index in the Spreadsheet. - * @param {number} Pass the column index. - * @param {number} Pass the width value that you want to set. - * @returns {void} - */ - setColWidth(colIdx: number,size: number): void; - - /** This method is used to set the row height of the specified row index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the height value that you want to set. - * @returns {void} - */ - setRowHeight(rowIdx: number,size: number): void; -} - -export interface XLRibbon { - - /** This method is used to add a new item in the backstage. - * @param {any} Specifies the item to be added in the backstage. - * @param {number} pass the index of the item to be added in the backstage. - * @returns {void} - */ - addBackStageItem(pageItem: any,index: number): void; - - /** This method is used to dynamically add the contextual tabs in the ribbon. - * @param {any} Specifies the contextual tab set object. - * @param {number} pass the index of the contextual tab. - * @returns {void} - */ - addContextualTabs(contextualTabSet: any,index: number): void; - - /** This method is used to dynamically add the menu item in the file menu. - * @param {Array} Specifies the item to be added - * @param {number} pass the index of the menu item. - * @returns {void} - */ - addMenuItem(item: Array,index: number): void; - - /** This method is used to add a new name in the Spreadsheet name manager. - * @param {string} Pass the name that you want to define in name manager. - * @param {string} Pass the cell reference. - * @param {string} Optional. Pass comment, if you want. - * @param {number} Optional. Pass the sheet index. - * @returns {void} - */ - addNamedRange(name: string,refersTo: string,comment: string,sheetIdx: number): void; - - /** This method is used to dynamically add the tab in the ribbon. - * @param {Array} Specifies the text to be displayed in the tab. - * @param {number} pass the groups to be displayed in the ribbon tab. - * @param {number} pass the index of the tab. - * @returns {void} - */ - addTab(tabText: Array,ribbonGroups: number,index: number): void; - - /** This method is used to dynamically add the tab group in the ribbon. - * @param {number} Specifies the ribbon tab index. - * @param {any} pass the groups to be displayed in the ribbon tab. - * @param {number} pass the index of the ribbon group. - * @returns {void} - */ - addTabGroup(tabIndex: number,tabGroup: any,groupIndex: number): void; - - /** This method is used to insert the few type (SUM, MAX, MIN, AVG, COUNT) of formulas in the selected range of cells in the Spreadsheet. - * @param {string} To pass the type("SUM","MAX","MIN","AVG","COUNT"). - * @param {string|Array} If range is specified, it will apply auto sum for the specified range else it will use the current selected range. - * @returns {void} - */ - autoSum(type: string,range: string|Array): void; - - /** This method is used to hide the file menu in the ribbon tab. - * @returns {void} - */ - hideMenu(): void; - - /** This method is used to remove the item from the backstage in the spreadsheet. - * @param {number} Specifies the index of the item to be removed from backstage. - * @returns {void} - */ - removeBackStageItem(index: number): void; - - /** This method is used to remove the menu item form file menu in spreadsheet. - * @param {number} Specifies the index of the item to be removed from the file menu. - * @returns {void} - */ - removeMenuItem(index: number): void; - - /** This method is used to delete the defined name in the Spreadsheet name manager. - * @param {string} Pass the defined name that you want to remove from name manager. - * @returns {void} - */ - removeNamedRange(name: string): void; - - /** This method is used to remove the tab form ribbon in the spreadsheet. - * @param {number} Specifies the index of the tab to be removed from the ribbon. - * @param {boolean} pass the boolean value to remove the tab from ribbon - * @returns {void} - */ - removeTab(index: number,isRemoveMenu: boolean): void; - - /** This method is used to remove the tab group form ribbon in the spreadsheet. - * @param {number} Specifies the index of the tab group to be removed from the ribbon. - * @param {string} Specifies the text to be displayed in the tab group - * @returns {void} - */ - removeTabGroup(tabIndex: number,groupText: string): void; - - /** This method is used to show the file menu in the ribbon tab. - * @returns {void} - */ - showMenu(): void; - - /** This method is used to update the menu item in the file menu. - * @param {any} Specifies the menu item to be updated in the ribbon - * @param {number} pass the index of the item to be updated - * @returns {void} - */ - updateMenuItem(item: any,index: number): void; - - /** This method is used to update the ribbon icons in the Spreadsheet. - * @returns {void} - */ - updateRibbonIcons(): void; -} - -export interface XLSearch { - - /** This method is used to find and replace all data by workbook in the Spreadsheet. - * @param {string} Pass the search data. - * @param {string} Pass the replace data. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. - * @returns {void} - */ - replaceAllByBook(findData: string,replaceData: string,isCSen: boolean,isEMatch: boolean): void; - - /** This method is used to find and replace all data by sheet in Spreadsheet. - * @param {string} Pass the search data. - * @param {string} Pass the replace data. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. - * @returns {void} - */ - replaceAllBySheet(findData: string,replaceData: string,isCSen: boolean,isEMatch: boolean): void; -} - -export interface XLSelection { - - /** This method is used to clear the selection of the active sheet in the Spreadsheet. - * @returns {void} - */ - clearAll(): void; - - /** This method is used to get the selected cells element based on specified sheet index in the Spreadsheet. - * @param {number} Pass the sheet index to get the cells element. - * @returns {HTMLElement} - */ - getSelectedCells(sheetIdx: number): HTMLElement; - - /** This method is used to refresh the selection in the Spreadsheet. - * @param {Array|string} Optional. Pass range to refresh selection. - * @returns {void} - */ - refreshSelection(range: Array|string): void; - - /** This method is used to select a single column in the Spreadsheet. - * @param {number} Pass the column index value. - * @returns {void} - */ - selectColumn(colIdx: number): void; - - /** This method is used to select entire columns in a specified range (start index and end index) in the Spreadsheet. - * @param {number} Pass the column start index. - * @param {number} Pass the column end index. - * @returns {void} - */ - selectColumns(startIdx: number,endIdx: number): void; - - /** This method is used to select the specified range of cells in the Spreadsheet. - * @param {string} Pass range which want to select. - * @returns {void} - */ - selectRange(range: string): void; - - /** This method is used to select a single row in the Spreadsheet. - * @param {number} Pass the row index value. - * @returns {void} - */ - selectRow(rowIdx: number): void; - - /** This method is used to select entire rows in a specified range (start index and end index) in the Spreadsheet. - * @param {number} Pass the start row index. - * @param {number} Pass the end row index. - * @returns {void} - */ - selectRows(startIdx: number,endIdx: number): void; - - /** This method is used to select all cells in active sheet. - * @returns {void} - */ - selectSheet(): void; -} - -export interface XLShape { - - /** This method is used to set a picture in the Spreadsheet. - * @param {string} Pass the range of the cell. - * @param {string} Pass the path of the specified image. - * @param {number} Optional. Pass the width of the image that you want to set. - * @param {number} Optional. Pass the height of the image that you want to set. - * @param {number} Optional. Pass the top of the image that you want to set. - * @param {number} Optional. Pass the left of the image that you want to set. - * @returns {string} - */ - setPicture(range: string,url: string,width: number,height: number,top: number,left: number): string; -} - -export interface XLSort { - - /** This method is used to sort a particular range of cells based on its cell or font color in the Spreadsheet. - * @param {string} Pass {{'`PutCellColor`' | markdownify}} to sort by cell color or {{'`PutFontColor`' | markdownify}} for sort by font color. - * @param {any} Pass the HEX color code to sort. - * @param {string} Pass the range - * @returns {void} - */ - sortByColor(operation: string,color: any,range: string): void; - - /** This method is used to sort a particular range of cells based on its values in the Spreadsheet. - * @param {Array|string} Pass the range to sort. - * @param {string} Pass the column name. - * @param {any} Pass the direction to sort (ascending or descending). - * @returns {boolean} - */ - sortByRange(range: Array|string,columnName: string,direction: any): boolean; -} - -export interface XLValidate { - - /** This method is used to apply data validation rules in a selected range of cells based on the defined condition in the Spreadsheet. - * @param {string|Array} If range is specified, it will apply rules for the specified range else it will use the current selected range. - * @param {Array} Pass the validation condition, value1 and value2. - * @param {string} Pass the data type. - * @param {boolean} Pass {{'`true`' | markdownify}} if you ignore blank values. - * @param {boolean} Pass {{'`true`' | markdownify}} if you want to show an error alert. - * @returns {void} - */ - applyDVRules(range: string|Array,values: Array,type: string,required: boolean,showErrorAlert: boolean): void; - - /** This method is used to clear the applied validation rules in a specified range of cells in the Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - clearDV(range: string|Array): void; - - /** This method is used to highlight invalid data in a specified range of cells in the Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - highlightInvalidData(range: string|Array): void; -} - -export interface Model { - - /** Gets or sets an active sheet index in the Spreadsheet. By defining this value, you can specify which sheet should be active in workbook. - * @Default {1} - */ - activeSheetIndex?: number; - - /** Gets or sets a value that indicates whether to enable or disable auto rendering of cell type in the Spreadsheet. - * @Default {false} - */ - allowAutoCellType?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable auto fill feature in the Spreadsheet. - * @Default {true} - */ - allowAutoFill?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable auto sum feature in the Spreadsheet. - * @Default {true} - */ - allowAutoSum?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable cell format feature in the Spreadsheet. By enabling this, you can customize styles and number formats. - * @Default {true} - */ - allowCellFormatting?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable cell type feature in the Spreadsheet. - * @Default {false} - */ - allowCellType?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable chart feature in the Spreadsheet. By enabling this feature, you can create and customize charts in Spreadsheet. - * @Default {true} - */ - allowCharts?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable clear feature in the Spreadsheet. - * @Default {true} - */ - allowClear?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable clipboard feature in the Spreadsheet. By enabling this feature, you can perform cut/copy and paste operations in Spreadsheet. - * @Default {true} - */ - allowClipboard?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable comment feature in the Spreadsheet. By enabling this, you can add/delete/modify comments in Spreadsheet. - * @Default {true} - */ - allowComments?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable Conditional Format feature in the Spreadsheet. By enabling this, you can apply formatting to the selected range of cells based on the provided conditions (Greater than, Less than, Equal, Between, Contains, etc.). - * @Default {true} - */ - allowConditionalFormats?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable data validation feature in the Spreadsheet. - * @Default {true} - */ - allowDataValidation?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the delete action in the Spreadsheet. By enabling this feature, you can delete existing rows, columns, cells and sheet. - * @Default {true} - */ - allowDelete?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable drag and drop feature in the Spreadsheet. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the edit action in the Spreadsheet. - * @Default {true} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable filtering feature in the Spreadsheet. Filtering can be used to limit the data displayed using required criteria. - * @Default {true} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable table feature in the Spreadsheet. By enabling this, you can render table in selected range. - * @Default {true} - */ - allowFormatAsTable?: boolean; - - /** Get or sets a value that indicates whether to enable or disable format painter feature in the Spreadsheet. By enabling this feature, you can copy the format from the selected range and apply it to another range. - * @Default {true} - */ - allowFormatPainter?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable formula bar in the Spreadsheet. - * @Default {true} - */ - allowFormulaBar?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable freeze pane support in Spreadsheet. By enabling this feature, you can use freeze top row, freeze first column and freeze panes options. - * @Default {true} - */ - allowFreezing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable hyperlink feature in the Spreadsheet. By enabling this feature, you can add hyperlink which is used to easily navigate to the cell reference from one sheet to another or a web page. - * @Default {true} - */ - allowHyperlink?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable import feature in the Spreadsheet. By enabling this feature, you can open existing Spreadsheet documents. - * @Default {true} - */ - allowImport?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the insert action in the Spreadsheet. By enabling this feature, you can insert new rows, columns, cells and sheet. - * @Default {true} - */ - allowInsert?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable keyboard navigation feature in the Spreadsheet. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable lock cell feature in the Spreadsheet. - * @Default {true} - */ - allowLockCell?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable merge feature in the Spreadsheet. - * @Default {true} - */ - allowMerging?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable overflow feature in the Spreadsheet. - * @Default {true} - */ - allowOverflow?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable resizing feature in the Spreadsheet. By enabling this feature, you can change the column width and row height by dragging its header boundaries. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable find and replace feature in the Spreadsheet. By enabling this, you can easily find and replace a specific value in the sheet or workbook. By using goto behavior, you can select and highlight all cells that contains specific data or data types. - * @Default {true} - */ - allowSearching?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable selection in the Spreadsheet. By enabling this feature, selected items will be highlighted. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether to enable the sorting feature in the Spreadsheet. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable undo and redo feature in the Spreadsheet. - * @Default {true} - */ - allowUndoRedo?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable wrap text feature in the Spreadsheet. By enabling this, cell content can wrap to the next line, if the cell content exceeds the boundary of the cell. - * @Default {true} - */ - allowWrap?: boolean; - - /** Gets or sets a value that indicates to define the width of the activation panel in Spreadsheet. - * @Default {300} - */ - apWidth?: number; - - /** Gets or sets an object that indicates to customize the auto fill behavior in the Spreadsheet. - */ - autoFillSettings?: AutoFillSettings; - - /** Gets or sets an object that indicates to customize the chart behavior in the Spreadsheet. - */ - chartSettings?: ChartSettings; - - /** Gets or sets a value that defines the number of columns displayed in the sheet. - * @Default {21} - */ - columnCount?: number; - - /** Gets or sets a value that indicates to define the common width for each column in the Spreadsheet. - * @Default {64} - */ - columnWidth?: number; - - /** Gets or sets a value to add root CSS class for customizing Spreadsheet skins. - */ - cssClass?: string; - - /** Gets or sets a value that indicates custom formulas in Spreadsheet. - * @Default {[]} - */ - customFormulas?: Array; - - /** Gets or sets a value that indicates whether to enable or disable context menu in the Spreadsheet. - * @Default {true} - */ - enableContextMenu?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable pivot table in the Spreadsheet. - * @Default {false} - */ - enablePivotTable?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable touch support in the Spreadsheet. - * @Default {true} - */ - enableTouch?: boolean; - - /** Gets or sets an object that indicates to customize the exporting behavior in Spreadsheet. - */ - exportSettings?: ExportSettings; - - /** Gets or sets an object that indicates to customize the format behavior in the Spreadsheet. - */ - formatSettings?: FormatSettings; - - /** Gets or sets an object that indicates to customize the import behavior in the Spreadsheet. - */ - importSettings?: ImportSettings; - - /** Gets or sets a value that indicates whether to enable or disable readonly support in the Spreadsheet. - * @Default {false} - */ - isReadOnly?: boolean; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data (i.e.) in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets a value that indicates name manager in Spreadsheet. - */ - nameManager?: Array; - - /** Gets or sets an object that indicates to customize the picture behavior in the Spreadsheet. - */ - pictureSettings?: PictureSettings; - - /** Gets or sets an object that indicates to customize the print option in Spreadsheet. - */ - printSettings?: PrintSettings; - - /** Gets or sets an object that indicates to customize the ribbon settings in Spreadsheet. - */ - ribbonSettings?: RibbonSettings; +export namespace Spreadsheet { + + export interface XLCellType { + + /** This method is used to set a cell type from the specified range of cells in the spreadsheet. + * @param {string} Pass the range where you want apply cell type. + * @param {any} Pass type of cell type and its settings. + * @param {number} Optional. Pass sheet index. + * @returns {void} + */ + addCellTypes(range: string, settings: any, sheetIdx: number): void; + + /** This method is used to remove cell type from the specified range of cells in the Spreadsheet. + * @param {string|Array} Pass the range where you want remove cell type. + * @param {number} Optional. Pass sheet index. + * @returns {void} + */ + removeCellTypes(range: string | any[], sheetIdx: number): void; + } + + export interface XLCFormat { + + /** This method is used to clear the applied conditional formatting rules in the Spreadsheet. + * @param {Array|string} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + clearCF(range: any[] | string): void; + + /** This method is used to get the applied conditional formatting rules as array of objects based on the specified row Index and column Index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @returns {Array} + */ + getCFRule(rowIdx: number, colIdx: number): any[]; + + /** This method is used to set the conditional formatting rule in the Spreadsheet. + * @param {any} Pass the rule to set. + * @returns {void} + */ + setCFRule(rule: any): void; + } + + export interface XLChart { + + /** This method is used to change the theme of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {ej.datavisualization.Chart.Theme} Pass the chart theme which want to update. + * @returns {void} + */ + changeTheme(chartId: string, theme: ej.datavisualization.Chart.Theme): void; + + /** This method is used to change the type of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {any} Pass the chart type. + * @returns {void} + */ + changeType(chartId: string, option: any): void; + + /** This method is used to change the data range of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {string} X axis range of chart data. + * @param {string} Y axis range of chart data. + * @param {string} Legend range of chart data. + * @returns {void} + */ + changeDataRange(chartId: string, xRange: string, yRange: string, lRange: string): void; + + /** This method is used to create a chart for specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will create chart for the specified range else it will use the current selected range. + * @param {any} Optional. To pass the type of chart and chart name. + * @returns {void} + */ + createChart(range: string | any[], options: any): void; + + /** This method is used to refresh the chart in the Spreadsheet. + * @param {string} To pass the chart Id. + * @param {any} To pass the type of chart and chart name. + * @returns {void} + */ + refreshChart(id: string, options: any): void; + + /** This method is used to resize the chart of specified id in the Spreadsheet. + * @param {string} To pass the chart id. + * @param {number} To pass height value. + * @param {number} To pass the width value. + * @returns {void} + */ + resizeChart(id: string, height: number, width: number): void; + + /** This method is used to update the chart element, such as axes, titles, data labels, grid lines and legends in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {ej.Spreadsheet.ChartProperties} Pass chart element value which you want to update. + * @returns {void} + */ + updateChartElement(chartId: string, value: ej.Spreadsheet.ChartProperties): void; + + /** This method is used switch row to columns and vice versa for chart in the Spreadsheet. So that the data is displayed in the chart the way you want. + * @param {string} Pass the chart id. + * @returns {void} + */ + switchRowColumn(chartId: string): void; + } + + export interface XLClipboard { + + /** This method is used to copy the selected cells in the Spreadsheet. + * @returns {void} + */ + copy(): void; + + /** This method is used to cut the selected cells in the Spreadsheet. + * @returns {void} + */ + cut(): void; + + /** This method is used to paste the cut or copied cells data in the Spreadsheet. + * @returns {void} + */ + paste(): void; + } + + export interface XLComment { + + /** This method is used to delete the comment in the specified range in Spreadsheet. + * @param {Array|string} Optional. If range is specified, it will delete comments for the specified range else it will use the current selected range. + * @param {number} Optional. If sheetIdx is specified, it will delete comment in specified sheet else it will use active sheet. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows data. + * @returns {void} + */ + deleteComment(range: any[] | string, sheetIdx: number, skipHiddenRow: boolean): void; + + /** This method is used to edit the comment in the target Cell in Spreadsheet. + * @param {any} Optional. Pass the row index and column index of the cell which contains comment. + * @returns {void} + */ + editComment(targetCell: any): void; + + /** This method is used to find the next comment from the active cell in Spreadsheet. + * @returns {boolean} + */ + findNextComment(): boolean; + + /** This method is used to find the previous comment from the active cell in Spreadsheet. + * @returns {boolean} + */ + findPrevComment(): boolean; + + /** This method is used to get comment data for the specified cell. + * @param {HTMLElement} Pass the DOM element to get comment data as object. + * @returns {any} + */ + getComment(cell: HTMLElement): any; + + /** This method is used to set new comment in Spreadsheet. + * @param {string|Array} Optional. If we pass the range comment will set in the range otherwise it will set with selected cells. + * @param {string} Optional. Pass the comment data. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show comment in edit mode + * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show the user name + * @returns {void} + */ + setComment(range: string | any[], data: string, showEditPanel: boolean, showUserName: boolean): void; + + /** This method is used to show all the comments in the Spreadsheet. + * @returns {void} + */ + showAllComments(): void; + + /** This method is used to show or hide the specific comment in the Spreadsheet. + * @param {HTMLElement} Optional. Pass the cell DOM element to show or hide its comment. If pass empty argument active cell will processed. + * @returns {void} + */ + showHideComment(targetCell: HTMLElement): void; + } + + export interface XLCMenu { + + /** This method is used to dynamically add items in the context menu. + * @param {string} Specifies the context menu type in which the item to be inserted. + * @param {Array} Pass the items to be inserted + * @param {string} Specifies the type of operation to be performed + * @returns {void} + */ + addItem(target: string, itemColl: any[], operation: string): void; + + /** This method is used to change data source in the context menu. + * @param {string} Specifies the context menu type to bind the data source. + * @param {Array} Pass the data source to be binded + * @returns {void} + */ + changeDataSource(target: string, data: any[]): void; + + /** This method is used to disable the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be disabled. + * @param {Array} Specifies the Menu Item id collection to be disabled + * @returns {void} + */ + disableItem(target: string, idxColl: any[]): void; + + /** This method is used to enable the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be enabled. + * @param {Array} Specifies the Menu Item id collection to be enabled + * @returns {void} + */ + enableItem(target: string, idxColl: any[]): void; + + /** This method is used to remove the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be removed. + * @param {Array} Specifies the Menu Item id collection to be removed + * @returns {void} + */ + removeItem(target: string, idxColl: any[]): void; + } + + export interface XLDragDrop { + + /** This method is used to drag and drop the selected range of cells to destination range in the Spreadsheet. + * @param {any|Array} Pass the source range to perform drag and drop. + * @param {any|Array} Pass the destination range to drop the dragged cells. + * @returns {void} + */ + moveRangeTo(sourceRange: any | any[], destinationRange: any | any[]): void; + } + + export interface XLDragFill { + + /** This method is used to perform auto fill in Spreadsheet. + * @param {any} Pass the options to perform auto fill in Spreadsheet. + * @returns {void} + */ + autoFill(options: any): void; + + /** This method is used to hide the auto fill element in the Spreadsheet. + * @returns {void} + */ + hideAutoFillElement(): void; + + /** This method is used to hide the auto fill options in the Spreadsheet. + * @returns {void} + */ + hideAutoFillOptions(): void; + + /** This method is used to set position of the auto fill element in the Spreadsheet. + * @param {boolean} Pass the isDragFill option as {{'`boolean`' | markdownify}} value to show auto fill options in Spreadsheet. + * @returns {void} + */ + positionAutoFillElement(isDragFill: boolean): void; + } + + export interface XLEdit { + + /** This method is used to calculate formulas in the specified sheet. + * @param {number} Optional. If sheet index is specified, then it will calculate formulas in the specified sheet only else it will calculate formulas in all sheets. + * @returns {void} + */ + calcNow(sheetIdx: number): void; + + /** This method is used to edit a particular cell based on the row index and column index in the Spreadsheet. + * @param {number} Pass the row index to edit particular cell. + * @param {number} Pass the column index to edit particular cell. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to maintain previous cell value. + * @returns {void} + */ + editCell(rowIdx: number, colIdx: number, oldData: boolean): void; + + /** This method is used to get the property value of particular cell, based on the row and column index in the Spreadsheet. + * @param {number} Pass the row index to get the property value. + * @param {number} Pass the column index to get the property value. + * @param {string} Optional. Pass the property name that you want("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", + * "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", + * "decimalPlaces", "cellType"). + * @param {number} Optional. Pass the index of the sheet. + * @returns {any|string|Array} + */ + getPropertyValue(rowIdx: number, colIdx: number, prop: string, sheetIdx: number): any | string | any[]; + + /** This method is used to get the property value in specified cell in Spreadsheet. + * @param {HTMLElement} Pass the cell element to get property value. + * @param {string} Pass the property name that you want ("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", + * "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", + * "comment", "formatStr", "decimalPlaces", "cellType"). + * @param {number} Pass the index of sheet. + * @returns {any|string|Array} + */ + getPropertyValueByElem(elem: HTMLElement, property: string, sheetIdx: number): any | string | any[]; + + /** This method is used to save the edited cell value in the Spreadsheet. + * @returns {void} + */ + saveCell(): void; + + /** This method is used to update a particular cell value in the Spreadsheet. + * @param {any} Pass row index and column index of the cell. + * @param {string|number} Pass the cell value. + * @returns {void} + */ + updateCell(cell: any, value: string | number): void; + + /** This method is used to update a particular cell value and its format in the Spreadsheet. + * @param {any} Pass row index and column index of the cell. + * @param {string|number} Pass the cell value. + * @param {string} Pass the class name to update format. + * @param {number} Pass sheet index. + * @returns {void} + */ + updateCellValue(cellIdx: any, val: string | number, formatClass: string, sheetIdx: number): void; + } + + export interface XLExport { + + /** This method is used to save the sheet data as Excel ,CSV or PDF document (.xls, .xlsx .csv, .pdf) in Spreadsheet. + * @param {string} Pass the export type that you want. + * @returns {void} + */ + export(type: string): void; + + /** This method is used to get the export properties in the Spreadsheet. + * @returns {any} + */ + getExportProps(): any; + } + + export interface XLFilter { + + /** This method is used to clear the filter in filtered columns in the Spreadsheet. + * @returns {void} + */ + clearFilter(): void; + + /** This method is used to apply filter for the selected range of cells in the Spreadsheet. + * @param {string|Array} Pass the range of the selected cells. + * @returns {void} + */ + filter(range: string | any[]): void; + + /** This method is used to apply filter for the column by active cell's value in the Spreadsheet. + * @returns {void} + */ + filterByActiveCell(): void; + } + + export interface XLFormat { + + /** This method is used to convert table range to normal range. + * @param {any} Pass the sheet index and table id. + * @returns {void} + */ + convertToRange(options: any): void; + + /** This method is used to create a table for the selected range of cells in the Spreadsheet. + * @param {any} Pass the table object. + * @param {string|Array} Optional. If the range is specified, then it will create table in the specified range else it will use the current selected range. + * @returns {string} + */ + createTable(tableObject: any, range: string | any[]): string; + + /** This method is used to set format style and values in a cell or range of cells. + * @param {any} Pass the formatObject which contains style, type, format, groupSeparator and decimalPlaces. + * @param {string} Pass the range to format cells. + * @returns {void} + */ + format(formatObj: any, range: string): void; + + /** This method is used to remove the style in the specified range. + * @param {Array|string} Pass the cell range . + * @param {any} Optional. Pass the options for which the style gets removed. + * @returns {void} + */ + removeStyle(range: any[] | string, options: any): void; + + /** This method is used to remove table with specified tableId in the Spreadsheet. + * @param {number} Pass the tableId that you want to remove. + * @returns {void} + */ + removeTable(tableId: number): void; + + /** This method is used to update the decimal places for numeric value for the selected range of cells in the Spreadsheet. + * @param {string} Pass the decimal places type in increment/decrement. + * @param {string|Array} Pass the range. + * @returns {void} + */ + updateDecimalPlaces(type: string, range: string | any[]): void; + + /** This method is used to update the format for the selected range of cells in the Spreadsheet. + * @param {any} Pass the format object that you want to update. + * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. + * @returns {void} + */ + updateFormat(formatObj: any, range: any[]): void; + + /** This method is used to update the unique format for selected range of cells in the Spreadsheet. + * @param {string} Pass the unique format class. + * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. + * @returns {void} + */ + updateUniqueFormat(formatClass: string, range: any[]): void; + } + + export interface XLFreeze { + + /** This method is used to freeze columns upto the specified column index in the Spreadsheet. + * @param {number} Index of the column to be freeze. + * @returns {void} + */ + freezeColumns(colIdx: number): void; + + /** This method is used to freeze the first column in the Spreadsheet. + * @returns {void} + */ + freezeLeftColumn(): void; + + /** This method is used to freeze rows and columns before the specified cell in the Spreadsheet. + * @param {number} Index of the row to be freeze. + * @param {number} Index of the column to be freeze. + * @returns {void} + */ + freezePanes(rowIdx: number, colIdx: number): void; + + /** This method is used to freeze rows upto the specified row index in the Spreadsheet. + * @param {number} Index of the row to be freeze. + * @returns {void} + */ + freezeRows(rowIdx: number): void; + + /** This method is used to freeze the top row in the Spreadsheet. + * @returns {void} + */ + freezeTopRow(): void; + + /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. + * @returns {void} + */ + unfreezePanes(): void; + } + + export interface XLPivot { + + /** This property is used to clear the pivot table list in Spreadsheet. + * @param {string} Pass the name of the pivot table. + * @returns {void} + */ + clearPivotFieldList(pivotName: string): void; + + /** This method is used to create pivot table. + * @param {string} It specifies the range for which the pivot table is created. + * @param {string} It specifies the location in which the pivot table is created. + * @param {string} It specifies the name of the pivot table. + * @param {any} Pass the pivot table settings. + * @param {any} Pass the pivot range, sheet index, address and data source . + * @returns {string} + */ + createPivotTable(range: string, location: string, name: string, settings: any, pvt: any): string; + + /** This method is used to delete the pivot table which is selected. + * @param {string} Pass the name of the pivot table. + * @returns {void} + */ + deletePivotTable(pivotName: string): void; + + /** This method is used to refresh data in pivot table. + * @param {string} Optional. Pass the name of the pivot table. + * @param {number} Optional. Pass the index of the sheet. + * @returns {void} + */ + refreshDataSource(name: string, sheetIdx: number): void; + } + + export interface XLPrint { + + /** This method is used to print the selected contents in the Spreadsheet. + * @returns {void} + */ + printSelection(): void; + + /** This method is used to print the entire contents in the active sheet. + * @returns {void} + */ + printSheet(): void; + } + + export interface XLResize { + + /** This method is used to fit the height of rows in the Spreadsheet. + * @param {Array} Optional. Pass row index collection that you want to fit its height. + * @returns {void} + */ + fitHeight(rowIndexes: any[]): void; + + /** This method is used to fit the width of columns in the Spreadsheet. + * @param {Array} Optional. Pass column index collection that you want to fit its width. + * @returns {void} + */ + fitWidth(colIndexes: any[]): void; + + /** This method is used to get the column width of the specified column index in the Spreadsheet. + * @param {number} Pass the column index. + * @returns {number} + */ + getColWidth(colIdx: number): number; + + /** This method is used to get the row height of the specified row index in the Spreadsheet. + * @param {number} Pass the row index which you want to find its height. + * @returns {number} + */ + getRowHeight(rowIdx: number): number; + + /** This method is used to set the column width of the specified column index in the Spreadsheet. + * @param {number} Pass the column index. + * @param {number} Pass the width value that you want to set. + * @returns {void} + */ + setColWidth(colIdx: number, size: number): void; + + /** This method is used to set the row height of the specified row index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the height value that you want to set. + * @returns {void} + */ + setRowHeight(rowIdx: number, size: number): void; + } + + export interface XLRibbon { + + /** This method is used to add a new item in the backstage. + * @param {any} Specifies the item to be added in the backstage. + * @param {number} pass the index of the item to be added in the backstage. + * @returns {void} + */ + addBackStageItem(pageItem: any, index: number): void; + + /** This method is used to dynamically add the contextual tabs in the ribbon. + * @param {any} Specifies the contextual tab set object. + * @param {number} pass the index of the contextual tab. + * @returns {void} + */ + addContextualTabs(contextualTabSet: any, index: number): void; + + /** This method is used to dynamically add the menu item in the file menu. + * @param {Array} Specifies the item to be added + * @param {number} pass the index of the menu item. + * @returns {void} + */ + addMenuItem(item: any[], index: number): void; + + /** This method is used to add a new name in the Spreadsheet name manager. + * @param {string} Pass the name that you want to define in name manager. + * @param {string} Pass the cell reference. + * @param {string} Optional. Pass comment, if you want. + * @param {number} Optional. Pass the sheet index. + * @returns {void} + */ + addNamedRange(name: string, refersTo: string, comment: string, sheetIdx: number): void; + + /** This method is used to dynamically add the tab in the ribbon. + * @param {Array} Specifies the text to be displayed in the tab. + * @param {number} pass the groups to be displayed in the ribbon tab. + * @param {number} pass the index of the tab. + * @returns {void} + */ + addTab(tabText: any[], ribbonGroups: number, index: number): void; + + /** This method is used to dynamically add the tab group in the ribbon. + * @param {number} Specifies the ribbon tab index. + * @param {any} pass the groups to be displayed in the ribbon tab. + * @param {number} pass the index of the ribbon group. + * @returns {void} + */ + addTabGroup(tabIndex: number, tabGroup: any, groupIndex: number): void; + + /** This method is used to insert the few type (SUM, MAX, MIN, AVG, COUNT) of formulas in the selected range of cells in the Spreadsheet. + * @param {string} To pass the type("SUM","MAX","MIN","AVG","COUNT"). + * @param {string|Array} If range is specified, it will apply auto sum for the specified range else it will use the current selected range. + * @returns {void} + */ + autoSum(type: string, range: string | any[]): void; + + /** This method is used to hide the file menu in the ribbon tab. + * @returns {void} + */ + hideMenu(): void; + + /** This method is used to remove the item from the backstage in the spreadsheet. + * @param {number} Specifies the index of the item to be removed from backstage. + * @returns {void} + */ + removeBackStageItem(index: number): void; + + /** This method is used to remove the menu item form file menu in spreadsheet. + * @param {number} Specifies the index of the item to be removed from the file menu. + * @returns {void} + */ + removeMenuItem(index: number): void; + + /** This method is used to delete the defined name in the Spreadsheet name manager. + * @param {string} Pass the defined name that you want to remove from name manager. + * @returns {void} + */ + removeNamedRange(name: string): void; + + /** This method is used to remove the tab form ribbon in the spreadsheet. + * @param {number} Specifies the index of the tab to be removed from the ribbon. + * @param {boolean} pass the boolean value to remove the tab from ribbon + * @returns {void} + */ + removeTab(index: number, isRemoveMenu: boolean): void; + + /** This method is used to remove the tab group form ribbon in the spreadsheet. + * @param {number} Specifies the index of the tab group to be removed from the ribbon. + * @param {string} Specifies the text to be displayed in the tab group + * @returns {void} + */ + removeTabGroup(tabIndex: number, groupText: string): void; + + /** This method is used to show the file menu in the ribbon tab. + * @returns {void} + */ + showMenu(): void; + + /** This method is used to update the menu item in the file menu. + * @param {any} Specifies the menu item to be updated in the ribbon + * @param {number} pass the index of the item to be updated + * @returns {void} + */ + updateMenuItem(item: any, index: number): void; + + /** This method is used to update the ribbon icons in the Spreadsheet. + * @returns {void} + */ + updateRibbonIcons(): void; + } + + export interface XLSearch { + + /** This method is used to find and replace all data by workbook in the Spreadsheet. + * @param {string} Pass the search data. + * @param {string} Pass the replace data. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. + * @returns {void} + */ + replaceAllByBook(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; + + /** This method is used to find and replace all data by sheet in Spreadsheet. + * @param {string} Pass the search data. + * @param {string} Pass the replace data. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. + * @returns {void} + */ + replaceAllBySheet(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; + } + + export interface XLSelection { + + /** This method is used to clear the selection of the active sheet in the Spreadsheet. + * @returns {void} + */ + clearAll(): void; + + /** This method is used to get the selected cells element based on specified sheet index in the Spreadsheet. + * @param {number} Pass the sheet index to get the cells element. + * @returns {HTMLElement} + */ + getSelectedCells(sheetIdx: number): HTMLElement; + + /** This method is used to refresh the selection in the Spreadsheet. + * @param {Array|string} Optional. Pass range to refresh selection. + * @returns {void} + */ + refreshSelection(range: any[] | string): void; + + /** This method is used to select a single column in the Spreadsheet. + * @param {number} Pass the column index value. + * @returns {void} + */ + selectColumn(colIdx: number): void; + + /** This method is used to select entire columns in a specified range (start index and end index) in the Spreadsheet. + * @param {number} Pass the column start index. + * @param {number} Pass the column end index. + * @returns {void} + */ + selectColumns(startIdx: number, endIdx: number): void; + + /** This method is used to select the specified range of cells in the Spreadsheet. + * @param {string} Pass range which want to select. + * @returns {void} + */ + selectRange(range: string): void; + + /** This method is used to select a single row in the Spreadsheet. + * @param {number} Pass the row index value. + * @returns {void} + */ + selectRow(rowIdx: number): void; + + /** This method is used to select entire rows in a specified range (start index and end index) in the Spreadsheet. + * @param {number} Pass the start row index. + * @param {number} Pass the end row index. + * @returns {void} + */ + selectRows(startIdx: number, endIdx: number): void; + + /** This method is used to select all cells in active sheet. + * @returns {void} + */ + selectSheet(): void; + } + + export interface XLShape { + + /** This method is used to set a picture in the Spreadsheet. + * @param {string} Pass the range of the cell. + * @param {string} Pass the path of the specified image. + * @param {number} Optional. Pass the width of the image that you want to set. + * @param {number} Optional. Pass the height of the image that you want to set. + * @param {number} Optional. Pass the top of the image that you want to set. + * @param {number} Optional. Pass the left of the image that you want to set. + * @returns {string} + */ + setPicture(range: string, url: string, width: number, height: number, top: number, left: number): string; + } + + export interface XLSort { + + /** This method is used to sort a particular range of cells based on its cell or font color in the Spreadsheet. + * @param {string} Pass {{'`PutCellColor`' | markdownify}} to sort by cell color or {{'`PutFontColor`' | markdownify}} for sort by font color. + * @param {any} Pass the HEX color code to sort. + * @param {string} Pass the range + * @returns {void} + */ + sortByColor(operation: string, color: any, range: string): void; + + /** This method is used to sort a particular range of cells based on its values in the Spreadsheet. + * @param {Array|string} Pass the range to sort. + * @param {string} Pass the column name. + * @param {any} Pass the direction to sort (ascending or descending). + * @returns {boolean} + */ + sortByRange(range: any[] | string, columnName: string, direction: any): boolean; + } + + export interface XLValidate { + + /** This method is used to apply data validation rules in a selected range of cells based on the defined condition in the Spreadsheet. + * @param {string|Array} If range is specified, it will apply rules for the specified range else it will use the current selected range. + * @param {Array} Pass the validation condition, value1 and value2. + * @param {string} Pass the data type. + * @param {boolean} Pass {{'`true`' | markdownify}} if you ignore blank values. + * @param {boolean} Pass {{'`true`' | markdownify}} if you want to show an error alert. + * @returns {void} + */ + applyDVRules(range: string | any[], values: any[], type: string, required: boolean, showErrorAlert: boolean): void; + + /** This method is used to clear the applied validation rules in a specified range of cells in the Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + clearDV(range: string | any[]): void; + + /** This method is used to highlight invalid data in a specified range of cells in the Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + highlightInvalidData(range: string | any[]): void; + } + + export interface Model { + + /** Gets or sets an active sheet index in the Spreadsheet. By defining this value, you can specify which sheet should be active in workbook. + * @Default {1} + */ + activeSheetIndex?: number; + + /** Gets or sets a value that indicates whether to enable or disable auto rendering of cell type in the Spreadsheet. + * @Default {false} + */ + allowAutoCellType?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable auto fill feature in the Spreadsheet. + * @Default {true} + */ + allowAutoFill?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable auto sum feature in the Spreadsheet. + * @Default {true} + */ + allowAutoSum?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable cell format feature in the Spreadsheet. By enabling this, you can customize styles and number formats. + * @Default {true} + */ + allowCellFormatting?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable cell type feature in the Spreadsheet. + * @Default {false} + */ + allowCellType?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable chart feature in the Spreadsheet. By enabling this feature, you can create and customize charts in Spreadsheet. + * @Default {true} + */ + allowCharts?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable clear feature in the Spreadsheet. + * @Default {true} + */ + allowClear?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable clipboard feature in the Spreadsheet. By enabling this feature, you can perform cut/copy and paste operations in Spreadsheet. + * @Default {true} + */ + allowClipboard?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable comment feature in the Spreadsheet. By enabling this, you can add/delete/modify comments in Spreadsheet. + * @Default {true} + */ + allowComments?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable Conditional Format feature in the Spreadsheet. By enabling this, you can apply formatting to the selected range + * of cells based on the provided conditions (Greater than, Less than, Equal, Between, Contains, etc.). + * @Default {true} + */ + allowConditionalFormats?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable data validation feature in the Spreadsheet. + * @Default {true} + */ + allowDataValidation?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the delete action in the Spreadsheet. By enabling this feature, you can delete existing rows, columns, cells and sheet. + * @Default {true} + */ + allowDelete?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable drag and drop feature in the Spreadsheet. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the edit action in the Spreadsheet. + * @Default {true} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable filtering feature in the Spreadsheet. Filtering can be used to limit the data displayed using required criteria. + * @Default {true} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable table feature in the Spreadsheet. By enabling this, you can render table in selected range. + * @Default {true} + */ + allowFormatAsTable?: boolean; + + /** Get or sets a value that indicates whether to enable or disable format painter feature in the Spreadsheet. By enabling this feature, you can copy + * the format from the selected range and apply it to another range. + * @Default {true} + */ + allowFormatPainter?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable formula bar in the Spreadsheet. + * @Default {true} + */ + allowFormulaBar?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable freeze pane support in Spreadsheet. After enabling this feature, + * you can use freeze top row, freeze first column and freeze panes options. + * @Default {false} + */ + allowFreezing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable hyperlink feature in the Spreadsheet. By enabling this feature, you can add hyperlink which is used to + * easily navigate to the cell reference from one sheet to another or a web page. + * @Default {true} + */ + allowHyperlink?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable import feature in the Spreadsheet. By enabling this feature, you can open existing Spreadsheet documents. + * @Default {true} + */ + allowImport?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the insert action in the Spreadsheet. By enabling this feature, you can insert new rows, columns, cells and sheet. + * @Default {true} + */ + allowInsert?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable keyboard navigation feature in the Spreadsheet. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable lock cell feature in the Spreadsheet. + * @Default {true} + */ + allowLockCell?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable merge feature in the Spreadsheet. + * @Default {true} + */ + allowMerging?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable overflow feature in the Spreadsheet. + * @Default {true} + */ + allowOverflow?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable resizing feature in the Spreadsheet. By enabling this feature, you can change the column width and + * row height by dragging its header boundaries. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable find and replace feature in the Spreadsheet. By enabling this, you can easily find and replace + * a specific value in the sheet or workbook. By using goto behavior, you can select and highlight all cells that contains specific data or data types. + * @Default {true} + */ + allowSearching?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable selection in the Spreadsheet. By enabling this feature, selected items will be highlighted. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether to enable the sorting feature in the Spreadsheet. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable undo and redo feature in the Spreadsheet. + * @Default {true} + */ + allowUndoRedo?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable wrap text feature in the Spreadsheet. By enabling this, cell content can wrap to the next line, + * if the cell content exceeds the boundary of the cell. + * @Default {true} + */ + allowWrap?: boolean; + + /** Gets or sets a value that indicates to define the width of the activation panel in Spreadsheet. + * @Default {300} + */ + apWidth?: number; + + /** Gets or sets an object that indicates to customize the auto fill behavior in the Spreadsheet. + */ + autoFillSettings?: AutoFillSettings; + + /** Gets or sets an object that indicates to customize the chart behavior in the Spreadsheet. + */ + chartSettings?: ChartSettings; + + /** Gets or sets a value that defines the number of columns displayed in the sheet. + * @Default {21} + */ + columnCount?: number; + + /** Gets or sets a value that indicates to define the common width for each column in the Spreadsheet. + * @Default {64} + */ + columnWidth?: number; + + /** Gets or sets a value to add root CSS class for customizing Spreadsheet skins. + */ + cssClass?: string; + + /** Gets or sets a value that indicates custom formulas in Spreadsheet. + * @Default {[]} + */ + customFormulas?: any[]; + + /** Gets or sets a value that indicates whether to enable or disable context menu in the Spreadsheet. + * @Default {true} + */ + enableContextMenu?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable pivot table in the Spreadsheet. + * @Default {false} + */ + enablePivotTable?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable touch support in the Spreadsheet. + * @Default {true} + */ + enableTouch?: boolean; + + /** Gets or sets an object that indicates to customize the exporting behavior in Spreadsheet. + */ + exportSettings?: ExportSettings; + + /** Gets or sets an object that indicates to customize the format behavior in the Spreadsheet. + */ + formatSettings?: FormatSettings; + + /** Gets or sets an object that indicates to customize the import behavior in the Spreadsheet. + */ + importSettings?: ImportSettings; + + /** Gets or sets a value that indicates whether to enable or disable readonly support in the Spreadsheet. + * @Default {false} + */ + isReadOnly?: boolean; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data (i.e.) + * in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets an object that indicates to customize the picture behavior in the Spreadsheet. + */ + pictureSettings?: PictureSettings; + + /** Gets or sets an object that indicates to customize the print option in Spreadsheet. + */ + printSettings?: PrintSettings; + + /** Gets or sets an object that indicates to customize the ribbon settings in Spreadsheet. + */ + ribbonSettings?: RibbonSettings; + + /** Gets or sets a value that indicates whether to define the number of rows to be displayed in the sheet. + * @Default {20} + */ + rowCount?: number; - /** Gets or sets a value that indicates whether to define the number of rows to be displayed in the sheet. - * @Default {20} - */ - rowCount?: number; + /** Gets or sets a value that indicates to define the common height for each row in the sheet. + * @Default {20} + */ + rowHeight?: number; - /** Gets or sets a value that indicates to define the common height for each row in the sheet. - * @Default {20} - */ - rowHeight?: number; + /** Gets or sets an object that indicates to customize the scroll options in the Spreadsheet. + */ + scrollSettings?: ScrollSettings; - /** Gets or sets an object that indicates to customize the scroll options in the Spreadsheet. - */ - scrollSettings?: ScrollSettings; + /** Gets or sets an object that indicates to customize the selection options in the Spreadsheet. + */ + selectionSettings?: SelectionSettings; - /** Gets or sets an object that indicates to customize the selection options in the Spreadsheet. - */ - selectionSettings?: SelectionSettings; + /** Gets or sets a value that indicates to define the number of sheets to be created at the initial load. + * @Default {1} + */ + sheetCount?: number; - /** Gets or sets a value that indicates to define the number of sheets to be created at the initial load. - * @Default {1} - */ - sheetCount?: number; + /** Gets or sets an object that indicates to customize the sheet behavior in Spreadsheet. + */ + sheets?: Sheet[]; - /** Gets or sets an object that indicates to customize the sheet behavior in Spreadsheet. - */ - sheets?: Array; + /** Gets or sets a value that indicates whether to show or hide pager in the Spreadsheet. + * @Default {true} + */ + showPager?: boolean; - /** Gets or sets a value that indicates whether to show or hide pager in the Spreadsheet. - * @Default {true} - */ - showPager?: boolean; + /** Gets or sets a value that indicates whether to show or hide ribbon in the Spreadsheet. + * @Default {true} + */ + showRibbon?: boolean; - /** Gets or sets a value that indicates whether to show or hide ribbon in the Spreadsheet. - * @Default {true} - */ - showRibbon?: boolean; + /** This is used to set the number of undo-redo steps in the Spreadsheet. + * @Default {20} + */ + undoRedoStep?: number; - /** This is used to set the number of undo-redo steps in the Spreadsheet. - * @Default {20} - */ - undoRedoStep?: number; + /** Define the username for the Spreadsheet which is displayed in comment. + * @Default {User Name} + */ + userName?: string; - /** Define the username for the Spreadsheet which is displayed in comment. - * @Default {User Name} - */ - userName?: string; + /** Triggered for every action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Triggered for every action before its starts. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Triggered for every action complete. */ + actionComplete?(e: ActionCompleteEventArgs): void; - /** Triggered for every action complete. */ - actionComplete? (e: ActionCompleteEventArgs): void; + /** Triggered when the auto fill operation begins. */ + autoFillBegin?(e: AutoFillBeginEventArgs): void; - /** Triggered when the auto fill operation begins. */ - autoFillBegin? (e: AutoFillBeginEventArgs): void; + /** Triggered when the auto fill operation completes. */ + autoFillComplete?(e: AutoFillCompleteEventArgs): void; - /** Triggered when the auto fill operation completes. */ - autoFillComplete? (e: AutoFillCompleteEventArgs): void; + /** Triggered before the batch save. */ + beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; - /** Triggered before the batch save. */ - beforeBatchSave? (e: BeforeBatchSaveEventArgs): void; + /** Triggered before the cells to be formatted. */ + beforeCellFormat?(e: BeforeCellFormatEventArgs): void; - /** Triggered before the cells to be formatted. */ - beforeCellFormat? (e: BeforeCellFormatEventArgs): void; + /** Triggered before the cell selection. */ + beforeCellSelect?(e: BeforeCellSelectEventArgs): void; - /** Triggered before the cell selection. */ - beforeCellSelect? (e: BeforeCellSelectEventArgs): void; + /** Triggered before the selected cells are dropped. */ + beforeDrop?(e: BeforeDropEventArgs): void; - /** Triggered before the selected cells are dropped. */ - beforeDrop? (e: BeforeDropEventArgs): void; + /** Triggered while start to edit the comment. */ + beforeEditComment?(e: BeforeEditCommentEventArgs): void; - /** Triggered while start to edit the comment. */ - beforeEditComment? (e: BeforeEditCommentEventArgs): void; + /** Triggered before the contextmenu is open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; - /** Triggered before the contextmenu is open. */ - beforeOpen? (e: BeforeOpenEventArgs): void; + /** Triggered before the activation panel is open. */ + beforePanelOpen?(e: BeforePanelOpenEventArgs): void; - /** Triggered before the activation panel is open. */ - beforePanelOpen? (e: BeforePanelOpenEventArgs): void; + /** Triggered when click on sheet cell. */ + cellClick?(e: CellClickEventArgs): void; - /** Triggered when click on sheet cell. */ - cellClick? (e: CellClickEventArgs): void; + /** Triggered when the cell is edited. */ + cellEdit?(e: CellEditEventArgs): void; - /** Triggered when the cell is edited. */ - cellEdit? (e: CellEditEventArgs): void; + /** Triggered while cell is formatting. */ + cellFormatting?(e: CellFormattingEventArgs): void; - /** Triggered while cell is formatting. */ - cellFormatting? (e: CellFormattingEventArgs): void; + /** Triggered when mouse hover on cell in sheets. */ + cellHover?(e: CellHoverEventArgs): void; - /** Triggered when mouse hover on cell in sheets. */ - cellHover? (e: CellHoverEventArgs): void; + /** Triggered when save the edited cell. */ + cellSave?(e: CellSaveEventArgs): void; - /** Triggered when save the edited cell. */ - cellSave? (e: CellSaveEventArgs): void; + /** Triggered when the cell is selected. */ + cellSelected?(e: CellSelectedEventArgs): void; - /** Triggered when the cell is selected. */ - cellSelected? (e: CellSelectedEventArgs): void; + /** Triggered when click the contextmenu items. */ + contextMenuClick?(e: ContextMenuClickEventArgs): void; - /** Triggered when click the contextmenu items. */ - contextMenuClick? (e: ContextMenuClickEventArgs): void; + /** Triggered when the selected cells are being dragged. */ + drag?(e: DragEventArgs): void; - /** Triggered when the selected cells are being dragged. */ - drag? (e: DragEventArgs): void; + /** Triggered when you start to drag the picture or chart. */ + dragShape?(e: DragShapeEventArgs): void; - /** Triggered when you start to drag the picture or chart. */ - dragShape? (e: DragShapeEventArgs): void; + /** Triggered when the selected cells are initiated to drag. */ + dragStart?(e: DragStartEventArgs): void; - /** Triggered when the selected cells are initiated to drag. */ - dragStart? (e: DragStartEventArgs): void; + /** Triggered when the selected cells are dropped. */ + drop?(e: DropEventArgs): void; - /** Triggered when the selected cells are dropped. */ - drop? (e: DropEventArgs): void; + /** Triggered before the range editing starts. */ + editRangeBegin?(e: EditRangeBeginEventArgs): void; - /** Triggered before the range editing starts. */ - editRangeBegin? (e: EditRangeBeginEventArgs): void; + /** Triggered after range editing completes. */ + editRangeComplete?(e: EditRangeCompleteEventArgs): void; - /** Triggered after range editing completes. */ - editRangeComplete? (e: EditRangeCompleteEventArgs): void; + /** Triggered when the key is pressed down. */ + keyDown?(e: KeyDownEventArgs): void; - /** Triggered when the key is pressed down. */ - keyDown? (e: KeyDownEventArgs): void; + /** Triggered when the key is released. */ + keyUp?(e: KeyUpEventArgs): void; - /** Triggered when the key is released. */ - keyUp? (e: KeyUpEventArgs): void; + /** Triggered before the sheet is loaded. */ + load?(e: LoadEventArgs): void; - /** Triggered before the sheet is loaded. */ - load? (e: LoadEventArgs): void; + /** Triggered after the sheet is loaded. */ + loadComplete?(e: LoadCompleteEventArgs): void; - /** Triggered after the sheet is loaded. */ - loadComplete? (e: LoadCompleteEventArgs): void; + /** Triggered every click of the menu item. */ + menuClick?(e: MenuClickEventArgs): void; - /** Triggered every click of the menu item. */ - menuClick? (e: MenuClickEventArgs): void; + /** Triggered when a file is imported. */ + onImport?(e: OnImportEventArgs): void; - /** Triggered when a file is imported. */ - onImport? (e: OnImportEventArgs): void; + /** Triggered when import sheet is failed to open. */ + openFailure?(e: OpenFailureEventArgs): void; - /** Triggered when import sheet is failed to open. */ - openFailure? (e: OpenFailureEventArgs): void; + /** Triggered when pager item is clicked in the Spreadsheet. */ + pagerClick?(e: PagerClickEventArgs): void; - /** Triggered when pager item is clicked in the Spreadsheet. */ - pagerClick? (e: PagerClickEventArgs): void; + /** Triggered when you start resizing the chart, picture, row and column. */ + resizeStart?(e: ResizeStartEventArgs): void; - /** Triggered when you start resizing the chart, picture, row and column. */ - resizeStart? (e: ResizeStartEventArgs): void; + /** Triggered after end of resizing the chart, picture, row and column. */ + resizeEnd?(e: ResizeEndEventArgs): void; - /** Triggered after end of resizing the chart, picture, row and column. */ - resizeEnd? (e: ResizeEndEventArgs): void; + /** Triggered when click on the ribbon. */ + ribbonClick?(e: RibbonClickEventArgs): void; - /** Triggered when click on the ribbon. */ - ribbonClick? (e: RibbonClickEventArgs): void; + /** Triggered when the chart series rendering. */ + seriesRendering?(e: SeriesRenderingEventArgs): void; - /** Triggered when the chart series rendering. */ - seriesRendering? (e: SeriesRenderingEventArgs): void; + /** Triggered when click the ribbon tab. */ + tabClick?(e: TabClickEventArgs): void; - /** Triggered when click the ribbon tab. */ - tabClick? (e: TabClickEventArgs): void; + /** Triggered when select the ribbon tab. */ + tabSelect?(e: TabSelectEventArgs): void; + } - /** Triggered when select the ribbon tab. */ - tabSelect? (e: TabSelectEventArgs): void; -} + export interface ActionBeginEventArgs { -export interface ActionBeginEventArgs { + /** Returns the applied style format object. + */ + afterFormat?: any; - /** Returns the applied style format object. - */ - afterFormat?: any; + /** Returns the applied style format object. + */ + beforeFormat?: any; - /** Returns the applied style format object. - */ - beforeFormat?: any; + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the cell range. + */ + range?: any[]; - /** Returns the cell range. - */ - range?: Array; + /** Returns the action format. + */ + reqType?: string; - /** Returns the action format. - */ - reqType?: string; + /** Returns goto index while paging. + */ + gotoIdx?: number; - /** Returns goto index while paging. - */ - gotoIdx?: number; + /** Returns boolean value. If create new sheet it returns true. + */ + newSheet?: boolean; - /** Returns boolean value. If create new sheet it returns true. - */ - newSheet?: boolean; + /** Return column name while sorting. + */ + columnName?: string; - /** Return column name while sorting. - */ - columnName?: string; + /** Returns selected columns while sorting or filtering begins. + */ + colSelected?: number; - /** Returns selected columns while sorting or filtering begins. - */ - colSelected?: number; + /** Returns sort direction while sort action begins. + */ + sortDirection?: string; + } - /** Returns sort direction while sort action begins. - */ - sortDirection?: string; -} + export interface ActionCompleteEventArgs { -export interface ActionCompleteEventArgs { + /** Returns Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the applied cell format object. + */ + selectedCell?: any[] | any; - /** Returns the applied cell format object. - */ - selectedCell?: Array|any; + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the request type. + */ + reqType?: string; - /** Returns the request type. - */ - reqType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface AutoFillBeginEventArgs { -export interface AutoFillBeginEventArgs { + /** Returns auto fill begin cell range. + */ + dataRange?: any[]; - /** Returns auto fill begin cell range. - */ - dataRange?: Array; + /** Returns which direction drag the auto fill. + */ + direction?: string; - /** Returns which direction drag the auto fill. - */ - direction?: string; + /** Returns fill cells range. + */ + fillRange?: any[]; - /** Returns fill cells range. - */ - fillRange?: Array; + /** Returns the auto fill type. + */ + fillType?: string; - /** Returns the auto fill type. - */ - fillType?: string; + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface AutoFillCompleteEventArgs { -export interface AutoFillCompleteEventArgs { + /** Returns auto fill begin cell range. + */ + dataRange?: any[]; - /** Returns auto fill begin cell range. - */ - dataRange?: Array; + /** Returns which direction to drag the auto fill. + */ + direction?: string; - /** Returns which direction to drag the auto fill. - */ - direction?: string; + /** Returns fill cells range. + */ + fillRange?: any[]; - /** Returns fill cells range. - */ - fillRange?: Array; + /** Returns the auto fill type. + */ + fillType?: string; - /** Returns the auto fill type. - */ - fillType?: string; + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface BeforeBatchSaveEventArgs { -export interface BeforeBatchSaveEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the query, primary key,batch changes for the data Source. + */ + dataSetting?: any; - /** Returns the query, primary key,batch changes for the data Source. - */ - dataSetting?: any; + /** Returns the changed record object. + */ + batchChanges?: any; + } - /** Returns the changed record object. - */ - batchChanges?: any; -} + export interface BeforeCellFormatEventArgs { -export interface BeforeCellFormatEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the applied style format object. + */ + format?: any; - /** Returns the applied style format object. - */ - format?: any; + /** Returns the selected cells. + */ + cells?: any[] | any; - /** Returns the selected cells. - */ - cells?: Array|any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface BeforeCellSelectEventArgs { -export interface BeforeCellSelectEventArgs { + /** Returns the previous cell range. + */ + prevRange?: any[]; - /** Returns the previous cell range. - */ - prevRange?: Array; + /** Returns the current cell range. + */ + currRange?: any[]; - /** Returns the current cell range. - */ - currRange?: Array; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface BeforeDropEventArgs { -export interface BeforeDropEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the current cell row and column index. + */ + currentCell?: any; - /** Returns the current cell row and column index. - */ - currentCell?: any; + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; + /** Returns the cell Overwriting alert option value. + */ + preventAlert?: boolean; - /** Returns the cell Overwriting alert option value. - */ - preventAlert?: boolean; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the target item. + */ + target?: HTMLElement; - /** Returns the target item. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface BeforeEditCommentEventArgs { -export interface BeforeEditCommentEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the comment cell index. + */ + cellIndex?: any; - /** Returns the comment cell index. - */ - cellIndex?: any; + /** Returns the disable option value. + */ + disable?: boolean; - /** Returns the disable option value. - */ - disable?: boolean; + /** Returns the Spreadsheet model. + */ + model?: any; - /** Returns the Spreadsheet model. - */ - model?: any; + /** Returns the value of the comment + */ + value?: string; - /** Returns the value of the comment - */ - value?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface BeforeOpenEventArgs { -export interface BeforeOpenEventArgs { + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface BeforePanelOpenEventArgs { -export interface BeforePanelOpenEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the activation panel element. + */ + activationPanel?: any; - /** Returns the activation panel element. - */ - activationPanel?: any; + /** Returns the range option value. + */ + range?: any; - /** Returns the range option value. - */ - range?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface CellClickEventArgs { -export interface CellClickEventArgs { + /** Returns the click cell element. + */ + cell?: HTMLElement; - /** Returns the click cell element. - */ - cell?: HTMLElement; + /** Returns the column index of clicked cell. + */ + columnIndex?: number; - /** Returns the column index of clicked cell. - */ - columnIndex?: number; + /** Returns the row index of clicked cell. + */ + rowIndex?: number; - /** Returns the row index of clicked cell. - */ - rowIndex?: number; + /** Returns the column name of clicked cell. + */ + columnName?: string; - /** Returns the column name of clicked cell. - */ - columnName?: string; + /** Returns the column information. + */ + columnObject?: any; - /** Returns the column information. - */ - columnObject?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the value of the cell. + */ + value?: string; - /** Returns the value of the cell. - */ - value?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface CellEditEventArgs { -export interface CellEditEventArgs { + /** Returns the click cell element. + */ + cell?: HTMLElement; - /** Returns the click cell element. - */ - cell?: HTMLElement; + /** Returns the columnName of clicked cell. + */ + columnName?: string; - /** Returns the columnName of clicked cell. - */ - columnName?: string; + /** Returns the column field information. + */ + columnObject?: any; - /** Returns the column field information. - */ - columnObject?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface CellFormattingEventArgs { -export interface CellFormattingEventArgs { + /** Returns the sheet index + */ + SheetIdx?: number; - /** Returns the sheet index - */ - SheetIdx?: number; + /** Returns the applied style format object + */ + Format?: any; - /** Returns the applied style format object - */ - Format?: any; + /** Returns the cell index. + */ + Cell?: number; - /** Returns the cell index. - */ - Cell?: number; + /** Returns the name of the CSS theme. + */ + cssClass?: string; - /** Returns the name of the CSS theme. - */ - cssClass?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + } - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; -} + export interface CellHoverEventArgs { -export interface CellHoverEventArgs { + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface CellSaveEventArgs { -export interface CellSaveEventArgs { + /** Returns the save cell element. + */ + cell?: HTMLElement; - /** Returns the save cell element. - */ - cell?: HTMLElement; + /** Returns the columnName of clicked cell. + */ + columnName?: string; - /** Returns the columnName of clicked cell. - */ - columnName?: string; + /** Returns the column field information. + */ + columnObject?: any; - /** Returns the column field information. - */ - columnObject?: any; + /** Returns the index of the row. + */ + rowIndex?: number; - /** Returns the index of the row. - */ - rowIndex?: number; + /** Returns the index of the column. + */ + colIndex?: number; - /** Returns the index of the column. - */ - colIndex?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the cell previous value. + */ + pValue?: string; - /** Returns the cell previous value. - */ - pValue?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the cell value. + */ + value?: string; + } - /** Returns the cell value. - */ - value?: string; -} + export interface CellSelectedEventArgs { -export interface CellSelectedEventArgs { + /** Returns the active sheet index. + */ + sheetIdx?: number; - /** Returns the active sheet index. - */ - sheetIdx?: number; + /** Returns the selected range. + */ + selectedRange?: any[]; - /** Returns the selected range. - */ - selectedRange?: Array; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface ContextMenuClickEventArgs { -export interface ContextMenuClickEventArgs { + /** Returns target element Id. + */ + Id?: string; - /** Returns target element Id. - */ - Id?: string; + /** Returns the target element. + */ + element?: HTMLElement; - /** Returns the target element. - */ - element?: HTMLElement; + /** Returns event information. + */ + event?: any; - /** Returns event information. - */ - event?: any; + /** Returns target element and event information. + */ + events?: any; - /** Returns target element and event information. - */ - events?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns target element parent Id. + */ + parentId?: string; - /** Returns target element parent Id. - */ - parentId?: string; + /** Returns target element parent text. + */ + parentText?: string; - /** Returns target element parent text. - */ - parentText?: string; + /** Returns target element text. + */ + text?: string; - /** Returns target element text. - */ - text?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface DragEventArgs { -export interface DragEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the current cell row and column index. + */ + currentCell?: any; - /** Returns the current cell row and column index. - */ - currentCell?: any; + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the target item. + */ + target?: HTMLElement; - /** Returns the target item. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface DragShapeEventArgs { -export interface DragShapeEventArgs { + /** Returns the Spreadsheet model. + */ + model?: any; - /** Returns the Spreadsheet model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface DragStartEventArgs { -export interface DragStartEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the current cell row and column index. + */ + currentCell?: any; - /** Returns the current cell row and column index. - */ - currentCell?: any; + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the target item. + */ + target?: HTMLElement; - /** Returns the target item. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface DropEventArgs { -export interface DropEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the current cell row and column index. + */ + currentCell?: any; - /** Returns the current cell row and column index. - */ - currentCell?: any; + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the target item. + */ + target?: HTMLElement; - /** Returns the target item. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface EditRangeBeginEventArgs { -export interface EditRangeBeginEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the range option value. + */ + range?: any; - /** Returns the range option value. - */ - range?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface EditRangeCompleteEventArgs { -export interface EditRangeCompleteEventArgs { + /** Returns the sheet index. + */ + sheetIdx?: number; - /** Returns the sheet index. - */ - sheetIdx?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the range option value. + */ + range?: any; - /** Returns the range option value. - */ - range?: any; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface KeyDownEventArgs { -export interface KeyDownEventArgs { + /** Returns the sheet index. + */ + sheetIndex?: number; - /** Returns the sheet index. - */ - sheetIndex?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the boolean value. + */ + isCommentEdit?: boolean; - /** Returns the boolean value. - */ - isCommentEdit?: boolean; + /** Returns the boolean value. + */ + isEdit?: boolean; - /** Returns the boolean value. - */ - isEdit?: boolean; + /** Returns the boolean value. + */ + isSheetRename?: boolean; - /** Returns the boolean value. - */ - isSheetRename?: boolean; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface KeyUpEventArgs { -export interface KeyUpEventArgs { + /** Returns the sheet index. + */ + sheetIndex?: number; - /** Returns the sheet index. - */ - sheetIndex?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the boolean value. + */ + isCommentEdit?: boolean; - /** Returns the boolean value. - */ - isCommentEdit?: boolean; + /** Returns the boolean value. + */ + isEdit?: boolean; - /** Returns the boolean value. - */ - isEdit?: boolean; + /** Returns the boolean value. + */ + isSheetRename?: boolean; - /** Returns the boolean value. - */ - isSheetRename?: boolean; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface LoadEventArgs { -export interface LoadEventArgs { + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the active sheet index. + */ + sheetIndex?: number; + } - /** Returns the active sheet index. - */ - sheetIndex?: number; -} + export interface LoadCompleteEventArgs { -export interface LoadCompleteEventArgs { + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface MenuClickEventArgs { -export interface MenuClickEventArgs { + /** Returns menu click element. + */ + element?: HTMLElement; - /** Returns menu click element. - */ - element?: HTMLElement; + /** Returns the event information. + */ + event?: any; - /** Returns the event information. - */ - event?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns target element parent Id. + */ + parentId?: string; - /** Returns target element parent Id. - */ - parentId?: string; + /** Returns target element parent text. + */ + parentText?: string; - /** Returns target element parent text. - */ - parentText?: string; + /** Returns target element text. + */ + text?: string; - /** Returns target element text. - */ - text?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface OnImportEventArgs { -export interface OnImportEventArgs { + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the imported data. + */ + importData?: any; + } - /** Returns the imported data. - */ - importData?: any; -} + export interface OpenFailureEventArgs { -export interface OpenFailureEventArgs { + /** Returns the failure type. + */ + failureType?: string; - /** Returns the failure type. - */ - failureType?: string; + /** Returns the status index. + */ + status?: number; - /** Returns the status index. - */ - status?: number; + /** Returns the status in text. + */ + statusText?: string; - /** Returns the status in text. - */ - statusText?: string; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface PagerClickEventArgs { -export interface PagerClickEventArgs { + /** Returns the active sheet index. + */ + activeSheet?: number; - /** Returns the active sheet index. - */ - activeSheet?: number; + /** Returns the new sheet index. + */ + gotoSheet?: number; - /** Returns the new sheet index. - */ - gotoSheet?: number; + /** Returns whether new sheet icon is clicked. + */ + newSheet?: boolean; - /** Returns whether new sheet icon is clicked. - */ - newSheet?: boolean; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface ResizeStartEventArgs { -export interface ResizeStartEventArgs { + /** Returns the column index which column you start to resize. + */ + colIndex?: number; - /** Returns the column index which column you start to resize. - */ - colIndex?: number; + /** Returns the row index which row you start to resize. + */ + rowIndex?: number; - /** Returns the row index which row you start to resize. - */ - rowIndex?: number; + /** Returns the Spreadsheet model. + */ + model?: any; - /** Returns the Spreadsheet model. - */ - model?: any; + /** Returns type of the request. + */ + reqType?: string; - /** Returns type of the request. - */ - reqType?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface ResizeEndEventArgs { -export interface ResizeEndEventArgs { + /** Returns the column index which you resized. + */ + colIndex?: number; - /** Returns the column index which you resized. - */ - colIndex?: number; + /** Returns old width of the column or shape. + */ + oldWidth?: number; - /** Returns old width of the column or shape. - */ - oldWidth?: number; + /** Returns new width of the column or shape. + */ + newWidth?: number; - /** Returns new width of the column or shape. - */ - newWidth?: number; + /** Returns the row index which you resized. + */ + rowIndex?: number; - /** Returns the row index which you resized. - */ - rowIndex?: number; + /** Returns old height of the row or shape. + */ + oldHeight?: number; - /** Returns old height of the row or shape. - */ - oldHeight?: number; + /** Returns new height of the row or shape. + */ + newHeight?: number; - /** Returns new height of the row or shape. - */ - newHeight?: number; + /** Returns the Spreadsheet model. + */ + model?: any; - /** Returns the Spreadsheet model. - */ - model?: any; + /** Returns type of the request. + */ + reqType?: string; - /** Returns type of the request. - */ - reqType?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface RibbonClickEventArgs { -export interface RibbonClickEventArgs { + /** Returns element Id. + */ + Id?: string; - /** Returns element Id. - */ - Id?: string; + /** Returns target information. + */ + prop?: any; - /** Returns target information. - */ - prop?: any; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; + /** Returns status. + */ + status?: boolean; - /** Returns status. - */ - status?: boolean; + /** Returns isChecked in boolean. + */ + isChecked?: boolean; - /** Returns isChecked in boolean. - */ - isChecked?: boolean; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; - /** Returns the target element. - */ - target?: HTMLElement; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface SeriesRenderingEventArgs { -export interface SeriesRenderingEventArgs { + /** Returns chart data and chart information. + */ + data?: any; - /** Returns chart data and chart information. - */ - data?: any; + /** Returns the chart model. + */ + model?: ej.Spreadsheet.Model; - /** Returns the chart model. - */ - model?: ej.Spreadsheet.Model; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; + } - /** Returns the cancel option value. - */ - cancel?: boolean; -} + export interface TabClickEventArgs { -export interface TabClickEventArgs { + /** Returns the active tab index. + */ + activeIndex?: number; - /** Returns the active tab index. - */ - activeIndex?: number; + /** Returns active tab header element. + */ + activeHeader?: any; - /** Returns active tab header element. - */ - activeHeader?: any; + /** Returns previous active tab header element. + */ + prevActiveHeader?: any; - /** Returns previous active tab header element. - */ - prevActiveHeader?: any; + /** Returns previous active tab index. + */ + prevActiveIndex?: number; - /** Returns previous active tab index. - */ - prevActiveIndex?: number; + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface TabSelectEventArgs { - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; -} - -export interface TabSelectEventArgs { + /** Returns the active tab index. + */ + activeIndex?: number; + + /** Returns active tab header element. + */ + activeHeader?: any; - /** Returns the active tab index. - */ - activeIndex?: number; - - /** Returns active tab header element. - */ - activeHeader?: any; + /** Returns previous active tab header element. + */ + prevActiveHeader?: any; + + /** Returns previous active tab index. + */ + prevActiveIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface AutoFillSettings { + + /** This property is used to set fillType unit in Spreadsheet. It has five types which are CopyCells, FillSeries, FillFormattingOnly, FillWithoutFormatting and FlashFill. + * @Default {ej.Spreadsheet.AutoFillOptions.FillSeries} + */ + fillType?: ej.Spreadsheet.AutoFillOptions | string; + + /** Gets or sets a value that indicates to enable or disable auto fill options in the Spreadsheet. + * @Default {true} + */ + showFillOptions?: boolean; + } + + export interface ChartSettings { + + /** Gets or sets a value that defines the chart height in Spreadsheet. + * @Default {220} + */ + height?: number; + + /** Gets or sets a value that defines the chart width in the Spreadsheet. + * @Default {440} + */ + width?: number; + } + + export interface ExportSettings { + + /** Gets or sets a value that indicates whether to enable or disable save feature in Spreadsheet. By enabling this feature, you can save existing Spreadsheet. + * @Default {true} + */ + allowExporting?: boolean; + + /** Gets or sets a value that indicates to define csvUrl for export to CSV format. + * @Default {null} + */ + csvUrl?: string; + + /** Gets or sets a value that indicates to define excelUrl for export to excel format. + * @Default {null} + */ + excelUrl?: string; + + /** Gets or sets a value that indicates to define password while export to excel format. + * @Default {null} + */ + password?: string; + + /** Gets or sets a value that indicates to define pdfUrl for export to PDF format. + * @Default {null} + */ + pdfUrl?: string; + } + + export interface FormatSettings { + + /** Gets or sets a value that indicates whether to enable or disable cell border feature in the Spreadsheet. + * @Default {true} + */ + allowCellBorder?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable decimal places in the Spreadsheet. + * @Default {true} + */ + allowDecimalPlaces?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable font family feature in Spreadsheet. + * @Default {true} + */ + allowFontFamily?: boolean; + } + + export interface ImportSettings { + + /** Sets import mapper to perform import feature in Spreadsheet. + */ + importMapper?: string; + + /** Gets or sets a value that indicates whether to enable or disable import while initial loading. + * @Default {false} + */ + importOnLoad?: boolean; + + /** Sets import URL to access the online files in the Spreadsheet. + */ + importUrl?: string; + + /** Gets or sets a value that indicates to define password while importing in the Spreadsheet. + */ + password?: string; + } + + export interface PictureSettings { + + /** Gets or sets a value that indicates whether to enable or disable picture feature in Spreadsheet. By enabling this, you can add pictures in Spreadsheet. + * @Default {true} + */ + allowPictures?: boolean; + + /** Gets or sets a value that indicates to define height to picture in the Spreadsheet. + * @Default {220} + */ + height?: number; + + /** Gets or sets a value that indicates to define width to picture in the Spreadsheet. + * @Default {440} + */ + width?: number; + } + + export interface PrintSettings { + + /** Gets or sets a value that indicates whether to enable or disable page setup support for printing in Spreadsheet. + * @Default {true} + */ + allowPageSetup?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable page size support for printing in Spreadsheet. + * @Default {false} + */ + allowPageSize?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable print feature in the Spreadsheet. + * @Default {true} + */ + allowPrinting?: boolean; + } + + export interface RibbonSettingsApplicationTabMenuSettings { + + /** Gets or sets a value that indicates whether to enable or disable isAppend property in ribbon settings. + * @Default {false} + */ + isAppend?: boolean; + + /** Specifies the data source to append in application tab. + * @Default {[]} + */ + dataSource?: any[]; + } + + export interface RibbonSettingsApplicationTab { + + /** Gets or sets a value that indicates to set application tab type in Spreadsheet. It has two types, Menu and Backstage. + * @Default {ej.Ribbon.ApplicationTabType.Backstage} + */ + type?: ej.Ribbon.ApplicationTabType | string; + + /** Gets or sets an object that indicates menu settings for application tab in Spreadsheet. + */ + menuSettings?: RibbonSettingsApplicationTabMenuSettings; + } + + export interface RibbonSettings { + + /** Gets or sets an object that indicates application tab settings in Spreadsheet. + */ + applicationTab?: RibbonSettingsApplicationTab; + } + + export interface ScrollSettings { + + /** Gets or sets a value that indicates whether to enable or disable scrolling in Spreadsheet. + * @Default {true} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable sheet on demand. By enabling this, it render only the active sheet element while paging remaining sheets are created one by one. + * @Default {false} + */ + allowSheetOnDemand?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable virtual scrolling feature in the Spreadsheet. + * @Default {true} + */ + allowVirtualScrolling?: boolean; + + /** Gets or sets the value that indicates to define the height of spreadsheet. + * @Default {100%} + */ + height?: number | string; + + /** Gets or sets the value that indicates whether to enable or disable responsive mode in the Spreadsheet. + * @Default {true} + */ + isResponsive?: boolean; + + /** Gets or sets a value that indicates to set scroll mode in Spreadsheet. It has two scroll modes, Normal and Infinite. + * @Default {ej.Spreadsheet.scrollMode.Infinite} + */ + scrollMode?: ej.Spreadsheet.scrollMode | string; + + /** Gets or sets the value that indicates to define the height of the spreadsheet. + * @Default {100%} + */ + width?: number | string; + } + + export interface SelectionSettings { + + /** Gets or sets a value that indicates to define active cell in spreadsheet. + */ + activeCell?: string; + + /** Gets or sets a value that indicates to define animation time while selection in the Spreadsheet. + * @Default {0.001} + */ + animationTime?: number; + + /** Gets or sets a value that indicates to enable or disable animation while selection. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Gets or sets a value that indicates to set selection type in Spreadsheet. It has three types which are Column, Row and Default. + * @Default {ej.Spreadsheet.SelectionType.Default} + */ + selectionType?: ej.Spreadsheet.SelectionType | string; + + /** Gets or sets a value that indicates to set selection unit in Spreadsheet. It has three types which are Single, Range and MultiRange. + * @Default {ej.Spreadsheet.SelectionUnit.MultiRange} + */ + selectionUnit?: ej.Spreadsheet.SelectionUnit | string; + } + + export interface SheetsBorder { + + /** + */ + type?: ej.Spreadsheet.BorderType | string; + + /** Specifies border color for range of cells in Spreadsheet. + */ + color?: string; + + /** To apply border for the specified range of cell. + */ + range?: string; + } + + export interface SheetsCFormatRule { + + /** Specifies the conditions to apply for the range of cells in Spreadsheet. + */ + action?: ej.Spreadsheet.CFormatRule | string; + + /** Specifies the color to apply for the range of cell while conditional formatting. + */ + color?: ej.Spreadsheet.CFormatHighlightColor | string; + + /** Specifies the inputs for conditional formatting in Spreadsheet. + * @Default {[]} + */ + inputs?: any[]; + + /** Specifies the range for conditional formatting in Spreadsheet. + */ + range?: string; + } + + export interface SheetsRangeSetting { + + /** Gets or sets the data to render the Spreadsheet. + * @Default {null} + */ + dataSource?: any; + + /** Specifies the header styles for the headers in datasource range. + * @Default {null} + */ + headerStyles?: any; + + /** Specifies the primary key for the datasource in Spreadsheet. + */ + primaryKey?: string; + + /** Specifies the query for the datasource in Spreadsheet. + * @Default {null} + */ + query?: any; + + /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. + * @Default {true} + */ + showHeader?: boolean; + + /** Specifies the start cell for the datasource range in Spreadsheet. + * @Default {A1} + */ + startCell?: string; + } + + export interface SheetsRowsCellsComment { + + /** Get or sets the value that indicates whether to show or hide comments in Spreadsheet. + * @Default {false} + */ + isVisible?: boolean; + + /** Specifies the value for the comment in Spreadsheet. + */ + value?: string; + } + + export interface SheetsRowsCellsFormat { + + /** Specifies the number of decimal places for the given input. + * @Default {2} + */ + decimalPlaces?: number; + + /** Specifies the string format for the given input. + */ + formatStr?: string; + + /** Specifies the thousand separator for the given input. + * @Default {false} + */ + thousandSeparator?: boolean; + + /** Specifies the type of the format in Spreadsheet. + */ + type?: string; + } + + export interface SheetsRowsCellsHyperlink { + + /** Specifies the web address for the hyperlink of a cell. + */ + webAddr?: string; + + /** Specifies the cell address for the hyperlink of a cell. + */ + cellAddr?: string; + + /** Specifies the sheet index to which the cell is referred. + * @Default {1} + */ + sheetIndex?: number; + } + + export interface SheetsRowsCellsStyle { + + /** Specifies the background color of a cell in the Spreadsheet. + */ + backgroundColor?: string; + + /** Specifies the font color of a cell in the Spreadsheet. + */ + color?: string; + + /** Specifies the font weight of a cell in the Spreadsheet. + */ + fontWeight?: string; + } + + export interface SheetsRowsCell { + + /** Specifies the comment for a cell in Spreadsheet. + * @Default {null} + */ + comment?: SheetsRowsCellsComment; + + /** Specifies the format of a cell in Spreadsheet. + * @Default {null} + */ + format?: SheetsRowsCellsFormat; + + /** Specifies the hyperlink for a cell in Spreadsheet. + * @Default {null} + */ + hyperlink?: SheetsRowsCellsHyperlink; + + /** Specifies the index of a cell in Spreadsheet. + * @Default {0} + */ + index?: number; + + /** Specifies whether to lock or unlock a particular cell. + * @Default {false} + */ + isLocked?: boolean; + + /** Specifies the styles of a cell in Spreadsheet. + * @Default {null} + */ + style?: SheetsRowsCellsStyle; + + /** Specifies the value for a cell in Spreadsheet. + */ + value?: string; + } + + export interface SheetsRow { + + /** Gets or sets the height of a row in Spreadsheet. + * @Default {20} + */ + height?: number; + + /** Specifies the cells of a row in Spreadsheet. + * @Default {[]} + */ + cells?: SheetsRowsCell[]; + + /** Gets or sets the index of a row in Spreadsheet. + * @Default {0} + */ + index?: number; + } + + export interface Sheet { + + /** Specifies the border for the cell in the Spreadsheet. + * @Default {[]} + */ + border?: SheetsBorder[]; + + /** Specifies the cell types for a cell or range in Spreadsheet. + * @Default {[]} + */ + cellTypes?: any[]; + + /** Specifies the conditional formatting for the range of cell in Spreadsheet. + * @Default {[]} + */ + cFormatRule?: SheetsCFormatRule[]; + + /** Gets or sets a value that indicates to define column count in the Spreadsheet. + * @Default {21} + */ + colCount?: number; + + /** Gets or sets a value that indicates to define column width in the Spreadsheet. + * @Default {64} + */ + columnWidth?: number; + + /** Gets or sets the data to render the Spreadsheet. + * @Default {null} + */ + dataSource?: any; + + /** Gets or sets a value that indicates whether to enable or disable field as column header in the Spreadsheet. + * @Default {false} + */ + fieldAsColumnHeader?: boolean; + + /** Gets or sets a value to freeze rows in the Spreadsheet. + * @Default {0} + */ + frozenRows?: number; + + /** Gets or sets a value to freeze columns in the Spreadsheet. + * @Default {0} + */ + frozenColumns?: number; + + /** Specifies the header styles for the headers in datasource range. + * @Default {null} + */ + headerStyles?: any; + + /** To hide the specified columns in Spreadsheet. + * @Default {[]} + */ + hideColumns?: any[]; - /** Returns previous active tab header element. - */ - prevActiveHeader?: any; - - /** Returns previous active tab index. - */ - prevActiveIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; -} - -export interface AutoFillSettings { - - /** This property is used to set fillType unit in Spreadsheet. It has five types which are CopyCells, FillSeries, FillFormattingOnly, FillWithoutFormatting and FlashFill. - * @Default {ej.Spreadsheet.AutoFillOptions.FillSeries} - */ - fillType?: ej.Spreadsheet.AutoFillOptions|string; - - /** Gets or sets a value that indicates to enable or disable auto fill options in the Spreadsheet. - * @Default {true} - */ - showFillOptions?: boolean; -} - -export interface ChartSettings { - - /** Gets or sets a value that defines the chart height in Spreadsheet. - * @Default {220} - */ - height?: number; - - /** Gets or sets a value that defines the chart width in the Spreadsheet. - * @Default {440} - */ - width?: number; -} - -export interface ExportSettings { - - /** Gets or sets a value that indicates whether to enable or disable save feature in Spreadsheet. By enabling this feature, you can save existing Spreadsheet. - * @Default {true} - */ - allowExporting?: boolean; - - /** Gets or sets a value that indicates to define csvUrl for export to CSV format. - * @Default {null} - */ - csvUrl?: string; - - /** Gets or sets a value that indicates to define excelUrl for export to excel format. - * @Default {null} - */ - excelUrl?: string; - - /** Gets or sets a value that indicates to define password while export to excel format. - * @Default {null} - */ - password?: string; - - /** Gets or sets a value that indicates to define pdfUrl for export to PDF format. - * @Default {null} - */ - pdfUrl?: string; -} - -export interface FormatSettings { - - /** Gets or sets a value that indicates whether to enable or disable cell border feature in the Spreadsheet. - * @Default {true} - */ - allowCellBorder?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable decimal places in the Spreadsheet. - * @Default {true} - */ - allowDecimalPlaces?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable font family feature in Spreadsheet. - * @Default {true} - */ - allowFontFamily?: boolean; -} - -export interface ImportSettings { - - /** Sets import mapper to perform import feature in Spreadsheet. - */ - importMapper?: string; - - /** Gets or sets a value that indicates whether to enable or disable import while initial loading. - * @Default {false} - */ - importOnLoad?: boolean; - - /** Sets import URL to access the online files in the Spreadsheet. - */ - importUrl?: string; - - /** Gets or sets a value that indicates to define password while importing in the Spreadsheet. - */ - password?: string; -} - -export interface NameManager { - - /** Specifies the name for the cell or a range. - */ - name?: string; - - /** Specifies the address for the cell or a range. - */ - refersto?: string; -} - -export interface PictureSettings { - - /** Gets or sets a value that indicates whether to enable or disable picture feature in Spreadsheet. By enabling this, you can add pictures in Spreadsheet. - * @Default {true} - */ - allowPictures?: boolean; - - /** Gets or sets a value that indicates to define height to picture in the Spreadsheet. - * @Default {220} - */ - height?: number; - - /** Gets or sets a value that indicates to define width to picture in the Spreadsheet. - * @Default {440} - */ - width?: number; -} - -export interface PrintSettings { - - /** Gets or sets a value that indicates whether to enable or disable page setup support for printing in Spreadsheet. - * @Default {true} - */ - allowPageSetup?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable page size support for printing in Spreadsheet. - * @Default {false} - */ - allowPageSize?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable print feature in the Spreadsheet. - * @Default {true} - */ - allowPrinting?: boolean; -} - -export interface RibbonSettingsApplicationTabMenuSettings { - - /** Gets or sets a value that indicates whether to enable or disable isAppend property in ribbon settings. - * @Default {false} - */ - isAppend?: boolean; - - /** Specifies the data source to append in application tab. - * @Default {[]} - */ - dataSource?: Array; -} - -export interface RibbonSettingsApplicationTab { - - /** Gets or sets a value that indicates to set application tab type in Spreadsheet. It has two types, Menu and Backstage. - * @Default {ej.Ribbon.ApplicationTabType.Backstage} - */ - type?: ej.Ribbon.ApplicationTabType|string; - - /** Gets or sets an object that indicates menu settings for application tab in Spreadsheet. - */ - menuSettings?: RibbonSettingsApplicationTabMenuSettings; -} - -export interface RibbonSettings { - - /** Gets or sets an object that indicates application tab settings in Spreadsheet. - */ - applicationTab?: RibbonSettingsApplicationTab; -} - -export interface ScrollSettings { - - /** Gets or sets a value that indicates whether to enable or disable scrolling in Spreadsheet. - * @Default {true} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable sheet on demand. By enabling this, it render only the active sheet element while paging remaining sheets are created one by one. - * @Default {false} - */ - allowSheetOnDemand?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable virtual scrolling feature in the Spreadsheet. - * @Default {true} - */ - allowVirtualScrolling?: boolean; - - /** Gets or sets the value that indicates to define the height of spreadsheet. - * @Default {100%} - */ - height?: number|string; - - /** Gets or sets the value that indicates whether to enable or disable responsive mode in the Spreadsheet. - * @Default {true} - */ - isResponsive?: boolean; - - /** Gets or sets a value that indicates to set scroll mode in Spreadsheet. It has two scroll modes, Normal and Infinite. - * @Default {ej.Spreadsheet.scrollMode.Infinite} - */ - scrollMode?: ej.Spreadsheet.scrollMode|string; - - /** Gets or sets the value that indicates to define the height of the spreadsheet. - * @Default {100%} - */ - width?: number|string; -} - -export interface SelectionSettings { - - /** Gets or sets a value that indicates to define active cell in spreadsheet. - */ - activeCell?: string; - - /** Gets or sets a value that indicates to define animation time while selection in the Spreadsheet. - * @Default {0.001} - */ - animationTime?: number; - - /** Gets or sets a value that indicates to enable or disable animation while selection. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Gets or sets a value that indicates to set selection type in Spreadsheet. It has three types which are Column, Row and Default. - * @Default {ej.Spreadsheet.SelectionType.Default} - */ - selectionType?: ej.Spreadsheet.SelectionType|string; - - /** Gets or sets a value that indicates to set selection unit in Spreadsheet. It has three types which are Single, Range and MultiRange. - * @Default {ej.Spreadsheet.SelectionUnit.MultiRange} - */ - selectionUnit?: ej.Spreadsheet.SelectionUnit|string; -} - -export interface SheetsBorder { - - /** - */ - type?: ej.Spreadsheet.BorderType|string; - - /** Specifies border color for range of cells in Spreadsheet. - */ - color?: string; - - /** To apply border for the specified range of cell. - */ - range?: string; -} - -export interface SheetsCFormatRule { - - /** Specifies the conditions to apply for the range of cells in Spreadsheet. - */ - action?: ej.Spreadsheet.CFormatRule|string; - - /** Specifies the color to apply for the range of cell while conditional formatting. - */ - color?: ej.Spreadsheet.CFormatHighlightColor|string; - - /** Specifies the inputs for conditional formatting in Spreadsheet. - * @Default {[]} - */ - inputs?: Array; - - /** Specifies the range for conditional formatting in Spreadsheet. - */ - range?: string; -} - -export interface SheetsRangeSetting { - - /** Gets or sets the data to render the Spreadsheet. - * @Default {null} - */ - dataSource?: any; - - /** Specifies the header styles for the headers in datasource range. - * @Default {null} - */ - headerStyles?: any; - - /** Specifies the primary key for the datasource in Spreadsheet. - */ - primaryKey?: string; - - /** Specifies the query for the datasource in Spreadsheet. - * @Default {null} - */ - query?: any; - - /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. - * @Default {true} - */ - showHeader?: boolean; - - /** Specifies the start cell for the datasource range in Spreadsheet. - * @Default {A1} - */ - startCell?: string; -} - -export interface SheetsRowsCellsComment { - - /** Get or sets the value that indicates whether to show or hide comments in Spreadsheet. - * @Default {false} - */ - isVisible?: boolean; - - /** Specifies the value for the comment in Spreadsheet. - */ - value?: string; -} - -export interface SheetsRowsCellsFormat { - - /** Specifies the number of decimal places for the given input. - * @Default {2} - */ - decimalPlaces?: number; - - /** Specifies the string format for the given input. - */ - formatStr?: string; - - /** Specifies the thousand separator for the given input. - * @Default {false} - */ - thousandSeparator?: boolean; - - /** Specifies the type of the format in Spreadsheet. - */ - type?: string; -} - -export interface SheetsRowsCellsHyperlink { - - /** Specifies the web address for the hyperlink of a cell. - */ - webAddr?: string; - - /** Specifies the cell address for the hyperlink of a cell. - */ - cellAddr?: string; - - /** Specifies the sheet index to which the cell is referred. - * @Default {1} - */ - sheetIndex?: number; -} - -export interface SheetsRowsCellsStyle { - - /** Specifies the background color of a cell in the Spreadsheet. - */ - backgroundColor?: string; - - /** Specifies the font color of a cell in the Spreadsheet. - */ - color?: string; - - /** Specifies the font weight of a cell in the Spreadsheet. - */ - fontWeight?: string; -} - -export interface SheetsRowsCell { - - /** Specifies the comment for a cell in Spreadsheet. - * @Default {null} - */ - comment?: SheetsRowsCellsComment; - - /** Specifies the format of a cell in Spreadsheet. - * @Default {null} - */ - format?: SheetsRowsCellsFormat; - - /** Specifies the hyperlink for a cell in Spreadsheet. - * @Default {null} - */ - hyperlink?: SheetsRowsCellsHyperlink; - - /** Specifies the index of a cell in Spreadsheet. - * @Default {0} - */ - index?: number; - - /** Specifies whether to lock or unlock a particular cell. - * @Default {false} - */ - isLocked?: boolean; - - /** Specifies the styles of a cell in Spreadsheet. - * @Default {null} - */ - style?: SheetsRowsCellsStyle; - - /** Specifies the value for a cell in Spreadsheet. - */ - value?: string; -} - -export interface SheetsRow { - - /** Gets or sets the height of a row in Spreadsheet. - * @Default {20} - */ - height?: number; - - /** Specifies the cells of a row in Spreadsheet. - * @Default {[]} - */ - cells?: Array; - - /** Gets or sets the index of a row in Spreadsheet. - * @Default {0} - */ - index?: number; -} - -export interface Sheet { - - /** Specifies the border for the cell in the Spreadsheet. - * @Default {[]} - */ - border?: Array; - - /** Specifies the cell types for a cell or range in Spreadsheet. - * @Default {[]} - */ - cellTypes?: Array; - - /** Specifies the conditional formatting for the range of cell in Spreadsheet. - * @Default {[]} - */ - cFormatRule?: Array; - - /** Gets or sets a value that indicates to define column count in the Spreadsheet. - * @Default {21} - */ - colCount?: number; - - /** Gets or sets a value that indicates to define column width in the Spreadsheet. - * @Default {64} - */ - columnWidth?: number; - - /** Gets or sets the data to render the Spreadsheet. - * @Default {null} - */ - dataSource?: any; - - /** Gets or sets a value that indicates whether to enable or disable field as column header in the Spreadsheet. - * @Default {false} - */ - fieldAsColumnHeader?: boolean; - - /** Gets or sets a value to freeze rows in the Spreadsheet. - * @Default {0} - */ - frozenRows?: number; - - /** Gets or sets a value to freeze columns in the Spreadsheet. - * @Default {0} - */ - frozenColumns?: number; - - /** Specifies the header styles for the headers in datasource range. - * @Default {null} - */ - headerStyles?: any; - - /** To hide the specified columns in Spreadsheet. - * @Default {[]} - */ - hideColumns?: Array; + /** To hide the specified rows in Spreadsheet. + * @Default {[]} + */ + hideRows?: any[]; - /** To hide the specified rows in Spreadsheet. - * @Default {[]} - */ - hideRows?: Array; + /** To merge specified ranges in Spreadsheet. + * @Default {[]} + */ + mergeCells?: any[]; - /** To merge specified ranges in Spreadsheet. - * @Default {[]} - */ - mergeCells?: Array; + /** Specifies the primary key for the datasource in Spreadsheet. + */ + primaryKey?: string; - /** Specifies the primary key for the datasource in Spreadsheet. - */ - primaryKey?: string; + /** Specifies the query for the dataSource in Spreadsheet. + * @Default {null} + */ + query?: any; - /** Specifies the query for the dataSource in Spreadsheet. - * @Default {null} - */ - query?: any; + /** Specifies single range or multiple range settings for a sheet in Spreadsheet. + * @Default {[]} + */ + rangeSettings?: SheetsRangeSetting[]; - /** Specifies single range or multiple range settings for a sheet in Spreadsheet. - * @Default {[]} - */ - rangeSettings?: Array; + /** Gets or sets a value that indicates to define row count in the Spreadsheet. + * @Default {20} + */ + rowCount?: number; - /** Gets or sets a value that indicates to define row count in the Spreadsheet. - * @Default {20} - */ - rowCount?: number; + /** Specifies the rows for a sheet in Spreadsheet. + * @Default {[]} + */ + rows?: SheetsRow[]; - /** Specifies the rows for a sheet in Spreadsheet. - * @Default {[]} - */ - rows?: Array; + /** Gets or sets a value that indicates whether to show or hide grid lines in the Spreadsheet. + * @Default {true} + */ + showGridlines?: boolean; - /** Gets or sets a value that indicates whether to show or hide grid lines in the Spreadsheet. - * @Default {true} - */ - showGridlines?: boolean; + /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. + * @Default {true} + */ + showHeader?: boolean; - /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. - * @Default {true} - */ - showHeader?: boolean; + /** Gets or sets a value that indicates whether to show or hide headings in the Spreadsheet. + * @Default {true} + */ + showHeadings?: boolean; - /** Gets or sets a value that indicates whether to show or hide headings in the Spreadsheet. - * @Default {true} - */ - showHeadings?: boolean; + /** Specifies the start cell for the datasource range in Spreadsheet. + * @Default {A1} + */ + startCell?: string; + } - /** Specifies the start cell for the datasource range in Spreadsheet. - * @Default {A1} - */ - startCell?: string; -} + enum AutoFillOptions { -enum AutoFillOptions{ + ///Specifies the CopyCells property in AutoFillOptions. + CopyCells, - ///Specifies the CopyCells property in AutoFillOptions. - CopyCells, + ///Specifies the FillSeries property in AutoFillOptions. + FillSeries, - ///Specifies the FillSeries property in AutoFillOptions. - FillSeries, + ///Specifies the FillFormattingOnly property in AutoFillOptions. + FillFormattingOnly, - ///Specifies the FillFormattingOnly property in AutoFillOptions. - FillFormattingOnly, + ///Specifies the FillWithoutFormatting property in AutoFillOptions. + FillWithoutFormatting, - ///Specifies the FillWithoutFormatting property in AutoFillOptions. - FillWithoutFormatting, + ///Specifies the FlashFill property in AutoFillOptions. + FlashFill + } - ///Specifies the FlashFill property in AutoFillOptions. - FlashFill -} + enum scrollMode { -enum scrollMode{ + ///To enable Infinite scroll mode for Spreadsheet. + Infinite, - ///To enable Infinite scroll mode for Spreadsheet. - Infinite, + ///To enable Normal scroll mode for Spreadsheet. + Normal + } - ///To enable Normal scroll mode for Spreadsheet. - Normal -} + enum SelectionType { -enum SelectionType{ + ///To select only Column in Spreadsheet. + Column, - ///To select only Column in Spreadsheet. - Column, + ///To select only Row in Spreadsheet. + Row, - ///To select only Row in Spreadsheet. - Row, + ///To select both Column/Row in Spreadsheet. + Default + } - ///To select both Column/Row in Spreadsheet. - Default -} + enum SelectionUnit { -enum SelectionUnit{ + ///To enable Single selection in Spreadsheet + Single, - ///To enable Single selection in Spreadsheet - Single, + ///To enable Range selection in Spreadsheet + Range, - ///To enable Range selection in Spreadsheet - Range, + ///To enable MultiRange selection in Spreadsheet + MultiRange + } - ///To enable MultiRange selection in Spreadsheet - MultiRange -} + enum BorderType { -enum BorderType{ + ///To apply top border for the given range of cell. + Top, - ///To apply top border for the given range of cell. - Top, + ///To apply left border for the given range of cell. + Left, - ///To apply left border for the given range of cell. - Left, + ///To apply right border for the given range of cell. + Right, - ///To apply right border for the given range of cell. - Right, + ///To apply bottom border for the given range of cell. + Bottom, - ///To apply bottom border for the given range of cell. - Bottom, + ///To apply outside border for the given range of cell. + OutSide, - ///To apply outside border for the given range of cell. - OutSide, + ///To apply all border for the given range of cell. + AllBorder, - ///To apply all border for the given range of cell. - AllBorder, + ///To apply thick box border for the given range of cell. + ThickBox, - ///To apply thick box border for the given range of cell. - ThickBox, + ///To apply thick bottom border for the given range of cell. + ThickBottom, - ///To apply thick bottom border for the given range of cell. - ThickBottom, + ///To apply top and bottom border for the given range of cell. + TopandBottom, - ///To apply top and bottom border for the given range of cell. - TopandBottom, + ///To apply top and thick bottom border for the given range of cell. + TopandThickBottom + } - ///To apply top and thick bottom border for the given range of cell. - TopandThickBottom -} + enum CFormatRule { -enum CFormatRule{ + ///To identify greater than values in the given range of cells. + GreaterThan, - ///To identify greater than values in the given range of cells. - GreaterThan, + ///To identify less than values in the given range of cells. + LessThan, - ///To identify less than values in the given range of cells. - LessThan, + ///To identify in between values in the given range of cells. + Between, - ///To identify in between values in the given range of cells. - Between, + ///To identify the equal values in the given range of cells. + EqualTo, - ///To identify the equal values in the given range of cells. - EqualTo, + ///To identify the specified text in the range of cells. + TextContains, - ///To identify the specified text in the range of cells. - TextContains, + ///To identify the specified date in the range of cells. + DateOccurs + } - ///To identify the specified date in the range of cells. - DateOccurs -} + enum CFormatHighlightColor { -enum CFormatHighlightColor{ + ///Highlights red with dark red text color. + RedFillwithDarkRedText, - ///Highlights red with dark red text color. - RedFillwithDarkRedText, + ///Highlights yellow with dark yellow text color. + YellowFillwithDarkYellowText, - ///Highlights yellow with dark yellow text color. - YellowFillwithDarkYellowText, + ///Highlights green with dark green text color. + GreenFillwithDarkGreenText, - ///Highlights green with dark green text color. - GreenFillwithDarkGreenText, + ///Highlights with red fill. + RedFill, - ///Highlights with red fill. - RedFill, + ///Highlights with red text. + RedText + } - ///Highlights with red text. - RedText -} + enum ChartProperties { -enum ChartProperties{ + ///Specifies to make the data label center of the chart. + DataLabelCenter, - ///Specifies to make the data label center of the chart. - DataLabelCenter, + ///Specifies to make the data label inside base of the chart. + DataLabelInsideBase, - ///Specifies to make the data label inside base of the chart. - DataLabelInsideBase, + ///Specifies to make the data label inside end of the chart. + DataLabelInsideEnd, - ///Specifies to make the data label inside end of the chart. - DataLabelInsideEnd, + ///Specifies to make the data label none of the chart. + DataLabelNone, - ///Specifies to make the data label none of the chart. - DataLabelNone, + ///Specifies to make the data label outside end of the chart. + DataLabelOutsideEnd, - ///Specifies to make the data label outside end of the chart. - DataLabelOutsideEnd, + ///Specifies to make the legends to bottom of the chart. + LegendsBottom, - ///Specifies to make the legends to bottom of the chart. - LegendsBottom, + ///Specifies to make the legends to left of the chart. + LegendsLeft, - ///Specifies to make the legends to left of the chart. - LegendsLeft, + ///Specifies to make the legends to none of the chart. + LegendsNone, - ///Specifies to make the legends to none of the chart. - LegendsNone, + ///Specifies to make the legends to right of the chart. + LegendsRight, - ///Specifies to make the legends to right of the chart. - LegendsRight, + ///Specifies to make the legends to top of the chart. + LegendsTop, - ///Specifies to make the legends to top of the chart. - LegendsTop, + ///To set the primary horizontal of the chart. + PrimaryHorizontal, - ///To set the primary horizontal of the chart. - PrimaryHorizontal, + ///To set the primary horizontal axis title of the chart. + PrimaryHorizontalAxisTitle, - ///To set the primary horizontal axis title of the chart. - PrimaryHorizontalAxisTitle, + ///To set the primary major horizontal of the chart. + PrimaryMajorHorizontal, - ///To set the primary major horizontal of the chart. - PrimaryMajorHorizontal, + ///To set the primary major vertical of the chart. + PrimaryMajorVertical, - ///To set the primary major vertical of the chart. - PrimaryMajorVertical, + ///To set the primary minor horizontal of the chart. + PrimaryMinorHorizontal, - ///To set the primary minor horizontal of the chart. - PrimaryMinorHorizontal, + ///To set the primary minor vertical of the chart. + PrimaryMinorVertical, - ///To set the primary minor vertical of the chart. - PrimaryMinorVertical, + ///To set the primary vertical of the chart. + PrimaryVertical, - ///To set the primary vertical of the chart. - PrimaryVertical, + ///To set the primary vertical axis title of the chart. + PrimaryVerticalAxisTitle, - ///To set the primary vertical axis title of the chart. - PrimaryVerticalAxisTitle, + ///Specifies to make the title to center of the chart. + TitleCenter, - ///Specifies to make the title to center of the chart. - TitleCenter, + ///Specifies to make the title to far of the chart. + TitleFar, - ///Specifies to make the title to far of the chart. - TitleFar, + ///Specifies to make the title to near of the chart. + TitleNear, - ///Specifies to make the title to near of the chart. - TitleNear, - - ///Specifies to make the title to none of the chart. - TitleNone -} + ///Specifies to make the title to none of the chart. + TitleNone + } } class PdfViewer extends ej.Widget { static fn: PdfViewer; - constructor(element: JQuery, options?: PdfViewer.Model); - constructor(element: Element, options?: PdfViewer.Model); + constructor(element: JQuery | Element, options?: PdfViewer.Model); static Locale: any; - model:PdfViewer.Model; - defaults:PdfViewer.Model; + model: PdfViewer.Model; + defaults: PdfViewer.Model; /** Loads the document with the filename and displays it in PDF viewer. - * @param {string} File name to be loaded - * @returns {void} - */ + * @param {string} File name to be loaded + * @returns {void} + */ load(fileName: string): void; /** Shows/hides the toolbar in the PDF viewer. - * @param {boolean} shows/hides the toolbar - * @returns {void} - */ + * @param {boolean} shows/hides the toolbar + * @returns {void} + */ showToolbar(show: boolean): void; /** Prints the PDF document. - * @returns {void} - */ + * @returns {void} + */ print(): void; /** Abort the printing function and restores the PDF viewer. - * @returns {void} - */ + * @returns {void} + */ abortPrint(): void; /** Shows/hides the print icon in the toolbar. - * @param {boolean} shows/hides print button in the toolbar - * @returns {void} - */ + * @param {boolean} shows/hides print button in the toolbar + * @returns {void} + */ showPrintTools(show: boolean): void; /** Downloads the PDF document being loaded in the ejPdfViewer control. - * @returns {void} - */ + * @returns {void} + */ download(): void; /** Shows/hides the download tool in the toolbar. - * @param {boolean} shows/hides download button in the toolbar - * @returns {void} - */ + * @param {boolean} shows/hides download button in the toolbar + * @returns {void} + */ showDownloadTool(show: boolean): void; /** Shows/hides the page navigation tools in the toolbar - * @param {boolean} shows/hides navigation tools in the toolbar - * @returns {void} - */ + * @param {boolean} shows/hides navigation tools in the toolbar + * @returns {void} + */ showPageNavigationTools(show: boolean): void; /** Navigates to the specific page in the PDF document. If the page is not available for the given pageNumber, PDF viewer retains the existing page in view. - * @param {number} navigates to the page number in the PDF document - * @returns {void} - */ + * @param {number} navigates to the page number in the PDF document + * @returns {void} + */ goToPage(pageNumber: number): void; /** Navigates to the last page of the PDF document. - * @returns {void} - */ + * @returns {void} + */ goToLastPage(): void; /** Navigates to the first page of PDF document. - * @returns {void} - */ + * @returns {void} + */ goToFirstPage(): void; /** Navigates to the next page of the PDF document. - * @returns {void} - */ + * @returns {void} + */ goToNextPage(): void; /** Navigates to the previous page of the PDF document. - * @returns {void} - */ + * @returns {void} + */ goToPreviousPage(): void; /** Shows/hides the zoom tools in the toolbar. - * @param {boolean} shows/hides zoom tools in the toolbar - * @returns {void} - */ + * @param {boolean} shows/hides zoom tools in the toolbar + * @returns {void} + */ showMagnificationTools(show: boolean): void; /** Scales the page to fit the page in the container in the control. - * @returns {void} - */ + * @returns {void} + */ fitToPage(): void; /** Scales the page to fit the page width to the width of the container in the control. - * @returns {void} - */ + * @returns {void} + */ fitToWidth(): void; /** Magnifies the page to the next value in the zoom drop down list. - * @returns {void} - */ + * @returns {void} + */ zoomIn(): void; /** Shrinks the page to the previous value in the magnification in the drop down list. - * @returns {void} - */ + * @returns {void} + */ zoomOut(): void; /** Scales the page to the specified percentage ranging from 50 to 400. If the given zoomValue is less than 50 or greater than 400; the PDF viewer scales the page to 50 and 400 respectively. - * @param {number} zoom value for scaling the pages in the PDF Viewer - * @returns {void} - */ + * @param {number} zoom value for scaling the pages in the PDF Viewer + * @returns {void} + */ zoomTo(zoomValue: number): void; /** Unloads the PDF document being displayed in the PDF viewer. - * @returns {void} - */ + * @returns {void} + */ unload(): void; } -export module PdfViewer{ +export namespace PdfViewer { -export interface Model { + export interface Model { - /** Specifies the locale information of the PDF viewer. - */ - locale?: string; + /** Specifies the locale information of the PDF viewer. + */ + locale?: string; - /** Specifies the toolbar settings. - */ - toolbarSettings?: ToolbarSettings; + /** Specifies the toolbar settings. + */ + toolbarSettings?: ToolbarSettings; - /** Specifies the name of the action method in the server. - */ - serverActionSettings?: ServerActionSettings; + /** Specifies the name of the action method in the server. + */ + serverActionSettings?: ServerActionSettings; - /** Sets the PDF Web API service URL - */ - serviceUrl?: string; + /** Sets the PDF Web API service URL + */ + serviceUrl?: string; - /** Sets the PDF document path for initial loading. - */ - documentPath?: string; + /** Sets the PDF document path for initial loading. + */ + documentPath?: string; - /** Gets the total number of pages in PDF document. - */ - pageCount?: number; + /** Gets the total number of pages in PDF document. + */ + pageCount?: number; - /** Gets the number of the page being displayed in the PDF viewer. - */ - currentPageNumber?: number; + /** Gets the number of the page being displayed in the PDF viewer. + */ + currentPageNumber?: number; - /** Gets the current zoom percentage of the PDF document in viewer. - */ - zoomPercentage?: number; + /** Gets the current zoom percentage of the PDF document in viewer. + */ + zoomPercentage?: number; - /** Specifies the location of the supporting PDF service - */ - pdfService?: ej.PdfViewer.PdfService|string; + /** Specifies the location of the supporting PDF service + */ + pdfService?: ej.PdfViewer.PdfService | string; - /** Specifies the open state of the hyperlink in the PDF document. - */ - hyperlinkOpenState?: ej.PdfViewer.LinkTarget|string; + /** Specifies the open state of the hyperlink in the PDF document. + */ + hyperlinkOpenState?: ej.PdfViewer.LinkTarget | string; - /** Enables or disables the hyperlinks in PDF document. - */ - enableHyperlink?: boolean; + /** Enables or disables the hyperlinks in PDF document. + */ + enableHyperlink?: boolean; - /** Enables or disables the text selection in PDF document. - */ - enableTextSelection?: boolean; + /** Enables or disables the text selection in PDF document. + */ + enableTextSelection?: boolean; - /** Enables or disables the responsiveness of the PDF viewer control during the window resize. - */ - isResponsive?: boolean; + /** Enables or disables the responsiveness of the PDF viewer control during the window resize. + */ + isResponsive?: boolean; - /** Checks whether the PDF document is edited. - */ - isDocumentEdited?: boolean; + /** Checks whether the PDF document is edited. + */ + isDocumentEdited?: boolean; - /** Enables or disables the buffering of the PDF pages in the client side. - */ - allowClientBuffering?: boolean; + /** Enables or disables the buffering of the PDF pages in the client side. + */ + allowClientBuffering?: boolean; - /** Gets the name of the PDF document which loaded in the ejPdfViewer control for downloading. - */ - fileName?: string; + /** Gets the name of the PDF document which loaded in the ejPdfViewer control for downloading. + */ + fileName?: string; - /** Triggers when the PDF document gets loaded and is ready to view in the Control. */ - documentLoad? (e: DocumentLoadEventArgs): void; + /** Triggers when the PDF document gets loaded and is ready to view in the Control. */ + documentLoad?(e: DocumentLoadEventArgs): void; - /** Triggers when the PDF document gets unloaded from the PDF viewer. */ - documentUnload? (e: DocumentUnloadEventArgs): void; + /** Triggers when the PDF document gets unloaded from the PDF viewer. */ + documentUnload?(e: DocumentUnloadEventArgs): void; - /** Triggers when there is change in current page number. */ - pageChange? (e: PageChangeEventArgs): void; + /** Triggers when there is change in current page number. */ + pageChange?(e: PageChangeEventArgs): void; - /** Triggers when there is change in the magnification value. */ - zoomChange? (e: ZoomChangeEventArgs): void; + /** Triggers when there is change in the magnification value. */ + zoomChange?(e: ZoomChangeEventArgs): void; - /** Triggers when hyperlink in the PDF Document is clicked */ - hyperlinkClick? (e: HyperlinkClickEventArgs): void; + /** Triggers when hyperlink in the PDF Document is clicked */ + hyperlinkClick?(e: HyperlinkClickEventArgs): void; - /** Triggers before the printing starts. */ - beforePrint? (e: BeforePrintEventArgs): void; + /** Triggers before the printing starts. */ + beforePrint?(e: BeforePrintEventArgs): void; - /** Triggers after the printing is completed. */ - afterPrint? (e: AfterPrintEventArgs): void; + /** Triggers after the printing is completed. */ + afterPrint?(e: AfterPrintEventArgs): void; - /** Triggers when the mouse click is performed over the page of the PDF document. */ - pageClick? (e: PageClickEventArgs): void; + /** Triggers when the mouse click is performed over the page of the PDF document. */ + pageClick?(e: PageClickEventArgs): void; - /** Triggers when the client buffering process starts. */ - bufferStart? (e: BufferStartEventArgs): void; + /** Triggers when the client buffering process starts. */ + bufferStart?(e: BufferStartEventArgs): void; - /** Triggers when the client buffering process ends. */ - bufferEnd? (e: BufferEndEventArgs): void; + /** Triggers when the client buffering process ends. */ + bufferEnd?(e: BufferEndEventArgs): void; - /** Triggers when PDF viewer control is destroyed successfully. */ - destroy? (e: DestroyEventArgs): void; -} + /** Triggers when PDF viewer control is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + } -export interface DocumentLoadEventArgs { + export interface DocumentLoadEventArgs { - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Returns the PDF document name displaying in the PDF viewer. - */ - fileName?: string; -} + /** Returns the PDF document name displaying in the PDF viewer. + */ + fileName?: string; + } -export interface DocumentUnloadEventArgs { + export interface DocumentUnloadEventArgs { - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the name of the event + */ + type?: string; + } -export interface PageChangeEventArgs { + export interface PageChangeEventArgs { - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Returns the current page number in view. - */ - currentPageNumber?: number; -} + /** Returns the current page number in view. + */ + currentPageNumber?: number; + } -export interface ZoomChangeEventArgs { + export interface ZoomChangeEventArgs { - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the previous zoom percentage of the PDF viewer control - */ - previousZoomPercentage?: number; + /** Returns the previous zoom percentage of the PDF viewer control + */ + previousZoomPercentage?: number; - /** Returns the current zoom percentage of the PDF viewer control - */ - currentZoomPercentage?: number; -} + /** Returns the current zoom percentage of the PDF viewer control + */ + currentZoomPercentage?: number; + } -export interface HyperlinkClickEventArgs { + export interface HyperlinkClickEventArgs { - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Returns the clicked hyperlink - */ - hyperlink?: string; -} + /** Returns the clicked hyperlink + */ + hyperlink?: string; + } -export interface BeforePrintEventArgs { + export interface BeforePrintEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the name of the event + */ + type?: string; + } -export interface AfterPrintEventArgs { + export interface AfterPrintEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the name of the event + */ + type?: string; + } -export interface PageClickEventArgs { + export interface PageClickEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Returns the current X position - */ - offsetX?: number; + /** Returns the current X position + */ + offsetX?: number; - /** Returns the current Y position - */ - offsetY?: number; -} + /** Returns the current Y position + */ + offsetY?: number; + } -export interface BufferStartEventArgs { + export interface BufferStartEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Specifies the state of the buffering - */ - isBuffering?: boolean; -} + /** Specifies the state of the buffering + */ + isBuffering?: boolean; + } -export interface BufferEndEventArgs { + export interface BufferEndEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; + /** Returns the name of the event + */ + type?: string; - /** Specifies the state of the buffering - */ - isBuffering?: boolean; -} + /** Specifies the state of the buffering + */ + isBuffering?: boolean; + } -export interface DestroyEventArgs { + export interface DestroyEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the PDF viewer model - */ - model?: any; + /** Returns the PDF viewer model + */ + model?: any; - /** Returns the name of the event - */ - type?: string; -} + /** Returns the name of the event + */ + type?: string; + } -export interface ToolbarSettings { + export interface ToolbarSettings { - /** Shows or hides the tooltip of the toolbar items. - */ - showToolTip?: boolean; + /** Shows or hides the tooltip of the toolbar items. + */ + showToolTip?: boolean; - /** Shows or hides the grouped items in the toolbar with the help of enum ej.PdfViewer.ToolbarItems - */ - toolbarItem?: ej.PdfViewer.ToolbarItems|string; -} + /** Shows or hides the grouped items in the toolbar with the help of enum ej.PdfViewer.ToolbarItems + */ + toolbarItem?: ej.PdfViewer.ToolbarItems | string; + } -export interface ServerActionSettings { + export interface ServerActionSettings { - /** Specifies the name of the action method used for loading the PDF document. - */ - load?: string; + /** Specifies the name of the action method used for loading the PDF document. + */ + load?: string; - /** Specifies the name of the action method used for uploading the PDF document to the PDF viewer control. - */ - fileUpload?: string; + /** Specifies the name of the action method used for uploading the PDF document to the PDF viewer control. + */ + fileUpload?: string; - /** Specifies the name of the action method used for printing the PDF document in the PDF viewer control. - */ - print?: string; + /** Specifies the name of the action method used for printing the PDF document in the PDF viewer control. + */ + print?: string; - /** Specifies the name of the action method used for downloading the PDF document from the PDF viewer control. - */ - download?: string; -} + /** Specifies the name of the action method used for downloading the PDF document from the PDF viewer control. + */ + download?: string; + } -enum ToolbarItems{ + enum ToolbarItems { - ///Shows only magnification tools in the toolbar. - MagnificationTools, + ///Shows only magnification tools in the toolbar. + MagnificationTools, - ///Shows only page navigation tools in the toolbar. - PageNavigationTools, + ///Shows only page navigation tools in the toolbar. + PageNavigationTools, - ///Shows only print tool in the toolbar. - PrintTools, + ///Shows only print tool in the toolbar. + PrintTools, - ///Shows only download tool in the toolbar. - DownloadTool, + ///Shows only download tool in the toolbar. + DownloadTool, - ///Shows all the toolbar items. - All -} + ///Shows all the toolbar items. + All + } -enum PdfService{ + enum PdfService { - ///Denotes that the service is located in the local project - Local, + ///Denotes that the service is located in the local project + Local, - ///Denotes that the service is hosted in the remote server - Remote -} + ///Denotes that the service is hosted in the remote server + Remote + } -enum LinkTarget{ + enum LinkTarget { - ///Opens the hyperlink in the same tab of the browser. - Default, + ///Opens the hyperlink in the same tab of the browser. + Default, - ///Opens the hyperlink in a new tab of the browser. - NewTab, + ///Opens the hyperlink in a new tab of the browser. + NewTab, - ///Opens the hyperlink in a new window of the browser. - NewWindow -} + ///Opens the hyperlink in a new window of the browser. + NewWindow + } } class SpellCheck extends ej.Widget { static fn: SpellCheck; - constructor(element: JQuery, options?: SpellCheck.Model); - constructor(element: Element, options?: SpellCheck.Model); + constructor(element: JQuery | Element, options?: SpellCheck.Model); static Locale: any; - model:SpellCheck.Model; - defaults:SpellCheck.Model; + model: SpellCheck.Model; + defaults: SpellCheck.Model; /** Open the dialog to correct the spelling of the target content. - * @returns {void} - */ + * @returns {void} + */ showInDialog(): void; /** Highlighting the error word in the target area itself and correct the spelling using the context menu. - * @returns {void} - */ + * @returns {void} + */ validate(): void; /** To get the error word highlighted string by passing the given input sentence. - * @param {string} Content to be spell check - * @param {string} Class name that contains style value to highlight the error word - * @returns {any} - */ + * @param {string} Content to be spell check + * @param {string} Class name that contains style value to highlight the error word + * @returns {any} + */ spellCheck(targetSentence: string, misspellWordCss: string): any; /** To ignore all the error word occurrences from the given input sentence. - * @param {string} Error word to ignore from the target content - * @param {string} Content to perform the ignore all operation - * @returns {any} - */ + * @param {string} Error word to ignore from the target content + * @param {string} Content to perform the ignore all operation + * @returns {any} + */ ignoreAll(word: string, targetSentence: string): any; /** To ignore the error word once from the given input sentence. - * @param {string} Error word to ignore from the target content - * @param {string} Content to perform the ignore operation - * @param {number} Index of the error word present in the target content - * @returns {any} - */ + * @param {string} Error word to ignore from the target content + * @param {string} Content to perform the ignore operation + * @param {number} Index of the error word present in the target content + * @returns {any} + */ ignore(word: string, targetSentence: string, index: number): any; /** To change the error word once from the given input sentence. - * @param {string} Error word to change from the target content - * @param {string} Content to perform the change operation - * @param {string} Word to replace with the error word - * @param {number} Index of the error word present in the target content - * @returns {any} - */ + * @param {string} Error word to change from the target content + * @param {string} Content to perform the change operation + * @param {string} Word to replace with the error word + * @param {number} Index of the error word present in the target content + * @returns {any} + */ change(word: string, targetSentence: string, changeWord: string, index: number): any; /** To change all the error word occurrences from the given input sentence. - * @param {string} Error word to change from the target content - * @param {string} Content to perform the change all operation - * @param {string} Word to replace with the error word - * @returns {any} - */ + * @param {string} Error word to change from the target content + * @param {string} Content to perform the change all operation + * @param {string} Word to replace with the error word + * @returns {any} + */ changeAll(word: string, targetSentence: string, changeWord: string): any; /** To add the words into the custom dictionary. - * @param {string} Word to add into the dictionary file - * @returns {any} - */ + * @param {string} Word to add into the dictionary file + * @returns {any} + */ addToDictionary(customWord: string): any; } -export module SpellCheck{ +export namespace SpellCheck { -export interface Model { + export interface Model { - /** It includes the service method path to find the error words and its suggestions also adding the custom word into the custom dictionary. - */ - dictionarySettings?: DictionarySettings; + /** It includes the service method path to find the error words and its suggestions also adding the custom word into the custom dictionary. + */ + dictionarySettings?: DictionarySettings; - /** To display the error word in a customized style. - * @Default {e-errorword} - */ - misspellWordCss?: string; + /** To display the error word in a customized style. + * @Default {e-errorword} + */ + misspellWordCss?: string; - /** Sets the specific culture to the SpellCheck. - * @Default {en-US} - */ - locale?: string; + /** Sets the specific culture to the SpellCheck. + * @Default {en-US} + */ + locale?: string; - /** To set the maximum suggestion display count. - * @Default {6} - */ - maxSuggestionCount?: number; + /** To set the maximum suggestion display count. + * @Default {6} + */ + maxSuggestionCount?: number; - /** To ignore the words from the error word consideration. - * @Default {[]} - */ - ignoreWords?: Array; + /** To ignore the words from the error word consideration. + * @Default {[]} + */ + ignoreWords?: any[]; - /** Holds all options related to the context menu settings of SpellCheck. - */ - contextMenuSettings?: ContextMenuSettings; + /** Holds all options related to the context menu settings of SpellCheck. + */ + contextMenuSettings?: ContextMenuSettings; - /** It helps to ignore the uppercase, mixed case words, alpha numeric words, file path and email addresses based on the property values. - */ - ignoreSettings?: IgnoreSettings; + /** It helps to ignore the uppercase, mixed case words, alpha numeric words, file path and email addresses based on the property values. + */ + ignoreSettings?: IgnoreSettings; - /** When set to true, allows the spellcheck to render based upon screen size. - * @Default {true} - */ - isResponsive?: boolean; + /** When set to true, allows the spellcheck to render based upon screen size. + * @Default {true} + */ + isResponsive?: boolean; - /** It allows to spell check the multiple target HTML element's texts and correct its error words. - * @Default {null} - */ - controlsToValidate?: string; + /** It allows to spell check the multiple target HTML element's texts and correct its error words. + * @Default {null} + */ + controlsToValidate?: string; - /** Triggers on the success of AJAX call request. */ - actionSuccess? (e: ActionSuccessEventArgs): void; + /** Triggers on the success of AJAX call request. */ + actionSuccess?(e: ActionSuccessEventArgs): void; - /** Triggers on the AJAX call request beginning. */ - actionBegin? (e: ActionBeginEventArgs): void; + /** Triggers on the AJAX call request beginning. */ + actionBegin?(e: ActionBeginEventArgs): void; - /** Triggers when the AJAX call request failure. */ - actionFailure? (e: ActionFailureEventArgs): void; + /** Triggers when the AJAX call request failure. */ + actionFailure?(e: ActionFailureEventArgs): void; - /** Triggers when the dialog mode spell check starting. */ - start? (e: StartEventArgs): void; + /** Triggers when the dialog mode spell check starting. */ + start?(e: StartEventArgs): void; - /** Triggers when the spell check operations completed through dialog mode. */ - complete? (e: CompleteEventArgs): void; + /** Triggers when the spell check operations completed through dialog mode. */ + complete?(e: CompleteEventArgs): void; - /** Triggers before context menu opening. */ - contextOpen? (e: ContextOpenEventArgs): void; + /** Triggers before context menu opening. */ + contextOpen?(e: ContextOpenEventArgs): void; - /** Triggers when the context menu item clicked. */ - contextClick? (e: ContextClickEventArgs): void; + /** Triggers when the context menu item clicked. */ + contextClick?(e: ContextClickEventArgs): void; - /** Triggers before the spell check dialog opens. */ - dialogBeforeOpen? (e: DialogBeforeOpenEventArgs): void; + /** Triggers before the spell check dialog opens. */ + dialogBeforeOpen?(e: DialogBeforeOpenEventArgs): void; + /** Triggers after the spell check dialog opens. */ + dialogOpen?(e: DialogOpenEventArgs): void; - /** Triggers after the spell check dialog opens. */ - dialogOpen? (e: DialogOpenEventArgs): void; + /** Triggers when the spell check dialog closed. */ + dialogClose?(e: DialogCloseEventArgs): void; - /** Triggers when the spell check dialog closed. */ - dialogClose? (e: DialogCloseEventArgs): void; + /** Triggers when the spell check control performing the spell check operations such as ignore, ignoreAll, change, changeAll and addToDictionary. */ + validating?(e: ValidatingEventArgs): void; - /** Triggers when the spell check control performing the spell check operations such as ignore, ignoreAll, change, changeAll and addToDictionary. */ - validating? (e: ValidatingEventArgs): void; + /** Triggers before loading the target HTML element text into the dialog sentence area. */ + targetUpdating?(e: TargetUpdatingEventArgs): void; + } - /** Triggers before loading the target HTML element text into the dialog sentence area. */ - targetUpdating? (e: TargetUpdatingEventArgs): void; -} + export interface ActionSuccessEventArgs { -export interface ActionSuccessEventArgs { + /** Returns the error word highlighted string. + */ + resultHTML?: string; - /** Returns the error word highlighted string. - */ - resultHTML?: string; + /** Returns the error word details of the given input. + */ + errorWordDetails?: any; - /** Returns the error word details of the given input. - */ - errorWordDetails?: any; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface ActionBeginEventArgs { -export interface ActionBeginEventArgs { + /** Returns the input string. + */ + targetSentence?: string; - /** Returns the input string. - */ - targetSentence?: string; + /** Returns the misspellWordCss class name. + */ + misspellWordCss?: string; - /** Returns the misspellWordCss class name. - */ - misspellWordCss?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface ActionFailureEventArgs { -export interface ActionFailureEventArgs { + /** Returns AJAX request failure error message. + */ + errorMessage?: string; - /** Returns AJAX request failure error message. - */ - errorMessage?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface StartEventArgs { -export interface StartEventArgs { + /** Returns the input string. + */ + targetSentence?: string; - /** Returns the input string. - */ - targetSentence?: string; + /** Returns the error words details. + */ + errorWords?: any; - /** Returns the error words details. - */ - errorWords?: any; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface CompleteEventArgs { -export interface CompleteEventArgs { + /** Returns the error word highlighted string. + */ + resultHTML?: string; - /** Returns the error word highlighted string. - */ - resultHTML?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface ContextOpenEventArgs { -export interface ContextOpenEventArgs { + /** Returns the selected error word. + */ + selectedErrorWord?: string; - /** Returns the selected error word. - */ - selectedErrorWord?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface ContextClickEventArgs { -export interface ContextClickEventArgs { + /** Returns the selected error word. + */ + selectedValue?: string; - /** Returns the selected error word. - */ - selectedValue?: string; + /** Returns the selected option in the context menu. + */ + selectedOption?: string; - /** Returns the selected option in the context menu. - */ - selectedOption?: string; + /** Returns the input string. + */ + targetContent?: string; - /** Returns the input string. - */ - targetContent?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface DialogBeforeOpenEventArgs { -export interface DialogBeforeOpenEventArgs { + /** Returns the spell check window details. + */ + spellCheckDialog?: any; - /** Returns the spell check window details. - */ - spellCheckDialog?: any; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface DialogOpenEventArgs { -export interface DialogOpenEventArgs { + /** Returns the target input. + */ + targetText?: string; - /** Returns the target input. - */ - targetText?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface DialogCloseEventArgs { -export interface DialogCloseEventArgs { + /** Returns the error corrected string. + */ + updatedText?: string; - /** Returns the error corrected string. - */ - updatedText?: string; + /** Returns the request type value. + */ + requestType?: string; - /** Returns the request type value. - */ - requestType?: string; + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; -} + export interface ValidatingEventArgs { -export interface ValidatingEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Returns the error word to ignore. + */ + ignoreWord?: string; - /** Returns the error word to ignore. - */ - ignoreWord?: string; + /** Returns the target content. + */ + targetContent?: string; - /** Returns the target content. - */ - targetContent?: string; + /** Returns the index of an error word. + */ + index?: number; - /** Returns the index of an error word. - */ - index?: number; + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Returns the validating request type. + */ + requestType?: string; - /** Returns the validating request type. - */ - requestType?: string; + /** Returns the name of the event. + */ + type?: string; - /** Returns the name of the event. - */ - type?: string; + /** Returns the error word to change. + */ + changeableWord?: string; + + /** Returns the change word to replace the error word. + */ + changeWord?: string; + + /** Returns the custom word to add into dictionary file. + */ + customWord?: string; + } + + export interface TargetUpdatingEventArgs { - /** Returns the error word to change. - */ - changeableWord?: string; - - /** Returns the change word to replace the error word. - */ - changeWord?: string; - - /** Returns the custom word to add into dictionary file. - */ - customWord?: string; -} - -export interface TargetUpdatingEventArgs { + /** Returns the previous target element value. + */ + previousElement?: any; - /** Returns the previous target element value. - */ - previousElement?: any; + /** Returns the current target element value. + */ + currentElement?: any; - /** Returns the current target element value. - */ - currentElement?: any; - - /** Returns the target html value. - */ - targetHtml?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; -} - -export interface DictionarySettings { - - /** The dictionaryUrl option accepts string, which is the method path to find the error words and get the suggestions to correct the errors. - */ - dictionaryUrl?: string; - - /** The customDictionaryUrl option accepts string, which is the method path to add the error word into the custom dictionary. - */ - customDictionaryUrl?: string; -} - -export interface ContextMenuSettings { - - /** When set to true, enables the context menu options available for the SpellCheck. - * @Default {true} - */ - enable?: boolean; - - /** Contains all the default context menu options that are applicable for SpellCheck. It also supports adding custom menu items. All the SpellCheck related context menu items are grouped under this menu collection. - * @Default {{% highlight javascript %}[{ id: IgnoreAll, text: Ignore All },{ id: AddToDictionary, text: Add To Dictionary }]{% endhighlight %}} - */ - menuItems?: Array; -} - -export interface IgnoreSettings { - - /** When set to true, ignoring the alphanumeric words from the error word consideration. - * @Default {true} - */ - ignoreAlphaNumericWords?: string; - - /** When set to true, ignoring the Email address from the error word consideration. - * @Default {true} - */ - ignoreEmailAddress?: boolean; - - /** When set to true, ignoring the MixedCase words from the error word consideration. - * @Default {true} - */ - ignoreMixedCaseWords?: boolean; - - /** When set to true, ignoring the UpperCase words from the error word consideration. - * @Default {true} - */ - ignoreUpperCase?: boolean; - - /** When set to true, ignoring the Url from the error word consideration. - * @Default {true} - */ - ignoreUrl?: boolean; - - /** When set to true, ignoring the file address path from the error word consideration. - * @Default {true} - */ - ignoreFileNames?: boolean; -} + /** Returns the target html value. + */ + targetHtml?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DictionarySettings { + + /** The dictionaryUrl option accepts string, which is the method path to find the error words and get the suggestions to correct the errors. + */ + dictionaryUrl?: string; + + /** The customDictionaryUrl option accepts string, which is the method path to add the error word into the custom dictionary. + */ + customDictionaryUrl?: string; + } + + export interface ContextMenuSettings { + + /** When set to true, enables the context menu options available for the SpellCheck. + * @Default {true} + */ + enable?: boolean; + + /** Contains all the default context menu options that are applicable for SpellCheck. It also supports adding custom menu items. + * All the SpellCheck related context menu items are grouped under this menu collection. + * @Default {{% highlight javascript %}[{ id: IgnoreAll, text: Ignore All },{ id: AddToDictionary, text: Add To Dictionary }]{% endhighlight %}} + */ + menuItems?: any[]; + } + + export interface IgnoreSettings { + + /** When set to true, ignoring the alphanumeric words from the error word consideration. + * @Default {true} + */ + ignoreAlphaNumericWords?: string; + + /** When set to true, ignoring the Email address from the error word consideration. + * @Default {true} + */ + ignoreEmailAddress?: boolean; + + /** When set to true, ignoring the MixedCase words from the error word consideration. + * @Default {true} + */ + ignoreMixedCaseWords?: boolean; + + /** When set to true, ignoring the UpperCase words from the error word consideration. + * @Default {true} + */ + ignoreUpperCase?: boolean; + + /** When set to true, ignoring the Url from the error word consideration. + * @Default {true} + */ + ignoreUrl?: boolean; + + /** When set to true, ignoring the file address path from the error word consideration. + * @Default {true} + */ + ignoreFileNames?: boolean; + } } class DocumentEditor extends ej.Widget { static fn: DocumentEditor; - constructor(element: JQuery, options?: DocumentEditor.Model); - constructor(element: Element, options?: DocumentEditor.Model); + constructor(element: JQuery | Element, options?: DocumentEditor.Model); static Locale: any; - model:DocumentEditor.Model; - defaults:DocumentEditor.Model; + model: DocumentEditor.Model; + defaults: DocumentEditor.Model; /** Loads the document from specified path using web API provided by importUrl. - * @param {string} Specifies the file path. - * @returns {void} - */ + * @param {string} Specifies the file path. + * @returns {void} + */ load(path: string): void; /** Gets the page number of current selection in the document. - * @returns {number} - */ + * @returns {number} + */ getCurrentPageNumber(): number; /** Gets the total number of pages in the document. - * @returns {number} - */ + * @returns {number} + */ getPageCount(): number; /** Gets the text of current selection in the document. - * @returns {string} - */ + * @returns {string} + */ getSelectedText(): string; /** Gets the current zoom factor value of the document editor. - * @returns {number} - */ + * @returns {number} + */ getZoomFactor(): number; /** Scales the document editor with the specified zoom factor. The range of zoom factor should be 0.10 to 5.00 (10 - 500 %). - * @param {number} Specifies the factor for zooming. - * @returns {void} - */ + * @param {number} Specifies the factor for zooming. + * @returns {void} + */ setZoomFactor(factor: number): void; /** Prints the document content as page by page. - * @returns {void} - */ + * @returns {void} + */ print(): void; /** Finds the first occurrence of specified text from current selection and highlights the result. If the document end is reached, find operation will occur from the document start position. - * @param {string} Specifies the text to search in a document. - * @returns {void} - */ + * @param {string} Specifies the text to search in a document. + * @returns {void} + */ find(text: string): void; } -export module DocumentEditor{ +export namespace DocumentEditor { -export interface Model { + export interface Model { - /** Gets or sets an object that indicates initialization of importing and exporting documents in document editor. - */ - importExportSettings?: ImportExportSettings; + /** Gets or sets an object that indicates initialization of importing and exporting documents in document editor. + */ + importExportSettings?: ImportExportSettings; - /** Triggers when the document changes. */ - onDocumentChange? (e: OnDocumentChangeEventArgs): void; + /** Triggers when the document changes. */ + onDocumentChange?(e: OnDocumentChangeEventArgs): void; - /** Triggers when the selection changes. */ - onSelectionChange? (e: OnSelectionChangeEventArgs): void; + /** Triggers when the selection changes. */ + onSelectionChange?(e: OnSelectionChangeEventArgs): void; - /** Triggers when the zoom factor changes. */ - onZoomFactorChange? (e: OnZoomFactorChangeEventArgs): void; + /** Triggers when the zoom factor changes. */ + onZoomFactorChange?(e: OnZoomFactorChangeEventArgs): void; - /** Triggers when the hyperlink is clicked. */ - onRequestNavigate? (e: OnRequestNavigateEventArgs): void; -} + /** Triggers when the hyperlink is clicked. */ + onRequestNavigate?(e: OnRequestNavigateEventArgs): void; + } -export interface OnDocumentChangeEventArgs { + export interface OnDocumentChangeEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the document editor model. - */ - model?: any; + /** Returns the document editor model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface OnSelectionChangeEventArgs { + export interface OnSelectionChangeEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the document editor model. - */ - model?: any; + /** Returns the document editor model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface OnZoomFactorChangeEventArgs { + export interface OnZoomFactorChangeEventArgs { - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the document editor model. - */ - model?: any; + /** Returns the document editor model. + */ + model?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface OnRequestNavigateEventArgs { + export interface OnRequestNavigateEventArgs { - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Returns the document editor model. - */ - model?: any; + /** Returns the document editor model. + */ + model?: any; - /** Returns the link type and navigation link. - */ - hyperlink?: any; + /** Returns the link type and navigation link. + */ + hyperlink?: any; - /** Returns the name of the event. - */ - type?: string; -} + /** Returns the name of the event. + */ + type?: string; + } -export interface ImportExportSettings { + export interface ImportExportSettings { + + /** Gets or sets URL of Web API that should be used to parse the document while loading. + */ + importUrl?: string; + } +} - /** Gets or sets URL of Web API that should be used to parse the document while loading. - */ - importUrl?: string; -} } +declare namespace ej.datavisualization { -} -declare module ej.datavisualization { - -class SymbolPalette extends ej.Widget { - static fn: SymbolPalette; - constructor(element: JQuery, options?: SymbolPalette.Model); - constructor(element: Element, options?: SymbolPalette.Model); - static Locale: any; - model:SymbolPalette.Model; - defaults:SymbolPalette.Model; - - /** Add items to Palettes at runtime - * @param {string} name of the Palette - * @param {any} JSON for the new items to added in Palette - * @returns {void} - */ - addPaletteItem(paletteName: string, node: any): void; - - /** Remove items to Palettes at runtime - * @param {string} name of the Palette - * @param {any} JSON for the new node to removed in Palette - * @returns {void} - */ - removePaletteItem(paletteName: string, node: any): void; -} -export module SymbolPalette{ - -export interface Model { - - /** Defines whether the symbols can be dragged from palette or not - * @Default {true} - */ - allowDrag?: boolean; - - /** Customizes the style of the symbol palette - * @Default {e-symbolpalette} - */ - cssClass?: string; - - /** Defines the default properties of nodes and connectors - */ - defaultSettings?: DefaultSettings; - - /** Sets the Id of the diagram, over which the symbols will be dropped - * @Default {null} - */ - diagramId?: string; - - /** Sets the height of the palette headers - * @Default {30} - */ - headerHeight?: number; - - /** Defines the height of the symbol palette - * @Default {400} - */ - height?: number; - - /** Defines the height of the palette items - * @Default {50} - */ - paletteItemHeight?: number; - - /** Defines the width of the palette items - * @Default {50} - */ - paletteItemWidth?: number; - - /** An array of JSON objects, where each object represents a node/connector - * @Default {[]} - */ - palettes?: Array; - - /** Defines the preview height of the symbols - * @Default {100} - */ - previewHeight?: number; - - /** Defines the offset value to be left between the mouse cursor and symbol previews - * @Default {(110, 110)} - */ - previewOffset?: any; - - /** Defines the width of the symbol previews - * @Default {100} - */ - previewWidth?: number; - - /** Enable or disable the palette item text - * @Default {true} - */ - showPaletteItemText?: boolean; - - /** The width of the palette - * @Default {250} - */ - width?: number; - - /** Triggers when a palette item is selected or unselected */ - selectionChange? (e: SelectionChangeEventArgs): void; -} + class SymbolPalette extends ej.Widget { + static fn: SymbolPalette; + constructor(element: JQuery | Element, options?: SymbolPalette.Model); + static Locale: any; + model: SymbolPalette.Model; + defaults: SymbolPalette.Model; + + /** Add items to Palettes at runtime + * @param {string} name of the Palette + * @param {any} JSON for the new items to added in Palette + * @returns {void} + */ + addPaletteItem(paletteName: string, node: any): void; + + /** Remove items to Palettes at runtime + * @param {string} name of the Palette + * @param {any} JSON for the new node to removed in Palette + * @returns {void} + */ + removePaletteItem(paletteName: string, node: any): void; + } + export namespace SymbolPalette { + + export interface Model { + + /** Defines whether the symbols can be dragged from palette or not + * @Default {true} + */ + allowDrag?: boolean; + + /** Customizes the style of the symbol palette + * @Default {e-symbolpalette} + */ + cssClass?: string; + + /** Defines the default properties of nodes and connectors + */ + defaultSettings?: DefaultSettings; + + /** Sets the Id of the diagram, over which the symbols will be dropped + * @Default {null} + */ + diagramId?: string; + + /** Sets the height of the palette headers + * @Default {30} + */ + headerHeight?: number; + + /** Defines the height of the symbol palette + * @Default {400} + */ + height?: number; + + /** Defines the height of the palette items + * @Default {50} + */ + paletteItemHeight?: number; + + /** Defines the width of the palette items + * @Default {50} + */ + paletteItemWidth?: number; + + /** An array of JSON objects, where each object represents a node/connector + * @Default {[]} + */ + palettes?: Palette[]; + + /** Defines the preview height of the symbols + * @Default {100} + */ + previewHeight?: number; + + /** Defines the offset value to be left between the mouse cursor and symbol previews + * @Default {(110, 110)} + */ + previewOffset?: any; + + /** Defines the width of the symbol previews + * @Default {100} + */ + previewWidth?: number; + + /** Enable or disable the palette item text + * @Default {true} + */ + showPaletteItemText?: boolean; + + /** The width of the palette + * @Default {250} + */ + width?: number; + + /** Triggers when a palette item is selected or unselected */ + selectionChange?(e: SelectionChangeEventArgs): void; + } + + export interface SelectionChangeEventArgs { + + /** returns whether an element is selected or unselected + */ + changeType?: string; + + /** returns the node or connector that is selected or unselected + */ + element?: any; + } + + export interface DefaultSettings { + + /** Defines the default properties of the nodes + * @Default {null} + */ + node?: any; + + /** Defines the default properties of the connectors + * @Default {null} + */ + connector?: any; + } + + export interface Palette { + + /** Defines the name of the palette + * @Default {null} + */ + name?: string; + + /** Defines whether the palette must be in expanded state or in collapsed state + * @Default {true} + */ + expanded?: boolean; + + /** Defines the palette items + * @Default {[]} + */ + items?: any[]; + } + } + + class LinearGauge extends ej.Widget { + static fn: LinearGauge; + constructor(element: JQuery | Element, options?: LinearGauge.Model); + static Locale: any; + model: LinearGauge.Model; + defaults: LinearGauge.Model; + + /** destroy the linear gauge all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To export Image + * @returns {void} + */ + exportImage(): void; + + /** To get Bar Distance From Scale in number + * @returns {any} + */ + getBarDistanceFromScale(): any; + + /** To get Bar Pointer Value in number + * @returns {any} + */ + getBarPointerValue(): any; + + /** To get Bar Width in number + * @returns {any} + */ + getBarWidth(): any; + + /** To get CustomLabel Angle in number + * @returns {any} + */ + getCustomLabelAngle(): any; + + /** To get CustomLabel Value in string + * @returns {any} + */ + getCustomLabelValue(): any; + + /** To get Label Angle in number + * @returns {any} + */ + getLabelAngle(): any; + + /** To get LabelPlacement in number + * @returns {any} + */ + getLabelPlacement(): any; + + /** To get LabelStyle in number + * @returns {any} + */ + getLabelStyle(): any; + + /** To get Label XDistance From Scale in number + * @returns {any} + */ + getLabelXDistanceFromScale(): any; + + /** To get PointerValue in number + * @returns {any} + */ + getLabelYDistanceFromScale(): any; + + /** To get Major Interval Value in number + * @returns {any} + */ + getMajorIntervalValue(): any; + + /** To get MarkerStyle in number + * @returns {any} + */ + getMarkerStyle(): any; + + /** To get Maximum Value in number + * @returns {any} + */ + getMaximumValue(): any; + + /** To get PointerValue in number + * @returns {any} + */ + getMinimumValue(): any; + + /** To get Minor Interval Value in number + * @returns {any} + */ + getMinorIntervalValue(): any; + + /** To get Pointer Distance From Scale in number + * @returns {any} + */ + getPointerDistanceFromScale(): any; + + /** To get PointerHeight in number + * @returns {any} + */ + getPointerHeight(): any; + + /** To get Pointer Placement in String + * @returns {any} + */ + getPointerPlacement(): any; + + /** To get PointerValue in number + * @returns {any} + */ + getPointerValue(): any; + + /** To get PointerWidth in number + * @returns {any} + */ + getPointerWidth(): any; + + /** To get Range Border Width in number + * @returns {any} + */ + getRangeBorderWidth(): any; + + /** To get Range Distance From Scale in number + * @returns {any} + */ + getRangeDistanceFromScale(): any; + + /** To get Range End Value in number + * @returns {any} + */ + getRangeEndValue(): any; + + /** To get Range End Width in number + * @returns {any} + */ + getRangeEndWidth(): any; + + /** To get Range Position in number + * @returns {any} + */ + getRangePosition(): any; + + /** To get Range Start Value in number + * @returns {any} + */ + getRangeStartValue(): any; + + /** To get Range Start Width in number + * @returns {any} + */ + getRangeStartWidth(): any; + + /** To get ScaleBarLength in number + * @returns {any} + */ + getScaleBarLength(): any; + + /** To get Scale Bar Size in number + * @returns {any} + */ + getScaleBarSize(): any; + + /** To get Scale Border Width in number + * @returns {any} + */ + getScaleBorderWidth(): any; + + /** To get Scale Direction in number + * @returns {any} + */ + getScaleDirection(): any; + + /** To get Scale Location in object + * @returns {any} + */ + getScaleLocation(): any; + + /** To get Scale Style in string + * @returns {any} + */ + getScaleStyle(): any; + + /** To get Tick Angle in number + * @returns {any} + */ + getTickAngle(): any; + + /** To get Tick Height in number + * @returns {any} + */ + getTickHeight(): any; + + /** To get getTickPlacement in number + * @returns {any} + */ + getTickPlacement(): any; + + /** To get Tick Style in string + * @returns {any} + */ + getTickStyle(): any; + + /** To get Tick Width in number + * @returns {any} + */ + getTickWidth(): any; + + /** To get get Tick XDistance From Scale in number + * @returns {any} + */ + getTickXDistanceFromScale(): any; + + /** To get Tick YDistance From Scale in number + * @returns {any} + */ + getTickYDistanceFromScale(): any; + + /** Specifies the scales. + * @returns {void} + */ + scales(): void; + + /** To set setBarDistanceFromScale + * @returns {void} + */ + setBarDistanceFromScale(): void; + + /** To set setBarPointerValue + * @returns {void} + */ + setBarPointerValue(): void; + + /** To set setBarWidth + * @returns {void} + */ + setBarWidth(): void; + + /** To set setCustomLabelAngle + * @returns {void} + */ + setCustomLabelAngle(): void; + + /** To set setCustomLabelValue + * @returns {void} + */ + setCustomLabelValue(): void; + + /** To set setLabelAngle + * @returns {void} + */ + setLabelAngle(): void; + + /** To set setLabelPlacement + * @returns {void} + */ + setLabelPlacement(): void; + + /** To set setLabelStyle + * @returns {void} + */ + setLabelStyle(): void; + + /** To set setLabelXDistanceFromScale + * @returns {void} + */ + setLabelXDistanceFromScale(): void; + + /** To set setLabelYDistanceFromScale + * @returns {void} + */ + setLabelYDistanceFromScale(): void; + + /** To set setMajorIntervalValue + * @returns {void} + */ + setMajorIntervalValue(): void; + + /** To set setMarkerStyle + * @returns {void} + */ + setMarkerStyle(): void; + + /** To set setMaximumValue + * @returns {void} + */ + setMaximumValue(): void; + + /** To set setMinimumValue + * @returns {void} + */ + setMinimumValue(): void; + + /** To set setMinorIntervalValue + * @returns {void} + */ + setMinorIntervalValue(): void; + + /** To set setPointerDistanceFromScale + * @returns {void} + */ + setPointerDistanceFromScale(): void; + + /** To set PointerHeight + * @returns {void} + */ + setPointerHeight(): void; + + /** To set setPointerPlacement + * @returns {void} + */ + setPointerPlacement(): void; + + /** To set PointerValue + * @returns {void} + */ + setPointerValue(): void; + + /** To set PointerWidth + * @returns {void} + */ + setPointerWidth(): void; + + /** To set setRangeBorderWidth + * @returns {void} + */ + setRangeBorderWidth(): void; + + /** To set setRangeDistanceFromScale + * @returns {void} + */ + setRangeDistanceFromScale(): void; + + /** To set setRangeEndValue + * @returns {void} + */ + setRangeEndValue(): void; + + /** To set setRangeEndWidth + * @returns {void} + */ + setRangeEndWidth(): void; + + /** To set setRangePosition + * @returns {void} + */ + setRangePosition(): void; + + /** To set setRangeStartValue + * @returns {void} + */ + setRangeStartValue(): void; + + /** To set setRangeStartWidth + * @returns {void} + */ + setRangeStartWidth(): void; + + /** To set setScaleBarLength + * @returns {void} + */ + setScaleBarLength(): void; + + /** To set setScaleBarSize + * @returns {void} + */ + setScaleBarSize(): void; + + /** To set setScaleBorderWidth + * @returns {void} + */ + setScaleBorderWidth(): void; + + /** To set setScaleDirection + * @returns {void} + */ + setScaleDirection(): void; + + /** To set setScaleLocation + * @returns {void} + */ + setScaleLocation(): void; + + /** To set setScaleStyle + * @returns {void} + */ + setScaleStyle(): void; + + /** To set setTickAngle + * @returns {void} + */ + setTickAngle(): void; + + /** To set setTickHeight + * @returns {void} + */ + setTickHeight(): void; + + /** To set setTickPlacement + * @returns {void} + */ + setTickPlacement(): void; + + /** To set setTickStyle + * @returns {void} + */ + setTickStyle(): void; + + /** To set setTickWidth + * @returns {void} + */ + setTickWidth(): void; + + /** To set setTickXDistanceFromScale + * @returns {void} + */ + setTickXDistanceFromScale(): void; + + /** To set setTickYDistanceFromScale + * @returns {void} + */ + setTickYDistanceFromScale(): void; + } + export namespace LinearGauge { + + export interface Model { + + /** Specifies the animationSpeed + * @Default {500} + */ + animationSpeed?: number; + + /** Specifies the backgroundColor for Linear gauge. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor for Linear gauge. + * @Default {null} + */ + borderColor?: string; + + /** Specifies the animate state + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the animate state for marker pointer + * @Default {true} + */ + enableMarkerPointerAnimation?: boolean; + + /** Specifies the can resize state. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specify frame of linear gauge + * @Default {null} + */ + frame?: Frame; + + /** Specifies the height of Linear gauge. + * @Default {400} + */ + height?: number; + + /** Specifies the labelColor for Linear gauge. + * @Default {null} + */ + labelColor?: string; + + /** Specifies the maximum value of Linear gauge. + * @Default {100} + */ + maximum?: number; + + /** Specifies the minimum value of Linear gauge. + * @Default {0} + */ + minimum?: number; + + /** Specifies the orientation for Linear gauge. + * @Default {Vertical} + */ + orientation?: string; + + /** Specify labelPosition value of Linear gauge See OuterCustomLabelPosition + * @Default {bottom} + */ + outerCustomLabelPosition?: ej.datavisualization.LinearGauge.OuterCustomLabelPosition | string; + + /** Specifies the pointerGradient1 for Linear gauge. + * @Default {null} + */ + pointerGradient1?: any; + + /** Specifies the pointerGradient2 for Linear gauge. + * @Default {null} + */ + pointerGradient2?: any; + + /** Specifies the read only state. + * @Default {true} + */ + readOnly?: boolean; + + /** Specifies the scales + * @Default {null} + */ + scales?: Scale[]; + + /** Specifies the theme for Linear gauge. See LinearGauge.Themes + * @Default {flatlight} + */ + theme?: ej.datavisualization.LinearGauge.Themes | string; + + /** Specifies the tick Color for Linear gauge. + * @Default {null} + */ + tickColor?: string; + + /** Specify tooltip options of linear gauge + * @Default {false} + */ + tooltip?: Tooltip; + + /** Specifies the value of the Gauge. + * @Default {0} + */ + value?: number; + + /** Specifies the width of Linear gauge. + * @Default {150} + */ + width?: number; + + /** Triggers while the bar pointer are being drawn on the gauge. */ + drawBarPointers?(e: DrawBarPointersEventArgs): void; + + /** Triggers while the customLabel are being drawn on the gauge. */ + drawCustomLabel?(e: DrawCustomLabelEventArgs): void; + + /** Triggers while the Indicator are being drawn on the gauge. */ + drawIndicators?(e: DrawIndicatorsEventArgs): void; -export interface SelectionChangeEventArgs { + /** Triggers while the label are being drawn on the gauge. */ + drawLabels?(e: DrawLabelsEventArgs): void; + + /** Triggers while the marker are being drawn on the gauge. */ + drawMarkerPointers?(e: DrawMarkerPointersEventArgs): void; - /** returns whether an element is selected or unselected - */ - changeType?: string; + /** Triggers while the range are being drawn on the gauge. */ + drawRange?(e: DrawRangeEventArgs): void; - /** returns the node or connector that is selected or unselected - */ - element?: any; -} + /** Triggers while the ticks are being drawn on the gauge. */ + drawTicks?(e: DrawTicksEventArgs): void; -export interface DefaultSettings { + /** Triggers when the gauge is initialized. */ + init?(e: InitEventArgs): void; - /** Defines the default properties of the nodes - * @Default {null} - */ - node?: any; + /** Triggers while the gauge start to Load. */ + load?(e: LoadEventArgs): void; - /** Defines the default properties of the connectors - * @Default {null} - */ - connector?: any; -} + /** Triggers when the left mouse button is clicked. */ + mouseClick?(e: MouseClickEventArgs): void; -export interface Palette { + /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ + mouseClickMove?(e: MouseClickMoveEventArgs): void; - /** Defines the name of the palette - * @Default {null} - */ - name?: string; + /** Triggers when the mouse click is released. */ + mouseClickUp?(e: MouseClickUpEventArgs): void; - /** Defines whether the palette must be in expanded state or in collapsed state - * @Default {true} - */ - expanded?: boolean; + /** Triggers while the rendering of the gauge completed. */ + renderComplete?(e: RenderCompleteEventArgs): void; + } - /** Defines the palette items - * @Default {[]} - */ - items?: Array; -} -} + export interface DrawBarPointersEventArgs { -class LinearGauge extends ej.Widget { - static fn: LinearGauge; - constructor(element: JQuery, options?: LinearGauge.Model); - constructor(element: Element, options?: LinearGauge.Model); - static Locale: any; - model:LinearGauge.Model; - defaults:LinearGauge.Model; - - /** destroy the linear gauge all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To export Image - * @returns {void} - */ - exportImage(): void; - - /** To get Bar Distance From Scale in number - * @returns {any} - */ - getBarDistanceFromScale(): any; - - /** To get Bar Pointer Value in number - * @returns {any} - */ - getBarPointerValue(): any; - - /** To get Bar Width in number - * @returns {any} - */ - getBarWidth(): any; - - /** To get CustomLabel Angle in number - * @returns {any} - */ - getCustomLabelAngle(): any; - - /** To get CustomLabel Value in string - * @returns {any} - */ - getCustomLabelValue(): any; - - /** To get Label Angle in number - * @returns {any} - */ - getLabelAngle(): any; - - /** To get LabelPlacement in number - * @returns {any} - */ - getLabelPlacement(): any; - - /** To get LabelStyle in number - * @returns {any} - */ - getLabelStyle(): any; - - /** To get Label XDistance From Scale in number - * @returns {any} - */ - getLabelXDistanceFromScale(): any; - - /** To get PointerValue in number - * @returns {any} - */ - getLabelYDistanceFromScale(): any; - - /** To get Major Interval Value in number - * @returns {any} - */ - getMajorIntervalValue(): any; - - /** To get MarkerStyle in number - * @returns {any} - */ - getMarkerStyle(): any; - - /** To get Maximum Value in number - * @returns {any} - */ - getMaximumValue(): any; - - /** To get PointerValue in number - * @returns {any} - */ - getMinimumValue(): any; - - /** To get Minor Interval Value in number - * @returns {any} - */ - getMinorIntervalValue(): any; - - /** To get Pointer Distance From Scale in number - * @returns {any} - */ - getPointerDistanceFromScale(): any; - - /** To get PointerHeight in number - * @returns {any} - */ - getPointerHeight(): any; - - /** To get Pointer Placement in String - * @returns {any} - */ - getPointerPlacement(): any; - - /** To get PointerValue in number - * @returns {any} - */ - getPointerValue(): any; - - /** To get PointerWidth in number - * @returns {any} - */ - getPointerWidth(): any; - - /** To get Range Border Width in number - * @returns {any} - */ - getRangeBorderWidth(): any; - - /** To get Range Distance From Scale in number - * @returns {any} - */ - getRangeDistanceFromScale(): any; - - /** To get Range End Value in number - * @returns {any} - */ - getRangeEndValue(): any; - - /** To get Range End Width in number - * @returns {any} - */ - getRangeEndWidth(): any; - - /** To get Range Position in number - * @returns {any} - */ - getRangePosition(): any; - - /** To get Range Start Value in number - * @returns {any} - */ - getRangeStartValue(): any; - - /** To get Range Start Width in number - * @returns {any} - */ - getRangeStartWidth(): any; - - /** To get ScaleBarLength in number - * @returns {any} - */ - getScaleBarLength(): any; - - /** To get Scale Bar Size in number - * @returns {any} - */ - getScaleBarSize(): any; - - /** To get Scale Border Width in number - * @returns {any} - */ - getScaleBorderWidth(): any; - - /** To get Scale Direction in number - * @returns {any} - */ - getScaleDirection(): any; - - /** To get Scale Location in object - * @returns {any} - */ - getScaleLocation(): any; - - /** To get Scale Style in string - * @returns {any} - */ - getScaleStyle(): any; - - /** To get Tick Angle in number - * @returns {any} - */ - getTickAngle(): any; - - /** To get Tick Height in number - * @returns {any} - */ - getTickHeight(): any; - - /** To get getTickPlacement in number - * @returns {any} - */ - getTickPlacement(): any; - - /** To get Tick Style in string - * @returns {any} - */ - getTickStyle(): any; - - /** To get Tick Width in number - * @returns {any} - */ - getTickWidth(): any; - - /** To get get Tick XDistance From Scale in number - * @returns {any} - */ - getTickXDistanceFromScale(): any; - - /** To get Tick YDistance From Scale in number - * @returns {any} - */ - getTickYDistanceFromScale(): any; - - /** Specifies the scales. - * @returns {void} - */ - scales(): void; - - /** To set setBarDistanceFromScale - * @returns {void} - */ - setBarDistanceFromScale(): void; - - /** To set setBarPointerValue - * @returns {void} - */ - setBarPointerValue(): void; - - /** To set setBarWidth - * @returns {void} - */ - setBarWidth(): void; - - /** To set setCustomLabelAngle - * @returns {void} - */ - setCustomLabelAngle(): void; - - /** To set setCustomLabelValue - * @returns {void} - */ - setCustomLabelValue(): void; - - /** To set setLabelAngle - * @returns {void} - */ - setLabelAngle(): void; - - /** To set setLabelPlacement - * @returns {void} - */ - setLabelPlacement(): void; - - /** To set setLabelStyle - * @returns {void} - */ - setLabelStyle(): void; - - /** To set setLabelXDistanceFromScale - * @returns {void} - */ - setLabelXDistanceFromScale(): void; - - /** To set setLabelYDistanceFromScale - * @returns {void} - */ - setLabelYDistanceFromScale(): void; - - /** To set setMajorIntervalValue - * @returns {void} - */ - setMajorIntervalValue(): void; - - /** To set setMarkerStyle - * @returns {void} - */ - setMarkerStyle(): void; - - /** To set setMaximumValue - * @returns {void} - */ - setMaximumValue(): void; - - /** To set setMinimumValue - * @returns {void} - */ - setMinimumValue(): void; - - /** To set setMinorIntervalValue - * @returns {void} - */ - setMinorIntervalValue(): void; - - /** To set setPointerDistanceFromScale - * @returns {void} - */ - setPointerDistanceFromScale(): void; - - /** To set PointerHeight - * @returns {void} - */ - setPointerHeight(): void; - - /** To set setPointerPlacement - * @returns {void} - */ - setPointerPlacement(): void; - - /** To set PointerValue - * @returns {void} - */ - setPointerValue(): void; - - /** To set PointerWidth - * @returns {void} - */ - setPointerWidth(): void; - - /** To set setRangeBorderWidth - * @returns {void} - */ - setRangeBorderWidth(): void; - - /** To set setRangeDistanceFromScale - * @returns {void} - */ - setRangeDistanceFromScale(): void; - - /** To set setRangeEndValue - * @returns {void} - */ - setRangeEndValue(): void; - - /** To set setRangeEndWidth - * @returns {void} - */ - setRangeEndWidth(): void; - - /** To set setRangePosition - * @returns {void} - */ - setRangePosition(): void; - - /** To set setRangeStartValue - * @returns {void} - */ - setRangeStartValue(): void; - - /** To set setRangeStartWidth - * @returns {void} - */ - setRangeStartWidth(): void; - - /** To set setScaleBarLength - * @returns {void} - */ - setScaleBarLength(): void; - - /** To set setScaleBarSize - * @returns {void} - */ - setScaleBarSize(): void; - - /** To set setScaleBorderWidth - * @returns {void} - */ - setScaleBorderWidth(): void; - - /** To set setScaleDirection - * @returns {void} - */ - setScaleDirection(): void; - - /** To set setScaleLocation - * @returns {void} - */ - setScaleLocation(): void; - - /** To set setScaleStyle - * @returns {void} - */ - setScaleStyle(): void; - - /** To set setTickAngle - * @returns {void} - */ - setTickAngle(): void; - - /** To set setTickHeight - * @returns {void} - */ - setTickHeight(): void; - - /** To set setTickPlacement - * @returns {void} - */ - setTickPlacement(): void; - - /** To set setTickStyle - * @returns {void} - */ - setTickStyle(): void; - - /** To set setTickWidth - * @returns {void} - */ - setTickWidth(): void; - - /** To set setTickXDistanceFromScale - * @returns {void} - */ - setTickXDistanceFromScale(): void; - - /** To set setTickYDistanceFromScale - * @returns {void} - */ - setTickYDistanceFromScale(): void; -} -export module LinearGauge{ - -export interface Model { - - /** Specifies the animationSpeed - * @Default {500} - */ - animationSpeed?: number; - - /** Specifies the backgroundColor for Linear gauge. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the borderColor for Linear gauge. - * @Default {null} - */ - borderColor?: string; - - /** Specifies the animate state - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the animate state for marker pointer - * @Default {true} - */ - enableMarkerPointerAnimation?: boolean; - - /** Specifies the can resize state. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specify frame of linear gauge - * @Default {null} - */ - frame?: Frame; - - /** Specifies the height of Linear gauge. - * @Default {400} - */ - height?: number; - - /** Specifies the labelColor for Linear gauge. - * @Default {null} - */ - labelColor?: string; - - /** Specifies the maximum value of Linear gauge. - * @Default {100} - */ - maximum?: number; - - /** Specifies the minimum value of Linear gauge. - * @Default {0} - */ - minimum?: number; - - /** Specifies the orientation for Linear gauge. - * @Default {Vertical} - */ - orientation?: string; - - /** Specify labelPosition value of Linear gauge See OuterCustomLabelPosition - * @Default {bottom} - */ - outerCustomLabelPosition?: ej.datavisualization.LinearGauge.OuterCustomLabelPosition|string; - - /** Specifies the pointerGradient1 for Linear gauge. - * @Default {null} - */ - pointerGradient1?: any; - - /** Specifies the pointerGradient2 for Linear gauge. - * @Default {null} - */ - pointerGradient2?: any; - - /** Specifies the read only state. - * @Default {true} - */ - readOnly?: boolean; - - /** Specifies the scales - * @Default {null} - */ - scales?: Array; - - /** Specifies the theme for Linear gauge. See LinearGauge.Themes - * @Default {flatlight} - */ - theme?: ej.datavisualization.LinearGauge.Themes|string; - - /** Specifies the tick Color for Linear gauge. - * @Default {null} - */ - tickColor?: string; - - /** Specify tooltip options of linear gauge - * @Default {false} - */ - tooltip?: Tooltip; - - /** Specifies the value of the Gauge. - * @Default {0} - */ - value?: number; - - /** Specifies the width of Linear gauge. - * @Default {150} - */ - width?: number; - - /** Triggers while the bar pointer are being drawn on the gauge. */ - drawBarPointers? (e: DrawBarPointersEventArgs): void; - - /** Triggers while the customLabel are being drawn on the gauge. */ - drawCustomLabel? (e: DrawCustomLabelEventArgs): void; - - /** Triggers while the Indicator are being drawn on the gauge. */ - drawIndicators? (e: DrawIndicatorsEventArgs): void; - - /** Triggers while the label are being drawn on the gauge. */ - drawLabels? (e: DrawLabelsEventArgs): void; - - /** Triggers while the marker are being drawn on the gauge. */ - drawMarkerPointers? (e: DrawMarkerPointersEventArgs): void; - - /** Triggers while the range are being drawn on the gauge. */ - drawRange? (e: DrawRangeEventArgs): void; - - /** Triggers while the ticks are being drawn on the gauge. */ - drawTicks? (e: DrawTicksEventArgs): void; - - /** Triggers when the gauge is initialized. */ - init? (e: InitEventArgs): void; + /** returns the object of the gauge. + */ + object?: any; - /** Triggers while the gauge start to Load. */ - load? (e: LoadEventArgs): void; - - /** Triggers when the left mouse button is clicked. */ - mouseClick? (e: MouseClickEventArgs): void; + /** returns the cancel option value + */ + cancel?: boolean; - /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ - mouseClickMove? (e: MouseClickMoveEventArgs): void; + /** returns the context element + */ + context?: any; - /** Triggers when the mouse click is released. */ - mouseClickUp? (e: MouseClickUpEventArgs): void; + /** returns the startX and startY of the pointer + */ + position?: any; - /** Triggers while the rendering of the gauge completed. */ - renderComplete? (e: RenderCompleteEventArgs): void; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawBarPointersEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the pointer style + */ + style?: string; - /** returns the context element - */ - context?: any; + /** returns the current Bar pointer element. + */ + barElement?: any; - /** returns the startX and startY of the pointer - */ - position?: any; + /** returns the index of the bar pointer. + */ + barPointerIndex?: number; - /** returns the gauge model - */ - Model?: any; + /** returns the value of the bar pointer. + */ + PointerValue?: number; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the name of the event + */ + type?: any; + } - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + export interface DrawCustomLabelEventArgs { - /** returns the pointer style - */ - style?: string; + /** returns the object of the gauge. + */ + object?: any; - /** returns the current Bar pointer element. - */ - barElement?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the index of the bar pointer. - */ - barPointerIndex?: number; + /** returns the context element + */ + context?: any; - /** returns the value of the bar pointer. - */ - PointerValue?: number; + /** returns the startX and startY of the customLabel + */ + position?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawCustomLabelEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the customLabel style + */ + style?: any; - /** returns the context element - */ - context?: any; + /** returns the current customLabel element. + */ + customLabelElement?: any; - /** returns the startX and startY of the customLabel - */ - position?: any; + /** returns the index of the customLabel. + */ + customLabelIndex?: number; - /** returns the gauge model - */ - Model?: any; + /** returns the name of the event + */ + type?: any; + } - /** returns the options of the scale element. - */ - scaleElement?: any; + export interface DrawIndicatorsEventArgs { - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the customLabel style - */ - style?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the current customLabel element. - */ - customLabelElement?: any; + /** returns the context element + */ + context?: any; - /** returns the index of the customLabel. - */ - customLabelIndex?: number; + /** returns the startX and startY of the Indicator + */ + position?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawIndicatorsEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the Indicator style + */ + style?: string; - /** returns the context element - */ - context?: any; + /** returns the current Indicator element. + */ + IndicatorElement?: any; - /** returns the startX and startY of the Indicator - */ - position?: any; + /** returns the index of the Indicator. + */ + IndicatorIndex?: number; - /** returns the gauge model - */ - Model?: any; + /** returns the name of the event + */ + type?: any; + } - /** returns the options of the scale element. - */ - scaleElement?: any; + export interface DrawLabelsEventArgs { - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the Indicator style - */ - style?: string; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the current Indicator element. - */ - IndicatorElement?: any; + /** returns the context element + */ + context?: any; - /** returns the index of the Indicator. - */ - IndicatorIndex?: number; + /** returns the startX and startY of the label + */ + position?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawLabelsEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the label belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the label style + */ + style?: string; - /** returns the context element - */ - context?: any; + /** returns the angle of the label. + */ + angle?: number; - /** returns the startX and startY of the label - */ - position?: any; + /** returns the current label element. + */ + element?: any; - /** returns the gauge model - */ - Model?: any; + /** returns the index of the label. + */ + index?: number; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the label value of the label. + */ + value?: number; - /** returns the scaleIndex to which the label belongs. - */ - scaleIndex?: number; + /** returns the name of the event + */ + type?: any; + } - /** returns the label style - */ - style?: string; + export interface DrawMarkerPointersEventArgs { - /** returns the angle of the label. - */ - angle?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the current label element. - */ - element?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the index of the label. - */ - index?: number; + /** returns the context element + */ + context?: any; - /** returns the label value of the label. - */ - value?: number; + /** returns the startX and startY of the pointer + */ + position?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawMarkerPointersEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the ticks style + */ + style?: string; - /** returns the context element - */ - context?: any; + /** returns the current marker pointer element. + */ + markerElement?: any; - /** returns the startX and startY of the pointer - */ - position?: any; + /** returns the index of the marker pointer. + */ + markerPointerIndex?: number; - /** returns the gauge model - */ - Model?: any; + /** returns the value of the marker pointer. + */ + pointerValue?: number; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the angle of the marker pointer. + */ + pointerAngle?: number; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** returns the name of the event + */ + type?: any; + } - /** returns the ticks style - */ - style?: string; + export interface DrawRangeEventArgs { - /** returns the current marker pointer element. - */ - markerElement?: any; + /** returns the object of the gauge. + */ + object?: any; - /** returns the index of the marker pointer. - */ - markerPointerIndex?: number; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the value of the marker pointer. - */ - pointerValue?: number; + /** returns the context element + */ + context?: any; - /** returns the angle of the marker pointer. - */ - pointerAngle?: number; + /** returns the startX and startY of the range + */ + position?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawRangeEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the range style + */ + style?: string; - /** returns the context element - */ - context?: any; + /** returns the current range element. + */ + rangeElement?: any; - /** returns the startX and startY of the range - */ - position?: any; + /** returns the index of the range. + */ + rangeIndex?: number; - /** returns the gauge model - */ - Model?: any; + /** returns the name of the event + */ + type?: any; + } - /** returns the options of the scale element. - */ - scaleElement?: any; + export interface DrawTicksEventArgs { - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the range style - */ - style?: string; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the current range element. - */ - rangeElement?: any; + /** returns the context element + */ + context?: any; - /** returns the index of the range. - */ - rangeIndex?: number; + /** returns the startX and startY of the ticks + */ + position?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the gauge model + */ + Model?: any; -export interface DrawTicksEventArgs { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the scaleIndex to which the tick belongs. + */ + scaleIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the ticks style + */ + style?: string; - /** returns the context element - */ - context?: any; + /** returns the angle of the tick. + */ + angle?: number; - /** returns the startX and startY of the ticks - */ - position?: any; + /** returns the current tick element. + */ + element?: any; - /** returns the gauge model - */ - Model?: any; + /** returns the index of the tick. + */ + index?: number; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the tick value of the tick. + */ + value?: number; - /** returns the scaleIndex to which the tick belongs. - */ - scaleIndex?: number; + /** returns the name of the event + */ + type?: any; + } - /** returns the ticks style - */ - style?: string; + export interface InitEventArgs { - /** returns the angle of the tick. - */ - angle?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the current tick element. - */ - element?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the index of the tick. - */ - index?: number; + /** returns the gauge model + */ + Model?: any; - /** returns the tick value of the tick. - */ - value?: number; + /** returns the entire scale element. + */ + scaleElement?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the context element + */ + context?: any; -export interface InitEventArgs { + /** returns the name of the event + */ + type?: string; + } - /** returns the object of the gauge. - */ - object?: any; + export interface LoadEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the object of the gauge. + */ + object?: any; - /** returns the gauge model - */ - Model?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the entire scale element. - */ - scaleElement?: any; + /** returns the gauge model + */ + Model?: any; - /** returns the context element - */ - context?: any; + /** returns the entire scale element. + */ + scaleElement?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the context element + */ + context?: any; -export interface LoadEventArgs { + /** returns the name of the event + */ + type?: any; + } - /** returns the object of the gauge. - */ - object?: any; + export interface MouseClickEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the object of the gauge. + */ + object?: any; - /** returns the gauge model - */ - Model?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the entire scale element. - */ - scaleElement?: any; + /** returns the gauge model + */ + model?: any; - /** returns the context element - */ - context?: any; + /** returns the name of the event + */ + type?: any; - /** returns the name of the event - */ - type?: any; -} + /** returns the scale element. + */ + scaleElement?: any; -export interface MouseClickEventArgs { + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the object of the gauge. - */ - object?: any; + /** returns the context element* @param {Object} args.markerpointer returns the context element + */ + context?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the pointer Index + */ + markerpointerindex?: number; - /** returns the gauge model - */ - model?: any; + /** returns the pointer element. + */ + markerpointerelement?: any; - /** returns the name of the event - */ - type?: any; + /** returns the value of the pointer. + */ + markerpointervalue?: number; - /** returns the scale element. - */ - scaleElement?: any; + /** returns the pointer style + */ + style?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** returns the startX and startY of the pointer. + */ + position?: any; + } - /** returns the context element* @param {Object} args.markerpointer returns the context element - */ - context?: any; + export interface MouseClickMoveEventArgs { - /** returns the pointer Index - */ - markerpointerindex?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the pointer element. - */ - markerpointerelement?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the value of the pointer. - */ - markerpointervalue?: number; + /** returns the gauge model + */ + model?: any; - /** returns the pointer style - */ - style?: string; + /** returns the name of the event + */ + type?: any; - /** returns the startX and startY of the pointer. - */ - position?: any; -} + /** returns the scale element. + */ + scaleElement?: any; -export interface MouseClickMoveEventArgs { + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the object of the gauge. - */ - object?: any; + /** returns the context element + */ + context?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the pointer Index + */ + index?: number; - /** returns the gauge model - */ - model?: any; + /** returns the pointer element. + */ + element?: any; - /** returns the name of the event - */ - type?: any; + /** returns the value of the pointer. + */ + value?: number; - /** returns the scale element. - */ - scaleElement?: any; + /** returns the pointer style + */ + style?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** returns the startX and startY of the pointer. + */ + position?: any; + } - /** returns the context element - */ - context?: any; + export interface MouseClickUpEventArgs { - /** returns the pointer Index - */ - index?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the pointer element. - */ - element?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the value of the pointer. - */ - value?: number; + /** returns the gauge model + */ + model?: any; - /** returns the pointer style - */ - style?: string; + /** returns the name of the event + */ + type?: any; - /** returns the startX and startY of the pointer. - */ - position?: any; -} + /** returns the scale element. + */ + scaleElement?: any; -export interface MouseClickUpEventArgs { + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the object of the gauge. - */ - object?: any; + /** returns the context element* @param {Object} args.markerpointer returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + markerpointerIndex?: number; + + /** returns the pointer element. + */ + markerpointerElement?: any; + + /** returns the value of the pointer. + */ + markerpointerValue?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; + } + + export interface RenderCompleteEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the gauge model + */ + Model?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the context element + */ + context?: any; + + /** returns the name of the event + */ + type?: any; + } + + export interface Frame { + + /** Specifies the frame background image URL of linear gauge + * @Default {null} + */ + backgroundImageUrl?: string; + + /** Specifies the frame InnerWidth + * @Default {8} + */ + innerWidth?: number; + + /** Specifies the frame OuterWidth + * @Default {12} + */ + outerWidth?: number; + } + + export interface ScalesBarPointersBorder { + + /** Specifies the border Color of bar pointer + * @Default {null} + */ + color?: string; + + /** Specifies the border Width of bar pointer + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesBarPointer { + + /** Specifies the backgroundColor of bar pointer + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border of bar pointer + * @Default {null} + */ + border?: ScalesBarPointersBorder; + + /** Specifies the distanceFromScale of bar pointer + * @Default {0} + */ + distanceFromScale?: number; + + /** Specifies the scaleBar Gradient of bar pointer + * @Default {null} + */ + gradients?: any; + + /** Specifies the opacity of bar pointer + * @Default {1} + */ + opacity?: number; + + /** Specifies the value of bar pointer + * @Default {null} + */ + value?: number; + + /** Specifies the pointer Width of bar pointer + * @Default {width=30} + */ + width?: number; + } + + export interface ScalesBorder { + + /** Specifies the border color of the Scale. + * @Default {null} + */ + color?: string; + + /** Specifies the border width of the Scale. + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesCustomLabelsFont { + + /** Specifies the fontFamily in customLabels + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the fontStyle in customLabels. See FontStyle + * @Default {Bold} + */ + fontStyle?: ej.datavisualization.LinearGauge.FontStyle | string; + + /** Specifies the font size in customLabels + * @Default {11px} + */ + size?: string; + } + + export interface ScalesCustomLabelsPosition { + + /** Specifies the position x in customLabels + * @Default {0} + */ + x?: number; + + /** Specifies the y in customLabels + * @Default {0} + */ + y?: number; + } + + export interface ScalesCustomLabel { + + /** Specifies the label Color in customLabels + * @Default {null} + */ + color?: number; + + /** Specifies the font in customLabels + * @Default {null} + */ + font?: ScalesCustomLabelsFont; + + /** Specifies the opacity in customLabels + * @Default {0} + */ + opacity?: string; + + /** Specifies the position in customLabels + * @Default {null} + */ + position?: ScalesCustomLabelsPosition; + + /** Specifies the positionType in customLabels.See CustomLabelPositionType + * @Default {null} + */ + positionType?: any; + + /** Specifies the textAngle in customLabels + * @Default {0} + */ + textAngle?: number; + + /** Specifies the label Value in customLabels + */ + value?: string; + } + + export interface ScalesIndicatorsBorder { + + /** Specifies the border Color in bar indicators + * @Default {null} + */ + color?: string; + + /** Specifies the border Width in bar indicators + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesIndicatorsFont { + + /** Specifies the fontFamily of font in bar indicators + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the fontStyle of font in bar indicators. See FontStyle + * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} + */ + fontStyle?: ej.datavisualization.LinearGauge.FontStyle | string; + + /** Specifies the size of font in bar indicators + * @Default {11px} + */ + size?: string; + } + + export interface ScalesIndicatorsPosition { + + /** Specifies the x position in bar indicators + * @Default {0} + */ + x?: number; + + /** Specifies the y position in bar indicators + * @Default {0} + */ + y?: number; + } + + export interface ScalesIndicatorsStateRange { + + /** Specifies the backgroundColor in bar indicators state ranges + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor in bar indicators state ranges + * @Default {null} + */ + borderColor?: string; + + /** Specifies the endValue in bar indicators state ranges + * @Default {60} + */ + endValue?: number; + + /** Specifies the startValue in bar indicators state ranges + * @Default {50} + */ + startValue?: number; + + /** Specifies the text in bar indicators state ranges + */ + text?: string; + + /** Specifies the textColor in bar indicators state ranges + * @Default {null} + */ + textColor?: string; + } + + export interface ScalesIndicatorsTextLocation { + + /** Specifies the textLocation position in bar indicators + * @Default {0} + */ + x?: number; + + /** Specifies the Y position in bar indicators + * @Default {0} + */ + y?: number; + } + + export interface ScalesIndicator { + + /** Specifies the backgroundColor in bar indicators + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border in bar indicators + * @Default {null} + */ + border?: ScalesIndicatorsBorder; + + /** Specifies the font of bar indicators + * @Default {null} + */ + font?: ScalesIndicatorsFont; + + /** Specifies the indicator Height of bar indicators + * @Default {30} + */ + height?: number; + + /** Specifies the opacity in bar indicators + * @Default {NaN} + */ + opacity?: number; + + /** Specifies the position in bar indicators + * @Default {null} + */ + position?: ScalesIndicatorsPosition; + + /** Specifies the state ranges in bar indicators + * @Default {Array} + */ + stateRanges?: ScalesIndicatorsStateRange[]; + + /** Specifies the textLocation in bar indicators + * @Default {null} + */ + textLocation?: ScalesIndicatorsTextLocation; + + /** Specifies the indicator Style of font in bar indicators + * @Default {ej.datavisualization.LinearGauge.IndicatorType.Rectangle} + */ + type?: ej.datavisualization.LinearGauge.IndicatorTypes | string; + + /** Specifies the indicator Width in bar indicators + * @Default {30} + */ + width?: number; + } + + export interface ScalesLabelsDistanceFromScale { + + /** Specifies the xDistanceFromScale of labels. + * @Default {-10} + */ + x?: number; + + /** Specifies the yDistanceFromScale of labels. + * @Default {0} + */ + y?: number; + } + + export interface ScalesLabelsFont { + + /** Specifies the fontFamily of font. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the fontStyle of font.See FontStyle + * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} + */ + fontStyle?: ej.datavisualization.LinearGauge.FontStyle | string; + + /** Specifies the size of font. + * @Default {11px} + */ + size?: string; + } + + export interface ScalesLabel { + + /** Specifies the angle of labels. + * @Default {0} + */ + angle?: number; + + /** Specifies the DistanceFromScale of labels. + * @Default {null} + */ + distanceFromScale?: ScalesLabelsDistanceFromScale; + + /** Specifies the font of labels. + * @Default {null} + */ + font?: ScalesLabelsFont; + + /** need to includeFirstValue. + * @Default {true} + */ + includeFirstValue?: boolean; + + /** Specifies the opacity of label. + * @Default {0} + */ + opacity?: number; + + /** Specifies the label Placement of label. See LabelPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; + + /** Specifies the textColor of font. + * @Default {null} + */ + textColor?: string; + + /** Specifies the label Style of label. See LabelType + * @Default {ej.datavisualization.LinearGauge.LabelType.Major} + */ + type?: ej.datavisualization.LinearGauge.ScaleType | string; + + /** Specifies the unitText of label. + */ + unitText?: string; + + /** Specifies the unitText Position of label.See UnitTextPlacement + * @Default {Back} + */ + unitTextPlacement?: ej.datavisualization.LinearGauge.UnitTextPlacement | string; + } + + export interface ScalesMarkerPointersBorder { + + /** Specifies the border color of marker pointer + * @Default {null} + */ + color?: string; + + /** Specifies the border of marker pointer + * @Default {number} + */ + width?: number; + } + + export interface ScalesMarkerPointer { + + /** Specifies the backgroundColor of marker pointer + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border of marker pointer + * @Default {null} + */ + border?: ScalesMarkerPointersBorder; + + /** Specifies the distanceFromScale of marker pointer + * @Default {0} + */ + distanceFromScale?: number; + + /** Specifies the pointer Gradient of marker pointer + * @Default {null} + */ + gradients?: any; + + /** Specifies the pointer Length of marker pointer + * @Default {30} + */ + length?: number; + + /** Specifies the opacity of marker pointer + * @Default {1} + */ + opacity?: number; + + /** Specifies the pointer Placement of marker pointer See PointerPlacement + * @Default {Far} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; + + /** Specifies the marker Style of marker pointerSee MarkerType + * @Default {Triangle} + */ + type?: ej.datavisualization.LinearGauge.MarkerType | string; + + /** Specifies the value of marker pointer + * @Default {null} + */ + value?: number; + + /** Specifies the pointer Width of marker pointer + * @Default {30} + */ + width?: number; + } + + export interface ScalesPosition { + + /** Specifies the Horizontal position + * @Default {50} + */ + x?: number; + + /** Specifies the vertical position + * @Default {50} + */ + y?: number; + } + + export interface ScalesRangesBorder { + + /** Specifies the border color in the ranges. + * @Default {null} + */ + color?: string; + + /** Specifies the border width in the ranges. + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesRange { + + /** Specifies the backgroundColor in the ranges. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the border in the ranges. + * @Default {null} + */ + border?: ScalesRangesBorder; + + /** Specifies the distanceFromScale in the ranges. + * @Default {0} + */ + distanceFromScale?: number; + + /** Specifies the endValue in the ranges. + * @Default {60} + */ + endValue?: number; + + /** Specifies the endWidth in the ranges. + * @Default {10} + */ + endWidth?: number; + + /** Specifies the range Gradient in the ranges. + * @Default {null} + */ + gradients?: any; + + /** Specifies the opacity in the ranges. + * @Default {null} + */ + opacity?: number; + + /** Specifies the range Position in the ranges. See RangePlacement + * @Default {Center} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; + + /** Specifies the startValue in the ranges. + * @Default {20} + */ + startValue?: number; + + /** Specifies the startWidth in the ranges. + * @Default {10} + */ + startWidth?: number; + } + + export interface ScalesTicksDistanceFromScale { + + /** Specifies the xDistanceFromScale in the tick. + * @Default {0} + */ + x?: number; + + /** Specifies the yDistanceFromScale in the tick. + * @Default {0} + */ + y?: number; + } + + export interface ScalesTick { + + /** Specifies the angle in the tick. + * @Default {0} + */ + angle?: number; + + /** Specifies the tick Color in the tick. + * @Default {null} + */ + color?: string; + + /** Specifies the DistanceFromScale in the tick. + * @Default {null} + */ + distanceFromScale?: ScalesTicksDistanceFromScale; + + /** Specifies the tick Height in the tick. + * @Default {10} + */ + height?: number; + + /** Specifies the opacity in the tick. + * @Default {0} + */ + opacity?: number; + + /** Specifies the tick Placement in the tick. See TickPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.LinearGauge.PointerPlacement | string; + + /** Specifies the tick Style in the tick. See TickType + * @Default {MajorInterval} + */ + type?: ej.datavisualization.LinearGauge.TicksType | string; + + /** Specifies the tick Width in the tick. + * @Default {3} + */ + width?: number; + } + + export interface Scale { + + /** Specifies the backgroundColor of the Scale. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the scaleBar Gradient of bar pointer + * @Default {Array} + */ + barPointers?: ScalesBarPointer[]; + + /** Specifies the border of the Scale. + * @Default {null} + */ + border?: ScalesBorder; + + /** Specifies the customLabel + * @Default {Array} + */ + customLabels?: ScalesCustomLabel[]; + + /** Specifies the scale Direction of the Scale. See Directions + * @Default {CounterClockwise} + */ + direction?: ej.datavisualization.LinearGauge.Direction | string; + + /** Specifies the indicator + * @Default {Array} + */ + indicators?: ScalesIndicator[]; + + /** Specifies the labels. + * @Default {Array} + */ + labels?: ScalesLabel[]; + + /** Specifies the scaleBar Length. + * @Default {290} + */ + length?: number; + + /** Specifies the majorIntervalValue of the Scale. + * @Default {10} + */ + majorIntervalValue?: number; + + /** Specifies the markerPointers + * @Default {Array} + */ + markerPointers?: ScalesMarkerPointer[]; + + /** Specifies the maximum of the Scale. + * @Default {null} + */ + maximum?: number; + + /** Specifies the minimum of the Scale. + * @Default {null} + */ + minimum?: number; + + /** Specifies the minorIntervalValue of the Scale. + * @Default {2} + */ + minorIntervalValue?: number; + + /** Specifies the opacity of the Scale. + * @Default {NaN} + */ + opacity?: number; + + /** Specifies the position + * @Default {null} + */ + position?: ScalesPosition; + + /** Specifies the ranges in the tick. + * @Default {Array} + */ + ranges?: ScalesRange[]; + + /** Specifies the shadowOffset. + * @Default {0} + */ + shadowOffset?: number; + + /** Specifies the showBarPointers state. + * @Default {true} + */ + showBarPointers?: boolean; + + /** Specifies the showCustomLabels state. + * @Default {false} + */ + showCustomLabels?: boolean; + + /** Specifies the showIndicators state. + * @Default {false} + */ + showIndicators?: boolean; + + /** Specifies the showLabels state. + * @Default {true} + */ + showLabels?: boolean; + + /** Specifies the showMarkerPointers state. + * @Default {true} + */ + showMarkerPointers?: boolean; + + /** Specifies the showRanges state. + * @Default {false} + */ + showRanges?: boolean; + + /** Specifies the showTicks state. + * @Default {true} + */ + showTicks?: boolean; + + /** Specifies the ticks in the scale. + * @Default {Array} + */ + ticks?: ScalesTick[]; + + /** Specifies the scaleBar type .See ScaleType + * @Default {Rectangle} + */ + type?: ej.datavisualization.LinearGauge.ScaleType | string; + + /** Specifies the scaleBar width. + * @Default {30} + */ + width?: number; + } + + export interface Tooltip { + + /** Specify showCustomLabelTooltip value of linear gauge + * @Default {false} + */ + showCustomLabelTooltip?: boolean; + + /** Specify showLabelTooltip value of linear gauge + * @Default {false} + */ + showLabelTooltip?: boolean; + + /** Specify templateID value of linear gauge + * @Default {false} + */ + templateID?: string; + } + } + namespace LinearGauge { + enum OuterCustomLabelPosition { + //string + Left, + //string + Right, + //string + Top, + //string + Bottom, + } + } + namespace LinearGauge { + enum FontStyle { + //string + Bold, + //string + Italic, + //string + Regular, + //string + Strikeout, + //string + Underline, + } + } + namespace LinearGauge { + enum Direction { + //string + Clockwise, + //string + CounterClockwise, + } + } + namespace LinearGauge { + enum IndicatorTypes { + //string + Rectangle, + //string + Circle, + //string + RoundedRectangle, + //string + Text, + } + } + namespace LinearGauge { + enum PointerPlacement { + //string + Near, + //string + Far, + //string + Center, + } + } + namespace LinearGauge { + enum ScaleType { + //string + Major, + //string + Minor, + } + } + namespace LinearGauge { + enum UnitTextPlacement { + //string + Back, + //string + From, + } + } + namespace LinearGauge { + enum MarkerType { + //string + Rectangle, + //string + Triangle, + //string + Ellipse, + //string + Diamond, + //string + Pentagon, + //string + Circle, + //string + Star, + //string + Slider, + //string + Pointer, + //string + Wedge, + //string + Trapezoid, + //string + RoundedRectangle, + } + } + namespace LinearGauge { + enum TicksType { + //string + Majorinterval, + //string + Minorinterval, + } + } + namespace LinearGauge { + enum Themes { + //string + FlatLight, + //string + FlatDark, + } + } + + class CircularGauge extends ej.Widget { + static fn: CircularGauge; + constructor(element: JQuery | Element, options?: CircularGauge.Model); + static Locale: any; + model: CircularGauge.Model; + defaults: CircularGauge.Model; + + /** destroy the circular gauge widget. all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To export Image + * @returns {boolean} + */ + exportImage(): boolean; + + /** To get BackNeedleLength + * @returns {any} + */ + getBackNeedleLength(): any; + + /** To get CustomLabelAngle + * @returns {any} + */ + getCustomLabelAngle(): any; + + /** To get CustomLabelValue + * @returns {any} + */ + getCustomLabelValue(): any; + + /** To get LabelAngle + * @returns {any} + */ + getLabelAngle(): any; + + /** To get LabelDistanceFromScale + * @returns {any} + */ + getLabelDistanceFromScale(): any; + + /** To get LabelPlacement + * @returns {any} + */ + getLabelPlacement(): any; + + /** To get LabelStyle + * @returns {any} + */ + getLabelStyle(): any; + + /** To get MajorIntervalValue + * @returns {any} + */ + getMajorIntervalValue(): any; + + /** To get MarkerDistanceFromScale + * @returns {any} + */ + getMarkerDistanceFromScale(): any; + + /** To get MarkerStyle + * @returns {any} + */ + getMarkerStyle(): any; + + /** To get MaximumValue + * @returns {any} + */ + getMaximumValue(): any; + + /** To get MinimumValue + * @returns {any} + */ + getMinimumValue(): any; + + /** To get MinorIntervalValue + * @returns {any} + */ + getMinorIntervalValue(): any; + + /** To get NeedleStyle + * @returns {any} + */ + getNeedleStyle(): any; + + /** To get PointerCapBorderWidth + * @returns {any} + */ + getPointerCapBorderWidth(): any; + + /** To get PointerCapRadius + * @returns {any} + */ + getPointerCapRadius(): any; + + /** To get PointerLength + * @returns {any} + */ + getPointerLength(): any; + + /** To get PointerNeedleType + * @returns {any} + */ + getPointerNeedleType(): any; + + /** To get PointerPlacement + * @returns {any} + */ + getPointerPlacement(): any; + + /** To get PointerValue + * @returns {any} + */ + getPointerValue(): any; + + /** To get PointerWidth + * @returns {any} + */ + getPointerWidth(): any; + + /** To get RangeBorderWidth + * @returns {any} + */ + getRangeBorderWidth(): any; + + /** To get RangeDistanceFromScale + * @returns {any} + */ + getRangeDistanceFromScale(): any; + + /** To get RangeEndValue + * @returns {any} + */ + getRangeEndValue(): any; + + /** To get RangePosition + * @returns {any} + */ + getRangePosition(): any; + + /** To get RangeSize + * @returns {any} + */ + getRangeSize(): any; + + /** To get RangeStartValue + * @returns {any} + */ + getRangeStartValue(): any; + + /** To get ScaleBarSize + * @returns {any} + */ + getScaleBarSize(): any; + + /** To get ScaleBorderWidth + * @returns {any} + */ + getScaleBorderWidth(): any; + + /** To get ScaleDirection + * @returns {any} + */ + getScaleDirection(): any; + + /** To get ScaleRadius + * @returns {any} + */ + getScaleRadius(): any; + + /** To get StartAngle + * @returns {any} + */ + getStartAngle(): any; + + /** To get SubGaugeLocation + * @returns {any} + */ + getSubGaugeLocation(): any; + + /** To get SweepAngle + * @returns {any} + */ + getSweepAngle(): any; + + /** To get TickAngle + * @returns {any} + */ + getTickAngle(): any; + + /** To get TickDistanceFromScale + * @returns {any} + */ + getTickDistanceFromScale(): any; + + /** To get TickHeight + * @returns {any} + */ + getTickHeight(): any; + + /** To get TickPlacement + * @returns {any} + */ + getTickPlacement(): any; + + /** To get TickStyle + * @returns {any} + */ + getTickStyle(): any; + + /** To get TickWidth + * @returns {any} + */ + getTickWidth(): any; + + /** To set includeFirstValue + * @returns {void} + */ + includeFirstValue(): void; + + /** Switching the redraw option for the gauge + * @returns {void} + */ + redraw(): void; + + /** To set BackNeedleLength + * @returns {void} + */ + setBackNeedleLength(): void; + + /** To set CustomLabelAngle + * @returns {void} + */ + setCustomLabelAngle(): void; + + /** To set CustomLabelValue + * @returns {void} + */ + setCustomLabelValue(): void; + + /** To set LabelAngle + * @returns {void} + */ + setLabelAngle(): void; + + /** To set LabelDistanceFromScale + * @returns {void} + */ + setLabelDistanceFromScale(): void; + + /** To set LabelPlacement + * @returns {void} + */ + setLabelPlacement(): void; + + /** To set LabelStyle + * @returns {void} + */ + setLabelStyle(): void; + + /** To set MajorIntervalValue + * @returns {void} + */ + setMajorIntervalValue(): void; + + /** To set MarkerDistanceFromScale + * @returns {void} + */ + setMarkerDistanceFromScale(): void; + + /** To set MarkerStyle + * @returns {void} + */ + setMarkerStyle(): void; + + /** To set MaximumValue + * @returns {void} + */ + setMaximumValue(): void; + + /** To set MinimumValue + * @returns {void} + */ + setMinimumValue(): void; + + /** To set MinorIntervalValue + * @returns {void} + */ + setMinorIntervalValue(): void; + + /** To set NeedleStyle + * @returns {void} + */ + setNeedleStyle(): void; + + /** To set PointerCapBorderWidth + * @returns {void} + */ + setPointerCapBorderWidth(): void; + + /** To set PointerCapRadius + * @returns {void} + */ + setPointerCapRadius(): void; + + /** To set PointerLength + * @returns {void} + */ + setPointerLength(): void; + + /** To set PointerNeedleType + * @returns {void} + */ + setPointerNeedleType(): void; + + /** To set PointerPlacement + * @returns {void} + */ + setPointerPlacement(): void; + + /** To set PointerValue + * @returns {void} + */ + setPointerValue(): void; + + /** To set PointerWidth + * @returns {void} + */ + setPointerWidth(): void; + + /** To set RangeBorderWidth + * @returns {void} + */ + setRangeBorderWidth(): void; + + /** To set RangeDistanceFromScale + * @returns {void} + */ + setRangeDistanceFromScale(): void; + + /** To set RangeEndValue + * @returns {void} + */ + setRangeEndValue(): void; + + /** To set RangePosition + * @returns {void} + */ + setRangePosition(): void; + + /** To set RangeSize + * @returns {void} + */ + setRangeSize(): void; + + /** To set RangeStartValue + * @returns {void} + */ + setRangeStartValue(): void; + + /** To set ScaleBarSize + * @returns {void} + */ + setScaleBarSize(): void; + + /** To set ScaleBorderWidth + * @returns {void} + */ + setScaleBorderWidth(): void; + + /** To set ScaleDirection + * @returns {void} + */ + setScaleDirection(): void; + + /** To set ScaleRadius + * @returns {void} + */ + setScaleRadius(): void; + + /** To set StartAngle + * @returns {void} + */ + setStartAngle(): void; + + /** To set SubGaugeLocation + * @returns {void} + */ + setSubGaugeLocation(): void; + + /** To set SweepAngle + * @returns {void} + */ + setSweepAngle(): void; + + /** To set TickAngle + * @returns {void} + */ + setTickAngle(): void; + + /** To set TickDistanceFromScale + * @returns {void} + */ + setTickDistanceFromScale(): void; + + /** To set TickHeight + * @returns {void} + */ + setTickHeight(): void; + + /** To set TickPlacement + * @returns {void} + */ + setTickPlacement(): void; + + /** To set TickStyle + * @returns {void} + */ + setTickStyle(): void; + + /** To set TickWidth + * @returns {void} + */ + setTickWidth(): void; + } + export namespace CircularGauge { + + export interface Model { + + /** Specifies animationSpeed of circular gauge + * @Default {500} + */ + animationSpeed?: number; + + /** Specifies the background color of circular gauge. + * @Default {null} + */ + backgroundColor?: string; + + /** Specify distanceFromCorner value of circular gauge + * @Default {center} + */ + distanceFromCorner?: number; + + /** Specify animate value of circular gauge + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specify the frame of circular gauge + * @Default {Object} + */ + frame?: Frame; + + /** Specify gaugePosition value of circular gauge See GaugePosition + * @Default {center} + */ + gaugePosition?: ej.datavisualization.CircularGauge.gaugePosition | string; + + /** Specifies the height of circular gauge. + * @Default {360} + */ + height?: number; + + /** Specifies the interiorGradient of circular gauge. + * @Default {null} + */ + interiorGradient?: any; + + /** Specify isRadialGradient value of circular gauge + * @Default {false} + */ + isRadialGradient?: boolean; + + /** Specify isResponsive value of circular gauge + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the maximum value of circular gauge. + * @Default {100} + */ + maximum?: number; + + /** Specifies the minimum value of circular gauge. + * @Default {0} + */ + minimum?: number; + + /** Specify outerCustomLabelPosition value of circular gauge See OuterCustomLabelPosition + * @Default {bottom} + */ + outerCustomLabelPosition?: ej.datavisualization.CircularGauge.CustomLabelPositionType | string; + + /** Specifies the radius of circular gauge. + * @Default {180} + */ + radius?: number; + + /** Specify readonly value of circular gauge + * @Default {true} + */ + readOnly?: boolean; + + /** Specify the pointers, ticks, labels, indicators, ranges of circular gauge + * @Default {null} + */ + scales?: Scale[]; + + /** Specify the theme of circular gauge. + * @Default {flatlight} + */ + theme?: string; + + /** Specify tooltip option of circular gauge + * @Default {object} + */ + tooltip?: Tooltip; + + /** Specifies the value of circular gauge. + * @Default {0} + */ + value?: number; + + /** Specifies the width of circular gauge. + * @Default {360} + */ + width?: number; + + /** Triggers while the custom labels are being drawn on the gauge. */ + drawCustomLabel?(e: DrawCustomLabelEventArgs): void; + + /** Triggers while the indicators are being started to drawn on the gauge. */ + drawIndicators?(e: DrawIndicatorsEventArgs): void; + + /** Triggers while the labels are being drawn on the gauge. */ + drawLabels?(e: DrawLabelsEventArgs): void; + + /** Triggers while the pointer cap is being drawn on the gauge. */ + drawPointerCap?(e: DrawPointerCapEventArgs): void; + + /** Triggers while the pointers are being drawn on the gauge. */ + drawPointers?(e: DrawPointersEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Triggers when the ranges begin to be getting drawn on the gauge. */ + drawRange?(e: DrawRangeEventArgs): void; - /** returns the gauge model - */ - model?: any; + /** Triggers while the ticks are being drawn on the gauge. */ + drawTicks?(e: DrawTicksEventArgs): void; + + /** Triggers while the gauge start to Load. */ + load?(e: LoadEventArgs): void; - /** returns the name of the event - */ - type?: any; + /** Triggers when the left mouse button is clicked. */ + mouseClick?(e: MouseClickEventArgs): void; - /** returns the scale element. - */ - scaleElement?: any; + /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ + mouseClickMove?(e: MouseClickMoveEventArgs): void; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Triggers when the mouse click is released. */ + mouseClickUp?(e: MouseClickUpEventArgs): void; - /** returns the context element* @param {Object} args.markerpointer returns the context element - */ - context?: any; + /** Triggers when the rendering of the gauge is completed. */ + renderComplete?(e: RenderCompleteEventArgs): void; + } - /** returns the pointer Index - */ - markerpointerIndex?: number; + export interface DrawCustomLabelEventArgs { - /** returns the pointer element. - */ - markerpointerElement?: any; + /** returns the object of the gauge. + */ + object?: any; - /** returns the value of the pointer. - */ - markerpointerValue?: number; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the pointer style - */ - style?: string; + /** returns the context element + */ + context?: any; - /** returns the startX and startY of the pointer. - */ - position?: any; -} + /** returns the startX and startY of the custom label + */ + position?: any; -export interface RenderCompleteEventArgs { + /** returns the gauge model + */ + model?: any; - /** returns the object of the gauge. - */ - object?: any; + /** returns the options of the scale element. + */ + scaleElement?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the scaleIndex to which the custom label belongs. + */ + scaleIndex?: number; - /** returns the gauge model - */ - Model?: any; + /** returns the custom label style + */ + style?: string; - /** returns the entire scale element. - */ - scaleElement?: any; + /** returns the current custom label element. + */ + customLabelElement?: any; - /** returns the context element - */ - context?: any; + /** returns the index of the custom label. + */ + customLabelIndex?: number; - /** returns the name of the event - */ - type?: any; -} + /** returns the name of the event + */ + type?: string; + } -export interface Frame { + export interface DrawIndicatorsEventArgs { - /** Specifies the frame background image URL of linear gauge - * @Default {null} - */ - backgroundImageUrl?: string; + /** returns the object of the gauge. + */ + object?: any; - /** Specifies the frame InnerWidth - * @Default {8} - */ - innerWidth?: number; + /** returns the cancel option value + */ + cancel?: boolean; - /** Specifies the frame OuterWidth - * @Default {12} - */ - outerWidth?: number; -} + /** returns the context element + */ + context?: any; -export interface ScalesBarPointersBorder { + /** returns the startX and startY of the indicator + */ + position?: any; - /** Specifies the border Color of bar pointer - * @Default {null} - */ - color?: string; + /** returns the gauge model + */ + model?: any; - /** Specifies the border Width of bar pointer - * @Default {1.5} - */ - width?: number; -} + /** returns the options of the scale element. + */ + scaleElement?: any; -export interface ScalesBarPointer { - - /** Specifies the backgroundColor of bar pointer - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border of bar pointer - * @Default {null} - */ - border?: ScalesBarPointersBorder; - - /** Specifies the distanceFromScale of bar pointer - * @Default {0} - */ - distanceFromScale?: number; - - /** Specifies the scaleBar Gradient of bar pointer - * @Default {null} - */ - gradients?: any; - - /** Specifies the opacity of bar pointer - * @Default {1} - */ - opacity?: number; - - /** Specifies the value of bar pointer - * @Default {null} - */ - value?: number; - - /** Specifies the pointer Width of bar pointer - * @Default {width=30} - */ - width?: number; -} + /** returns the scaleIndex to which the indicator belongs. + */ + scaleIndex?: number; -export interface ScalesBorder { + /** returns the indicator style + */ + style?: string; - /** Specifies the border color of the Scale. - * @Default {null} - */ - color?: string; + /** returns the current indicator element. + */ + indicatorElement?: any; - /** Specifies the border width of the Scale. - * @Default {1.5} - */ - width?: number; -} + /** returns the index of the indicator. + */ + indicatorIndex?: number; -export interface ScalesCustomLabelsFont { + /** returns the name of the event + */ + type?: string; + } - /** Specifies the fontFamily in customLabels - * @Default {Arial} - */ - fontFamily?: string; + export interface DrawLabelsEventArgs { - /** Specifies the fontStyle in customLabels. See FontStyle - * @Default {Bold} - */ - fontStyle?: ej.datavisualization.LinearGauge.FontStyle|string; + /** returns the object of the gauge. + */ + object?: any; - /** Specifies the font size in customLabels - * @Default {11px} - */ - size?: string; -} + /** returns the cancel option value + */ + cancel?: boolean; -export interface ScalesCustomLabelsPosition { + /** returns the context element + */ + context?: any; - /** Specifies the position x in customLabels - * @Default {0} - */ - x?: number; + /** returns the startX and startY of the labels + */ + position?: any; - /** Specifies the y in customLabels - * @Default {0} - */ - y?: number; -} + /** returns the gauge model + */ + model?: any; -export interface ScalesCustomLabel { - - /** Specifies the label Color in customLabels - * @Default {null} - */ - color?: number; - - /** Specifies the font in customLabels - * @Default {null} - */ - font?: ScalesCustomLabelsFont; - - /** Specifies the opacity in customLabels - * @Default {0} - */ - opacity?: string; - - /** Specifies the position in customLabels - * @Default {null} - */ - position?: ScalesCustomLabelsPosition; - - /** Specifies the positionType in customLabels.See CustomLabelPositionType - * @Default {null} - */ - positionType?: any; - - /** Specifies the textAngle in customLabels - * @Default {0} - */ - textAngle?: number; - - /** Specifies the label Value in customLabels - */ - value?: string; -} + /** returns the options of the scale element. + */ + scaleElement?: any; -export interface ScalesIndicatorsBorder { + /** returns the scaleIndex to which the label belongs. + */ + scaleIndex?: number; - /** Specifies the border Color in bar indicators - * @Default {null} - */ - color?: string; + /** returns the label style + */ + style?: string; - /** Specifies the border Width in bar indicators - * @Default {1.5} - */ - width?: number; -} + /** returns the angle of the labels. + */ + angle?: number; -export interface ScalesIndicatorsFont { + /** returns the current label element. + */ + element?: any; - /** Specifies the fontFamily of font in bar indicators - * @Default {Arial} - */ - fontFamily?: string; + /** returns the index of the label. + */ + index?: number; - /** Specifies the fontStyle of font in bar indicators. See FontStyle - * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} - */ - fontStyle?: ej.datavisualization.LinearGauge.FontStyle|string; + /** returns the value of the label. + */ + pointerValue?: number; - /** Specifies the size of font in bar indicators - * @Default {11px} - */ - size?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface ScalesIndicatorsPosition { + export interface DrawPointerCapEventArgs { - /** Specifies the x position in bar indicators - * @Default {0} - */ - x?: number; + /** returns the object of the gauge. + */ + object?: any; - /** Specifies the y position in bar indicators - * @Default {0} - */ - y?: number; -} + /** returns the cancel option value + */ + cancel?: boolean; -export interface ScalesIndicatorsStateRange { + /** returns the context element + */ + context?: any; - /** Specifies the backgroundColor in bar indicators state ranges - * @Default {null} - */ - backgroundColor?: string; + /** returns the options of the scale element. + */ + scaleElement?: any; - /** Specifies the borderColor in bar indicators state ranges - * @Default {null} - */ - borderColor?: string; + /** returns the startX and startY of the pointer cap. + */ + position?: any; - /** Specifies the endValue in bar indicators state ranges - * @Default {60} - */ - endValue?: number; + /** returns the gauge model + */ + model?: any; - /** Specifies the startValue in bar indicators state ranges - * @Default {50} - */ - startValue?: number; + /** returns the pointer cap style + */ + style?: string; - /** Specifies the text in bar indicators state ranges - */ - text?: string; + /** returns the name of the event + */ + type?: string; + } - /** Specifies the textColor in bar indicators state ranges - * @Default {null} - */ - textColor?: string; -} + export interface DrawPointersEventArgs { -export interface ScalesIndicatorsTextLocation { + /** returns the object of the gauge. + */ + object?: any; - /** Specifies the textLocation position in bar indicators - * @Default {0} - */ - x?: number; + /** returns the cancel option value + */ + cancel?: boolean; - /** Specifies the Y position in bar indicators - * @Default {0} - */ - y?: number; -} + /** returns the context element + */ + context?: any; -export interface ScalesIndicator { - - /** Specifies the backgroundColor in bar indicators - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border in bar indicators - * @Default {null} - */ - border?: ScalesIndicatorsBorder; - - /** Specifies the font of bar indicators - * @Default {null} - */ - font?: ScalesIndicatorsFont; - - /** Specifies the indicator Height of bar indicators - * @Default {30} - */ - height?: number; - - /** Specifies the opacity in bar indicators - * @Default {NaN} - */ - opacity?: number; - - /** Specifies the position in bar indicators - * @Default {null} - */ - position?: ScalesIndicatorsPosition; - - /** Specifies the state ranges in bar indicators - * @Default {Array} - */ - stateRanges?: Array; - - /** Specifies the textLocation in bar indicators - * @Default {null} - */ - textLocation?: ScalesIndicatorsTextLocation; - - /** Specifies the indicator Style of font in bar indicators - * @Default {ej.datavisualization.LinearGauge.IndicatorType.Rectangle} - */ - type?: ej.datavisualization.LinearGauge.IndicatorTypes|string; - - /** Specifies the indicator Width in bar indicators - * @Default {30} - */ - width?: number; -} + /** returns the startX and startY of the pointer + */ + position?: any; -export interface ScalesLabelsDistanceFromScale { + /** returns the gauge model + */ + model?: any; - /** Specifies the xDistanceFromScale of labels. - * @Default {-10} - */ - x?: number; + /** returns the options of the scale element. + */ + scaleElement?: any; - /** Specifies the yDistanceFromScale of labels. - * @Default {0} - */ - y?: number; -} + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; -export interface ScalesLabelsFont { + /** returns the pointer style + */ + style?: string; - /** Specifies the fontFamily of font. - * @Default {Arial} - */ - fontFamily?: string; + /** returns the angle of the pointer. + */ + angle?: number; - /** Specifies the fontStyle of font.See FontStyle - * @Default {ej.datavisualization.LinearGauge.FontStyle.Bold} - */ - fontStyle?: ej.datavisualization.LinearGauge.FontStyle|string; + /** returns the current pointer element. + */ + element?: any; - /** Specifies the size of font. - * @Default {11px} - */ - size?: string; -} + /** returns the index of the pointer. + */ + index?: number; -export interface ScalesLabel { - - /** Specifies the angle of labels. - * @Default {0} - */ - angle?: number; - - /** Specifies the DistanceFromScale of labels. - * @Default {null} - */ - distanceFromScale?: ScalesLabelsDistanceFromScale; - - /** Specifies the font of labels. - * @Default {null} - */ - font?: ScalesLabelsFont; - - /** need to includeFirstValue. - * @Default {true} - */ - includeFirstValue?: boolean; - - /** Specifies the opacity of label. - * @Default {0} - */ - opacity?: number; - - /** Specifies the label Placement of label. See LabelPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; - - /** Specifies the textColor of font. - * @Default {null} - */ - textColor?: string; - - /** Specifies the label Style of label. See LabelType - * @Default {ej.datavisualization.LinearGauge.LabelType.Major} - */ - type?: ej.datavisualization.LinearGauge.ScaleType|string; - - /** Specifies the unitText of label. - */ - unitText?: string; - - /** Specifies the unitText Position of label.See UnitTextPlacement - * @Default {Back} - */ - unitTextPlacement?: ej.datavisualization.LinearGauge.UnitTextPlacement|string; -} + /** returns the value of the pointer. + */ + value?: number; -export interface ScalesMarkerPointersBorder { + /** returns the name of the event + */ + type?: string; + } - /** Specifies the border color of marker pointer - * @Default {null} - */ - color?: string; + export interface DrawRangeEventArgs { - /** Specifies the border of marker pointer - * @Default {number} - */ - width?: number; -} + /** returns the object of the gauge. + */ + object?: any; -export interface ScalesMarkerPointer { - - /** Specifies the backgroundColor of marker pointer - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border of marker pointer - * @Default {null} - */ - border?: ScalesMarkerPointersBorder; - - /** Specifies the distanceFromScale of marker pointer - * @Default {0} - */ - distanceFromScale?: number; - - /** Specifies the pointer Gradient of marker pointer - * @Default {null} - */ - gradients?: any; - - /** Specifies the pointer Length of marker pointer - * @Default {30} - */ - length?: number; - - /** Specifies the opacity of marker pointer - * @Default {1} - */ - opacity?: number; - - /** Specifies the pointer Placement of marker pointer See PointerPlacement - * @Default {Far} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; - - /** Specifies the marker Style of marker pointerSee MarkerType - * @Default {Triangle} - */ - type?: ej.datavisualization.LinearGauge.MarkerType|string; - - /** Specifies the value of marker pointer - * @Default {null} - */ - value?: number; - - /** Specifies the pointer Width of marker pointer - * @Default {30} - */ - width?: number; -} + /** returns the cancel option value + */ + cancel?: boolean; -export interface ScalesPosition { + /** returns the context element + */ + context?: any; - /** Specifies the Horizontal position - * @Default {50} - */ - x?: number; + /** returns the startX and startY of the range + */ + position?: any; - /** Specifies the vertical position - * @Default {50} - */ - y?: number; -} + /** returns the gauge model + */ + model?: any; -export interface ScalesRangesBorder { + /** returns the options of the scale element. + */ + scaleElement?: any; - /** Specifies the border color in the ranges. - * @Default {null} - */ - color?: string; + /** returns the scaleIndex to which the range belongs. + */ + scaleIndex?: number; - /** Specifies the border width in the ranges. - * @Default {1.5} - */ - width?: number; -} + /** returns the range style + */ + style?: string; -export interface ScalesRange { - - /** Specifies the backgroundColor in the ranges. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the border in the ranges. - * @Default {null} - */ - border?: ScalesRangesBorder; - - /** Specifies the distanceFromScale in the ranges. - * @Default {0} - */ - distanceFromScale?: number; - - /** Specifies the endValue in the ranges. - * @Default {60} - */ - endValue?: number; - - /** Specifies the endWidth in the ranges. - * @Default {10} - */ - endWidth?: number; - - /** Specifies the range Gradient in the ranges. - * @Default {null} - */ - gradients?: any; - - /** Specifies the opacity in the ranges. - * @Default {null} - */ - opacity?: number; - - /** Specifies the range Position in the ranges. See RangePlacement - * @Default {Center} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; - - /** Specifies the startValue in the ranges. - * @Default {20} - */ - startValue?: number; - - /** Specifies the startWidth in the ranges. - * @Default {10} - */ - startWidth?: number; -} + /** returns the current range element. + */ + rangeElement?: any; -export interface ScalesTicksDistanceFromScale { + /** returns the index of the range. + */ + rangeIndex?: number; - /** Specifies the xDistanceFromScale in the tick. - * @Default {0} - */ - x?: number; + /** returns the name of the event + */ + type?: string; + } - /** Specifies the yDistanceFromScale in the tick. - * @Default {0} - */ - y?: number; -} + export interface DrawTicksEventArgs { -export interface ScalesTick { - - /** Specifies the angle in the tick. - * @Default {0} - */ - angle?: number; - - /** Specifies the tick Color in the tick. - * @Default {null} - */ - color?: string; - - /** Specifies the DistanceFromScale in the tick. - * @Default {null} - */ - distanceFromScale?: ScalesTicksDistanceFromScale; - - /** Specifies the tick Height in the tick. - * @Default {10} - */ - height?: number; - - /** Specifies the opacity in the tick. - * @Default {0} - */ - opacity?: number; - - /** Specifies the tick Placement in the tick. See TickPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.LinearGauge.PointerPlacement|string; - - /** Specifies the tick Style in the tick. See TickType - * @Default {MajorInterval} - */ - type?: ej.datavisualization.LinearGauge.TicksType|string; - - /** Specifies the tick Width in the tick. - * @Default {3} - */ - width?: number; -} + /** returns the object of the gauge. + */ + object?: any; -export interface Scale { - - /** Specifies the backgroundColor of the Scale. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the scaleBar Gradient of bar pointer - * @Default {Array} - */ - barPointers?: Array; - - /** Specifies the border of the Scale. - * @Default {null} - */ - border?: ScalesBorder; - - /** Specifies the customLabel - * @Default {Array} - */ - customLabels?: Array; - - /** Specifies the scale Direction of the Scale. See Directions - * @Default {CounterClockwise} - */ - direction?: ej.datavisualization.LinearGauge.Direction|string; - - /** Specifies the indicator - * @Default {Array} - */ - indicators?: Array; - - /** Specifies the labels. - * @Default {Array} - */ - labels?: Array; - - /** Specifies the scaleBar Length. - * @Default {290} - */ - length?: number; - - /** Specifies the majorIntervalValue of the Scale. - * @Default {10} - */ - majorIntervalValue?: number; - - /** Specifies the markerPointers - * @Default {Array} - */ - markerPointers?: Array; - - /** Specifies the maximum of the Scale. - * @Default {null} - */ - maximum?: number; - - /** Specifies the minimum of the Scale. - * @Default {null} - */ - minimum?: number; - - /** Specifies the minorIntervalValue of the Scale. - * @Default {2} - */ - minorIntervalValue?: number; - - /** Specifies the opacity of the Scale. - * @Default {NaN} - */ - opacity?: number; - - /** Specifies the position - * @Default {null} - */ - position?: ScalesPosition; - - /** Specifies the ranges in the tick. - * @Default {Array} - */ - ranges?: Array; - - /** Specifies the shadowOffset. - * @Default {0} - */ - shadowOffset?: number; - - /** Specifies the showBarPointers state. - * @Default {true} - */ - showBarPointers?: boolean; - - /** Specifies the showCustomLabels state. - * @Default {false} - */ - showCustomLabels?: boolean; - - /** Specifies the showIndicators state. - * @Default {false} - */ - showIndicators?: boolean; - - /** Specifies the showLabels state. - * @Default {true} - */ - showLabels?: boolean; - - /** Specifies the showMarkerPointers state. - * @Default {true} - */ - showMarkerPointers?: boolean; - - /** Specifies the showRanges state. - * @Default {false} - */ - showRanges?: boolean; - - /** Specifies the showTicks state. - * @Default {true} - */ - showTicks?: boolean; - - /** Specifies the ticks in the scale. - * @Default {Array} - */ - ticks?: Array; - - /** Specifies the scaleBar type .See ScaleType - * @Default {Rectangle} - */ - type?: ej.datavisualization.LinearGauge.ScaleType|string; - - /** Specifies the scaleBar width. - * @Default {30} - */ - width?: number; -} + /** returns the cancel option value + */ + cancel?: boolean; -export interface Tooltip { + /** returns the context element + */ + context?: any; - /** Specify showCustomLabelTooltip value of linear gauge - * @Default {false} - */ - showCustomLabelTooltip?: boolean; + /** returns the startX and startY of the ticks + */ + position?: any; - /** Specify showLabelTooltip value of linear gauge - * @Default {false} - */ - showLabelTooltip?: boolean; + /** returns the gauge model + */ + model?: any; - /** Specify templateID value of linear gauge - * @Default {false} - */ - templateID?: string; -} -} -module LinearGauge -{ -enum OuterCustomLabelPosition -{ -//string -Left, -//string -Right, -//string -Top, -//string -Bottom, -} -} -module LinearGauge -{ -enum FontStyle -{ -//string -Bold, -//string -Italic, -//string -Regular, -//string -Strikeout, -//string -Underline, -} -} -module LinearGauge -{ -enum Direction -{ -//string -Clockwise, -//string -CounterClockwise, -} -} -module LinearGauge -{ -enum IndicatorTypes -{ -//string -Rectangle, -//string -Circle, -//string -RoundedRectangle, -//string -Text, -} -} -module LinearGauge -{ -enum PointerPlacement -{ -//string -Near, -//string -Far, -//string -Center, -} -} -module LinearGauge -{ -enum ScaleType -{ -//string -Major, -//string -Minor, -} -} -module LinearGauge -{ -enum UnitTextPlacement -{ -//string -Back, -//string -From, -} -} -module LinearGauge -{ -enum MarkerType -{ -//string -Rectangle, -//string -Triangle, -//string -Ellipse, -//string -Diamond, -//string -Pentagon, -//string -Circle, -//string -Star, -//string -Slider, -//string -Pointer, -//string -Wedge, -//string -Trapezoid, -//string -RoundedRectangle, -} -} -module LinearGauge -{ -enum TicksType -{ -//string -Majorinterval, -//string -Minorinterval, -} -} -module LinearGauge -{ -enum Themes -{ -//string -FlatLight, -//string -FlatDark, -} -} + /** returns the options of the scale element. + */ + scaleElement?: any; -class CircularGauge extends ej.Widget { - static fn: CircularGauge; - constructor(element: JQuery, options?: CircularGauge.Model); - constructor(element: Element, options?: CircularGauge.Model); - static Locale: any; - model:CircularGauge.Model; - defaults:CircularGauge.Model; - - /** destroy the circular gauge widget. all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To export Image - * @returns {boolean} - */ - exportImage(): boolean; - - /** To get BackNeedleLength - * @returns {any} - */ - getBackNeedleLength(): any; - - /** To get CustomLabelAngle - * @returns {any} - */ - getCustomLabelAngle(): any; - - /** To get CustomLabelValue - * @returns {any} - */ - getCustomLabelValue(): any; - - /** To get LabelAngle - * @returns {any} - */ - getLabelAngle(): any; - - /** To get LabelDistanceFromScale - * @returns {any} - */ - getLabelDistanceFromScale(): any; - - /** To get LabelPlacement - * @returns {any} - */ - getLabelPlacement(): any; - - /** To get LabelStyle - * @returns {any} - */ - getLabelStyle(): any; - - /** To get MajorIntervalValue - * @returns {any} - */ - getMajorIntervalValue(): any; - - /** To get MarkerDistanceFromScale - * @returns {any} - */ - getMarkerDistanceFromScale(): any; - - /** To get MarkerStyle - * @returns {any} - */ - getMarkerStyle(): any; - - /** To get MaximumValue - * @returns {any} - */ - getMaximumValue(): any; - - /** To get MinimumValue - * @returns {any} - */ - getMinimumValue(): any; - - /** To get MinorIntervalValue - * @returns {any} - */ - getMinorIntervalValue(): any; - - /** To get NeedleStyle - * @returns {any} - */ - getNeedleStyle(): any; - - /** To get PointerCapBorderWidth - * @returns {any} - */ - getPointerCapBorderWidth(): any; - - /** To get PointerCapRadius - * @returns {any} - */ - getPointerCapRadius(): any; - - /** To get PointerLength - * @returns {any} - */ - getPointerLength(): any; - - /** To get PointerNeedleType - * @returns {any} - */ - getPointerNeedleType(): any; - - /** To get PointerPlacement - * @returns {any} - */ - getPointerPlacement(): any; - - /** To get PointerValue - * @returns {any} - */ - getPointerValue(): any; - - /** To get PointerWidth - * @returns {any} - */ - getPointerWidth(): any; - - /** To get RangeBorderWidth - * @returns {any} - */ - getRangeBorderWidth(): any; - - /** To get RangeDistanceFromScale - * @returns {any} - */ - getRangeDistanceFromScale(): any; - - /** To get RangeEndValue - * @returns {any} - */ - getRangeEndValue(): any; - - /** To get RangePosition - * @returns {any} - */ - getRangePosition(): any; - - /** To get RangeSize - * @returns {any} - */ - getRangeSize(): any; - - /** To get RangeStartValue - * @returns {any} - */ - getRangeStartValue(): any; - - /** To get ScaleBarSize - * @returns {any} - */ - getScaleBarSize(): any; - - /** To get ScaleBorderWidth - * @returns {any} - */ - getScaleBorderWidth(): any; - - /** To get ScaleDirection - * @returns {any} - */ - getScaleDirection(): any; - - /** To get ScaleRadius - * @returns {any} - */ - getScaleRadius(): any; - - /** To get StartAngle - * @returns {any} - */ - getStartAngle(): any; - - /** To get SubGaugeLocation - * @returns {any} - */ - getSubGaugeLocation(): any; - - /** To get SweepAngle - * @returns {any} - */ - getSweepAngle(): any; - - /** To get TickAngle - * @returns {any} - */ - getTickAngle(): any; - - /** To get TickDistanceFromScale - * @returns {any} - */ - getTickDistanceFromScale(): any; - - /** To get TickHeight - * @returns {any} - */ - getTickHeight(): any; - - /** To get TickPlacement - * @returns {any} - */ - getTickPlacement(): any; - - /** To get TickStyle - * @returns {any} - */ - getTickStyle(): any; - - /** To get TickWidth - * @returns {any} - */ - getTickWidth(): any; - - /** To set includeFirstValue - * @returns {void} - */ - includeFirstValue(): void; - - /** Switching the redraw option for the gauge - * @returns {void} - */ - redraw(): void; - - /** To set BackNeedleLength - * @returns {void} - */ - setBackNeedleLength(): void; - - /** To set CustomLabelAngle - * @returns {void} - */ - setCustomLabelAngle(): void; - - /** To set CustomLabelValue - * @returns {void} - */ - setCustomLabelValue(): void; - - /** To set LabelAngle - * @returns {void} - */ - setLabelAngle(): void; - - /** To set LabelDistanceFromScale - * @returns {void} - */ - setLabelDistanceFromScale(): void; - - /** To set LabelPlacement - * @returns {void} - */ - setLabelPlacement(): void; - - /** To set LabelStyle - * @returns {void} - */ - setLabelStyle(): void; - - /** To set MajorIntervalValue - * @returns {void} - */ - setMajorIntervalValue(): void; - - /** To set MarkerDistanceFromScale - * @returns {void} - */ - setMarkerDistanceFromScale(): void; - - /** To set MarkerStyle - * @returns {void} - */ - setMarkerStyle(): void; - - /** To set MaximumValue - * @returns {void} - */ - setMaximumValue(): void; - - /** To set MinimumValue - * @returns {void} - */ - setMinimumValue(): void; - - /** To set MinorIntervalValue - * @returns {void} - */ - setMinorIntervalValue(): void; - - /** To set NeedleStyle - * @returns {void} - */ - setNeedleStyle(): void; - - /** To set PointerCapBorderWidth - * @returns {void} - */ - setPointerCapBorderWidth(): void; - - /** To set PointerCapRadius - * @returns {void} - */ - setPointerCapRadius(): void; - - /** To set PointerLength - * @returns {void} - */ - setPointerLength(): void; - - /** To set PointerNeedleType - * @returns {void} - */ - setPointerNeedleType(): void; - - /** To set PointerPlacement - * @returns {void} - */ - setPointerPlacement(): void; - - /** To set PointerValue - * @returns {void} - */ - setPointerValue(): void; - - /** To set PointerWidth - * @returns {void} - */ - setPointerWidth(): void; - - /** To set RangeBorderWidth - * @returns {void} - */ - setRangeBorderWidth(): void; - - /** To set RangeDistanceFromScale - * @returns {void} - */ - setRangeDistanceFromScale(): void; - - /** To set RangeEndValue - * @returns {void} - */ - setRangeEndValue(): void; - - /** To set RangePosition - * @returns {void} - */ - setRangePosition(): void; - - /** To set RangeSize - * @returns {void} - */ - setRangeSize(): void; - - /** To set RangeStartValue - * @returns {void} - */ - setRangeStartValue(): void; - - /** To set ScaleBarSize - * @returns {void} - */ - setScaleBarSize(): void; - - /** To set ScaleBorderWidth - * @returns {void} - */ - setScaleBorderWidth(): void; - - /** To set ScaleDirection - * @returns {void} - */ - setScaleDirection(): void; - - /** To set ScaleRadius - * @returns {void} - */ - setScaleRadius(): void; - - /** To set StartAngle - * @returns {void} - */ - setStartAngle(): void; - - /** To set SubGaugeLocation - * @returns {void} - */ - setSubGaugeLocation(): void; - - /** To set SweepAngle - * @returns {void} - */ - setSweepAngle(): void; - - /** To set TickAngle - * @returns {void} - */ - setTickAngle(): void; - - /** To set TickDistanceFromScale - * @returns {void} - */ - setTickDistanceFromScale(): void; - - /** To set TickHeight - * @returns {void} - */ - setTickHeight(): void; - - /** To set TickPlacement - * @returns {void} - */ - setTickPlacement(): void; - - /** To set TickStyle - * @returns {void} - */ - setTickStyle(): void; - - /** To set TickWidth - * @returns {void} - */ - setTickWidth(): void; -} -export module CircularGauge{ - -export interface Model { - - /** Specifies animationSpeed of circular gauge - * @Default {500} - */ - animationSpeed?: number; - - /** Specifies the background color of circular gauge. - * @Default {null} - */ - backgroundColor?: string; - - /** Specify distanceFromCorner value of circular gauge - * @Default {center} - */ - distanceFromCorner?: number; - - /** Specify animate value of circular gauge - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specify the frame of circular gauge - * @Default {Object} - */ - frame?: Frame; - - /** Specify gaugePosition value of circular gauge See GaugePosition - * @Default {center} - */ - gaugePosition?: ej.datavisualization.CircularGauge.gaugePosition|string; - - /** Specifies the height of circular gauge. - * @Default {360} - */ - height?: number; - - /** Specifies the interiorGradient of circular gauge. - * @Default {null} - */ - interiorGradient?: any; - - /** Specify isRadialGradient value of circular gauge - * @Default {false} - */ - isRadialGradient?: boolean; - - /** Specify isResponsive value of circular gauge - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the maximum value of circular gauge. - * @Default {100} - */ - maximum?: number; - - /** Specifies the minimum value of circular gauge. - * @Default {0} - */ - minimum?: number; - - /** Specify outerCustomLabelPosition value of circular gauge See OuterCustomLabelPosition - * @Default {bottom} - */ - outerCustomLabelPosition?: ej.datavisualization.CircularGauge.CustomLabelPositionType|string; - - /** Specifies the radius of circular gauge. - * @Default {180} - */ - radius?: number; - - /** Specify readonly value of circular gauge - * @Default {true} - */ - readOnly?: boolean; - - /** Specify the pointers, ticks, labels, indicators, ranges of circular gauge - * @Default {null} - */ - scales?: Array; - - /** Specify the theme of circular gauge. - * @Default {flatlight} - */ - theme?: string; - - /** Options to customize the legend. - */ - legend?: Legend; - - /** Specify tooltip option of circular gauge - * @Default {object} - */ - tooltip?: Tooltip; - - /** Specifies the value of circular gauge. - * @Default {0} - */ - value?: number; - - /** Specifies the width of circular gauge. - * @Default {360} - */ - width?: number; - - /** Fires before rendering the legend item. This event is fired for each legend item in CircularGauge. You can use this event to customize legend item shape or add custom text to legend item. */ - legendItemRender? (e: LegendItemRenderEventArgs): void; - - /** Fires on clicking the legend item. */ - legendItemClick? (e: LegendItemClickEventArgs): void; + /** returns the scaleIndex to which the tick belongs. + */ + scaleIndex?: number; - /** Fires when mouse moving on ranges. */ - rangeMouseMove? (e: RangeMouseMoveEventArgs): void; - - /** Triggers while the custom labels are being drawn on the gauge. */ - drawCustomLabel? (e: DrawCustomLabelEventArgs): void; - - /** Triggers while the indicators are being started to drawn on the gauge. */ - drawIndicators? (e: DrawIndicatorsEventArgs): void; + /** returns the ticks style + */ + style?: string; - /** Triggers while the labels are being drawn on the gauge. */ - drawLabels? (e: DrawLabelsEventArgs): void; + /** returns the angle of the tick. + */ + angle?: number; - /** Triggers while the pointer cap is being drawn on the gauge. */ - drawPointerCap? (e: DrawPointerCapEventArgs): void; + /** returns the current tick element. + */ + element?: any; - /** Triggers while the pointers are being drawn on the gauge. */ - drawPointers? (e: DrawPointersEventArgs): void; + /** returns the index of the tick. + */ + index?: number; - /** Triggers when the ranges begin to be getting drawn on the gauge. */ - drawRange? (e: DrawRangeEventArgs): void; + /** returns the label value of the tick. + */ + pointerValue?: number; - /** Triggers while the ticks are being drawn on the gauge. */ - drawTicks? (e: DrawTicksEventArgs): void; + /** returns the name of the event + */ + type?: string; + } - /** Triggers while the gauge start to Load. */ - load? (e: LoadEventArgs): void; + export interface LoadEventArgs { - /** Triggers when the left mouse button is clicked. */ - mouseClick? (e: MouseClickEventArgs): void; + /** returns the object of the gauge. + */ + object?: any; - /** Triggers when clicking and dragging the mouse pointer over the gauge pointer. */ - mouseClickMove? (e: MouseClickMoveEventArgs): void; + /** returns the cancel option value + */ + cancel?: boolean; - /** Triggers when the mouse click is released. */ - mouseClickUp? (e: MouseClickUpEventArgs): void; + /** returns the gauge model + */ + Model?: any; - /** Triggers when the rendering of the gauge is completed. */ - renderComplete? (e: RenderCompleteEventArgs): void; -} + /** returns the entire scale element. + */ + scaleElement?: any; -export interface LegendItemRenderEventArgs { + /** returns the context element + */ + context?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: string; + } - /** Instance of the circulargauge model object - */ - model?: any; + export interface MouseClickEventArgs { - /** Name of the event - */ - type?: string; + /** returns the object of the gauge. + */ + object?: any; - /** Instance of the legend item object that is about to be rendered - */ - data?: any; -} + /** returns the cancel option value + */ + cancel?: boolean; -export interface LegendItemClickEventArgs { + /** returns the gauge model + */ + model?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the name of the event + */ + type?: any; - /** Instance of the circulargauge model object - */ - model?: any; + /** returns the scale element. + */ + scaleElement?: any; - /** Name of the event - */ - type?: string; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** Instance of the legend item object that is about to be rendered - */ - data?: any; -} + /** returns the context element + */ + context?: any; -export interface RangeMouseMoveEventArgs { + /** returns the pointer Index + */ + index?: number; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the pointer element. + */ + element?: any; - /** Instance of the circulargauge model object - */ - model?: any; + /** returns the value of the pointer. + */ + value?: number; - /** Name of the event - */ - type?: string; + /** returns the angle of the pointer. + */ + angle?: number; - /** Region of ranges - */ - data?: any; -} + /** returns the pointer style + */ + style?: string; -export interface DrawCustomLabelEventArgs { + /** returns the startX and startY of the pointer. + */ + position?: any; + } - /** returns the object of the gauge. - */ - object?: any; + export interface MouseClickMoveEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the object of the gauge. + */ + object?: any; - /** returns the context element - */ - context?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the startX and startY of the custom label - */ - position?: any; + /** returns the gauge model + */ + model?: any; - /** returns the gauge model - */ - model?: any; + /** returns the name of the event + */ + type?: any; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the scale element. + */ + scaleElement?: any; - /** returns the scaleIndex to which the custom label belongs. - */ - scaleIndex?: number; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the custom label style - */ - style?: string; + /** returns the context element + */ + context?: any; - /** returns the current custom label element. - */ - customLabelElement?: any; + /** returns the pointer Index + */ + index?: number; - /** returns the index of the custom label. - */ - customLabelIndex?: number; + /** returns the pointer element. + */ + element?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the value of the pointer. + */ + value?: number; -export interface DrawIndicatorsEventArgs { + /** returns the angle of the pointer. + */ + angle?: number; - /** returns the object of the gauge. - */ - object?: any; + /** returns the pointer style + */ + style?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the startX and startY of the pointer. + */ + position?: any; + } - /** returns the context element - */ - context?: any; + export interface MouseClickUpEventArgs { - /** returns the startX and startY of the indicator - */ - position?: any; + /** returns the object of the gauge. + */ + object?: any; - /** returns the gauge model - */ - model?: any; + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the gauge model + */ + model?: any; - /** returns the scaleIndex to which the indicator belongs. - */ - scaleIndex?: number; + /** returns the name of the event + */ + type?: any; - /** returns the indicator style - */ - style?: string; + /** returns the scale element. + */ + scaleElement?: any; - /** returns the current indicator element. - */ - indicatorElement?: any; + /** returns the scaleIndex to which the pointer belongs. + */ + scaleIndex?: number; - /** returns the index of the indicator. - */ - indicatorIndex?: number; + /** returns the context element + */ + context?: any; + + /** returns the pointer Index + */ + index?: number; - /** returns the name of the event - */ - type?: string; -} + /** returns the pointer element. + */ + element?: any; -export interface DrawLabelsEventArgs { + /** returns the value of the pointer. + */ + value?: number; + + /** returns the angle of the pointer. + */ + angle?: number; + + /** returns the pointer style + */ + style?: string; + + /** returns the startX and startY of the pointer. + */ + position?: any; + } - /** returns the object of the gauge. - */ - object?: any; + export interface RenderCompleteEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the context element + */ + context?: any; + + /** returns the entire scale element. + */ + scaleElement?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface Frame { + + /** Specify the URL of the frame background image for circular gauge + * @Default {null} + */ + backgroundImageUrl?: string; + + /** Specifies the frameType of circular gauge. See Frame + * @Default {FullCircle} + */ + frameType?: ej.datavisualization.CircularGauge.FrameType | string; + + /** Specifies the end angle for the half circular frame. + * @Default {360} + */ + halfCircleFrameEndAngle?: number; + + /** Specifies the start angle for the half circular frame. + * @Default {180} + */ + halfCircleFrameStartAngle?: number; + } + + export interface ScalesBorder { + + /** Specify border color for scales of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify border width of circular gauge + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesCustomLabelsPosition { + + /** Specify x-axis position of label + * @Default {0} + */ + x?: number; + + /** Specify y-axis position of labels. + * @Default {0} + */ + y?: number; + } + + export interface ScalesCustomLabelsFont { + + /** Specify font fontFamily for custom labels. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specify font Style for custom labels. + * @Default {Bold} + */ + fontStyle?: string; + + /** Specify font size for custom labels. + * @Default {12px} + */ + size?: string; + } + + export interface ScalesCustomLabel { + + /** Value of the custom labels. + */ + value?: string; + + /** Color of the custom labels. + */ + color?: string; + + /** Specify position of custom labels + * @Default {Object} + */ + position?: ScalesCustomLabelsPosition; + + /** Specify font for custom labels + * @Default {Object} + */ + font?: ScalesCustomLabelsFont; + } + + export interface ScalesIndicatorsPosition { + + /** Specify x-axis of position of circular gauge + * @Default {0} + */ + x?: number; + + /** Specify y-axis of position of circular gauge + * @Default {0} + */ + y?: number; + } + + export interface ScalesIndicatorsStateRange { + + /** Specify backgroundColor for indicator of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify borderColor for indicator of circular gauge + * @Default {null} + */ + borderColor?: string; + + /** Specify end value for each specified state of circular gauge + * @Default {0} + */ + endValue?: number; + + /** Specify value of the font as the indicator when the indicator style is set with the value "text" of circular gauge + * @Default {null} + */ + font?: any; + + /** Specify start value for each specified state of circular gauge + * @Default {0} + */ + startValue?: number; + + /** Specify value of the text as the indicator when the indicator style is set with the value "text" of circular gauge + */ + text?: string; + + /** Specify value of the textColor as the indicator when the indicator style is set with the value "text" of circular gauge + * @Default {null} + */ + textColor?: string; + } + + export interface ScalesIndicator { + + /** Specify indicator height of circular gauge + * @Default {15} + */ + height?: number; + + /** Specify imageUrl of circular gauge + * @Default {null} + */ + imageUrl?: string; + + /** Specify position of circular gauge + * @Default {Object} + */ + position?: ScalesIndicatorsPosition; + + /** Specify the various states of circular gauge + * @Default {Array} + */ + stateRanges?: ScalesIndicatorsStateRange[]; + + /** Specify indicator style of circular gauge. See IndicatorType + * @Default {Circle} + */ + type?: ej.datavisualization.CircularGauge.IndicatorTypes | string; + + /** Specify indicator width of circular gauge + * @Default {15} + */ + width?: number; + } + + export interface ScalesLabelsFont { + + /** Specify font fontFamily for labels of circular gauge + * @Default {Arial} + */ + fontFamily?: string; + + /** Specify font Style for labels of circular gauge + * @Default {Bold} + */ + fontStyle?: string; + + /** Specify font size for labels of circular gauge + * @Default {11px} + */ + size?: string; + } + + export interface ScalesLabel { + + /** Specify the angle for the labels of circular gauge + * @Default {0} + */ + angle?: number; + + /** Specify labels autoAngle value of circular gauge + * @Default {false} + */ + autoAngle?: boolean; + + /** Specify label color of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify distanceFromScale value for labels of circular gauge + * @Default {0} + */ + distanceFromScale?: number; + + /** Specify font for labels of circular gauge + * @Default {Object} + */ + font?: ScalesLabelsFont; + + /** Specify includeFirstValue of circular gauge + * @Default {true} + */ + includeFirstValue?: boolean; + + /** Specify opacity value for labels of circular gauge + * @Default {null} + */ + opacity?: number; + + /** Specify label placement of circular gauge. See LabelPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement | string; + + /** Specify label Style of circular gauge. See LabelType + * @Default {Major} + */ + type?: ej.datavisualization.CircularGauge.LabelType | string; + + /** Specify unitText of circular gauge + */ + unitText?: string; + + /** Specify unitTextPosition of circular gauge. See UnitTextPosition + * @Default {Back} + */ + unitTextPosition?: ej.datavisualization.CircularGauge.UnitTextPlacement | string; + } + + export interface ScalesPointerCap { + + /** Specify cap backgroundColor of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify cap borderColor of circular gauge + * @Default {null} + */ + borderColor?: string; + + /** Specify pointerCap borderWidth value of circular gauge + * @Default {3} + */ + borderWidth?: number; + + /** Specify cap interiorGradient value of circular gauge + * @Default {null} + */ + interiorGradient?: any; + + /** Specify pointerCap Radius value of circular gauge + * @Default {7} + */ + radius?: number; + } + + export interface ScalesPointersBorder { + + /** Specify border color for pointer of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify border width for pointers of circular gauge + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesPointersPointerValueTextFont { + + /** Specify pointer value text font family of circular gauge. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specify pointer value text font style of circular gauge. + * @Default {Bold} + */ + fontStyle?: string; + + /** Specify pointer value text size of circular gauge. + * @Default {11px} + */ + size?: string; + } + + export interface ScalesPointersPointerValueText { + + /** Specify pointer text angle of circular gauge. + * @Default {0} + */ + angle?: number; + + /** Specify pointer text auto angle of circular gauge. + * @Default {false} + */ + autoAngle?: boolean; + + /** Specify pointer value text color of circular gauge. + * @Default {#8c8c8c} + */ + color?: string; + + /** Specify pointer value text distance from pointer of circular gauge. + * @Default {20} + */ + distance?: number; + + /** Specify pointer value text font option of circular gauge. + * @Default {object} + */ + font?: ScalesPointersPointerValueTextFont; + + /** Specify pointer value text opacity of circular gauge. + * @Default {1} + */ + opacity?: number; + + /** enable pointer value text visibility of circular gauge. + * @Default {false} + */ + showValue?: boolean; + } + + export interface ScalesPointer { + + /** Specify backgroundColor for the pointer of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify backNeedleLength of circular gauge + * @Default {10} + */ + backNeedleLength?: number; + + /** Specify the border for pointers of circular gauge + * @Default {Object} + */ + border?: ScalesPointersBorder; + + /** Specify distanceFromScale value for pointers of circular gauge + * @Default {0} + */ + distanceFromScale?: number; + + /** Specify pointer gradients of circular gauge + * @Default {null} + */ + gradients?: any; + + /** Specify pointer image of circular gauge.It is applicable for both marker as well as needle type pointers. + * @Default {NULL} + */ + imageUrl?: string; + + /** Specify pointer length of circular gauge + * @Default {150} + */ + length?: number; + + /** Specify marker Style value of circular gauge. See MarkerType + * @Default {Rectangle} + */ + markerType?: ej.datavisualization.CircularGauge.MarkerType | string; + + /** Specify needle Style value of circular gauge. See NeedleType + * @Default {Triangle} + */ + needleType?: ej.datavisualization.CircularGauge.NeedleType | string; + + /** Specify opacity value for pointer of circular gauge + * @Default {1} + */ + opacity?: number; + + /** Specify radius value for pointer of circular gauge + * @Default {null} + */ + radius?: number; + + /** Specify pointer Placement value of circular gauge. See PointerPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement | string; + + /** Specify pointer value text of circular gauge. + * @Default {Object} + */ + pointerValueText?: ScalesPointersPointerValueText; + + /** Specify showBackNeedle value of circular gauge + * @Default {false} + */ + showBackNeedle?: boolean; + + /** Specify pointer type value of circular gauge. See PointerType + * @Default {Needle} + */ + type?: ej.datavisualization.CircularGauge.PointerType | string; + + /** Specify value of the pointer of circular gauge + * @Default {null} + */ + value?: number; + + /** Specify pointer width of circular gauge + * @Default {7} + */ + width?: number; + } + + export interface ScalesRangesBorder { + + /** Specify border color for ranges of circular gauge + * @Default {#32b3c6} + */ + color?: string; + + /** Specify border width for ranges of circular gauge + * @Default {1.5} + */ + width?: number; + } + + export interface ScalesRange { + + /** Specify backgroundColor for the ranges of circular gauge + * @Default {#32b3c6} + */ + backgroundColor?: string; + + /** Specify border for ranges of circular gauge + * @Default {Object} + */ + border?: ScalesRangesBorder; + + /** Specify distanceFromScale value for ranges of circular gauge + * @Default {25} + */ + distanceFromScale?: number; + + /** Specify endValue for ranges of circular gauge + * @Default {null} + */ + endValue?: number; + + /** Specify endWidth for ranges of circular gauge + * @Default {10} + */ + endWidth?: number; + + /** Specify range gradients of circular gauge + * @Default {null} + */ + gradients?: any; + + /** Specify opacity value for ranges of circular gauge + * @Default {null} + */ + opacity?: number; + + /** Specify placement of circular gauge. See RangePlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement | string; + + /** Specify size of the range value of circular gauge + * @Default {5} + */ + size?: number; + + /** Specify startValue for ranges of circular gauge + * @Default {null} + */ + startValue?: number; + + /** Specify startWidth of circular gauge + * @Default {[Array.number] scale.ranges.startWidth = 10} + */ + startWidth?: number; + } + + export interface ScalesSubGaugesPosition { + + /** Specify x-axis position for sub-gauge of circular gauge + * @Default {0} + */ + x?: number; + + /** Specify y-axis position for sub-gauge of circular gauge + * @Default {0} + */ + y?: number; + } + + export interface ScalesSubGauge { + + /** Specify subGauge Height of circular gauge + * @Default {150} + */ + height?: number; + + /** Specify position for sub-gauge of circular gauge + * @Default {Object} + */ + position?: ScalesSubGaugesPosition; + + /** Specify subGauge Width of circular gauge + * @Default {150} + */ + width?: number; + } + + export interface ScalesTick { + + /** Specify the angle for the ticks of circular gauge + * @Default {0} + */ + angle?: number; + + /** Specify tick color of circular gauge + * @Default {null} + */ + color?: string; + + /** Specify distanceFromScale value for ticks of circular gauge + * @Default {0} + */ + distanceFromScale?: number; + + /** Specify tick height of circular gauge + * @Default {16} + */ + height?: number; + + /** Specify tick placement of circular gauge. See TickPlacement + * @Default {Near} + */ + placement?: ej.datavisualization.CircularGauge.Placement | string; + + /** Specify tick Style of circular gauge. See TickType + * @Default {Major} + */ + type?: ej.datavisualization.CircularGauge.LabelType | string; + + /** Specify tick width of circular gauge + * @Default {3} + */ + width?: number; + } + + export interface Scale { + + /** Specify backgroundColor for the scale of circular gauge + * @Default {null} + */ + backgroundColor?: string; + + /** Specify border for scales of circular gauge + * @Default {Object} + */ + border?: ScalesBorder; + + /** Specify scale direction of circular gauge. See Directions + * @Default {Clockwise} + */ + direction?: ej.datavisualization.CircularGauge.Direction | string; + + /** Specify the custom labels for the scales. + * @Default {Array} + */ + customLabels?: ScalesCustomLabel[]; + + /** Specify representing state of circular gauge + * @Default {Array} + */ + indicators?: ScalesIndicator[]; + + /** Specify the text values displayed in a meaningful manner alongside the ticks of circular gauge + * @Default {Array} + */ + labels?: ScalesLabel[]; + + /** Specify majorIntervalValue of circular gauge + * @Default {10} + */ + majorIntervalValue?: number; + + /** Specify maximum scale value of circular gauge + * @Default {null} + */ + maximum?: number; + + /** Specify minimum scale value of circular gauge + * @Default {null} + */ + minimum?: number; + + /** Specify minorIntervalValue of circular gauge + * @Default {2} + */ + minorIntervalValue?: number; + + /** Specify opacity value of circular gauge + * @Default {1} + */ + opacity?: number; + + /** Specify pointer cap of circular gauge + * @Default {Object} + */ + pointerCap?: ScalesPointerCap; + + /** Specify pointers value of circular gauge + * @Default {Array} + */ + pointers?: ScalesPointer[]; + + /** Specify scale radius of circular gauge + * @Default {170} + */ + radius?: number; + + /** Specify ranges value of circular gauge + * @Default {Array} + */ + ranges?: ScalesRange[]; + + /** Specify shadowOffset value of circular gauge + * @Default {0} + */ + shadowOffset?: number; + + /** Specify showIndicators of circular gauge + * @Default {false} + */ + showIndicators?: boolean; + + /** Specify showLabels of circular gauge + * @Default {true} + */ + showLabels?: boolean; + + /** Specify showPointers of circular gauge + * @Default {true} + */ + showPointers?: boolean; + + /** Specify showRanges of circular gauge + * @Default {false} + */ + showRanges?: boolean; + + /** Specify showScaleBar of circular gauge + * @Default {false} + */ + showScaleBar?: boolean; + + /** Specify showTicks of circular gauge + * @Default {true} + */ + showTicks?: boolean; + + /** Specify scaleBar size of circular gauge + * @Default {6} + */ + size?: number; + + /** Specify startAngle of circular gauge + * @Default {115} + */ + startAngle?: number; + + /** Specify subGauge of circular gauge + * @Default {Array} + */ + subGauges?: ScalesSubGauge[]; + + /** Specify sweepAngle of circular gauge + * @Default {310} + */ + sweepAngle?: number; + + /** Specify ticks of circular gauge + * @Default {Array} + */ + ticks?: ScalesTick[]; + } + + export interface Tooltip { + + /** enable showCustomLabelTooltip of circular gauge + * @Default {false} + */ + showCustomLabelTooltip?: boolean; + + /** enable showLabelTooltip of circular gauge + * @Default {false} + */ + showLabelTooltip?: boolean; + + /** Specify tooltip templateID of circular gauge + * @Default {false} + */ + templateID?: string; + } + } + namespace CircularGauge { + enum FrameType { + //string + FullCircle, + //string + HalfCircle, + } + } + namespace CircularGauge { + enum gaugePosition { + //string + TopLeft, + //string + TopRight, + //string + TopCenter, + //string + MiddleLeft, + //string + MiddleRight, + //string + Center, + //string + BottomLeft, + //string + BottomRight, + //string + BottomCenter, + } + } + namespace CircularGauge { + enum CustomLabelPositionType { + //string + Top, + //string + Bottom, + //string + Right, + //string + Left, + } + } + namespace CircularGauge { + enum Direction { + //string + Clockwise, + //string + CounterClockwise, + } + } + namespace CircularGauge { + enum IndicatorTypes { + //string + Rectangle, + //string + Circle, + //string + Text, + //string + RoundedRectangle, + //string + Image, + } + } + namespace CircularGauge { + enum Placement { + //string + Near, + //string + Far, + } + } + namespace CircularGauge { + enum LabelType { + //string + Major, + //string + Minor, + } + } + namespace CircularGauge { + enum UnitTextPlacement { + //string + Back, + //string + Front, + } + } + namespace CircularGauge { + enum MarkerType { + //string + Rectangle, + //string + Circle, + //string + Triangle, + //string + Ellipse, + //string + Diamond, + //string + Pentagon, + //string + Slider, + //string + Pointer, + //string + Wedge, + //string + Trapezoid, + //string + RoundedRectangle, + //string + Image, + } + } + namespace CircularGauge { + enum NeedleType { + //string + Triangle, + //string + Rectangle, + //string + Arrow, + //string + Image, + //string + Trapezoid, + } + } + namespace CircularGauge { + enum PointerType { + //string + Needle, + //string + Marker, + } + } + + class DigitalGauge extends ej.Widget { + static fn: DigitalGauge; + constructor(element: JQuery | Element, options?: DigitalGauge.Model); + static Locale: any; + model: DigitalGauge.Model; + defaults: DigitalGauge.Model; + + /** To destroy the digital gauge + * @returns {void} + */ + destroy(): void; + + /** To export Digital Gauge as Image + * @param {string} fileName for the Image + * @param {string} fileType for the Image + * @returns {boolean} + */ + exportImage(fileName: string, fileType: string): boolean; + + /** Gets the location of an item that is displayed on the gauge. + * @param {number} Position value of an item that is displayed on the gauge. + * @returns {any} + */ + getPosition(itemIndex: number): any; + + /** ClientSideMethod getValue Gets the value of an item that is displayed on the gauge + * @param {number} Index value of an item that displayed on the gauge + * @returns {any} + */ + getValue(itemIndex: number): any; + + /** Refresh the digital gauge widget + * @returns {void} + */ + refresh(): void; + + /** ClientSideMethod Set Position Sets the location of an item to be displayed in the gauge + * @param {number} Index value of the digital gauge item + * @param {any} Location value of the digital gauge + * @returns {void} + */ + setPosition(itemIndex: number, value: any): void; + + /** ClientSideMethod SetValue Sets the value of an item to be displayed in the gauge. + * @param {number} Index value of the digital gauge item + * @param {string} Text value to be displayed in the gaugeS + * @returns {void} + */ + setValue(itemIndex: number, value: string): void; + } + export namespace DigitalGauge { + + export interface Model { + + /** Specifies the frame of the Digital gauge. + * @Default {{backgroundImageUrl: null, innerWidth: 6, outerWidth: 10}} + */ + frame?: Frame; + + /** Specifies the height of the DigitalGauge. + * @Default {150} + */ + height?: number; + + /** Specifies the resize option of the DigitalGauge. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the items for the DigitalGauge. + * @Default {null} + */ + items?: Item[]; + + /** Specifies the matrixSegmentData for the DigitalGauge. + */ + matrixSegmentData?: any; + + /** Specifies the segmentData for the DigitalGauge. + */ + segmentData?: any; + + /** Specifies the themes for the Digital gauge. See Themes + * @Default {flatlight} + */ + themes?: string; + + /** Specifies the value to the DigitalGauge. + * @Default {text} + */ + value?: string; + + /** Specifies the width for the Digital gauge. + * @Default {400} + */ + width?: number; + + /** Triggers when the gauge is initialized. */ + init?(e: InitEventArgs): void; + + /** Triggers when the gauge item rendering. */ + itemRendering?(e: ItemRenderingEventArgs): void; + + /** Triggers when the gauge is start to load. */ + load?(e: LoadEventArgs): void; + + /** Triggers when the gauge render is completed. */ + renderComplete?(e: RenderCompleteEventArgs): void; + } + + export interface InitEventArgs { + + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; + + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface ItemRenderingEventArgs { + + /** returns the object of the gauge. + */ + object?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; - /** returns the context element - */ - context?: any; + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; - /** returns the startX and startY of the labels - */ - position?: any; + /** returns the name of the event + */ + type?: string; + } - /** returns the gauge model - */ - model?: any; + export interface LoadEventArgs { - /** returns the options of the scale element. - */ - scaleElement?: any; + /** returns the object of the gauge. + */ + object?: any; + + /** returns the cancel option value + */ + cancel?: boolean; - /** returns the scaleIndex to which the label belongs. - */ - scaleIndex?: number; + /** returns the all the options of the items. + */ + items?: any; - /** returns the label style - */ - style?: string; + /** returns the context element + */ + context?: any; - /** returns the angle of the labels. - */ - angle?: number; + /** returns the gauge model + */ + model?: any; - /** returns the current label element. - */ - element?: any; + /** returns the name of the event + */ + type?: string; + } - /** returns the index of the label. - */ - index?: number; + export interface RenderCompleteEventArgs { - /** returns the value of the label. - */ - pointerValue?: number; + /** returns the object of the gauge. + */ + object?: any; - /** returns the name of the event - */ - type?: string; -} + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the all the options of the items. + */ + items?: any; + + /** returns the context element + */ + context?: any; + + /** returns the gauge model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface Frame { + + /** Specifies the URL of an image to be displayed as background of the Digital gauge. + * @Default {null} + */ + backgroundImageUrl?: string; + + /** Specifies the inner width for the frame, when the background image has been set for the Digital gauge.. + * @Default {6} + */ + innerWidth?: number; + + /** Specifies the outer width of the frame, when the background image has been set for the Digital gauge. + * @Default {10} + */ + outerWidth?: number; + } + + export interface ItemsCharacterSettings { + + /** Specifies the CharacterCount value for the DigitalGauge. + * @Default {4} + */ + count?: number; + + /** Specifies the opacity value for the DigitalGauge. + * @Default {1} + */ + opacity?: number; + + /** Specifies the value for spacing between the characters + * @Default {2} + */ + spacing?: number; + + /** Specifies the character type for the text to be displayed. + * @Default {ej.datavisualization.DigitalGauge.CharacterType.EightCrossEightDotMatrix} + */ + type?: ej.datavisualization.DigitalGauge.CharacterType | string; + } + + export interface ItemsFont { + + /** Set the font family value + * @Default {Arial} + */ + fontFamily?: string; + + /** Set the font style for the font + * @Default {italic} + */ + fontStyle?: ej.datavisualization.DigitalGauge.FontStyle | string; + + /** Set the font size value + * @Default {11px} + */ + size?: string; + } + + export interface ItemsPosition { + + /** Set the horizontal location for the text, where it needs to be placed within the gauge. + * @Default {0} + */ + x?: number; + + /** Set the vertical location for the text, where it needs to be placed within the gauge. + * @Default {0} + */ + y?: number; + } + + export interface ItemsSegmentSettings { + + /** Set the color for the text segments. + * @Default {null} + */ + color?: string; + + /** Set the gradient for the text segments. + * @Default {null} + */ + gradient?: any; + + /** Set the length for the text segments. + * @Default {2} + */ + length?: number; + + /** Set the opacity for the text segments. + * @Default {0} + */ + opacity?: number; + + /** Set the spacing for the text segments. + * @Default {1} + */ + spacing?: number; + + /** Set the width for the text segments. + * @Default {1} + */ + width?: number; + } + + export interface Item { + + /** Specifies the Character settings for the DigitalGauge. + * @Default {null} + */ + characterSettings?: ItemsCharacterSettings; + + /** Enable/Disable the custom font to be applied to the text in the gauge. + * @Default {false} + */ + enableCustomFont?: boolean; + + /** Set the specific font for the text, when the enableCustomFont is set to true + * @Default {null} + */ + font?: ItemsFont; + + /** Set the location for the text, where it needs to be placed within the gauge. + * @Default {null} + */ + position?: ItemsPosition; + + /** Set the segment settings for the digital gauge. + * @Default {null} + */ + segmentSettings?: ItemsSegmentSettings; + + /** Set the value for enabling/disabling the blurring effect for the shadows of the text + * @Default {0} + */ + shadowBlur?: number; + + /** Specifies the color of the text shadow. + * @Default {null} + */ + shadowColor?: string; + + /** Set the x offset value for the shadow of the text, indicating the location where it needs to be displayed. + * @Default {1} + */ + shadowOffsetX?: number; + + /** Set the y offset value for the shadow of the text, indicating the location where it needs to be displayed. + * @Default {1} + */ + shadowOffsetY?: number; + + /** Set the alignment of the text that is displayed within the gauge.See TextAlign + * @Default {left} + */ + textAlign?: string; + + /** Specifies the color of the text. + * @Default {null} + */ + textColor?: string; + + /** Specifies the text value. + * @Default {null} + */ + value?: string; + } + } + namespace DigitalGauge { + enum CharacterType { + //string + SevenSegment, + //string + FourteenSegment, + //string + SixteenSegment, + //string + EightCrossEightDotMatrix, + //string + EightCrossEightSquareMatrix, + } + } + namespace DigitalGauge { + enum FontStyle { + //string + Normal, + //string + Bold, + //string + Italic, + //string + Underline, + //string + Strikeout, + } + } + + class Chart extends ej.Widget { + static fn: Chart; + constructor(element: JQuery | Element, options?: Chart.Model); + static Locale: any; + model: Chart.Model; + defaults: Chart.Model; + + /** Animates the series and/or indicators in Chart. When parameter is not passed to this method, then all the series and indicators present in Chart are animated. + * @param {any} If an array collection is passed as parameter, series and indicator objects passed in array collection are animated.ExampleIf a series + * or indicator object is passed to this method, then the specific series or indicator is animated.Example, + * @returns {void} + */ + animate(options: any): void; + + /** Exports chart as an image or to an excel file. Chart can be exported as an image only when exportCanvasRendering option is set to true. + * @param {string} Type of the export operation to be performed. Following are the two export types that are supported now,1. 'image'2. 'excel'Example + * @param {string} URL of the service, where the chart will be exported to excel.Example, + * @param {boolean} When this parameter is true, all the chart objects initialized to the same document are exported to a single excel file. + * This is an optional parameter. By default, it is false.Example, + * @returns {any} + */ + export(type: string, URL: string, exportMultipleChart: boolean): any; + + /** Redraws the entire chart. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; + } + export namespace Chart { + + export interface Model { + + /** Options for adding and customizing annotations in Chart. + */ + annotations?: Annotation[]; + + /** URL of the image to be used as chart background. + * @Default {null} + */ + backGroundImageUrl?: string; + + /** Options for customizing the color, opacity and width of the chart border. + */ + border?: Border; + + /** This provides options for customizing export settings + */ + exportSettings?: ExportSettings; + + /** Options for configuring the border and background of the plot area. + */ + chartArea?: ChartArea; + + /** Options to split Chart into multiple plotting areas vertically. Each object in the collection represents a plotting area in Chart. + */ + columnDefinitions?: ColumnDefinition[]; + + /** Options for configuring the properties of all the series. You can also override the options for specific series by using series collection. + */ + commonSeriesOptions?: CommonSeriesOptions; + + /** Options for displaying and customizing the crosshair. + */ + crosshair?: Crosshair; + + /** Depth of the 3D Chart from front view of series to background wall. This property is applicable only for 3D view. + * @Default {100} + */ + depth?: number; + + /** Controls whether 3D view has to be enabled or not. 3D view is supported only for column, bar. Stacking column, stacking bar, pie and doughnut series types. + * @Default {false} + */ + enable3D?: boolean; + + /** Controls whether Chart has to be rendered as Canvas or SVG. Canvas rendering supports all functionalities in SVG rendering except 3D Charts. + * @Default {false} + */ + enableCanvasRendering?: boolean; + + /** Controls whether the series has to be rendered at initial loading of chart, this will be useful in scenarios where chart is placed at the bottom of the web page + * and we need to render the series only when the chart is visible while scrolling to the top. + * @Default {true} + */ + initSeriesRender?: boolean; + + /** Controls whether 3D view has to be rotated on dragging. This property is applicable only for 3D view. + * @Default {false} + */ + enableRotation?: boolean; + + /** Options to customize the technical indicators. + */ + indicators?: Indicator[]; + + /** Controls whether Chart has to be responsive while resizing. + * @Default {false} + */ + isResponsive?: boolean; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; + + /** Name of the culture based on which chart should be localized. Number and date time values are localized with respect to the culture name.String type properties like title text are + * not localized automatically. Provide localized text as value to string type properties. + * @Default {en-US} + */ + locale?: string; + + /** Palette is used to store the series fill color in array and apply the color to series collection in the order of series index. + * @Default {null} + */ + palette?: any[]; + + /** Options to customize the left, right, top and bottom margins of chart area. + */ + Margin?: any; + + /** Perspective angle of the 3D view. Chart appears closer when perspective angle is decreased, and distant when perspective angle is increased. + * This property is applicable only when 3D view is enabled + * @Default {90} + */ + perspectiveAngle?: number; + + /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. + * To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s xAxisName property to link both axis and series. + */ + primaryXAxis?: PrimaryXAxis; + + /** To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s xAxisName property to link both axis and series. + */ + axes?: Axis[]; + + /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. + * To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s yAxisName property to link both axis and series. + */ + primaryYAxis?: PrimaryYAxis; + + /** Rotation angle of the 3D view. This property is applicable only when 3D view is enabled. + * @Default {0} + */ + rotation?: number; -export interface DrawPointerCapEventArgs { + /** Options to split Chart into multiple plotting areas horizontally. Each object in the collection represents a plotting area in Chart. + */ + rowDefinitions?: RowDefinition[]; - /** returns the object of the gauge. - */ - object?: any; + /** Specifies the properties used for customizing the series. + */ + series?: Series[]; - /** returns the cancel option value - */ - cancel?: boolean; + /** Controls whether data points has to be displayed side by side or along the depth of the axis. + * @Default {false} + */ + sideBySideSeriesPlacement?: boolean; - /** returns the context element - */ - context?: any; + /** Options to customize the Chart size. + */ + size?: Size; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Specifies the theme for Chart. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Chart.Theme | string; - /** returns the startX and startY of the pointer cap. - */ - position?: any; + /** Slope angle of 3D Chart. This property is applicable only when 3D view is enabled. + * @Default {0} + */ + tilt?: number; - /** returns the gauge model - */ - model?: any; + /** Options for customizing the title and subtitle of Chart. + */ + title?: Title; - /** returns the pointer cap style - */ - style?: string; + /** Width of the wall used in 3D Chart. Wall is present only in Cartesian type 3D series and not in 3D pie or Doughnut series. This property is applicable only when 3D view is enabled. + * @Default {2} + */ + wallSize?: number; - /** returns the name of the event - */ - type?: string; -} + /** Options for enabling zooming feature of chart. + */ + zooming?: Zooming; -export interface DrawPointersEventArgs { + /** Fires after the series animation is completed. This event will be triggered for each series when animation is enabled. */ + animationComplete?(e: AnimationCompleteEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Fires before rendering the labels. This event is fired for each label in axis. You can use this event to add custom text to axis labels. */ + axesLabelRendering?(e: AxesLabelRenderingEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Fires during the initialization of axis labels. */ + axesLabelsInitialize?(e: AxesLabelsInitializeEventArgs): void; - /** returns the context element - */ - context?: any; + /** Fires during axes range calculation. This event is fired for each axis present in Chart. You can use this event to customize axis range as required. */ + axesRangeCalculate?(e: AxesRangeCalculateEventArgs): void; - /** returns the startX and startY of the pointer - */ - position?: any; + /** Fires before rendering the axis title. This event is triggered for each axis with title. You can use this event to add custom text to axis title. */ + axesTitleRendering?(e: AxesTitleRenderingEventArgs): void; - /** returns the gauge model - */ - model?: any; + /** Fires during the calculation of chart area bounds. You can use this event to customize the bounds of chart area. */ + chartAreaBoundsCalculate?(e: ChartAreaBoundsCalculateEventArgs): void; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Fires after chart is created. */ + create?(e: CreateEventArgs): void; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Fires when chart is destroyed completely. */ + destroy?(e: DestroyEventArgs): void; - /** returns the pointer style - */ - style?: string; + /** Fires before rendering the data labels. This event is triggered for each data label in the series. You can use this event to add custom text in data labels. */ + displayTextRendering?(e: DisplayTextRenderingEventArgs): void; - /** returns the angle of the pointer. - */ - angle?: number; + /** Fires during the calculation of legend bounds. You can use this event to customize the bounds of legend. */ + legendBoundsCalculate?(e: LegendBoundsCalculateEventArgs): void; - /** returns the current pointer element. - */ - element?: any; + /** Fires on clicking the legend item. */ + legendItemClick?(e: LegendItemClickEventArgs): void; - /** returns the index of the pointer. - */ - index?: number; + /** Fires when moving mouse over legend item. You can use this event for hit testing on legend items. */ + legendItemMouseMove?(e: LegendItemMouseMoveEventArgs): void; - /** returns the value of the pointer. - */ - value?: number; + /** Fires before rendering the legend item. This event is fired for each legend item in Chart. You can use this event to customize legend item shape or add custom text to legend item. */ + legendItemRendering?(e: LegendItemRenderingEventArgs): void; - /** returns the name of the event - */ - type?: string; -} + /** Fires before loading the chart. */ + load?(e: LoadEventArgs): void; -export interface DrawRangeEventArgs { + /** Fires after selected the data in chart. */ + rangeSelected?(e: RangeSelectedEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Fires on clicking a point in chart. You can use this event to handle clicks made on points. */ + pointRegionClick?(e: PointRegionClickEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - /** returns the context element - */ - context?: any; + /** Fires before rendering chart. */ + preRender?(e: PreRenderEventArgs): void; - /** returns the startX and startY of the range - */ - position?: any; + /** Fires after selecting a series. This event is triggered after selecting a series only if selection mode is series. */ + seriesRegionClick?(e: SeriesRegionClickEventArgs): void; - /** returns the gauge model - */ - model?: any; + /** Fires before rendering a series. This event is fired for each series in Chart. */ + seriesRendering?(e: SeriesRenderingEventArgs): void; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Fires before rendering the marker symbols. This event is triggered for each marker in Chart. */ + symbolRendering?(e: SymbolRenderingEventArgs): void; - /** returns the scaleIndex to which the range belongs. - */ - scaleIndex?: number; + /** Fires before rendering the Chart title. You can use this event to add custom text in Chart title. */ + titleRendering?(e: TitleRenderingEventArgs): void; - /** returns the range style - */ - style?: string; + /** Fires before rendering the tooltip. This event is fired when tooltip is enabled and mouse is hovered on a Chart point. You can use this event to customize tooltip before rendering. */ + toolTipInitialize?(e: ToolTipInitializeEventArgs): void; - /** returns the current range element. - */ - rangeElement?: any; + /** Fires before rendering crosshair tooltip in axis. This event is fired for each axis with crosshair label enabled. You can use this event to customize crosshair label before rendering */ + trackAxisToolTip?(e: TrackAxisToolTipEventArgs): void; - /** returns the index of the range. - */ - rangeIndex?: number; + /** Fires before rendering trackball tooltip. This event is fired for each series in Chart because trackball tooltip is displayed for all the series. + * You can use this event to customize the text displayed in trackball tooltip. + */ + trackToolTip?(e: TrackToolTipEventArgs): void; - /** returns the name of the event - */ - type?: string; -} + /** Fires, on clicking the axis label. */ + axisLabelClick?(e: AxisLabelClickEventArgs): void; -export interface DrawTicksEventArgs { + /** Fires on moving mouse over the axis label. */ + axisLabelMouseMove?(e: AxisLabelMouseMoveEventArgs): void; - /** returns the object of the gauge. - */ - object?: any; + /** Fires, on the clicking the chart. */ + chartClick?(e: ChartClickEventArgs): void; - /** returns the cancel option value - */ - cancel?: boolean; + /** Fires on moving mouse over the chart. */ + chartMouseMove?(e: ChartMouseMoveEventArgs): void; - /** returns the context element - */ - context?: any; + /** Fires, on double clicking the chart. */ + chartDoubleClick?(e: ChartDoubleClickEventArgs): void; - /** returns the startX and startY of the ticks - */ - position?: any; + /** Fires on clicking the annotation. */ + annotationClick?(e: AnnotationClickEventArgs): void; - /** returns the gauge model - */ - model?: any; + /** Fires, after the chart is resized. */ + afterResize?(e: AfterResizeEventArgs): void; - /** returns the options of the scale element. - */ - scaleElement?: any; + /** Fires, when chart size is changing. */ + beforeResize?(e: BeforeResizeEventArgs): void; - /** returns the scaleIndex to which the tick belongs. - */ - scaleIndex?: number; + /** Fires, when error bar is rendering. */ + errorBarRendering?(e: ErrorBarRenderingEventArgs): void; - /** returns the ticks style - */ - style?: string; + /** Trigger, after the scrollbar position is changed. */ + scrollChanged?(e: ScrollChangedEventArgs): void; - /** returns the angle of the tick. - */ - angle?: number; + /** Event triggered when scroll starts */ + scrollStart?(e: ScrollStartEventArgs): void; - /** returns the current tick element. - */ - element?: any; + /** Event triggered when scroll end */ + scrollEnd?(e: ScrollEndEventArgs): void; + } - /** returns the index of the tick. - */ - index?: number; + export interface AnimationCompleteEventArgs { - /** returns the label value of the tick. - */ - pointerValue?: number; + /** Instance of the series that completed has animation. + */ + series?: any; - /** returns the name of the event - */ - type?: string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface LoadEventArgs { + /** Instance of the chart model object + */ + model?: any; - /** returns the object of the gauge. - */ - object?: any; + /** Name of the event + */ + type?: string; + } - /** returns the cancel option value - */ - cancel?: boolean; + export interface AxesLabelRenderingEventArgs { - /** returns the gauge model - */ - Model?: any; + /** Instance of the corresponding axis. + */ + Axis?: any; - /** returns the entire scale element. - */ - scaleElement?: any; + /** Formatted text of the respective label. You can also add custom text to the label. + */ + LabelText?: string; - /** returns the context element - */ - context?: any; + /** Actual value of the label. + */ + LabelValue?: string; - /** returns the name of the event - */ - type?: string; -} + /** Set this option to true to cancel the event. + */ + cancel?: boolean; -export interface MouseClickEventArgs { + /** Instance of the chart model object. + */ + model?: any; - /** returns the object of the gauge. - */ - object?: any; + /** Name of the event + */ + type?: string; + } - /** returns the cancel option value - */ - cancel?: boolean; + export interface AxesLabelsInitializeEventArgs { - /** returns the gauge model - */ - model?: any; + /** Collection of axes in Chart + */ + dataAxes?: any; - /** returns the name of the event - */ - type?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the scale element. - */ - scaleElement?: any; + /** Instance of the chart model object. + */ + model?: any; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Name of the event + */ + type?: string; + } - /** returns the context element - */ - context?: any; + export interface AxesRangeCalculateEventArgs { - /** returns the pointer Index - */ - index?: number; + /** Difference between minimum and maximum value of axis range. + */ + delta?: number; - /** returns the pointer element. - */ - element?: any; + /** Interval value of axis range. Grid lines, tick lines and axis labels are drawn based on this interval value. + */ + interval?: number; - /** returns the value of the pointer. - */ - value?: number; + /** Maximum value of axis range. + */ + max?: number; - /** returns the angle of the pointer. - */ - angle?: number; + /** Minimum value of axis range. + */ + min?: number; - /** returns the pointer style - */ - style?: string; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the startX and startY of the pointer. - */ - position?: any; -} + /** Instance of the chart model object. + */ + model?: any; -export interface MouseClickMoveEventArgs { + /** Name of the event + */ + type?: string; + } - /** returns the object of the gauge. - */ - object?: any; + export interface AxesTitleRenderingEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** Instance of the axis whose title is being rendered + */ + axes?: any; - /** returns the gauge model - */ - model?: any; + /** X-coordinate of title location + */ + locationX?: number; - /** returns the name of the event - */ - type?: any; + /** Y-coordinate of title location + */ + locationY?: number; - /** returns the scale element. - */ - scaleElement?: any; + /** Axis title text. You can add custom text to the title. + */ + title?: string; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the context element - */ - context?: any; + /** Instance of the chart model object. + */ + model?: any; - /** returns the pointer Index - */ - index?: number; + /** Name of the event + */ + type?: string; + } - /** returns the pointer element. - */ - element?: any; + export interface ChartAreaBoundsCalculateEventArgs { - /** returns the value of the pointer. - */ - value?: number; + /** Height of the chart area. + */ + areaBoundsHeight?: number; - /** returns the angle of the pointer. - */ - angle?: number; + /** Width of the chart area. + */ + areaBoundsWidth?: number; - /** returns the pointer style - */ - style?: string; + /** X-coordinate of the chart area. + */ + areaBoundsX?: number; - /** returns the startX and startY of the pointer. - */ - position?: any; -} + /** Y-coordinate of the chart area. + */ + areaBoundsY?: number; -export interface MouseClickUpEventArgs { + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the object of the gauge. - */ - object?: any; + /** Instance of the chart model object. + */ + model?: any; - /** returns the cancel option value - */ - cancel?: boolean; + /** Name of the event + */ + type?: string; + } - /** returns the gauge model - */ - model?: any; + export interface CreateEventArgs { - /** returns the name of the event - */ - type?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the scale element. - */ - scaleElement?: any; + /** Instance of the chart model object. + */ + model?: any; - /** returns the scaleIndex to which the pointer belongs. - */ - scaleIndex?: number; + /** Name of the event + */ + type?: string; + } - /** returns the context element - */ - context?: any; + export interface DestroyEventArgs { - /** returns the pointer Index - */ - index?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the pointer element. - */ - element?: any; + /** Instance of the chart model object. + */ + model?: any; - /** returns the value of the pointer. - */ - value?: number; + /** Name of the event + */ + type?: string; + } - /** returns the angle of the pointer. - */ - angle?: number; + export interface DisplayTextRenderingEventArgs { - /** returns the pointer style - */ - style?: string; + /** Text displayed in data label. You can add custom text to the data label + */ + text?: string; - /** returns the startX and startY of the pointer. - */ - position?: any; -} + /** X-coordinate of data label location + */ + locationX?: number; -export interface RenderCompleteEventArgs { + /** Y-coordinate of data label location + */ + locationY?: number; - /** returns the object of the gauge. - */ - object?: any; + /** Index of the series in series Collection whose data label is being rendered + */ + seriesIndex?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** Index of the point in series whose data label is being rendered + */ + pointIndex?: number; - /** returns the context element - */ - context?: any; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** returns the entire scale element. - */ - scaleElement?: any; + /** Instance of the chart model object. + */ + model?: any; - /** returns the gauge model - */ - model?: any; + /** Name of the event + */ + type?: string; + } - /** returns the name of the event - */ - type?: string; -} + export interface LegendBoundsCalculateEventArgs { -export interface Frame { + /** Height of the legend. + */ + legendBoundsHeight?: number; - /** Specify the URL of the frame background image for circular gauge - * @Default {null} - */ - backgroundImageUrl?: string; + /** Width of the legend. + */ + legendBoundsWidth?: number; - /** Specifies the frameType of circular gauge. See Frame - * @Default {FullCircle} - */ - frameType?: ej.datavisualization.CircularGauge.FrameType|string; + /** Number of rows to display the legend items + */ + legendBoundsRows?: number; - /** Specifies the end angle for the half circular frame. - * @Default {360} - */ - halfCircleFrameEndAngle?: number; + /** Set this option to true to cancel the event. + */ + cancel?: boolean; - /** Specifies the start angle for the half circular frame. - * @Default {180} - */ - halfCircleFrameStartAngle?: number; -} + /** Instance of the chart model object. + */ + model?: any; -export interface ScalesBorder { + /** Name of the event + */ + type?: string; + } - /** Specify border color for scales of circular gauge - * @Default {null} - */ - color?: string; + export interface LegendItemClickEventArgs { - /** Specify border width of circular gauge - * @Default {1.5} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ScalesCustomLabelsPosition { + /** Instance of the chart model object + */ + model?: any; - /** Specify x-axis position of label - * @Default {0} - */ - x?: number; + /** Name of the event + */ + type?: string; - /** Specify y-axis position of labels. - * @Default {0} - */ - y?: number; -} + /** X-coordinate of legend item in pixel + */ + startX?: number; -export interface ScalesCustomLabelsFont { + /** Y-coordinate of legend item in pixel + */ + startY?: number; - /** Specify font fontFamily for custom labels. - * @Default {Arial} - */ - fontFamily?: string; + /** Instance of the legend item object that is about to be rendered + */ + LegendItem?: any; - /** Specify font Style for custom labels. - * @Default {Bold} - */ - fontStyle?: string; + /** Options to customize the legend item styles such as border, color, size, etc…, + */ + style?: any; - /** Specify font size for custom labels. - * @Default {12px} - */ - size?: string; -} + /** Instance that holds information about legend bounds and legend item bounds. + */ + Bounds?: any; -export interface ScalesCustomLabel { + /** Name of the legend item shape. Use this option to customize legend item shape before rendering + */ + symbolShape?: string; - /** Value of the custom labels. - */ - value?: string; + /** Instance of the series object corresponding to the legend item + */ + series?: any; + } - /** Color of the custom labels. - */ - color?: string; + export interface LegendItemMouseMoveEventArgs { - /** Specify position of custom labels - * @Default {Object} - */ - position?: ScalesCustomLabelsPosition; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Specify font for custom labels - * @Default {Object} - */ - font?: ScalesCustomLabelsFont; -} + /** Instance of the chart model object + */ + model?: any; -export interface ScalesIndicatorsPosition { + /** Name of the event + */ + type?: string; - /** Specify x-axis of position of circular gauge - * @Default {0} - */ - x?: number; + /** X-coordinate of legend item in pixel + */ + startX?: number; - /** Specify y-axis of position of circular gauge - * @Default {0} - */ - y?: number; -} + /** Y-coordinate of legend item in pixel + */ + startY?: number; -export interface ScalesIndicatorsStateRange { - - /** Specify backgroundColor for indicator of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify borderColor for indicator of circular gauge - * @Default {null} - */ - borderColor?: string; - - /** Specify end value for each specified state of circular gauge - * @Default {0} - */ - endValue?: number; - - /** Specify value of the font as the indicator when the indicator style is set with the value "text" of circular gauge - * @Default {null} - */ - font?: any; - - /** Specify start value for each specified state of circular gauge - * @Default {0} - */ - startValue?: number; - - /** Specify value of the text as the indicator when the indicator style is set with the value "text" of circular gauge - */ - text?: string; - - /** Specify value of the textColor as the indicator when the indicator style is set with the value "text" of circular gauge - * @Default {null} - */ - textColor?: string; -} + /** Instance of the legend item object that is about to be rendered + */ + LegendItem?: any; -export interface ScalesIndicator { - - /** Specify indicator height of circular gauge - * @Default {15} - */ - height?: number; - - /** Specify imageUrl of circular gauge - * @Default {null} - */ - imageUrl?: string; - - /** Specify position of circular gauge - * @Default {Object} - */ - position?: ScalesIndicatorsPosition; - - /** Specify the various states of circular gauge - * @Default {Array} - */ - stateRanges?: Array; - - /** Specify indicator style of circular gauge. See IndicatorType - * @Default {Circle} - */ - type?: ej.datavisualization.CircularGauge.IndicatorTypes|string; - - /** Specify indicator width of circular gauge - * @Default {15} - */ - width?: number; -} + /** Options to customize the legend item styles such as border, color, size, etc…, + */ + style?: any; -export interface ScalesLabelsFont { + /** Options to customize the legend item styles such as border, color, size, etc…, + */ + Bounds?: any; - /** Specify font fontFamily for labels of circular gauge - * @Default {Arial} - */ - fontFamily?: string; + /** Name of the legend item shape. Use this option to customize legend item shape before rendering + */ + symbolShape?: string; - /** Specify font Style for labels of circular gauge - * @Default {Bold} - */ - fontStyle?: string; + /** Instance of the series object corresponding to the legend item + */ + series?: any; + } - /** Specify font size for labels of circular gauge - * @Default {11px} - */ - size?: string; -} + export interface LegendItemRenderingEventArgs { -export interface ScalesLabel { - - /** Specify the angle for the labels of circular gauge - * @Default {0} - */ - angle?: number; - - /** Specify labels autoAngle value of circular gauge - * @Default {false} - */ - autoAngle?: boolean; - - /** Specify label color of circular gauge - * @Default {null} - */ - color?: string; - - /** Specify distanceFromScale value for labels of circular gauge - * @Default {0} - */ - distanceFromScale?: number; - - /** Specify font for labels of circular gauge - * @Default {Object} - */ - font?: ScalesLabelsFont; - - /** Specify includeFirstValue of circular gauge - * @Default {true} - */ - includeFirstValue?: boolean; - - /** Specify opacity value for labels of circular gauge - * @Default {null} - */ - opacity?: number; - - /** Specify label placement of circular gauge. See LabelPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement|string; - - /** Specify label Style of circular gauge. See LabelType - * @Default {Major} - */ - type?: ej.datavisualization.CircularGauge.LabelType|string; - - /** Specify unitText of circular gauge - */ - unitText?: string; - - /** Specify unitTextPosition of circular gauge. See UnitTextPosition - * @Default {Back} - */ - unitTextPosition?: ej.datavisualization.CircularGauge.UnitTextPlacement|string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ScalesPointerCap { + /** Instance of the chart model object + */ + model?: any; - /** Specify cap backgroundColor of circular gauge - * @Default {null} - */ - backgroundColor?: string; + /** Name of the event + */ + type?: string; - /** Specify cap borderColor of circular gauge - * @Default {null} - */ - borderColor?: string; + /** X-coordinate of legend item in pixel + */ + startX?: number; - /** Specify pointerCap borderWidth value of circular gauge - * @Default {3} - */ - borderWidth?: number; + /** Y-coordinate of legend item in pixel + */ + startY?: number; - /** Specify cap interiorGradient value of circular gauge - * @Default {null} - */ - interiorGradient?: any; + /** Instance of the legend item object that is about to be rendered + */ + legendItem?: any; - /** Specify pointerCap Radius value of circular gauge - * @Default {7} - */ - radius?: number; -} + /** Options to customize the legend item styles such as border, color, size, etc. + */ + style?: any; -export interface ScalesPointersBorder { + /** Name of the legend item shape. Use this option to customize legend item shape before rendering + */ + symbolShape?: string; + } - /** Specify border color for pointer of circular gauge - * @Default {null} - */ - color?: string; + export interface LoadEventArgs { - /** Specify border width for pointers of circular gauge - * @Default {1.5} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ScalesPointersPointerValueTextFont { + /** Instance of the chart model object + */ + model?: any; - /** Specify pointer value text font family of circular gauge. - * @Default {Arial} - */ - fontFamily?: string; + /** Name of the event + */ + type?: string; + } - /** Specify pointer value text font style of circular gauge. - * @Default {Bold} - */ - fontStyle?: string; + export interface RangeSelectedEventArgs { - /** Specify pointer value text size of circular gauge. - * @Default {11px} - */ - size?: string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ScalesPointersPointerValueText { - - /** Specify pointer text angle of circular gauge. - * @Default {0} - */ - angle?: number; - - /** Specify pointer text auto angle of circular gauge. - * @Default {false} - */ - autoAngle?: boolean; - - /** Specify pointer value text color of circular gauge. - * @Default {#8c8c8c} - */ - color?: string; - - /** Specify pointer value text distance from pointer of circular gauge. - * @Default {20} - */ - distance?: number; - - /** Specify pointer value text font option of circular gauge. - * @Default {object} - */ - font?: ScalesPointersPointerValueTextFont; - - /** Specify pointer value text opacity of circular gauge. - * @Default {1} - */ - opacity?: number; - - /** enable pointer value text visibility of circular gauge. - * @Default {false} - */ - showValue?: boolean; -} + /** Instance of the chart model object + */ + model?: any; -export interface ScalesPointer { - - /** Specify backgroundColor for the pointer of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify backNeedleLength of circular gauge - * @Default {10} - */ - backNeedleLength?: number; - - /** Specify the border for pointers of circular gauge - * @Default {Object} - */ - border?: ScalesPointersBorder; - - /** Specify distanceFromScale value for pointers of circular gauge - * @Default {0} - */ - distanceFromScale?: number; - - /** Specify pointer gradients of circular gauge - * @Default {null} - */ - gradients?: any; - - /** Specify pointer image of circular gauge.It is applicable for both marker as well as needle type pointers. - * @Default {NULL} - */ - imageUrl?: string; - - /** Specify pointer length of circular gauge - * @Default {150} - */ - length?: number; - - /** Specify marker Style value of circular gauge. See MarkerType - * @Default {Rectangle} - */ - markerType?: ej.datavisualization.CircularGauge.MarkerType|string; - - /** Specify needle Style value of circular gauge. See NeedleType - * @Default {Triangle} - */ - needleType?: ej.datavisualization.CircularGauge.NeedleType|string; - - /** Specify opacity value for pointer of circular gauge - * @Default {1} - */ - opacity?: number; - - /** Specify radius value for pointer of circular gauge - * @Default {null} - */ - radius?: number; - - /** Specify pointer Placement value of circular gauge. See PointerPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement|string; - - /** Specify pointer value text of circular gauge. - * @Default {Object} - */ - pointerValueText?: ScalesPointersPointerValueText; - - /** Specify showBackNeedle value of circular gauge - * @Default {false} - */ - showBackNeedle?: boolean; - - /** Specify pointer type value of circular gauge. See PointerType - * @Default {Needle} - */ - type?: ej.datavisualization.CircularGauge.PointerType|string; - - /** Specify value of the pointer of circular gauge - * @Default {null} - */ - value?: number; - - /** Specify pointer width of circular gauge - * @Default {7} - */ - width?: number; -} + /** Name of the event + */ + type?: string; -export interface ScalesRangesBorder { + /** Selected data collection of object + */ + data?: any; + } - /** Specify border color for ranges of circular gauge - * @Default {#32b3c6} - */ - color?: string; + export interface PointRegionClickEventArgs { - /** Specify border width for ranges of circular gauge - * @Default {1.5} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ScalesRange { - - /** Specify backgroundColor for the ranges of circular gauge - * @Default {#32b3c6} - */ - backgroundColor?: string; - - /** Specify text for the ranges of circular gauge - * @Default {null} - */ - legendText?: string; - - /** Specify border for ranges of circular gauge - * @Default {Object} - */ - border?: ScalesRangesBorder; - - /** Specify distanceFromScale value for ranges of circular gauge - * @Default {25} - */ - distanceFromScale?: number; - - /** Specify endValue for ranges of circular gauge - * @Default {null} - */ - endValue?: number; - - /** Specify endWidth for ranges of circular gauge - * @Default {10} - */ - endWidth?: number; - - /** Specify range gradients of circular gauge - * @Default {null} - */ - gradients?: any; - - /** Specify opacity value for ranges of circular gauge - * @Default {null} - */ - opacity?: number; - - /** Specify placement of circular gauge. See RangePlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement|string; - - /** Specify size of the range value of circular gauge - * @Default {5} - */ - size?: number; - - /** Specify startValue for ranges of circular gauge - * @Default {null} - */ - startValue?: number; - - /** Specify startWidth of circular gauge - * @Default {[Array.number] scale.ranges.startWidth = 10} - */ - startWidth?: number; -} + /** Instance of the chart model object + */ + model?: any; -export interface ScalesSubGaugesPosition { + /** Name of the event + */ + type?: string; - /** Specify x-axis position for sub-gauge of circular gauge - * @Default {0} - */ - x?: number; + /** X-coordinate of point in pixel + */ + locationX?: number; - /** Specify y-axis position for sub-gauge of circular gauge - * @Default {0} - */ - y?: number; -} + /** Y-coordinate of point in pixel + */ + locationY?: number; -export interface ScalesSubGauge { + /** Index of the point in series + */ + pointIndex?: number; - /** Specify subGauge Height of circular gauge - * @Default {150} - */ - height?: number; + /** Index of the series in series collection to which the point belongs + */ + seriesIndex?: number; + } - /** Specify position for sub-gauge of circular gauge - * @Default {Object} - */ - position?: ScalesSubGaugesPosition; + export interface PointRegionMouseMoveEventArgs { - /** Specify subGauge Width of circular gauge - * @Default {150} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ScalesTick { - - /** Specify the angle for the ticks of circular gauge - * @Default {0} - */ - angle?: number; - - /** Specify tick color of circular gauge - * @Default {null} - */ - color?: string; - - /** Specify distanceFromScale value for ticks of circular gauge - * @Default {0} - */ - distanceFromScale?: number; - - /** Specify tick height of circular gauge - * @Default {16} - */ - height?: number; - - /** Specify tick placement of circular gauge. See TickPlacement - * @Default {Near} - */ - placement?: ej.datavisualization.CircularGauge.Placement|string; - - /** Specify tick Style of circular gauge. See TickType - * @Default {Major} - */ - type?: ej.datavisualization.CircularGauge.LabelType|string; - - /** Specify tick width of circular gauge - * @Default {3} - */ - width?: number; -} + /** Instance of the chart model object + */ + model?: any; -export interface Scale { - - /** Specify backgroundColor for the scale of circular gauge - * @Default {null} - */ - backgroundColor?: string; - - /** Specify border for scales of circular gauge - * @Default {Object} - */ - border?: ScalesBorder; - - /** Specify scale direction of circular gauge. See Directions - * @Default {Clockwise} - */ - direction?: ej.datavisualization.CircularGauge.Direction|string; - - /** Specify the custom labels for the scales. - * @Default {Array} - */ - customLabels?: Array; - - /** Specify representing state of circular gauge - * @Default {Array} - */ - indicators?: Array; - - /** Specify the text values displayed in a meaningful manner alongside the ticks of circular gauge - * @Default {Array} - */ - labels?: Array; - - /** Specify majorIntervalValue of circular gauge - * @Default {10} - */ - majorIntervalValue?: number; - - /** Specify maximum scale value of circular gauge - * @Default {null} - */ - maximum?: number; - - /** Specify minimum scale value of circular gauge - * @Default {null} - */ - minimum?: number; - - /** Specify minorIntervalValue of circular gauge - * @Default {2} - */ - minorIntervalValue?: number; - - /** Specify opacity value of circular gauge - * @Default {1} - */ - opacity?: number; - - /** Specify pointer cap of circular gauge - * @Default {Object} - */ - pointerCap?: ScalesPointerCap; - - /** Specify pointers value of circular gauge - * @Default {Array} - */ - pointers?: Array; - - /** Specify scale radius of circular gauge - * @Default {170} - */ - radius?: number; - - /** Specify ranges value of circular gauge - * @Default {Array} - */ - ranges?: Array; - - /** Specify shadowOffset value of circular gauge - * @Default {0} - */ - shadowOffset?: number; - - /** Specify showIndicators of circular gauge - * @Default {false} - */ - showIndicators?: boolean; - - /** Specify showLabels of circular gauge - * @Default {true} - */ - showLabels?: boolean; - - /** Specify showPointers of circular gauge - * @Default {true} - */ - showPointers?: boolean; - - /** Specify showRanges of circular gauge - * @Default {false} - */ - showRanges?: boolean; - - /** Specify showScaleBar of circular gauge - * @Default {false} - */ - showScaleBar?: boolean; - - /** Specify showTicks of circular gauge - * @Default {true} - */ - showTicks?: boolean; - - /** Specify scaleBar size of circular gauge - * @Default {6} - */ - size?: number; - - /** Specify startAngle of circular gauge - * @Default {115} - */ - startAngle?: number; - - /** Specify subGauge of circular gauge - * @Default {Array} - */ - subGauges?: Array; - - /** Specify sweepAngle of circular gauge - * @Default {310} - */ - sweepAngle?: number; - - /** Specify ticks of circular gauge - * @Default {Array} - */ - ticks?: Array; -} + /** Name of the event + */ + type?: string; -export interface LegendBorder { + /** X-coordinate of point in pixel + */ + locationX?: number; - /** Border color of the legend. - * @Default {transparent} - */ - color?: string; + /** Y-coordinate of point in pixel + */ + locationY?: number; - /** Border width of the legend. - * @Default {1} - */ - width?: number; -} + /** Index of the point in series + */ + pointIndex?: number; -export interface LegendItemStyleBorder { + /** Index of the series in series collection to which the point belongs + */ + seriesIndex?: number; + } - /** Border color of the legend items. - * @Default {transparent} - */ - color?: string; + export interface PreRenderEventArgs { - /** Border width of the legend items. - * @Default {1} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface LegendItemStyle { + /** Instance of the chart model object + */ + model?: any; - /** Options for customizing the border of legend items. - */ - border?: LegendItemStyleBorder; + /** Name of the event + */ + type?: string; + } - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; + export interface SeriesRegionClickEventArgs { - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface LegendSize { + /** Instance of the chart model object + */ + model?: any; - /** Height of the legend. Height can be specified in pixel. - * @Default {null} - */ - height?: string; + /** Name of the event + */ + type?: string; - /** Width of the legend. Width can be specified in pixel. - * @Default {null} - */ - width?: string; -} + /** Instance of the selected series + */ + series?: any; -export interface LegendFont { + /** Index of the selected series + */ + seriesIndex?: number; + } - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; + export interface SeriesRenderingEventArgs { - /** Font style for legend item text. - * @Default {Normal} - */ - fontStyle?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Font weight for legend item text. - * @Default {Regular} - */ - fontWeight?: string; + /** Instance of the chart model object + */ + model?: any; - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; + /** Name of the event + */ + type?: string; - /** Font color of the text for legend items. - * @Default {null} - */ - color?: string; -} + /** Instance of the series which is about to get rendered + */ + series?: any; + } -export interface Legend { - - /** Toggles the visibility of the legend. - * @Default {false} - */ - visible?: boolean; - - /** Specifies the alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.CircularGauge.LegendAlignment|string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Fill color for the legend items. By using this property, it displays all legend item shapes in same color.Legend items representing invisible ranges is displayed in gray color. - * @Default {null} - */ - fill?: string; - - /** Gap or padding between the legend items. - * @Default {20} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Opacity of the legend. - * @Default {1} - */ - opacity?: number; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the circular gauge. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.CircularGauge.LegendPosition|string; - - /** Shape of the legend items. - * @Default {Circle. See Shape} - */ - shape?: ej.datavisualization.CircularGauge.LegendShape|string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; -} + export interface SymbolRenderingEventArgs { -export interface Tooltip { + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** enable showCustomLabelTooltip of circular gauge - * @Default {false} - */ - showCustomLabelTooltip?: boolean; + /** Instance of the chart model object + */ + model?: any; - /** enable showLabelTooltip of circular gauge - * @Default {false} - */ - showLabelTooltip?: boolean; + /** Name of the event + */ + type?: string; - /** Specify tooltip templateID of circular gauge - * @Default {false} - */ - templateID?: string; -} -} -module CircularGauge -{ -enum FrameType -{ -//string -FullCircle, -//string -HalfCircle, -} -} -module CircularGauge -{ -enum gaugePosition -{ -//string -TopLeft, -//string -TopRight, -//string -TopCenter, -//string -MiddleLeft, -//string -MiddleRight, -//string -Center, -//string -BottomLeft, -//string -BottomRight, -//string -BottomCenter, -} -} -module CircularGauge -{ -enum CustomLabelPositionType -{ -//string -Top, -//string -Bottom, -//string -Right, -//string -Left, -} -} -module CircularGauge -{ -enum Direction -{ -//string -Clockwise, -//string -CounterClockwise, -} -} -module CircularGauge -{ -enum IndicatorTypes -{ -//string -Rectangle, -//string -Circle, -//string -Text, -//string -RoundedRectangle, -//string -Image, -} -} -module CircularGauge -{ -enum Placement -{ -//string -Near, -//string -Far, -} -} -module CircularGauge -{ -enum LabelType -{ -//string -Major, -//string -Minor, -} -} -module CircularGauge -{ -enum UnitTextPlacement -{ -//string -Back, -//string -Front, -} -} -module CircularGauge -{ -enum MarkerType -{ -//string -Rectangle, -//string -Circle, -//string -Triangle, -//string -Ellipse, -//string -Diamond, -//string -Pentagon, -//string -Slider, -//string -Pointer, -//string -Wedge, -//string -Trapezoid, -//string -RoundedRectangle, -//string -Image, -} -} -module CircularGauge -{ -enum NeedleType -{ -//string -Triangle, -//string -Rectangle, -//string -Arrow, -//string -Image, -//string -Trapezoid, -} -} -module CircularGauge -{ -enum PointerType -{ -//string -Needle, -//string -Marker, -} -} -module CircularGauge -{ -enum LegendAlignment -{ -//string -Center, -//string -Near, -//string -Far, -} -} -module CircularGauge -{ -enum LegendPosition -{ -//string -Left, -//string -Right, -//string -Top, -//string -Bottom, -} -} -module CircularGauge -{ -enum LegendShape -{ -//string -Rectangle, -//string -Circle, -//string -Triangle, -//string -Ellipse, -//string -Diamond, -//string -Pentagon, -//string -Slider, -//string -Trapezoid, -//string -Line, -} -} + /** Instance that holds the location of marker symbol + */ + location?: any; -class DigitalGauge extends ej.Widget { - static fn: DigitalGauge; - constructor(element: JQuery, options?: DigitalGauge.Model); - constructor(element: Element, options?: DigitalGauge.Model); - static Locale: any; - model:DigitalGauge.Model; - defaults:DigitalGauge.Model; - - /** To destroy the digital gauge - * @returns {void} - */ - destroy(): void; - - /** To export Digital Gauge as Image - * @param {string} fileName for the Image - * @param {string} fileType for the Image - * @returns {boolean} - */ - exportImage(fileName: string, fileType: string): boolean; - - /** Gets the location of an item that is displayed on the gauge. - * @param {number} Position value of an item that is displayed on the gauge. - * @returns {any} - */ - getPosition(itemIndex: number): any; - - /** ClientSideMethod getValue Gets the value of an item that is displayed on the gauge - * @param {number} Index value of an item that displayed on the gauge - * @returns {any} - */ - getValue(itemIndex: number): any; - - /** Refresh the digital gauge widget - * @returns {void} - */ - refresh(): void; - - /** ClientSideMethod Set Position Sets the location of an item to be displayed in the gauge - * @param {number} Index value of the digital gauge item - * @param {any} Location value of the digital gauge - * @returns {void} - */ - setPosition(itemIndex: number, value: any): void; - - /** ClientSideMethod SetValue Sets the value of an item to be displayed in the gauge. - * @param {number} Index value of the digital gauge item - * @param {string} Text value to be displayed in the gaugeS - * @returns {void} - */ - setValue(itemIndex: number, value: string): void; -} -export module DigitalGauge{ + /** Options to customize the marker style such as color, border and size + */ + style?: any; + } -export interface Model { + export interface TitleRenderingEventArgs { - /** Specifies the frame of the Digital gauge. - * @Default {{backgroundImageUrl: null, innerWidth: 6, outerWidth: 10}} - */ - frame?: Frame; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Specifies the height of the DigitalGauge. - * @Default {150} - */ - height?: number; + /** Instance of the chart model object + */ + model?: any; - /** Specifies the resize option of the DigitalGauge. - * @Default {false} - */ - isResponsive?: boolean; + /** Name of the event + */ + type?: string; - /** Specifies the items for the DigitalGauge. - * @Default {null} - */ - items?: Array; + /** Option to customize the title location in pixels + */ + location?: any; - /** Specifies the matrixSegmentData for the DigitalGauge. - */ - matrixSegmentData?: any; + /** Read-only option to find the size of the title + */ + size?: any; - /** Specifies the segmentData for the DigitalGauge. - */ - segmentData?: any; + /** Use this option to add custom text in title + */ + title?: string; + } - /** Specifies the themes for the Digital gauge. See Themes - * @Default {flatlight} - */ - themes?: string; + export interface ToolTipInitializeEventArgs { - /** Specifies the value to the DigitalGauge. - * @Default {text} - */ - value?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Specifies the width for the Digital gauge. - * @Default {400} - */ - width?: number; + /** Instance of the chart model object + */ + model?: any; - /** Triggers when the gauge is initialized. */ - init? (e: InitEventArgs): void; + /** Name of the event + */ + type?: string; - /** Triggers when the gauge item rendering. */ - itemRendering? (e: ItemRenderingEventArgs): void; + /** Text to be displayed in tooltip. Set this option to customize the text displayed in tooltip + */ + currentText?: string; - /** Triggers when the gauge is start to load. */ - load? (e: LoadEventArgs): void; + /** Index of the point on which mouse is hovered + */ + pointIndex?: number; - /** Triggers when the gauge render is completed. */ - renderComplete? (e: RenderCompleteEventArgs): void; -} + /** Index of the series in series collection whose point is hovered by mouse + */ + seriesIndex?: number; + } -export interface InitEventArgs { + export interface TrackAxisToolTipEventArgs { - /** returns the object of the gauge. - */ - object?: any; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** returns the cancel option value - */ - cancel?: boolean; + /** Instance of the chart model object + */ + model?: any; - /** returns the all the options of the items. - */ - items?: any; + /** Name of the event + */ + type?: string; - /** returns the context element - */ - context?: any; + /** Location of the crosshair label in pixels + */ + location?: any; - /** returns the gauge model - */ - model?: any; + /** Index of the axis for which crosshair label is displayed + */ + axisIndex?: number; - /** returns the name of the event - */ - type?: string; -} + /** Instance of the chart axis object for which cross hair label is displayed + */ + crossAxis?: number; -export interface ItemRenderingEventArgs { + /** Text to be displayed in crosshair label. Use this option to add custom text in crosshair label + */ + currentTrackText?: string; + } - /** returns the object of the gauge. - */ - object?: any; + export interface TrackToolTipEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** returns the all the options of the items. - */ - items?: any; + /** Instance of the chart model object + */ + model?: any; - /** returns the context element - */ - context?: any; + /** Name of the event + */ + type?: string; - /** returns the gauge model - */ - model?: any; + /** Location of the trackball tooltip in pixels + */ + location?: any; - /** returns the name of the event - */ - type?: string; -} + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; -export interface LoadEventArgs { + /** Index of the series in series collection + */ + seriesIndex?: number; - /** returns the object of the gauge. - */ - object?: any; + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; - /** returns the cancel option value - */ - cancel?: boolean; + /** Instance of the series object for which trackball tooltip is displayed. + */ + series?: any; + } - /** returns the all the options of the items. - */ - items?: any; + export interface AxisLabelClickEventArgs { - /** returns the context element - */ - context?: any; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** returns the gauge model - */ - model?: any; + /** Instance of the chart model object + */ + model?: any; - /** returns the name of the event - */ - type?: string; -} + /** Name of the event + */ + type?: string; -export interface RenderCompleteEventArgs { + /** X and Y co-ordinate of the labels in chart area. + */ + location?: any; - /** returns the object of the gauge. - */ - object?: any; + /** Index of the label. + */ + index?: number; - /** returns the cancel option value - */ - cancel?: boolean; + /** Instance of the corresponding axis. + */ + axis?: any; - /** returns the all the options of the items. - */ - items?: any; + /** Label that is clicked. + */ + text?: string; + } - /** returns the context element - */ - context?: any; + export interface AxisLabelMouseMoveEventArgs { - /** returns the gauge model - */ - model?: any; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** returns the name of the event - */ - type?: string; -} + /** Instance of the chart model object + */ + model?: any; -export interface Frame { + /** Name of the event + */ + type?: string; - /** Specifies the URL of an image to be displayed as background of the Digital gauge. - * @Default {null} - */ - backgroundImageUrl?: string; + /** X and Y co-ordinate of the labels in chart area. + */ + location?: any; - /** Specifies the inner width for the frame, when the background image has been set for the Digital gauge.. - * @Default {6} - */ - innerWidth?: number; + /** Index of the label. + */ + index?: number; - /** Specifies the outer width of the frame, when the background image has been set for the Digital gauge. - * @Default {10} - */ - outerWidth?: number; -} + /** Instance of the corresponding axis. + */ + axis?: any; -export interface ItemsCharacterSettings { + /** Label that is hovered. + */ + text?: string; + } - /** Specifies the CharacterCount value for the DigitalGauge. - * @Default {4} - */ - count?: number; + export interface ChartClickEventArgs { - /** Specifies the opacity value for the DigitalGauge. - * @Default {1} - */ - opacity?: number; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Specifies the value for spacing between the characters - * @Default {2} - */ - spacing?: number; + /** Instance of the chart model object + */ + model?: any; - /** Specifies the character type for the text to be displayed. - * @Default {ej.datavisualization.DigitalGauge.CharacterType.EightCrossEightDotMatrix} - */ - type?: ej.datavisualization.DigitalGauge.CharacterType|string; -} + /** Name of the event + */ + type?: string; -export interface ItemsFont { + /** X and Y co-ordinate of the points with respect to chart area. + */ + location?: any; - /** Set the font family value - * @Default {Arial} - */ - fontFamily?: string; + /** ID of the target element. + */ + id?: string; - /** Set the font style for the font - * @Default {italic} - */ - fontStyle?: ej.datavisualization.DigitalGauge.FontStyle|string; + /** Width and height of the chart. + */ + size?: any; - /** Set the font size value - * @Default {11px} - */ - size?: string; -} + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; -export interface ItemsPosition { + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; + } - /** Set the horizontal location for the text, where it needs to be placed within the gauge. - * @Default {0} - */ - x?: number; + export interface ChartMouseMoveEventArgs { - /** Set the vertical location for the text, where it needs to be placed within the gauge. - * @Default {0} - */ - y?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface ItemsSegmentSettings { - - /** Set the color for the text segments. - * @Default {null} - */ - color?: string; - - /** Set the gradient for the text segments. - * @Default {null} - */ - gradient?: any; - - /** Set the length for the text segments. - * @Default {2} - */ - length?: number; - - /** Set the opacity for the text segments. - * @Default {0} - */ - opacity?: number; - - /** Set the spacing for the text segments. - * @Default {1} - */ - spacing?: number; - - /** Set the width for the text segments. - * @Default {1} - */ - width?: number; -} + /** Instance of the chart model object + */ + model?: any; -export interface Item { - - /** Specifies the Character settings for the DigitalGauge. - * @Default {null} - */ - characterSettings?: ItemsCharacterSettings; - - /** Enable/Disable the custom font to be applied to the text in the gauge. - * @Default {false} - */ - enableCustomFont?: boolean; - - /** Set the specific font for the text, when the enableCustomFont is set to true - * @Default {null} - */ - font?: ItemsFont; - - /** Set the location for the text, where it needs to be placed within the gauge. - * @Default {null} - */ - position?: ItemsPosition; - - /** Set the segment settings for the digital gauge. - * @Default {null} - */ - segmentSettings?: ItemsSegmentSettings; - - /** Set the value for enabling/disabling the blurring effect for the shadows of the text - * @Default {0} - */ - shadowBlur?: number; - - /** Specifies the color of the text shadow. - * @Default {null} - */ - shadowColor?: string; - - /** Set the x offset value for the shadow of the text, indicating the location where it needs to be displayed. - * @Default {1} - */ - shadowOffsetX?: number; - - /** Set the y offset value for the shadow of the text, indicating the location where it needs to be displayed. - * @Default {1} - */ - shadowOffsetY?: number; - - /** Set the alignment of the text that is displayed within the gauge.See TextAlign - * @Default {left} - */ - textAlign?: string; - - /** Specifies the color of the text. - * @Default {null} - */ - textColor?: string; - - /** Specifies the text value. - * @Default {null} - */ - value?: string; -} -} -module DigitalGauge -{ -enum CharacterType -{ -//string -SevenSegment, -//string -FourteenSegment, -//string -SixteenSegment, -//string -EightCrossEightDotMatrix, -//string -EightCrossEightSquareMatrix, -} -} -module DigitalGauge -{ -enum FontStyle -{ -//string -Normal, -//string -Bold, -//string -Italic, -//string -Underline, -//string -Strikeout, -} -} + /** Name of the event + */ + type?: string; -class Chart extends ej.Widget { - static fn: Chart; - constructor(element: JQuery, options?: Chart.Model); - constructor(element: Element, options?: Chart.Model); - static Locale: any; - model:Chart.Model; - defaults:Chart.Model; - - /** Animates the series and/or indicators in Chart. When parameter is not passed to this method, then all the series and indicators present in Chart are animated. - * @param {any} If an array collection is passed as parameter, series and indicator objects passed in array collection are animated.ExampleIf a series or indicator object is passed to this method, then the specific series or indicator is animated.Example, - * @returns {void} - */ - animate(options: any): void; - - /** Prints the rendered chart. - * @returns {void} - */ - print(): void; - - /** Exports chart as an image or to an excel file. Chart can be exported as an image only when exportCanvasRendering option is set to true. - * @param {string} Type of the export operation to be performed. Following are the two export types that are supported now,1. 'image'2. 'excel'Example - * @param {string} URL of the service, where the chart will be exported to excel.Example, - * @param {boolean} When this parameter is true, all the chart objects initialized to the same document are exported to a single excel file. This is an optional parameter. By default, it is false.Example, - * @returns {any} - */ - export(type: string, URL: string, exportMultipleChart: boolean): any; - - /** Redraws the entire chart. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; -} -export module Chart{ - -export interface Model { - - /** Options for adding and customizing annotations in Chart. - */ - annotations?: Array; - - /** URL of the image to be used as chart background. - * @Default {null} - */ - backGroundImageUrl?: string; - - /** Options for customizing the color, opacity and width of the chart border. - */ - border?: Border; - - /** This provides options for customizing export settings - */ - exportSettings?: ExportSettings; - - /** Options for configuring the border and background of the plot area. - */ - chartArea?: ChartArea; - - /** Options to split Chart into multiple plotting areas vertically. Each object in the collection represents a plotting area in Chart. - */ - columnDefinitions?: Array; - - /** Options for configuring the properties of all the series. You can also override the options for specific series by using series collection. - */ - commonSeriesOptions?: CommonSeriesOptions; - - /** Options for displaying and customizing the crosshair. - */ - crosshair?: Crosshair; - - /** Depth of the 3D Chart from front view of series to background wall. This property is applicable only for 3D view. - * @Default {100} - */ - depth?: number; - - /** Controls whether 3D view has to be enabled or not. 3D view is supported only for column, bar. Stacking column, stacking bar, pie and doughnut series types. - * @Default {false} - */ - enable3D?: boolean; - - /** Controls whether Chart has to be rendered as Canvas or SVG. Canvas rendering supports all functionalities in SVG rendering except 3D Charts. - * @Default {false} - */ - enableCanvasRendering?: boolean; - - /** Controls whether the series has to be rendered at initial loading of chart, this will be useful in scenarios where chart is placed at the bottom of the web page and we need to render the series only when the chart is visible while scrolling to the top. - * @Default {true} - */ - initSeriesRender?: boolean; - - /** Controls whether 3D view has to be rotated on dragging. This property is applicable only for 3D view. - * @Default {false} - */ - enableRotation?: boolean; - - /** Options to customize the technical indicators. - */ - indicators?: Array; - - /** Controls whether Chart has to be responsive while resizing. - * @Default {false} - */ - isResponsive?: boolean; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; + /** X and Y co-ordinate of the points with respect to chart area. + */ + location?: any; - /** Name of the culture based on which chart should be localized. Number and date time values are localized with respect to the culture name.String type properties like title text are not localized automatically. Provide localized text as value to string type properties. - * @Default {en-US} - */ - locale?: string; - - /** Palette is used to store the series fill color in array and apply the color to series collection in the order of series index. - * @Default {null} - */ - palette?: Array; + /** ID of the target element. + */ + id?: string; - /** Options to customize the left, right, top and bottom margins of chart area. - */ - Margin?: any; + /** Width and height of the chart. + */ + size?: any; - /** Perspective angle of the 3D view. Chart appears closer when perspective angle is decreased, and distant when perspective angle is increased.This property is applicable only when 3D view is enabled - * @Default {90} - */ - perspectiveAngle?: number; + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; - /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s xAxisName property to link both axis and series. - */ - primaryXAxis?: PrimaryXAxis; + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; + } - /** To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s xAxisName property to link both axis and series. - */ - axes?: Array; + export interface ChartDoubleClickEventArgs { - /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. Then, assign the name to the series’s yAxisName property to link both axis and series. - */ - primaryYAxis?: PrimaryYAxis; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Rotation angle of the 3D view. This property is applicable only when 3D view is enabled. - * @Default {0} - */ - rotation?: number; + /** Instance of the chart model object + */ + model?: any; - /** Options to split Chart into multiple plotting areas horizontally. Each object in the collection represents a plotting area in Chart. - */ - rowDefinitions?: Array; + /** Name of the event + */ + type?: string; - /** Specifies the properties used for customizing the series. - */ - series?: Array; + /** X and Y co-ordinate of the points with respect to chart area. + */ + location?: any; - /** Controls whether data points has to be displayed side by side or along the depth of the axis. - * @Default {false} - */ - sideBySideSeriesPlacement?: boolean; + /** ID of the target element. + */ + id?: string; - /** Options to customize the Chart size. - */ - size?: Size; + /** Width and height of the chart. + */ + size?: any; - /** Specifies the theme for Chart. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Chart.Theme|string; + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; - /** Slope angle of 3D Chart. This property is applicable only when 3D view is enabled. - * @Default {0} - */ - tilt?: number; + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; + } - /** Options for customizing the title and subtitle of Chart. - */ - title?: Title; + export interface AnnotationClickEventArgs { - /** Width of the wall used in 3D Chart. Wall is present only in Cartesian type 3D series and not in 3D pie or Doughnut series. This property is applicable only when 3D view is enabled. - * @Default {2} - */ - wallSize?: number; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Options for enabling zooming feature of chart. - */ - zooming?: Zooming; + /** Instance of the chart model object + */ + model?: any; - /** Fires after the series animation is completed. This event will be triggered for each series when animation is enabled. */ - animationComplete? (e: AnimationCompleteEventArgs): void; + /** Name of the event + */ + type?: string; - /** Fires before rendering the labels. This event is fired for each label in axis. You can use this event to add custom text to axis labels. */ - axesLabelRendering? (e: AxesLabelRenderingEventArgs): void; + /** X and Y co-ordinate of the annotation in chart area. + */ + location?: any; - /** Fires during the initialization of axis labels. */ - axesLabelsInitialize? (e: AxesLabelsInitializeEventArgs): void; + /** Information about the annotation, like Coordinate unit, Region, content + */ + contentData?: any; - /** Fires during axes range calculation. This event is fired for each axis present in Chart. You can use this event to customize axis range as required. */ - axesRangeCalculate? (e: AxesRangeCalculateEventArgs): void; + /** x-coordinate of the pointer, relative to the page + */ + pageX?: number; - /** Fires before rendering the axis title. This event is triggered for each axis with title. You can use this event to add custom text to axis title. */ - axesTitleRendering? (e: AxesTitleRenderingEventArgs): void; + /** y-coordinate of the pointer, relative to the page + */ + pageY?: number; + } - /** Fires during the calculation of chart area bounds. You can use this event to customize the bounds of chart area. */ - chartAreaBoundsCalculate? (e: ChartAreaBoundsCalculateEventArgs): void; + export interface AfterResizeEventArgs { - /** Fires after chart is created. */ - create? (e: CreateEventArgs): void; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Fires when chart is destroyed completely. */ - destroy? (e: DestroyEventArgs): void; + /** Instance of the chart model object + */ + model?: any; - /** Fires before rendering the data labels. This event is triggered for each data label in the series. You can use this event to add custom text in data labels. */ - displayTextRendering? (e: DisplayTextRenderingEventArgs): void; + /** Name of the event + */ + type?: string; - /** Fires during the calculation of legend bounds. You can use this event to customize the bounds of legend. */ - legendBoundsCalculate? (e: LegendBoundsCalculateEventArgs): void; + /** Chart width, after resize + */ + width?: number; - /** Fires on clicking the legend item. */ - legendItemClick? (e: LegendItemClickEventArgs): void; + /** Chart height, after resize + */ + height?: number; - /** Fires when moving mouse over legend item. You can use this event for hit testing on legend items. */ - legendItemMouseMove? (e: LegendItemMouseMoveEventArgs): void; + /** Chart width, before resize + */ + prevWidth?: number; - /** Fires before rendering the legend item. This event is fired for each legend item in Chart. You can use this event to customize legend item shape or add custom text to legend item. */ - legendItemRendering? (e: LegendItemRenderingEventArgs): void; + /** Chart height, before resize + */ + prevHeight?: number; - /** Fires before loading the chart. */ - load? (e: LoadEventArgs): void; + /** Chart width, when the chart was first rendered + */ + originalWidth?: number; - /** Fires after selected the data in chart. */ - rangeSelected? (e: RangeSelectedEventArgs): void; + /** Chart height, when the chart was first rendered + */ + originalHeight?: number; + } - /** Fires on clicking a point in chart. You can use this event to handle clicks made on points. */ - pointRegionClick? (e: PointRegionClickEventArgs): void; + export interface BeforeResizeEventArgs { - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Fires before rendering chart. */ - preRender? (e: PreRenderEventArgs): void; + /** Instance of the chart model object + */ + model?: any; - /** Fires after selecting a series. This event is triggered after selecting a series only if selection mode is series. */ - seriesRegionClick? (e: SeriesRegionClickEventArgs): void; + /** Name of the event + */ + type?: string; - /** Fires before rendering a series. This event is fired for each series in Chart. */ - seriesRendering? (e: SeriesRenderingEventArgs): void; + /** Chart width, before resize + */ + currentWidth?: number; - /** Fires before rendering the marker symbols. This event is triggered for each marker in Chart. */ - symbolRendering? (e: SymbolRenderingEventArgs): void; + /** Chart height, before resize + */ + currentHeight?: number; - /** Fires before rendering the Chart title. You can use this event to add custom text in Chart title. */ - titleRendering? (e: TitleRenderingEventArgs): void; + /** Chart width, after resize + */ + newWidth?: number; - /** Fires before rendering the tooltip. This event is fired when tooltip is enabled and mouse is hovered on a Chart point. You can use this event to customize tooltip before rendering. */ - toolTipInitialize? (e: ToolTipInitializeEventArgs): void; + /** Chart height, after resize + */ + newHeight?: number; + } - /** Fires before rendering crosshair tooltip in axis. This event is fired for each axis with crosshair label enabled. You can use this event to customize crosshair label before rendering */ - trackAxisToolTip? (e: TrackAxisToolTipEventArgs): void; + export interface ErrorBarRenderingEventArgs { - /** Fires before rendering trackball tooltip. This event is fired for each series in Chart because trackball tooltip is displayed for all the series. You can use this event to customize the text displayed in trackball tooltip. */ - trackToolTip? (e: TrackToolTipEventArgs): void; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Fires, on clicking the axis label. */ - axisLabelClick? (e: AxisLabelClickEventArgs): void; + /** Instance of the chart model object + */ + model?: any; - /** Fires on moving mouse over the axis label. */ - axisLabelMouseMove? (e: AxisLabelMouseMoveEventArgs): void; + /** Name of the event + */ + type?: string; - /** Fires, on the clicking the chart. */ - chartClick? (e: ChartClickEventArgs): void; + /** Error bar Object + */ + errorbar?: any; + } - /** Fires on moving mouse over the chart. */ - chartMouseMove? (e: ChartMouseMoveEventArgs): void; + export interface ScrollChangedEventArgs { - /** Fires, on double clicking the chart. */ - chartDoubleClick? (e: ChartDoubleClickEventArgs): void; + /** parameters from RangeNavigator + */ + data?: any; - /** Fires on clicking the annotation. */ - annotationClick? (e: AnnotationClickEventArgs): void; + /** returns the scrollbar position old start and end range value on changing scrollbar + */ + dataoldRange?: any; - /** Fires, after the chart is resized. */ - afterResize? (e: AfterResizeEventArgs): void; + /** returns the scrollbar position new start and end range value on changing scrollbar + */ + datanewRange?: any; - /** Fires, when chart size is changing. */ - beforeResize? (e: BeforeResizeEventArgs): void; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Fires, when error bar is rendering. */ - errorBarRendering? (e: ErrorBarRenderingEventArgs): void; + /** returns the RangeNavigator model + */ + model?: any; - /** Trigger, after the scrollbar position is changed. */ - scrollChanged? (e: ScrollChangedEventArgs): void; + /** returns the name of the event + */ + type?: string; + } - /** Event triggered when scroll starts */ - scrollStart? (e: ScrollStartEventArgs): void; + export interface ScrollStartEventArgs { - /** Event triggered when scroll end */ - scrollEnd? (e: ScrollEndEventArgs): void; -} + /** parameters from RangeNavigator + */ + data?: any; -export interface AnimationCompleteEventArgs { + /** returns the scrollbar position starting range value on changing scrollbar + */ + datastartRange?: string; - /** Instance of the series that completed has animation. - */ - series?: any; + /** returns the scrollbar position end range value on changing scrollbar + */ + dataendRange?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** returns the RangeNavigator model + */ + model?: any; - /** Name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } + + export interface ScrollEndEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position old start and end range value on change end of scrollbar + */ + dataoldRange?: any; + + /** returns the scrollbar position new start and end range value on change end of scrollbar + */ + datanewRange?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface AnnotationsMargin { + + /** Annotation is placed at the specified value above its original position. + * @Default {0} + */ + bottom?: number; + + /** Annotation is placed at the specified value from left side of its original position. + * @Default {0} + */ + left?: number; + + /** Annotation is placed at the specified value from the right side of its original position. + * @Default {0} + */ + right?: number; + + /** Annotation is placed at the specified value under its original position. + * @Default {0} + */ + top?: number; + } + + export interface Annotation { + + /** Angle to rotate the annotation in degrees. + * @Default {'0'} + */ + angle?: number; + + /** Text content or id of a HTML element to be displayed as annotation. + */ + content?: string; + + /** Specifies how annotations have to be placed in Chart. + * @Default {none. See CoordinateUnit} + */ + coordinateUnit?: ej.datavisualization.Chart.CoordinateUnit | string; + + /** Specifies the horizontal alignment of the annotation. + * @Default {middle. See HorizontalAlignment} + */ + horizontalAlignment?: ej.datavisualization.Chart.HorizontalAlignment | string; + + /** Options to customize the margin of annotation. + */ + margin?: AnnotationsMargin; + + /** Controls the opacity of the annotation. + * @Default {1} + */ + opacity?: number; + + /** Specifies whether annotation has to be placed with respect to chart or series. + * @Default {chart. See Region} + */ + region?: ej.datavisualization.Chart.Region | string; + + /** Specifies the vertical alignment of the annotation. + * @Default {middle. See VerticalAlignment} + */ + verticalAlignment?: ej.datavisualization.Chart.VerticalAlignment | string; + + /** Controls the visibility of the annotation. + * @Default {false} + */ + visible?: boolean; + + /** Represents the horizontal offset when coordinateUnit is pixels.when coordinateUnit is points, it represents the x-coordinate of axis bounded with xAxisName property + * or primary X axis when xAxisName is not provided.This property is not applicable when coordinateUnit is none. + * @Default {0} + */ + x?: number; + + /** Name of the horizontal axis to be used for positioning the annotation. This property is applicable only when coordinateUnit is points. + */ + xAxisName?: string; + + /** Represents the vertical offset when coordinateUnit is pixels.When coordinateUnit is points, it represents the y-coordinate of axis bounded with + * yAxisName property or primary Y axis when yAxisName is not provided.This property is not applicable when coordinateUnit is none. + * @Default {0} + */ + y?: number; + + /** Name of the vertical axis to be used for positioning the annotation.This property is applicable only when coordinateUnit is points. + */ + yAxisName?: string; + } + + export interface Border { + + /** Border color of the chart. + * @Default {null} + */ + color?: string; + + /** Opacity of the chart border. + * @Default {0.3} + */ + opacity?: number; + + /** Width of the Chart border. + * @Default {0} + */ + width?: number; + } + + export interface ExportSettings { + + /** Specifies the downloading filename + * @Default {chart} + */ + filename?: string; + + /** Specifies the name of the action URL + */ + action?: string; + + /** Specifies the angle for rotation + * @Default {0} + */ + angle?: number; + + /** Specifies the format of the file to export + * @Default {png} + */ + type?: ej.datavisualization.Chart.ExportingType | string; + + /** Specifies the orientation of the document + * @Default {portrait} + */ + orientation?: ej.datavisualization.Chart.ExportingOrientation | string; + + /** Specifies the mode of exporting + * @Default {client} + */ + mode?: ej.datavisualization.Chart.ExportingMode | string; + + /** Enable/ disable the multiple excel exporting + * @Default {false} + */ + multipleExport?: boolean; + } + + export interface ChartAreaBorder { + + /** Border color of the plot area. + * @Default {Gray} + */ + color?: string; + + /** Opacity of the plot area border. + * @Default {0.3} + */ + opacity?: number; + + /** Border width of the plot area. + * @Default {0.5} + */ + width?: number; + } + + export interface ChartArea { + + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; + + /** Options for customizing the border of the plot area. + */ + border?: ChartAreaBorder; + } + + export interface ColumnDefinition { + + /** Specifies the unit to measure the width of the column in plotting area. + * @Default {'pixel'. See Unit} + */ + unit?: ej.datavisualization.Chart.Unit | string; + + /** Width of the column in plotting area. Width is measured in either pixel or percentage based on the value of unit property. + * @Default {50} + */ + columnWidth?: number; + + /** Color of the line that indicates the starting point of the column in plotting area. + * @Default {transparent} + */ + lineColor?: string; + + /** Width of the line that indicates the starting point of the column in plot area. + * @Default {1} + */ + lineWidth?: number; + } + + export interface CommonSeriesOptionsBorder { + + /** Border color of all series. + * @Default {transparent} + */ + color?: string; + + /** DashArray for border of the series. + * @Default {null} + */ + dashArray?: string; + + /** Border width of all series. + * @Default {1} + */ + width?: number; + } + + export interface CommonSeriesOptionsFont { + + /** Font color of the text in all series. + * @Default {#707070} + */ + color?: string; + + /** Font Family for all the series. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for all the series. + * @Default {normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Specifies the font weight for all the series. + * @Default {regular} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity for text in all the series. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in all the series. + * @Default {12px} + */ + size?: string; + } + + export interface CommonSeriesOptionsMarkerBorder { + + /** Border color of the marker shape. + * @Default {white} + */ + color?: string; + + /** Border width of the marker shape. + * @Default {3} + */ + width?: number; + } + + export interface CommonSeriesOptionsMarkerDataLabelBorder { + + /** Border color of the data label. + * @Default {null} + */ + color?: string; + + /** Border width of the data label. + * @Default {0.1} + */ + width?: number; + } + + export interface CommonSeriesOptionsMarkerDataLabelConnectorLine { + + /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. + * @Default {line. See ConnectorLineType} + */ + type?: ej.datavisualization.Chart.ConnectorLineType | string; + + /** Width of the connector. + * @Default {0.5} + */ + width?: number; + + /** Color of the connector line. + * @Default {#565656} + */ + color?: string; + + /** Height of the connector line. + * @Default {null} + */ + height?: string; + } + + export interface CommonSeriesOptionsMarkerDataLabelFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; + } + + export interface CommonSeriesOptionsMarkerDataLabelMargin { + + /** Bottom margin of the text. + * @Default {5} + */ + bottom?: number; + + /** Left margin of the text. + * @Default {5} + */ + left?: number; + + /** Right margin of the text. + * @Default {5} + */ + right?: number; + + /** Top margin of the text. + * @Default {5} + */ + top?: number; + } + + export interface CommonSeriesOptionsMarkerDataLabel { + + /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. + * @Default {null} + */ + angle?: number; + + /** Maximum label width of the data label. + * @Default {null} + */ + maximumLabelWidth?: number; + + /** Enable the wrap option to the data label. + * @Default {false} + */ + enableWrap?: boolean; + + /** Options for customizing the border of the data label. + */ + border?: CommonSeriesOptionsMarkerDataLabelBorder; + + /** Options for displaying and customizing the line that connects point and data label. + */ + connectorLine?: CommonSeriesOptionsMarkerDataLabelConnectorLine; + + /** Background color of the data label. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the data label font. + */ + font?: CommonSeriesOptionsMarkerDataLabelFont; + + /** Horizontal alignment of the data label. + * @Default {center} + */ + horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment | string; + + /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. + */ + margin?: CommonSeriesOptionsMarkerDataLabelMargin; + + /** Opacity of the data label. + * @Default {1} + */ + opacity?: number; + + /** Background shape of the data label. + * @Default {none. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + */ + template?: string; + + /** Name of a field in data source, where datalabel text is displayed. + */ + textMappingName?: string; + + /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. + * @Default {top. See TextPosition} + */ + textPosition?: ej.datavisualization.Chart.TextPosition | string; + + /** Vertical alignment of the data label. + * @Default {center} + */ + verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment | string; + + /** Controls the visibility of the data labels. + * @Default {false} + */ + visible?: boolean; + } + + export interface CommonSeriesOptionsMarkerSize { + + /** Height of the marker. + * @Default {6} + */ + height?: number; + + /** Width of the marker. + * @Default {6} + */ + width?: number; + } + + export interface CommonSeriesOptionsMarker { + + /** Options for customizing the border of the marker shape. + */ + border?: CommonSeriesOptionsMarkerBorder; + + /** Options for displaying and customizing data labels. + */ + dataLabel?: CommonSeriesOptionsMarkerDataLabel; + + /** Color of the marker shape. + * @Default {null} + */ + fill?: string; + + /** The URL for the Image to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. + */ + imageUrl?: string; + + /** Opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of the marker. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Options for customizing the size of the marker shape. + */ + size?: CommonSeriesOptionsMarkerSize; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + } + + export interface CommonSeriesOptionsOutlierSettingsSize { + + /** Height of the outlier shape. + * @Default {6} + */ + height?: number; + + /** Width of the outlier shape. + * @Default {6} + */ + width?: number; + } + + export interface CommonSeriesOptionsOutlierSettings { + + /** Specifies the shape of the outlier. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Options for customizing the size of the outlier shape. + */ + size?: CommonSeriesOptionsOutlierSettingsSize; + } + + export interface CommonSeriesOptionsCornerRadius { + + /** Specifies the radius for the top left corner. + * @Default {0} + */ + topLeft?: number; + + /** Specifies the radius for the top right corner. + * @Default {0} + */ + topRight?: number; + + /** Specifies the radius for the bottom left corner. + * @Default {0} + */ + bottomLeft?: number; + + /** Specifies the radius for the bottom right corner. + * @Default {0} + */ + bottomRight?: number; + } + + export interface CommonSeriesOptionsTooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; + } + + export interface CommonSeriesOptionsTooltip { + + /** Options for customizing the border of the tooltip. + */ + border?: CommonSeriesOptionsTooltipBorder; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + rx?: number; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + ry?: number; + + /** Specifies the duration, the tooltip has to be displayed. + * @Default {500ms} + */ + duration?: string; + + /** Enables/disables the animation of the tooltip when moving from one point to other. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Background color of the tooltip. + * @Default {null} + */ + fill?: string; + + /** Format of the tooltip content. + * @Default {#point.x# : #point.y#} + */ + format?: string; + + /** Opacity of the tooltip. + * @Default {0.5} + */ + opacity?: number; + + /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + * @Default {null} + */ + template?: string; + + /** Controls the visibility of the tooltip. + * @Default {false} + */ + visible?: boolean; + } + + export interface CommonSeriesOptionsEmptyPointSettingsStyleBorder { + + /** Border color of the empty point. + */ + color?: string; + + /** Border width of the empty point. + * @Default {1} + */ + width?: number; + } + + export interface CommonSeriesOptionsEmptyPointSettingsStyle { + + /** Color of the empty point. + */ + color?: string; + + /** Options for customizing border of the empty point in the series. + */ + border?: CommonSeriesOptionsEmptyPointSettingsStyleBorder; + } + + export interface CommonSeriesOptionsEmptyPointSettings { + + /** Controls the visibility of the empty point. + * @Default {true} + */ + visible?: boolean; + + /** Specifies the mode of empty point. + * @Default {gap} + */ + displayMode?: ej.datavisualization.Chart.EmptyPointMode | string; + + /** Options for customizing the color and border of the empty point in the series. + */ + style?: CommonSeriesOptionsEmptyPointSettingsStyle; + } + + export interface CommonSeriesOptionsConnectorLine { + + /** Width of the connector line. + * @Default {1} + */ + width?: number; + + /** Color of the connector line. + * @Default {#565656} + */ + color?: string; + + /** DashArray of the connector line. + * @Default {null} + */ + dashArray?: string; + + /** DashArray of the connector line. + * @Default {1} + */ + opacity?: number; + } + + export interface CommonSeriesOptionsDragSettings { + + /** drag/drop the series + * @Default {false} + */ + enable?: boolean; + + /** Specifies the type of drag settings. + * @Default {xy} + */ + type?: string; + } + + export interface CommonSeriesOptionsErrorBarCap { + + /** Show/Hides the error bar cap. + * @Default {true} + */ + visible?: boolean; + + /** Width of the error bar cap. + * @Default {1} + */ + width?: number; + + /** Length of the error bar cap. + * @Default {1} + */ + length?: number; + + /** Color of the error bar cap. + * @Default {“#000000”} + */ + fill?: string; + } + + export interface CommonSeriesOptionsErrorBar { + + /** Show/hides the error bar + * @Default {visible} + */ + visibility?: boolean; + + /** Specifies the type of error bar. + * @Default {FixedValue} + */ + type?: ej.datavisualization.Chart.ErrorBarType | string; + + /** Specifies the mode of error bar. + * @Default {vertical} + */ + mode?: ej.datavisualization.Chart.ErrorBarMode | string; + + /** Specifies the direction of error bar. + * @Default {both} + */ + direction?: ej.datavisualization.Chart.ErrorBarDirection | string; + + /** Value of vertical error bar. + * @Default {3} + */ + verticalErrorValue?: number; + + /** Value of horizontal error bar. + * @Default {1} + */ + horizontalErrorValue?: number; + + /** Value of positive horizontal error bar. + * @Default {1} + */ + horizontalPositiveErrorValue?: number; + + /** Value of negative horizontal error bar. + * @Default {1} + */ + horizontalNegativeErrorValue?: number; + + /** Value of positive vertical error bar. + * @Default {5} + */ + verticalPositiveErrorValue?: number; + + /** Value of negative vertical error bar. + * @Default {5} + */ + verticalNegativeErrorValue?: number; + + /** Fill color of the error bar. + * @Default {#000000} + */ + fill?: string; + + /** Width of the error bar. + * @Default {1} + */ + width?: number; + + /** Options for customizing the error bar cap. + */ + cap?: CommonSeriesOptionsErrorBarCap; + } + + export interface CommonSeriesOptionsTrendline { + + /** Show/hides the trendline. + */ + visibility?: boolean; + + /** Specifies the type of the trendline for the series. + * @Default {linear. See TrendlinesType} + */ + type?: string; + + /** Name for the trendlines that is to be displayed in the legend text. + * @Default {trendline} + */ + name?: string; + + /** Fill color of the trendlines. + * @Default {#0000FF} + */ + fill?: string; + + /** Width of the trendlines. + * @Default {1} + */ + width?: number; + + /** Opacity of the trendline. + * @Default {1} + */ + opacity?: number; + + /** Pattern of dashes and gaps used to stroke the trendline. + */ + dashArray?: string; + + /** Future trends of the current series. + * @Default {0} + */ + forwardForecast?: number; + + /** Past trends of the current series. + * @Default {0} + */ + backwardForecast?: number; + + /** Specifies the order of the polynomial trendlines. + * @Default {0} + */ + polynomialOrder?: number; + + /** Specifies the moving average starting period value. + * @Default {2} + */ + period?: number; + } + + export interface CommonSeriesOptionsHighlightSettingsBorder { + + /** Border color of the series/point on highlight. + */ + color?: string; + + /** Border width of the series/point on highlight. + * @Default {2} + */ + width?: string; + } + + export interface CommonSeriesOptionsHighlightSettings { + + /** Enables/disables the ability to highlight the series or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the series or data point has to be highlighted. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode | string; + + /** Color of the series/point on highlight. + */ + color?: string; + + /** Opacity of the series/point on highlight. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of series on highlight. + */ + border?: CommonSeriesOptionsHighlightSettingsBorder; + + /** Specifies the pattern for the series/point on highlight. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on highlight. + */ + customPattern?: string; + } + + export interface CommonSeriesOptionsSelectionSettingsBorder { + + /** Border color of the series/point on selection. + */ + color?: string; + + /** Border width of the series/point on selection. + * @Default {2} + */ + width?: string; + } + + export interface CommonSeriesOptionsSelectionSettings { + + /** Enables/disables the ability to select a series/data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies the type of selection. + * @Default {single} + */ + type?: ej.datavisualization.Chart.SelectionType | string; + + /** Specifies whether the series or data point has to be selected. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode | string; + + /** Specifies the drawn rectangle type. + * @Default {xy} + */ + rangeType?: ej.datavisualization.Chart.RangeType | string; + + /** Color of the series/point on selection. + */ + color?: string; + + /** Opacity of the series/point on selection. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of the series on selection. + */ + border?: CommonSeriesOptionsSelectionSettingsBorder; + + /** Specifies the pattern for the series/point on selection. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on selection. + */ + customPattern?: string; + } + + export interface CommonSeriesOptions { + + /** Options to customize the border of all the series. + */ + border?: CommonSeriesOptionsBorder; + + /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet + * @Default {rectangle} + */ + columnFacet?: ej.datavisualization.Chart.ColumnFacet | string; + + /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. + * @Default {0.7} + */ + columnWidth?: number; + + /** Spacing between columns of different series. Value ranges from 0 to 1 + * @Default {0} + */ + columnSpacing?: number; + + /** Enables or disables the visibility of legend item. + * @Default {visible} + */ + visibleOnLegend?: string; + + /** Group of the stacking collection series. + */ + stackingGroup?: string; + + /** Pattern of dashes and gaps used to stroke all the line type series. + */ + dashArray?: string; + + /** Set the dataSource for all series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1 + * @Default {0.4} + */ + doughnutCoefficient?: number; + + /** Controls the size of the doughnut series. Value ranges from 0 to 1. + * @Default {0.8} + */ + doughnutSize?: number; + + /** Specifies the type of series to be drawn in radar or polar series. + * @Default {line. See DrawType} + */ + drawType?: ej.datavisualization.Chart.DrawType | string; + + /** Enable/disable the animation for all the series. + * @Default {true} + */ + enableAnimation?: boolean; + + /** To avoid overlapping of data labels smartly. + * @Default {true} + */ + enableSmartLabels?: boolean; + + /** Start angle of pie/doughnut series. + * @Default {null} + */ + endAngle?: number; + + /** Explodes the pie/doughnut slices on mouse move. + * @Default {false} + */ + explode?: boolean; + + /** Explodes all the slice of pie/doughnut on render. + * @Default {false} + */ + explodeAll?: boolean; + + /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. + * @Default {null} + */ + explodeIndex?: number; + + /** Specifies the distance of the slice from the center, when it is exploded. + * @Default {0.4} + */ + explodeOffset?: number; + + /** Fill color for all the series. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of all the series. + */ + font?: CommonSeriesOptionsFont; + + /** Sets the height of the funnel in funnel series. Values can be either pixel or percentage. + * @Default {32.7%} + */ + funnelHeight?: string; + + /** Sets the width of the funnel in funnel series. Values can be either pixel or percentage. + * @Default {11.6%} + */ + funnelWidth?: string; + + /** Gap between the slices in pyramid and funnel series. + * @Default {0} + */ + gapRatio?: number; + + /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. + * @Default {true} + */ + isClosed?: boolean; + + /** Specifies whether to stack the column series in polar/radar charts. + * @Default {false} + */ + isStacking?: boolean; + + /** Renders the chart vertically. This is applicable only for Cartesian type series. + * @Default {false} + */ + isTransposed?: boolean; + + /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. + * @Default {true} + */ + showMedian?: boolean; + + /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. + * @Default {inside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition | string; + + /** Quartile calculation has been performed in three different formulas to render the box and whisker series. + * @Default {exclusive} + */ + boxPlotMode?: ej.datavisualization.Chart.boxPlotMode | string; + + /** Specifies the line cap of the series. + * @Default {butt. See LineCap} + */ + lineCap?: ej.datavisualization.Chart.LineCap | string; + + /** Specifies the type of shape to be used where two lines meet. + * @Default {round. See LineJoin} + */ + lineJoin?: ej.datavisualization.Chart.LineJoin | string; + + /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. + */ + marker?: CommonSeriesOptionsMarker; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Options for customizing the outlier of the series. + */ + outlierSettings?: CommonSeriesOptionsOutlierSettings; + + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; + + /** Controls the size of pie series. Value ranges from 0 to 1. + * @Default {0.8} + */ + pieCoefficient?: number; + + /** Name of the property in the datasource that contains fill color for the series. + * @Default {null} + */ + pointColorMappingName?: string; + + /** Specifies the mode of the pyramid series. + * @Default {linear. See PyramidMode} + */ + pyramidMode?: ej.datavisualization.Chart.PyramidMode | string; + + /** Start angle from where the pie/doughnut series renders. By default it starts from 0. + * @Default {null} + */ + startAngle?: number; + + /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. + */ + cornerRadius?: CommonSeriesOptionsCornerRadius; + + /** Options for customizing the tooltip of chart. + */ + tooltip?: CommonSeriesOptionsTooltip; + + /** Specifies the type of the series to render in chart. + * @Default {column. See Type} + */ + type?: ej.datavisualization.Chart.Type | string; + + /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + xAxisName?: string; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + yAxisName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Name of the property in the datasource that contains high value for the series. + * @Default {null} + */ + high?: string; + + /** Name of the property in the datasource that contains low value for the series. + * @Default {null} + */ + low?: string; + + /** Name of the property in the datasource that contains open value for the series. + * @Default {null} + */ + open?: string; + + /** Name of the property in the datasource that contains close value for the series. + * @Default {null} + */ + close?: string; + + /** Z-order of the series. + * @Default {0} + */ + zOrder?: number; + + /** Name of the property in the datasource that contains the size value for the bubble series. + * @Default {null} + */ + size?: string; + + /** Options for customizing the empty point in the series. + */ + emptyPointSettings?: CommonSeriesOptionsEmptyPointSettings; + + /** Fill color for the positive column of the waterfall. + * @Default {null} + */ + positiveFill?: string; + + /** Options for customizing the waterfall connector line. + */ + connectorLine?: CommonSeriesOptionsConnectorLine; + + /** Options to customize the drag and drop in series. + */ + dragSettings?: CommonSeriesOptionsDragSettings; + + /** Options to customize the error bar in series. + */ + errorBar?: CommonSeriesOptionsErrorBar; + + /** Option to add the trendlines to chart. + */ + trendlines?: CommonSeriesOptionsTrendline[]; + + /** Options for customizing the appearance of the series or data point while highlighting. + */ + highlightSettings?: CommonSeriesOptionsHighlightSettings; + + /** Options for customizing the appearance of the series/data point on selection. + */ + selectionSettings?: CommonSeriesOptionsSelectionSettings; + } + + export interface CrosshairTrackballTooltipSettingsBorder { + + /** Border width of the trackball tooltip. + * @Default {null} + */ + width?: number; + + /** Border color of the trackball tooltip. + * @Default {null} + */ + color?: string; + } + + export interface CrosshairTrackballTooltipSettings { + + /** Options for customizing the trackball tooltip border. + */ + border?: CrosshairTrackballTooltipSettingsBorder; + + /** Background color of the trackball tooltip. + * @Default {null} + */ + fill?: string; + + /** Rounded corner x value of the trackball tooltip. + * @Default {3} + */ + rx?: number; + + /** Rounded corner y value of the trackball tooltip. + * @Default {3} + */ + ry?: number; + + /** Opacity value of the trackball tooltip. + * @Default {1} + */ + opacity?: number; + + /** Specifies the mode of the trackball tooltip. + * @Default {float. See CrosshairMode} + */ + mode?: ej.datavisualization.Chart.CrosshairMode | string; + } + + export interface CrosshairMarkerBorder { + + /** Border width of the marker. + * @Default {3} + */ + width?: number; + } + + export interface CrosshairMarkerSize { + + /** Height of the marker. + * @Default {10} + */ + height?: number; + + /** Width of the marker. + * @Default {10} + */ + width?: number; + } + + export interface CrosshairMarker { + + /** Options for customizing the border. + */ + border?: CrosshairMarkerBorder; + + /** Opacity of the marker. + * @Default {true} + */ + opacity?: boolean; + + /** Options for customizing the size of the marker. + */ + size?: CrosshairMarkerSize; + + /** Show/hides the marker. + * @Default {true} + */ + visible?: boolean; + } + + export interface CrosshairLine { + + /** Color of the crosshair line. + * @Default {transparent} + */ + color?: string; + + /** Width of the crosshair line. + * @Default {1} + */ + width?: number; + } + + export interface Crosshair { + + /** Options for customizing the trackball tooltip. + */ + trackballTooltipSettings?: CrosshairTrackballTooltipSettings; + + /** Options for customizing the marker in crosshair. + */ + marker?: CrosshairMarker; + + /** Options for customizing the crosshair line. + */ + line?: CrosshairLine; + + /** Specifies the type of the crosshair. It can be trackball or crosshair + * @Default {crosshair. See CrosshairType} + */ + type?: ej.datavisualization.Chart.CrosshairType | string; + + /** Show/hides the crosshair/trackball visibility. + * @Default {false} + */ + visible?: boolean; + } + + export interface IndicatorsHistogramBorder { + + /** Color of the histogram border in MACD indicator. + * @Default {#9999ff} + */ + color?: string; + + /** Controls the width of histogram border line in MACD indicator. + * @Default {1} + */ + width?: number; + } + + export interface IndicatorsHistogram { + + /** Options to customize the histogram border in MACD indicator. + */ + border?: IndicatorsHistogramBorder; + + /** Color of histogram columns in MACD indicator. + * @Default {#ccccff} + */ + fill?: string; + + /** Opacity of histogram columns in MACD indicator. + * @Default {1} + */ + opacity?: number; + } + + export interface IndicatorsLowerLine { + + /** Color of lower line. + * @Default {#008000} + */ + fill?: string; + + /** Width of the lower line. + * @Default {2} + */ + width?: number; + } + + export interface IndicatorsMacdLine { + + /** Color of MACD line. + * @Default {#ff9933} + */ + fill?: string; + + /** Width of the MACD line. + * @Default {2} + */ + width?: number; + } + + export interface IndicatorsPeriodLine { + + /** Color of period line in indicator. + * @Default {blue} + */ + fill?: string; + + /** Width of the period line in indicators. + * @Default {2} + */ + width?: number; + } + + export interface IndicatorsTooltipBorder { + + /** Border color of indicator tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of indicator tooltip. + * @Default {1} + */ + width?: number; + } + + export interface IndicatorsTooltip { + + /** Option to customize the border of indicator tooltip. + */ + border?: IndicatorsTooltipBorder; + + /** Specifies the animation duration of indicator tooltip. + * @Default {500ms} + */ + duration?: string; + + /** Enables/disables the tooltip animation. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Format of indicator tooltip. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + * @Default {#point.x# : #point.y#} + */ + format?: string; + + /** Background color of indicator tooltip. + * @Default {null} + */ + fill?: string; + + /** Opacity of indicator tooltip. + * @Default {0.95} + */ + opacity?: number; + + /** Controls the visibility of indicator tooltip. + * @Default {false} + */ + visible?: boolean; + } + + export interface IndicatorsUpperLine { + + /** Fill color of the upper line in indicators + * @Default {#ff9933} + */ + fill?: string; + + /** Width of the upper line in indicators. + * @Default {2} + */ + width?: number; + } + + export interface Indicator { + + /** The dPeriod value for stochastic indicator. + * @Default {3} + */ + dPeriod?: number; + + /** Enables/disables the animation. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Color of the technical indicator. + * @Default {#00008B} + */ + fill?: string; + + /** Options to customize the histogram in MACD indicator. + */ + histogram?: IndicatorsHistogram; + + /** Specifies the k period in stochastic indicator. + * @Default {3} + */ + kPeriod?: number; + + /** Specifies the long period in MACD indicator. + * @Default {26} + */ + longPeriod?: number; + + /** Options to customize the lower line in indicators. + */ + lowerLine?: IndicatorsLowerLine; + + /** Options to customize the MACD line. + */ + macdLine?: IndicatorsMacdLine; + + /** Specifies the type of the MACD indicator. + * @Default {line. See MACDType} + */ + macdType?: string; + + /** Specifies period value in indicator. + * @Default {14} + */ + period?: number; + + /** Options to customize the period line in indicators. + */ + periodLine?: IndicatorsPeriodLine; + + /** Name of the series for which indicator has to be drawn. + */ + seriesName?: string; + + /** Specifies the short period in MACD indicator. + * @Default {13} + */ + shortPeriod?: number; + + /** Specifies the standard deviation value for Bollinger band indicator. + * @Default {2} + */ + standardDeviations?: number; + + /** Options to customize the tooltip. + */ + tooltip?: IndicatorsTooltip; + + /** Trigger value of MACD indicator. + * @Default {9} + */ + trigger?: number; + + /** Specifies the visibility of indicator. + * @Default {visible} + */ + visibility?: string; + + /** Specifies the type of indicator that has to be rendered. + * @Default {sma. See IndicatorsType} + */ + type?: string; + + /** Options to customize the upper line in indicators + */ + upperLine?: IndicatorsUpperLine; + + /** Width of the indicator line. + * @Default {2} + */ + width?: number; + + /** Name of the horizontal axis used for indicator. Primary X axis is used when x axis name is not specified. + */ + xAxisName?: string; + + /** Name of the vertical axis used for indicator. Primary Y axis is used when y axis name is not specified + */ + yAxisName?: string; + } + + export interface LegendBorder { + + /** Border color of the legend. + * @Default {transparent} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; + } + + export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; + } + + export interface LegendItemStyleBorder { + + /** Border color of the legend items. + * @Default {transparent} + */ + color?: string; + + /** Border width of the legend items. + * @Default {1} + */ + width?: number; + } + + export interface LegendItemStyle { + + /** Options for customizing the border of legend items. + */ + border?: LegendItemStyleBorder; + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; + } + + export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; + } + + export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; + } + + export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; + } + + export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Chart.Alignment | string; + } + + export interface Legend { + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.Alignment | string; + + /** Background for the legend. Use this property to add a background image or background color for the legend. + */ + background?: string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Controls whether legend has to use scrollbar or not. When enabled, scroll bar appears depending upon size and position properties of legend. + * @Default {true} + */ + enableScrollbar?: boolean; + + /** Fill color for the legend items. By using this property, it displays all legend item shapes in same color.Legend items representing invisible series is displayed in gray color. + * @Default {null} + */ + fill?: string; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of chart legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Opacity of the legend. + * @Default {1} + */ + opacity?: number; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Chart.Position | string; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Shape of the legend items. Default shape for pie and doughnut series is circle and all other series uses rectangle. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; + + /** Specifies the action taken when the legend width is more than the textWidth. + * @Default {none. See textOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow | string; + + /** Text width for legend item. + * @Default {34} + */ + textWidth?: number; + + /** Controls the visibility of the legend. + * @Default {true} + */ + visible?: boolean; + } + + export interface PrimaryXAxisAlternateGridBandEven { + + /** Fill color for the even grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of the even grid band. + * @Default {1} + */ + opacity?: number; + } + + export interface PrimaryXAxisAlternateGridBandOdd { + + /** Fill color of the odd grid bands + * @Default {transparent} + */ + fill?: string; + + /** Opacity of odd grid band + * @Default {1} + */ + opacity?: number; + } + + export interface PrimaryXAxisAlternateGridBand { + + /** Options for customizing even grid band. + */ + even?: PrimaryXAxisAlternateGridBandEven; + + /** Options for customizing odd grid band. + */ + odd?: PrimaryXAxisAlternateGridBandOdd; + } + + export interface PrimaryXAxisAxisLine { + + /** Pattern of dashes and gaps to be applied to the axis line. + * @Default {null} + */ + dashArray?: string; + + /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. + * @Default {null} + */ + offset?: number; + + /** Show/hides the axis line. + * @Default {true} + */ + visible?: boolean; + + /** Default Value + */ + color?: string; + + /** Width of axis line. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryXAxisCrosshairLabel { + + /** Show/hides the crosshair label associated with this axis. + * @Default {false} + */ + visible?: boolean; + } + + export interface PrimaryXAxisFont { + + /** Font family of labels. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of labels. + * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the label. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the axis labels. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis labels. + * @Default {13px} + */ + size?: string; + } + + export interface PrimaryXAxisMajorGridLines { + + /** Pattern of dashes and gaps used to stroke the major grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Color of the major grid line. + * @Default {null} + */ + color?: string; + + /** Opacity of major grid lines. + * @Default {1} + */ + opacity?: number; + + /** Show/hides the major grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major grid lines. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryXAxisMajorTickLines { + + /** Length of the major tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major tick lines. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryXAxisMinorGridLines { + + /** Patterns of dashes and gaps used to stroke the minor grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Show/hides the minor grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minorGridLines. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryXAxisMinorTickLines { + + /** Length of the minor tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the minor tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minor tick line. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryXAxisRange { + + /** Minimum value of the axis range. + * @Default {null} + */ + min?: number; + + /** Maximum value of the axis range. + * @Default {null} + */ + max?: number; + + /** Interval of the axis range. + * @Default {null} + */ + interval?: number; + } + + export interface PrimaryXAxisMultiLevelLabelsFont { + + /** Font color of the multi level labels text. + * @Default {null} + */ + color?: string; + + /** Font family of the multi level labels text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the multi level labels text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the multi level label text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the multi level label text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the multi level label text. + * @Default {12px} + */ + size?: string; + } + + export interface PrimaryXAxisMultiLevelLabelsBorder { + + /** Border color of the multi level labels. + * @Default {null} + */ + color?: string; + + /** Border width of the multi level labels. + * @Default {1} + */ + width?: number; + + /** Border type of the multi level labels. + * @Default {rectangle. See Type} + */ + type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType | string; + } + + export interface PrimaryXAxisMultiLevelLabel { + + /** Visibility of the multi level labels. + * @Default {false} + */ + visible?: boolean; + + /** Text of the multi level labels. + */ + text?: string; + + /** Starting value of the multi level labels. + * @Default {null} + */ + start?: number; + + /** Ending value of the multi level labels. + * @Default {null} + */ + end?: number; + + /** Specifies the level of multi level labels. + * @Default {0} + */ + level?: number; + + /** Specifies the maximum width of the text in multi level labels. + * @Default {null} + */ + maximumTextWidth?: number; + + /** Specifies the alignment of the text in multi level labels. + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment | string; + + /** Specifies the handling of text over flow in multi level labels. + * @Default {center. See TextOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow | string; + + /** Options for customizing the font of the text. + */ + font?: PrimaryXAxisMultiLevelLabelsFont; + + /** Options for customizing the border of the series. + */ + border?: PrimaryXAxisMultiLevelLabelsBorder; + } + + export interface PrimaryXAxisStripLineFont { + + /** Font color of the strip line text. + * @Default {black} + */ + color?: string; + + /** Font family of the strip line text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the strip line text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the strip line text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the strip line text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the strip line text. + * @Default {12px} + */ + size?: string; + } + + export interface PrimaryXAxisStripLine { + + /** Border color of the strip line. + * @Default {gray} + */ + borderColor?: string; + + /** Background color of the strip line. + * @Default {gray} + */ + color?: string; + + /** End value of the strip line. + * @Default {null} + */ + end?: number; + + /** Options for customizing the font of the text. + */ + font?: PrimaryXAxisStripLineFont; + + /** Start value of the strip line. + * @Default {null} + */ + start?: number; + + /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. + * @Default {false} + */ + startFromAxis?: boolean; + + /** Specifies text to be displayed inside the strip line. + * @Default {stripLine} + */ + text?: string; + + /** Specifies the alignment of the text inside the strip line. + * @Default {middlecenter. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment | string; + + /** Show/hides the strip line. + * @Default {false} + */ + visible?: boolean; + + /** Width of the strip line. + * @Default {0} + */ + width?: number; + + /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered + * under the series and when it is “over”, it is rendered above the series. + * @Default {over. See ZIndex} + */ + zIndex?: ej.datavisualization.Chart.ZIndex | string; + } + + export interface PrimaryXAxisLabelBorder { + + /** Specifies the color of the label border. + * @Default {null} + */ + color?: string; + + /** Specifies the width of the label border. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryXAxisTitleFont { + + /** Font family of the title text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the title text. + * @Default {ej.datavisualization.Chart.FontStyle.Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the title text. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the axis title text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis title. + * @Default {16px} + */ + size?: string; + } + + export interface PrimaryXAxisTitle { + + /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the title font. + */ + font?: PrimaryXAxisTitleFont; + + /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. + * @Default {34} + */ + maximumTitleWidth?: number; + + /** Title for the axis. + */ + text?: string; + + /** Controls the visibility of axis title. + * @Default {true} + */ + visible?: boolean; + + /** offset value for axis title. + * @Default {0} + */ + offset?: number; + + /** Specifies the position of the axis title. + * @Default {outside. See Position} + */ + position?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the position of the axis title. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.TextAlignment | string; + } + + export interface PrimaryXAxis { + + /** Options for customizing horizontal axis alternate grid band. + */ + alternateGridBand?: PrimaryXAxisAlternateGridBand; + + /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. + * If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. + * @Default {null} + */ + crossesAt?: number; + + /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. + * If the provided name does not belongs to a valid axis, then primary X axis or primary Y axis will be used for crossing + * @Default {null} + */ + crossesInAxis?: string; + + /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. + * @Default {false} + */ + isIndexed?: boolean; + + /** Options for customizing the axis line. + */ + axisLine?: PrimaryXAxisAxisLine; + + /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. + * @Default {null} + */ + columnIndex?: number; + + /** Specifies the number of columns or plot areas an axis has to span horizontally. + * @Default {null} + */ + columnSpan?: number; + + /** Options to customize the crosshair label. + */ + crosshairLabel?: PrimaryXAxisCrosshairLabel; + + /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. + * @Default {null} + */ + desiredIntervals?: number; + + /** Specifies the placement of labels. + * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} + */ + labelPlacement?: ej.datavisualization.Chart.LabelPlacement | string; + + /** Specifies the position of labels at the edge of the axis. + * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} + */ + edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement | string; + + /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the font of the axis Labels. + */ + font?: PrimaryXAxisFont; + + /** Specifies the type of interval in date time axis. + * @Default {null. See IntervalType} + */ + intervalType?: ej.datavisualization.Chart.IntervalType | string; + + /** Specifies whether to inverse the axis. + * @Default {false} + */ + isInversed?: boolean; + + /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. + * @Default {null} + */ + labelFormat?: string; + + /** Specifies the action to take when the axis labels are overlapping with each other. + * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} + */ + labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction | string; + + /** Specifies the position of the axis labels. + * @Default {outside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the position of the axis labels. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.LabelAlignment | string; + + /** Angle in degrees to rotate the axis labels. + * @Default {null} + */ + labelRotation?: number; + + /** Logarithmic base value. This is applicable only for logarithmic axis. + * @Default {10} + */ + logBase?: number; + + /** Options for customizing major gird lines. + */ + majorGridLines?: PrimaryXAxisMajorGridLines; + + /** Options for customizing the major tick lines. + */ + majorTickLines?: PrimaryXAxisMajorTickLines; + + /** Maximum number of labels to be displayed in every 100 pixels. + * @Default {3} + */ + maximumLabels?: number; + + /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. + * @Default {34} + */ + maximumLabelWidth?: number; + + /** Options for customizing the minor grid lines. + */ + minorGridLines?: PrimaryXAxisMinorGridLines; + + /** Options for customizing the minor tick lines. + */ + minorTickLines?: PrimaryXAxisMinorTickLines; + + /** Specifies the number of minor ticks per interval. + * @Default {null} + */ + minorTicksPerInterval?: number; + + /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. + * @Default {null} + */ + name?: string; + + /** Specifies whether to render the axis at the opposite side of its default position. + * @Default {false} + */ + opposedPosition?: boolean; + + /** Specifies the padding for the plot area. + * @Default {10} + */ + plotOffset?: number; + + /** Options to customize the range of the axis. + */ + range?: PrimaryXAxisRange; + + /** Specifies the padding for the axis range. + * @Default {None. See RangePadding} + */ + rangePadding?: ej.datavisualization.Chart.RangePadding | string; + + /** Rounds the number to the given number of decimals. + * @Default {null} + */ + roundingPlaces?: number; + + /** Options for customizing the multi level labels. + * @Default {[ ]} + */ + multiLevelLabels?: PrimaryXAxisMultiLevelLabel[]; + + /** Options for customizing the strip lines. + * @Default {[ ]} + */ + stripLine?: PrimaryXAxisStripLine[]; + + /** Specifies the position of the axis tick lines. + * @Default {outside. See TickLinesPosition} + */ + tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition | string; + + /** Options for customizing the border of the labels. + */ + labelBorder?: PrimaryXAxisLabelBorder; + + /** Options for customizing the axis title. + */ + title?: PrimaryXAxisTitle; + + /** Specifies the type of data the axis is handling. + * @Default {null. See ValueType} + */ + valueType?: ej.datavisualization.Chart.ValueType | string; + + /** Show/hides the axis. + * @Default {true} + */ + visible?: boolean; + + /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. + * @Default {1} + */ + zoomFactor?: number; + + /** Position of the zoomed axis. Value ranges from 0 to 1. + * @Default {0} + */ + zoomPosition?: number; + } + + export interface AxesAlternateGridBandEven { + + /** Fill color for the even grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of the even grid band. + * @Default {1} + */ + opacity?: number; + } + + export interface AxesAlternateGridBandOdd { + + /** Fill color of the odd grid bands + * @Default {transparent} + */ + fill?: string; + + /** Opacity of odd grid band + * @Default {1} + */ + opacity?: number; + } + + export interface AxesAlternateGridBand { + + /** Options for customizing even grid band. + */ + even?: AxesAlternateGridBandEven; + + /** Options for customizing odd grid band. + */ + odd?: AxesAlternateGridBandOdd; + } + + export interface AxesAxisLine { + + /** Pattern of dashes and gaps to be applied to the axis line. + * @Default {null} + */ + dashArray?: string; + + /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. + * @Default {null} + */ + offset?: number; + + /** Show/hides the axis line. + * @Default {true} + */ + visible?: boolean; + + /** Color of axis line. + */ + color?: string; + + /** Width of axis line. + * @Default {1} + */ + width?: number; + } + + export interface AxesCrosshairLabel { + + /** Show/hides the crosshair label associated with this axis. + * @Default {false} + */ + visible?: boolean; + } + + export interface AxesFont { + + /** Font family of labels. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of labels. + * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the label. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the axis labels. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis labels. + * @Default {13px} + */ + size?: string; + } + + export interface AxesMajorGridLines { + + /** Pattern of dashes and gaps used to stroke the major grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Color of the major grid line. + * @Default {null} + */ + color?: string; + + /** Opacity of major grid lines. + * @Default {1} + */ + opacity?: number; + + /** Show/hides the major grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major grid lines. + * @Default {1} + */ + width?: number; + } + + export interface AxesMajorTickLines { + + /** Length of the major tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major tick lines. + * @Default {1} + */ + width?: number; + } + + export interface AxesMinorGridLines { + + /** Patterns of dashes and gaps used to stroke the minor grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Show/hides the minor grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minorGridLines. + * @Default {1} + */ + width?: number; + } + + export interface AxesMinorTickLines { + + /** Length of the minor tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the minor tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minor tick line. + * @Default {1} + */ + width?: number; + } + + export interface AxesRange { + + /** Minimum value of the axis range. + * @Default {null} + */ + min?: number; + + /** Maximum value of the axis range. + * @Default {null} + */ + max?: number; + + /** Interval of the axis range. + * @Default {null} + */ + interval?: number; + } + + export interface AxesMultiLevelLabelsFont { + + /** Font color of the multi level labels text. + * @Default {null} + */ + color?: string; + + /** Font family of the multi level labels text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the multi level labels text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the multi level label text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the multi level label text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the multi level label text. + * @Default {12px} + */ + size?: string; + } + + export interface AxesMultiLevelLabelsBorder { + + /** Border color of the multi level labels. + * @Default {null} + */ + color?: string; + + /** Border width of the multi level labels. + * @Default {1} + */ + width?: number; + + /** Border type of the multi level labels. + * @Default {rectangle. See Type} + */ + type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType | string; + } + + export interface AxesMultiLevelLabel { + + /** Visibility of the multi level labels. + * @Default {false} + */ + visible?: boolean; + + /** Text of the multi level labels. + */ + text?: string; + + /** Starting value of the multi level labels. + * @Default {null} + */ + start?: number; + + /** Ending value of the multi level labels. + * @Default {null} + */ + end?: number; + + /** Specifies the level of multi level labels. + * @Default {0} + */ + level?: number; + + /** Specifies the maximum width of the text in multi level labels. + * @Default {null} + */ + maximumTextWidth?: number; + + /** Specifies the alignment of the text in multi level labels. + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment | string; + + /** Specifies the handling of text over flow in multi level labels. + * @Default {center. See TextOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow | string; + + /** Options for customizing the font of the text. + */ + font?: AxesMultiLevelLabelsFont; + + /** Options for customizing the border of the series. + */ + border?: AxesMultiLevelLabelsBorder; + } + + export interface AxesStripLineFont { + + /** Font color of the strip line text. + * @Default {black} + */ + color?: string; + + /** Font family of the strip line text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the strip line text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the strip line text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the strip line text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the strip line text. + * @Default {12px} + */ + size?: string; + } + + export interface AxesStripLine { + + /** Border color of the strip line. + * @Default {gray} + */ + borderColor?: string; + + /** Background color of the strip line. + * @Default {gray} + */ + color?: string; + + /** End value of the strip line. + * @Default {null} + */ + end?: number; + + /** Options for customizing the font of the text. + */ + font?: AxesStripLineFont; + + /** Start value of the strip line. + * @Default {null} + */ + start?: number; + + /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. + * @Default {false} + */ + startFromAxis?: boolean; + + /** Specifies text to be displayed inside the strip line. + * @Default {stripLine} + */ + text?: string; + + /** Specifies the alignment of the text inside the strip line. + * @Default {middlecenter. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment | string; + + /** Show/hides the strip line. + * @Default {false} + */ + visible?: boolean; + + /** Width of the strip line. + * @Default {0} + */ + width?: number; + + /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered under the series and when it is “over”, + * it is rendered above the series. + * @Default {over. See ZIndex} + */ + zIndex?: ej.datavisualization.Chart.ZIndex | string; + } + + export interface AxesLabelBorder { + + /** Specifies the color of the label border. + * @Default {null} + */ + color?: string; + + /** Specifies the width of the label border. + * @Default {1} + */ + width?: number; + } + + export interface AxesTitleFont { + + /** Font family of the title text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the title text. + * @Default {ej.datavisualization.Chart.FontStyle.Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the title text. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the axis title text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis title. + * @Default {16px} + */ + size?: string; + } + + export interface AxesTitle { + + /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the title font. + */ + font?: AxesTitleFont; + + /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. + * @Default {34} + */ + maximumTitleWidth?: number; + + /** Title for the axis. + */ + text?: string; + + /** Controls the visibility of axis title. + * @Default {true} + */ + visible?: boolean; + + /** offset value for axis title. + * @Default {0} + */ + offset?: number; + + /** Specifies the position of the axis title. + * @Default {outside. See Position} + */ + position?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the position of the axis title. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.TextAlignment | string; + } + + export interface Axis { + + /** Options for customizing axis alternate grid band. + */ + alternateGridBand?: AxesAlternateGridBand; + + /** Specifies where axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, + * then axis will be placed at the opposite side. + * @Default {null} + */ + crossesAt?: number; + + /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. + * @Default {false} + */ + isIndexed?: boolean; + + /** Options for customizing the axis line. + */ + axisLine?: AxesAxisLine; + + /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. + * @Default {null} + */ + columnIndex?: number; + + /** Specifies the number of columns or plot areas an axis has to span horizontally. + * @Default {null} + */ + columnSpan?: number; + + /** Options to customize the crosshair label. + */ + crosshairLabel?: AxesCrosshairLabel; + + /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. + * @Default {null} + */ + desiredIntervals?: number; + + /** Specifies the placement of labels. + * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} + */ + labelPlacement?: ej.datavisualization.Chart.LabelPlacement | string; + + /** Specifies the position of labels at the edge of the axis. + * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} + */ + edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement | string; + + /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the font of the axis Labels. + */ + font?: AxesFont; + + /** Specifies the type of interval in date time axis. + * @Default {null. See IntervalType} + */ + intervalType?: ej.datavisualization.Chart.IntervalType | string; + + /** Specifies whether to inverse the axis. + * @Default {false} + */ + isInversed?: boolean; + + /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. + * @Default {null} + */ + labelFormat?: string; + + /** Specifies the action to take when the axis labels are overlapping with each other. + * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} + */ + labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction | string; + + /** Specifies the position of the axis labels. + * @Default {outside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the position of the axis labels. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.LabelAlignment | string; + + /** Angle in degrees to rotate the axis labels. + * @Default {null} + */ + labelRotation?: number; + + /** Logarithmic base value. This is applicable only for logarithmic axis. + * @Default {10} + */ + logBase?: number; + + /** Options for customizing major gird lines. + */ + majorGridLines?: AxesMajorGridLines; + + /** Options for customizing the major tick lines. + */ + majorTickLines?: AxesMajorTickLines; + + /** Maximum number of labels to be displayed in every 100 pixels. + * @Default {3} + */ + maximumLabels?: number; + + /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. + * @Default {34} + */ + maximumLabelWidth?: number; + + /** Options for customizing the minor grid lines. + */ + minorGridLines?: AxesMinorGridLines; + + /** Options for customizing the minor tick lines. + */ + minorTickLines?: AxesMinorTickLines; + + /** Specifies the number of minor ticks per interval. + * @Default {null} + */ + minorTicksPerInterval?: number; + + /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. + * @Default {null} + */ + name?: string; + + /** Specifies whether to render the axis at the opposite side of its default position. + * @Default {false} + */ + opposedPosition?: boolean; + + /** Specifies the padding for the plot area. + * @Default {10} + */ + plotOffset?: number; + + /** Options to customize the range of the axis. + */ + range?: AxesRange; + + /** Specifies the padding for the axis range. + * @Default {None. See RangePadding} + */ + rangePadding?: ej.datavisualization.Chart.RangePadding | string; + + /** Rounds the number to the given number of decimals. + * @Default {null} + */ + roundingPlaces?: number; + + /** Options for customizing the multi level labels. + * @Default {[ ]} + */ + multiLevelLabels?: AxesMultiLevelLabel[]; + + /** Options for customizing the strip lines. + * @Default {[ ]} + */ + stripLine?: AxesStripLine[]; + + /** Specifies the position of the axis tick lines. + * @Default {outside. See TickLinesPosition} + */ + tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition | string; + + /** Options for customizing the border of the labels. + */ + labelBorder?: AxesLabelBorder; + + /** Options for customizing the axis title. + */ + title?: AxesTitle; + + /** Specifies the type of data the axis is handling. + * @Default {null. See ValueType} + */ + valueType?: ej.datavisualization.Chart.ValueType | string; + + /** Show/hides the axis. + * @Default {true} + */ + visible?: boolean; + + /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. + * @Default {1} + */ + zoomFactor?: number; + + /** Position of the zoomed axis. Value ranges from 0 to 1. + * @Default {0} + */ + zoomPosition?: number; + } + + export interface PrimaryYAxisAlternateGridBandEven { + + /** Fill color for the even grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of the even grid band. + * @Default {1} + */ + opacity?: number; + } + + export interface PrimaryYAxisAlternateGridBandOdd { + + /** Fill color of the odd grid bands. + * @Default {transparent} + */ + fill?: string; + + /** Opacity of odd grid band. + * @Default {1} + */ + opacity?: number; + } + + export interface PrimaryYAxisAlternateGridBand { + + /** Options for customizing even grid band. + */ + even?: PrimaryYAxisAlternateGridBandEven; + + /** Options for customizing odd grid band. + */ + odd?: PrimaryYAxisAlternateGridBandOdd; + } + + export interface PrimaryYAxisAxisLine { + + /** Pattern of dashes and gaps to be applied to the axis line. + * @Default {null} + */ + dashArray?: string; + + /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. + * @Default {null} + */ + offset?: number; + + /** Show/hides the axis line. + * @Default {true} + */ + visible?: boolean; + + /** Color of axis line. + */ + color?: string; + + /** Width of axis line. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryYAxisCrosshairLabel { + + /** Show/hides the crosshair label associated with this axis. + * @Default {false} + */ + visible?: boolean; + } + + export interface PrimaryYAxisFont { + + /** Font family of labels. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of labels. + * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the label. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the axis labels. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis labels. + * @Default {13px} + */ + size?: string; + } + + export interface PrimaryYAxisMajorGridLines { + + /** Pattern of dashes and gaps used to stroke the major grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Color of the major grid lines. + * @Default {null} + */ + color?: string; + + /** Opacity of major grid lines. + * @Default {1} + */ + opacity?: number; + + /** Show/hides the major grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major grid lines. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryYAxisMajorTickLines { + + /** Length of the major tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the major tick lines. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryYAxisMinorGridLines { + + /** Patterns of dashes and gaps used to stroke the minor grid lines. + * @Default {null} + */ + dashArray?: string; + + /** Show/hides the minor grid lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minorGridLines. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryYAxisMinorTickLines { + + /** Length of the minor tick lines. + * @Default {5} + */ + size?: number; + + /** Show/hides the minor tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Width of the minor tick line + * @Default {1} + */ + width?: number; + } + + export interface PrimaryYAxisRange { + + /** Minimum value of the axis range. + * @Default {null} + */ + min?: number; + + /** Maximum value of the axis range. + * @Default {null} + */ + max?: number; + + /** Interval for the range. + * @Default {null} + */ + interval?: number; + } + + export interface PrimaryYAxisMultiLevelLabelsFont { + + /** Font color of the multi level labels text. + * @Default {null} + */ + color?: string; + + /** Font family of the multi level labels text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the multi level labels text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the multi level label text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the multi level label text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the multi level label text. + * @Default {12px} + */ + size?: string; + } + + export interface PrimaryYAxisMultiLevelLabelsBorder { + + /** Border color of the multi level labels. + * @Default {null} + */ + color?: string; + + /** Border width of the multi level labels. + * @Default {1} + */ + width?: number; + + /** Border type of the multi level labels. + * @Default {rectangle. See Type} + */ + type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType | string; + } + + export interface PrimaryYAxisMultiLevelLabel { + + /** Visibility of the multi level labels. + * @Default {false} + */ + visible?: boolean; + + /** Text of the multi level labels. + */ + text?: string; + + /** Starting value of the multi level labels. + * @Default {null} + */ + start?: number; + + /** Ending value of the multi level labels. + * @Default {null} + */ + end?: number; + + /** Specifies the level of multi level labels. + * @Default {0} + */ + level?: number; + + /** Specifies the maximum width of the text in multi level labels. + * @Default {null} + */ + maximumTextWidth?: number; + + /** Specifies the alignment of the text in multi level labels. + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment | string; + + /** Specifies the handling of text over flow in multi level labels. + * @Default {center. See TextOverflow} + */ + textOverflow?: ej.datavisualization.Chart.TextOverflow | string; + + /** Options for customizing the font of the text. + */ + font?: PrimaryYAxisMultiLevelLabelsFont; + + /** Options for customizing the border of the series. + */ + border?: PrimaryYAxisMultiLevelLabelsBorder; + } + + export interface PrimaryYAxisStripLineFont { + + /** Font color of the strip line text. + * @Default {black} + */ + color?: string; + + /** Font family of the strip line text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the strip line text. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the strip line text. + * @Default {regular} + */ + fontWeight?: string; + + /** Opacity of the strip line text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the strip line text. + * @Default {12px} + */ + size?: string; + } + + export interface PrimaryYAxisStripLine { + + /** Border color of the strip line. + * @Default {gray} + */ + borderColor?: string; + + /** Background color of the strip line. + * @Default {gray} + */ + color?: string; + + /** End value of the strip line. + * @Default {null} + */ + end?: number; + + /** Options for customizing the font of the text. + */ + font?: PrimaryYAxisStripLineFont; + + /** Start value of the strip line. + * @Default {null} + */ + start?: number; + + /** Indicates whether to render the strip line from the minimum/start value of the axis. This property won’t work when start property is set. + * @Default {false} + */ + startFromAxis?: boolean; + + /** Specifies text to be displayed inside the strip line. + * @Default {stripLine} + */ + text?: string; + + /** Specifies the alignment of the text inside the strip line. + * @Default {middlecenter. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.TextAlignment | string; + + /** Show/hides the strip line. + * @Default {false} + */ + visible?: boolean; + + /** Width of the strip line. + * @Default {0} + */ + width?: number; + + /** Specifies the order in which strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered below the series and + * when it is “over”, it is rendered above the series. + * @Default {over. See ZIndex} + */ + zIndex?: ej.datavisualization.Chart.ZIndex | string; + } + + export interface PrimaryYAxisLabelBorder { + + /** Specifies the color of the label border. + * @Default {null} + */ + color?: string; + + /** Specifies the width of the label border. + * @Default {1} + */ + width?: number; + } + + export interface PrimaryYAxisTitleFont { + + /** Font family of the title text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the title text. + * @Default {ej.datavisualization.Chart.FontStyle.Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the title text. + * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the axis title text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the axis title. + * @Default {16px} + */ + size?: string; + } + + export interface PrimaryYAxisTitle { + + /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. + * @Default {ej.datavisualization.Chart.enableTrim} + */ + enableTrim?: boolean; + + /** Options for customizing the title font. + */ + font?: PrimaryYAxisTitleFont; + + /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. + * @Default {ej.datavisualization.Chart.maximumTitleWidth.null} + */ + maximumTitleWidth?: number; + + /** Title for the axis. + */ + text?: string; + + /** Controls the visibility of axis title. + * @Default {true} + */ + visible?: boolean; + + /** offset value for axis title. + * @Default {0} + */ + offset?: number; + + /** Specifies the position of the axis title. + * @Default {outside. See Position} + */ + position?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the position of the axis title. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.TextAlignment | string; + } + + export interface PrimaryYAxis { + + /** Options for customizing vertical axis alternate grid band. + */ + alternateGridBand?: PrimaryYAxisAlternateGridBand; + + /** Options for customizing the axis line. + */ + axisLine?: PrimaryYAxisAxisLine; + + /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. + * If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. + * @Default {null} + */ + crossesAt?: number; + + /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. If the provided name does not belongs to a valid axis, + * then primary X axis or primary Y axis will be used for crossing + * @Default {null} + */ + crossesInAxis?: string; + + /** Options to customize the crosshair label. + */ + crosshairLabel?: PrimaryYAxisCrosshairLabel; + + /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. + * @Default {null} + */ + desiredIntervals?: number; + + /** Specifies the placement of labels. + * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} + */ + labelPlacement?: ej.datavisualization.Chart.LabelPlacement | string; + + /** Specifies the position of labels at the edge of the axis. + * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} + */ + edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement | string; + + /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. + * @Default {false} + */ + enableTrim?: boolean; + + /** Options for customizing the font of the axis Labels. + */ + font?: PrimaryYAxisFont; + + /** Specifies the type of interval in date time axis. + * @Default {null. See IntervalType} + */ + intervalType?: ej.datavisualization.Chart.IntervalType | string; + + /** Specifies whether to inverse the axis. + * @Default {false} + */ + isInversed?: boolean; + + /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. + * @Default {null} + */ + labelFormat?: string; + + /** Specifies the action to take when the axis labels are overlapping with each other. + * @Default {ej.datavisualization.Chart.LabelIntersectAction.None} + */ + labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction | string; + + /** Specifies the position of the axis labels. + * @Default {outside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the position of the axis labels. + * @Default {center. See Alignment} + */ + alignment?: ej.datavisualization.Chart.LabelAlignment | string; + + /** Logarithmic base value. This is applicable only for logarithmic axis. + * @Default {10} + */ + logBase?: number; + + /** Options for customizing major gird lines. + */ + majorGridLines?: PrimaryYAxisMajorGridLines; + + /** Options for customizing the major tick lines. + */ + majorTickLines?: PrimaryYAxisMajorTickLines; + + /** Maximum number of labels to be displayed in every 100 pixels. + * @Default {3} + */ + maximumLabels?: number; + + /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. + * @Default {ej.datavisualization.Chart.maximumLabelWidth type {int}} + */ + maximumLabelWidth?: number; + + /** Options for customizing the minor grid lines. + */ + minorGridLines?: PrimaryYAxisMinorGridLines; + + /** Options for customizing the minor tick lines. + */ + minorTickLines?: PrimaryYAxisMinorTickLines; + + /** Specifies the number of minor ticks per interval. + * @Default {null} + */ + minorTicksPerInterval?: number; + + /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. + * @Default {null} + */ + name?: string; + + /** Specifies whether to render the axis at the opposite side of its default position. + * @Default {false} + */ + opposedPosition?: boolean; + + /** Specifies the padding for the plot area. + * @Default {10} + */ + plotOffset?: number; + + /** Options to customize the range of the axis. + */ + range?: PrimaryYAxisRange; + + /** Specifies the padding for the axis range. + * @Default {ej.datavisualization.Chart.RangePadding.None. See RangePadding} + */ + rangePadding?: ej.datavisualization.Chart.RangePadding | string; + + /** Rounds the number to the given number of decimals. + * @Default {null} + */ + roundingPlaces?: number; + + /** Specifies the index of the row to which the axis is associated, when the chart area is divided into multiple plot areas by using rowDefinitions. + * @Default {null} + */ + rowIndex?: number; + + /** Specifies the number of row or plot areas an axis has to span vertically. + * @Default {null} + */ + rowSpan?: number; + + /** Options for customizing the multi level labels. + * @Default {[ ]} + */ + multiLevelLabels?: PrimaryYAxisMultiLevelLabel[]; + + /** Options for customizing the strip lines. + * @Default {[ ]} + */ + stripLine?: PrimaryYAxisStripLine[]; + + /** Specifies the position of the axis tick lines. + * @Default {outside. See TickLinesPosition} + */ + tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition | string; + + /** Options for customizing the border of the labels. + */ + labelBorder?: PrimaryYAxisLabelBorder; + + /** Options for customizing the axis title. + */ + title?: PrimaryYAxisTitle; + + /** Specifies the type of data the axis is handling. + * @Default {null. See ValueType} + */ + valueType?: ej.datavisualization.Chart.ValueType | string; + + /** Show/hides the axis. + * @Default {true} + */ + visible?: boolean; + + /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Values ranges from 0 to 1. + * @Default {1} + */ + zoomFactor?: number; + + /** Position of the zoomed axis. Value ranges from 0 to 1 + * @Default {0} + */ + zoomPosition?: number; + } + + export interface RowDefinition { + + /** Specifies the unit to measure the height of the row in plotting area. + * @Default {'pixel'. See Unit} + */ + unit?: ej.datavisualization.Chart.Unit | string; + + /** Height of the row in plotting area. Height is measured in either pixel or percentage based on the value of unit property. + * @Default {50} + */ + rowHeight?: number; + + /** Color of the line that indicates the starting point of the row in plotting area. + * @Default {transparent} + */ + lineColor?: string; + + /** Width of the line that indicates the starting point of the row in plot area. + * @Default {1} + */ + lineWidth?: number; + } + + export interface SeriesBorder { + + /** Border color of the series. + * @Default {transparent} + */ + color?: string; + + /** Border width of the series. + * @Default {1} + */ + width?: number; + + /** DashArray for border of the series. + * @Default {null} + */ + dashArray?: string; + } + + export interface SeriesFont { + + /** Font color of the series text. + * @Default {#707070} + */ + color?: string; + + /** Font Family of the series. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font Style of the series. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the series. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of series text. + * @Default {1} + */ + opacity?: number; + + /** Size of the series text. + * @Default {12px} + */ + size?: string; + } + + export interface SeriesMarkerBorder { + + /** Border color of the marker shape. + * @Default {white} + */ + color?: string; + + /** Border width of the marker shape. + * @Default {3} + */ + width?: number; + } + + export interface SeriesMarkerDataLabelBorder { + + /** Border color of the data label. + * @Default {null} + */ + color?: string; + + /** Border width of the data label. + * @Default {0.1} + */ + width?: number; + } + + export interface SeriesMarkerDataLabelConnectorLine { + + /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. + * @Default {line. See ConnectorLineType} + */ + type?: ej.datavisualization.Chart.Type | string; + + /** Width of the connector. + * @Default {0.5} + */ + width?: number; + + /** Color of the connector. + * @Default {null} + */ + color?: string; + + /** Height of the connector. + * @Default {null} + */ + height?: number; + } + + export interface SeriesMarkerDataLabelFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; + } + + export interface SeriesMarkerDataLabelMargin { + + /** Bottom margin of the text. + * @Default {5} + */ + bottom?: number; + + /** Left margin of the text. + * @Default {5} + */ + left?: number; + + /** Right margin of the text. + * @Default {5} + */ + right?: number; + + /** Top margin of the text. + * @Default {5} + */ + top?: number; + } + + export interface SeriesMarkerDataLabel { + + /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. + * @Default {null} + */ + angle?: number; + + /** Maximum label width of the data label. + * @Default {null} + */ + maximumLabelWidth?: number; + + /** Enable the wrap option to the data label. + * @Default {false} + */ + enableWrap?: boolean; + + /** Options for customizing the border of the data label. + */ + border?: SeriesMarkerDataLabelBorder; + + /** Options for displaying and customizing the line that connects point and data label. + */ + connectorLine?: SeriesMarkerDataLabelConnectorLine; + + /** Background color of the data label. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the data label font. + */ + font?: SeriesMarkerDataLabelFont; + + /** Horizontal alignment of the data label. + * @Default {center} + */ + horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment | string; + + /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. + */ + margin?: SeriesMarkerDataLabelMargin; + + /** Opacity of the data label. + * @Default {1} + */ + opacity?: number; + + /** Background shape of the data label. + * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Name of a field in data source where datalabel text is displayed. + */ + textMappingName?: string; + + /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. + * @Default {top. See TextPosition} + */ + textPosition?: ej.datavisualization.Chart.TextPosition | string; + + /** Vertical alignment of the data label. + * @Default {'center'} + */ + verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment | string; + + /** Controls the visibility of the data labels. + * @Default {false} + */ + visible?: boolean; + + /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + */ + template?: string; + + /** Moves the label vertically by some offset. + * @Default {0} + */ + offset?: number; + } + + export interface SeriesMarkerSize { + + /** Height of the marker. + * @Default {6} + */ + height?: number; + + /** Width of the marker. + * @Default {6} + */ + width?: number; + } + + export interface SeriesMarker { + + /** Options for customizing the border of the marker shape. + */ + border?: SeriesMarkerBorder; + + /** Options for displaying and customizing data labels. + */ + dataLabel?: SeriesMarkerDataLabel; + + /** Color of the marker shape. + * @Default {null} + */ + fill?: string; + + /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. + */ + imageUrl?: string; + + /** Opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of the marker. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Options for customizing the size of the marker shape. + */ + size?: SeriesMarkerSize; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + } + + export interface SeriesOutlierSettingsSize { + + /** Height of the outlier shape. + * @Default {6} + */ + height?: number; + + /** Width of the outlier shape. + * @Default {6} + */ + width?: number; + } + + export interface SeriesOutlierSettings { + + /** Specifies the shape of the outlier. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Options for customizing the size of the outlier shape. + */ + size?: SeriesOutlierSettingsSize; + } + + export interface SeriesEmptyPointSettingsStyleBorder { + + /** Border color of the empty point. + */ + color?: string; + + /** Border width of the empty point. + * @Default {1} + */ + width?: number; + } + + export interface SeriesEmptyPointSettingsStyle { + + /** Color of the empty point. + */ + color?: string; + + /** Options for customizing border of the empty point in the series. + */ + border?: SeriesEmptyPointSettingsStyleBorder; + } + + export interface SeriesEmptyPointSettings { + + /** Controls the visibility of the empty point. + * @Default {true} + */ + visible?: boolean; + + /** Specifies the mode of empty point. + * @Default {gap} + */ + displayMode?: ej.datavisualization.Chart.EmptyPointMode | string; + + /** Options for customizing the color and border of the empty point in the series. + */ + style?: SeriesEmptyPointSettingsStyle; + } + + export interface SeriesConnectorLine { + + /** Width of the connector line. + * @Default {1} + */ + width?: number; + + /** Color of the connector line. + * @Default {#565656} + */ + color?: string; + + /** DashArray of the connector line. + * @Default {null} + */ + dashArray?: string; + + /** Opacity of the connector line. + * @Default {1} + */ + opacity?: number; + } + + export interface SeriesDragSettings { + + /** drag/drop the series + * @Default {false} + */ + enable?: boolean; + + /** Specifies the type of drag settings. + * @Default {xy} + */ + type?: string; + } + + export interface SeriesErrorBarCap { + + /** Show/Hides the error bar cap. + * @Default {true} + */ + visible?: boolean; + + /** Width of the error bar cap. + * @Default {1} + */ + width?: number; + + /** Length of the error bar cap. + * @Default {1} + */ + length?: number; + + /** Color of the error bar cap. + * @Default {#000000} + */ + fill?: string; + } + + export interface SeriesErrorBar { + + /** Show/hides the error bar + * @Default {visible} + */ + visibility?: boolean; + + /** Specifies the type of error bar. + * @Default {FixedValue} + */ + type?: ej.datavisualization.Chart.ErrorBarType | string; + + /** Specifies the mode of error bar. + * @Default {vertical} + */ + mode?: ej.datavisualization.Chart.ErrorBarMode | string; + + /** Specifies the direction of error bar. + * @Default {both} + */ + direction?: ej.datavisualization.Chart.ErrorBarDirection | string; + + /** Value of vertical error bar. + * @Default {3} + */ + verticalErrorValue?: number; + + /** Value of horizontal error bar. + * @Default {1} + */ + horizontalErrorValue?: number; + + /** Value of positive horizontal error bar. + * @Default {1} + */ + horizontalPositiveErrorValue?: number; + + /** Value of negative horizontal error bar. + * @Default {1} + */ + horizontalNegativeErrorValue?: number; + + /** Value of positive vertical error bar. + * @Default {5} + */ + verticalPositiveErrorValue?: number; + + /** Value of negative vertical error bar. + * @Default {5} + */ + verticalNegativeErrorValue?: number; + + /** Fill color of the error bar. + * @Default {#000000} + */ + fill?: string; + + /** Width of the error bar. + * @Default {1} + */ + width?: number; + + /** Options for customizing the error bar cap. + */ + cap?: SeriesErrorBarCap; + } + + export interface SeriesPointsBorder { + + /** Border color of the point. + * @Default {null} + */ + color?: string; + + /** Border width of the point. + * @Default {null} + */ + width?: number; + } + + export interface SeriesPointsMarkerBorder { + + /** Border color of the marker shape. + * @Default {white} + */ + color?: string; + + /** Border width of the marker shape. + * @Default {3} + */ + width?: number; + } + + export interface SeriesPointsMarkerDataLabelBorder { + + /** Border color of the data label. + * @Default {null} + */ + color?: string; + + /** Border width of the data label. + * @Default {0.1} + */ + width?: number; + } + + export interface SeriesPointsMarkerDataLabelConnectorLine { + + /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. + * @Default {line. See ConnectorLineType} + */ + type?: ej.datavisualization.Chart.ConnectorLineType | string; + + /** Width of the connector. + * @Default {0.5} + */ + width?: number; + } + + export interface SeriesPointsMarkerDataLabelFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; + } + + export interface SeriesPointsMarkerDataLabelMargin { + + /** Bottom margin of the text. + * @Default {5} + */ + bottom?: number; + + /** Left margin of the text. + * @Default {5} + */ + left?: number; + + /** Right margin of the text. + * @Default {5} + */ + right?: number; + + /** Top margin of the text. + * @Default {5} + */ + top?: number; + } + + export interface SeriesPointsMarkerDataLabel { + + /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. + * @Default {null} + */ + angle?: number; + + /** Options for customizing the border of the data label. + */ + border?: SeriesPointsMarkerDataLabelBorder; + + /** Options for displaying and customizing the line that connects point and data label. + */ + connectorLine?: SeriesPointsMarkerDataLabelConnectorLine; + + /** Background color of the data label. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the data label font. + */ + font?: SeriesPointsMarkerDataLabelFont; + + /** Horizontal alignment of the data label. + * @Default {center} + */ + horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment | string; + + /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. + */ + margin?: SeriesPointsMarkerDataLabelMargin; + + /** Opacity of the data label. + * @Default {1} + */ + opacity?: number; + + /** Background shape of the data label. + * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. + * @Default {top. See TextPosition} + */ + textPosition?: ej.datavisualization.Chart.TextPosition | string; + + /** Vertical alignment of the data label. + * @Default {'center'} + */ + verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment | string; + + /** Controls the visibility of the data labels. + * @Default {false} + */ + visible?: boolean; + + /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + */ + template?: string; + + /** Moves the label vertically by specified offset. + * @Default {0} + */ + offset?: number; + } + + export interface SeriesPointsMarkerSize { + + /** Height of the marker. + * @Default {6} + */ + height?: number; + + /** Width of the marker. + * @Default {6} + */ + width?: number; + } + + export interface SeriesPointsMarker { + + /** Options for customizing the border of the marker shape. + */ + border?: SeriesPointsMarkerBorder; + + /** Options for displaying and customizing data label. + */ + dataLabel?: SeriesPointsMarkerDataLabel; + + /** Color of the marker shape. + * @Default {null} + */ + fill?: string; + + /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. + */ + imageUrl?: string; + + /** Opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of the marker. + * @Default {circle. See Shape} + */ + shape?: ej.datavisualization.Chart.Shape | string; + + /** Options for customizing the size of the marker shape. + */ + size?: SeriesPointsMarkerSize; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + } + + export interface SeriesPoint { + + /** Options for customizing the border of a point. This is applicable only for column type series and accumulation type series. + */ + border?: SeriesPointsBorder; + + /** Enables or disables the visibility of legend item. + * @Default {visible} + */ + visibleOnLegend?: string; + + /** To show/hide the intermediate summary from the last intermediate point. + * @Default {false} + */ + showIntermediateSum?: boolean; + + /** To show/hide the total summary of the waterfall series. + * @Default {false} + */ + showTotalSum?: boolean; + + /** Close value of the point. Close value is applicable only for financial type series. + * @Default {null} + */ + close?: number; + + /** Size of a bubble in the bubble series. This is applicable only for the bubble series. + * @Default {null} + */ + size?: number; + + /** Background color of the point. This is applicable only for column type series and accumulation type series. + * @Default {null} + */ + fill?: string; + + /** High value of the point. High value is applicable only for financial type series, range area series and range column series. + * @Default {null} + */ + high?: number; + + /** Low value of the point. Low value is applicable only for financial type series, range area series and range column series. + * @Default {null} + */ + low?: number; + + /** Options for displaying and customizing marker for a data point. Marker contains shapes and/or data labels. + */ + marker?: SeriesPointsMarker; + + /** Open value of the point. This is applicable only for financial type series. + * @Default {null} + */ + open?: number; + + /** Datalabel text for the point. + * @Default {null} + */ + text?: string; + + /** X value of the point. + * @Default {null} + */ + x?: number; + + /** Y value of the point. + * @Default {null} + */ + y?: number; + } + + export interface SeriesCornerRadius { + + /** Specifies the radius for the top left corner. + * @Default {0} + */ + topLeft?: number; + + /** Specifies the radius for the top right corner. + * @Default {0} + */ + topRight?: number; + + /** Specifies the radius for the bottom left corner. + * @Default {0} + */ + bottomLeft?: number; + + /** Specifies the radius for the bottom right corner. + * @Default {0} + */ + bottomRight?: number; + } + + export interface SeriesTooltipBorder { + + /** Border Color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border Width of the tooltip. + * @Default {1} + */ + width?: number; + } + + export interface SeriesTooltip { + + /** Options for customizing the border of the tooltip. + */ + border?: SeriesTooltipBorder; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + rx?: number; + + /** Customize the corner radius of the tooltip rectangle. + * @Default {0} + */ + ry?: number; + + /** Specifies the duration, the tooltip has to be displayed. + * @Default {500ms} + */ + duration?: string; + + /** Enables/disables the animation of the tooltip when moving from one point to another. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Background color of the tooltip. + * @Default {null} + */ + fill?: string; + + /** Format of the tooltip content. + * @Default {#point.x# : #point.y#} + */ + format?: string; + + /** Opacity of the tooltip. + * @Default {0.95} + */ + opacity?: number; + + /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. + * @Default {null} + */ + template?: string; + + /** Controls the visibility of the tooltip. + * @Default {false} + */ + visible?: boolean; + } + + export interface SeriesTrendline { + + /** Show/hides the trendline. + */ + visibility?: boolean; + + /** Specifies the type of trendline for the series. + * @Default {linear. See TrendlinesType} + */ + type?: string; + + /** Name for the trendlines that is to be displayed in legend text. + * @Default {Trendline} + */ + name?: string; + + /** Fill color of the trendlines. + * @Default {#0000FF} + */ + fill?: string; + + /** Width of the trendlines. + * @Default {1} + */ + width?: number; + + /** Opacity of the trendline. + * @Default {1} + */ + opacity?: number; + + /** Pattern of dashes and gaps used to stroke the trendline. + */ + dashArray?: string; + + /** Future trends of the current series. + * @Default {0} + */ + forwardForecast?: number; + + /** Past trends of the current series. + * @Default {0} + */ + backwardForecast?: number; + + /** Specifies the order of polynomial trendlines. + * @Default {0} + */ + polynomialOrder?: number; + + /** Specifies the moving average starting period value. + * @Default {2} + */ + period?: number; + } + + export interface SeriesHighlightSettingsBorder { + + /** Border color of the series/point on highlight. + */ + color?: string; + + /** Border width of the series/point on highlight. + * @Default {2} + */ + width?: string; + } + + export interface SeriesHighlightSettings { + + /** Enables/disables the ability to highlight series or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether series or data point has to be highlighted. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode | string; + + /** Color of the series/point on highlight. + */ + color?: string; + + /** Opacity of the series/point on highlight. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of series on highlight. + */ + border?: SeriesHighlightSettingsBorder; + + /** Specifies the pattern for the series/point on highlight. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on highlight. + */ + customPattern?: string; + } + + export interface SeriesSelectionSettingsBorder { + + /** Border color of the series/point on selection. + */ + color?: string; + + /** Border width of the series/point on selection. + * @Default {2} + */ + width?: string; + } + + export interface SeriesSelectionSettings { + + /** Enables/disables the ability to select a series/data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether series or data point has to be selected. + * @Default {series. See Mode} + */ + mode?: ej.datavisualization.Chart.Mode | string; + + /** Specifies the type of selection. + * @Default {single} + */ + type?: ej.datavisualization.Chart.SelectionType | string; + + /** Specifies the drawn rectangle type. + * @Default {xy} + */ + rangeType?: ej.datavisualization.Chart.RangeType | string; + + /** Color of the series/point on selection. + */ + color?: string; + + /** Opacity of the series/point on selection. + * @Default {0.6} + */ + opacity?: number; + + /** Options for customizing the border of series on selection. + */ + border?: SeriesSelectionSettingsBorder; + + /** Specifies the pattern for the series/point on selection. + * @Default {none. See Pattern} + */ + pattern?: string; + + /** Custom pattern for the series on selection. + */ + customPattern?: string; + } + + export interface Series { + + /** Color of the point, where the close is up in financial chart. + * @Default {null} + */ + bearFillColor?: string; + + /** Options for customizing the border of the series. + */ + border?: SeriesBorder; + + /** Color of the point, where the close is down in financial chart. + * @Default {null} + */ + bullFillColor?: string; + + /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet + * @Default {rectangle} + */ + columnFacet?: ej.datavisualization.Chart.ColumnFacet | string; + + /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. + * @Default {0.7} + */ + columnWidth?: number; + + /** Spacing between columns of different series. Value ranges from 0 to 1 + * @Default {0} + */ + columnSpacing?: number; + + /** To group the series of stacking collection. + */ + stackingGroup?: string; + + /** Pattern of dashes and gaps used to stroke the line type series. + */ + dashArray?: string; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1. + * @Default {0.4} + */ + doughnutCoefficient?: number; + + /** Controls the size of the doughnut series. Value ranges from 0 to 1. + * @Default {0.8} + */ + doughnutSize?: number; + + /** Type of series to be drawn in radar or polar series. + * @Default {line. See DrawType} + */ + drawType?: ej.datavisualization.Chart.DrawType | string; + + /** Enable/disable the animation of series. + * @Default {false} + */ + enableAnimation?: boolean; + + /** To avoid overlapping of data labels smartly. + * @Default {null} + */ + enableSmartLabels?: number; + + /** End angle of pie/doughnut series. For a complete circle, it has to be 360, by default. + * @Default {null} + */ + endAngle?: number; + + /** Explodes the pie/doughnut slices on mouse move. + * @Default {false} + */ + explode?: boolean; + + /** Explodes all the slice of pie/doughnut on render. + * @Default {null} + */ + explodeAll?: boolean; + + /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. + * @Default {null} + */ + explodeIndex?: number; + + /** Specifies the distance of the slice from the center, when it is exploded. + * @Default {25} + */ + explodeOffset?: number; + + /** Fill color of the series. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the series font. + */ + font?: SeriesFont; + + /** Specifies the height of the funnel in funnel series. Values can be in both pixel and percentage. + * @Default {32.7%} + */ + funnelHeight?: string; + + /** Specifies the width of the funnel in funnel series. Values can be in both pixel and percentage. + * @Default {11.6%} + */ + funnelWidth?: string; + + /** Gap between the slices of pyramid/funnel series. + * @Default {0} + */ + gapRatio?: number; + + /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. + * @Default {true} + */ + isClosed?: boolean; + + /** Specifies whether to stack the column series in polar/radar charts. + * @Default {true} + */ + isStacking?: boolean; + + /** Renders the chart vertically. This is applicable only for Cartesian type series. + * @Default {false} + */ + isTransposed?: boolean; + + /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. + * @Default {true} + */ + showMedian?: boolean; + + /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. + * @Default {inside. See LabelPosition} + */ + labelPosition?: ej.datavisualization.Chart.LabelPosition | string; + + /** Quartile calculation has been performed in three different formulas to render the boxplot series . + * @Default {exclusive} + */ + boxPlotMode?: ej.datavisualization.Chart.LabelPosition | string; + + /** Specifies the line cap of the series. + * @Default {Butt. See LineCap} + */ + lineCap?: ej.datavisualization.Chart.LineCap | string; + + /** Specifies the type of shape to be used where two lines meet. + * @Default {Round. See LineJoin} + */ + lineJoin?: ej.datavisualization.Chart.LineJoin | string; + + /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. + */ + marker?: SeriesMarker; + + /** Name of the series, that is to be displayed in the legend. + * @Default {Add a comment to this line} + */ + name?: string; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Options for customizing the outlier of individual series. + */ + outlierSettings?: SeriesOutlierSettings; + + /** Name of a field in data source where fill color for all the data points is generated. + */ + palette?: string; + + /** Controls the size of pie series. Value ranges from 0 to 1. + * @Default {0.8} + */ + pieCoefficient?: number; + + /** Options for customizing the empty point in the series. + */ + emptyPointSettings?: SeriesEmptyPointSettings; + + /** Fill color for the positive column of the waterfall. + * @Default {null} + */ + positiveFill?: string; + + /** Options for customizing the waterfall connector line. + */ + connectorLine?: SeriesConnectorLine; + + /** Options to customize the drag and drop in series. + */ + dragSettings?: SeriesDragSettings; + + /** Options to customize the error bar in series. + */ + errorBar?: SeriesErrorBar; + + /** Option to add data points; each point should have x and y property. Also, optionally, you can customize the points color, border, marker by using fill, border and marker options. + */ + points?: SeriesPoint[]; + + /** Specifies the mode of the pyramid series. + * @Default {linear} + */ + pyramidMode?: ej.datavisualization.Chart.PyramidMode | string; + + /** Specifies ej.Query to select data from dataSource. This property is applicable only when the dataSource is ej.DataManager. + * @Default {null} + */ + query?: any; + + /** Start angle from where the pie/doughnut series renders. It starts from 0, by default. + * @Default {null} + */ + startAngle?: number; + + /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. + */ + cornerRadius?: SeriesCornerRadius; + + /** Options for customizing the tooltip of chart. + */ + tooltip?: SeriesTooltip; + + /** Specifies the type of the series to render in chart. + * @Default {column. see Type} + */ + type?: ej.datavisualization.Chart.Type | string; + + /** Controls the visibility of the series. + * @Default {visible} + */ + visibility?: string; + + /** Enables or disables the visibility of legend item. + * @Default {visible} + */ + visibleOnLegend?: string; + + /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + xAxisName?: string; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. + * @Default {null} + */ + yAxisName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Name of the property in the datasource that contains high value for the series. + * @Default {null} + */ + high?: string; + + /** Name of the property in the datasource that contains low value for the series. + * @Default {null} + */ + low?: string; + + /** Name of the property in the datasource that contains open value for the series. + * @Default {null} + */ + open?: string; + + /** Name of the property in the datasource that contains close value for the series. + * @Default {null} + */ + close?: string; + + /** Name of the property in the datasource that contains fill color for the series. + * @Default {null} + */ + pointColorMappingName?: string; + + /** Z-order of the series. + * @Default {0} + */ + zOrder?: number; + + /** Name of the property in the datasource that contains the size value for the bubble series. + * @Default {null} + */ + size?: string; + + /** Option to add trendlines to chart. + */ + trendlines?: SeriesTrendline[]; + + /** Options for customizing the appearance of the series or data point while highlighting. + */ + highlightSettings?: SeriesHighlightSettings; + + /** Options for customizing the appearance of the series/data point on selection. + */ + selectionSettings?: SeriesSelectionSettings; + } + + export interface Size { + + /** Height of the Chart. Height can be specified in either pixel or percentage. + * @Default {'450'} + */ + height?: string; + + /** Width of the Chart. Width can be specified in either pixel or percentage. + * @Default {'450'} + */ + width?: string; + } + + export interface TitleBorder { + + /** Width of the title border. + * @Default {1} + */ + width?: number; + + /** color of the title border. + * @Default {transparent} + */ + color?: string; + + /** opacity of the title border. + * @Default {0.8} + */ + opacity?: number; + + /** opacity of the title border. + * @Default {0.8} + */ + cornerRadius?: number; + } + + export interface TitleFont { + + /** Font family for Chart title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Chart title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight for Chart title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the Chart title. + * @Default {0.5} + */ + opacity?: number; + + /** Font size for Chart title. + * @Default {20px} + */ + size?: string; + } + + export interface TitleSubTitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Chart.FontStyle | string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Chart.FontWeight | string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; + } + + export interface TitleSubTitleBorder { + + /** Width of the subtitle border. + * @Default {1} + */ + width?: number; + + /** color of the subtitle border. + * @Default {transparent} + */ + color?: string; + + /** opacity of the subtitle border. + * @Default {0.8} + */ + opacity?: number; + + /** opacity of the subtitle border. + * @Default {0.8} + */ + cornerRadius?: number; + } + + export interface TitleSubTitle { + + /** Options for customizing the font of sub title. + */ + font?: TitleSubTitleFont; + + /** Background color for the chart subtitle. + * @Default {transparent} + */ + background?: string; + + /** Options to customize the border of the title. + */ + border?: TitleSubTitleBorder; + + /** Text to be displayed in sub title. + */ + text?: string; + + /** Alignment of sub title text. + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.Alignment | string; + } + + export interface Title { + + /** Background color for the chart title. + * @Default {transparent} + */ + background?: string; + + /** Options to customize the border of the title. + */ + border?: TitleBorder; + + /** Options for customizing the font of Chart title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Chart. + */ + subTitle?: TitleSubTitle; + + /** Text to be displayed in Chart title. + */ + text?: string; + + /** Alignment of the title text. + * @Default {Center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Chart.Alignment | string; + } + + export interface Zooming { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Enables or disables pinch zooming. + * @Default {true} + */ + enablePinching?: boolean; + + /** Enable or disables the differed zooming. When it is enabled, chart is updated only on mouse up action while zooming and panning. + * @Default {false} + */ + enableDeferredZoom?: boolean; + + /** Enables/disables the ability to zoom the chart on moving the mouse wheel. + * @Default {false} + */ + enableMouseWheel?: boolean; + + /** Specifies whether to allow zooming the chart vertically or horizontally or in both ways. + * @Default {'x,y'} + */ + type?: string; + + /** Toggles the visibility of the scrollbar, which will be displayed while zooming. + * @Default {false} + */ + enableScrollbar?: boolean; + + /** To display user specified buttons in zooming toolbar. + * @Default {[zoomIn, zoomOut, zoom, pan, reset]} + */ + toolbarItems?: any[]; + } + } + namespace Chart { + enum CoordinateUnit { + //string + None, + //string + Pixels, + //string + Points, + } + } + namespace Chart { + enum HorizontalAlignment { + //string + Left, + //string + Right, + //string + Middle, + } + } + namespace Chart { + enum Region { + //string + Chart, + //string + Series, + } + } + namespace Chart { + enum VerticalAlignment { + //string + Top, + //string + Bottom, + //string + Middle, + } + } + namespace Chart { + enum ExportingType { + //string + PNG, + //string + JPG, + //string + PDF, + //string + DOCX, + //string + XLSX, + //string + SVG, + } + } + namespace Chart { + enum ExportingOrientation { + //string + Portrait, + //string + Landscape, + } + } + namespace Chart { + enum ExportingMode { + //string + ServerSide, + //string + ClientSide, + } + } + namespace Chart { + enum Unit { + //string + Percentage, + //string + Pixel, + } + } + namespace Chart { + enum ColumnFacet { + //string + Rectangle, + //string + Cylinder, + } + } + namespace Chart { + enum DrawType { + //string + Line, + //string + Area, + //string + Column, + } + } + namespace Chart { + enum FontStyle { + //string + Normal, + //string + Italic, + } + } + namespace Chart { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } + } + namespace Chart { + enum LabelPosition { + //string + Inside, + //string + Outside, + //string + OutsideExtended, + } + } + namespace Chart { + enum boxPlotMode { + //string + Exclusive, + //string + Inclusive, + //string + Normal, + } + } + namespace Chart { + enum LineCap { + //string + Butt, + //string + Round, + //string + Square, + } + } + namespace Chart { + enum LineJoin { + //string + Round, + //string + Bevel, + //string + Miter, + } + } + namespace Chart { + enum ConnectorLineType { + //string + Line, + //string + Bezier, + } + } + namespace Chart { + enum HorizontalTextAlignment { + //string + Center, + //string + Near, + //string + Far, + } + } + namespace Chart { + enum Shape { + //string + None, + //string + LeftArrow, + //string + RightArrow, + //string + Circle, + //string + Cross, + //string + HorizLine, + //string + VertLine, + //string + Diamond, + //string + Rectangle, + //string + Triangle, + //string + Hexagon, + //string + Pentagon, + //string + Star, + //string + Ellipse, + //string + Trapezoid, + //string + UpArrow, + //string + DownArrow, + //string + Image, + //string + SeriesType, + } + } + namespace Chart { + enum TextPosition { + //string + Top, + //string + Bottom, + //string + Middle, + } + } + namespace Chart { + enum VerticalTextAlignment { + //string + Center, + //string + Near, + //string + Far, + } + } + namespace Chart { + enum PyramidMode { + //string + Linear, + //string + Surface, + } + } + namespace Chart { + enum Type { + //string + Area, + //string + Line, + //string + Spline, + //string + Column, + //string + Scatter, + //string + Bubble, + //string + SplineArea, + //string + StepArea, + //string + StepLine, + //string + Pie, + //string + HiLo, + //string + HiLoOpenClose, + //string + Candle, + //string + Bar, + //string + StackingArea, + //string + StackingArea100, + //string + RangeColumn, + //string + StackingColumn, + //string + StackingColumn100, + //string + StackingBar, + //string + StackingBar100, + //string + Pyramid, + //string + Funnel, + //string + Doughnut, + //string + Polar, + //string + Radar, + //string + RangeArea, + } + } + namespace Chart { + enum EmptyPointMode { + //string + Gap, + //string + Zero, + //string + Average, + } + } + namespace Chart { + enum ErrorBarType { + //string + FixedValue, + //string + Percentage, + //string + StandardDeviation, + //string + StandardError, + } + } + namespace Chart { + enum ErrorBarMode { + //string + Both, + //string + Vertical, + //string + Horizontal, + } + } + namespace Chart { + enum ErrorBarDirection { + //string + Both, + //string + Plus, + //string + Minus, + } + } + namespace Chart { + enum Mode { + //string + Series, + //string + Point, + //string + Cluster, + //string + Range, + } + } + namespace Chart { + enum SelectionType { + //string + Single, + //string + Multiple, + } + } + namespace Chart { + enum RangeType { + //string + XY, + //string + X, + //string + Y, + } + } + namespace Chart { + enum CrosshairMode { + //string + Float, + //string + Grouping, + } + } + namespace Chart { + enum CrosshairType { + //string + Crosshair, + //string + Trackball, + } + } + namespace Chart { + enum Alignment { + //string + Center, + //string + Near, + //string + Far, + } + } + namespace Chart { + enum Position { + //string + Left, + //string + Right, + //string + Top, + //string + Bottom, + } + } + namespace Chart { + enum TextOverflow { + //string + None, + //string + Trim, + //string + Wrap, + //string + WrapAndTrim, + } + } + namespace Chart { + enum LabelPlacement { + //string + OnTicks, + //string + BetweenTicks, + } + } + namespace Chart { + enum EdgeLabelPlacement { + //string + None, + //string + Shift, + //string + Hide, + } + } + namespace Chart { + enum IntervalType { + //string + Days, + //string + Hours, + //string + Seconds, + //string + Milliseconds, + //string + Minutes, + //string + Months, + //string + Years, + } + } + namespace Chart { + enum LabelIntersectAction { + //string + None, + //string + Rotate90, + //string + Rotate45, + //string + Wrap, + //string + WrapByword, + //string + Trim, + //string + Hide, + //string + MultipleRows, + } + } + namespace Chart { + enum LabelAlignment { + //string + Near, + //string + Far, + //string + Center, + } + } + namespace Chart { + enum RangePadding { + //string + Additional, + //string + Normal, + //string + None, + //string + Round, + } + } + namespace Chart { + enum MultiLevelLabelsBorderType { + //string + Rectangle, + //string + None, + //string + WithoutTopAndBottom, + //string + Brace, + //string + CurlyBrace, + } + } + namespace Chart { + enum TextAlignment { + //string + MiddleTop, + //string + MiddleCenter, + //string + MiddleBottom, + } + } + namespace Chart { + enum ZIndex { + //string + Inside, + //string + Over, + } + } + namespace Chart { + enum TickLinesPosition { + //string + Inside, + //string + Outside, + } + } + namespace Chart { + enum ValueType { + //string + Double, + //string + Category, + //string + DateTime, + //string + Logarithmic, + } + } + namespace Chart { + enum Theme { + //string + Azure, + //string + FlatLight, + //string + FlatDark, + //string + Azuredark, + //string + Lime, + //string + LimeDark, + //string + Saffron, + //string + SaffronDark, + //string + GradientLight, + //string + GradientDark, + } + } + + class RangeNavigator extends ej.Widget { + static fn: RangeNavigator; + constructor(element: JQuery | Element, options?: RangeNavigator.Model); + static Locale: any; + model: RangeNavigator.Model; + defaults: RangeNavigator.Model; + + /** destroy the range navigator widget + * @returns {void} + */ + _destroy(): void; + } + export namespace RangeNavigator { + + export interface Model { + + /** Toggles the placement of slider exactly on the place it left or on the nearest interval. + * @Default {false} + */ + allowSnapping?: boolean; + + /** Options for customizing the color, opacity and width of the chart border. + */ + border?: Border; + + /** Specifies the data source for range navigator. + */ + dataSource?: any; + + /** Specifies the properties used for customizing the range series. + */ + series?: Series[]; + + /** Toggles the redrawing of chart on moving the sliders. + * @Default {true} + */ + enableDeferredUpdate?: boolean; + + /** Enable the scrollbar option in the rangenavigator. + * @Default {false} + */ + enableScrollbar?: boolean; + + /** Toggles the direction of rendering the range navigator control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets a value whether to make the range navigator responsive on resize. + * @Default {false} + */ + isResponsive?: boolean; + + /** Options for customizing the labels colors, font, style, size, horizontalAlignment and opacity. + */ + labelSettings?: LabelSettings; + + /** This property is to specify the localization of range navigator. + * @Default {en-US} + */ + locale?: string; + + /** Options for customizing the range navigator. + */ + navigatorStyleSettings?: NavigatorStyleSettings; + + /** Padding specifies the gap between the container and the range navigator. + * @Default {0} + */ + padding?: string; + + /** If the range is not given explicitly, range will be calculated automatically. + * @Default {none} + */ + rangePadding?: ej.datavisualization.RangeNavigator.RangePadding | string; + + /** Options for customizing the starting and ending ranges. + */ + rangeSettings?: RangeSettings; + + /** selectedData is for getting the data when the "rangeChanged" event trigger from client side. + */ + selectedData?: any; + + /** Options for customizing the start and end range values. + */ + selectedRangeSettings?: SelectedRangeSettings; + + /** Options for rendering scrollbar based on the start and end range values. + */ + scrollRangeSettings?: ScrollRangeSettings; + + /** Contains property to customize the hight and width of range navigator. + */ + sizeSettings?: SizeSettings; + + /** By specifying this property the user can change the theme of the range navigator. + * @Default {null} + */ + theme?: string; + + /** Options for customizing the tooltip in range navigator. + */ + tooltipSettings?: TooltipSettings; -export interface AxesLabelRenderingEventArgs { + /** Options for configuring minor grid lines, major grid lines, axis line of axis. + */ + valueAxisSettings?: ValueAxisSettings; - /** Instance of the corresponding axis. - */ - axis?: any; + /** You can plot data of type date time or numeric. This property determines the type of data that this axis will handle. + * @Default {datetime} + */ + valueType?: ej.datavisualization.RangeNavigator.ValueType | string; - /** Formatted text of the respective label. You can also add custom text to the label. - */ - Text?: string; + /** Specifies the xName for dataSource. This is used to take the x values from dataSource + */ + xName?: any; - /** Actual value of the label. - */ - Value?: string; + /** Specifies the yName for dataSource. This is used to take the y values from dataSource + */ + yName?: any; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires on load of range navigator. */ + load?(e: LoadEventArgs): void; - /** Instance of the chart model object. - */ - model?: any; + /** Fires after range navigator is loaded. */ + loaded?(e: LoadedEventArgs): void; - /** Name of the event - */ - type?: string; -} + /** Fires on changing the range of range navigator. */ + rangeChanged?(e: RangeChangedEventArgs): void; -export interface AxesLabelsInitializeEventArgs { + /** Fires on changing the scrollbar position of range navigator. */ + scrollChanged?(e: ScrollChangedEventArgs): void; - /** Collection of axes in Chart - */ - dataAxes?: any; + /** Fires on when starting to change the scrollbar position of range navigator. */ + scrollStart?(e: ScrollStartEventArgs): void; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires on changes ending the scrollbar position of range navigator. */ + scrollEnd?(e: ScrollEndEventArgs): void; + } - /** Instance of the chart model object. - */ - model?: any; + export interface LoadEventArgs { - /** Name of the event - */ - type?: string; -} + /** parameters from range navigator + */ + Data?: any; -export interface AxesRangeCalculateEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Difference between minimum and maximum value of axis range. - */ - delta?: number; + /** returns the range navigator model + */ + model?: any; - /** Interval value of axis range. Grid lines, tick lines and axis labels are drawn based on this interval value. - */ - interval?: number; + /** returns the name of the event + */ + type?: string; + } - /** Maximum value of axis range. - */ - max?: number; + export interface LoadedEventArgs { - /** Minimum value of axis range. - */ - min?: number; + /** parameters from range navigator + */ + Data?: any; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Instance of the chart model object. - */ - model?: any; + /** returns the range navigator model + */ + model?: any; - /** Name of the event - */ - type?: string; -} + /** returns the name of the event + */ + type?: string; + } -export interface AxesTitleRenderingEventArgs { + export interface RangeChangedEventArgs { - /** Instance of the axis whose title is being rendered - */ - axes?: any; + /** parameters from range navigator + */ + Data?: any; - /** X-coordinate of title location - */ - locationX?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Y-coordinate of title location - */ - locationY?: number; + /** returns the range navigator model + */ + model?: any; - /** Axis title text. You can add custom text to the title. - */ - title?: string; + /** returns the name of the event + */ + type?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface ScrollChangedEventArgs { - /** Instance of the chart model object. - */ - model?: any; + /** parameters from RangeNavigator + */ + data?: any; - /** Name of the event - */ - type?: string; -} + /** returns the scrollbar position old start and end range value on changing scrollbar + */ + dataoldRange?: any; -export interface ChartAreaBoundsCalculateEventArgs { + /** returns the scrollbar position new start and end range value on changing scrollbar + */ + datanewRange?: any; - /** Height of the chart area. - */ - areaBoundsHeight?: number; + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Width of the chart area. - */ - areaBoundsWidth?: number; + /** returns the RangeNavigator model + */ + model?: any; - /** X-coordinate of the chart area. - */ - areaBoundsX?: number; + /** returns the name of the event + */ + type?: string; + } - /** Y-coordinate of the chart area. - */ - areaBoundsY?: number; + export interface ScrollStartEventArgs { - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** parameters from RangeNavigator + */ + data?: any; - /** Instance of the chart model object. - */ - model?: any; + /** returns the scrollbar position starting range value on changing scrollbar + */ + datastartRange?: string; - /** Name of the event - */ - type?: string; -} + /** returns the scrollbar position end range value on changing scrollbar + */ + dataendRange?: string; -export interface CreateEventArgs { + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the RangeNavigator model + */ + model?: any; - /** Instance of the chart model object. - */ - model?: any; + /** returns the name of the event + */ + type?: string; + } + + export interface ScrollEndEventArgs { + + /** parameters from RangeNavigator + */ + data?: any; + + /** returns the scrollbar position old start and end range value on change end of scrollbar + */ + dataoldRange?: any; + + /** returns the scrollbar position new start and end range value on change end of scrollbar + */ + datanewRange?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RangeNavigator model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of rangenavigator. When enable the scrollbar, the default color will be set as "#B4B4B4". + * @Default {transparent} + */ + color?: string; + + /** Opacity of the rangeNavigator border. + * @Default {1} + */ + opacity?: number; + + /** Width of the RangeNavigator border. + * @Default {1} + */ + width?: number; + } + + export interface Series { + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Specifies the type of the series to render in chart. + * @Default {column. see Type} + */ + type?: ej.datavisualization.RangeNavigator.Type | string; + + /** Enable/disable the animation of series. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Fill color of the series. + * @Default {null} + */ + fill?: string; + } + + export interface LabelSettingsHigherLevelBorder { + + /** Specifies the border color of grid lines. + * @Default {transparent} + */ + color?: string; + + /** Specifies the border width of grid lines. + * @Default {0.5} + */ + width?: string; + } + + export interface LabelSettingsHigherLevelGridLineStyle { + + /** Specifies the color of grid lines in higher level. + * @Default {#B5B5B5} + */ + color?: string; + + /** Specifies the dashArray of grid lines in higher level. + * @Default {20 5 0} + */ + dashArray?: string; + + /** Specifies the width of grid lines in higher level. + * @Default {#B5B5B5} + */ + width?: string; + } + + export interface LabelSettingsHigherLevelStyleFont { + + /** Specifies the label font color. Labels render with the specified font color. + * @Default {black} + */ + color?: string; + + /** Specifies the label font family. Labels render with the specified font family. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the label font style. Labels render with the specified font style. + * @Default {Normal} + */ + fontStyle?: string; + + /** Specifies the label font weight. Labels render with the specified font weight. + * @Default {regular} + */ + fontWeight?: string; + + /** Specifies the label opacity. Labels render with the specified opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the label font size. Labels render with the specified font size. + * @Default {12px} + */ + size?: string; + } + + export interface LabelSettingsHigherLevelStyle { + + /** Options for customizing the font properties. + */ + font?: LabelSettingsHigherLevelStyleFont; + + /** Specifies the horizontal text alignment of the text in label. + * @Default {middle} + */ + horizontalAlignment?: string; + } + + export interface LabelSettingsHigherLevel { + + /** Options for customizing the border of grid lines in higher level. + */ + border?: LabelSettingsHigherLevelBorder; + + /** Specifies the fill color of higher level labels. + * @Default {transparent} + */ + fill?: string; + + /** Options for customizing the grid line colors, width, dashArray, border. + */ + gridLineStyle?: LabelSettingsHigherLevelGridLineStyle; + + /** Specifies the intervalType for higher level labels. See IntervalType + * @Default {auto} + */ + intervalType?: ej.datavisualization.RangeNavigator.IntervalType | string; + + /** Specifies the position of the labels to render either inside or outside of plot area + * @Default {outside} + */ + labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement | string; + + /** Specifies the position of the labels in higher level + * @Default {top} + */ + position?: ej.datavisualization.RangeNavigator.Position | string; + + /** Options for customizing the style of higher level labels. + */ + style?: LabelSettingsHigherLevelStyle; + + /** Toggles the visibility of higher level labels. + * @Default {true} + */ + visible?: boolean; + } + + export interface LabelSettingsLowerLevelBorder { + + /** Specifies the border color of grid lines. + * @Default {transparent} + */ + color?: string; + + /** Specifies the border width of grid lines. + * @Default {0.5} + */ + width?: string; + } + + export interface LabelSettingsLowerLevelGridLineStyle { + + /** Specifies the color of grid lines in lower level. + * @Default {#B5B5B5} + */ + color?: string; + + /** Specifies the dashArray of gridLines in lowerLevel. + * @Default {20 5 0} + */ + dashArray?: string; + + /** Specifies the width of grid lines in lower level. + * @Default {#B5B5B5} + */ + width?: string; + } + + export interface LabelSettingsLowerLevelStyleFont { + + /** Specifies the color of labels. Label text render in this specified color. + * @Default {black} + */ + color?: string; + + /** Specifies the font family of labels. Label text render in this specified font family. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font style of labels. Label text render in this specified font style. + * @Default {Normal} + */ + fontStyle?: string; + + /** Specifies the font weight of labels. Label text render in this specified font weight. + * @Default {regular} + */ + fontWeight?: string; + + /** Specifies the opacity of labels. Label text render in this specified opacity. + * @Default {12px} + */ + opacity?: string; + + /** Specifies the size of labels. Label text render in this specified size. + * @Default {12px} + */ + size?: string; + } + + export interface LabelSettingsLowerLevelStyle { + + /** Options for customizing the font of labels. + */ + font?: LabelSettingsLowerLevelStyleFont; + + /** Specifies the horizontal text alignment of the text in label. + * @Default {middle} + */ + horizontalAlignment?: string; + } + + export interface LabelSettingsLowerLevel { + + /** Options for customizing the border of grid lines in lower level. + */ + border?: LabelSettingsLowerLevelBorder; + + /** Specifies the fill color of labels in lower level. + * @Default {transparent} + */ + fill?: string; + + /** Options for customizing the grid lines in lower level. + */ + gridLineStyle?: LabelSettingsLowerLevelGridLineStyle; + + /** Specifies the intervalType of the labels in lower level.See IntervalType + * @Default {auto} + */ + intervalType?: ej.datavisualization.RangeNavigator.IntervalType | string; + + /** Specifies the position of the labels to render either inside or outside of plot area. See LabelPlacement + * @Default {outside} + */ + labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement | string; + + /** Specifies the position of the labels in lower level.See Position + * @Default {bottom} + */ + position?: ej.datavisualization.RangeNavigator.Position | string; + + /** Options for customizing the style of labels. + */ + style?: LabelSettingsLowerLevelStyle; + + /** Toggles the visibility of labels in lower level. + * @Default {true} + */ + visible?: boolean; + } + + export interface LabelSettingsStyleFont { + + /** Specifies the label color. This color is applied to the labels in range navigator. + * @Default {#FFFFFF} + */ + color?: string; + + /** Specifies the label font family. Labels render with the specified font family. + * @Default {Segoe UI} + */ + family?: string; + + /** Specifies the label font opacity. Labels render with the specified font opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the label font size. Labels render with the specified font size. + * @Default {1px} + */ + size?: string; + + /** Specifies the label font style. Labels render with the specified font style.. + * @Default {Normal} + */ + style?: ej.datavisualization.RangeNavigator.FontStyle | string; + + /** Specifies the label font weight + * @Default {regular} + */ + weight?: ej.datavisualization.RangeNavigator.FontWeight | string; + } + + export interface LabelSettingsStyle { + + /** Options for customizing the font of labels in range navigator. + */ + font?: LabelSettingsStyleFont; + + /** Specifies the horizontalAlignment of the label in RangeNavigator + * @Default {middle} + */ + horizontalAlignment?: ej.datavisualization.RangeNavigator.HorizontalAlignment | string; + } + + export interface LabelSettings { + + /** Options for customizing the higher level labels in range navigator. + */ + higherLevel?: LabelSettingsHigherLevel; + + /** Options for customizing the labels in lower level. + */ + lowerLevel?: LabelSettingsLowerLevel; + + /** Options for customizing the style of labels in range navigator. + */ + style?: LabelSettingsStyle; + } + + export interface NavigatorStyleSettingsBorder { + + /** Specifies the border color of range navigator. + * @Default {transparent} + */ + color?: string; + + /** Specifies the dash array of range navigator. + * @Default {null} + */ + dashArray?: string; + + /** Specifies the border width of range navigator. + * @Default {0.5} + */ + width?: number; + } + + export interface NavigatorStyleSettingsMajorGridLineStyle { + + /** Specifies the color of major grid lines in range navigator. + * @Default {#B5B5B5} + */ + color?: string; + + /** Toggles the visibility of major grid lines. + * @Default {true} + */ + visible?: boolean; + } + + export interface NavigatorStyleSettingsMinorGridLineStyle { + + /** Specifies the color of minor grid lines in range navigator. + * @Default {#B5B5B5} + */ + color?: string; + + /** Toggles the visibility of minor grid lines. + * @Default {true} + */ + visible?: boolean; + } + + export interface NavigatorStyleSettingsHighlightSettingsBorder { + + /** To set the border color to the highlight. + * @Default {null} + */ + color?: string; + + /** To set the border width to the highlight. + * @Default {1} + */ + width?: number; + } + + export interface NavigatorStyleSettingsHighlightSettings { + + /** Enable the highlight settings in range navigator. + * @Default {false} + */ + enable?: boolean; + + /** To set the color to the highlight. + * @Default {null} + */ + color?: string; + + /** To set the opacity to the highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Contains the border properties for highlighting rectangle. + */ + border?: NavigatorStyleSettingsHighlightSettingsBorder; + } + + export interface NavigatorStyleSettingsSelectionSettingsBorder { + + /** To set the border color to the selection. + * @Default {null} + */ + color?: string; + + /** To set the border width to the selection. + * @Default {1} + */ + width?: number; + } + + export interface NavigatorStyleSettingsSelectionSettings { + + /** Enable the selection settings in range navigator. + * @Default {false} + */ + enable?: boolean; + + /** To set the color to the selection. + * @Default {null} + */ + color?: string; + + /** To set the opacity to the selection. + * @Default {0.5} + */ + opacity?: number; + + /** Contains the border properties for selecting the rectangle. + */ + border?: NavigatorStyleSettingsSelectionSettingsBorder; + } + + export interface NavigatorStyleSettings { + + /** Specifies the background color of range navigator. + * @Default {#dddddd} + */ + background?: string; + + /** Options for customizing the border color and width of range navigator. + */ + border?: NavigatorStyleSettingsBorder; + + /** Specifies the left side thumb template in range navigator we can give either div id or HTML string + * @Default {null} + */ + leftThumbTemplate?: string; + + /** Options for customizing the major grid lines. + */ + majorGridLineStyle?: NavigatorStyleSettingsMajorGridLineStyle; + + /** Options for customizing the minor grid lines. + */ + minorGridLineStyle?: NavigatorStyleSettingsMinorGridLineStyle; + + /** Specifies the opacity of RangeNavigator. + * @Default {1} + */ + opacity?: number; + + /** Specifies the right side thumb template in range navigator we can give either div id or HTML string + * @Default {null} + */ + rightThumbTemplate?: string; + + /** Specifies the color of the selected region in range navigator. + * @Default {#EFEFEF} + */ + selectedRegionColor?: string; + + /** Specifies the opacity of Selected Region. + * @Default {0} + */ + selectedRegionOpacity?: number; + + /** Specifies the color of the thumb in range navigator. + * @Default {#2382C3} + */ + thumbColor?: string; + + /** Specifies the radius of the thumb in range navigator. + * @Default {10} + */ + thumbRadius?: number; + + /** Specifies the stroke color of the thumb in range navigator. + * @Default {#303030} + */ + thumbStroke?: string; + + /** Specifies the color of the unselected region in range navigator. + * @Default {#5EABDE} + */ + unselectedRegionColor?: string; + + /** Specifies the opacity of Unselected Region. + * @Default {0.3} + */ + unselectedRegionOpacity?: number; + + /** Contains the options for highlighting the range navigator on mouse over. + */ + highlightSettings?: NavigatorStyleSettingsHighlightSettings; + + /** Contains the options for selection the range navigator on mouse over. + */ + selectionSettings?: NavigatorStyleSettingsSelectionSettings; + } + + export interface RangeSettings { + + /** Specifies the ending range of range navigator. + * @Default {null} + */ + end?: string; + + /** Specifies the starting range of range navigator. + * @Default {null} + */ + start?: string; + } + + export interface SelectedRangeSettings { + + /** Specifies the ending range of range navigator. + * @Default {null} + */ + end?: string; + + /** Specifies the starting range of range navigator. + * @Default {null} + */ + start?: string; + } + + export interface ScrollRangeSettings { + + /** Specifies the ending range of range navigator scrollbar and that should be greater than the rangenavigator datasource end value. + * @Default {null} + */ + end?: string; + + /** Specifies the starting range of range navigator scrollbar and that should be less than the rangenavigator datasource start value. + * @Default {null} + */ + start?: string; + } + + export interface SizeSettings { + + /** Specifies height of the range navigator. + * @Default {null} + */ + height?: string; + + /** Specifies width of the range navigator. + * @Default {null} + */ + width?: string; + } + + export interface TooltipSettingsFont { + + /** Specifies the color of text in tooltip. Tooltip text render in the specified color. + * @Default {#FFFFFF} + */ + color?: string; + + /** Specifies the font family of text in tooltip. Tooltip text render in the specified font family. + * @Default {Segoe UI} + */ + family?: string; + + /** Specifies the font style of text in tooltip. Tooltip text render in the specified font style. + * @Default {ej.datavisualization.RangeNavigator.fontStyle.Normal} + */ + fontStyle?: string; + + /** Specifies the opacity of text in tooltip. Tooltip text render in the specified opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of text in tooltip. Tooltip text render in the specified size. + * @Default {10px} + */ + size?: string; + + /** Specifies the weight of text in tooltip. Tooltip text render in the specified weight. + * @Default {ej.datavisualization.RangeNavigator.weight.Regular} + */ + weight?: string; + } + + export interface TooltipSettings { + + /** Specifies the background color of tooltip. + * @Default {#303030} + */ + backgroundColor?: string; + + /** Options for customizing the font in tooltip. + */ + font?: TooltipSettingsFont; + + /** Specifies the format of text to be displayed in tooltip. + * @Default {MM/dd/yyyy} + */ + labelFormat?: string; + + /** Specifies the mode of displaying the tooltip. Neither to display the tooltip always nor on demand. + * @Default {null} + */ + tooltipDisplayMode?: string; + + /** Toggles the visibility of tooltip. + * @Default {true} + */ + visible?: boolean; + } + + export interface ValueAxisSettingsAxisLine { + + /** Toggles the visibility of axis line. + * @Default {none} + */ + visible?: string; + } + + export interface ValueAxisSettingsFont { + + /** Text in axis render with the specified size. + * @Default {0px} + */ + size?: string; + } + + export interface ValueAxisSettingsMajorGridLines { + + /** Toggles the visibility of major grid lines. + * @Default {false} + */ + visible?: boolean; + } + + export interface ValueAxisSettingsMajorTickLines { + + /** Specifies the size of the majorTickLines in range navigator + * @Default {0} + */ + size?: number; + + /** Toggles the visibility of major tick lines. + * @Default {true} + */ + visible?: boolean; + + /** Specifies width of the major tick lines. + * @Default {0} + */ + width?: number; + } + + export interface ValueAxisSettings { + + /** Options for customizing the axis line. + */ + axisLine?: ValueAxisSettingsAxisLine; + + /** Options for customizing the font of the axis. + */ + font?: ValueAxisSettingsFont; + + /** Options for customizing the major grid lines. + */ + majorGridLines?: ValueAxisSettingsMajorGridLines; + + /** Options for customizing the major tick lines in axis. + */ + majorTickLines?: ValueAxisSettingsMajorTickLines; + + /** If the range is not given explicitly, range will be calculated automatically. You can customize the automatic range calculation using rangePadding. + * @Default {none} + */ + rangePadding?: string; + + /** Toggles the visibility of axis in range navigator. + * @Default {false} + */ + visible?: boolean; + } + } + namespace RangeNavigator { + enum Type { + //string + Area, + //string + Line, + //string + Spline, + //string + StepArea, + //string + SplineArea, + //string + StepLine, + } + } + namespace RangeNavigator { + enum IntervalType { + //string + Years, + //string + Quarters, + //string + Months, + //string + Weeks, + //string + Days, + //string + Hours, + //string + Minutes, + } + } + namespace RangeNavigator { + enum LabelPlacement { + //string + Inside, + //string + Outside, + } + } + namespace RangeNavigator { + enum Position { + //string + Top, + //string + Bottom, + } + } + namespace RangeNavigator { + enum FontStyle { + //string + Normal, + //string + Bold, + //string + Italic, + } + } + namespace RangeNavigator { + enum FontWeight { + //string + Regular, + //string + Lighter, + } + } + namespace RangeNavigator { + enum HorizontalAlignment { + //string + Middle, + //string + Left, + //string + Right, + } + } + namespace RangeNavigator { + enum RangePadding { + //string + Additional, + //string + Normal, + //string + None, + //string + Round, + } + } + namespace RangeNavigator { + enum ValueType { + //string + Numeric, + //string + DateTime, + } + } + + class BulletGraph extends ej.Widget { + static fn: BulletGraph; + constructor(element: JQuery | Element, options?: BulletGraph.Model); + static Locale: any; + model: BulletGraph.Model; + defaults: BulletGraph.Model; + + /** To destroy the bullet graph + * @returns {void} + */ + destroy(): void; + + /** To redraw the bullet graph + * @returns {void} + */ + redraw(): void; + + /** To set the value for comparative measure in bullet graph. + * @returns {void} + */ + setComparativeMeasureSymbol(): void; + + /** To set the value for feature measure bar. + * @returns {void} + */ + setFeatureMeasureBarValue(): void; + } + export namespace BulletGraph { + + export interface Model { + + /** Toggles the visibility of the range stroke color of the labels. + * @Default {false} + */ + applyRangeStrokeToLabels?: boolean; + + /** Toggles the visibility of the range stroke color of the ticks. + * @Default {false} + */ + applyRangeStrokeToTicks?: boolean; + + /** Contains property to customize the caption in bullet graph. + */ + captionSettings?: CaptionSettings; + + /** Comparative measure bar in bullet graph render till the specified value. + * @Default {0} + */ + comparativeMeasureValue?: number; + + /** Toggles the animation of bullet graph. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the direction of flow in bullet graph. Neither it may be backward nor forward. + * @Default {forward} + */ + flowDirection?: ej.datavisualization.BulletGraph.FlowDirection | string; + + /** Specifies the height of the bullet graph. + * @Default {90} + */ + height?: number; + + /** Sets a value whether to make the bullet graph responsive on resize. + * @Default {true} + */ + isResponsive?: boolean; + + /** Bullet graph will render in the specified orientation. + * @Default {horizontal} + */ + orientation?: ej.datavisualization.BulletGraph.Orientation | string; + + /** Contains property to customize the qualitative ranges. + */ + qualitativeRanges?: QualitativeRange[]; + + /** Size of the qualitative range depends up on the specified value. + * @Default {32} + */ + qualitativeRangeSize?: number; + + /** Length of the quantitative range depends up on the specified value. + * @Default {475} + */ + quantitativeScaleLength?: number; + + /** Contains all the properties to customize quantitative scale. + */ + quantitativeScaleSettings?: QuantitativeScaleSettings; + + /** By specifying this property the user can change the theme of the bullet graph. + * @Default {flatlight} + */ + theme?: string; + + /** Contains all the properties to customize tooltip. + */ + tooltipSettings?: TooltipSettings; + + /** Feature measure bar in bullet graph render till the specified value. + * @Default {0} + */ + value?: number; + + /** Specifies the width of the bullet graph. + * @Default {595} + */ + width?: number; + + /** Fires on rendering the caption of bullet graph. */ + drawCaption?(e: DrawCaptionEventArgs): void; - /** Name of the event - */ - type?: string; -} + /** Fires on rendering the category. */ + drawCategory?(e: DrawCategoryEventArgs): void; + + /** Fires on rendering the comparative measure symbol. */ + drawComparativeMeasureSymbol?(e: DrawComparativeMeasureSymbolEventArgs): void; -export interface DestroyEventArgs { + /** Fires on rendering the feature measure bar. */ + drawFeatureMeasureBar?(e: DrawFeatureMeasureBarEventArgs): void; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** Fires on rendering the indicator of bullet graph. */ + drawIndicator?(e: DrawIndicatorEventArgs): void; - /** Instance of the chart model object. - */ - model?: any; + /** Fires on rendering the labels. */ + drawLabels?(e: DrawLabelsEventArgs): void; - /** Name of the event - */ - type?: string; -} + /** Fires on rendering the qualitative ranges. */ + drawQualitativeRanges?(e: DrawQualitativeRangesEventArgs): void; -export interface DisplayTextRenderingEventArgs { + /** Fires on loading bullet graph. */ + load?(e: LoadEventArgs): void; + } - /** Text displayed in data label. You can add custom text to the data label - */ - text?: string; + export interface DrawCaptionEventArgs { - /** X-coordinate of data label location - */ - locationX?: number; + /** returns the object of the bullet graph. + */ + Object?: any; - /** Y-coordinate of data label location - */ - locationY?: number; + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; - /** Index of the series in series Collection whose data label is being rendered - */ - seriesIndex?: number; + /** returns the current captionSettings element. + */ + captionElement?: HTMLElement; - /** Index of the point in series whose data label is being rendered - */ - pointIndex?: number; + /** returns the type of the captionSettings. + */ + captionType?: string; + } - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + export interface DrawCategoryEventArgs { - /** Instance of the chart model object. - */ - model?: any; + /** returns the object of the bullet graph. + */ + Object?: any; - /** Name of the event - */ - type?: string; -} + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; -export interface LegendBoundsCalculateEventArgs { + /** returns the options of category element. + */ + categoryElement?: HTMLElement; - /** Height of the legend. - */ - legendBoundsHeight?: number; + /** returns the text value of the category that is drawn. + */ + Value?: string; + } - /** Width of the legend. - */ - legendBoundsWidth?: number; + export interface DrawComparativeMeasureSymbolEventArgs { - /** Number of rows to display the legend items - */ - legendBoundsRows?: number; + /** returns the object of the bullet graph. + */ + Object?: any; - /** Set this option to true to cancel the event. - */ - cancel?: boolean; + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; - /** Instance of the chart model object. - */ - model?: any; + /** returns the options of comparative measure element. + */ + targetElement?: HTMLElement; - /** Name of the event - */ - type?: string; -} + /** returns the value of the comparative measure symbol. + */ + Value?: number; + } -export interface LegendItemClickEventArgs { + export interface DrawFeatureMeasureBarEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the object of the bullet graph. + */ + Object?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; - /** Name of the event - */ - type?: string; + /** returns the options of feature measure element. + */ + currentElement?: HTMLElement; - /** X-coordinate of legend item in pixel - */ - startX?: number; + /** returns the value of the feature measure bar. + */ + Value?: number; + } - /** Y-coordinate of legend item in pixel - */ - startY?: number; + export interface DrawIndicatorEventArgs { - /** Instance of the legend item object that is about to be rendered - */ - LegendItem?: any; + /** returns an object to customize bullet graph indicator text and symbol before rendering it. + */ + indicatorSettings?: any; - /** Options to customize the legend item styles such as border, color, size, etc…, - */ - style?: any; + /** returns the object of bullet graph. + */ + model?: any; - /** Instance that holds information about legend bounds and legend item bounds. - */ - Bounds?: any; + /** returns the type of event. + */ + type?: string; - /** Name of the legend item shape. Use this option to customize legend item shape before rendering - */ - symbolShape?: string; + /** for canceling the event. + */ + cancel?: boolean; + } - /** Instance of the series object corresponding to the legend item - */ - series?: any; -} + export interface DrawLabelsEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the options of the scale element. + */ + scaleElement?: HTMLElement; + + /** returns the current label element. + */ + tickElement?: HTMLElement; + + /** returns the label type. + */ + labelType?: string; + } + + export interface DrawQualitativeRangesEventArgs { + + /** returns the object of the bullet graph. + */ + Object?: any; + + /** returns the index of current range. + */ + rangeIndex?: number; + + /** returns the settings for current range. + */ + rangeOptions?: any; + + /** returns the end value of current range. + */ + rangeEndValue?: number; + } + + export interface LoadEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface CaptionSettingsFont { + + /** Specifies the color of the text in caption. + * @Default {null} + */ + color?: string; + + /** Specifies the fontFamily of caption. Caption text render with this fontFamily + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of caption + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; + + /** Specifies the fontWeight of caption + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; + + /** Specifies the opacity of caption. Caption text render with this opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of caption. Caption text render with this size + * @Default {12px} + */ + size?: string; + } + + export interface CaptionSettingsIndicatorFont { + + /** Specifies the color of the indicator's text. + * @Default {null} + */ + color?: string; + + /** Specifies the fontFamily of indicator. Indicator text render with this fontFamily. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of indicator. Indicator text render with this fontStyle. See FontStyle + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; + + /** Specifies the fontWeight of indicator. Indicator text render with this fontWeight. See FontWeight + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; + + /** Specifies the opacity of indicator text. Indicator text render with this Opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of indicator. Indicator text render with this size. + * @Default {12px} + */ + size?: string; + } + + export interface CaptionSettingsIndicatorLocation { + + /** Specifies the horizontal position of the indicator. + * @Default {10} + */ + x?: number; + + /** Specifies the vertical position of the indicator. + * @Default {60} + */ + y?: number; + } + + export interface CaptionSettingsIndicatorSymbolBorder { + + /** Specifies the border color of indicator symbol. + * @Default {null} + */ + color?: string; + + /** Specifies the border width of indicator symbol. + * @Default {1} + */ + width?: number; + } + + export interface CaptionSettingsIndicatorSymbolSize { + + /** Specifies the height of indicator symbol. + * @Default {10} + */ + height?: number; + + /** Specifies the width of indicator symbol. + * @Default {10} + */ + width?: number; + } + + export interface CaptionSettingsIndicatorSymbol { + + /** Contains property to customize the border of indicator symbol. + */ + border?: CaptionSettingsIndicatorSymbolBorder; + + /** Specifies the color of indicator symbol. + * @Default {null} + */ + color?: string; + + /** Specifies the URL of image that represents indicator symbol. + */ + imageURL?: string; + + /** Specifies the opacity of indicator symbol. + * @Default {1} + */ + opacity?: number; + + /** Specifies the shape of indicator symbol. + */ + shape?: string; + + /** Contains property to customize the size of indicator symbol. + */ + size?: CaptionSettingsIndicatorSymbolSize; + } + + export interface CaptionSettingsIndicator { + + /** Contains property to customize the font of indicator. + */ + font?: CaptionSettingsIndicatorFont; + + /** Contains property to customize the location of indicator. + */ + location?: CaptionSettingsIndicatorLocation; + + /** Specifies the padding to be applied when text position is used. + * @Default {2} + */ + padding?: number; + + /** Contains property to customize the symbol of indicator. + */ + symbol?: CaptionSettingsIndicatorSymbol; + + /** Specifies the text to be displayed as indicator text. By default difference between current value and target will be displayed + */ + text?: string; + + /** Specifies the alignment of indicator with respect to scale based on text position + * @Default {'Near'} + */ + textAlignment?: ej.datavisualization.BulletGraph.TextAlignment | string; + + /** Specifies where indicator text should be anchored when indicator overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. + * Anchoring is not applicable for float position. + * @Default {'start'} + */ + textAnchor?: ej.datavisualization.BulletGraph.TextAnchor | string; + + /** indicator text render in the specified angle. + * @Default {0} + */ + textAngle?: number; + + /** Specifies where indicator should be placed + * @Default {'float'} + */ + textPosition?: ej.datavisualization.BulletGraph.TextPosition | string; + + /** Specifies the space between indicator symbol and text. + * @Default {3} + */ + textSpacing?: number; + + /** Specifies whether indicator will be visible or not. + * @Default {false} + */ + visible?: boolean; + } + + export interface CaptionSettingsLocation { + + /** Specifies the position in horizontal direction + * @Default {17} + */ + x?: number; + + /** Specifies the position in horizontal direction + * @Default {30} + */ + y?: number; + } + + export interface CaptionSettingsSubTitleFont { + + /** Specifies the color of the subtitle's text. + * @Default {null} + */ + color?: string; + + /** Specifies the fontFamily of subtitle. Subtitle text render with this fontFamily. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of subtitle. Subtitle text render with this fontStyle. See FontStyle + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; + + /** Specifies the fontWeight of subtitle. Subtitle text render with this fontWeight. See FontWeight + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; + + /** Specifies the opacity of subtitle. Subtitle text render with this opacity. + * @Default {1} + */ + opacity?: number; + + /** Specifies the size of subtitle. Subtitle text render with this size. + * @Default {12px} + */ + size?: string; + } + + export interface CaptionSettingsSubTitleLocation { + + /** Specifies the horizontal position of the subtitle. + * @Default {10} + */ + x?: number; + + /** Specifies the vertical position of the subtitle. + * @Default {45} + */ + y?: number; + } + + export interface CaptionSettingsSubTitle { + + /** Contains property to customize the font of subtitle. + */ + font?: CaptionSettingsSubTitleFont; + + /** Contains property to customize the location of subtitle. + */ + location?: CaptionSettingsSubTitleLocation; + + /** Specifies the padding to be applied when text position is used. + * @Default {5} + */ + padding?: number; + + /** Specifies the text to be displayed as subtitle. + */ + text?: string; + + /** Specifies the alignment of sub title text with respect to scale. Alignment will not be applied in float position. + * @Default {'Near'} + */ + textAlignment?: ej.datavisualization.BulletGraph.TextAlignment | string; + + /** Specifies where subtitle text should be anchored when sub title text overlaps with other caption group text. Text will be anchored when overlapping + * caption group text are at same position. Anchoring is not applicable for float position. + * @Default {'start'} + */ + textAnchor?: ej.datavisualization.BulletGraph.TextAnchor | string; + + /** Subtitle render in the specified angle. + * @Default {0} + */ + textAngle?: number; + + /** Specifies where sub title text should be placed. + * @Default {'float'} + */ + textPosition?: ej.datavisualization.BulletGraph.TextPosition | string; + } + + export interface CaptionSettings { + + /** Specifies whether trim the labels will be true or false. + * @Default {true} + */ + enableTrim?: boolean; + + /** Contains property to customize the font of caption. + */ + font?: CaptionSettingsFont; + + /** Contains property to customize the indicator. + */ + indicator?: CaptionSettingsIndicator; + + /** Contains property to customize the location. + */ + location?: CaptionSettingsLocation; + + /** Specifies the padding to be applied when text position is used. + * @Default {5} + */ + padding?: number; + + /** Contains property to customize the subtitle. + */ + subTitle?: CaptionSettingsSubTitle; + + /** Specifies the text to be displayed on bullet graph. + */ + text?: string; + + /** Specifies the alignment of caption text with respect to scale. This property will not be applied when text position is float. + * @Default {'Near'} + */ + textAlignment?: ej.datavisualization.BulletGraph.TextAlignment | string; + + /** Specifies caption text anchoring when caption text overlaps with other caption group text. + * Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. + * @Default {'start'} + */ + textAnchor?: ej.datavisualization.BulletGraph.TextAnchor | string; + + /** Specifies the angel in which the caption is rendered. + * @Default {0} + */ + textAngle?: number; + + /** Specifies how caption text should be placed. + * @Default {'float'} + */ + textPosition?: ej.datavisualization.BulletGraph.TextPosition | string; + } + + export interface QualitativeRange { + + /** Specifies the ending range to which the qualitative ranges will render. + * @Default {3} + */ + rangeEnd?: number; + + /** Specifies the opacity for the qualitative ranges. + * @Default {1} + */ + rangeOpacity?: number; + + /** Specifies the stroke for the qualitative ranges. + * @Default {null} + */ + rangeStroke?: string; + } + + export interface QuantitativeScaleSettingsComparativeMeasureSettings { + + /** Specifies the stroke of the comparative measure. + * @Default {null} + */ + stroke?: number; + + /** Specifies the width of the comparative measure. + * @Default {5} + */ + width?: number; + } + + export interface QuantitativeScaleSettingsFeaturedMeasureSettings { + + /** Specifies the Stroke of the featured measure in bullet graph. + * @Default {null} + */ + stroke?: number; + + /** Specifies the width of the featured measure in bullet graph. + * @Default {2} + */ + width?: number; + } + + export interface QuantitativeScaleSettingsFeatureMeasure { + + /** Specifies the category of feature measure. + * @Default {null} + */ + category?: string; + + /** Comparative measure render till the specified value. + * @Default {null} + */ + comparativeMeasureValue?: number; + + /** Feature measure render till the specified value. + * @Default {null} + */ + value?: number; + } + + export interface QuantitativeScaleSettingsFields { + + /** Specifies the category of the bullet graph. + * @Default {null} + */ + category?: string; + + /** Comparative measure render based on the values in the specified field. + * @Default {null} + */ + comparativeMeasure?: string; + + /** Specifies the dataSource for the bullet graph. + * @Default {null} + */ + dataSource?: any; + + /** Feature measure render based on the values in the specified field. + * @Default {null} + */ + featureMeasures?: string; + + /** Specifies the query for fetching the values form data source to render the bullet graph. + * @Default {null} + */ + query?: string; + + /** Specifies the name of the table. + * @Default {null} + */ + tableName?: string; + } + + export interface QuantitativeScaleSettingsLabelSettingsFont { + + /** Specifies the fontFamily of labels in bullet graph. Labels render with this fontFamily. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the fontStyle of labels in bullet graph. Labels render with this fontStyle. See FontStyle + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.BulletGraph.FontStyle | string; + + /** Specifies the fontWeight of labels in bullet graph. Labels render with this fontWeight. See FontWeight + * @Default {regular} + */ + fontWeight?: ej.datavisualization.BulletGraph.FontWeight | string; + + /** Specifies the opacity of labels in bullet graph. Labels render with this opacity + * @Default {1} + */ + opacity?: number; + } + + export interface QuantitativeScaleSettingsLabelSettings { + + /** Contains property to customize the font of the labels in bullet graph. + */ + font?: QuantitativeScaleSettingsLabelSettingsFont; + + /** Specifies the placement of labels in bullet graph scale. + * @Default {outside} + */ + labelPlacement?: ej.datavisualization.BulletGraph.LabelPlacement | string; + + /** Specifies the prefix to be added with labels in bullet graph. + * @Default {Empty string} + */ + labelPrefix?: string; + + /** Specifies the suffix to be added after labels in bullet graph. + * @Default {Empty string} + */ + labelSuffix?: string; + + /** Specifies the horizontal/vertical padding of labels. + * @Default {15} + */ + offset?: number; + + /** Specifies the position of the labels to render either above or below the graph. See Position + * @Default {below} + */ + position?: ej.datavisualization.BulletGraph.LabelPosition | string; + + /** Specifies the Size of the labels. + * @Default {12} + */ + size?: number; + + /** Specifies the stroke color of the labels in bullet graph. + * @Default {null} + */ + stroke?: string; + } + + export interface QuantitativeScaleSettingsLocation { + + /** This property specifies the x position for rendering quantitative scale. + * @Default {10} + */ + x?: number; + + /** This property specifies the y position for rendering quantitative scale. + * @Default {10} + */ + y?: number; + } + + export interface QuantitativeScaleSettingsMajorTickSettings { + + /** Specifies the size of the major ticks. + * @Default {13} + */ + size?: number; + + /** Specifies the stroke color of the major tick lines. + * @Default {null} + */ + stroke?: string; + + /** Specifies the width of the major tick lines. + * @Default {2} + */ + width?: number; + } + + export interface QuantitativeScaleSettingsMinorTickSettings { + + /** Specifies the size of minor ticks. + * @Default {7} + */ + size?: number; + + /** Specifies the stroke color of minor ticks in bullet graph. + * @Default {null} + */ + stroke?: string; + + /** Specifies the width of the minor ticks in bullet graph. + * @Default {2} + */ + width?: number; + } + + export interface QuantitativeScaleSettings { + + /** Contains property to customize the comparative measure. + */ + comparativeMeasureSettings?: QuantitativeScaleSettingsComparativeMeasureSettings; + + /** Contains property to customize the featured measure. + */ + featuredMeasureSettings?: QuantitativeScaleSettingsFeaturedMeasureSettings; + + /** Contains property to customize the featured measure. + */ + featureMeasures?: QuantitativeScaleSettingsFeatureMeasure[]; + + /** Contains property to customize the fields. + */ + fields?: QuantitativeScaleSettingsFields; + + /** Specifies the interval for the Graph. + * @Default {1} + */ + interval?: number; + + /** Contains property to customize the labels. + */ + labelSettings?: QuantitativeScaleSettingsLabelSettings; + + /** Contains property to customize the position of the quantitative scale + */ + location?: QuantitativeScaleSettingsLocation; + + /** Contains property to customize the major tick lines. + */ + majorTickSettings?: QuantitativeScaleSettingsMajorTickSettings; + + /** Specifies the maximum value of the Graph. + * @Default {10} + */ + maximum?: number; + + /** Specifies the minimum value of the Graph. + * @Default {0} + */ + minimum?: number; + + /** Contains property to customize the minor ticks. + */ + minorTickSettings?: QuantitativeScaleSettingsMinorTickSettings; + + /** The specified number of minor ticks will be rendered per interval. + * @Default {4} + */ + minorTicksPerInterval?: number; + + /** Specifies the placement of ticks to render either inside or outside the scale. + * @Default {ej.datavisualization.BulletGraph.TickPlacement.Outside} + */ + tickPlacement?: ej.datavisualization.BulletGraph.TickPlacement | string; + + /** Specifies the position of the ticks to render either above,below or inside + * @Default {ej.datavisualization.BulletGraph.TickPosition.Far} + */ + tickPosition?: ej.datavisualization.BulletGraph.TickPosition | string; + } + + export interface TooltipSettings { + + /** Specifies template for caption tooltip + * @Default {null} + */ + captionTemplate?: string; + + /** Toggles the visibility of caption tooltip + * @Default {false} + */ + enableCaptionTooltip?: boolean; + + /** Specifies the ID of a div, which is to be displayed as tooltip. + * @Default {null} + */ + template?: string; + + /** Toggles the visibility of tooltip + * @Default {true} + */ + visible?: boolean; + } + } + namespace BulletGraph { + enum FontStyle { + //string + Normal, + //string + Italic, + //string + Oblique, + } + } + namespace BulletGraph { + enum FontWeight { + //string + Normal, + //string + Bold, + //string + Bolder, + //string + Lighter, + } + } + namespace BulletGraph { + enum TextAlignment { + //string + Near, + //string + Far, + //string + Center, + } + } + namespace BulletGraph { + enum TextAnchor { + //string + Start, + //string + Middle, + //string + End, + } + } + namespace BulletGraph { + enum TextPosition { + //string + Top, + //string + Right, + //string + Left, + //string + Bottom, + //string + Float, + } + } + namespace BulletGraph { + enum FlowDirection { + //string + Forward, + //string + Backward, + } + } + namespace BulletGraph { + enum Orientation { + //string + Horizontal, + //string + Vertical, + } + } + namespace BulletGraph { + enum LabelPlacement { + //string + Inside, + //string + Outside, + } + } + namespace BulletGraph { + enum LabelPosition { + //string + Above, + //string + Below, + } + } + namespace BulletGraph { + enum TickPlacement { + //string + Inside, + //string + Outside, + } + } + namespace BulletGraph { + enum TickPosition { + //string + Below, + //string + Above, + //string + Cross, + } + } + + class Barcode extends ej.Widget { + static fn: Barcode; + constructor(element: JQuery | Element, options?: Barcode.Model); + static Locale: any; + model: Barcode.Model; + defaults: Barcode.Model; + + /** To disable the barcode + * @returns {void} + */ + disable(): void; + + /** To enable the barcode + * @returns {void} + */ + enable(): void; + } + export namespace Barcode { + + export interface Model { + + /** Specifies the distance between the barcode and text below it. + */ + barcodeToTextGapHeight?: number; + + /** Specifies the height of bars in the Barcode. By modifying the barHeight, the entire barcode height can be customized. + * Please refer to xDimension for two dimensional barcode height customization. + */ + barHeight?: number; + + /** Specifies the dark bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. + */ + darkBarColor?: any; + + /** Specifies whether the text below the barcode is visible or hidden. + */ + displayText?: boolean; + + /** Specifies whether the control is enabled. + */ + enabled?: boolean; + + /** Specifies the start and stop encode symbol in the Barcode. In one dimensional barcodes, an additional character is added as start and stop delimiters. + * These symbols are optional and the unique of the symbol allows the reader to determine the direction of the barcode being scanned. + */ + encodeStartStopSymbol?: number; + + /** Specifies the light bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. + */ + lightBarColor?: any; + + /** Specifies the width of the narrow bars in the barcode. The dark bars in the one dimensional barcode contains random narrow and wide bars based on + * the provided input which can be specified during initialization. + */ + narrowBarWidth?: number; + + /** Specifies the width of the quiet zone. In barcode, a quiet zone is the blank margin on either side of a barcode which informs the reader where a barcode's symbology starts and stops. + * The purpose of a quiet zone is to prevent the reader from picking up unrelated information. + */ + quietZone?: QuietZone; + + /** Specifies the type of the Barcode. See SymbologyType + */ + symbologyType?: ej.datavisualization.Barcode.SymbologyType | string; + + /** Specifies the text to be encoded in the barcode. + */ + text?: string; + + /** Specifies the color of the text/data at the bottom of the barcode. + */ + textColor?: any; + + /** Specifies the width of the wide bars in the barcode. One dimensional barcode usually contains random narrow and wide bars based on the provided which can be customized during initialization. + */ + wideBarWidth?: number; + + /** Specifies the width of the narrowest element(bar or space) in a barcode. The greater the x dimension, the more easily a barcode reader will scan. + */ + xDimension?: number; + + /** Fires after Barcode control is loaded. */ + load?(e: LoadEventArgs): void; + } + + export interface LoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the barcode model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** return the barcode state + */ + status?: boolean; + } + + export interface QuietZone { + + /** Specifies the quiet zone around the Barcode. + */ + all?: number; + + /** Specifies the bottom quiet zone of the Barcode. + */ + bottom?: number; + + /** Specifies the left quiet zone of the Barcode. + */ + left?: number; + + /** Specifies the right quiet zone of the Barcode. + */ + right?: number; + + /** Specifies the top quiet zone of the Barcode. + */ + top?: number; + } + } + namespace Barcode { + enum SymbologyType { + //Represents the QR code + QRBarcode, + //Represents the Data Matrix barcode + DataMatrix, + //Represents the Code 39 barcode + Code39, + //Represents the Code 39 Extended barcode + Code39Extended, + //Represents the Code 11 barcode + Code11, + //Represents the Codabar barcode + Codabar, + //Represents the Code 32 barcode + Code32, + //Represents the Code 93 barcode + Code93, + //Represents the Code 93 Extended barcode + Code93Extended, + //Represents the Code 128 A barcode + Code128A, + //Represents the Code 128 B barcode + Code128B, + //Represents the Code 128 C barcode + Code128C, + } + } + + class Map extends ej.Widget { + static fn: Map; + constructor(element: JQuery | Element, options?: Map.Model); + static Locale: any; + model: Map.Model; + defaults: Map.Model; + + /** Method for navigating to specific shape based on latitude, longitude and zoom level. + * @param {number} Pass the latitude value for map + * @param {number} Pass the longitude value for map + * @param {number} Pass the zoom level for map + * @returns {void} + */ + navigateTo(latitude: number, longitude: number, level: number): void; + + /** Method to perform map panning + * @param {string} Pass the direction in which map should be panned + * @returns {void} + */ + pan(direction: string): void; + + /** Method to reload the map. + * @returns {void} + */ + refresh(): void; + + /** Method to reload the shapeLayers with updated values + * @returns {void} + */ + refreshLayers(): void; + + /** Method to reload the navigation control with updated values. + * @param {any} Pass the navigation control instance + * @returns {void} + */ + refreshNavigationControl(navigation: any): void; + + /** Method to perform map zooming. + * @param {number} Pass the zoom level for map to be zoomed + * @param {boolean} Pass the boolean value to enable or disable animation while zooming + * @returns {void} + */ + zoom(level: number, isAnimate: boolean): void; + } + export namespace Map { + + export interface Model { + + /** Specifies the background color for map + * @Default {transparent} + */ + background?: string; + + /** Specifies the index of the map to determine the shape layer to be displayed + * @Default {0} + */ + baseMapIndex?: number; + + /** Specify the center position where map should be displayed + * @Default {[0,0]} + */ + centerPosition?: any; + + /** Enables or Disables the map animation + * @Default {false} + */ + enableAnimation?: boolean; + + /** Enables or Disables the animation for layer change in map + * @Default {false} + */ + enableLayerChangeAnimation?: boolean; + + /** Enables or Disables the map panning + * @Default {true} + */ + enablePan?: boolean; + + /** Determines whether map need to resize when container is resized + * @Default {true} + */ + enableResize?: boolean; + + /** Enables or Disables the Zooming for map. + */ + zoomSettings?: ZoomSettings; + + /** Enables or Disables the navigation control for map to perform zooming and panning on map shapes. + */ + navigationControl?: NavigationControl; + + /** Layer for holding the map shapes + */ + layers?: Layer[]; + + /** Triggered on selecting the map markers. */ + markerSelected?(e: MarkerSelectedEventArgs): void; + + /** Triggers while leaving the hovered map shape */ + mouseleave?(e: MouseleaveEventArgs): void; + + /** Triggers while hovering the map shape. */ + mouseover?(e: MouseoverEventArgs): void; + + /** Triggers once map render completed. */ + onRenderComplete?(e: OnRenderCompleteEventArgs): void; + + /** Triggers when map panning ends. */ + panned?(e: PannedEventArgs): void; + + /** Triggered on selecting the map shapes. */ + shapeSelected?(e: ShapeSelectedEventArgs): void; + + /** Triggered when map is zoomed-in. */ + zoomedIn?(e: ZoomedInEventArgs): void; + + /** Triggers when map is zoomed out. */ + zoomedOut?(e: ZoomedOutEventArgs): void; + } -export interface LegendItemMouseMoveEventArgs { + export interface MarkerSelectedEventArgs { + + /** Returns marker object. + */ + originalEvent?: any; + } + + export interface MouseleaveEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Returns hovered map shape object. + */ + originalEvent?: any; + } - /** Instance of the chart model object - */ - model?: any; + export interface MouseoverEventArgs { - /** Name of the event - */ - type?: string; + /** Returns hovered map shape object. + */ + originalEvent?: any; + } - /** X-coordinate of legend item in pixel - */ - startX?: number; + export interface OnRenderCompleteEventArgs { - /** Y-coordinate of legend item in pixel - */ - startY?: number; + /** Event parameters from map + */ + originalEvent?: any; + } - /** Instance of the legend item object that is about to be rendered - */ - LegendItem?: any; + export interface PannedEventArgs { - /** Options to customize the legend item styles such as border, color, size, etc…, - */ - style?: any; + /** Event parameters from map + */ + originalEvent?: any; + } - /** Options to customize the legend item styles such as border, color, size, etc…, - */ - Bounds?: any; + export interface ShapeSelectedEventArgs { - /** Name of the legend item shape. Use this option to customize legend item shape before rendering - */ - symbolShape?: string; + /** Returns selected shape object. + */ + originalEvent?: any; + } - /** Instance of the series object corresponding to the legend item - */ - series?: any; -} + export interface ZoomedInEventArgs { -export interface LegendItemRenderingEventArgs { + /** Event parameters from map + */ + originalEvent?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Returns zoom level value for which the map is zoomed. + */ + zoomLevel?: any; + } - /** Instance of the chart model object - */ - model?: any; + export interface ZoomedOutEventArgs { - /** Name of the event - */ - type?: string; + /** Event parameters from map + */ + originalEvent?: any; - /** X-coordinate of legend item in pixel - */ - startX?: number; + /** Returns zoom level value for which the map is zoomed. + */ + zoomLevel?: any; + } - /** Y-coordinate of legend item in pixel - */ - startY?: number; + export interface ZoomSettings { - /** Instance of the legend item object that is about to be rendered - */ - legendItem?: any; + /** Enables or Disables the zooming of map + * @Default {true} + */ + enableZoom?: boolean; - /** Options to customize the legend item styles such as border, color, size, etc. - */ - style?: any; + /** Enables or Disables the zoom on selecting the map shape + * @Default {false} + */ + enableZoomOnSelection?: boolean; - /** Name of the legend item shape. Use this option to customize legend item shape before rendering - */ - symbolShape?: string; -} + /** Specifies the zoom factor for map zoom value. + * @Default {1} + */ + factor?: number; -export interface LoadEventArgs { + /** Specifies the zoom level value for which map to be zoomed + * @Default {1} + */ + level?: number; + + /** Specifies the minimum zoomSettings level of the map + * @Default {1} + */ + minValue?: number; + + /** Specifies the maximum zoom level of the map + * @Default {100} + */ + maxValue?: number; + } + + export interface NavigationControl { + + /** Set the absolutePosition for navigation control + * @Default {{x:0,y:0}} + */ + absolutePosition?: any; + + /** Specifies the navigation control template for map + * @Default {null} + */ + content?: string; + + /** Set the dockPosition value for navigation control + * @Default {centerleft} + */ + dockPosition?: ej.datavisualization.Map.Position | string; + + /** Enables or Disables the Navigation for handling zooming map + * @Default {false} + */ + enableNavigation?: boolean; + + /** Set the orientation value for navigation control + * @Default {vertical} + */ + orientation?: ej.datavisualization.Map.LabelOrientation | string; + } + + export interface LayersBubbleSettingsColorMappingsRangeColorMapping { + + /** Start range colorMappings in the bubble layer. + * @Default {null} + */ + from?: number; + + /** End range colorMappings in the bubble layer. + * @Default {null} + */ + to?: number; + + /** GradientColors in the bubble layer of map. + */ + gradientColors?: any[]; + + /** Color of the bubble layer. + * @Default {null} + */ + color?: string; + } + + export interface LayersBubbleSettingsColorMappings { + + /** Specifies the range colorMappings in the bubble layer. + * @Default {null} + */ + rangeColorMapping?: LayersBubbleSettingsColorMappingsRangeColorMapping[]; + } + + export interface LayersBubbleSettings { + + /** Specifies the bubble Opacity value of bubbles for shape layer in map + * @Default {0.9} + */ + bubbleOpacity?: number; + + /** Specifies the mouse hover color of the shape layer in map + * @Default {gray} + */ + color?: string; + + /** Specifies the colorMappings of the shape layer in map + * @Default {null} + */ + colorMappings?: LayersBubbleSettingsColorMappings; + + /** Specifies the bubble color valuePath of the shape layer in map + * @Default {null} + */ + colorValuePath?: string; + + /** Specifies the maximum size value of bubbles for shape layer in map + * @Default {20} + */ + maxValue?: number; + + /** Specifies the minimum size value of bubbles for shape layer in map + * @Default {10} + */ + minValue?: number; + + /** Specifies the showBubble visibility status map + * @Default {true} + */ + showBubble?: boolean; + + /** Specifies the tooltip visibility status of the shape layer in map + * @Default {false} + */ + showTooltip?: boolean; + + /** Specifies the bubble tooltip template of the shape layer in map + * @Default {null} + */ + tooltipTemplate?: string; + + /** Specifies the bubble valuePath of the shape layer in map + * @Default {null} + */ + valuePath?: string; + } + + export interface LayersLabelSettings { + + /** enable or disable the enableSmartLabel property + * @Default {false} + */ + enableSmartLabel?: boolean; + + /** set the labelLength property + * @Default {'2'} + */ + labelLength?: number; + + /** set the labelPath property + * @Default {null} + */ + labelPath?: string; + + /** The property specifies whether to show labels or not. + * @Default {false} + */ + showLabels?: boolean; + + /** set the smartLabelSize property + * @Default {fixed} + */ + smartLabelSize?: ej.datavisualization.Map.LabelSize | string; + } + + export interface LayersLegendSettings { + + /** Determines whether the legend should be placed outside or inside the map bounds + * @Default {false} + */ + dockOnMap?: boolean; + + /** Determines the legend placement and it is valid only when dockOnMap is true + * @Default {top} + */ + dockPosition?: ej.datavisualization.Map.DockPosition | string; + + /** height value for legend setting + * @Default {0} + */ + height?: number; + + /** to get icon value for legend setting + * @Default {rectangle} + */ + icon?: ej.datavisualization.Map.LegendIcons | string; + + /** icon height value for legend setting + * @Default {20} + */ + iconHeight?: number; + + /** icon Width value for legend setting + * @Default {20} + */ + iconWidth?: number; + + /** set the orientation of legend labels + * @Default {vertical} + */ + labelOrientation?: ej.datavisualization.Map.LabelOrientation | string; + + /** to get leftLabel value for legend setting + * @Default {null} + */ + leftLabel?: string; + + /** to get mode of legend setting + * @Default {default} + */ + mode?: ej.datavisualization.Map.Mode | string; + + /** set the position of legend settings + * @Default {topleft} + */ + position?: ej.datavisualization.Map.Position | string; + + /** x position value for legend setting + * @Default {0} + */ + positionX?: number; + + /** y position value for legend setting + * @Default {0} + */ + positionY?: number; + + /** to get rightLabel value for legend setting + * @Default {null} + */ + rightLabel?: string; + + /** Enables or Disables the showLabels + * @Default {false} + */ + showLabels?: boolean; + + /** Enables or Disables the showLegend + * @Default {false} + */ + showLegend?: boolean; + + /** to get title of legend setting + * @Default {null} + */ + title?: string; + + /** to get type of legend setting + * @Default {layers} + */ + type?: ej.datavisualization.Map.LegendType | string; + + /** width value for legend setting + * @Default {0} + */ + width?: number; + } + + export interface LayersShapeSettingsColorMappingsRangeColorMapping { + + /** Specifies the start range colorMappings in the shape layer of map. + * @Default {null} + */ + from?: number; + + /** Specifies the to range colorMappings in the shape layer of map. + * @Default {null} + */ + to?: number; + + /** Specifies the gradientColors in the shape layer of map. + * @Default {null} + */ + gradientColors?: any[]; + } + + export interface LayersShapeSettingsColorMappingsEqualColorMapping { + + /** Specifies the equalColorMapping value in the shape layer of map. + * @Default {null} + */ + value?: string; + + /** Specifies the equalColorMapping color in the shape layer of map. + * @Default {null} + */ + color?: string; + } + + export interface LayersShapeSettingsColorMappings { + + /** Specifies the range colorMappings in the shape layer of map. + * @Default {null} + */ + rangeColorMapping?: LayersShapeSettingsColorMappingsRangeColorMapping[]; + + /** Specifies the equalColorMapping in the shape layer of map. + * @Default {null} + */ + equalColorMapping?: LayersShapeSettingsColorMappingsEqualColorMapping[]; + } + + export interface LayersShapeSettings { + + /** Enables or Disables the auto fill colors for shape layer in map. When this property value set to true, shapes will be filled with palette colors. + * @Default {false} + */ + autoFill?: boolean; + + /** Specifies the colorMappings of the shape layer in map + * @Default {null} + */ + colorMappings?: LayersShapeSettingsColorMappings; + + /** Specifies the shape color palette value of the shape layer in map. Accepted colorPalette values are palette1, palette2, palette3 and custompalette. + * @Default {palette1} + */ + colorPalette?: ej.datavisualization.Map.ColorPalette | string; + + /** Specifies the shape color valuePath of the shape layer in map + * @Default {null} + */ + colorValuePath?: string; + + /** Enables or Disables the gradient colors for map shapes. + * @Default {false} + */ + enableGradient?: boolean; + + /** Specifies the shape fill color of the shape layer in map + * @Default {#E5E5E5} + */ + fill?: string; + + /** Specifies the mouse over width of the shape layer in map + * @Default {1} + */ + highlightBorderWidth?: number; + + /** Specifies the mouse hover color of the shape layer in map + * @Default {gray} + */ + highlightColor?: string; + + /** Specifies the mouse over stroke color of the shape layer in map + * @Default {#C1C1C1} + */ + highlightStroke?: string; + + /** Specifies the shape selection color of the shape layer in map + * @Default {gray} + */ + selectionColor?: string; + + /** Specifies the shape selection stroke color of the shape layer in map + * @Default {#C1C1C1} + */ + selectionStroke?: string; + + /** Specifies the shape selection stroke width of the shape layer in map + * @Default {1} + */ + selectionStrokeWidth?: number; + + /** Specifies the shape stroke color of the shape layer in map + * @Default {#C1C1C1} + */ + stroke?: string; + + /** Specifies the shape stroke thickness value of the shape layer in map + * @Default {0.2} + */ + strokeThickness?: number; + + /** Specifies the shape valuePath of the shape layer in map + * @Default {null} + */ + valuePath?: string; + } + + export interface Layer { + + /** to get the type of bing map. + * @Default {aerial} + */ + bingMapType?: ej.datavisualization.Map.BingMapType | string; + + /** Specifies the bubble settings for map + */ + bubbleSettings?: LayersBubbleSettings; + + /** Specifies the datasource for the shape layer + */ + dataSource?: any; + + /** Specifies the data path of shape + */ + shapeDataPath?: string; + + /** Specifies the data path of shape + */ + shapePropertyPath?: string; + + /** Enables or disables the shape mouse hover + * @Default {false} + */ + enableMouseHover?: boolean; + + /** Enables or disables the shape selection + * @Default {true} + */ + enableSelection?: boolean; + + /** to get the key of bing map + * @Default {null} + */ + key?: string; + + /** Options for enabling and configuring labelSettings labelPath, smartLabelSize, labelLength etc., + */ + labelSettings?: LayersLabelSettings; + + /** Specifies the map view type. + * @Default {'geographic'} + */ + geometryType?: ej.datavisualization.Map.GeometryType | string; + + /** Specifies the map type. + * @Default {'geometry'} + */ + layerType?: ej.datavisualization.Map.LayerType | string; + + /** Options for enabling and configuring legendSettings position, height, width, mode, type etc., + */ + legendSettings?: LayersLegendSettings; + + /** Specifies the map items template for shapes. + */ + mapItemsTemplate?: string; + + /** Specify markers for shape layer. + * @Default {[]} + */ + markers?: any[]; + + /** Specifies the map marker template for map layer. + * @Default {null} + */ + markerTemplate?: string; + + /** Specify selectedMapShapes for shape layer + * @Default {[]} + */ + selectedMapShapes?: any[]; + + /** Specifies the selection mode of the map. Accepted selection mode values are Default and Multiple. + * @Default {default} + */ + selectionMode?: ej.datavisualization.Map.SelectionMode | string; + + /** Specifies the shape data for the shape layer + */ + shapeData?: any; + + /** Specifies the shape settings of map layer + */ + shapeSettings?: LayersShapeSettings; + + /** Shows or hides the map items. + * @Default {false} + */ + showMapItems?: boolean; + + /** Shows or hides the tooltip for shapes + * @Default {false} + */ + showTooltip?: boolean; + + /** Specifies the tooltip template for shapes. + */ + tooltipTemplate?: string; + + /** Specifies the URL template for the OSM type map. + * @Default {'http://a.tile.openstreetmap.org/level/tileX/tileY.png'} + */ + urlTemplate?: string; + } + } + namespace Map { + enum Position { + //specifies the none position + None, + //specifies the topleft position + Topleft, + //specifies the topcenter position + Topcenter, + //specifies the topright position + Topright, + //specifies the centerleft position + Centerleft, + //specifies the center position + Center, + //specifies the centerright position + Centerright, + //specifies the bottomleft position + Bottomleft, + //specifies the bottomcenter position + Bottomcenter, + //specifies the bottomright position + Bottomright, + } + } + namespace Map { + enum LabelOrientation { + //specifies the horizontal position + Horizontal, + //specifies the vertical position + Vertical, + } + } + namespace Map { + enum BingMapType { + //specifies the aerial type + Aerial, + //specifies the aerialwithlabel type + Aerialwithlabel, + //specifies the road type + Road, + } + } + namespace Map { + enum LabelSize { + //specifies the fixed size + Fixed, + //specifies the default size + Default, + } + } + namespace Map { + enum GeometryType { + //specifies the geographic view of map + Geographic, + //specifies the normal land view of map + Normal, + } + } + namespace Map { + enum LayerType { + //specifies the geometry type + Geometry, + //specifies the osm type + Osm, + //specifies the bing type + Bing, + } + } + namespace Map { + enum DockPosition { + //specifies the top position + Top, + //specifies the bottom position + Bottom, + //specifies the bottom position + Right, + //specifies the left position + Left, + } + } + namespace Map { + enum LegendIcons { + //specifies the rectangle position + Rectangle, + //specifies the circle position + Circle, + } + } + namespace Map { + enum Mode { + //specifies the default mode + Default, + //specifies the interactive mode + Interactive, + } + } + namespace Map { + enum LegendType { + //specifies the layers type + Layers, + //specifies the bubbles type + Bubbles, + } + } + namespace Map { + enum SelectionMode { + //specifies the default position + Default, + //specifies the multiple position + Multiple, + } + } + namespace Map { + enum ColorPalette { + //specifies the palette1 color + Palette1, + //specifies the palette2 color + Palette2, + //specifies the palette3 color + Palette3, + //specifies the custom color + Custompalette, + } + } + + class TreeMap extends ej.Widget { + static fn: TreeMap; + constructor(element: JQuery | Element, options?: TreeMap.Model); + static Locale: any; + model: TreeMap.Model; + defaults: TreeMap.Model; + + /** Method to reload treemap with updated values. + * @returns {void} + */ + refresh(): void; + } + export namespace TreeMap { + + export interface Model { + + /** Specifies the border brush color of the treemap + * @Default {white} + */ + borderBrush?: string; + + /** Specifies the border thickness of the treemap + * @Default {1} + */ + borderThickness?: number; + + /** Specifies the uniColorMapping settings of the treemap + */ + uniColorMapping?: UniColorMapping; + + /** Specifies the desaturationColorMapping settings of the treemap + */ + desaturationColorMapping?: DesaturationColorMapping; + + /** Specifies the paletteColorMapping of the treemap + */ + paletteColorMapping?: PaletteColorMapping; + + /** Specifies the color value path of the treemap + * @Default {null} + */ + colorValuePath?: string; + + /** Specifies the datasource of the treemap + * @Default {null} + */ + dataSource?: any; + + /** Specifies the dockPosition for legend + * @Default {top} + */ + dockPosition?: ej.datavisualization.TreeMap.DockPosition | string; + + /** specifies the drillDown header color + * @Default {'null'} + */ + drillDownHeaderColor?: string; + + /** specifies the drillDown selection color + * @Default {'#000000'} + */ + drillDownSelectionColor?: string; + + /** Specifies whether datasource is hierarchical or not. + * @Default {false} + */ + isHierarchicalDatasource?: boolean; + + /** Specifies the header for parent item during drilldown. This is applicable only for hierarchical data source. + * @Default {null} + */ + header?: string; + + /** Enable/Disable the drillDown for treemap + * @Default {false} + */ + enableDrillDown?: boolean; + + /** Controls whether Treemap has to be responsive while resizing the window. + * @Default {true} + */ + isResponsive?: boolean; + + /** Specifies whether treemap need to resize when container is resized + * @Default {true} + */ + enableResize?: boolean; + + /** This property is used to select treemap items while clicking and dragging + * @Default {false} + */ + draggingOnSelection?: boolean; + + /** This property is used to select group of treemap items while clicking and dragging + * @Default {false} + */ + draggingGroupOnSelection?: boolean; + + /** Specifies the group color mapping of the treemap + * @Default {[]} + */ + groupColorMapping?: GroupColorMapping[]; + + /** Specifies the legend settings of the treemap + */ + legendSettings?: LegendSettings; + + /** Specifies the highlight border brush of treemap + * @Default {gray} + */ + highlightBorderBrush?: string; + + /** Specifies the border thickness when treemap items is highlighted in the treemap + * @Default {5} + */ + highlightBorderThickness?: number; + + /** Specifies the highlight border brush of treemap + * @Default {gray} + */ + highlightGroupBorderBrush?: string; + + /** Specifies the border thickness when treemap items is highlighted in the treemap + * @Default {5} + */ + highlightGroupBorderThickness?: number; + + /** Specifies whether treemap item need to highlighted on selection + * @Default {false} + */ + highlightGroupOnSelection?: boolean; + + /** Specifies whether treemap item need to highlighted on selection + * @Default {false} + */ + highlightOnSelection?: boolean; + + /** Specifies the items layout mode of the treemap. Accepted itemsLayoutMode values are Squarified, SliceAndDiceHorizontal, SliceAndDiceVertical and SliceAndDiceAuto + * @Default {Squarified} + */ + itemsLayoutMode?: ej.datavisualization.TreeMap.ItemsLayoutMode | string; + + /** Specifies the leaf settings of the treemap + */ + leafItemSettings?: LeafItemSettings; + + /** Specifies the rangeColorMapping settings of the treemap + * @Default {[]} + */ + rangeColorMapping?: RangeColorMapping[]; + + /** Specifies the selection mode of treemap item. Accepted selection mode values are Default and Multiple. + * @Default {default} + */ + selectionMode?: ej.datavisualization.TreeMap.selectionMode | string; + + /** Specifies the selection mode of the treemap. Accepted selection mode values are Default and Multiple. + * @Default {default} + */ + groupSelectionMode?: ej.datavisualization.TreeMap.groupSelectionMode | string; + + /** Specifies the legend visibility status of the treemap + * @Default {false} + */ + showLegend?: boolean; + + /** Specifies whether gradient color has to be applied for treemap items + * @Default {false} + */ + enableGradient?: boolean; + + /** Specifies whether treemap showTooltip need to be visible + */ + showTooltip?: boolean; + + /** Specifies the tooltip template of the treemap + * @Default {null} + */ + tooltipTemplate?: string; + + /** Hold the treeMapItems to be displayed in treemap + * @Default {[]} + */ + treeMapItems?: any[]; + + /** Specify levels of treemap for grouped visualization of data + * @Default {[]} + */ + levels?: Level[]; + + /** Specifies the weight value path of the treemap + * @Default {null} + */ + weightValuePath?: string; + + /** Triggers on treemap item selected. */ + treeMapItemSelected?(e: TreeMapItemSelectedEventArgs): void; + } + + export interface TreeMapItemSelectedEventArgs { + + /** Returns selected treeMapItem object. + */ + originalEvent?: any; + } + + export interface UniColorMapping { + + /** Specifies the uniform color mapping of the treemap + * @Default {null} + */ + color?: string; + } + + export interface DesaturationColorMapping { + + /** Specifies the to value for desaturation color mapping + * @Default {0} + */ + to?: number; + + /** Specifies the color for desaturationColorMapping + * @Default {null} + */ + color?: string; + + /** Specifies the from value for desaturation color mapping + * @Default {0} + */ + from?: number; + + /** Specifies the rangeMaximum value for desaturation color mapping + * @Default {0} + */ + rangeMaximum?: number; + + /** Specifies the rangeMinimum value for desaturation color mapping + * @Default {0} + */ + rangeMinimum?: number; + } + + export interface PaletteColorMapping { + + /** Specifies the colors of the paletteColorMapping + * @Default {[]} + */ + colors?: any[]; + } + + export interface GroupColorMapping { + + /** Specifies the groupID for GroupColorMapping. + * @Default {null} + */ + groupID?: string; + } + + export interface LegendSettings { + + /** Specifies the height for legend + * @Default {30} + */ + height?: number; + + /** Specifies the width for legend + * @Default {100} + */ + width?: number; + + /** Specifies the iconHeight for legend + * @Default {15} + */ + iconHeight?: number; + + /** Specifies the iconWidth for legend + * @Default {15} + */ + iconWidth?: number; + + /** Specifies the template for legendSettings + * @Default {null} + */ + template?: string; + + /** Specifies the mode for legendSettings whether default or interactive mode + * @Default {default} + */ + mode?: string; + + /** Specifies the title text for legend + */ + title?: string; + + /** Specifies the leftLabel text for legend + */ + leftLabel?: string; + + /** Specifies the rightLabel text for legend + */ + rightLabel?: string; + + /** Specifies the dockPosition text for legend + * @Default {top} + */ + dockPosition?: string; + + /** Specifies the alignment text for legend + * @Default {near} + */ + alignment?: string; + + /** Specifies the alignment text for legend + * @Default {0} + */ + columnCount?: number; + } + + export interface LeafItemSettings { + + /** Specifies the border brush color of the leaf item. + * @Default {white} + */ + borderBrush?: string; + + /** Specifies the border thickness of the leaf item. + * @Default {1} + */ + borderThickness?: number; + + /** Specifies the label template of the leaf item. + * @Default {null} + */ + itemTemplate?: string; + + /** Specifies the label path of the leaf item. + * @Default {null} + */ + labelPath?: string; + + /** Specifies the position of the leaf labels. + * @Default {center} + */ + labelPosition?: ej.datavisualization.TreeMap.Position | string; + + /** Specifies the mode of label visibility + * @Default {visible} + */ + labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode | string; + + /** Shows or hides the label of the leaf item. + * @Default {false} + */ + showLabels?: boolean; + } + + export interface RangeColorMapping { + + /** Specifies the color value for rangeColorMapping. + * @Default {null} + */ + color?: string; + + /** specifies the gradient colors for th given range value + * @Default {[]} + */ + gradientColors?: any[]; + + /** Specifies the from value for rangeColorMapping. + * @Default {-1} + */ + from?: number; + + /** Specifies the legend label value for rangeColorMapping. + * @Default {null} + */ + legendLabel?: string; + + /** Specifies the to value for rangeColorMapping. + * @Default {-1} + */ + to?: number; + } + + export interface Level { + + /** specifies the group background + * @Default {null} + */ + groupBackground?: string; + + /** Specifies the group border color for tree map level. + * @Default {null} + */ + groupBorderColor?: string; + + /** Specifies the group border thickness for tree map level. + * @Default {1} + */ + groupBorderThickness?: number; + + /** Specifies the group gap for tree map level. + * @Default {1} + */ + groupGap?: number; + + /** Specifies the group padding for tree map level. + * @Default {4} + */ + groupPadding?: number; + + /** Specifies the group path for tree map level. + */ + groupPath?: string; + + /** Specifies the header height for tree map level. + * @Default {0} + */ + headerHeight?: number; + + /** Specifies the header template for tree map level. + * @Default {null} + */ + headerTemplate?: string; + + /** Specifies the mode of header visibility + * @Default {visible} + */ + headerVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode | string; + + /** Specifies the position of the labels. + * @Default {center} + */ + labelPosition?: ej.datavisualization.TreeMap.Position | string; + + /** Specifies the label template for tree map level. + * @Default {null} + */ + labelTemplate?: string; + + /** Specifies the mode of label visibility + * @Default {visible} + */ + labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode | string; + + /** Shows or hides the header for tree map level. + * @Default {false} + */ + showHeader?: boolean; + + /** Shows or hides the labels for tree map level. + * @Default {false} + */ + showLabels?: boolean; + } + } + namespace TreeMap { + enum DockPosition { + //specifies the top position + Top, + //specifies the bottom position + Bottom, + //specifies the bottom position + Right, + //specifies the left position + Left, + } + } + namespace TreeMap { + enum ItemsLayoutMode { + //specifies the squarified as layout type position + Squarified, + //specifies the sliceanddicehorizontal as layout type position + Sliceanddicehorizontal, + //specifies the sliceanddicevertical as layout type position + Sliceanddicevertical, + //specifies the sliceanddiceauto as layout type position + Sliceanddiceauto, + } + } + namespace TreeMap { + enum Position { + //specifies the none position + None, + //specifies the topleft position + Topleft, + //specifies the topcenter position + Topcenter, + //specifies the topright position + Topright, + //specifies the centerleft position + Centerleft, + //specifies the center position + Center, + //specifies the centerright position + Centerright, + //specifies the bottomleft position + Bottomleft, + //specifies the bottomcenter position + Bottomcenter, + //specifies the bottomright position + Bottomright, + } + } + namespace TreeMap { + enum VisibilityMode { + //specifies the visible mode + Top, + //specifies the hide on exceeded length mode + Hideonexceededlength, + } + } + namespace TreeMap { + enum selectionMode { + //specifies the default mode + Default, + //specifies the multiple mode + Multiple, + } + } + namespace TreeMap { + enum groupSelectionMode { + //specifies the default mode + Default, + //specifies the multiple mode + Multiple, + } + } + + class Diagram extends ej.Widget { + static fn: Diagram; + constructor(element: JQuery | Element, options?: Diagram.Model); + static Locale: any; + model: Diagram.Model; + defaults: Diagram.Model; + + /** Add nodes and connectors to diagram at runtime + * @param {any} a JSON to define a node/connector or an array of nodes and connector + * @returns {boolean} + */ + add(node: any): boolean; + + /** Add a label to a node at runtime + * @param {string} name of the node to which label will be added + * @param {any} JSON for the new label to be added + * @returns {void} + */ + addLabel(nodeName: string, newLabel: any): void; + + /** Add dynamic Lanes to swimlane at runtime + * @param {any} JSON for the new lane to be added + * @param {number} Index value to add the lane in swimlane + * @returns {void} + */ + addLane(lane: any, index: number): void; + + /** Add a phase to a swimlane at runtime + * @param {string} name of the swimlane to which the phase will be added + * @param {any} JSON object to define the phase to be added + * @returns {void} + */ + addPhase(name: string, options: any): void; + + /** Add a collection of ports to the node specified by name + * @param {string} name of the node to which the ports have to be added + * @param {Array} a collection of ports to be added to the specified node + * @returns {void} + */ + addPorts(name: string, ports: any[]): void; + + /** Add the specified node to selection list + * @param {any} the node to be selected + * @param {boolean} to define whether to clear the existing selection or not + * @returns {void} + */ + addSelection(node: any, clearSelection?: boolean): void; + + /** Align the selected objects based on the reference object and direction + * @param {string} to specify the direction towards which the selected objects are to be aligned("left","right",top","bottom") + * @returns {void} + */ + align(direction: string): void; + + /** Bring the specified portion of the diagram content to the diagram viewport + * @param {any} the rectangular region that is to be brought into diagram viewport + * @returns {void} + */ + bringIntoView(rect: any): void; + + /** Bring the specified portion of the diagram content to the center of the diagram viewport + * @param {any} the rectangular region that is to be brought to the center of diagram viewport + * @returns {void} + */ + bringToCenter(rect: any): void; + + /** Visually move the selected object over all other intersected objects + * @returns {void} + */ + bringToFront(): void; + + /** Remove all the elements from diagram + * @returns {void} + */ + clear(): void; + + /** Clears the actions which is recorded to perform undo/redo operation in the diagram. + * @returns {void} + */ + clearHistory(): void; + + /** Remove the current selection in diagram + * @returns {void} + */ + clearSelection(): void; + + /** Copy the selected object to internal clipboard and get the copied object + * @returns {any} + */ + copy(): any; + + /** Cut the selected object from diagram to diagram internal clipboard + * @returns {void} + */ + cut(): void; + + /** Export the diagram as downloadable files or as data + * @param {Diagram.Options} options to export the desired region of diagram to the desired formats. + * @returns {string} + */ + exportDiagram(options?: Diagram.Options): string; + + /** Read a node/connector object by its name + * @param {string} name of the node/connector that is to be identified + * @returns {any} + */ + findNode(name: string): any; + + /** Fit the diagram content into diagram viewport + * @param {string} to set the mode of fit to command. See [Fit Mode](/api/js/global#fitmode) + * @param {string} to set whether the region to be fit will be based on diagram elements or page settings [Region](/api/js/global#region) + * @param {any} to set the required margin + * @returns {void} + */ + fitToPage(mode?: string, region?: string, margin?: any): void; + + /** Group the selected nodes and connectors + * @returns {void} + */ + group(): void; + + /** Insert a label into a node's label collection at runtime + * @param {string} name of the node to which the label has to be inserted + * @param {any} JSON to define the new label + * @param {number} index to insert the label into the node + * @returns {void} + */ + insertLabel(name: string, label: any, index?: number): void; + + /** Refresh the diagram with the specified layout + * @returns {void} + */ + layout(): void; + + /** Load the diagram + * @param {any} JSON data to load the diagram + * @returns {void} + */ + load(data: any): void; + + /** Visually move the selected object over its closest intersected object + * @returns {void} + */ + moveForward(): void; + + /** Move the selected objects by either one pixel or by the pixels specified through argument + * @param {string} specifies the direction to move the selected objects ("left","right",top","bottom") + * @param {number} specifies the number of pixels by which the selected objects have to be moved + * @returns {void} + */ + nudge(direction: string, delta?: number): void; + + /** Paste the selected object from internal clipboard to diagram + * @param {any} object to be added to diagram + * @param {boolean} to define whether the specified object is to be renamed or not + * @returns {void} + */ + paste(object?: any, rename?: boolean): void; + + /** Print the diagram as image + * @returns {void} + */ + print(): void; + + /** Restore the last action that was reverted + * @returns {void} + */ + redo(): void; + + /** Refresh the diagram at runtime + * @returns {void} + */ + refresh(): void; + + /** Remove either the given node/connector or the selected element from diagram + * @param {any} the node/connector to be removed from diagram + * @returns {void} + */ + remove(node?: any): void; + + /** Remove a particular object from selection list + * @param {any} the node/connector to be removed from selection list + * @returns {void} + */ + removeSelection(node: any): void; + + /** Scale the selected objects to the height of the first selected object + * @returns {void} + */ + sameHeight(): void; + + /** Scale the selected objects to the size of the first selected object + * @returns {void} + */ + sameSize(): void; + + /** Scale the selected objects to the width of the first selected object + * @returns {void} + */ + sameWidth(): void; + + /** Returns the diagram as serialized JSON + * @returns {any} + */ + save(): any; + + /** Bring the node into view + * @param {any} the node/connector to be brought into view + * @returns {void} + */ + scrollToNode(node: any): void; + + /** Select all nodes and connector in diagram + * @returns {void} + */ + selectAll(): void; + + /** Visually move the selected object behind its closest intersected object + * @returns {void} + */ + sendBackward(): void; + + /** Visually move the selected object behind all other intersected objects + * @returns {void} + */ + sendToBack(): void; + + /** Update the horizontal space between the selected objects as equal and within the selection boundary + * @returns {void} + */ + spaceAcross(): void; + + /** Update the vertical space between the selected objects as equal and within the selection boundary + * @returns {void} + */ + spaceDown(): void; + + /** Move the specified label to edit mode + * @param {any} node/connector that contains the label to be edited + * @param {any} to be edited + * @returns {void} + */ + startLabelEdit(node: any, label: any): void; + + /** Reverse the last action that was performed + * @returns {void} + */ + undo(): void; + + /** Ungroup the selected group + * @returns {void} + */ + ungroup(): void; + + /** Update diagram at runtime + * @param {any} JSON to specify the diagram properties that have to be modified + * @returns {void} + */ + update(options: any): void; + + /** Update Connectors at runtime + * @param {string} name of the connector to be updated + * @param {any} JSON to specify the connector properties that have to be updated + * @returns {void} + */ + updateConnector(name: string, options: any): void; + + /** Update the given label at runtime + * @param {string} the name of node/connector which contains the label to be updated + * @param {any} the label to be modified + * @param {any} JSON to specify the label properties that have to be updated + * @returns {any} + */ + updateLabel(nodeName: string, label: any, options: any): any; + + /** Update nodes at runtime + * @param {string} name of the node that is to be updated + * @param {any} JSON to specify the properties of node that have to be updated + * @returns {void} + */ + updateNode(name: string, options: any): void; + + /** Update a port with its modified properties at runtime + * @param {string} the name of node which contains the port to be updated + * @param {any} the port to be updated + * @param {any} JSON to specify the properties of the port that have to be updated + * @returns {void} + */ + updatePort(nodeName: string, port: any, options: any): void; + + /** Update the specified node as selected object + * @param {string} name of the node to be updated as selected object + * @returns {void} + */ + updateSelectedObject(name: string): void; + + /** Update the selection at runtime + * @param {boolean} to specify whether to show the user handles or not + * @returns {void} + */ + updateSelection(showUserHandles?: boolean): void; + + /** Update user handles with respect to the given node + * @param {any} node/connector with respect to which, the user handles have to be updated + * @returns {void} + */ + updateUserHandles(node: any): void; + + /** Update the diagram viewport at runtime + * @returns {void} + */ + updateViewPort(): void; + + /** Upgrade the diagram from old version + * @param {any} to be upgraded + * @returns {void} + */ + upgrade(data: any): void; + + /** Used to zoomIn/zoomOut diagram + * @param {Diagram.Zoom} options to zoom the diagram(zoom factor, zoomIn/zoomOut) + * @returns {void} + */ + zoomTo(Zoom?: Diagram.Zoom): void; + } + export namespace Diagram { + + export interface Options { + + /** name of the file to be downloaded. + */ + fileName?: string; + + /** format of the exported file/data. See [File Formats](/api/js/global#fileformats). + */ + format?: string; + + /** to set whether to export diagram as a file or as raw data. See [Export Modes](/api/js/global#exportmodes). + */ + mode?: string; + + /** to set the region of the diagram to be exported. See [Region](/api/js/global#region). + */ + region?: string; + + /** to export any custom region of diagram. + */ + bounds?: any; + + /** to set margin to the exported data. + */ + margin?: any; + + /** to set stretch to the exported data. + */ + stretch?: string; + } + + export interface Zoom { + + /** Used to increase the zoom-in or zoom-out based on the zoom factor value. + */ + zoomFactor?: number; + + /** Used to zoom-in or zoom-out the diagram. + */ + zoomCommand?: ej.datavisualization.Diagram.ZoomCommand; + + /** Used to zoom-in or zoom-out the diagram based on the point. + */ + focusPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + } + + export interface Model { + + /** Defines the background color of diagram elements + * @Default {transparent} + */ + backgroundColor?: string; + + /** Defines the path of the background image of diagram elements + */ + backgroundImage?: string; + + /** Sets the direction of line bridges. + * @Default {ej.datavisualization.Diagram.BridgeDirection.Top} + */ + bridgeDirection?: ej.datavisualization.Diagram.BridgeDirection | string; + + /** Defines a set of custom commands and binds them with a set of desired key gestures. + */ + commandManager?: CommandManager; + + /** A collection of JSON objects where each object represents a connector + * @Default {[]} + */ + connectors?: Connector[]; + + /** Binds the custom JSON data with connector properties + * @Default {null} + */ + connectorTemplate?: any; + + /** Enables/Disables the default behaviors of the diagram. + * @Default {ej.datavisualization.Diagram.DiagramConstraints.All} + */ + constraints?: ej.datavisualization.Diagram.DiagramConstraints | string; + + /** An object to customize the context menu of diagram + */ + contextMenu?: ContextMenu; + + /** Configures the data source that is to be bound with diagram + */ + dataSourceSettings?: DataSourceSettings; + + /** Initializes the default values for nodes and connectors + * @Default {{}} + */ + defaultSettings?: DefaultSettings; + + /** Sets the type of JSON object to be drawn through drawing tool + * @Default {{}} + */ + drawType?: any; + + /** Enables or disables auto scroll in diagram + * @Default {true} + */ + enableAutoScroll?: boolean; + + /** Enables or disables diagram context menu + * @Default {true} + */ + enableContextMenu?: boolean; + + /** Specifies the height of the diagram + * @Default {null} + */ + height?: string; + + /** Customizes the undo redo functionality + */ + historyManager?: HistoryManager; + + /** Defines the type of the rendering mode of label. + * @Default {Html} + */ + labelRenderingMode?: ej.datavisualization.Diagram.LabelRenderingMode | string; + + /** Automatically arranges the nodes and connectors in a predefined manner. + */ + layout?: Layout; + + /** Defines the current culture of diagram + * @Default {en-US} + */ + locale?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Array of JSON objects where each object represents a node + * @Default {[]} + */ + nodes?: Node[]; - /** Instance of the chart model object - */ - model?: any; + /** Binds the custom JSON data with node properties + * @Default {null} + */ + nodeTemplate?: any; - /** Name of the event - */ - type?: string; -} + /** Defines the size and appearance of diagram page + */ + pageSettings?: PageSettings; -export interface RangeSelectedEventArgs { + /** Defines the zoom value, zoom factor, scroll status and view port size of the diagram + */ + scrollSettings?: ScrollSettings; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Defines the size and position of selected items and defines the appearance of selector + */ + selectedItems?: SelectedItems; - /** Instance of the chart model object - */ - model?: any; + /** Enables or disables tooltip of diagram + * @Default {true} + */ + showTooltip?: boolean; - /** Name of the event - */ - type?: string; + /** Defines the gridlines and defines how and when the objects have to be snapped + */ + snapSettings?: SnapSettings; - /** Selected data collection of object - */ - data?: any; -} + /** Enables/Disables the interactive behaviors of diagram. + * @Default {ej.datavisualization.Diagram.Tool.All} + */ + tool?: ej.datavisualization.Diagram.Tool | string; -export interface PointRegionClickEventArgs { + /** An object that defines the description, appearance and alignments of tooltips + * @Default {null} + */ + tooltip?: Tooltip; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Specifies the width of the diagram + * @Default {null} + */ + width?: string; - /** Instance of the chart model object - */ - model?: any; + /** Sets the factor by which we can zoom in or zoom out + * @Default {0.2} + */ + zoomFactor?: number; - /** Name of the event - */ - type?: string; + /** Triggers When auto scroll is changed */ + autoScrollChange?(e: AutoScrollChangeEventArgs): void; - /** X-coordinate of point in pixel - */ - locationX?: number; + /** Triggers when a node, connector or diagram is clicked */ + click?(e: ClickEventArgs): void; - /** Y-coordinate of point in pixel - */ - locationY?: number; + /** Triggers when the connection is changed */ + connectionChange?(e: ConnectionChangeEventArgs): void; - /** Index of the point in series - */ - pointIndex?: number; + /** Triggers when the connector collection is changed */ + connectorCollectionChange?(e: ConnectorCollectionChangeEventArgs): void; - /** Index of the series in series collection to which the point belongs - */ - seriesIndex?: number; -} + /** Triggers when the connectors' source point is changed */ + connectorSourceChange?(e: ConnectorSourceChangeEventArgs): void; -export interface PointRegionMouseMoveEventArgs { + /** Triggers when the connectors' target point is changed */ + connectorTargetChange?(e: ConnectorTargetChangeEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Triggers before opening the context menu */ + contextMenuBeforeOpen?(e: ContextMenuBeforeOpenEventArgs): void; - /** Instance of the chart model object - */ - model?: any; + /** Triggers when a context menu item is clicked */ + contextMenuClick?(e: ContextMenuClickEventArgs): void; - /** Name of the event - */ - type?: string; + /** Triggers when a node, connector or diagram model is clicked twice */ + doubleClick?(e: DoubleClickEventArgs): void; - /** X-coordinate of point in pixel - */ - locationX?: number; + /** Triggers while dragging the elements in diagram */ + drag?(e: DragEventArgs): void; - /** Y-coordinate of point in pixel - */ - locationY?: number; + /** Triggers when a symbol is dragged into diagram from symbol palette */ + dragEnter?(e: DragEnterEventArgs): void; - /** Index of the point in series - */ - pointIndex?: number; + /** Triggers when a symbol is dragged outside of the diagram. */ + dragLeave?(e: DragLeaveEventArgs): void; - /** Index of the series in series collection to which the point belongs - */ - seriesIndex?: number; -} + /** Triggers when a symbol is dragged over diagram */ + dragOver?(e: DragOverEventArgs): void; -export interface PreRenderEventArgs { + /** Triggers when a symbol is dragged and dropped from symbol palette to drawing area */ + drop?(e: DropEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Triggers when editor got focus at the time of node's label or text node editing. */ + editorFocusChange?(e: EditorFocusChangeEventArgs): void; - /** Instance of the chart model object - */ - model?: any; + /** Triggers when a child is added to or removed from a group */ + groupChange?(e: GroupChangeEventArgs): void; - /** Name of the event - */ - type?: string; -} + /** Triggers when a change is reverted or restored(undo/redo) */ + historyChange?(e: HistoryChangeEventArgs): void; -export interface SeriesRegionClickEventArgs { + /** Triggers when a diagram element is clicked */ + itemClick?(e: ItemClickEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Triggers when mouse enters a node/connector */ + mouseEnter?(e: MouseEnterEventArgs): void; - /** Instance of the chart model object - */ - model?: any; + /** Triggers when mouse leaves node/connector */ + mouseLeave?(e: MouseLeaveEventArgs): void; - /** Name of the event - */ - type?: string; + /** Triggers when mouse hovers over a node/connector */ + mouseOver?(e: MouseOverEventArgs): void; - /** Instance of the selected series - */ - series?: any; + /** Triggers when node collection is changed */ + nodeCollectionChange?(e: NodeCollectionChangeEventArgs): void; - /** Index of the selected series - */ - seriesIndex?: number; -} + /** Triggers when the node properties(x, y,width and height alone) are changed using nudge commands or updateNode API. */ + propertyChange?(e: PropertyChangeEventArgs): void; -export interface SeriesRenderingEventArgs { + /** Triggers when the diagram elements are rotated */ + rotationChange?(e: RotationChangeEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Triggers when the diagram is zoomed or panned */ + scrollChange?(e: ScrollChangeEventArgs): void; - /** Instance of the chart model object - */ - model?: any; + /** Triggers when a connector segment is edited */ + segmentChange?(e: SegmentChangeEventArgs): void; - /** Name of the event - */ - type?: string; + /** Triggers when the selection is changed in diagram */ + selectionChange?(e: SelectionChangeEventArgs): void; - /** Instance of the series which is about to get rendered - */ - series?: any; -} + /** Triggers when a node is resized */ + sizeChange?(e: SizeChangeEventArgs): void; -export interface SymbolRenderingEventArgs { + /** Triggers when label editing is ended */ + textChange?(e: TextChangeEventArgs): void; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** Triggered when the diagram is rendered completely. */ + create?(e: CreateEventArgs): void; + } - /** Instance of the chart model object - */ - model?: any; + export interface AutoScrollChangeEventArgs { - /** Name of the event - */ - type?: string; + /** Returns the delay between subsequent auto scrolls + */ + delay?: string; - /** Instance that holds the location of marker symbol - */ - location?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Options to customize the marker style such as color, border and size - */ - style?: any; -} + export interface ClickEventArgs { -export interface TitleRenderingEventArgs { + /** parameter returns the clicked node, connector or diagram + */ + element?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns the object that is actually clicked + */ + actualObject?: number; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the horizontal coordinate of the mouse pointer, relative to the diagram + */ + offsetX?: number; - /** Name of the event - */ - type?: string; + /** parameter returns the vertical coordinate of the mouse pointer, relative to the diagram + */ + offsetY?: number; - /** Option to customize the title location in pixels - */ - location?: any; + /** parameter returns the count of how many times the mouse button is pressed + */ + count?: number; - /** Read-only option to find the size of the title - */ - size?: any; + /** parameter returns the actual click event arguments that explains which button is clicked + */ + event?: any; - /** Use this option to add custom text in title - */ - title?: string; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface ToolTipInitializeEventArgs { + export interface ConnectionChangeEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns the connection that is changed between nodes, ports or points + */ + element?: any; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the new source node or target node of the connector + */ + connection?: string; - /** Name of the event - */ - type?: string; + /** parameter returns the new source port or target port of the connector + */ + port?: any; - /** Text to be displayed in tooltip. Set this option to customize the text displayed in tooltip - */ - currentText?: string; + /** parameter defines whether to cancel the change or not + */ + cancel?: boolean; - /** Index of the point on which mouse is hovered - */ - pointIndex?: number; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Index of the series in series collection whose point is hovered by mouse - */ - seriesIndex?: number; -} + export interface ConnectorCollectionChangeEventArgs { -export interface TrackAxisToolTipEventArgs { + /** parameter returns whether the connector is inserted or removed + */ + changeType?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns the connector that is to be added or deleted + */ + element?: any; - /** Instance of the chart model object - */ - model?: any; + /** parameter defines whether to cancel the collection change or not + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** triggers before and after adding the connector in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the connector. + */ + state?: string; - /** Location of the crosshair label in pixels - */ - location?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Index of the axis for which crosshair label is displayed - */ - axisIndex?: number; + export interface ConnectorSourceChangeEventArgs { - /** Instance of the chart axis object for which cross hair label is displayed - */ - crossAxis?: number; + /** returns the connector, the source point of which is being dragged + */ + element?: any; - /** Text to be displayed in crosshair label. Use this option to add custom text in crosshair label - */ - currentTrackText?: string; -} + /** returns the source node of the element + */ + node?: any; -export interface TrackToolTipEventArgs { + /** returns the source point of the element + */ + point?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the source port of the element + */ + port?: any; - /** Instance of the chart model object - */ - model?: any; + /** returns the state of connection end point dragging(starting, dragging, completed) + */ + dragState?: string; - /** Name of the event - */ - type?: string; + /** parameter defines whether to cancel the change or not + */ + cancel?: boolean; - /** Location of the trackball tooltip in pixels - */ - location?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; + export interface ConnectorTargetChangeEventArgs { - /** Index of the series in series collection - */ - seriesIndex?: number; + /** parameter returns the connector, the target point of which is being dragged + */ + element?: any; - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; + /** returns the target node of the element + */ + node?: any; - /** Instance of the series object for which trackball tooltip is displayed. - */ - series?: any; -} + /** returns the target point of the element + */ + point?: any; -export interface AxisLabelClickEventArgs { + /** returns the target port of the element + */ + port?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** returns the state of connection end point dragging(starting, dragging, completed) + */ + dragState?: string; - /** Instance of the chart model object - */ - model?: any; + /** parameter defines whether to cancel the change or not + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** X and Y co-ordinate of the labels in chart area. - */ - location?: any; + export interface ContextMenuBeforeOpenEventArgs { - /** Index of the label. - */ - index?: number; + /** parameter returns the diagram object + */ + diagram?: any; - /** Instance of the corresponding axis. - */ - axis?: any; + /** parameter returns the actual arguments from context menu + */ + contextmenu?: any; - /** Label that is clicked. - */ - text?: string; -} + /** parameter returns the object that was clicked + */ + target?: any; -export interface AxisLabelMouseMoveEventArgs { + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Set this option to true to cancel the event - */ - cancel?: boolean; + export interface ContextMenuClickEventArgs { - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the id of the selected context menu item + */ + id?: string; - /** Name of the event - */ - type?: string; + /** parameter returns the text of the selected context menu item + */ + text?: string; - /** X and Y co-ordinate of the labels in chart area. - */ - location?: any; + /** parameter returns the parent id of the selected context menu item + */ + parentId?: string; - /** Index of the label. - */ - index?: number; + /** parameter returns the parent text of the selected context menu item + */ + parentText?: string; - /** Instance of the corresponding axis. - */ - axis?: any; + /** parameter returns the object that was clicked + */ + target?: any; - /** Label that is hovered. - */ - text?: string; -} + /** parameter defines whether to execute the click event or not + */ + canExecute?: boolean; -export interface ChartClickEventArgs { + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Set this option to true to cancel the event - */ - cancel?: boolean; + export interface DoubleClickEventArgs { - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the object that is actually clicked + */ + actualObject?: any; - /** Name of the event - */ - type?: string; + /** parameter returns the selected object + */ + element?: any; - /** X and Y co-ordinate of the points with respect to chart area. - */ - location?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** ID of the target element. - */ - id?: string; + export interface DragEventArgs { - /** Width and height of the chart. - */ - size?: any; + /** parameter returns the node or connector that is being dragged + */ + element?: any; - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** parameter returns the previous position of the node/connector + */ + oldValue?: any; - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; -} + /** parameter returns the new position of the node/connector + */ + newValue?: any; -export interface ChartMouseMoveEventArgs { + /** parameter returns the state of drag event (Starting, dragging, completed) + */ + dragState?: string; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns whether or not to cancel the drag event + */ + cancel?: boolean; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Name of the event - */ - type?: string; + export interface DragEnterEventArgs { - /** X and Y co-ordinate of the points with respect to chart area. - */ - location?: any; + /** parameter returns the node or connector that is dragged into diagram + */ + element?: any; - /** ID of the target element. - */ - id?: string; + /** parameter returns whether to add or remove the symbol from diagram + */ + cancel?: boolean; - /** Width and height of the chart. - */ - size?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + export interface DragLeaveEventArgs { - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; -} + /** parameter returns the node or connector that is dragged outside of the diagram + */ + element?: any; -export interface ChartDoubleClickEventArgs { + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Set this option to true to cancel the event - */ - cancel?: boolean; + export interface DragOverEventArgs { - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the node or connector that is dragged over diagram + */ + element?: any; - /** Name of the event - */ - type?: string; + /** parameter defines whether the symbol can be dropped at the current mouse position + */ + allowDrop?: boolean; - /** X and Y co-ordinate of the points with respect to chart area. - */ - location?: any; + /** parameter returns the node/connector over which the symbol is dragged + */ + target?: any; - /** ID of the target element. - */ - id?: string; + /** parameter returns the previous position of the node/connector + */ + oldValue?: any; - /** Width and height of the chart. - */ - size?: any; + /** parameter returns the new position of the node/connector + */ + newValue?: any; - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** parameter returns whether or not to cancel the dragOver event + */ + cancel?: boolean; - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface AnnotationClickEventArgs { + export interface DropEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns node or connector that is being dropped + */ + element?: any; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns whether or not to cancel the drop event + */ + cancel?: boolean; - /** Name of the event - */ - type?: string; + /** parameter returns the object from where the element is dragged + */ + source?: any; - /** X and Y co-ordinate of the annotation in chart area. - */ - location?: any; + /** parameter returns the object over which the object will be dropped + */ + target?: any; - /** Information about the annotation, like Coordinate unit, Region, content - */ - contentData?: any; + /** parameter returns the enum which defines the type of the source + */ + sourceType?: string; - /** x-coordinate of the pointer, relative to the page - */ - pageX?: number; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** y-coordinate of the pointer, relative to the page - */ - pageY?: number; -} + export interface EditorFocusChangeEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } -export interface AfterResizeEventArgs { + export interface GroupChangeEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns the object that is added to/removed from a group + */ + element?: any; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the old parent group(if any) of the object + */ + oldParent?: any; - /** Name of the event - */ - type?: string; + /** parameter returns the new parent group(if any) of the object + */ + newParent?: any; - /** Chart width, after resize - */ - width?: number; + /** parameter returns the cause of group change("group", unGroup") + */ + cause?: string; - /** Chart height, after resize - */ - height?: number; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Chart width, before resize - */ - prevWidth?: number; + export interface HistoryChangeEventArgs { - /** Chart height, before resize - */ - prevHeight?: number; + /** An array of objects, where each object represents the changes made in last undo/redo. To explore how the changes are defined, refer [Undo Redo Changes](#undo-redo-changes) + */ + changes?: any[]; - /** Chart width, when the chart was first rendered - */ - originalWidth?: number; + /** A collection of objects that are changed in the last undo/redo + */ + Source?: any[]; - /** Chart height, when the chart was first rendered - */ - originalHeight?: number; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface BeforeResizeEventArgs { + export interface ItemClickEventArgs { - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns the object that was actually clicked + */ + actualObject?: any; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the object that is selected + */ + selectedObject?: any; - /** Name of the event - */ - type?: string; + /** parameter returns whether or not to cancel the drop event + */ + cancel?: boolean; - /** Chart width, before resize - */ - currentWidth?: number; + /** parameter returns the actual click event arguments that explains which button is clicked + */ + event?: any; - /** Chart height, before resize - */ - currentHeight?: number; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Chart width, after resize - */ - newWidth?: number; + export interface MouseEnterEventArgs { - /** Chart height, after resize - */ - newHeight?: number; -} + /** parameter returns the target node or connector + */ + element?: any; -export interface ErrorBarRenderingEventArgs { + /** parameter returns the object from where the selected object is dragged + */ + source?: any; - /** Set this option to true to cancel the event - */ - cancel?: boolean; + /** parameter returns the target object over which the selected object is dragged + */ + target?: any; - /** Instance of the chart model object - */ - model?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Name of the event - */ - type?: string; + export interface MouseLeaveEventArgs { - /** Error bar Object - */ - errorbar?: any; -} + /** parameter returns the target node or connector + */ + element?: any; -export interface ScrollChangedEventArgs { + /** parameter returns the object from where the selected object is dragged + */ + source?: any; - /** parameters from RangeNavigator - */ - data?: any; + /** parameter returns the target object over which the selected object is dragged + */ + target?: any; - /** returns the scrollbar position old start and end range value on changing scrollbar - */ - dataoldRange?: any; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** returns the scrollbar position new start and end range value on changing scrollbar - */ - datanewRange?: any; + export interface MouseOverEventArgs { - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** parameter returns the target node or connector + */ + element?: any; - /** returns the RangeNavigator model - */ - model?: any; + /** parameter returns the object from where the element is dragged + */ + source?: any; - /** returns the name of the event - */ - type?: string; -} + /** parameter returns the object over which the element is being dragged. + */ + target?: any; -export interface ScrollStartEventArgs { + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** parameters from RangeNavigator - */ - data?: any; + export interface NodeCollectionChangeEventArgs { - /** returns the scrollbar position starting range value on changing scrollbar - */ - datastartRange?: string; + /** parameter returns whether the node is to be added or removed + */ + changeType?: string; - /** returns the scrollbar position end range value on changing scrollbar - */ - dataendRange?: string; + /** parameter returns the node which needs to be added or deleted + */ + element?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** parameter defines whether to cancel the collection change or not + */ + cancel?: boolean; - /** returns the RangeNavigator model - */ - model?: any; + /** triggers before and after adding the node in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the node + */ + state?: string; - /** returns the name of the event - */ - type?: string; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface ScrollEndEventArgs { + export interface PropertyChangeEventArgs { - /** parameters from RangeNavigator - */ - data?: any; + /** parameter returns the selected element + */ + element?: any; - /** returns the scrollbar position old start and end range value on change end of scrollbar - */ - dataoldRange?: any; + /** parameter returns the action is nudge or not + */ + cause?: string; - /** returns the scrollbar position new start and end range value on change end of scrollbar - */ - datanewRange?: any; + /** parameter returns the new value of the node property that is being changed + */ + newValue?: any; - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** parameter returns the old value of the property that is being changed + */ + oldValue?: any; - /** returns the RangeNavigator model - */ - model?: any; + /** parameter returns the name of the property that is changed + */ + propertyName?: string; - /** returns the name of the event - */ - type?: string; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface AnnotationsMargin { + export interface RotationChangeEventArgs { - /** Annotation is placed at the specified value above its original position. - * @Default {0} - */ - bottom?: number; + /** parameter returns the node that is rotated + */ + element?: any; - /** Annotation is placed at the specified value from left side of its original position. - * @Default {0} - */ - left?: number; + /** parameter returns the previous rotation angle + */ + oldValue?: any; - /** Annotation is placed at the specified value from the right side of its original position. - * @Default {0} - */ - right?: number; + /** parameter returns the new rotation angle + */ + newValue?: any; - /** Annotation is placed at the specified value under its original position. - * @Default {0} - */ - top?: number; -} + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; -export interface Annotation { - - /** Angle to rotate the annotation in degrees. - * @Default {'0'} - */ - angle?: number; - - /** Text content or id of a HTML element to be displayed as annotation. - */ - content?: string; - - /** Specifies how annotations have to be placed in Chart. - * @Default {none. See CoordinateUnit} - */ - coordinateUnit?: ej.datavisualization.Chart.CoordinateUnit|string; - - /** Specifies the horizontal alignment of the annotation. - * @Default {middle. See HorizontalAlignment} - */ - horizontalAlignment?: ej.datavisualization.Chart.HorizontalAlignment|string; - - /** Options to customize the margin of annotation. - */ - margin?: AnnotationsMargin; - - /** Controls the opacity of the annotation. - * @Default {1} - */ - opacity?: number; - - /** Specifies whether annotation has to be placed with respect to chart or series. - * @Default {chart. See Region} - */ - region?: ej.datavisualization.Chart.Region|string; - - /** Specifies the vertical alignment of the annotation. - * @Default {middle. See VerticalAlignment} - */ - verticalAlignment?: ej.datavisualization.Chart.VerticalAlignment|string; - - /** Controls the visibility of the annotation. - * @Default {false} - */ - visible?: boolean; - - /** Represents the horizontal offset when coordinateUnit is pixels.when coordinateUnit is points, it represents the x-coordinate of axis bounded with xAxisName property or primary X axis when xAxisName is not provided.This property is not applicable when coordinateUnit is none. - * @Default {0} - */ - x?: number; - - /** Name of the horizontal axis to be used for positioning the annotation. This property is applicable only when coordinateUnit is points. - */ - xAxisName?: string; - - /** Represents the vertical offset when coordinateUnit is pixels.When coordinateUnit is points, it represents the y-coordinate of axis bounded with yAxisName property or primary Y axis when yAxisName is not provided.This property is not applicable when coordinateUnit is none. - * @Default {0} - */ - y?: number; - - /** Name of the vertical axis to be used for positioning the annotation.This property is applicable only when coordinateUnit is points. - */ - yAxisName?: string; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface Border { + export interface ScrollChangeEventArgs { - /** Border color of the chart. - * @Default {null} - */ - color?: string; + /** Parameter returns the new zoom value, horizontal and vertical scroll offsets. + */ + newValues?: any; - /** Opacity of the chart border. - * @Default {0.3} - */ - opacity?: number; + /** parameter returns the previous zoom value, horizontal and vertical scroll offsets. + */ + oldValues?: any; - /** Width of the Chart border. - * @Default {0} - */ - width?: number; -} + /** parameter returns the id of the diagram + */ + diagramId?: string; + } -export interface ExportSettings { - - /** Specifies the downloading filename - * @Default {chart} - */ - filename?: string; - - /** Specifies the name of the action URL - */ - action?: string; - - /** Specifies the angle for rotation - * @Default {0} - */ - angle?: number; - - /** Specifies the format of the file to export - * @Default {png} - */ - type?: ej.datavisualization.Chart.ExportingType|string; - - /** Specifies the orientation of the document - * @Default {portrait} - */ - orientation?: ej.datavisualization.Chart.ExportingOrientation|string; - - /** Specifies the mode of exporting - * @Default {client} - */ - mode?: ej.datavisualization.Chart.ExportingMode|string; - - /** Enable/ disable the multiple excel exporting - * @Default {false} - */ - multipleExport?: boolean; -} + export interface SegmentChangeEventArgs { -export interface ChartAreaBorder { + /** Parameter returns the connector that is being edited + */ + element?: any; - /** Border color of the plot area. - * @Default {Gray} - */ - color?: string; + /** parameter returns the state of editing (starting, dragging, completed) + */ + dragState?: string; - /** Opacity of the plot area border. - * @Default {0.3} - */ - opacity?: number; + /** parameter returns the current mouse position + */ + point?: any; - /** Border width of the plot area. - * @Default {0.5} - */ - width?: number; -} + /** parameter to specify whether or not to cancel the event + */ + cancel?: boolean; -export interface ChartArea { + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; + export interface SelectionChangeEventArgs { - /** Options for customizing the border of the plot area. - */ - border?: ChartAreaBorder; -} + /** parameter returns whether the item is selected or removed selection + */ + changeType?: string; -export interface ColumnDefinition { + /** parameter returns the item which is selected or to be selected + */ + element?: any; - /** Specifies the unit to measure the width of the column in plotting area. - * @Default {'pixel'. See Unit} - */ - unit?: ej.datavisualization.Chart.Unit|string; + /** parameter returns the collection of nodes and connectors that have to be removed from selection list + */ + oldItems?: any[]; - /** Width of the column in plotting area. Width is measured in either pixel or percentage based on the value of unit property. - * @Default {50} - */ - columnWidth?: number; + /** parameter returns the collection of nodes and connectors that have to be added to selection list + */ + newItems?: any[]; - /** Color of the line that indicates the starting point of the column in plotting area. - * @Default {transparent} - */ - lineColor?: string; + /** parameter returns the collection of nodes and connectors that will be selected after selection change + */ + selectedItems?: any[]; - /** Width of the line that indicates the starting point of the column in plot area. - * @Default {1} - */ - lineWidth?: number; -} + /** parameter to specify whether or not to cancel the selection change event + */ + cancel?: boolean; -export interface CommonSeriesOptionsBorder { + /** triggers before and after adding the selection to the object in the diagram which can be differentiated through `state` argument. + * We can cancel the event only before the selection of the object. + */ + state?: string; - /** Border color of all series. - * @Default {transparent} - */ - color?: string; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** DashArray for border of the series. - * @Default {null} - */ - dashArray?: string; + export interface SizeChangeEventArgs { - /** Border width of all series. - * @Default {1} - */ - width?: number; -} + /** parameter returns node that was resized + */ + element?: any; -export interface CommonSeriesOptionsFont { - - /** Font color of the text in all series. - * @Default {#707070} - */ - color?: string; - - /** Font Family for all the series. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for all the series. - * @Default {normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Specifies the font weight for all the series. - * @Default {regular} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity for text in all the series. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in all the series. - * @Default {12px} - */ - size?: string; -} + /** parameter to cancel the size change + */ + cancel?: boolean; -export interface CommonSeriesOptionsMarkerBorder { + /** parameter returns the new width, height, offsetX and offsetY values of the element that is being resized + */ + newValue?: any; - /** Border color of the marker shape. - * @Default {white} - */ - color?: string; + /** parameter returns the previous width,height,offsetX and offsetY values of the element that is being resized + */ + oldValue?: any; - /** Border width of the marker shape. - * @Default {3} - */ - width?: number; -} + /** parameter returns the state of resizing(starting,resizing,completed) + */ + resizeState?: string; -export interface CommonSeriesOptionsMarkerDataLabelBorder { + /** parameter returns the difference between new and old value + */ + offset?: any; - /** Border color of the data label. - * @Default {null} - */ - color?: string; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Border width of the data label. - * @Default {0.1} - */ - width?: number; -} + export interface TextChangeEventArgs { -export interface CommonSeriesOptionsMarkerDataLabelConnectorLine { + /** parameter returns the node that contains the text being edited + */ + element?: any; - /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. - * @Default {line. See ConnectorLineType} - */ - type?: ej.datavisualization.Chart.ConnectorLineType|string; + /** parameter returns the new text + */ + value?: string; - /** Width of the connector. - * @Default {0.5} - */ - width?: number; + /** parameter returns the keyCode of the key entered + */ + keyCode?: string; - /** Color of the connector line. - * @Default {#565656} - */ - color?: string; + /** parameter returns the id of the diagram + */ + diagramId?: string; + } - /** Height of the connector line. - * @Default {null} - */ - height?: string; -} + export interface CreateEventArgs { + + /** Returns the diagram model. + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** parameter returns the id of the diagram + */ + diagramId?: string; + } + + export interface BackgroundImage { + + /** Defines how to align the background image over the diagram area. + * @Default {ej.datavisualization.Diagram.ImageAlignment.XMidYMid} + */ + alignment?: ej.datavisualization.Diagram.ImageAlignment | string; + } + + export interface CommandManagerCommandsGesture { + + /** Sets the key value, on recognition of which the command will be executed. + * @Default {ej.datavisualization.Diagram.Keys.None} + */ + key?: ej.datavisualization.Diagram.Keys | string; + + /** Sets a combination of key modifiers, on recognition of which the command will be executed. + * @Default {ej.datavisualization.Diagram.KeyModifiers.None} + */ + keyModifiers?: ej.datavisualization.Diagram.KeyModifiers | string; + } + + export interface CommandManagerCommands { + + /** A method that defines whether the command is executable at the moment or not. + */ + canExecute?: any; + + /** A method that defines what to be executed when the key combination is recognized. + */ + execute?: any; + + /** Defines a combination of keys and key modifiers, on recognition of which the command will be executed + */ + gesture?: CommandManagerCommandsGesture; + + /** Defines any additional parameters that are required at runtime + * @Default {null} + */ + parameter?: any; + } + + export interface CommandManager { + + /** An object that maps a set of command names with the corresponding command objects + * @Default {{}} + */ + commands?: CommandManagerCommands; + } + + export interface ConnectorsLabelsMargin { + + /** To set the margin of the label in right direction + * @Default {0} + */ + right?: number; + + /** To set the margin of the label in left direction + * @Default {0} + */ + left?: number; + + /** To set the margin of the label in top direction + * @Default {0} + */ + top?: number; + + /** To set the margin of the label in bottom direction + * @Default {0} + */ + bottom?: number; + } + + export interface ConnectorsLabel { + + /** Defines how the label should be aligned with respect to the segment + * @Default {ej.datavisualization.Diagram.Alignment.Center} + */ + alignment?: ej.datavisualization.Diagram.Alignment | string; + + /** Enables/disables the bold style + * @Default {false} + */ + bold?: boolean; + + /** Sets the border color of the label + * @Default {transparent} + */ + borderColor?: string; + + /** Sets the border width of the label + * @Default {0} + */ + borderWidth?: number; + + /** Defines whether the label should be aligned within the connector boundaries + * @Default {true} + */ + boundaryConstraints?: boolean; + + /** Sets the fill color of the text area + * @Default {transparent} + */ + fillColor?: string; + + /** Sets the font color of the text + * @Default {black} + */ + fontColor?: string; + + /** Sets the font family of the text + * @Default {Arial} + */ + fontFamily?: string; + + /** Defines the font size of the text + * @Default {12} + */ + fontSize?: number; + + /** Sets the horizontal alignment of the label. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** Sets the hyperlink for the labels in the connectors. + * @Default {none} + */ + hyperlink?: string; + + /** Enables/disables the italic style + * @Default {false} + */ + italic?: boolean; + + /** Gets whether the label is currently being edited or not. + * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} + */ + mode?: ej.datavisualization.Diagram.LabelEditMode | string; + + /** Sets the unique identifier of the label + */ + name?: string; + + /** Sets the fraction/ratio(relative to connector) that defines the position of the label + * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} + */ + offset?: any; + + /** Sets the fraction/ratio(relative to connector) that defines the position of the label + * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} + */ + margin?: ConnectorsLabelsMargin; + + /** Defines the transparency of labels + * @Default {1} + */ + opacity?: number; + + /** Defines whether the label is editable or not + * @Default {false} + */ + readOnly?: boolean; + + /** Defines whether the label should be positioned whether relative to segments or connector boundaries + * @Default {ej.datavisualization.Diagram.LabelRelativeMode.SegmentPath} + */ + relativeMode?: ej.datavisualization.Diagram.LabelRelativeMode | string; + + /** Defines the angle to which the label needs to be rotated + * @Default {0} + */ + rotateAngle?: number; + + /** Sets the position of the label with respect to the total segment length + * @Default {0.5} + */ + segmentOffset?: string; + + /** Defines the label text + */ + text?: string; + + /** Defines how to align the text inside the label. + * @Default {ej.datavisualization.Diagram.TextAlign.Center} + */ + textAlign?: ej.datavisualization.Diagram.TextAlign | string; + + /** Sets how to decorate the label text. + * @Default {ej.datavisualization.Diagram.TextDecorations.None} + */ + textDecoration?: ej.datavisualization.Diagram.TextDecorations | string; + + /** Sets the vertical alignment of the label. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; + + /** Enables or disables the visibility of the label + * @Default {true} + */ + visible?: boolean; + + /** Sets the width of the label(the maximum value of label width and the connector width will be considered as label width) + * @Default {50} + */ + width?: number; + + /** Defines how the label text needs to be wrapped. + * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} + */ + wrapping?: ej.datavisualization.Diagram.TextWrapping | string; + } + + export interface ConnectorsSegment { + + /** Sets the direction of orthogonal segment + */ + direction?: string; + + /** Describes the length of orthogonal segment + * @Default {undefined} + */ + length?: number; + + /** Describes the end point of bezier/straight segment + * @Default {Diagram.Point()} + */ + point?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Defines the first control point of the bezier segment + * @Default {null} + */ + point1?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Defines the second control point of bezier segment + * @Default {null} + */ + point2?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Sets the type of the segment. + * @Default {ej.datavisualization.Diagram.Segments.Straight} + */ + type?: ej.datavisualization.Diagram.Segments | string; + + /** Describes the length and angle between the first control point and the start point of bezier segment + * @Default {null} + */ + vector1?: any; + + /** Describes the length and angle between the second control point and end point of bezier segment + * @Default {null} + */ + vector2?: any; + } + + export interface ConnectorsShapeMultiplicitySource { + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + * @Default {true} + */ + optional?: boolean; + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + * @Default {null} + */ + lowerBounds?: number; + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + * @Default {null} + */ + upperBounds?: number; + } + + export interface ConnectorsShapeMultiplicity { + + /** Sets the type of the multiplicity. Applicable, if the connector is of type "classifier" + * @Default {ej.datavisualization.Diagram.Multiplicity.OneToOne} + */ + type?: ej.datavisualization.Diagram.Multiplicity | string; + + /** Defines the source label to connector. Applicable, if the connector is of type "UML" + */ + source?: ConnectorsShapeMultiplicitySource; + + /** Defines the target label to connector. Applicable, if the connector is of type "UML" + * @Default {true} + */ + target?: ej.datavisualization.Diagram.ConnectorsShapeMultiplicitySource; + } + + export interface ConnectorsShape { + + /** Sets the type of the connector + * @Default {ej.datavisualization.Diagram.ConnectorShapes.BPMN} + */ + type?: ej.datavisualization.Diagram.ConnectorShapes | string; + + /** Sets the type of the flow in a BPMN Process + * @Default {ej.datavisualization.Diagram.BPMNFlows.Sequence} + */ + flow?: ej.datavisualization.Diagram.BPMNFlows | string; + + /** Sets the type of the Association in a BPMN Process + * @Default {ej.datavisualization.Diagram.AssociationFlows.Default} + */ + association?: ej.datavisualization.Diagram.AssociationFlows | string; + + /** Sets the type of the message flow. Applicable, if the connector is of type "BPMN" + * @Default {ej.datavisualization.Diagram.BPMNMessageFlows.Default} + */ + message?: ej.datavisualization.Diagram.BPMNMessageFlows | string; + + /** Sets the type of BPMN sequence flow + * @Default {ej.datavisualization.Diagram.BPMNSequenceFlows.Normal} + */ + sequence?: ej.datavisualization.Diagram.BPMNSequenceFlows | string; + + /** Defines the role of the connector in a UML Class Diagram. Applicable, if the type of the connector is "classifier". + * @Default {ej.datavisualization.Diagram.ClassifierShapes.Association} + */ + relationship?: ej.datavisualization.Diagram.ClassifierShapes | string; + + /** Defines the multiplicity option of the connector + * @Default {null} + */ + multiplicity?: ConnectorsShapeMultiplicity; + + /** Defines the shape of UMLActivity to connector. Applicable, if the connector is of type UMLActivity + * @Default {ej.datavisualization.Diagram.UMLActivityFlow.Control} + */ + ActivityFlow?: ej.datavisualization.Diagram.UMLActivityFlow | string; + } + + export interface ConnectorsSourceDecorator { + + /** Sets the border color of the source decorator + * @Default {black} + */ + borderColor?: string; + + /** Sets the border width of the decorator + * @Default {1} + */ + borderWidth?: number; + + /** Sets the fill color of the source decorator + * @Default {black} + */ + fillColor?: string; + + /** Sets the height of the source decorator + * @Default {8} + */ + height?: number; + + /** Defines the custom shape of the source decorator + */ + pathData?: string; + + /** Defines the shape of the source decorator. + * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} + */ + shape?: ej.datavisualization.Diagram.DecoratorShapes | string; + + /** Defines the width of the source decorator + * @Default {8} + */ + width?: number; + } + + export interface ConnectorsSourcePoint { + + /** Defines the x-coordinate of a position + * @Default {0} + */ + x?: number; + + /** Defines the y-coordinate of a position + * @Default {0} + */ + y?: number; + } + + export interface ConnectorsTargetDecorator { + + /** Sets the border color of the decorator + * @Default {black} + */ + borderColor?: string; + + /** Sets the color with which the decorator will be filled + * @Default {black} + */ + fillColor?: string; + + /** Defines the height of the target decorator + * @Default {8} + */ + height?: number; + + /** Defines the custom shape of the target decorator + */ + pathData?: string; + + /** Defines the shape of the target decorator. + * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} + */ + shape?: ej.datavisualization.Diagram.DecoratorShapes | string; + + /** Defines the width of the target decorator + * @Default {8} + */ + width?: number; + } + + export interface Connector { + + /** To maintain additional information about connectors + * @Default {null} + */ + addInfo?: any; + + /** Defines the width of the line bridges + * @Default {10} + */ + bridgeSpace?: number; + + /** Enables or disables the behaviors of connectors. + * @Default {ej.datavisualization.Diagram.ConnectorConstraints.Default} + */ + constraints?: ej.datavisualization.Diagram.ConnectorConstraints | string; + + /** Defines the radius of the rounded corner + * @Default {0} + */ + cornerRadius?: number; + + /** Configures the styles of shapes + */ + cssClass?: string; + + /** Sets the horizontal alignment of the connector. Applicable, if the parent of the connector is a container. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} + */ + horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** A collection of JSON objects where each object represents a label. + * @Default {[]} + */ + labels?: ConnectorsLabel[]; + + /** Sets the stroke color of the connector + * @Default {black} + */ + lineColor?: string; + + /** Sets the pattern of dashes and gaps used to stroke the path of the connector + */ + lineDashArray?: string; + + /** Defines the padding value to ease the interaction with connectors + * @Default {10} + */ + lineHitPadding?: number; + + /** Sets the width of the line + * @Default {1} + */ + lineWidth?: number; + + /** Defines the minimum space to be left between the bottom of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginBottom?: number; + + /** Defines the minimum space to be left between the left of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginLeft?: number; + + /** Defines the minimum space to be left between the right of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginRight?: number; + + /** Defines the minimum space to be left between the top of parent bounds and the connector. Applicable, if the parent is a container. + * @Default {0} + */ + marginTop?: number; + + /** Sets a unique name for the connector + */ + name?: string; + + /** Defines the transparency of the connector + * @Default {1} + */ + opacity?: number; + + /** Defines the size and preview size of the node to add that to symbol palette. To explore palette item, refer Palette Item + * @Default {null} + */ + paletteItem?: any; + + /** Sets the parent name of the connector. + */ + parent?: string; + + /** An array of JSON objects where each object represents a segment + * @Default {[ { type:straight } ]} + */ + segments?: ConnectorsSegment[]; + + /** Defines the role/meaning of the connector + * @Default {null} + */ + shape?: ConnectorsShape; + + /** Defines the source decorator of the connector + * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} + */ + sourceDecorator?: ConnectorsSourceDecorator; + + /** Sets the source node of the connector + */ + sourceNode?: string; + + /** Defines the space to be left between the source node and the source point of a connector + * @Default {0} + */ + sourcePadding?: number; + + /** Describes the start point of the connector + * @Default {ej.datavisualization.Diagram.Point()} + */ + sourcePoint?: ConnectorsSourcePoint; + + /** Sets the source port of the connector + */ + sourcePort?: string; + + /** Defines the target decorator of the connector + * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} + */ + targetDecorator?: ConnectorsTargetDecorator; + + /** Sets the target node of the connector + */ + targetNode?: string; + + /** Defines the space to be left between the target node and the target point of the connector + * @Default {0} + */ + targetPadding?: number; + + /** Describes the end point of the connector + * @Default {ej.datavisualization.Diagram.Point()} + */ + targetPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; + + /** Sets the targetPort of the connector + */ + targetPort?: string; + + /** Defines the tooltip that should be shown when the mouse hovers over connector. For tooltip properties, refer Tooltip + * @Default {null} + */ + tooltip?: any; + + /** To set the vertical alignment of connector (Applicable,if the parent is group). + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} + */ + verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment | string; + + /** Enables or disables the visibility of connector + * @Default {true} + */ + visible?: boolean; + + /** Sets the z-index of the connector + * @Default {0} + */ + zOrder?: number; + } + + export interface ContextMenuItem { + + /** Defines the text for the collection of context menu item + * @Default {null} + */ + text?: string; + + /** Defines the name for the collection of context menu items + * @Default {null} + */ + name?: string; + + /** Defines the image url for the collection of context menu items + * @Default {null} + */ + imageUrl?: string; + + /** Defines the CssClass for the collection of context menu items + * @Default {null} + */ + cssClass?: string; + + /** Defines the collection of sub items for the context menu items + * @Default {[]} + */ + subItems?: any[]; + } + + export interface ContextMenu { + + /** Defines the collection of context menu items + * @Default {[]} + */ + items?: ContextMenuItem[]; + + /** To set whether to display the default context menu items or not + * @Default {false} + */ + showCustomMenuItemsOnly?: boolean; + } + + export interface DataSourceSettings { + + /** Defines the data source either as a collection of objects or as an instance of ej.DataManager + * @Default {null} + */ + dataSource?: any; + + /** Sets the unique id of the data source items + */ + id?: string; + + /** Defines the parent id of the data source item + * @Default {''} + */ + parent?: string; + + /** Describes query to retrieve a set of data from the specified datasource + * @Default {null} + */ + query?: string; + + /** Sets the unique id of the root data source item + */ + root?: string; + + /** Describes the name of the table on which the specified query has to be executed + * @Default {null} + */ + tableName?: string; + } + + export interface DefaultSettings { + + /** Initializes the default connector properties + * @Default {null} + */ + connector?: any; + + /** Initializes the default properties of groups + * @Default {null} + */ + group?: any; + + /** Initializes the default properties for nodes + * @Default {null} + */ + node?: any; + } + + export interface HistoryManager { + + /** A method that takes a history entry as argument and returns whether the specific entry can be popped or not + */ + canPop?: any; + + /** A method that ends grouping the changes + */ + closeGroupAction?: any; + + /** A method that removes the history of a recent change made in diagram + */ + pop?: any; + + /** A method that allows to track the custom changes made in diagram + */ + push?: any; + + /** Defines what should be happened while trying to restore a custom change + * @Default {null} + */ + redo?: any; + + /** The redoStack property is used to get the number of redo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. + * @Default {[]} + */ + redoStack?: any[]; + + /** The stackLimit property used to restrict the undo and redo actions to a certain limit. + * @Default {null} + */ + stackLimit?: number; + + /** A method that starts to group the changes to revert/restore them in a single undo or redo + */ + startGroupAction?: any; + + /** Defines what should be happened while trying to revert a custom change + */ + undo?: any; + + /** The undoStack property is used to get the number of undo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. + * @Default {[]} + */ + undoStack?: any[]; + } + + export interface Layout { + + /** Specifies the custom bounds to arrange/align the layout + * @Default {ej.datavisualization.Diagram.Rectangle()} + */ + bounds?: any; + + /** Defines the fixed node with reference to which, the layout will be arranged and fixed node will not be repositioned + */ + fixedNode?: string; + + /** Customizes the orientation of trees/sub trees. For orientations, see Chart Orientations. For chart types, see Chart Types + * @Default {null} + */ + getLayoutInfo?: any; + + /** Sets the space to be horizontally left between nodes + * @Default {30} + */ + horizontalSpacing?: number; + + /** Defines the space to be left between layout bounds and layout. + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Defines how to horizontally align the layout within the layout bounds + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** Defines how to vertically align the layout within the layout bounds + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; + + /** Sets the orientation/direction to arrange the diagram elements. + * @Default {ej.datavisualization.Diagram.LayoutOrientations.TopToBottom} + */ + orientation?: ej.datavisualization.Diagram.LayoutOrientations | string; + + /** Sets the type of the layout based on which the elements will be arranged. + * @Default {ej.datavisualization.Diagram.LayoutTypes.None} + */ + type?: ej.datavisualization.Diagram.LayoutTypes | string; + + /** Sets the space to be vertically left between nodes + * @Default {30} + */ + verticalSpacing?: number; + } + + export interface NodesAnnotation { + + /** Sets the angle between the BPMN shape and the annotation + * @Default {0} + */ + angle?: number; + + /** Sets the direction of the text annotation + * @Default {ej.datavisualization.Diagram.BPMNAnnotationDirections.Left} + */ + direction?: ej.datavisualization.Diagram.BPMNAnnotationDirection | string; + + /** Sets the height of the text annotation + * @Default {20} + */ + height?: number; + + /** Sets the distance between the BPMN shape and the annotation + * @Default {0} + */ + length?: number; + + /** Defines the additional information about the flow object in a BPMN Process + */ + text?: string; + + /** Sets the width of the text annotation + * @Default {20} + */ + width?: number; + } + + export interface NodesClassAttribute { + + /** Sets the name of the attribute + */ + name?: string; + + /** Sets the data type of attribute + */ + type?: string; + + /** Defines the visibility of the attribute + * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} + */ + scope?: string; + } + + export interface NodesClassMethod { + + /** Sets the visibility of the method. + * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} + */ + scope?: string; + } + + export interface NodesClass { + + /** Sets the name of class. + */ + name?: string; + + /** Defines the collection of attributes + * @Default {[]} + */ + attributes?: NodesClassAttribute[]; + + /** Defines the collection of methods of a Class. + * @Default {[]} + */ + methods?: NodesClassMethod[]; + } + + export interface NodesCollapseIcon { + + /** Sets the border color for collapse icon of node + * @Default {black} + */ + borderColor?: string; + + /** Sets the border width for collapse icon of node + * @Default {1} + */ + borderWidth?: number; + + /** Sets the fill color for collapse icon of node + * @Default {white} + */ + fillColor?: string; + + /** Defines the height for collapse icon of node + * @Default {15} + */ + height?: number; + + /** Sets the horizontal alignment of the icon. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** To set the margin for the collapse icon of node + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Sets the fraction/ratio(relative to node) that defines the position of the icon + * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} + */ + offset?: any; + + /** Defines the shape of the collapsed state of the node. + * @Default {ej.datavisualization.Diagram.IconShapes.None} + */ + shape?: ej.datavisualization.Diagram.IconShapes | string; + + /** Sets the vertical alignment of the icon. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; + } + + export interface NodesContainer { + + /** Defines the orientation of the container. Applicable, if the group is a container. + * @Default {vertical} + */ + orientation?: string; + + /** Sets the type of the container. Applicable if the group is a container. + * @Default {ej.datavisualization.Diagram.ContainerType.Canvas} + */ + type?: ej.datavisualization.Diagram.ContainerType | string; + } + + export interface NodesData { + + /** Sets the type of the BPMN Data object + * @Default {ej.datavisualization.Diagram.BPMNDataObjects.None} + */ + type?: ej.datavisualization.Diagram.BPMNDataObjects | string; + + /** Defines whether the BPMN data object is a collection or not + * @Default {false} + */ + collection?: boolean; + } + + export interface NodesEnumerationMember { + + /** Sets the name of the enumeration member + */ + name?: string; + } + + export interface NodesEnumeration { + + /** Sets the name of the Enumeration + */ + name?: string; + + /** Defines the collection of enumeration members + * @Default {[]} + */ + members?: NodesEnumerationMember[]; + } + + export interface NodesExpandIcon { + + /** Sets the border color for expand icon of node + * @Default {black} + */ + borderColor?: string; + + /** Sets the border width for expand icon of node + * @Default {1} + */ + borderWidth?: number; + + /** Sets the fill color for expand icon of node + * @Default {white} + */ + fillColor?: string; + + /** Defines the height for expand icon of node + * @Default {15} + */ + height?: number; + + /** Sets the horizontal alignment of the icon. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** To set the margin for the expand icon of node + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Sets the fraction/ratio(relative to node) that defines the position of the icon + * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} + */ + offset?: any; + + /** Defines the shape of the expanded state of the node. + * @Default {ej.datavisualization.Diagram.IconShapes.None} + */ + shape?: ej.datavisualization.Diagram.IconShapes | string; + + /** Sets the vertical alignment of the icon. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; + } + + export interface NodesGradientLinearGradient { + + /** Defines the different colors and the region of color transitions + * @Default {[]} + */ + stops?: any[]; + + /** Defines the left most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + x1?: number; + + /** Defines the right most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + x2?: number; + + /** Defines the top most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + y1?: number; + + /** Defines the bottom most position(relative to node) of the rectangular region that needs to be painted + * @Default {0} + */ + y2?: number; + } + + export interface NodesGradientRadialGradient { + + /** Defines the position of the outermost circle + * @Default {0} + */ + cx?: number; + + /** Defines the outer most circle of the radial gradient + * @Default {0} + */ + cy?: number; + + /** Defines the innermost circle of the radial gradient + * @Default {0} + */ + fx?: number; + + /** Defines the innermost circle of the radial gradient + * @Default {0} + */ + fy?: number; + + /** Defines the different colors and the region of color transitions. + * @Default {[]} + */ + stops?: any[]; + } + + export interface NodesGradientStop { + + /** Sets the color to be filled over the specified region + */ + color?: string; + + /** Sets the position where the previous color transition ends and a new color transition starts + * @Default {0} + */ + offset?: number; + + /** Describes the transparency level of the region + * @Default {1} + */ + opacity?: number; + } + + export interface NodesGradient { + + /** Paints the node with linear color transitions + */ + LinearGradient?: NodesGradientLinearGradient; + + /** Paints the node with radial color transitions. A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient. + */ + RadialGradient?: NodesGradientRadialGradient; + + /** Defines the color and a position where the previous color transition ends and a new color transition starts + */ + Stop?: NodesGradientStop; + } + + export interface NodesInterfaceAttribute { + + /** Sets the name of the attribute + */ + name?: string; + + /** Sets the type of the attribute + */ + type?: string; + + /** Sets the visibility of the attribute + */ + scope?: string; + } + + export interface NodesInterfaceMethod { + + /** Sets the visibility of the method + */ + scope?: string; + } + + export interface NodesInterface { + + /** Sets the name of the interface + */ + name?: string; + + /** Defines a collection of attributes of the interface + * @Default {[]} + */ + attributes?: NodesInterfaceAttribute[]; + + /** Defines the collection of public methods of an interface + * @Default {[]} + */ + methods?: NodesInterfaceMethod[]; + } + + export interface NodesLabel { + + /** Enables/disables the bold style + * @Default {false} + */ + bold?: boolean; + + /** Sets the border color of the label + * @Default {transparent} + */ + borderColor?: string; + + /** Sets the border width of the label + * @Default {0} + */ + borderWidth?: number; + + /** Sets the fill color of the text area + * @Default {transparent} + */ + fillColor?: string; + + /** Sets the font color of the text + * @Default {black} + */ + fontColor?: string; + + /** Sets the font family of the text + * @Default {Arial} + */ + fontFamily?: string; + + /** Defines the font size of the text + * @Default {12} + */ + fontSize?: number; + + /** Sets the horizontal alignment of the label. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** Enables/disables the italic style + * @Default {false} + */ + italic?: boolean; + + /** To set the margin of the label + * @Default {ej.datavisualization.Diagram.Margin()} + */ + margin?: any; + + /** Gets whether the label is currently being edited or not. + * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} + */ + mode?: ej.datavisualization.Diagram.LabelEditMode | string; + + /** Sets the unique identifier of the label + */ + name?: string; + + /** Sets the fraction/ratio(relative to node) that defines the position of the label + * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} + */ + offset?: any; + + /** Defines the transparency of the labels + * @Default {1} + */ + opacity?: number; + + /** Sets the overflowType of the labels + * @Default {ej.datavisualization.Diagram.OverflowType.Ellipsis} + */ + overflowType?: ej.datavisualization.Diagram.OverflowType | string; + + /** Defines whether the label is editable or not + * @Default {false} + */ + readOnly?: boolean; + + /** Defines the angle to which the label needs to be rotated + * @Default {0} + */ + rotateAngle?: number; + + /** Defines the label text + */ + text?: string; + + /** Defines how to align the text inside the label. + * @Default {ej.datavisualization.Diagram.TextAlign.Center} + */ + textAlign?: ej.datavisualization.Diagram.TextAlign | string; + + /** Sets how to decorate the label text. + * @Default {ej.datavisualization.Diagram.TextDecorations.None} + */ + textDecoration?: ej.datavisualization.Diagram.TextDecorations | string; + + /** Defines the overflowed content is displayed or not. + * @Default {false} + */ + textOverflow?: boolean; + + /** Sets the vertical alignment of the label. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} + */ + verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment | string; + + /** Enables or disables the visibility of the label + * @Default {true} + */ + visible?: boolean; + + /** Sets the width of the label(the maximum value of label width and the node width will be considered as label width) + * @Default {50} + */ + width?: number; + + /** Defines how the label text needs to be wrapped. + * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} + */ + wrapping?: ej.datavisualization.Diagram.TextWrapping | string; + } + + export interface NodesLane { + + /** Defines the width of lane + * @Default {0} + */ + width?: number; + + /** Defines the height of lane + * @Default {0} + */ + height?: number; + + /** Defines the z-index of the lane + * @Default {0} + */ + zorder?: number; + + /** Allows to maintain additional information about lane + * @Default {{}} + */ + addInfo?: any; + + /** An array of objects where each object represents a child node of the lane + * @Default {[]} + */ + children?: any[]; + + /** Defines the fill color of the lane + * @Default {white} + */ + fillColor?: string; + + /** Defines the header of the lane + * @Default {{ text: Function, fontSize: 11 }} + */ + header?: any; + + /** Defines the object as a lane + * @Default {false} + */ + isLane?: boolean; + + /** Sets the unique identifier of the lane + */ + name?: string; + + /** Sets the orientation of the lane. + * @Default {vertical} + */ + orientation?: string; + } + + export interface NodesPaletteItem { + + /** Defines whether the symbol should be drawn at its actual size regardless of precedence factors or not + * @Default {true} + */ + enableScale?: boolean; + + /** Defines the height of the symbol + * @Default {0} + */ + height?: number; + + /** Defines the margin of the symbol item + * @Default {{ left: 4, right: 4, top: 4, bottom: 4 }} + */ + margin?: any; + + /** Defines the preview height of the symbol + * @Default {undefined} + */ + previewHeight?: number; + + /** Defines the preview width of the symbol + * @Default {undefined} + */ + previewWidth?: number; + + /** Defines the width of the symbol + * @Default {0} + */ + width?: number; + } + + export interface NodesPhase { + + /** Defines the header of the smaller regions + * @Default {null} + */ + label?: any; + + /** Defines the line color of the splitter that splits adjacent phases. + * @Default {#606060} + */ + lineColor?: string; + + /** Sets the dash array that used to stroke the phase splitter + * @Default {3,3} + */ + lineDashArray?: string; + + /** Sets the lineWidth of the phase + * @Default {1} + */ + lineWidth?: number; + + /** Sets the unique identifier of the phase + */ + name?: string; + + /** Sets the length of the smaller region(phase) of a swimlane + * @Default {100} + */ + offset?: number; + + /** Sets the orientation of the phase + * @Default {horizontal} + */ + orientation?: string; + + /** Sets the type of the object as phase + * @Default {phase} + */ + type?: string; + } + + export interface NodesPort { + + /** Sets the border color of the port + * @Default {#1a1a1a} + */ + borderColor?: string; + + /** Sets the stroke width of the port + * @Default {1} + */ + borderWidth?: number; + + /** Defines the space to be left between the port bounds and its incoming and outgoing connections. + * @Default {0} + */ + connectorPadding?: number; + + /** Defines whether connections can be created with the port + * @Default {ej.datavisualization.Diagram.PortConstraints.Connect} + */ + constraints?: ej.datavisualization.Diagram.PortConstraints | string; + + /** Sets the fill color of the port + * @Default {white} + */ + fillColor?: string; + + /** Sets the unique identifier of the port + */ + name?: string; + + /** Defines the position of the port as fraction/ ratio relative to node + * @Default {ej.datavisualization.Diagram.Point(0, 0)} + */ + offset?: any; + + /** Defines the path data to draw the port. Applicable, if the port shape is path. + */ + pathData?: string; + + /** Defines the shape of the port. + * @Default {ej.datavisualization.Diagram.PortShapes.Square} + */ + shape?: ej.datavisualization.Diagram.PortShapes | string; + + /** Defines the size of the port + * @Default {8} + */ + size?: number; + + /** Defines when the port should be visible. + * @Default {ej.datavisualization.Diagram.PortVisibility.Default} + */ + visibility?: ej.datavisualization.Diagram.PortVisibility | string; + } + + export interface NodesShadow { + + /** Defines the angle of the shadow relative to node + * @Default {45} + */ + angle?: number; + + /** Sets the distance to move the shadow relative to node + * @Default {5} + */ + distance?: number; + + /** Defines the opaque of the shadow + * @Default {0.7} + */ + opacity?: number; + } + + export interface NodesSubProcess { + + /** Defines whether the BPMN sub process is without any prescribed order or not + * @Default {false} + */ + adhoc?: boolean; + + /** Sets the boundary of the BPMN process + * @Default {ej.datavisualization.Diagram.BPMNBoundary.Default} + */ + boundary?: ej.datavisualization.Diagram.BPMNBoundary | string; + + /** Sets whether the BPMN subprocess is triggered as a compensation of a specific activity + * @Default {false} + */ + compensation?: boolean; + + /** Sets whether the BPMN subprocess is triggered as a collapsed of a specific activity + * @Default {true} + */ + collapsed?: boolean; + + /** Sets the type of the event by which the sub-process will be triggered + * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} + */ + event?: ej.datavisualization.Diagram.BPMNEvents | string; + + /** Defines the collection of events that need to be appended with BPMN Sub-Process + */ + events?: any[]; + + /** Defines the loop type of a sub process. + * @Default {ej.datavisualization.Diagram.BPMNLoops.None} + */ + loop?: ej.datavisualization.Diagram.BPMNLoops | string; + + /** Defines the children for BPMN's SubProcess + * @Default {[]} + */ + Processes?: any[]; + + /** Defines the type of the event trigger + * @Default {ej.datavisualization.Diagram.BPMNTriggers.Message} + */ + trigger?: ej.datavisualization.Diagram.BPMNTriggers | string; + + /** Defines the type of a sub process + * @Default {ej.datavisualization.Diagram.BPMNSubProcessTypes.None} + */ + type?: ej.datavisualization.Diagram.BPMNSubProcessTypes | string; + } + + export interface NodesTask { + + /** To set whether the task is a global task or not + * @Default {false} + */ + call?: boolean; + + /** Sets whether the task is triggered as a compensation of another specific activity + * @Default {false} + */ + compensation?: boolean; + + /** Sets the loop type of a BPMN task. + * @Default {ej.datavisualization.Diagram.BPMNLoops.None} + */ + loop?: ej.datavisualization.Diagram.BPMNLoops | string; + + /** Sets the type of the BPMN task. + * @Default {ej.datavisualization.Diagram.BPMNTasks.None} + */ + type?: ej.datavisualization.Diagram.BPMNTasks | string; + } + + export interface Node { + + /** Defines the type of BPMN Activity. Applicable, if the node is a BPMN activity. + * @Default {ej.datavisualization.Diagram.BPMNActivity.Task} + */ + activity?: ej.datavisualization.Diagram.BPMNActivity | string; + + /** To maintain additional information about nodes + * @Default {{}} + */ + addInfo?: any; + + /** Defines the additional information of a process. It is not directly related to the message flows or sequence flows of the process. + * @Default {ej.datavisualization.Diagram.BPMNTextAnnotation()} + */ + annotation?: NodesAnnotation; + + /** Sets the border color of node + * @Default {black} + */ + borderColor?: string; + + /** Sets the pattern of dashes and gaps to stroke the border + */ + borderDashArray?: string; + + /** Sets the border width of the node + * @Default {1} + */ + borderWidth?: number; + + /** Defines whether the group can be ungrouped or not + * @Default {true} + */ + canUngroup?: boolean; + + /** Array of JSON objects where each object represents a child node/connector + * @Default {[]} + */ + children?: any[]; + + /** Sets the type of UML classifier. Applicable, if the node is a UML Class Diagram shape. + * @Default {ej.datavisualization.Diagram.ClassifierShapes.Class} + */ + classifier?: ej.datavisualization.Diagram.ClassifierShapes | string; + + /** Defines the name, attributes and methods of a Class. Applicable, if the node is a Class. + * @Default {null} + */ + class?: NodesClass; + + /** Defines the state of the node is collapsed. + */ + collapseIcon?: NodesCollapseIcon; + + /** Defines the distance to be left between a node and its connections(In coming and out going connections). + * @Default {0} + */ + connectorPadding?: number; + + /** Enables or disables the default behaviors of the node. + * @Default {ej.datavisualization.Diagram.NodeConstraints.Default} + */ + constraints?: ej.datavisualization.Diagram.NodeConstraints | string; + + /** Defines how the child objects need to be arranged(Either in any predefined manner or automatically). Applicable, if the node is a group. + * @Default {null} + */ + container?: NodesContainer; + + /** Defines the corner radius of rectangular shapes. + * @Default {0} + */ + cornerRadius?: number; + + /** Configures the styles of shapes + */ + cssClass?: string; + + /** Defines the BPMN data object + */ + data?: NodesData; + + /** Defines an Enumeration in a UML Class Diagram + * @Default {null} + */ + enumeration?: NodesEnumeration; + + /** Sets the type of the BPMN Events. Applicable, if the node is a BPMN event. + * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} + */ + event?: ej.datavisualization.Diagram.BPMNEvents | string; + + /** Defines whether the node can be automatically arranged using layout or not + * @Default {false} + */ + excludeFromLayout?: boolean; + + /** Defines the state of the node is expanded or collapsed. + */ + expandIcon?: NodesExpandIcon; + + /** Defines the fill color of the node + * @Default {white} + */ + fillColor?: string; + + /** Sets the type of the BPMN Gateway. Applicable, if the node is a BPMN gateway. + * @Default {ej.datavisualization.Diagram.BPMNGateways.None} + */ + gateway?: ej.datavisualization.Diagram.BPMNGateways | string; + + /** Paints the node with a smooth transition from one color to another color + */ + gradient?: NodesGradient; + + /** Sets the type of the BPMN Shapes as group. Applicable, if the node is a BPMN. + * @Default {ej.datavisualization.Diagram.BPMNShapes} + */ + group?: any; + + /** Defines the header of a swimlane/lane + * @Default {{ text: Title, fontSize: 11 }} + */ + header?: any; + + /** Defines the height of the node + * @Default {0} + */ + height?: number; + + /** Sets the horizontal alignment of the node. Applicable, if the parent of the node is a container. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} + */ + horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** A read only collection of the incoming connectors/edges of the node + * @Default {[]} + */ + inEdges?: any[]; + + /** Defines an interface in a UML Class Diagram + * @Default {null} + */ + interface?: NodesInterface; + + /** Defines whether the sub tree of the node is expanded or collapsed + * @Default {true} + */ + isExpanded?: boolean; + + /** Sets the node as a swimlane + * @Default {false} + */ + isSwimlane?: boolean; + + /** A collection of objects where each object represents a label + * @Default {[]} + */ + labels?: NodesLabel[]; + + /** An array of objects where each object represents a lane. Applicable, if the node is a swimlane. + * @Default {[]} + */ + lanes?: NodesLane[]; + + /** Defines the minimum space to be left between the bottom of parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginBottom?: number; + + /** Defines the minimum space to be left between the left of parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginLeft?: number; + + /** Defines the minimum space to be left between the right of the parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginRight?: number; + + /** Defines the minimum space to be left between the top of parent bounds and the node. Applicable, if the parent is a container. + * @Default {0} + */ + marginTop?: number; + + /** Defines the maximum height limit of the node + * @Default {0} + */ + maxHeight?: number; + + /** Defines the maximum width limit of the node + * @Default {0} + */ + maxWidth?: number; + + /** Defines the minimum height limit of the node + * @Default {0} + */ + minHeight?: number; + + /** Defines the minimum width limit of the node + * @Default {0} + */ + minWidth?: number; + + /** Sets the unique identifier of the node + */ + name?: string; + + /** Defines the position of the node on X-Axis + * @Default {0} + */ + offsetX?: number; + + /** Defines the position of the node on Y-Axis + * @Default {0} + */ + offsetY?: number; + + /** Defines the opaque of the node + * @Default {1} + */ + opacity?: number; + + /** Defines the orientation of nodes. Applicable, if the node is a swimlane. + * @Default {vertical} + */ + orientation?: string; + + /** A read only collection of outgoing connectors/edges of the node + * @Default {[]} + */ + outEdges?: any[]; + + /** Defines the minimum padding value to be left between the bottom most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingBottom?: number; + + /** Defines the minimum padding value to be left between the left most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingLeft?: number; + + /** Defines the minimum padding value to be left between the right most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingRight?: number; + + /** Defines the minimum padding value to be left between the top most position of a group and its children. Applicable, if the group is a container. + * @Default {0} + */ + paddingTop?: number; + + /** Defines the size and preview size of the node to add that to symbol palette + * @Default {null} + */ + paletteItem?: NodesPaletteItem; + + /** Sets the name of the parent group + */ + parent?: string; + + /** Sets the path geometry that defines the shape of a path node + */ + pathData?: string; + + /** An array of objects, where each object represents a smaller region(phase) of a swimlane. + * @Default {[]} + */ + phases?: NodesPhase[]; + + /** Sets the height of the phase headers + * @Default {0} + */ + phaseSize?: number; + + /** Sets the ratio/ fractional value relative to node, based on which the node will be transformed(positioning, scaling and rotation) + * @Default {ej.datavisualization.Diagram.Points(0.5,0.5)} + */ + pivot?: any; + + /** Defines a collection of points to draw a polygon. Applicable, if the shape is a polygon. + * @Default {[]} + */ + points?: any[]; + + /** An array of objects where each object represents a port + * @Default {[]} + */ + ports?: NodesPort[]; + + /** Sets the angle to which the node should be rotated + * @Default {0} + */ + rotateAngle?: number; + + /** Defines the opacity and the position of shadow + * @Default {ej.datavisualization.Diagram.Shadow()} + */ + shadow?: NodesShadow; + + /** Sets the shape of the node. It depends upon the type of node. + * @Default {ej.datavisualization.Diagram.BasicShapes.Rectangle} + */ + shape?: ej.datavisualization.Diagram.BasicShapes | ej.datavisualization.Diagram.FlowShapes | ej.datavisualization.Diagram.BPMNShapes | ej.datavisualization.Diagram.UMLActivityShapes | string; + + /** Sets the source path of the image. Applicable, if the type of the node is image. + */ + source?: string; + + /** Defines the sub process of a BPMN Activity. Applicable, if the type of the BPMN activity is sub process. + * @Default {ej.datavisualization.Diagram.BPMNSubProcess()} + */ + subProcess?: NodesSubProcess; + + /** Defines the task of the BPMN activity. Applicable, if the type of activity is set as task. + * @Default {ej.datavisualization.Diagram.BPMNTask()} + */ + task?: NodesTask; + + /** Sets the id of svg/html templates. Applicable, if the node is HTML or native. + */ + templateId?: string; + + /** Defines the textBlock of a text node + * @Default {null} + */ + textBlock?: any; + + /** Defines the tooltip that should be shown when the mouse hovers over node. For tooltip properties, refer Tooltip + * @Default {null} + */ + tooltip?: any; + + /** Sets the type of BPMN Event Triggers. + * @Default {ej.datavisualization.Diagram.BPMNTriggers.None} + */ + trigger?: ej.datavisualization.Diagram.BPMNTriggers | string; + + /** Defines the type of the node. + * @Default {ej.datavisualization.Diagram.Shapes.Basic} + */ + type?: ej.datavisualization.Diagram.Shapes | string; + + /** Sets the vertical alignment of a node. Applicable, if the parent of a node is a container. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} + */ + verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment | string; + + /** Defines the visibility of the node + * @Default {true} + */ + visible?: boolean; + + /** Defines the width of the node + * @Default {0} + */ + width?: number; + + /** Defines the z-index of the node + * @Default {0} + */ + zOrder?: number; + } + + export interface PageSettings { + + /** Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling + * @Default {{ left: 15, top: 15, right: 15, bottom: 15 }} + */ + autoScrollBorder?: any; + + /** Sets whether multiple pages can be created to fit all nodes and connectors + * @Default {false} + */ + multiplePage?: boolean; + + /** Defines the background color of diagram pages + * @Default {#ffffff} + */ + pageBackgroundColor?: string; + + /** Defines the page border color + * @Default {#565656} + */ + pageBorderColor?: string; + + /** Sets the border width of diagram pages + * @Default {0} + */ + pageBorderWidth?: number; + + /** Defines the height of a page + * @Default {null} + */ + pageHeight?: number; + + /** Defines the page margin + * @Default {24} + */ + pageMargin?: number; + + /** Sets the orientation of the page. + * @Default {ej.datavisualization.Diagram.PageOrientations.Portrait} + */ + pageOrientation?: ej.datavisualization.Diagram.PageOrientations | string; + + /** Defines the height of a diagram page + * @Default {null} + */ + pageWidth?: number; + + /** Defines the scrollable area of diagram. Applicable, if the scroll limit is "limited". + * @Default {null} + */ + scrollableArea?: any; + + /** Defines the scrollable region of diagram. + * @Default {ej.datavisualization.Diagram.ScrollLimit.Infinite} + */ + scrollLimit?: ej.datavisualization.Diagram.ScrollLimit | string; + + /** Defines the draggable region of diagram elements. + * @Default {ej.datavisualization.Diagram.BoundaryConstraints.Infinite} + */ + boundaryConstraints?: ej.datavisualization.Diagram.BoundaryConstraints | string; + + /** Enables or disables the page breaks + * @Default {false} + */ + showPageBreak?: boolean; + } + + export interface ScrollSettings { + + /** Allows to read the zoom value of diagram + * @Default {0} + */ + currentZoom?: number; + + /** Sets the horizontal scroll offset + * @Default {0} + */ + horizontalOffset?: number; + + /** Allows to extend the scrollable region that is based on the scroll limit + * @Default {{left: 0, right: 0, top:0, bottom: 0}} + */ + padding?: any; + + /** Sets the vertical scroll offset + * @Default {0} + */ + verticalOffset?: number; + + /** Allows to read the view port height of the diagram + * @Default {0} + */ + viewPortHeight?: number; + + /** Allows to read the view port width of the diagram + * @Default {0} + */ + viewPortWidth?: number; + } + + export interface SelectedItemsUserHandle { + + /** Defines the background color of the user handle + * @Default {#2382c3} + */ + backgroundColor?: string; + + /** Sets the border color of the user handle + * @Default {transparent} + */ + borderColor?: string; + + /** Defines whether the user handle should be added, when more than one element is selected + * @Default {false} + */ + enableMultiSelection?: boolean; + + /** Sets the stroke color of the user handle + * @Default {transparent} + */ + pathColor?: string; + + /** Defines the custom shape of the user handle + */ + pathData?: string; + + /** Defines the position of the user handle + * @Default {ej.datavisualization.Diagram.UserHandlePositions.BottomCenter} + */ + position?: ej.datavisualization.Diagram.UserHandlePositions | string; + + /** Defines the size of the user handle + * @Default {8} + */ + size?: number; + + /** Defines the interactive behaviors of the user handle + */ + tool?: any; + + /** Defines the visibility of the user handle + * @Default {true} + */ + visible?: boolean; + } + + export interface SelectedItems { + + /** A read only collection of the selected items + * @Default {[]} + */ + children?: any[]; + + /** Controls the visibility of selector. + * @Default {ej.datavisualization.Diagram.SelectorConstraints.All} + */ + constraints?: ej.datavisualization.Diagram.SelectorConstraints | string; + + /** Defines a method that dynamically enables/ disables the interaction with multiple selection. + * @Default {null} + */ + getConstraints?: any; + + /** Sets the height of the selected items + * @Default {0} + */ + height?: number; + + /** Sets the x position of the selector + * @Default {0} + */ + offsetX?: number; + + /** Sets the y position of the selector + * @Default {0} + */ + offsetY?: number; + + /** Sets the angle to rotate the selected items + * @Default {0} + */ + rotateAngle?: number; + + /** Sets the angle to rotate the selected items. For tooltip properties, refer Tooltip + * @Default {ej.datavisualization.Diagram.Tooltip()} + */ + tooltip?: any; + + /** A collection of frequently used commands that will be added around the selector + * @Default {[]} + */ + userHandles?: SelectedItemsUserHandle[]; + + /** Sets the width of the selected items + * @Default {0} + */ + width?: number; + } + + export interface SnapSettingsHorizontalGridLines { + + /** Defines the line color of horizontal grid lines + * @Default {lightgray} + */ + lineColor?: string; + + /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines + */ + lineDashArray?: string; + + /** A pattern of lines and gaps that defines a set of horizontal gridlines + * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} + */ + linesInterval?: any[]; + + /** Specifies a set of intervals to snap the objects + * @Default {[20]} + */ + snapInterval?: any[]; + } + + export interface SnapSettingsVerticalGridLines { + + /** Defines the line color of horizontal grid lines + * @Default {lightgray} + */ + lineColor?: string; + + /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines + */ + lineDashArray?: string; + + /** A pattern of lines and gaps that defines a set of horizontal gridlines + * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} + */ + linesInterval?: any[]; + + /** Specifies a set of intervals to snap the objects + * @Default {[20]} + */ + snapInterval?: any[]; + } + + export interface SnapSettings { + + /** Enables or disables snapping nodes/connectors to objects + * @Default {true} + */ + enableSnapToObject?: boolean; + + /** Defines the appearance of horizontal gridlines + */ + horizontalGridLines?: SnapSettingsHorizontalGridLines; + + /** Defines the angle by which the object needs to be snapped + * @Default {5} + */ + snapAngle?: number; + + /** Defines and sets the snapConstraints + */ + snapConstraints?: ej.datavisualization.Diagram.SnapConstraints | string; + + /** Defines the minimum distance between the selected object and the nearest object + * @Default {5} + */ + snapObjectDistance?: number; + + /** Defines the appearance of horizontal gridlines + */ + verticalGridLines?: SnapSettingsVerticalGridLines; + } + + export interface TooltipAlignment { + + /** Defines the horizontal alignment of tooltip. + * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} + */ + horizontal?: ej.datavisualization.Diagram.HorizontalAlignment | string; + + /** Defines the vertical alignment of tooltip. + * @Default {ej.datavisualization.Diagram.VerticalAlignment.Bottom} + */ + vertical?: ej.datavisualization.Diagram.VerticalAlignment | string; + } + + export interface Tooltip { + + /** Aligns the tooltip around nodes/connectors + */ + alignment?: TooltipAlignment; + + /** Sets the margin of the tooltip + * @Default {{ left: 5, right: 5, top: 5, bottom: 5 }} + */ + margin?: any; + + /** Defines whether the tooltip should be shown at the mouse position or around node. + * @Default {ej.datavisualization.Diagram.RelativeMode.Object} + */ + relativeMode?: ej.datavisualization.Diagram.RelativeMode | string; + + /** Sets the svg/html template to be bound with tooltip + */ + templateId?: string; + } + } + namespace Diagram { + enum ImageAlignment { + //Scales the graphic content non-uniformly to the width and height of the diagram area + None, + //Used to align the image at the top left of diagram area + XMinYMin, + //Used to align the image at the left center of diagram area + XMinYMid, + //Used to align the image at the bottom left of diagram area + XMinYMax, + //Used to align the image at the top center of diagram area + XMidYMin, + //Used to align the image at the center of diagram area + XMidYMid, + //Used to align the image at the bottom center of diagram area + XMidYMax, + //Used to align the image at the top right of diagram area/node + XMaxYMin, + //Used to align the image at the right center of diagram area/node + XMaxYMid, + //Used to align the image at the bottom right of diagram area/node + XMaxYMax, + } + } + namespace Diagram { + enum BridgeDirection { + //Used to set the direction of line bridges as left + Left, + //Used to set the direction of line bridges as right + Right, + //Used to set the direction of line bridges as top + Top, + //Used to set the direction of line bridges as bottom + Bottom, + } + } + namespace Diagram { + enum Keys { + //No key pressed. + None, + //The A key. + A, + //The B key. + B, + //The C key. + C, + //The D Key. + D, + //The E key. + E, + //The F key. + F, + //The G key. + G, + //The H Key. + H, + //The I key. + I, + //The J key. + J, + //The K key. + K, + //The L Key. + L, + //The M key. + M, + //The N key. + N, + //The O key. + O, + //The P Key. + P, + //The Q key. + Q, + //The R key. + R, + //The S key. + S, + //The T Key. + T, + //The U key. + U, + //The V key. + V, + //The W key. + W, + //The X key. + X, + //The Y key. + Y, + //The Z key. + Z, + //The 0 key. + Number0, + //The 1 key. + Number1, + //The 2 key. + Number2, + //The 3 key. + Number3, + //The 4 key. + Number4, + //The 5 key. + Number5, + //The 6 key. + Number6, + //The 7 key. + Number7, + //The 8 key. + Number8, + //The 9 key. + Number9, + //The LEFT ARROW key. + Left, + //The UP ARROW key. + Up, + //The RIGHT ARROW key. + Right, + //The DOWN ARROW key. + Down, + //The ESC key. + Escape, + //The DEL key. + Delete, + //The TAB key. + Tab, + //The ENTER key. + Enter, + } + } + namespace Diagram { + enum KeyModifiers { + //No modifiers are pressed. + None, + //The ALT key. + Alt, + //The CTRL key. + Control, + //The SHIFT key. + Shift, + } + } + namespace Diagram { + enum ConnectorConstraints { + //Disable all connector Constraints + None, + //Enables connector to be selected + Select, + //Enables connector to be Deleted + Delete, + //Enables connector to be Dragged + Drag, + //Enables connectors source end to be selected + DragSourceEnd, + //Enables connectors target end to be selected + DragTargetEnd, + //Enables control point and end point of every segment in a connector for editing + DragSegmentThumb, + //Enables bridging to the connector + Bridging, + //Enables label of node to be Dragged + DragLabel, + //Enables bridging to the connector + InheritBridging, + //Enables user interaction to the connector + PointerEvents, + //Enables the contrast between clean edges of connector over rendering speed and geometric precision + CrispEdges, + //Enables all constraints + Default, + } + } + namespace Diagram { + enum HorizontalAlignment { + //Used to align text horizontally on left side of node/connector + Left, + //Used to align text horizontally on center of node/connector + Center, + //Used to align text horizontally on right side of node/connector + Right, + } + } + namespace Diagram { + enum Alignment { + //Used to align the label either top or left(before) of the connector segment + Before, + //Used to align the label at center of the connector segment + Center, + //Used to align the label either bottom or right(after) of the connector segment + After, + } + } + namespace Diagram { + enum LabelRelativeMode { + //Sets the relativeMode as SegmentPath + SegmentPath, + //Sets the relativeMode as SegmentBounds + SegmentBounds, + } + } + namespace Diagram { + enum Segments { + //Used to specify the lines as Straight + Straight, + //Used to specify the lines as Orthogonal + Orthogonal, + //Used to specify the lines as Bezier + Bezier, + } + } + namespace Diagram { + enum ConnectorShapes { + //Used to specify connector type as BPMN + BPMN, + //Used to specify connector type as UMLClassifier + UMLClassifier, + //Used to specify connector type as UMLActivity + UMLActivity, + } + } + namespace Diagram { + enum BPMNFlows { + //Used to specify the Sequence flow in a BPMN Process + Sequence, + //Used to specify the Association flow in a BPMN Process + Association, + //Used to specify the Message flow in a BPMN Process + Message, + } + } + namespace Diagram { + enum AssociationFlows { + //Used to notate default association in a BPMN Process + Default, + //Used to notate directional association in a BPMN Process + Directional, + //User to notate bi-directional association in a BPMN Process + BiDirectional, + } + } + namespace Diagram { + enum BPMNMessageFlows { + //Used to notate the default message flow in a BPMN Process + Default, + //Used to notate the instantiating message flow in a BPMN Process + InitiatingMessage, + //Used to notate the non-instantiating message flow in a BPMN Process + NonInitiatingMessage, + } + } + namespace Diagram { + enum BPMNSequenceFlows { + //Used to notate the normal sequence flow in a BPMN Process + Normal, + //Used to notate the conditional sequence flow in a BPMN Process + Conditional, + //Used to notate the default sequence flow in a BPMN Process + Default, + } + } + namespace Diagram { + enum ClassifierShapes { + //Used to define a Class + Class, + //Used to define an Interface + Interface, + //Used to define an Enumeration + Enumeration, + //Used to notate association in UML Class Diagram + Association, + //Used to notate aggregation in a UML Class Diagram + Aggregation, + //Used to notate composition in a UML Class Diagram + Composition, + //Used to notate dependency in a UML Class Diagram + Dependency, + //Used to notate inheritance in a UML Class Diagram + Inheritance, + } + } + namespace Diagram { + enum Multiplicity { + //Each entity instance is related to a single instance of another entity + OneToOne, + //An entity instance can be related to multiple instances of the other entities + OneToMany, + //Multiple instances of an entity can be related to a single instance of the other entity + ManyToOne, + //The entity instances can be related to multiple instances of each other + ManyToMany, + } + } + namespace Diagram { + enum UMLActivityFlow { + //Defines a activity flow as Object in UML Activity Diagram + Object, + //Defines a activity flow as Control in UML Activity Diagram + Control, + //Defines a activity flow as Exception in UML Activity Diagram + Exception, + } + } + namespace Diagram { + enum DecoratorShapes { + //Used to set decorator shape as none + None, + //Used to set decorator shape as Arrow + Arrow, + //Used to set decorator shape as Open Arrow + OpenArrow, + //Used to set decorator shape as Circle + Circle, + //Used to set decorator shape as Diamond + Diamond, + //Used to set decorator shape as path + Path, + } + } + namespace Diagram { + enum VerticalAlignment { + //Used to align text Vertically on left side of node/connector + Top, + //Used to align text Vertically on center of node/connector + Center, + //Used to align text Vertically on bottom of node/connector + Bottom, + } + } + namespace Diagram { + enum DiagramConstraints { + //Disables all DiagramConstraints + None, + //Enables/Disables PageEditing + PageEditable, + //Enables/Disables Bridging + Bridging, + //Enables/Disables Zooming + Zoomable, + //Enables/Disables panning on horizontal axis + PannableX, + //Enables/Disables panning on vertical axis + PannableY, + //Enables/Disables Panning + Pannable, + //Enables/Disables undo actions + Undoable, + //Enables/Disables the sharp edges + CrispEdges, + //Enables all Constraints + Default, + } + } + namespace Diagram { + enum LabelRenderingMode { + //Sets the labelRenderingMode as Html + Html, + //Sets the labelRenderingMode as Svg + Svg, + } + } + namespace Diagram { + enum LayoutOrientations { + //Used to set LayoutOrientation from top to bottom + TopToBottom, + //Used to set LayoutOrientation from bottom to top + BottomToTop, + //Used to set LayoutOrientation from left to right + LeftToRight, + //Used to set LayoutOrientation from right to left + RightToLeft, + } + } + namespace Diagram { + enum LayoutTypes { + //Used not to set any specific layout + None, + //Used to set layout type as hierarchical layout + HierarchicalTree, + //Used to set layout type as organnizational chart + OrganizationalChart, + } + } + namespace Diagram { + enum BPMNActivity { + //Used to set BPMN Activity as None + None, + //Used to set BPMN Activity as Task + Task, + //Used to set BPMN Activity as SubProcess + SubProcess, + } + } + namespace Diagram { + enum BPMNAnnotationDirection { + //Used to set the direction of BPMN Annotation as left + Left, + //Used to set the direction of BPMN Annotation as right + Right, + //Used to set the direction of BPMN Annotation as top + Top, + //Used to set the direction of BPMN Annotation as bottom + Bottom, + } + } + namespace Diagram { + enum IconShapes { + //Used to set collapse icon shape as none + None, + //Used to set collapse icon shape as Arrow(Up/Down) + Arrow, + //Used to set collapse icon shape as Plus + Plus, + //Used to set collapse icon shape as Minus + Minus, + //Used to set collapse icon shape as path + Path, + //Used to set icon shape as template + Template, + //Used to set icon shape as image + Image, + } + } + namespace Diagram { + enum NodeConstraints { + //Disable all node Constraints + None, + //Enables node to be selected + Select, + //Enables node to be Deleted + Delete, + //Enables node to be Dragged + Drag, + //Enables node to be Rotated + Rotate, + //Enables node to be connected + Connect, + //Enables node to be resize north east + ResizeNorthEast, + //Enables node to be resize east + ResizeEast, + //Enables node to be resize south east + ResizeSouthEast, + //Enables node to be resize south + ResizeSouth, + //Enables node to be resize south west + ResizeSouthWest, + //Enables node to be resize west + ResizeWest, + //Enables node to be resize north west + ResizeNorthWest, + //Enables node to be resize north + ResizeNorth, + //Enables node to be Resized + Resize, + //Enables shadow + Shadow, + //Enables label of node to be Dragged + DragLabel, + //Enables panning should be done while node dragging + AllowPan, + //Enables Proportional resize for node + AspectRatio, + //Enables the user interaction with the node + PointerEvents, + //Enables contrast between clean edges for the node over rendering speed and geometric precision + CrispEdges, + //Enables all node constraints + Default, + } + } + namespace Diagram { + enum ContainerType { + //Sets the container type as Canvas + Canvas, + //Sets the container type as Stack + Stack, + } + } + namespace Diagram { + enum BPMNDataObjects { + //Used to notate the Input type BPMN data object + Input, + //Used to notate the Output type BPMN data object + Output, + //Used to set BPMN data object type as None + None, + } + } + namespace Diagram { + enum BPMNEvents { + //Used to set BPMN Event as Start + Start, + //Used to set BPMN Event as Intermediate + Intermediate, + //Used to set BPMN Event as End + End, + //Used to set BPMN Event as NonInterruptingStart + NonInterruptingStart, + //Used to set BPMN Event as NonInterruptingIntermediate + NonInterruptingIntermediate, + //Used to set BPMN Event as ThrowingIntermediate + ThrowingIntermediate, + } + } + namespace Diagram { + enum BPMNGateways { + //Used to set BPMN Gateway as None + None, + //Used to set BPMN Gateway as Exclusive + Exclusive, + //Used to set BPMN Gateway as Inclusive + Inclusive, + //Used to set BPMN Gateway as Parallel + Parallel, + //Used to set BPMN Gateway as Complex + Complex, + //Used to set BPMN Gateway as EventBased + EventBased, + //Used to set BPMN Gateway as ExclusiveEventBased + ExclusiveEventBased, + //Used to set BPMN Gateway as ParallelEventBased + ParallelEventBased, + } + } + namespace Diagram { + enum LabelEditMode { + //Used to set label edit mode as edit + Edit, + //Used to set label edit mode as view + View, + } + } + namespace Diagram { + enum OverflowType { + //Set overflow Type as ellipsis + Ellipsis, + //Set overflow Type as Clip + Clip, + } + } + namespace Diagram { + enum TextAlign { + //Used to align text on left side of node/connector + Left, + //Used to align text on center of node/connector + Center, + //Used to align text on Right side of node/connector + Right, + } + } + namespace Diagram { + enum TextDecorations { + //Used to set text decoration of the label as Underline + Underline, + //Used to set text decoration of the label as Overline + Overline, + //Used to set text decoration of the label as LineThrough + LineThrough, + //Used to set text decoration of the label as None + None, + } + } + namespace Diagram { + enum TextWrapping { + //Disables wrapping + NoWrap, + //Enables Line-break at normal word break points + Wrap, + //Enables Line-break at normal word break points with longer word overflows + WrapWithOverflow, + } + } + namespace Diagram { + enum PortConstraints { + //Disable all constraints + None, + //Enables connections with connector + Connect, + //Enables to create the connection when mouse hover on the port. + ConnectOnDrag, + } + } + namespace Diagram { + enum PortShapes { + //Used to set port shape as X + X, + //Used to set port shape as Circle + Circle, + //Used to set port shape as Square + Square, + //Used to set port shape as Path + Path, + } + } + namespace Diagram { + enum PortVisibility { + //Set the port visibility as Visible + Visible, + //Set the port visibility as Hidden + Hidden, + //Port get visible when hover connector on node + Hover, + //Port gets visible when connect connector to node + Connect, + //Specifies the port visibility as default + Default, + } + } + namespace Diagram { + enum BasicShapes { + //Used to specify node Shape as Rectangle + Rectangle, + //Used to specify node Shape as Ellipse + Ellipse, + //Used to specify node Shape as Path + Path, + //Used to specify node Shape as Polygon + Polygon, + //Used to specify node Shape as Triangle + Triangle, + //Used to specify node Shape as Plus + Plus, + //Used to specify node Shape as Star + Star, + //Used to specify node Shape as Pentagon + Pentagon, + //Used to specify node Shape as Heptagon + Heptagon, + //Used to specify node Shape as Octagon + Octagon, + //Used to specify node Shape as Trapezoid + Trapezoid, + //Used to specify node Shape as Decagon + Decagon, + //Used to specify node Shape as RightTriangle + RightTriangle, + //Used to specify node Shape as Cylinder + Cylinder, + } + } + namespace Diagram { + enum FlowShapes { + //Used to specify node Shape as Process + Process, + //Used to specify node Shape as Decision + Decision, + //Used to specify node Shape as Document + Document, + //Used to specify node Shape as PreDefinedProcess + PreDefinedProcess, + //Used to specify node Shape as Terminator + Terminator, + //Used to specify node Shape as PaperTap + PaperTap, + //Used to specify node Shape as DirectData + DirectData, + //Used to specify node Shape as SequentialData + SequentialData, + //Used to specify node Shape as Sort + Sort, + //Used to specify node Shape as MultiDocument + MultiDocument, + //Used to specify node Shape as Collate + Collate, + //Used to specify node Shape as SummingJunction + SummingJunction, + //Used to specify node Shape as Or + Or, + //Used to specify node Shape as InternalStorage + InternalStorage, + //Used to specify node Shape as Extract + Extract, + //Used to specify node Shape as ManualOperation + ManualOperation, + //Used to specify node Shape as Merge + Merge, + //Used to specify node Shape as OffPageReference + OffPageReference, + //Used to specify node Shape as SequentialAccessStorage + SequentialAccessStorage, + //Used to specify node Shape as Annotation1 + Annotation1, + //Used to specify node Shape as Annotation2 + Annotation2, + //Used to specify node Shape as Data + Data, + //Used to specify node Shape as Card + Card, + } + } + namespace Diagram { + enum BPMNShapes { + //Used to specify node Shape as Event + Event, + //Used to specify node Shape as Gateway + Gateway, + //Used to specify node Shape as Message + Message, + //Used to specify node Shape as DataObject + DataObject, + //Used to specify node Shape as DataSource + DataSource, + //Used to specify node Shape as Activity + Activity, + //Used to specify node Shape as Group + Group, + } + } + namespace Diagram { + enum UMLActivityShapes { + //Used to set UML ActivityShapes as Action + Action, + //Used to set UML ActivityShapes as Decision + Decision, + //Used to set UML ActivityShapes as MergeNode + MergeNode, + //Used to set UML ActivityShapes as InitialNode + InitialNode, + //Used to set UML ActivityShapes as FinalNode + FinalNode, + //Used to set UML ActivityShapes as ForkNode + ForkNode, + //Used to set UML ActivityShapes as JoinNode + JoinNode, + //Used to set UML ActivityShapes as TimeEvent + TimeEvent, + //Used to set UML ActivityShapes as AcceptingEvent + AcceptingEvent, + //Used to set UML ActivityShapes as SendSignal + SendSignal, + //Used to set UML ActivityShapes as ReceiveSignal + ReceiveSignal, + //Used to set UML ActivityShapes as StructuredNode + StructuredNode, + //Used to set UML ActivityShapes as Note + Note, + } + } + namespace Diagram { + enum BPMNBoundary { + //Used to set BPMN SubProcess's Boundary as Default + Default, + //Used to set BPMN SubProcess's Boundary as Call + Call, + //Used to set BPMN SubProcess's Boundary as Event + Event, + } + } + namespace Diagram { + enum BPMNLoops { + //Used to set BPMN Activity's Loop as None + None, + //Used to set BPMN Activity's Loop as Standard + Standard, + //Used to set BPMN Activity's Loop as ParallelMultiInstance + ParallelMultiInstance, + //Used to set BPMN Activity's Loop as SequenceMultiInstance + SequenceMultiInstance, + } + } + namespace Diagram { + enum BPMNSubProcessTypes { + //Used to set BPMN SubProcess type as None + None, + //Used to set BPMN SubProcess type as Transaction + Transaction, + //Used to set BPMN SubProcess type as Event + Event, + } + } + namespace Diagram { + enum BPMNTasks { + //Used to set BPMN Task Type as None + None, + //Used to set BPMN Task Type as Service + Service, + //Used to set BPMN Task Type as Receive + Receive, + //Used to set BPMN Task Type as Send + Send, + //Used to set BPMN Task Type as InstantiatingReceive + InstantiatingReceive, + //Used to set BPMN Task Type as Manual + Manual, + //Used to set BPMN Task Type as BusinessRule + BusinessRule, + //Used to set BPMN Task Type as User + User, + //Used to set BPMN Task Type as Script + Script, + //Used to set BPMN Task Type as Parallel + Parallel, + } + } + namespace Diagram { + enum BPMNTriggers { + //Used to set Event Trigger as None + None, + //Used to set Event Trigger as Message + Message, + //Used to set Event Trigger as Timer + Timer, + //Used to set Event Trigger as Escalation + Escalation, + //Used to set Event Trigger as Link + Link, + //Used to set Event Trigger as Error + Error, + //Used to set Event Trigger as Compensation + Compensation, + //Used to set Event Trigger as Signal + Signal, + //Used to set Event Trigger as Multiple + Multiple, + //Used to set Event Trigger as Parallel + Parallel, + //Used to set Event Trigger as Conditional + Conditional, + //Used to set Event Trigger as Termination + Termination, + //Used to set Event Trigger as Cancel + Cancel, + } + } + namespace Diagram { + enum Shapes { + //Used to specify node type as Text + Text, + //Used to specify node type as Image + Image, + //Used to specify node type as Html + Html, + //Used to specify node type as Native + Native, + //Used to specify node type as Basic + Basic, + //Used to specify node type as Flow + Flow, + //Used to specify node type as BPMN + BPMN, + //Used to specify node type as UMLClassifier + UMLClassifier, + //Used to specify node type as UMLActivity + UMLActivity, + } + } + namespace Diagram { + enum PageOrientations { + //Used to set orientation as Landscape + Landscape, + //Used to set orientation as portrait + Portrait, + } + } + namespace Diagram { + enum ScrollLimit { + //Used to set scrollLimit as Infinite + Infinite, + //Used to set scrollLimit as Diagram + Diagram, + //Used to set scrollLimit as Limited + Limited, + } + } + namespace Diagram { + enum BoundaryConstraints { + //Used to set boundaryConstraints as Infinite + Infinite, + //Used to set boundaryConstraints as Diagram + Diagram, + //Used to set boundaryConstraints as Page + Page, + } + } + namespace Diagram { + enum SelectorConstraints { + //Hides the selector + None, + //Sets the visibility of rotation handle as visible + Rotator, + //Sets the visibility of resize handles as visible + Resizer, + //Sets the visibility of user handles as visible + UserHandles, + //Sets the visibility of all selection handles as visible + All, + } + } + namespace Diagram { + enum UserHandlePositions { + //Set the position of the userhandle as topleft + TopLeft, + //Set the position of the userhandle as topcenter + TopCenter, + //Set the position of the userhandle as topright + TopRight, + //Set the position of the userhandle as middleleft + MiddleLeft, + //Set the position of the userhandle as middleright + MiddleRight, + //Set the position of the userhandle as bottomleft + BottomLeft, + //Set the position of the userhandle as bottomcenter + BottomCenter, + //Set the position of the userhandle as bottom right + BottomRight, + } + } + namespace Diagram { + enum SnapConstraints { + //Enables node to be snapped to horizontal gridlines + None, + //Enables node to be snapped to vertical gridlines + SnapToHorizontalLines, + //Enables node to be snapped to horizontal gridlines + SnapToVerticalLines, + //Enables node to be snapped to gridlines + SnapToLines, + //Enable horizontal lines + ShowHorizontalLines, + //Enable vertical lines + ShowVerticalLines, + //Enable both horizontal and vertical lines + ShowLines, + //Enable all the constraints + All, + } + } + namespace Diagram { + enum Tool { + //Disables all Tools + None, + //Enables/Disables SingleSelect tool + SingleSelect, + //Enables/Disables MultiSelect tool + MultipleSelect, + //Enables/Disables ZoomPan tool + ZoomPan, + //Enables/Disables DrawOnce tool + DrawOnce, + //Enables/Disables ContinuousDraw tool + ContinuesDraw, + } + } + namespace Diagram { + enum RelativeMode { + //Shows tooltip around the node + Object, + //Shows tooltip at the mouse position + Mouse, + } + } + namespace Diagram { + enum ZoomCommand { + //Used to zoom in the Diagram + ZoomIn, + //Used to zoom out the diagram + ZoomOut, + } + } + + class HeatMap extends ej.Widget { + static fn: HeatMap; + constructor(element: JQuery | Element, options?: HeatMap.Model); + static Locale: any; + model: HeatMap.Model; + defaults: HeatMap.Model; + } + export namespace HeatMap { + + export interface Model { + + /** Specifies the width of the heat map. + * @Default {null} + */ + width?: any; + + /** Specifies the width of the heat map. + * @Default {null} + */ + height?: any; + + /** Specifies the name of the heat map. + * @Default {null} + */ + id?: number; + + /** Enables or disables tooltip of heatmap + * @Default {true} + */ + showTooltip?: boolean; + + /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. + */ + tooltipSettings?: TooltipSettings; + + /** Specifies the source data of the heat map. + * @Default {[]} + */ + itemsSource?: any; + + /** Specifies the property of the heat map cell. + * @Default {Null} + */ + heatMapCell?: HeatMapCell; + + /** Specifies can enable responsive mode or not for heat map. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies whether the virtualization can be enable or not. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the default column properties for all the column style not specified in column properties. + * @Default {[]} + */ + defaultColumnStyle?: DefaultColumnStyle; + + /** Specifies the no of legends can sync with heat map. + * @Default {[]} + */ + legendCollection?: any[]; + + /** Specifies the property and display value of the heat map column. + * @Default {[]} + */ + itemsMapping?: ItemsMapping; + + /** Specifies the color values of the heat map column data. + * @Default {[]} + */ + colorMappingCollection?: ColorMappingCollection[]; + + /** Triggered when the mouse over on the cell. */ + cellMouseOver?(e: CellMouseOverEventArgs): void; + + /** Triggered when the mouse over on the cell. */ + cellMouseEnter?(e: CellMouseEnterEventArgs): void; + + /** Triggered when the mouse over on the cell. */ + cellMouseLeave?(e: CellMouseLeaveEventArgs): void; + + /** Triggered when the mouse over on the cell. */ + cellSelected?(e: CellSelectedEventArgs): void; + } + + export interface CellMouseOverEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; + } + + export interface CellMouseEnterEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; + } + + export interface CellMouseLeaveEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; + } + + export interface CellSelectedEventArgs { + + /** Value displayed on the cell + */ + cellValue?: string; + + /** Returns the HeatMap cell data + */ + source?: any; + + /** Returns the specific HeatMap cell + */ + cell?: any; + } + + export interface TooltipSettingsPositionTarget { -export interface CommonSeriesOptionsMarkerDataLabelFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; -} + /** Sets the arrow position again popup based on horizontal(x) value + * @Default {center} + */ + horizontal?: ej.datavisualization.HeatMap.Horizontal | string; -export interface CommonSeriesOptionsMarkerDataLabelMargin { + /** Sets the arrow position again popup based on vertical(y) value + * @Default {top} + */ + vertical?: ej.datavisualization.HeatMap.Vertical | string; + } - /** Bottom margin of the text. - * @Default {5} - */ - bottom?: number; + export interface TooltipSettingsPositionStem { - /** Left margin of the text. - * @Default {5} - */ - left?: number; + /** Sets the arrow position again popup based on horizontal(x) value + * @Default {center} + */ + horizontal?: ej.datavisualization.HeatMap.Horizontal | string; - /** Right margin of the text. - * @Default {5} - */ - right?: number; + /** Sets the arrow position again popup based on vertical(y) value + * @Default {bottom} + */ + vertical?: ej.datavisualization.HeatMap.Vertical | string; + } - /** Top margin of the text. - * @Default {5} - */ - top?: number; -} + export interface TooltipSettingsPosition { -export interface CommonSeriesOptionsMarkerDataLabel { - - /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. - * @Default {null} - */ - angle?: number; - - /** Maximum label width of the data label. - * @Default {null} - */ - maximumLabelWidth?: number; - - /** Enable the wrap option to the data label. - * @Default {false} - */ - enableWrap?: boolean; - - /** Options for customizing the border of the data label. - */ - border?: CommonSeriesOptionsMarkerDataLabelBorder; - - /** Options for displaying and customizing the line that connects point and data label. - */ - connectorLine?: CommonSeriesOptionsMarkerDataLabelConnectorLine; - - /** Background color of the data label. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the data label font. - */ - font?: CommonSeriesOptionsMarkerDataLabelFont; - - /** Horizontal alignment of the data label. - * @Default {center} - */ - horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment|string; - - /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. - */ - margin?: CommonSeriesOptionsMarkerDataLabelMargin; - - /** Opacity of the data label. - * @Default {1} - */ - opacity?: number; - - /** Background shape of the data label. - * @Default {none. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - */ - template?: string; - - /** Name of a field in data source, where datalabel text is displayed. - */ - textMappingName?: string; - - /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. - * @Default {top. See TextPosition} - */ - textPosition?: ej.datavisualization.Chart.TextPosition|string; - - /** Vertical alignment of the data label. - * @Default {center} - */ - verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment|string; - - /** Controls the visibility of the data labels. - * @Default {false} - */ - visible?: boolean; -} + /** Sets the Tooltip position against target. + */ + target?: TooltipSettingsPositionTarget; -export interface CommonSeriesOptionsMarkerSize { + /** Sets the arrow position again popup. + */ + stem?: TooltipSettingsPositionStem; + } - /** Height of the marker. - * @Default {6} - */ - height?: number; + export interface TooltipSettingsAnimation { - /** Width of the marker. - * @Default {6} - */ - width?: number; -} + /** Defines the animation effect for the tooltip that should be shown when the mouse hovers over rows/columns. + * @Default {none} + */ + effect?: ej.datavisualization.HeatMap.Effect | string; -export interface CommonSeriesOptionsMarker { + /** Defines the animation speed for the tooltip that should be shown when the mouse hovers over rows/columns. + * @Default {0} + */ + speed?: number; + } - /** Options for customizing the border of the marker shape. - */ - border?: CommonSeriesOptionsMarkerBorder; + export interface TooltipSettings { + + /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. + * @Default {null} + */ + templateId?: string; - /** Options for displaying and customizing data labels. - */ - dataLabel?: CommonSeriesOptionsMarkerDataLabel; + /** Defines the tooltip of associate that should be shown when the mouse hovers over rows/columns. + * @Default {mouseFollow} + */ + associate?: ej.datavisualization.HeatMap.Associate | string; + + /** Enables/ disables the balloon for the tooltip to be shown + * @Default {true} + */ + isBalloon?: boolean; - /** Color of the marker shape. - * @Default {null} - */ - fill?: string; + /** Defines various attributes of the Tooltip position + */ + position?: TooltipSettingsPosition; - /** The URL for the Image to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. - */ - imageUrl?: string; + /** Defines the tooltip to be triggered. + * @Default {hover} + */ + trigger?: ej.datavisualization.HeatMap.Trigger | string; - /** Opacity of the marker. - * @Default {1} - */ - opacity?: number; + /** Defines the animation for the tooltip that should be shown when the mouse hovers over rows/columns. + */ + animation?: TooltipSettingsAnimation; + } + + export interface HeatMapCell { - /** Specifies the shape of the marker. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; + /** Specifies whether the cell content can be visible or not. + * @Default {ej.HeatMap.CellVisibility.Visible} + */ + showContent?: ej.datavisualization.HeatMap.CellVisibility | string; + + /** Specifies whether the cell color can be visible or not. + * @Default {true} + */ + showColor?: boolean; + } + + export interface DefaultColumnStyle { + + /** Specifies the alignment mode of the heat map column. + * @Default {ej.HeatMap.TextAlign.Center} + */ + textAlign?: any; + + /** Specifies the template id of the heat map column header. + */ + headerTemplateID?: string; + + /** Specifies the template id of all individual cell data of the heat map. + */ + templateID?: string; + } + + export interface ItemsMappingColumnStyle { + + /** Specifies the width of the heat map column. + * @Default {0} + */ + width?: number; + + /** Specifies the text align mode of the heat map column. + * @Default {ej.HeatMap.TextAlign.Center} + */ + textAlign?: string; + + /** Specifies the template id of the column header. + */ + headerTemplateID?: string; + + /** Specifies the template id of all individual cell data. + */ + templateID?: string; + } + + export interface ItemsMappingColumn { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; + } + + export interface ItemsMappingRow { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; + } + + export interface ItemsMappingValue { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; + } + + export interface ItemsMappingHeaderMapping { + + /** Specifies the name of the column or row. + */ + propertyName?: string; + + /** Specifies the value of the column or row. + */ + displayName?: string; + + /** Specifies the property and display value of the header. + * @Default {null} + */ + columnStyle?: any; + } + + export interface ItemsMapping { + + /** Column settings for the individual heat map column. + * @Default {null} + */ + columnStyle?: ItemsMappingColumnStyle; + + /** Specifies the property and display value of the column. + * @Default {null} + */ + column?: ItemsMappingColumn; + + /** Specifies the property and display value of the heat map.row + * @Default {null} + */ + row?: ItemsMappingRow; + + /** Specifies the property and display value of the column value. + * @Default {null} + */ + value?: ItemsMappingValue; + + /** Specifies the property and display value of the header. + * @Default {null} + */ + headerMapping?: ItemsMappingHeaderMapping; + + /** Specifies the property and display value of the collection of column. + * @Default {[]} + */ + columnMapping?: any[]; + } + + export interface ColorMappingCollectionLabel { + + /** Enables/disables the bold style of the heat map label. + * @Default {false} + */ + bold?: boolean; + + /** Enables/disables the italic style of the heat map label. + * @Default {false} + */ + italic?: boolean; + + /** specifies the text value of the heat map label. + */ + text?: string; + + /** Specifies the text style of the heat map label. + * @Default {ej.HeatMap.TextDecoration.None} + */ + textDecoration?: ej.datavisualization.HeatMap.TextDecoration | string; + + /** Specifies the font size of the heat map label. + * @Default {10} + */ + fontSize?: number; + + /** Specifies the font family of the heat map label. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the font color of the heat map label. + * @Default {black} + */ + fontColor?: string; + } + + export interface ColorMappingCollection { + + /** Specifies the color of the heat map column data. + * @Default {white} + */ + color?: string; + + /** Specifies the color values of the heat map column data. + * @Default {0} + */ + value?: number; + + /** Specifies the label properties of the heat map color. + * @Default {null} + */ + label?: ColorMappingCollectionLabel; + } + } + namespace HeatMap { + enum Associate { + //Used to set the associate of tooltip as Target + Target, + //Used to set the associate of tooltip as MouseFollow + MouseFollow, + //Used to set the associate of tooltip as MouseEnter + MouseEnter, + } + } + namespace HeatMap { + enum Horizontal { + //Used to display the tooltip horizontally on left side of rows/columns + Left, + //Used to display the tooltip horizontally on center side of rows/columns + Center, + //Used to display the tooltip horizontally on right side of rows/columns + Right, + } + } + namespace HeatMap { + enum Vertical { + //Used to display the tooltip horizontally on left side of rows/columns + Top, + //Used to display the tooltip horizontally on center side of rows/columns + Center, + //Used to display the tooltip horizontally on right side of rows/columns + Bottom, + } + } + namespace HeatMap { + enum Trigger { + //Tooltip can be triggered on mouse hovers + Hover, + //Tooltip can be triggered on mouse click + Click, + } + } + namespace HeatMap { + enum Effect { + //Sets tooltip animation as None + None, + //Sets tooltip animation as Fade + Fade, + //Sets tooltip animation as Slide + Slide, + } + } + namespace HeatMap { + enum CellVisibility { + //Display the content of the cell + Visible, + //Hide the content of the cell + Hidden, + } + } + namespace HeatMap { + enum TextDecoration { + //Defines a line below the text + Underline, + //Defines a line above the text + Overline, + //Defines a line through the text + LineThrough, + //Defines a normal text. This is default + None, + } + } + + class HeatMapLegend extends ej.Widget { + static fn: HeatMapLegend; + constructor(element: JQuery | Element, options?: HeatMapLegend.Model); + static Locale: any; + model: HeatMapLegend.Model; + defaults: HeatMapLegend.Model; + } + export namespace HeatMapLegend { + + export interface Model { + + /** Specifies the width of the heatmap legend. + * @Default {null} + */ + width?: any; + + /** Specifies the height of the heatmap legend. + * @Default {null} + */ + height?: any; + + /** Specifies can enable responsive mode or not for heatmap legend. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies whether the cell label can be shown or not. + * @Default {false} + */ + showLabel?: boolean; + + /** Specifies the color values of the column data. + * @Default {[]} + */ + colorMappingCollection?: ColorMappingCollection[]; + + /** Specifies the orientation of the heatmap legend + * @Default {ej.HeatMap.LegendOrientation.Horizontal} + */ + orientation?: ej.datavisualization.HeatMap.LegendOrientation | string; + + /** Specifies the legend mode as gradient or list. + * @Default {ej.HeatMap.LegendMode.Gradient} + */ + legendMode?: ej.datavisualization.HeatMap.LegendMode | string; + } + + export interface ColorMappingCollectionLabel { + + /** Enables/disables the bold style of the heatmap legend label. + * @Default {false} + */ + bold?: boolean; + + /** Enables/disables the italic style of the heatmap legend label. + * @Default {false} + */ + italic?: boolean; + + /** specifies the text value of the heatmap legend label. + */ + text?: string; + + /** Specifies the text style of the heatmap legend label. + * @Default {ej.HeatMap.TextDecoration.None} + */ + textDecoration?: ej.datavisualization.HeatMap.TextDecoration | string; + + /** Specifies the font size of the heatmap legend label. + * @Default {10} + */ + fontSize?: number; + + /** Specifies the font family of the heatmap legend label. + * @Default {Arial} + */ + fontFamily?: string; + + /** Specifies the font color of the heatmap legend label. + * @Default {black} + */ + fontColor?: string; + } + + export interface ColorMappingCollection { + + /** Specifies the color of the heatmap legend data. + * @Default {white} + */ + color?: string; + + /** Specifies the color values of the heatmap legend column data. + * @Default {0} + */ + value?: number; + + /** Specifies the label properties of the heatmap legend color. + * @Default {null} + */ + label?: ColorMappingCollectionLabel; + } + } + namespace HeatMap { + enum LegendOrientation { + //Scales the graphic content non-uniformly to the width and height of the diagram area + Horizontal, + //Used to align the image at the top left of diagram area + Vertical, + } + } + namespace HeatMap { + enum LegendMode { + //Scales the graphic content non-uniformly to the width and height of the diagram area + Gradient, + //Used to align the image at the top left of diagram area + List, + } + } + + class Sparkline extends ej.Widget { + static fn: Sparkline; + constructor(element: JQuery | Element, options?: Sparkline.Model); + static Locale: any; + model: Sparkline.Model; + defaults: Sparkline.Model; + + /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; + } + export namespace Sparkline { + + export interface Model { + + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; + + /** Fill color for the sparkline series. + * @Default {#33ccff} + */ + fill?: string; + + /** Border color of the series. + * @Default {null} + */ + stroke?: string; + + /** Options for customizing the color, opacity and width of the sparkline border. + */ + border?: Border; + + /** Border width of the series. + * @Default {1} + */ + width?: number; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Color for series high point. + * @Default {null} + */ + highPointColor?: string; + + /** Color for series low point. + * @Default {null} + */ + lowPointColor?: string; + + /** Color for series start point. + * @Default {null} + */ + startPointColor?: string; + + /** Color for series end point. + * @Default {null} + */ + endPointColor?: string; + + /** Color for series negative point. + * @Default {null} + */ + negativePointColor?: string; + + /** Options for customizing the color, opacity of the sparkline start and end range. + */ + rangeBandSettings?: RangeBandSettings; + + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; + + /** Controls whether sparkline has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. + * @Default {false} + */ + enableCanvasRendering?: boolean; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Gap or padding for sparkline. + * @Default {8} + */ + padding?: number; + + /** Specifies the type of the series to render in sparkline. + * @Default {line. See Type} + */ + type?: ej.datavisualization.Sparkline.Type | string; + + /** Specifies the theme for Sparkline. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sparkline.Theme | string; + + /** Options to customize the tooltip. + */ + tooltip?: Tooltip; + + /** Options for displaying and customizing marker for a data point. + */ + markerSettings?: MarkerSettings; - /** Options for customizing the size of the marker shape. - */ - size?: CommonSeriesOptionsMarkerSize; + /** Options to customize the Sparkline size. + */ + size?: Size; - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; -} + /** Options for customizing the color,dashArray and width of the axisLine. + */ + axisLineSettings?: AxisLineSettings; -export interface CommonSeriesOptionsOutlierSettingsSize { + /** Fires before loading the sparkline. */ + load?(e: LoadEventArgs): void; + + /** Fires after loaded the sparkline. */ + loaded?(e: LoadedEventArgs): void; - /** Height of the outlier shape. - * @Default {6} - */ - height?: number; + /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ + tooltipInitialize?(e: TooltipInitializeEventArgs): void; - /** Width of the outlier shape. - * @Default {6} - */ - width?: number; -} + /** Fires before rendering a series. This event is fired for each series in Sparkline. */ + seriesRendering?(e: SeriesRenderingEventArgs): void; -export interface CommonSeriesOptionsOutlierSettings { + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - /** Specifies the shape of the outlier. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; + /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ + pointRegionMouseClick?(e: PointRegionMouseClickEventArgs): void; - /** Options for customizing the size of the outlier shape. - */ - size?: CommonSeriesOptionsOutlierSettingsSize; -} + /** Fires on moving mouse over the sparkline. */ + sparklineMouseMove?(e: SparklineMouseMoveEventArgs): void; -export interface CommonSeriesOptionsCornerRadius { + /** Fires on moving mouse outside the sparkline. */ + sparklineMouseLeave?(e: SparklineMouseLeaveEventArgs): void; + } - /** Specifies the radius for the top left corner. - * @Default {0} - */ - topLeft?: number; + export interface LoadEventArgs { - /** Specifies the radius for the top right corner. - * @Default {0} - */ - topRight?: number; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Specifies the radius for the bottom left corner. - * @Default {0} - */ - bottomLeft?: number; + /** Instance of the sparkline model object + */ + model?: any; - /** Specifies the radius for the bottom right corner. - * @Default {0} - */ - bottomRight?: number; -} + /** Name of the event + */ + type?: string; + } -export interface CommonSeriesOptionsTooltipBorder { + export interface LoadedEventArgs { - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; -} + /** Instance of the sparkline model object + */ + model?: any; -export interface CommonSeriesOptionsTooltip { - - /** Options for customizing the border of the tooltip. - */ - border?: CommonSeriesOptionsTooltipBorder; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - rx?: number; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - ry?: number; - - /** Specifies the duration, the tooltip has to be displayed. - * @Default {500ms} - */ - duration?: string; - - /** Enables/disables the animation of the tooltip when moving from one point to other. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Background color of the tooltip. - * @Default {null} - */ - fill?: string; - - /** Format of the tooltip content. - * @Default {#point.x# : #point.y#} - */ - format?: string; - - /** Opacity of the tooltip. - * @Default {0.5} - */ - opacity?: number; - - /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - * @Default {null} - */ - template?: string; - - /** Controls the visibility of the tooltip. - * @Default {false} - */ - visible?: boolean; -} + /** Name of the event + */ + type?: string; + } -export interface CommonSeriesOptionsEmptyPointSettingsStyleBorder { + export interface TooltipInitializeEventArgs { - /** Border color of the empty point. - */ - color?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Border width of the empty point. - * @Default {1} - */ - width?: number; -} + /** Instance of the sparkline model object + */ + model?: any; -export interface CommonSeriesOptionsEmptyPointSettingsStyle { + /** Name of the event + */ + type?: string; - /** Color of the empty point. - */ - color?: string; + /** X Location of the trackball tooltip in pixels + */ + locationX?: any; - /** Options for customizing border of the empty point in the series. - */ - border?: CommonSeriesOptionsEmptyPointSettingsStyleBorder; -} + /** Y Location of the trackball tooltip in pixels + */ + locationY?: any; -export interface CommonSeriesOptionsEmptyPointSettings { + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; - /** Controls the visibility of the empty point. - * @Default {true} - */ - visible?: boolean; + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; + } - /** Specifies the mode of empty point. - * @Default {gap} - */ - displayMode?: ej.datavisualization.Chart.EmptyPointMode|string; + export interface SeriesRenderingEventArgs { - /** Options for customizing the color and border of the empty point in the series. - */ - style?: CommonSeriesOptionsEmptyPointSettingsStyle; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface CommonSeriesOptionsConnectorLine { + /** Instance of the sparkline model object + */ + model?: any; - /** Width of the connector line. - * @Default {1} - */ - width?: number; + /** Name of the event + */ + type?: string; - /** Color of the connector line. - * @Default {#565656} - */ - color?: string; + /** Minimum x value of the data point + */ + minX?: any; - /** DashArray of the connector line. - * @Default {null} - */ - dashArray?: string; + /** Minimum y value of the data point + */ + minY?: any; - /** DashArray of the connector line. - * @Default {1} - */ - opacity?: number; -} + /** Maximum x value of the data point + */ + maxX?: any; -export interface CommonSeriesOptionsDragSettings { + /** Maximum y value of the data point + */ + maxY?: any; + } - /** drag/drop the series - * @Default {false} - */ - enable?: boolean; + export interface PointRegionMouseMoveEventArgs { - /** Specifies the type of drag settings. - * @Default {xy} - */ - type?: string; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface CommonSeriesOptionsErrorBarCap { + /** Instance of the sparkline model object + */ + model?: any; - /** Show/Hides the error bar cap. - * @Default {true} - */ - visible?: boolean; + /** Name of the event + */ + type?: string; - /** Width of the error bar cap. - * @Default {1} - */ - width?: number; + /** X-coordinate of point in pixel + */ + locationX?: number; - /** Length of the error bar cap. - * @Default {1} - */ - length?: number; + /** Y-coordinate of point in pixel + */ + locationY?: number; - /** Color of the error bar cap. - * @Default {“#000000”} - */ - fill?: string; -} + /** Index of the point in series + */ + pointIndex?: number; -export interface CommonSeriesOptionsErrorBar { - - /** Show/hides the error bar - * @Default {visible} - */ - visibility?: boolean; - - /** Specifies the type of error bar. - * @Default {FixedValue} - */ - type?: ej.datavisualization.Chart.ErrorBarType|string; - - /** Specifies the mode of error bar. - * @Default {vertical} - */ - mode?: ej.datavisualization.Chart.ErrorBarMode|string; - - /** Specifies the direction of error bar. - * @Default {both} - */ - direction?: ej.datavisualization.Chart.ErrorBarDirection|string; - - /** Value of vertical error bar. - * @Default {3} - */ - verticalErrorValue?: number; - - /** Value of horizontal error bar. - * @Default {1} - */ - horizontalErrorValue?: number; - - /** Value of positive horizontal error bar. - * @Default {1} - */ - horizontalPositiveErrorValue?: number; - - /** Value of negative horizontal error bar. - * @Default {1} - */ - horizontalNegativeErrorValue?: number; - - /** Value of positive vertical error bar. - * @Default {5} - */ - verticalPositiveErrorValue?: number; - - /** Value of negative vertical error bar. - * @Default {5} - */ - verticalNegativeErrorValue?: number; - - /** Fill color of the error bar. - * @Default {#000000} - */ - fill?: string; - - /** Width of the error bar. - * @Default {1} - */ - width?: number; - - /** Options for customizing the error bar cap. - */ - cap?: CommonSeriesOptionsErrorBarCap; -} + /** Type of the series + */ + seriesType?: string; + } -export interface CommonSeriesOptionsTrendline { - - /** Show/hides the trendline. - */ - visibility?: boolean; - - /** Specifies the type of the trendline for the series. - * @Default {linear. See TrendlinesType} - */ - type?: string; - - /** Name for the trendlines that is to be displayed in the legend text. - * @Default {trendline} - */ - name?: string; - - /** Fill color of the trendlines. - * @Default {#0000FF} - */ - fill?: string; - - /** Width of the trendlines. - * @Default {1} - */ - width?: number; - - /** Opacity of the trendline. - * @Default {1} - */ - opacity?: number; - - /** Pattern of dashes and gaps used to stroke the trendline. - */ - dashArray?: string; - - /** Future trends of the current series. - * @Default {0} - */ - forwardForecast?: number; - - /** Past trends of the current series. - * @Default {0} - */ - backwardForecast?: number; - - /** Specifies the order of the polynomial trendlines. - * @Default {0} - */ - polynomialOrder?: number; - - /** Specifies the moving average starting period value. - * @Default {2} - */ - period?: number; -} + export interface PointRegionMouseClickEventArgs { -export interface CommonSeriesOptionsHighlightSettingsBorder { + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Border color of the series/point on highlight. - */ - color?: string; + /** Instance of the sparkline model object + */ + model?: any; - /** Border width of the series/point on highlight. - * @Default {2} - */ - width?: string; -} + /** Name of the event + */ + type?: string; -export interface CommonSeriesOptionsHighlightSettings { + /** X-coordinate of point in pixel + */ + locationX?: number; - /** Enables/disables the ability to highlight the series or data point interactively. - * @Default {false} - */ - enable?: boolean; + /** Y-coordinate of point in pixel + */ + locationY?: number; - /** Specifies whether the series or data point has to be highlighted. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode|string; + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; + } + + export interface SparklineMouseMoveEventArgs { - /** Color of the series/point on highlight. - */ - color?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Opacity of the series/point on highlight. - * @Default {0.6} - */ - opacity?: number; + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface SparklineMouseLeaveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of the sparkline. + * @Default {transparent} + */ + color?: string; + + /** Width of the Sparkline border. + * @Default {1} + */ + width?: number; + } + + export interface RangeBandSettings { + + /** Start value of the range band. + * @Default {null} + */ + startRange?: number; + + /** End value of the range band. + * @Default {null} + */ + endRange?: number; + + /** Range band opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Range band color of the series. + * @Default {transparent} + */ + color?: string; + } + + export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {transparent} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; + } + + export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {#111111} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sparkline.FontStyle | string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sparkline.FontWeight | string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {8px} + */ + size?: string; + } + + export interface Tooltip { + + /** Show/hides the tooltip visibility. + * @Default {false} + */ + visible?: boolean; + + /** Fill color for the sparkline tooltip. + * @Default {white} + */ + fill?: string; + + /** Custom template to the tooltip. + */ + template?: string; + + /** Options for customizing the border of the tooltip. + */ + border?: TooltipBorder; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + } + + export interface MarkerSettingsBorder { + + /** Border color of the marker shape. + * @Default {transparent} + */ + color?: string; + + /** Controls the opacity of the marker border. + * @Default {1} + */ + opacity?: number; + + /** Border width of the marker shape. + * @Default {null} + */ + width?: number; + } + + export interface MarkerSettings { + + /** Controls the opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + + /** width of the marker shape. + * @Default {2} + */ + width?: number; + + /** Color of the marker shape. + * @Default {white} + */ + fill?: string; + + /** Options for customizing the border of the marker shape. + */ + border?: MarkerSettingsBorder; + } + + export interface Size { + + /** Height of the Sparkline. Height can be specified in either pixel or percentage. + * @Default {''} + */ + height?: string; + + /** Width of the Sparkline. Width can be specified in either pixel or percentage. + * @Default {''} + */ + width?: string; + } + + export interface AxisLineSettings { + + /** Controls the visibility of the axis. + * @Default {false} + */ + visible?: boolean; + + /** Color of the axis line. + * @Default {'#111111'} + */ + color?: string; + + /** Width of the axis line. + * @Default {1} + */ + width?: number; + + /** Dash array of the axis line. + * @Default {1} + */ + dashArray?: number; + } + } + namespace Sparkline { + enum Type { + //string + Area, + //string + Line, + //string + Column, + //string + Pie, + //string + WinLoss, + } + } + namespace Sparkline { + enum Theme { + //string + Azure, + //string + FlatLight, + //string + FlatDark, + //string + Azuredark, + //string + Lime, + //string + LimeDark, + //string + Saffron, + //string + SaffronDark, + //string + GradientLight, + //string + GradientDark, + } + } + namespace Sparkline { + enum FontStyle { + //string + Normal, + //string + Italic, + } + } + namespace Sparkline { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } + } + + class SunburstChart extends ej.Widget { + static fn: SunburstChart; + constructor(element: JQuery | Element, options?: SunburstChart.Model); + static Locale: any; + model: SunburstChart.Model; + defaults: SunburstChart.Model; + + /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. + * @returns {void} + */ + redraw(): void; + + /** destroy the sunburst + * @returns {void} + */ + _destroy(): void; + } + export namespace SunburstChart { + + export interface Model { + + /** Background color of the plot area. + * @Default {null} + */ + background?: string; + + /** Bind the data field from the data source. + * @Default {null} + */ + valueMemberPath?: string; + + /** Options for customizing the sunburst border. + */ + border?: Border; + + /** Options for customizing the sunburst segment border. + */ + segmentBorder?: SegmentBorder; + + /** Specifies the dataSource to the sunburst. + * @Default {null} + */ + dataSource?: any; + + /** Palette color for the data points. + * @Default {null} + */ + palette?: string; + + /** Parent node of the data points. + * @Default {null} + */ + parentNode?: string; + + /** Name of the property in the datasource that contains x values. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y values. + * @Default {null} + */ + yName?: string; + + /** Controls whether sunburst has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Options to customize the Sunburst size. + */ + size?: Size; + + /** Controls the visibility of sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options to customize the Sunburst tooltip. + */ + tooltip?: Tooltip; + + /** Options for customizing sunburst points. + */ + points?: Points; + + /** Sunburst rendering will start from the specified value + * @Default {null} + */ + startAngle?: number; + + /** Sunburst rendering will end at the specified value + * @Default {null} + */ + endAngle?: number; + + /** Sunburst outer radius value + * @Default {1} + */ + radius?: number; + + /** Sunburst inner radius value + * @Default {0.4} + */ + innerRadius?: number; + + /** Options to customize the Sunburst dataLabel. + */ + dataLabelSettings?: DataLabelSettings; + + /** Options for customizing the title and subtitle of sunburst. + */ + title?: Title; + + /** Options for customizing the appearance of the levels or point while highlighting. + */ + highlightSettings?: HighlightSettings; - /** Options for customizing the border of series on highlight. - */ - border?: CommonSeriesOptionsHighlightSettingsBorder; + /** Options for customizing the appearance of the levels or data point while selection. + */ + selectionSettings?: SelectionSettings; + + /** Specify levels of sunburst for grouped visualization of data + * @Default {[]} + */ + levels?: Level[]; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; - /** Specifies the pattern for the series/point on highlight. - * @Default {none. See Pattern} - */ - pattern?: string; + /** Specifies the theme for Sunburst. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sunburst.SunburstTheme | string; - /** Custom pattern for the series on highlight. - */ - customPattern?: string; -} + /** Options to customize the left, right, top and bottom margins of sunburst area. + */ + margin?: Margin; -export interface CommonSeriesOptionsSelectionSettingsBorder { + /** Enable/disable the animation for all the levels. + * @Default {false} + */ + enableAnimation?: boolean; - /** Border color of the series/point on selection. - */ - color?: string; + /** Opacity of the levels. + * @Default {1} + */ + opacity?: number; - /** Border width of the series/point on selection. - * @Default {2} - */ - width?: string; -} + /** Options for enable zooming feature of chart. + */ + zoomSettings?: ZoomSettings; -export interface CommonSeriesOptionsSelectionSettings { - - /** Enables/disables the ability to select a series/data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies the type of selection. - * @Default {single} - */ - type?: ej.datavisualization.Chart.SelectionType|string; - - /** Specifies whether the series or data point has to be selected. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode|string; - - /** Specifies the drawn rectangle type. - * @Default {xy} - */ - rangeType?: ej.datavisualization.Chart.RangeType|string; - - /** Color of the series/point on selection. - */ - color?: string; - - /** Opacity of the series/point on selection. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of the series on selection. - */ - border?: CommonSeriesOptionsSelectionSettingsBorder; - - /** Specifies the pattern for the series/point on selection. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on selection. - */ - customPattern?: string; -} + /** Animation type of sunburst + * @Default {rotation. See Alignment} + */ + animationType?: ej.datavisualization.Sunburst.Animation | string; -export interface CommonSeriesOptions { - - /** Options to customize the border of all the series. - */ - border?: CommonSeriesOptionsBorder; - - /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet - * @Default {rectangle} - */ - columnFacet?: ej.datavisualization.Chart.ColumnFacet|string; - - /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. - * @Default {0.7} - */ - columnWidth?: number; - - /** Spacing between columns of different series. Value ranges from 0 to 1 - * @Default {0} - */ - columnSpacing?: number; - - /** Enables or disables the visibility of legend item. - * @Default {visible} - */ - visibleOnLegend?: string; - - /** Group of the stacking collection series. - */ - stackingGroup?: string; - - /** Pattern of dashes and gaps used to stroke all the line type series. - */ - dashArray?: string; - - /** Set the dataSource for all series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1 - * @Default {0.4} - */ - doughnutCoefficient?: number; - - /** Controls the size of the doughnut series. Value ranges from 0 to 1. - * @Default {0.8} - */ - doughnutSize?: number; - - /** Specifies the type of series to be drawn in radar or polar series. - * @Default {line. See DrawType} - */ - drawType?: ej.datavisualization.Chart.DrawType|string; - - /** Enable/disable the animation for all the series. - * @Default {true} - */ - enableAnimation?: boolean; - - /** To avoid overlapping of data labels smartly. - * @Default {true} - */ - enableSmartLabels?: boolean; - - /** Start angle of pie/doughnut series. - * @Default {null} - */ - endAngle?: number; - - /** Explodes the pie/doughnut slices on mouse move. - * @Default {false} - */ - explode?: boolean; - - /** Explodes all the slice of pie/doughnut on render. - * @Default {false} - */ - explodeAll?: boolean; - - /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. - * @Default {null} - */ - explodeIndex?: number; - - /** Specifies the distance of the slice from the center, when it is exploded. - * @Default {0.4} - */ - explodeOffset?: number; - - /** Fill color for all the series. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the font of all the series. - */ - font?: CommonSeriesOptionsFont; - - /** Sets the height of the funnel in funnel series. Values can be either pixel or percentage. - * @Default {32.7%} - */ - funnelHeight?: string; - - /** Sets the width of the funnel in funnel series. Values can be either pixel or percentage. - * @Default {11.6%} - */ - funnelWidth?: string; - - /** Gap between the slices in pyramid and funnel series. - * @Default {0} - */ - gapRatio?: number; - - /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. - * @Default {true} - */ - isClosed?: boolean; - - /** Specifies whether to stack the column series in polar/radar charts. - * @Default {false} - */ - isStacking?: boolean; - - /** Renders the chart vertically. This is applicable only for Cartesian type series. - * @Default {false} - */ - isTransposed?: boolean; - - /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. - * @Default {true} - */ - showMedian?: boolean; - - /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. - * @Default {inside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the mode for splitting the data points in pieOfPie series. - * @Default {value. See SplitMode} - */ - splitMode?: ej.datavisualization.Chart.SplitMode|string; - - /** Quartile calculation has been performed in three different formulas to render the box and whisker series. - * @Default {exclusive} - */ - boxPlotMode?: ej.datavisualization.Chart.boxPlotMode|string; - - /** Specifies the line cap of the series. - * @Default {butt. See LineCap} - */ - lineCap?: ej.datavisualization.Chart.LineCap|string; - - /** Specifies the type of shape to be used where two lines meet. - * @Default {round. See LineJoin} - */ - lineJoin?: ej.datavisualization.Chart.LineJoin|string; - - /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. - */ - marker?: CommonSeriesOptionsMarker; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Options for customizing the outlier of the series. - */ - outlierSettings?: CommonSeriesOptionsOutlierSettings; - - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; - - /** Controls the size of pie series. Value ranges from 0 to 1. - * @Default {0.8} - */ - pieCoefficient?: number; - - /** Controls the size of the second pie in pieOfPie series. Value ranges from 0 to 1. - * @Default {0.6} - */ - pieOfPieCoefficient?: number; - - /** Split Value of pieofpie series. - * @Default {null} - */ - splitValue?: string; - - /** Distance between the two pie's in pieOfPie series. - * @Default {50} - */ - gapWidth?: number; - - /** Name of the property in the datasource that contains fill color for the series. - * @Default {null} - */ - pointColorMappingName?: string; - - /** Specifies the mode of the pyramid series. - * @Default {linear. See PyramidMode} - */ - pyramidMode?: ej.datavisualization.Chart.PyramidMode|string; - - /** Start angle from where the pie/doughnut series renders. By default it starts from 0. - * @Default {null} - */ - startAngle?: number; - - /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. - */ - cornerRadius?: CommonSeriesOptionsCornerRadius; - - /** Options for customizing the tooltip of chart. - */ - tooltip?: CommonSeriesOptionsTooltip; - - /** Specifies the type of the series to render in chart. - * @Default {column. See Type} - */ - type?: ej.datavisualization.Chart.Type|string; - - /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - xAxisName?: string; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - yAxisName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Name of the property in the datasource that contains high value for the series. - * @Default {null} - */ - high?: string; - - /** Name of the property in the datasource that contains low value for the series. - * @Default {null} - */ - low?: string; - - /** Name of the property in the datasource that contains open value for the series. - * @Default {null} - */ - open?: string; - - /** Name of the property in the datasource that contains close value for the series. - * @Default {null} - */ - close?: string; - - /** Z-order of the series. - * @Default {0} - */ - zOrder?: number; - - /** Name of the property in the datasource that contains the size value for the bubble series. - * @Default {null} - */ - size?: string; - - /** Options for customizing the empty point in the series. - */ - emptyPointSettings?: CommonSeriesOptionsEmptyPointSettings; - - /** Fill color for the positive column of the waterfall. - * @Default {null} - */ - positiveFill?: string; - - /** Options for customizing the waterfall connector line. - */ - connectorLine?: CommonSeriesOptionsConnectorLine; - - /** Options to customize the drag and drop in series. - */ - dragSettings?: CommonSeriesOptionsDragSettings; - - /** Options to customize the error bar in series. - */ - errorBar?: CommonSeriesOptionsErrorBar; - - /** Option to add the trendlines to chart. - */ - trendlines?: Array; - - /** Options for customizing the appearance of the series or data point while highlighting. - */ - highlightSettings?: CommonSeriesOptionsHighlightSettings; - - /** Options for customizing the appearance of the series/data point on selection. - */ - selectionSettings?: CommonSeriesOptionsSelectionSettings; -} + /** Fires before loading. */ + load?(e: LoadEventArgs): void; -export interface CrosshairTrackballTooltipSettingsBorder { + /** Fires before rendering sunburst. */ + preRender?(e: PreRenderEventArgs): void; - /** Border width of the trackball tooltip. - * @Default {null} - */ - width?: number; + /** Fires after rendering sunburst. */ + loaded?(e: LoadedEventArgs): void; - /** Border color of the trackball tooltip. - * @Default {null} - */ - color?: string; -} + /** Fires before rendering the datalabel */ + dataLabelRendering?(e: DataLabelRenderingEventArgs): void; -export interface CrosshairTrackballTooltipSettings { + /** Fires before rendering each segment */ + segmentRendering?(e: SegmentRenderingEventArgs): void; - /** Options for customizing the trackball tooltip border. - */ - border?: CrosshairTrackballTooltipSettingsBorder; + /** Fires before rendering sunburst title. */ + titleRendering?(e: TitleRenderingEventArgs): void; - /** Background color of the trackball tooltip. - * @Default {null} - */ - fill?: string; + /** Fires during initialization of tooltip. */ + tooltipInitialize?(e: TooltipInitializeEventArgs): void; - /** Rounded corner x value of the trackball tooltip. - * @Default {3} - */ - rx?: number; + /** Fires after clicking the point in sunburst */ + pointRegionClick?(e: PointRegionClickEventArgs): void; - /** Rounded corner y value of the trackball tooltip. - * @Default {3} - */ - ry?: number; + /** Fires while moving the mouse over sunburst points */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - /** Opacity value of the trackball tooltip. - * @Default {1} - */ - opacity?: number; + /** Fires when clicking the point to perform drilldown. */ + drillDownClick?(e: DrillDownClickEventArgs): void; - /** Specifies the mode of the trackball tooltip. - * @Default {float. See CrosshairMode} - */ - mode?: ej.datavisualization.Chart.CrosshairMode|string; -} + /** Fires when resetting drilldown points. */ + drillDownBack?(e: DrillDownBackEventArgs): void; -export interface CrosshairMarkerBorder { + /** Fires after resetting the sunburst points */ + drillDownReset?(e: DrillDownResetEventArgs): void; + } - /** Border width of the marker. - * @Default {3} - */ - width?: number; -} + export interface LoadEventArgs { -export interface CrosshairMarkerSize { + /** Load event data + */ + data?: string; - /** Height of the marker. - * @Default {10} - */ - height?: number; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Width of the marker. - * @Default {10} - */ - width?: number; -} + /** Instance of the sunburst model object + */ + model?: any; -export interface CrosshairMarker { + /** Name of the event + */ + type?: string; + } - /** Options for customizing the border. - */ - border?: CrosshairMarkerBorder; + export interface PreRenderEventArgs { - /** Opacity of the marker. - * @Default {true} - */ - opacity?: boolean; + /** PreRender event data + */ + data?: string; - /** Options for customizing the size of the marker. - */ - size?: CrosshairMarkerSize; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Show/hides the marker. - * @Default {true} - */ - visible?: boolean; -} + /** Instance of the sunburst model object + */ + model?: any; -export interface CrosshairLine { + /** Name of the event + */ + type?: string; + } - /** Color of the crosshair line. - * @Default {transparent} - */ - color?: string; + export interface LoadedEventArgs { - /** Width of the crosshair line. - * @Default {1} - */ - width?: number; -} + /** Loaded event data + */ + data?: string; -export interface Crosshair { + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Options for customizing the trackball tooltip. - */ - trackballTooltipSettings?: CrosshairTrackballTooltipSettings; + /** Instance of the sunburst model object + */ + model?: any; - /** Options for customizing the marker in crosshair. - */ - marker?: CrosshairMarker; + /** Name of the event + */ + type?: string; + } - /** Options for customizing the crosshair line. - */ - line?: CrosshairLine; + export interface DataLabelRenderingEventArgs { - /** Specifies the type of the crosshair. It can be trackball or crosshair - * @Default {crosshair. See CrosshairType} - */ - type?: ej.datavisualization.Chart.CrosshairType|string; + /** Sunburst datalabel data + */ + data?: string; - /** Show/hides the crosshair/trackball visibility. - * @Default {false} - */ - visible?: boolean; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface IndicatorsHistogramBorder { + /** Instance of the sunburst model object + */ + model?: any; - /** Color of the histogram border in MACD indicator. - * @Default {#9999ff} - */ - color?: string; + /** Name of the event + */ + type?: string; + } - /** Controls the width of histogram border line in MACD indicator. - * @Default {1} - */ - width?: number; -} + export interface SegmentRenderingEventArgs { -export interface IndicatorsHistogram { + /** Sunburst datalabel data + */ + data?: string; - /** Options to customize the histogram border in MACD indicator. - */ - border?: IndicatorsHistogramBorder; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Color of histogram columns in MACD indicator. - * @Default {#ccccff} - */ - fill?: string; + /** Instance of the sunburst model object + */ + model?: any; - /** Opacity of histogram columns in MACD indicator. - * @Default {1} - */ - opacity?: number; -} + /** Name of the event + */ + type?: string; + } -export interface IndicatorsLowerLine { + export interface TitleRenderingEventArgs { - /** Color of lower line. - * @Default {#008000} - */ - fill?: string; + /** Sunburst title data + */ + data?: string; - /** Width of the lower line. - * @Default {2} - */ - width?: number; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface IndicatorsMacdLine { + /** Instance of the sunburst model object + */ + model?: any; - /** Color of MACD line. - * @Default {#ff9933} - */ - fill?: string; + /** Name of the event + */ + type?: string; + } - /** Width of the MACD line. - * @Default {2} - */ - width?: number; -} + export interface TooltipInitializeEventArgs { -export interface IndicatorsPeriodLine { + /** Sunburst tooltip data + */ + data?: string; - /** Color of period line in indicator. - * @Default {blue} - */ - fill?: string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Width of the period line in indicators. - * @Default {2} - */ - width?: number; -} + /** Instance of the sunburst model object + */ + model?: any; -export interface IndicatorsTooltipBorder { + /** Name of the event + */ + type?: string; + } - /** Border color of indicator tooltip. - * @Default {null} - */ - color?: string; + export interface PointRegionClickEventArgs { - /** Border width of indicator tooltip. - * @Default {1} - */ - width?: number; -} + /** Includes clicked points region data + */ + data?: string; -export interface IndicatorsTooltip { - - /** Option to customize the border of indicator tooltip. - */ - border?: IndicatorsTooltipBorder; - - /** Specifies the animation duration of indicator tooltip. - * @Default {500ms} - */ - duration?: string; - - /** Enables/disables the tooltip animation. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Format of indicator tooltip. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - * @Default {#point.x# : #point.y#} - */ - format?: string; - - /** Background color of indicator tooltip. - * @Default {null} - */ - fill?: string; - - /** Opacity of indicator tooltip. - * @Default {0.95} - */ - opacity?: number; - - /** Controls the visibility of indicator tooltip. - * @Default {false} - */ - visible?: boolean; -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; -export interface IndicatorsUpperLine { + /** Instance of the sunburst model object + */ + model?: any; - /** Fill color of the upper line in indicators - * @Default {#ff9933} - */ - fill?: string; + /** Name of the event + */ + type?: string; + } - /** Width of the upper line in indicators. - * @Default {2} - */ - width?: number; -} + export interface PointRegionMouseMoveEventArgs { -export interface Indicator { - - /** The dPeriod value for stochastic indicator. - * @Default {3} - */ - dPeriod?: number; - - /** Enables/disables the animation. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Color of the technical indicator. - * @Default {#00008B} - */ - fill?: string; - - /** Options to customize the histogram in MACD indicator. - */ - histogram?: IndicatorsHistogram; - - /** Specifies the k period in stochastic indicator. - * @Default {3} - */ - kPeriod?: number; - - /** Specifies the long period in MACD indicator. - * @Default {26} - */ - longPeriod?: number; - - /** Options to customize the lower line in indicators. - */ - lowerLine?: IndicatorsLowerLine; - - /** Options to customize the MACD line. - */ - macdLine?: IndicatorsMacdLine; - - /** Specifies the type of the MACD indicator. - * @Default {line. See MACDType} - */ - macdType?: string; - - /** Specifies period value in indicator. - * @Default {14} - */ - period?: number; - - /** Options to customize the period line in indicators. - */ - periodLine?: IndicatorsPeriodLine; - - /** Name of the series for which indicator has to be drawn. - */ - seriesName?: string; - - /** Specifies the short period in MACD indicator. - * @Default {13} - */ - shortPeriod?: number; - - /** Specifies the standard deviation value for Bollinger band indicator. - * @Default {2} - */ - standardDeviations?: number; - - /** Options to customize the tooltip. - */ - tooltip?: IndicatorsTooltip; - - /** Trigger value of MACD indicator. - * @Default {9} - */ - trigger?: number; - - /** Specifies the visibility of indicator. - * @Default {visible} - */ - visibility?: string; - - /** Specifies the type of indicator that has to be rendered. - * @Default {sma. See IndicatorsType} - */ - type?: string; - - /** Options to customize the upper line in indicators - */ - upperLine?: IndicatorsUpperLine; - - /** Width of the indicator line. - * @Default {2} - */ - width?: number; - - /** Name of the horizontal axis used for indicator. Primary X axis is used when x axis name is not specified. - */ - xAxisName?: string; - - /** Name of the vertical axis used for indicator. Primary Y axis is used when y axis name is not specified - */ - yAxisName?: string; -} + /** Includes data of mouse moved region + */ + data?: string; -export interface LegendBorder { + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Border color of the legend. - * @Default {transparent} - */ - color?: string; + /** Instance of the sunburst model object + */ + model?: any; - /** Border width of the legend. - * @Default {1} - */ - width?: number; -} + /** Name of the event + */ + type?: string; + } -export interface LegendFont { + export interface DrillDownClickEventArgs { - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; + /** Clicked point data + */ + data?: string; - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; + /** Instance of the sunburst model object + */ + model?: any; - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; -} - -export interface LegendItemStyleBorder { - - /** Border color of the legend items. - * @Default {transparent} - */ - color?: string; - - /** Border width of the legend items. - * @Default {1} - */ - width?: number; -} - -export interface LegendItemStyle { - - /** Options for customizing the border of legend items. - */ - border?: LegendItemStyleBorder; - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; -} - -export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; -} - -export interface LegendSize { - - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; -} - -export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; -} - -export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Chart.Alignment|string; -} - -export interface Legend { - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.Alignment|string; - - /** Background for the legend. Use this property to add a background image or background color for the legend. - */ - background?: string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Controls whether legend has to use scrollbar or not. When enabled, scroll bar appears depending upon size and position properties of legend. - * @Default {true} - */ - enableScrollbar?: boolean; - - /** Fill color for the legend items. By using this property, it displays all legend item shapes in same color.Legend items representing invisible series is displayed in gray color. - * @Default {null} - */ - fill?: string; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of chart legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Opacity of the legend. - * @Default {1} - */ - opacity?: number; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Chart.Position|string; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Shape of the legend items. Default shape for pie and doughnut series is circle and all other series uses rectangle. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; - - /** Specifies the action taken when the legend width is more than the textWidth. - * @Default {none. See textOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow|string; - - /** Text width for legend item. - * @Default {34} - */ - textWidth?: number; - - /** Controls the visibility of the legend. - * @Default {true} - */ - visible?: boolean; -} - -export interface PrimaryXAxisAlternateGridBandEven { - - /** Fill color for the even grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of the even grid band. - * @Default {1} - */ - opacity?: number; -} - -export interface PrimaryXAxisAlternateGridBandOdd { - - /** Fill color of the odd grid bands - * @Default {transparent} - */ - fill?: string; - - /** Opacity of odd grid band - * @Default {1} - */ - opacity?: number; -} - -export interface PrimaryXAxisAlternateGridBand { - - /** Options for customizing even grid band. - */ - even?: PrimaryXAxisAlternateGridBandEven; - - /** Options for customizing odd grid band. - */ - odd?: PrimaryXAxisAlternateGridBandOdd; -} - -export interface PrimaryXAxisAxisLine { - - /** Pattern of dashes and gaps to be applied to the axis line. - * @Default {null} - */ - dashArray?: string; - - /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. - * @Default {null} - */ - offset?: number; - - /** Show/hides the axis line. - * @Default {true} - */ - visible?: boolean; - - /** Default Value - */ - color?: string; - - /** Width of axis line. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryXAxisCrosshairLabel { - - /** Show/hides the crosshair label associated with this axis. - * @Default {false} - */ - visible?: boolean; -} - -export interface PrimaryXAxisFont { - - /** Font family of labels. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of labels. - * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the label. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the axis labels. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis labels. - * @Default {13px} - */ - size?: string; -} - -export interface PrimaryXAxisMajorGridLines { - - /** Pattern of dashes and gaps used to stroke the major grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Color of the major grid line. - * @Default {null} - */ - color?: string; - - /** Opacity of major grid lines. - * @Default {1} - */ - opacity?: number; - - /** Show/hides the major grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major grid lines. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryXAxisMajorTickLines { - - /** Length of the major tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major tick lines. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryXAxisMinorGridLines { - - /** Patterns of dashes and gaps used to stroke the minor grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Show/hides the minor grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minorGridLines. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryXAxisMinorTickLines { - - /** Length of the minor tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the minor tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minor tick line. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryXAxisRange { - - /** Minimum value of the axis range. - * @Default {null} - */ - min?: number; - - /** Maximum value of the axis range. - * @Default {null} - */ - max?: number; - - /** Interval of the axis range. - * @Default {null} - */ - interval?: number; -} - -export interface PrimaryXAxisMultiLevelLabelsFont { - - /** Font color of the multi level labels text. - * @Default {null} - */ - color?: string; - - /** Font family of the multi level labels text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the multi level labels text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the multi level label text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the multi level label text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the multi level label text. - * @Default {12px} - */ - size?: string; -} - -export interface PrimaryXAxisMultiLevelLabelsBorder { - - /** Border color of the multi level labels. - * @Default {null} - */ - color?: string; - - /** Border width of the multi level labels. - * @Default {1} - */ - width?: number; - - /** Border type of the multi level labels. - * @Default {rectangle. See Type} - */ - type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType|string; -} - -export interface PrimaryXAxisMultiLevelLabel { - - /** Visibility of the multi level labels. - * @Default {false} - */ - visible?: boolean; - - /** Text of the multi level labels. - */ - text?: string; - - /** Starting value of the multi level labels. - * @Default {null} - */ - start?: number; - - /** Ending value of the multi level labels. - * @Default {null} - */ - end?: number; - - /** Specifies the level of multi level labels. - * @Default {0} - */ - level?: number; - - /** Specifies the maximum width of the text in multi level labels. - * @Default {null} - */ - maximumTextWidth?: number; - - /** Specifies the alignment of the text in multi level labels. - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment|string; - - /** Specifies the handling of text over flow in multi level labels. - * @Default {center. See TextOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow|string; - - /** Options for customizing the font of the text. - */ - font?: PrimaryXAxisMultiLevelLabelsFont; - - /** Options for customizing the border of the series. - */ - border?: PrimaryXAxisMultiLevelLabelsBorder; -} - -export interface PrimaryXAxisStripLineFont { - - /** Font color of the strip line text. - * @Default {black} - */ - color?: string; - - /** Font family of the strip line text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the strip line text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the strip line text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the strip line text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the strip line text. - * @Default {12px} - */ - size?: string; -} - -export interface PrimaryXAxisStripLine { - - /** Border color of the strip line. - * @Default {gray} - */ - borderColor?: string; - - /** Background color of the strip line. - * @Default {gray} - */ - color?: string; - - /** End value of the strip line. - * @Default {null} - */ - end?: number; - - /** Options for customizing the font of the text. - */ - font?: PrimaryXAxisStripLineFont; - - /** Start value of the strip line. - * @Default {null} - */ - start?: number; - - /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. - * @Default {false} - */ - startFromAxis?: boolean; - - /** Specifies text to be displayed inside the strip line. - * @Default {stripLine} - */ - text?: string; - - /** Specifies the alignment of the text inside the strip line. - * @Default {middlecenter. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment|string; - - /** Show/hides the strip line. - * @Default {false} - */ - visible?: boolean; - - /** Width of the strip line. - * @Default {0} - */ - width?: number; - - /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered under the series and when it is “over”, it is rendered above the series. - * @Default {over. See ZIndex} - */ - zIndex?: ej.datavisualization.Chart.ZIndex|string; -} - -export interface PrimaryXAxisLabelBorder { - - /** Specifies the color of the label border. - * @Default {null} - */ - color?: string; - - /** Specifies the width of the label border. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryXAxisTitleFont { - - /** Font family of the title text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the title text. - * @Default {ej.datavisualization.Chart.FontStyle.Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the title text. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the axis title text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis title. - * @Default {16px} - */ - size?: string; -} - -export interface PrimaryXAxisTitle { - - /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the title font. - */ - font?: PrimaryXAxisTitleFont; - - /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. - * @Default {34} - */ - maximumTitleWidth?: number; - - /** Title for the axis. - */ - text?: string; - - /** Controls the visibility of axis title. - * @Default {true} - */ - visible?: boolean; - - /** offset value for axis title. - * @Default {0} - */ - offset?: number; - - /** Specifies the position of the axis title. - * @Default {outside. See Position} - */ - position?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the position of the axis title. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.TextAlignment|string; -} - -export interface PrimaryXAxis { - - /** Options for customizing horizontal axis alternate grid band. - */ - alternateGridBand?: PrimaryXAxisAlternateGridBand; - - /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. - * @Default {null} - */ - crossesAt?: number; - - /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. If the provided name does not belongs to a valid axis, then primary X axis or primary Y axis will be used for crossing - * @Default {null} - */ - crossesInAxis?: string; - - /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. - * @Default {false} - */ - isIndexed?: boolean; - - /** Options for customizing the axis line. - */ - axisLine?: PrimaryXAxisAxisLine; - - /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. - * @Default {null} - */ - columnIndex?: number; - - /** Specifies the number of columns or plot areas an axis has to span horizontally. - * @Default {null} - */ - columnSpan?: number; - - /** Options to customize the crosshair label. - */ - crosshairLabel?: PrimaryXAxisCrosshairLabel; - - /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. - * @Default {null} - */ - desiredIntervals?: number; - - /** Specifies the placement of labels. - * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} - */ - labelPlacement?: ej.datavisualization.Chart.LabelPlacement|string; - - /** Specifies the position of labels at the edge of the axis. - * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} - */ - edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement|string; - - /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the font of the axis Labels. - */ - font?: PrimaryXAxisFont; - - /** Specifies the type of interval in date time axis. - * @Default {null. See IntervalType} - */ - intervalType?: ej.datavisualization.Chart.IntervalType|string; - - /** Specifies whether to inverse the axis. - * @Default {false} - */ - isInversed?: boolean; - - /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. - * @Default {null} - */ - labelFormat?: string; - - /** Specifies the action to take when the axis labels are overlapping with each other. - * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} - */ - labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction|string; - - /** Specifies the position of the axis labels. - * @Default {outside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the position of the axis labels. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.LabelAlignment|string; - - /** Angle in degrees to rotate the axis labels. - * @Default {null} - */ - labelRotation?: number; - - /** Logarithmic base value. This is applicable only for logarithmic axis. - * @Default {10} - */ - logBase?: number; - - /** Options for customizing major gird lines. - */ - majorGridLines?: PrimaryXAxisMajorGridLines; - - /** Options for customizing the major tick lines. - */ - majorTickLines?: PrimaryXAxisMajorTickLines; - - /** Maximum number of labels to be displayed in every 100 pixels. - * @Default {3} - */ - maximumLabels?: number; - - /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. - * @Default {34} - */ - maximumLabelWidth?: number; - - /** Options for customizing the minor grid lines. - */ - minorGridLines?: PrimaryXAxisMinorGridLines; - - /** Options for customizing the minor tick lines. - */ - minorTickLines?: PrimaryXAxisMinorTickLines; - - /** Specifies the number of minor ticks per interval. - * @Default {null} - */ - minorTicksPerInterval?: number; - - /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. - * @Default {null} - */ - name?: string; - - /** Specifies whether to render the axis at the opposite side of its default position. - * @Default {false} - */ - opposedPosition?: boolean; - - /** Specifies the padding for the plot area. - * @Default {10} - */ - plotOffset?: number; - - /** Options to customize the range of the axis. - */ - range?: PrimaryXAxisRange; - - /** Specifies the padding for the axis range. - * @Default {None. See RangePadding} - */ - rangePadding?: ej.datavisualization.Chart.RangePadding|string; - - /** Rounds the number to the given number of decimals. - * @Default {null} - */ - roundingPlaces?: number; - - /** Options for customizing the multi level labels. - * @Default {[ ]} - */ - multiLevelLabels?: Array; - - /** Specifies whether the axis elements need to be placed nearby the axis line, while crossing. - * @Default {true} - */ - showNextToAxisLine?: boolean; - - /** Options for customizing the strip lines. - * @Default {[ ]} - */ - stripLine?: Array; - - /** Specifies the position of the axis tick lines. - * @Default {outside. See TickLinesPosition} - */ - tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition|string; - - /** Options for customizing the border of the labels. - */ - labelBorder?: PrimaryXAxisLabelBorder; - - /** Options for customizing the axis title. - */ - title?: PrimaryXAxisTitle; - - /** Specifies the type of data the axis is handling. - * @Default {null. See ValueType} - */ - valueType?: ej.datavisualization.Chart.ValueType|string; - - /** Show/hides the axis. - * @Default {true} - */ - visible?: boolean; - - /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. - * @Default {1} - */ - zoomFactor?: number; - - /** Position of the zoomed axis. Value ranges from 0 to 1. - * @Default {0} - */ - zoomPosition?: number; -} - -export interface AxesAlternateGridBandEven { - - /** Fill color for the even grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of the even grid band. - * @Default {1} - */ - opacity?: number; -} - -export interface AxesAlternateGridBandOdd { - - /** Fill color of the odd grid bands - * @Default {transparent} - */ - fill?: string; - - /** Opacity of odd grid band - * @Default {1} - */ - opacity?: number; -} - -export interface AxesAlternateGridBand { - - /** Options for customizing even grid band. - */ - even?: AxesAlternateGridBandEven; - - /** Options for customizing odd grid band. - */ - odd?: AxesAlternateGridBandOdd; -} - -export interface AxesAxisLine { - - /** Pattern of dashes and gaps to be applied to the axis line. - * @Default {null} - */ - dashArray?: string; - - /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. - * @Default {null} - */ - offset?: number; - - /** Show/hides the axis line. - * @Default {true} - */ - visible?: boolean; - - /** Color of axis line. - */ - color?: string; - - /** Width of axis line. - * @Default {1} - */ - width?: number; -} - -export interface AxesCrosshairLabel { - - /** Show/hides the crosshair label associated with this axis. - * @Default {false} - */ - visible?: boolean; -} - -export interface AxesFont { - - /** Font family of labels. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of labels. - * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the label. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the axis labels. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis labels. - * @Default {13px} - */ - size?: string; -} - -export interface AxesMajorGridLines { - - /** Pattern of dashes and gaps used to stroke the major grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Color of the major grid line. - * @Default {null} - */ - color?: string; - - /** Opacity of major grid lines. - * @Default {1} - */ - opacity?: number; - - /** Show/hides the major grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major grid lines. - * @Default {1} - */ - width?: number; -} - -export interface AxesMajorTickLines { - - /** Length of the major tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major tick lines. - * @Default {1} - */ - width?: number; -} - -export interface AxesMinorGridLines { - - /** Patterns of dashes and gaps used to stroke the minor grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Show/hides the minor grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minorGridLines. - * @Default {1} - */ - width?: number; -} - -export interface AxesMinorTickLines { - - /** Length of the minor tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the minor tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minor tick line. - * @Default {1} - */ - width?: number; -} - -export interface AxesRange { - - /** Minimum value of the axis range. - * @Default {null} - */ - min?: number; - - /** Maximum value of the axis range. - * @Default {null} - */ - max?: number; - - /** Interval of the axis range. - * @Default {null} - */ - interval?: number; -} - -export interface AxesMultiLevelLabelsFont { - - /** Font color of the multi level labels text. - * @Default {null} - */ - color?: string; - - /** Font family of the multi level labels text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the multi level labels text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the multi level label text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the multi level label text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the multi level label text. - * @Default {12px} - */ - size?: string; -} - -export interface AxesMultiLevelLabelsBorder { - - /** Border color of the multi level labels. - * @Default {null} - */ - color?: string; - - /** Border width of the multi level labels. - * @Default {1} - */ - width?: number; - - /** Border type of the multi level labels. - * @Default {rectangle. See Type} - */ - type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType|string; -} - -export interface AxesMultiLevelLabel { - - /** Visibility of the multi level labels. - * @Default {false} - */ - visible?: boolean; - - /** Text of the multi level labels. - */ - text?: string; - - /** Starting value of the multi level labels. - * @Default {null} - */ - start?: number; - - /** Ending value of the multi level labels. - * @Default {null} - */ - end?: number; - - /** Specifies the level of multi level labels. - * @Default {0} - */ - level?: number; - - /** Specifies the maximum width of the text in multi level labels. - * @Default {null} - */ - maximumTextWidth?: number; - - /** Specifies the alignment of the text in multi level labels. - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment|string; - - /** Specifies the handling of text over flow in multi level labels. - * @Default {center. See TextOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow|string; - - /** Options for customizing the font of the text. - */ - font?: AxesMultiLevelLabelsFont; - - /** Options for customizing the border of the series. - */ - border?: AxesMultiLevelLabelsBorder; -} - -export interface AxesStripLineFont { - - /** Font color of the strip line text. - * @Default {black} - */ - color?: string; - - /** Font family of the strip line text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the strip line text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the strip line text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the strip line text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the strip line text. - * @Default {12px} - */ - size?: string; -} - -export interface AxesStripLine { - - /** Border color of the strip line. - * @Default {gray} - */ - borderColor?: string; - - /** Background color of the strip line. - * @Default {gray} - */ - color?: string; - - /** End value of the strip line. - * @Default {null} - */ - end?: number; - - /** Options for customizing the font of the text. - */ - font?: AxesStripLineFont; - - /** Start value of the strip line. - * @Default {null} - */ - start?: number; - - /** Indicates whether to render the strip line from the minimum/start value of the axis. This property does not work when start property is set. - * @Default {false} - */ - startFromAxis?: boolean; - - /** Specifies text to be displayed inside the strip line. - * @Default {stripLine} - */ - text?: string; - - /** Specifies the alignment of the text inside the strip line. - * @Default {middlecenter. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment|string; - - /** Show/hides the strip line. - * @Default {false} - */ - visible?: boolean; - - /** Width of the strip line. - * @Default {0} - */ - width?: number; - - /** Specifies the order where the strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered under the series and when it is “over”, it is rendered above the series. - * @Default {over. See ZIndex} - */ - zIndex?: ej.datavisualization.Chart.ZIndex|string; -} - -export interface AxesLabelBorder { - - /** Specifies the color of the label border. - * @Default {null} - */ - color?: string; - - /** Specifies the width of the label border. - * @Default {1} - */ - width?: number; -} - -export interface AxesTitleFont { - - /** Font family of the title text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the title text. - * @Default {ej.datavisualization.Chart.FontStyle.Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the title text. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the axis title text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis title. - * @Default {16px} - */ - size?: string; -} - -export interface AxesTitle { - - /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the title font. - */ - font?: AxesTitleFont; - - /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. - * @Default {34} - */ - maximumTitleWidth?: number; - - /** Title for the axis. - */ - text?: string; - - /** Controls the visibility of axis title. - * @Default {true} - */ - visible?: boolean; - - /** offset value for axis title. - * @Default {0} - */ - offset?: number; - - /** Specifies the position of the axis title. - * @Default {outside. See Position} - */ - position?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the position of the axis title. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.TextAlignment|string; -} - -export interface Axis { - - /** Options for customizing axis alternate grid band. - */ - alternateGridBand?: AxesAlternateGridBand; - - /** Specifies where axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. - * @Default {null} - */ - crossesAt?: number; - - /** Category axis can also plot points based on index value of data points. Index based plotting can be enabled by setting ‘isIndexed’ property to true. - * @Default {false} - */ - isIndexed?: boolean; - - /** Options for customizing the axis line. - */ - axisLine?: AxesAxisLine; - - /** Specifies the index of the column where the axis is associated, when the chart area is divided into multiple plot areas by using columnDefinitions. - * @Default {null} - */ - columnIndex?: number; - - /** Specifies the number of columns or plot areas an axis has to span horizontally. - * @Default {null} - */ - columnSpan?: number; - - /** Options to customize the crosshair label. - */ - crosshairLabel?: AxesCrosshairLabel; - - /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. - * @Default {null} - */ - desiredIntervals?: number; - - /** Specifies the placement of labels. - * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} - */ - labelPlacement?: ej.datavisualization.Chart.LabelPlacement|string; - - /** Specifies the position of labels at the edge of the axis. - * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} - */ - edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement|string; - - /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the font of the axis Labels. - */ - font?: AxesFont; - - /** Specifies the type of interval in date time axis. - * @Default {null. See IntervalType} - */ - intervalType?: ej.datavisualization.Chart.IntervalType|string; - - /** Specifies whether to inverse the axis. - * @Default {false} - */ - isInversed?: boolean; - - /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. - * @Default {null} - */ - labelFormat?: string; - - /** Specifies the action to take when the axis labels are overlapping with each other. - * @Default {ej.datavisualization.Chart.LabelIntersectAction.None. See LabelIntersectAction} - */ - labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction|string; - - /** Specifies the position of the axis labels. - * @Default {outside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the position of the axis labels. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.LabelAlignment|string; - - /** Angle in degrees to rotate the axis labels. - * @Default {null} - */ - labelRotation?: number; - - /** Logarithmic base value. This is applicable only for logarithmic axis. - * @Default {10} - */ - logBase?: number; - - /** Options for customizing major gird lines. - */ - majorGridLines?: AxesMajorGridLines; - - /** Options for customizing the major tick lines. - */ - majorTickLines?: AxesMajorTickLines; - - /** Maximum number of labels to be displayed in every 100 pixels. - * @Default {3} - */ - maximumLabels?: number; - - /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. - * @Default {34} - */ - maximumLabelWidth?: number; - - /** Options for customizing the minor grid lines. - */ - minorGridLines?: AxesMinorGridLines; - - /** Options for customizing the minor tick lines. - */ - minorTickLines?: AxesMinorTickLines; - - /** Specifies the number of minor ticks per interval. - * @Default {null} - */ - minorTicksPerInterval?: number; - - /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. - * @Default {null} - */ - name?: string; - - /** Specifies whether to render the axis at the opposite side of its default position. - * @Default {false} - */ - opposedPosition?: boolean; - - /** Specifies the padding for the plot area. - * @Default {10} - */ - plotOffset?: number; - - /** Options to customize the range of the axis. - */ - range?: AxesRange; - - /** Specifies the padding for the axis range. - * @Default {None. See RangePadding} - */ - rangePadding?: ej.datavisualization.Chart.RangePadding|string; - - /** Rounds the number to the given number of decimals. - * @Default {null} - */ - roundingPlaces?: number; - - /** Options for customizing the multi level labels. - * @Default {[ ]} - */ - multiLevelLabels?: Array; - - /** Specifies whether the axis elements need to be placed nearby the axis line, while crossing. - * @Default {true} - */ - showNextToAxisLine?: boolean; - - /** Options for customizing the strip lines. - * @Default {[ ]} - */ - stripLine?: Array; - - /** Specifies the position of the axis tick lines. - * @Default {outside. See TickLinesPosition} - */ - tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition|string; - - /** Options for customizing the border of the labels. - */ - labelBorder?: AxesLabelBorder; - - /** Options for customizing the axis title. - */ - title?: AxesTitle; - - /** Specifies the type of data the axis is handling. - * @Default {null. See ValueType} - */ - valueType?: ej.datavisualization.Chart.ValueType|string; - - /** Show/hides the axis. - * @Default {true} - */ - visible?: boolean; - - /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Value ranges from 0 to 1. - * @Default {1} - */ - zoomFactor?: number; - - /** Position of the zoomed axis. Value ranges from 0 to 1. - * @Default {0} - */ - zoomPosition?: number; -} - -export interface PrimaryYAxisAlternateGridBandEven { - - /** Fill color for the even grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of the even grid band. - * @Default {1} - */ - opacity?: number; -} - -export interface PrimaryYAxisAlternateGridBandOdd { - - /** Fill color of the odd grid bands. - * @Default {transparent} - */ - fill?: string; - - /** Opacity of odd grid band. - * @Default {1} - */ - opacity?: number; -} - -export interface PrimaryYAxisAlternateGridBand { - - /** Options for customizing even grid band. - */ - even?: PrimaryYAxisAlternateGridBandEven; - - /** Options for customizing odd grid band. - */ - odd?: PrimaryYAxisAlternateGridBandOdd; -} - -export interface PrimaryYAxisAxisLine { - - /** Pattern of dashes and gaps to be applied to the axis line. - * @Default {null} - */ - dashArray?: string; - - /** Padding for axis line. Normally, it is used along with plotOffset to pad the plot area. - * @Default {null} - */ - offset?: number; - - /** Show/hides the axis line. - * @Default {true} - */ - visible?: boolean; - - /** Color of axis line. - */ - color?: string; - - /** Width of axis line. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryYAxisCrosshairLabel { - - /** Show/hides the crosshair label associated with this axis. - * @Default {false} - */ - visible?: boolean; -} - -export interface PrimaryYAxisFont { - - /** Font family of labels. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of labels. - * @Default {ej.datavisualization.Chart.FontStyle.Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the label. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the axis labels. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis labels. - * @Default {13px} - */ - size?: string; -} - -export interface PrimaryYAxisMajorGridLines { - - /** Pattern of dashes and gaps used to stroke the major grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Color of the major grid lines. - * @Default {null} - */ - color?: string; - - /** Opacity of major grid lines. - * @Default {1} - */ - opacity?: number; - - /** Show/hides the major grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major grid lines. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryYAxisMajorTickLines { - - /** Length of the major tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the major tick lines. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryYAxisMinorGridLines { - - /** Patterns of dashes and gaps used to stroke the minor grid lines. - * @Default {null} - */ - dashArray?: string; - - /** Show/hides the minor grid lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minorGridLines. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryYAxisMinorTickLines { - - /** Length of the minor tick lines. - * @Default {5} - */ - size?: number; - - /** Show/hides the minor tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Width of the minor tick line - * @Default {1} - */ - width?: number; -} - -export interface PrimaryYAxisRange { - - /** Minimum value of the axis range. - * @Default {null} - */ - min?: number; - - /** Maximum value of the axis range. - * @Default {null} - */ - max?: number; - - /** Interval for the range. - * @Default {null} - */ - interval?: number; -} - -export interface PrimaryYAxisMultiLevelLabelsFont { - - /** Font color of the multi level labels text. - * @Default {null} - */ - color?: string; - - /** Font family of the multi level labels text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the multi level labels text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the multi level label text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the multi level label text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the multi level label text. - * @Default {12px} - */ - size?: string; -} - -export interface PrimaryYAxisMultiLevelLabelsBorder { - - /** Border color of the multi level labels. - * @Default {null} - */ - color?: string; - - /** Border width of the multi level labels. - * @Default {1} - */ - width?: number; - - /** Border type of the multi level labels. - * @Default {rectangle. See Type} - */ - type?: ej.datavisualization.Chart.MultiLevelLabelsBorderType|string; -} - -export interface PrimaryYAxisMultiLevelLabel { - - /** Visibility of the multi level labels. - * @Default {false} - */ - visible?: boolean; - - /** Text of the multi level labels. - */ - text?: string; - - /** Starting value of the multi level labels. - * @Default {null} - */ - start?: number; - - /** Ending value of the multi level labels. - * @Default {null} - */ - end?: number; - - /** Specifies the level of multi level labels. - * @Default {0} - */ - level?: number; - - /** Specifies the maximum width of the text in multi level labels. - * @Default {null} - */ - maximumTextWidth?: number; - - /** Specifies the alignment of the text in multi level labels. - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment|string; - - /** Specifies the handling of text over flow in multi level labels. - * @Default {center. See TextOverflow} - */ - textOverflow?: ej.datavisualization.Chart.TextOverflow|string; - - /** Options for customizing the font of the text. - */ - font?: PrimaryYAxisMultiLevelLabelsFont; - - /** Options for customizing the border of the series. - */ - border?: PrimaryYAxisMultiLevelLabelsBorder; -} - -export interface PrimaryYAxisStripLineFont { - - /** Font color of the strip line text. - * @Default {black} - */ - color?: string; - - /** Font family of the strip line text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the strip line text. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the strip line text. - * @Default {regular} - */ - fontWeight?: string; - - /** Opacity of the strip line text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the strip line text. - * @Default {12px} - */ - size?: string; -} - -export interface PrimaryYAxisStripLine { - - /** Border color of the strip line. - * @Default {gray} - */ - borderColor?: string; - - /** Background color of the strip line. - * @Default {gray} - */ - color?: string; - - /** End value of the strip line. - * @Default {null} - */ - end?: number; - - /** Options for customizing the font of the text. - */ - font?: PrimaryYAxisStripLineFont; - - /** Start value of the strip line. - * @Default {null} - */ - start?: number; - - /** Indicates whether to render the strip line from the minimum/start value of the axis. This property won’t work when start property is set. - * @Default {false} - */ - startFromAxis?: boolean; - - /** Specifies text to be displayed inside the strip line. - * @Default {stripLine} - */ - text?: string; - - /** Specifies the alignment of the text inside the strip line. - * @Default {middlecenter. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.TextAlignment|string; - - /** Show/hides the strip line. - * @Default {false} - */ - visible?: boolean; - - /** Width of the strip line. - * @Default {0} - */ - width?: number; - - /** Specifies the order in which strip line and the series have to be rendered. When Z-order is “behind”, strip line is rendered below the series and when it is “over”, it is rendered above the series. - * @Default {over. See ZIndex} - */ - zIndex?: ej.datavisualization.Chart.ZIndex|string; -} - -export interface PrimaryYAxisLabelBorder { - - /** Specifies the color of the label border. - * @Default {null} - */ - color?: string; - - /** Specifies the width of the label border. - * @Default {1} - */ - width?: number; -} - -export interface PrimaryYAxisTitleFont { - - /** Font family of the title text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the title text. - * @Default {ej.datavisualization.Chart.FontStyle.Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the title text. - * @Default {ej.datavisualization.Chart.FontWeight.Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the axis title text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the axis title. - * @Default {16px} - */ - size?: string; -} - -export interface PrimaryYAxisTitle { - - /** Specifies whether to trim the axis title when it exceeds the chart area or the maximum width of the title. - * @Default {ej.datavisualization.Chart.enableTrim} - */ - enableTrim?: boolean; - - /** Options for customizing the title font. - */ - font?: PrimaryYAxisTitleFont; - - /** Maximum width of the title, when the title exceeds this width, the title gets trimmed, when enableTrim is true. - * @Default {ej.datavisualization.Chart.maximumTitleWidth.null} - */ - maximumTitleWidth?: number; - - /** Title for the axis. - */ - text?: string; - - /** Controls the visibility of axis title. - * @Default {true} - */ - visible?: boolean; - - /** offset value for axis title. - * @Default {0} - */ - offset?: number; - - /** Specifies the position of the axis title. - * @Default {outside. See Position} - */ - position?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the position of the axis title. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.TextAlignment|string; -} - -export interface PrimaryYAxis { - - /** Options for customizing vertical axis alternate grid band. - */ - alternateGridBand?: PrimaryYAxisAlternateGridBand; - - /** Options for customizing the axis line. - */ - axisLine?: PrimaryYAxisAxisLine; - - /** Specifies where horizontal axis should intersect the vertical axis or vice versa. Value should be provided in axis co-ordinates. If provided value is greater than the maximum value of crossing axis, then axis will be placed at the opposite side. - * @Default {null} - */ - crossesAt?: number; - - /** Name of the axis used for crossing. Vertical axis name should be provided for horizontal axis and vice versa. If the provided name does not belongs to a valid axis, then primary X axis or primary Y axis will be used for crossing - * @Default {null} - */ - crossesInAxis?: string; - - /** Options to customize the crosshair label. - */ - crosshairLabel?: PrimaryYAxisCrosshairLabel; - - /** With this setting, you can request axis to calculate intervals approximately equal to your desired interval. - * @Default {null} - */ - desiredIntervals?: number; - - /** Specifies the placement of labels. - * @Default {ej.datavisualization.Chart.LabelPlacement.BetweenTicks. See LabelPlacement} - */ - labelPlacement?: ej.datavisualization.Chart.LabelPlacement|string; - - /** Specifies the position of labels at the edge of the axis. - * @Default {ej.datavisualization.Chart.EdgeLabelPlacement.None. See EdgeLabelPlacement} - */ - edgeLabelPlacement?: ej.datavisualization.Chart.EdgeLabelPlacement|string; - - /** Specifies whether to trim the axis label when the width of the label exceeds the maximumLabelWidth. - * @Default {false} - */ - enableTrim?: boolean; - - /** Options for customizing the font of the axis Labels. - */ - font?: PrimaryYAxisFont; - - /** Specifies the type of interval in date time axis. - * @Default {null. See IntervalType} - */ - intervalType?: ej.datavisualization.Chart.IntervalType|string; - - /** Specifies whether to inverse the axis. - * @Default {false} - */ - isInversed?: boolean; - - /** Custom formatting for axis label and supports all standard formatting type of numerical and date time values. - * @Default {null} - */ - labelFormat?: string; - - /** Specifies the action to take when the axis labels are overlapping with each other. - * @Default {ej.datavisualization.Chart.LabelIntersectAction.None} - */ - labelIntersectAction?: ej.datavisualization.Chart.LabelIntersectAction|string; - - /** Specifies the position of the axis labels. - * @Default {outside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the position of the axis labels. - * @Default {center. See Alignment} - */ - alignment?: ej.datavisualization.Chart.LabelAlignment|string; - - /** Logarithmic base value. This is applicable only for logarithmic axis. - * @Default {10} - */ - logBase?: number; - - /** Options for customizing major gird lines. - */ - majorGridLines?: PrimaryYAxisMajorGridLines; - - /** Options for customizing the major tick lines. - */ - majorTickLines?: PrimaryYAxisMajorTickLines; - - /** Maximum number of labels to be displayed in every 100 pixels. - * @Default {3} - */ - maximumLabels?: number; - - /** Maximum width of the axis label. When the label exceeds the width, the label gets trimmed when the enableTrim is set to true. - * @Default {ej.datavisualization.Chart.maximumLabelWidth type {int}} - */ - maximumLabelWidth?: number; - - /** Options for customizing the minor grid lines. - */ - minorGridLines?: PrimaryYAxisMinorGridLines; - - /** Options for customizing the minor tick lines. - */ - minorTickLines?: PrimaryYAxisMinorTickLines; - - /** Specifies the number of minor ticks per interval. - * @Default {null} - */ - minorTicksPerInterval?: number; - - /** Unique name of the axis. To associate an axis with the series, you have to set this name to the xAxisName/yAxisName property of the series. - * @Default {null} - */ - name?: string; - - /** Specifies whether to render the axis at the opposite side of its default position. - * @Default {false} - */ - opposedPosition?: boolean; - - /** Specifies the padding for the plot area. - * @Default {10} - */ - plotOffset?: number; - - /** Options to customize the range of the axis. - */ - range?: PrimaryYAxisRange; - - /** Specifies the padding for the axis range. - * @Default {ej.datavisualization.Chart.RangePadding.None. See RangePadding} - */ - rangePadding?: ej.datavisualization.Chart.RangePadding|string; - - /** Rounds the number to the given number of decimals. - * @Default {null} - */ - roundingPlaces?: number; - - /** Specifies the index of the row to which the axis is associated, when the chart area is divided into multiple plot areas by using rowDefinitions. - * @Default {null} - */ - rowIndex?: number; - - /** Specifies the number of row or plot areas an axis has to span vertically. - * @Default {null} - */ - rowSpan?: number; - - /** Options for customizing the multi level labels. - * @Default {[ ]} - */ - multiLevelLabels?: Array; - - /** Specifies whether the axis elements need to be placed nearby the axis line, while crossing. - * @Default {true} - */ - showNextToAxisLine?: boolean; - - /** Options for customizing the strip lines. - * @Default {[ ]} - */ - stripLine?: Array; - - /** Specifies the position of the axis tick lines. - * @Default {outside. See TickLinesPosition} - */ - tickLinesPosition?: ej.datavisualization.Chart.TickLinesPosition|string; - - /** Options for customizing the border of the labels. - */ - labelBorder?: PrimaryYAxisLabelBorder; - - /** Options for customizing the axis title. - */ - title?: PrimaryYAxisTitle; - - /** Specifies the type of data the axis is handling. - * @Default {null. See ValueType} - */ - valueType?: ej.datavisualization.Chart.ValueType|string; - - /** Show/hides the axis. - * @Default {true} - */ - visible?: boolean; - - /** The axis is scaled by this factor. When zoomFactor is 0.5, the chart is scaled by 200% along this axis. Values ranges from 0 to 1. - * @Default {1} - */ - zoomFactor?: number; - - /** Position of the zoomed axis. Value ranges from 0 to 1 - * @Default {0} - */ - zoomPosition?: number; -} - -export interface RowDefinition { - - /** Specifies the unit to measure the height of the row in plotting area. - * @Default {'pixel'. See Unit} - */ - unit?: ej.datavisualization.Chart.Unit|string; - - /** Height of the row in plotting area. Height is measured in either pixel or percentage based on the value of unit property. - * @Default {50} - */ - rowHeight?: number; - - /** Color of the line that indicates the starting point of the row in plotting area. - * @Default {transparent} - */ - lineColor?: string; - - /** Width of the line that indicates the starting point of the row in plot area. - * @Default {1} - */ - lineWidth?: number; -} - -export interface SeriesBorder { - - /** Border color of the series. - * @Default {transparent} - */ - color?: string; - - /** Border width of the series. - * @Default {1} - */ - width?: number; - - /** DashArray for border of the series. - * @Default {null} - */ - dashArray?: string; -} - -export interface SeriesFont { - - /** Font color of the series text. - * @Default {#707070} - */ - color?: string; - - /** Font Family of the series. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font Style of the series. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the series. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of series text. - * @Default {1} - */ - opacity?: number; - - /** Size of the series text. - * @Default {12px} - */ - size?: string; -} - -export interface SeriesMarkerBorder { - - /** Border color of the marker shape. - * @Default {white} - */ - color?: string; - - /** Border width of the marker shape. - * @Default {3} - */ - width?: number; -} - -export interface SeriesMarkerDataLabelBorder { - - /** Border color of the data label. - * @Default {null} - */ - color?: string; - - /** Border width of the data label. - * @Default {0.1} - */ - width?: number; -} - -export interface SeriesMarkerDataLabelConnectorLine { - - /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. - * @Default {line. See ConnectorLineType} - */ - type?: ej.datavisualization.Chart.Type|string; - - /** Width of the connector. - * @Default {0.5} - */ - width?: number; - - /** Color of the connector. - * @Default {null} - */ - color?: string; - - /** Height of the connector. - * @Default {null} - */ - height?: number; -} - -export interface SeriesMarkerDataLabelFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; -} - -export interface SeriesMarkerDataLabelMargin { - - /** Bottom margin of the text. - * @Default {5} - */ - bottom?: number; - - /** Left margin of the text. - * @Default {5} - */ - left?: number; - - /** Right margin of the text. - * @Default {5} - */ - right?: number; - - /** Top margin of the text. - * @Default {5} - */ - top?: number; -} - -export interface SeriesMarkerDataLabel { - - /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. - * @Default {null} - */ - angle?: number; - - /** Maximum label width of the data label. - * @Default {null} - */ - maximumLabelWidth?: number; - - /** Enable the wrap option to the data label. - * @Default {false} - */ - enableWrap?: boolean; - - /** Options for customizing the border of the data label. - */ - border?: SeriesMarkerDataLabelBorder; - - /** Options for displaying and customizing the line that connects point and data label. - */ - connectorLine?: SeriesMarkerDataLabelConnectorLine; - - /** Background color of the data label. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the data label font. - */ - font?: SeriesMarkerDataLabelFont; - - /** Horizontal alignment of the data label. - * @Default {center} - */ - horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment|string; - - /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. - */ - margin?: SeriesMarkerDataLabelMargin; - - /** Opacity of the data label. - * @Default {1} - */ - opacity?: number; - - /** Background shape of the data label. - * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Name of a field in data source where datalabel text is displayed. - */ - textMappingName?: string; - - /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. - * @Default {top. See TextPosition} - */ - textPosition?: ej.datavisualization.Chart.TextPosition|string; - - /** Vertical alignment of the data label. - * @Default {'center'} - */ - verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment|string; - - /** Controls the visibility of the data labels. - * @Default {false} - */ - visible?: boolean; - - /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - */ - template?: string; - - /** Moves the label vertically by some offset. - * @Default {0} - */ - offset?: number; -} - -export interface SeriesMarkerSize { - - /** Height of the marker. - * @Default {6} - */ - height?: number; - - /** Width of the marker. - * @Default {6} - */ - width?: number; -} - -export interface SeriesMarker { - - /** Options for customizing the border of the marker shape. - */ - border?: SeriesMarkerBorder; - - /** Options for displaying and customizing data labels. - */ - dataLabel?: SeriesMarkerDataLabel; - - /** Color of the marker shape. - * @Default {null} - */ - fill?: string; - - /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. - */ - imageUrl?: string; - - /** Opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of the marker. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Options for customizing the size of the marker shape. - */ - size?: SeriesMarkerSize; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; -} - -export interface SeriesOutlierSettingsSize { - - /** Height of the outlier shape. - * @Default {6} - */ - height?: number; - - /** Width of the outlier shape. - * @Default {6} - */ - width?: number; -} - -export interface SeriesOutlierSettings { - - /** Specifies the shape of the outlier. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Options for customizing the size of the outlier shape. - */ - size?: SeriesOutlierSettingsSize; -} - -export interface SeriesEmptyPointSettingsStyleBorder { - - /** Border color of the empty point. - */ - color?: string; - - /** Border width of the empty point. - * @Default {1} - */ - width?: number; -} - -export interface SeriesEmptyPointSettingsStyle { - - /** Color of the empty point. - */ - color?: string; - - /** Options for customizing border of the empty point in the series. - */ - border?: SeriesEmptyPointSettingsStyleBorder; -} - -export interface SeriesEmptyPointSettings { - - /** Controls the visibility of the empty point. - * @Default {true} - */ - visible?: boolean; - - /** Specifies the mode of empty point. - * @Default {gap} - */ - displayMode?: ej.datavisualization.Chart.EmptyPointMode|string; - - /** Options for customizing the color and border of the empty point in the series. - */ - style?: SeriesEmptyPointSettingsStyle; -} - -export interface SeriesConnectorLine { - - /** Width of the connector line. - * @Default {1} - */ - width?: number; - - /** Color of the connector line. - * @Default {#565656} - */ - color?: string; - - /** DashArray of the connector line. - * @Default {null} - */ - dashArray?: string; - - /** Opacity of the connector line. - * @Default {1} - */ - opacity?: number; -} - -export interface SeriesDragSettings { - - /** drag/drop the series - * @Default {false} - */ - enable?: boolean; - - /** Specifies the type of drag settings. - * @Default {xy} - */ - type?: string; -} - -export interface SeriesErrorBarCap { - - /** Show/Hides the error bar cap. - * @Default {true} - */ - visible?: boolean; - - /** Width of the error bar cap. - * @Default {1} - */ - width?: number; - - /** Length of the error bar cap. - * @Default {1} - */ - length?: number; - - /** Color of the error bar cap. - * @Default {#000000} - */ - fill?: string; -} - -export interface SeriesErrorBar { - - /** Show/hides the error bar - * @Default {visible} - */ - visibility?: boolean; - - /** Specifies the type of error bar. - * @Default {FixedValue} - */ - type?: ej.datavisualization.Chart.ErrorBarType|string; - - /** Specifies the mode of error bar. - * @Default {vertical} - */ - mode?: ej.datavisualization.Chart.ErrorBarMode|string; - - /** Specifies the direction of error bar. - * @Default {both} - */ - direction?: ej.datavisualization.Chart.ErrorBarDirection|string; - - /** Value of vertical error bar. - * @Default {3} - */ - verticalErrorValue?: number; - - /** Value of horizontal error bar. - * @Default {1} - */ - horizontalErrorValue?: number; - - /** Value of positive horizontal error bar. - * @Default {1} - */ - horizontalPositiveErrorValue?: number; - - /** Value of negative horizontal error bar. - * @Default {1} - */ - horizontalNegativeErrorValue?: number; - - /** Value of positive vertical error bar. - * @Default {5} - */ - verticalPositiveErrorValue?: number; - - /** Value of negative vertical error bar. - * @Default {5} - */ - verticalNegativeErrorValue?: number; - - /** Fill color of the error bar. - * @Default {#000000} - */ - fill?: string; - - /** Width of the error bar. - * @Default {1} - */ - width?: number; - - /** Options for customizing the error bar cap. - */ - cap?: SeriesErrorBarCap; -} - -export interface SeriesPointsBorder { - - /** Border color of the point. - * @Default {null} - */ - color?: string; - - /** Border width of the point. - * @Default {null} - */ - width?: number; -} - -export interface SeriesPointsMarkerBorder { - - /** Border color of the marker shape. - * @Default {white} - */ - color?: string; - - /** Border width of the marker shape. - * @Default {3} - */ - width?: number; -} - -export interface SeriesPointsMarkerDataLabelBorder { - - /** Border color of the data label. - * @Default {null} - */ - color?: string; - - /** Border width of the data label. - * @Default {0.1} - */ - width?: number; -} - -export interface SeriesPointsMarkerDataLabelConnectorLine { - - /** Specifies when the connector has to be drawn as Bezier curve or straight line. This is applicable only for Pie and Doughnut chart types. - * @Default {line. See ConnectorLineType} - */ - type?: ej.datavisualization.Chart.ConnectorLineType|string; - - /** Width of the connector. - * @Default {0.5} - */ - width?: number; -} - -export interface SeriesPointsMarkerDataLabelFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; -} - -export interface SeriesPointsMarkerDataLabelMargin { - - /** Bottom margin of the text. - * @Default {5} - */ - bottom?: number; - - /** Left margin of the text. - * @Default {5} - */ - left?: number; - - /** Right margin of the text. - * @Default {5} - */ - right?: number; - - /** Top margin of the text. - * @Default {5} - */ - top?: number; -} - -export interface SeriesPointsMarkerDataLabel { - - /** Angle of the data label in degrees. Only the text gets rotated, whereas the background and border does not rotate. - * @Default {null} - */ - angle?: number; - - /** Options for customizing the border of the data label. - */ - border?: SeriesPointsMarkerDataLabelBorder; - - /** Options for displaying and customizing the line that connects point and data label. - */ - connectorLine?: SeriesPointsMarkerDataLabelConnectorLine; - - /** Background color of the data label. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the data label font. - */ - font?: SeriesPointsMarkerDataLabelFont; - - /** Horizontal alignment of the data label. - * @Default {center} - */ - horizontalTextAlignment?: ej.datavisualization.Chart.HorizontalTextAlignment|string; - - /** Margin of the text to its background shape. The size of the background shape increases based on the margin applied to its text. - */ - margin?: SeriesPointsMarkerDataLabelMargin; - - /** Opacity of the data label. - * @Default {1} - */ - opacity?: number; - - /** Background shape of the data label. - * @Default {No shape is rendered by default, so its value is ‘none’. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Specifies the position of the data label. This property can be used only for the series such as column, bar, stacked column, stacked bar, 100% stacked column, 100% stacked bar, candle and OHLC. - * @Default {top. See TextPosition} - */ - textPosition?: ej.datavisualization.Chart.TextPosition|string; - - /** Vertical alignment of the data label. - * @Default {'center'} - */ - verticalTextAlignment?: ej.datavisualization.Chart.VerticalTextAlignment|string; - - /** Controls the visibility of the data labels. - * @Default {false} - */ - visible?: boolean; - - /** Custom template to format the data label content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - */ - template?: string; - - /** Moves the label vertically by specified offset. - * @Default {0} - */ - offset?: number; -} - -export interface SeriesPointsMarkerSize { - - /** Height of the marker. - * @Default {6} - */ - height?: number; - - /** Width of the marker. - * @Default {6} - */ - width?: number; -} - -export interface SeriesPointsMarker { - - /** Options for customizing the border of the marker shape. - */ - border?: SeriesPointsMarkerBorder; - - /** Options for displaying and customizing data label. - */ - dataLabel?: SeriesPointsMarkerDataLabel; - - /** Color of the marker shape. - * @Default {null} - */ - fill?: string; - - /** The URL for the Image that is to be displayed as marker. In order to display image as marker, set series.marker.shape as ‘image’. - */ - imageUrl?: string; - - /** Opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of the marker. - * @Default {circle. See Shape} - */ - shape?: ej.datavisualization.Chart.Shape|string; - - /** Options for customizing the size of the marker shape. - */ - size?: SeriesPointsMarkerSize; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; -} - -export interface SeriesPoint { - - /** Options for customizing the border of a point. This is applicable only for column type series and accumulation type series. - */ - border?: SeriesPointsBorder; - - /** Enables or disables the visibility of legend item. - * @Default {visible} - */ - visibleOnLegend?: string; - - /** To show/hide the intermediate summary from the last intermediate point. - * @Default {false} - */ - showIntermediateSum?: boolean; - - /** To show/hide the total summary of the waterfall series. - * @Default {false} - */ - showTotalSum?: boolean; - - /** Close value of the point. Close value is applicable only for financial type series. - * @Default {null} - */ - close?: number; - - /** Size of a bubble in the bubble series. This is applicable only for the bubble series. - * @Default {null} - */ - size?: number; - - /** Background color of the point. This is applicable only for column type series and accumulation type series. - * @Default {null} - */ - fill?: string; - - /** High value of the point. High value is applicable only for financial type series, range area series and range column series. - * @Default {null} - */ - high?: number; - - /** Low value of the point. Low value is applicable only for financial type series, range area series and range column series. - * @Default {null} - */ - low?: number; - - /** Options for displaying and customizing marker for a data point. Marker contains shapes and/or data labels. - */ - marker?: SeriesPointsMarker; - - /** Open value of the point. This is applicable only for financial type series. - * @Default {null} - */ - open?: number; - - /** Datalabel text for the point. - * @Default {null} - */ - text?: string; - - /** X value of the point. - * @Default {null} - */ - x?: number; - - /** Y value of the point. - * @Default {null} - */ - y?: number; -} - -export interface SeriesCornerRadius { - - /** Specifies the radius for the top left corner. - * @Default {0} - */ - topLeft?: number; - - /** Specifies the radius for the top right corner. - * @Default {0} - */ - topRight?: number; - - /** Specifies the radius for the bottom left corner. - * @Default {0} - */ - bottomLeft?: number; - - /** Specifies the radius for the bottom right corner. - * @Default {0} - */ - bottomRight?: number; -} - -export interface SeriesTooltipBorder { - - /** Border Color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border Width of the tooltip. - * @Default {1} - */ - width?: number; -} - -export interface SeriesTooltip { - - /** Options for customizing the border of the tooltip. - */ - border?: SeriesTooltipBorder; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - rx?: number; - - /** Customize the corner radius of the tooltip rectangle. - * @Default {0} - */ - ry?: number; - - /** Specifies the duration, the tooltip has to be displayed. - * @Default {500ms} - */ - duration?: string; - - /** Enables/disables the animation of the tooltip when moving from one point to another. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Background color of the tooltip. - * @Default {null} - */ - fill?: string; - - /** Format of the tooltip content. - * @Default {#point.x# : #point.y#} - */ - format?: string; - - /** Opacity of the tooltip. - * @Default {0.95} - */ - opacity?: number; - - /** Custom template to format the tooltip content. Use “point.x” and “point.y” as a placeholder text to display the corresponding data point’s x and y value. - * @Default {null} - */ - template?: string; - - /** Controls the visibility of the tooltip. - * @Default {false} - */ - visible?: boolean; -} - -export interface SeriesTrendline { - - /** Show/hides the trendline. - */ - visibility?: boolean; - - /** Specifies the type of trendline for the series. - * @Default {linear. See TrendlinesType} - */ - type?: string; - - /** Name for the trendlines that is to be displayed in legend text. - * @Default {Trendline} - */ - name?: string; - - /** Fill color of the trendlines. - * @Default {#0000FF} - */ - fill?: string; - - /** Width of the trendlines. - * @Default {1} - */ - width?: number; - - /** Opacity of the trendline. - * @Default {1} - */ - opacity?: number; - - /** Pattern of dashes and gaps used to stroke the trendline. - */ - dashArray?: string; - - /** Future trends of the current series. - * @Default {0} - */ - forwardForecast?: number; - - /** Past trends of the current series. - * @Default {0} - */ - backwardForecast?: number; - - /** Specifies the order of polynomial trendlines. - * @Default {0} - */ - polynomialOrder?: number; - - /** Specifies the moving average starting period value. - * @Default {2} - */ - period?: number; -} - -export interface SeriesHighlightSettingsBorder { - - /** Border color of the series/point on highlight. - */ - color?: string; - - /** Border width of the series/point on highlight. - * @Default {2} - */ - width?: string; -} - -export interface SeriesHighlightSettings { - - /** Enables/disables the ability to highlight series or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether series or data point has to be highlighted. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode|string; - - /** Color of the series/point on highlight. - */ - color?: string; - - /** Opacity of the series/point on highlight. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of series on highlight. - */ - border?: SeriesHighlightSettingsBorder; - - /** Specifies the pattern for the series/point on highlight. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on highlight. - */ - customPattern?: string; -} - -export interface SeriesSelectionSettingsBorder { - - /** Border color of the series/point on selection. - */ - color?: string; - - /** Border width of the series/point on selection. - * @Default {2} - */ - width?: string; -} - -export interface SeriesSelectionSettings { - - /** Enables/disables the ability to select a series/data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether series or data point has to be selected. - * @Default {series. See Mode} - */ - mode?: ej.datavisualization.Chart.Mode|string; - - /** Specifies the type of selection. - * @Default {single} - */ - type?: ej.datavisualization.Chart.SelectionType|string; - - /** Specifies the drawn rectangle type. - * @Default {xy} - */ - rangeType?: ej.datavisualization.Chart.RangeType|string; - - /** Color of the series/point on selection. - */ - color?: string; - - /** Opacity of the series/point on selection. - * @Default {0.6} - */ - opacity?: number; - - /** Options for customizing the border of series on selection. - */ - border?: SeriesSelectionSettingsBorder; - - /** Specifies the pattern for the series/point on selection. - * @Default {none. See Pattern} - */ - pattern?: string; - - /** Custom pattern for the series on selection. - */ - customPattern?: string; -} - -export interface Series { - - /** Color of the point, where the close is up in financial chart. - * @Default {null} - */ - bearFillColor?: string; - - /** Options for customizing the border of the series. - */ - border?: SeriesBorder; - - /** Color of the point, where the close is down in financial chart. - * @Default {null} - */ - bullFillColor?: string; - - /** To render the column and bar type series in rectangle/cylinder shape. See ColumnFacet - * @Default {rectangle} - */ - columnFacet?: ej.datavisualization.Chart.ColumnFacet|string; - - /** Relative width of the columns in column type series. Value ranges from 0 to 1. Width also depends upon columnSpacing property. - * @Default {0.7} - */ - columnWidth?: number; - - /** Spacing between columns of different series. Value ranges from 0 to 1 - * @Default {0} - */ - columnSpacing?: number; - - /** To group the series of stacking collection. - */ - stackingGroup?: string; - - /** Pattern of dashes and gaps used to stroke the line type series. - */ - dashArray?: string; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Controls the size of the hole in doughnut series. Value ranges from 0 to 1. - * @Default {0.4} - */ - doughnutCoefficient?: number; - - /** Controls the size of the doughnut series. Value ranges from 0 to 1. - * @Default {0.8} - */ - doughnutSize?: number; - - /** Type of series to be drawn in radar or polar series. - * @Default {line. See DrawType} - */ - drawType?: ej.datavisualization.Chart.DrawType|string; - - /** Enable/disable the animation of series. - * @Default {false} - */ - enableAnimation?: boolean; - - /** To avoid overlapping of data labels smartly. - * @Default {null} - */ - enableSmartLabels?: number; - - /** End angle of pie/doughnut series. For a complete circle, it has to be 360, by default. - * @Default {null} - */ - endAngle?: number; - - /** Explodes the pie/doughnut slices on mouse move. - * @Default {false} - */ - explode?: boolean; - - /** Explodes all the slice of pie/doughnut on render. - * @Default {null} - */ - explodeAll?: boolean; - - /** Index of the point to be exploded from pie/doughnut/pyramid/funnel. - * @Default {null} - */ - explodeIndex?: number; - - /** Specifies the distance of the slice from the center, when it is exploded. - * @Default {25} - */ - explodeOffset?: number; - - /** Fill color of the series. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the series font. - */ - font?: SeriesFont; - - /** Specifies the height of the funnel in funnel series. Values can be in both pixel and percentage. - * @Default {32.7%} - */ - funnelHeight?: string; - - /** Specifies the width of the funnel in funnel series. Values can be in both pixel and percentage. - * @Default {11.6%} - */ - funnelWidth?: string; - - /** Gap between the slices of pyramid/funnel series. - * @Default {0} - */ - gapRatio?: number; - - /** Specifies whether to join start and end point of a line/area series used in polar/radar chart to form a closed path. - * @Default {true} - */ - isClosed?: boolean; - - /** Specifies whether to stack the column series in polar/radar charts. - * @Default {true} - */ - isStacking?: boolean; - - /** Renders the chart vertically. This is applicable only for Cartesian type series. - * @Default {false} - */ - isTransposed?: boolean; - - /** Render the x mark in the center of the box and whisker series type.x represents the average value of the box and whisker series. - * @Default {true} - */ - showMedian?: boolean; - - /** Position of the data label in pie/doughnut/pyramid/funnel series. OutsideExtended position is not applicable for pyramid/funnel. - * @Default {inside. See LabelPosition} - */ - labelPosition?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the mode for splitting the data points in pieOfPie series. - * @Default {value. See SplitMode} - */ - splitMode?: ej.datavisualization.Chart.SplitMode|string; - - /** Quartile calculation has been performed in three different formulas to render the boxplot series . - * @Default {exclusive} - */ - boxPlotMode?: ej.datavisualization.Chart.LabelPosition|string; - - /** Specifies the line cap of the series. - * @Default {Butt. See LineCap} - */ - lineCap?: ej.datavisualization.Chart.LineCap|string; - - /** Specifies the type of shape to be used where two lines meet. - * @Default {Round. See LineJoin} - */ - lineJoin?: ej.datavisualization.Chart.LineJoin|string; - - /** Options for displaying and customizing marker for individual point in a series. Marker contains shapes and/or data labels. - */ - marker?: SeriesMarker; - - /** Name of the series, that is to be displayed in the legend. - * @Default {Add a comment to this line} - */ - name?: string; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Options for customizing the outlier of individual series. - */ - outlierSettings?: SeriesOutlierSettings; - - /** Name of a field in data source where fill color for all the data points is generated. - */ - palette?: string; - - /** Controls the size of pie series. Value ranges from 0 to 1. - * @Default {0.8} - */ - pieCoefficient?: number; - - /** Controls the size of the second pie in pieOfPie series. Value ranges from 0 to 1. - * @Default {0.6} - */ - pieOfPieCoefficient?: number; - - /** Split Value of pieofpie series. - * @Default {null} - */ - splitValue?: string; - - /** Distance between the two pie's in pieOfPie series. - * @Default {50} - */ - gapWidth?: number; - - /** Options for customizing the empty point in the series. - */ - emptyPointSettings?: SeriesEmptyPointSettings; - - /** Fill color for the positive column of the waterfall. - * @Default {null} - */ - positiveFill?: string; - - /** Options for customizing the waterfall connector line. - */ - connectorLine?: SeriesConnectorLine; - - /** Options to customize the drag and drop in series. - */ - dragSettings?: SeriesDragSettings; - - /** Options to customize the error bar in series. - */ - errorBar?: SeriesErrorBar; - - /** Option to add data points; each point should have x and y property. Also, optionally, you can customize the points color, border, marker by using fill, border and marker options. - */ - points?: Array; - - /** Specifies the mode of the pyramid series. - * @Default {linear} - */ - pyramidMode?: ej.datavisualization.Chart.PyramidMode|string; - - /** Specifies ej.Query to select data from dataSource. This property is applicable only when the dataSource is ej.DataManager. - * @Default {null} - */ - query?: any; - - /** Start angle from where the pie/doughnut series renders. It starts from 0, by default. - * @Default {null} - */ - startAngle?: number; - - /** Options for customizing the corner radius. cornerRadius property also takes the numeric input and applies it for all the four corners of the column. - */ - cornerRadius?: SeriesCornerRadius; - - /** Options for customizing the tooltip of chart. - */ - tooltip?: SeriesTooltip; - - /** Specifies the type of the series to render in chart. - * @Default {column. see Type} - */ - type?: ej.datavisualization.Chart.Type|string; - - /** Controls the visibility of the series. - * @Default {visible} - */ - visibility?: string; - - /** Enables or disables the visibility of legend item. - * @Default {visible} - */ - visibleOnLegend?: string; - - /** Specifies the name of the x-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - xAxisName?: string; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Specifies the name of the y-axis that has to be associated with this series. Add an axis instance with this name to axes collection. - * @Default {null} - */ - yAxisName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Name of the property in the datasource that contains high value for the series. - * @Default {null} - */ - high?: string; - - /** Name of the property in the datasource that contains low value for the series. - * @Default {null} - */ - low?: string; - - /** Name of the property in the datasource that contains open value for the series. - * @Default {null} - */ - open?: string; - - /** Name of the property in the datasource that contains close value for the series. - * @Default {null} - */ - close?: string; - - /** Name of the property in the datasource that contains fill color for the series. - * @Default {null} - */ - pointColorMappingName?: string; - - /** Z-order of the series. - * @Default {0} - */ - zOrder?: number; - - /** Name of the property in the datasource that contains the size value for the bubble series. - * @Default {null} - */ - size?: string; - - /** Option to add trendlines to chart. - */ - trendlines?: Array; - - /** Options for customizing the appearance of the series or data point while highlighting. - */ - highlightSettings?: SeriesHighlightSettings; - - /** Options for customizing the appearance of the series/data point on selection. - */ - selectionSettings?: SeriesSelectionSettings; -} - -export interface Size { - - /** Height of the Chart. Height can be specified in either pixel or percentage. - * @Default {'450'} - */ - height?: string; - - /** Width of the Chart. Width can be specified in either pixel or percentage. - * @Default {'450'} - */ - width?: string; -} - -export interface TitleBorder { - - /** Width of the title border. - * @Default {1} - */ - width?: number; - - /** color of the title border. - * @Default {transparent} - */ - color?: string; - - /** opacity of the title border. - * @Default {0.8} - */ - opacity?: number; - - /** opacity of the title border. - * @Default {0.8} - */ - cornerRadius?: number; -} - -export interface TitleFont { - - /** Font family for Chart title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for Chart title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight for Chart title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the Chart title. - * @Default {0.5} - */ - opacity?: number; - - /** Font size for Chart title. - * @Default {20px} - */ - size?: string; -} - -export interface TitleSubTitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Chart.FontStyle|string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Chart.FontWeight|string; - - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; - - /** Font size for sub title. - * @Default {12px} - */ - size?: string; -} - -export interface TitleSubTitleBorder { - - /** Width of the subtitle border. - * @Default {1} - */ - width?: number; - - /** color of the subtitle border. - * @Default {transparent} - */ - color?: string; - - /** opacity of the subtitle border. - * @Default {0.8} - */ - opacity?: number; - - /** opacity of the subtitle border. - * @Default {0.8} - */ - cornerRadius?: number; -} - -export interface TitleSubTitle { - - /** Options for customizing the font of sub title. - */ - font?: TitleSubTitleFont; - - /** Background color for the chart subtitle. - * @Default {transparent} - */ - background?: string; - - /** Options to customize the border of the title. - */ - border?: TitleSubTitleBorder; - - /** Text to be displayed in sub title. - */ - text?: string; - - /** Alignment of sub title text. - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.Alignment|string; -} - -export interface Title { - - /** Background color for the chart title. - * @Default {transparent} - */ - background?: string; - - /** Options to customize the border of the title. - */ - border?: TitleBorder; - - /** Options for customizing the font of Chart title. - */ - font?: TitleFont; - - /** Options to customize the sub title of Chart. - */ - subTitle?: TitleSubTitle; - - /** Text to be displayed in Chart title. - */ - text?: string; - - /** Alignment of the title text. - * @Default {Center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Chart.Alignment|string; -} - -export interface Zooming { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Enables or disables pinch zooming. - * @Default {true} - */ - enablePinching?: boolean; - - /** Enable or disables the differed zooming. When it is enabled, chart is updated only on mouse up action while zooming and panning. - * @Default {false} - */ - enableDeferredZoom?: boolean; - - /** Enables/disables the ability to zoom the chart on moving the mouse wheel. - * @Default {false} - */ - enableMouseWheel?: boolean; - - /** Specifies whether to allow zooming the chart vertically or horizontally or in both ways. - * @Default {'x,y'} - */ - type?: string; - - /** Toggles the visibility of the scrollbar, which will be displayed while zooming. - * @Default {false} - */ - enableScrollbar?: boolean; - - /** To display user specified buttons in zooming toolbar. - * @Default {[zoomIn, zoomOut, zoom, pan, reset]} - */ - toolbarItems?: Array; -} -} -module Chart -{ -enum CoordinateUnit -{ -//string -None, -//string -Pixels, -//string -Points, -} -} -module Chart -{ -enum HorizontalAlignment -{ -//string -Left, -//string -Right, -//string -Middle, -} -} -module Chart -{ -enum Region -{ -//string -Chart, -//string -Series, -} -} -module Chart -{ -enum VerticalAlignment -{ -//string -Top, -//string -Bottom, -//string -Middle, -} -} -module Chart -{ -enum ExportingType -{ -//string -PNG, -//string -JPG, -//string -PDF, -//string -DOCX, -//string -XLSX, -//string -SVG, -} -} -module Chart -{ -enum ExportingOrientation -{ -//string -Portrait, -//string -Landscape, -} -} -module Chart -{ -enum ExportingMode -{ -//string -ServerSide, -//string -ClientSide, -} -} -module Chart -{ -enum Unit -{ -//string -Percentage, -//string -Pixel, -} -} -module Chart -{ -enum ColumnFacet -{ -//string -Rectangle, -//string -Cylinder, -} -} -module Chart -{ -enum DrawType -{ -//string -Line, -//string -Area, -//string -Column, -} -} -module Chart -{ -enum FontStyle -{ -//string -Normal, -//string -Italic, -} -} -module Chart -{ -enum FontWeight -{ -//string -Regular, -//string -Bold, -//string -Lighter, -} -} -module Chart -{ -enum LabelPosition -{ -//string -Inside, -//string -Outside, -//string -OutsideExtended, -} -} -module Chart -{ -enum SplitMode -{ -//string -Position, -//string -Value, -//string -Percentage, -//string -Indexes, -} -} -module Chart -{ -enum boxPlotMode -{ -//string -Exclusive, -//string -Inclusive, -//string -Normal, -} -} -module Chart -{ -enum LineCap -{ -//string -Butt, -//string -Round, -//string -Square, -} -} -module Chart -{ -enum LineJoin -{ -//string -Round, -//string -Bevel, -//string -Miter, -} -} -module Chart -{ -enum ConnectorLineType -{ -//string -Line, -//string -Bezier, -} -} -module Chart -{ -enum HorizontalTextAlignment -{ -//string -Center, -//string -Near, -//string -Far, -} -} -module Chart -{ -enum Shape -{ -//string -None, -//string -LeftArrow, -//string -RightArrow, -//string -Circle, -//string -Cross, -//string -HorizLine, -//string -VertLine, -//string -Diamond, -//string -Rectangle, -//string -Triangle, -//string -Hexagon, -//string -Pentagon, -//string -Star, -//string -Ellipse, -//string -Trapezoid, -//string -UpArrow, -//string -DownArrow, -//string -Image, -//string -SeriesType, -} -} -module Chart -{ -enum TextPosition -{ -//string -Top, -//string -Bottom, -//string -Middle, -} -} -module Chart -{ -enum VerticalTextAlignment -{ -//string -Center, -//string -Near, -//string -Far, -} -} -module Chart -{ -enum PyramidMode -{ -//string -Linear, -//string -Surface, -} -} -module Chart -{ -enum Type -{ -//string -Area, -//string -Line, -//string -Spline, -//string -Column, -//string -Scatter, -//string -Bubble, -//string -SplineArea, -//string -StepArea, -//string -StepLine, -//string -Pie, -//string -HiLo, -//string -HiLoOpenClose, -//string -Candle, -//string -Bar, -//string -StackingArea, -//string -StackingArea100, -//string -RangeColumn, -//string -StackingColumn, -//string -StackingColumn100, -//string -StackingBar, -//string -StackingBar100, -//string -Pyramid, -//string -Funnel, -//string -Doughnut, -//string -Polar, -//string -Radar, -//string -RangeArea, -} -} -module Chart -{ -enum EmptyPointMode -{ -//string -Gap, -//string -Zero, -//string -Average, -} -} -module Chart -{ -enum ErrorBarType -{ -//string -FixedValue, -//string -Percentage, -//string -StandardDeviation, -//string -StandardError, -} -} -module Chart -{ -enum ErrorBarMode -{ -//string -Both, -//string -Vertical, -//string -Horizontal, -} -} -module Chart -{ -enum ErrorBarDirection -{ -//string -Both, -//string -Plus, -//string -Minus, -} -} -module Chart -{ -enum Mode -{ -//string -Series, -//string -Point, -//string -Cluster, -//string -Range, -} -} -module Chart -{ -enum SelectionType -{ -//string -Single, -//string -Multiple, -} -} -module Chart -{ -enum RangeType -{ -//string -XY, -//string -X, -//string -Y, -} -} -module Chart -{ -enum CrosshairMode -{ -//string -Float, -//string -Grouping, -} -} -module Chart -{ -enum CrosshairType -{ -//string -Crosshair, -//string -Trackball, -} -} -module Chart -{ -enum Alignment -{ -//string -Center, -//string -Near, -//string -Far, -} -} -module Chart -{ -enum Position -{ -//string -Left, -//string -Right, -//string -Top, -//string -Bottom, -} -} -module Chart -{ -enum TextOverflow -{ -//string -None, -//string -Trim, -//string -Wrap, -//string -WrapAndTrim, -} -} -module Chart -{ -enum LabelPlacement -{ -//string -OnTicks, -//string -BetweenTicks, -} -} -module Chart -{ -enum EdgeLabelPlacement -{ -//string -None, -//string -Shift, -//string -Hide, -} -} -module Chart -{ -enum IntervalType -{ -//string -Days, -//string -Hours, -//string -Seconds, -//string -Milliseconds, -//string -Minutes, -//string -Months, -//string -Years, -} -} -module Chart -{ -enum LabelIntersectAction -{ -//string -None, -//string -Rotate90, -//string -Rotate45, -//string -Wrap, -//string -WrapByword, -//string -Trim, -//string -Hide, -//string -MultipleRows, -} -} -module Chart -{ -enum LabelAlignment -{ -//string -Near, -//string -Far, -//string -Center, -} -} -module Chart -{ -enum RangePadding -{ -//string -Additional, -//string -Normal, -//string -None, -//string -Round, -} -} -module Chart -{ -enum MultiLevelLabelsBorderType -{ -//string -Rectangle, -//string -None, -//string -WithoutTopAndBottom, -//string -Brace, -//string -CurlyBrace, -} -} -module Chart -{ -enum TextAlignment -{ -//string -MiddleTop, -//string -MiddleCenter, -//string -MiddleBottom, -} -} -module Chart -{ -enum ZIndex -{ -//string -Inside, -//string -Over, -} -} -module Chart -{ -enum TickLinesPosition -{ -//string -Inside, -//string -Outside, -} -} -module Chart -{ -enum ValueType -{ -//string -Double, -//string -Category, -//string -DateTime, -//string -Logarithmic, -} -} -module Chart -{ -enum Theme -{ -//string -Azure, -//string -FlatLight, -//string -FlatDark, -//string -Azuredark, -//string -Lime, -//string -LimeDark, -//string -Saffron, -//string -SaffronDark, -//string -GradientLight, -//string -GradientDark, -} -} - -class RangeNavigator extends ej.Widget { - static fn: RangeNavigator; - constructor(element: JQuery, options?: RangeNavigator.Model); - constructor(element: Element, options?: RangeNavigator.Model); - static Locale: any; - model:RangeNavigator.Model; - defaults:RangeNavigator.Model; - - /** destroy the range navigator widget - * @returns {void} - */ - _destroy(): void; -} -export module RangeNavigator{ - -export interface Model { - - /** Toggles the placement of slider exactly on the place it left or on the nearest interval. - * @Default {false} - */ - allowSnapping?: boolean; - - /** Options for customizing the color, opacity and width of the chart border. - */ - border?: Border; - - /** Specifies the data source for range navigator. - */ - dataSource?: any; - - /** Specifies the properties used for customizing the range series. - */ - series?: Array; - - /** Toggles the redrawing of chart on moving the sliders. - * @Default {true} - */ - enableDeferredUpdate?: boolean; - - /** Enable the scrollbar option in the rangenavigator. - * @Default {false} - */ - enableScrollbar?: boolean; - - /** Toggles the direction of rendering the range navigator control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets a value whether to make the range navigator responsive on resize. - * @Default {false} - */ - isResponsive?: boolean; - - /** Options for customizing the labels colors, font, style, size, horizontalAlignment and opacity. - */ - labelSettings?: LabelSettings; - - /** This property is to specify the localization of range navigator. - * @Default {en-US} - */ - locale?: string; - - /** Options for customizing the range navigator. - */ - navigatorStyleSettings?: NavigatorStyleSettings; - - /** Padding specifies the gap between the container and the range navigator. - * @Default {0} - */ - padding?: string; - - /** If the range is not given explicitly, range will be calculated automatically. - * @Default {none} - */ - rangePadding?: ej.datavisualization.RangeNavigator.RangePadding|string; - - /** Options for customizing the starting and ending ranges. - */ - rangeSettings?: RangeSettings; - - /** selectedData is for getting the data when the "rangeChanged" event trigger from client side. - */ - selectedData?: any; - - /** Options for customizing the start and end range values. - */ - selectedRangeSettings?: SelectedRangeSettings; - - /** Options for rendering scrollbar based on the start and end range values. - */ - scrollRangeSettings?: ScrollRangeSettings; - - /** Contains property to customize the hight and width of range navigator. - */ - sizeSettings?: SizeSettings; - - /** By specifying this property the user can change the theme of the range navigator. - * @Default {null} - */ - theme?: string; - - /** Options for customizing the tooltip in range navigator. - */ - tooltipSettings?: TooltipSettings; - - /** Options for configuring minor grid lines, major grid lines, axis line of axis. - */ - valueAxisSettings?: ValueAxisSettings; - - /** You can plot data of type date time or numeric. This property determines the type of data that this axis will handle. - * @Default {datetime} - */ - valueType?: ej.datavisualization.RangeNavigator.ValueType|string; - - /** Specifies the xName for dataSource. This is used to take the x values from dataSource - */ - xName?: any; - - /** Specifies the yName for dataSource. This is used to take the y values from dataSource - */ - yName?: any; - - /** Fires on load of range navigator. */ - load? (e: LoadEventArgs): void; - - /** Fires after range navigator is loaded. */ - loaded? (e: LoadedEventArgs): void; - - /** Fires on changing the range of range navigator. */ - rangeChanged? (e: RangeChangedEventArgs): void; - - /** Fires on changing the scrollbar position of range navigator. */ - scrollChanged? (e: ScrollChangedEventArgs): void; - - /** Fires on when starting to change the scrollbar position of range navigator. */ - scrollStart? (e: ScrollStartEventArgs): void; - - /** Fires on changes ending the scrollbar position of range navigator. */ - scrollEnd? (e: ScrollEndEventArgs): void; -} - -export interface LoadEventArgs { - - /** parameters from range navigator - */ - Data?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the range navigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface LoadedEventArgs { - - /** parameters from range navigator - */ - Data?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the range navigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface RangeChangedEventArgs { - - /** parameters from range navigator - */ - Data?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the range navigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface ScrollChangedEventArgs { - - /** parameters from RangeNavigator - */ - data?: any; - - /** returns the scrollbar position old start and end range value on changing scrollbar - */ - dataoldRange?: any; - - /** returns the scrollbar position new start and end range value on changing scrollbar - */ - datanewRange?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RangeNavigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface ScrollStartEventArgs { - - /** parameters from RangeNavigator - */ - data?: any; - - /** returns the scrollbar position starting range value on changing scrollbar - */ - datastartRange?: string; - - /** returns the scrollbar position end range value on changing scrollbar - */ - dataendRange?: string; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RangeNavigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface ScrollEndEventArgs { - - /** parameters from RangeNavigator - */ - data?: any; - - /** returns the scrollbar position old start and end range value on change end of scrollbar - */ - dataoldRange?: any; - - /** returns the scrollbar position new start and end range value on change end of scrollbar - */ - datanewRange?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RangeNavigator model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; -} - -export interface Border { - - /** Border color of rangenavigator. When enable the scrollbar, the default color will be set as "#B4B4B4". - * @Default {transparent} - */ - color?: string; - - /** Opacity of the rangeNavigator border. - * @Default {1} - */ - opacity?: number; - - /** Width of the RangeNavigator border. - * @Default {1} - */ - width?: number; -} - -export interface Series { - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Specifies the type of the series to render in chart. - * @Default {column. see Type} - */ - type?: ej.datavisualization.RangeNavigator.Type|string; - - /** Enable/disable the animation of series. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Fill color of the series. - * @Default {null} - */ - fill?: string; -} - -export interface LabelSettingsHigherLevelBorder { - - /** Specifies the border color of grid lines. - * @Default {transparent} - */ - color?: string; - - /** Specifies the border width of grid lines. - * @Default {0.5} - */ - width?: string; -} - -export interface LabelSettingsHigherLevelGridLineStyle { - - /** Specifies the color of grid lines in higher level. - * @Default {#B5B5B5} - */ - color?: string; - - /** Specifies the dashArray of grid lines in higher level. - * @Default {20 5 0} - */ - dashArray?: string; - - /** Specifies the width of grid lines in higher level. - * @Default {#B5B5B5} - */ - width?: string; -} - -export interface LabelSettingsHigherLevelStyleFont { - - /** Specifies the label font color. Labels render with the specified font color. - * @Default {black} - */ - color?: string; - - /** Specifies the label font family. Labels render with the specified font family. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the label font style. Labels render with the specified font style. - * @Default {Normal} - */ - fontStyle?: string; - - /** Specifies the label font weight. Labels render with the specified font weight. - * @Default {regular} - */ - fontWeight?: string; - - /** Specifies the label opacity. Labels render with the specified opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the label font size. Labels render with the specified font size. - * @Default {12px} - */ - size?: string; -} - -export interface LabelSettingsHigherLevelStyle { - - /** Options for customizing the font properties. - */ - font?: LabelSettingsHigherLevelStyleFont; - - /** Specifies the horizontal text alignment of the text in label. - * @Default {middle} - */ - horizontalAlignment?: string; -} - -export interface LabelSettingsHigherLevel { - - /** Options for customizing the border of grid lines in higher level. - */ - border?: LabelSettingsHigherLevelBorder; - - /** Specifies the fill color of higher level labels. - * @Default {transparent} - */ - fill?: string; - - /** Options for customizing the grid line colors, width, dashArray, border. - */ - gridLineStyle?: LabelSettingsHigherLevelGridLineStyle; - - /** Specifies the intervalType for higher level labels. See IntervalType - * @Default {auto} - */ - intervalType?: ej.datavisualization.RangeNavigator.IntervalType|string; - - /** Specifies the position of the labels to render either inside or outside of plot area - * @Default {outside} - */ - labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement|string; - - /** Specifies the position of the labels in higher level - * @Default {top} - */ - position?: ej.datavisualization.RangeNavigator.Position|string; - - /** Options for customizing the style of higher level labels. - */ - style?: LabelSettingsHigherLevelStyle; - - /** Toggles the visibility of higher level labels. - * @Default {true} - */ - visible?: boolean; -} - -export interface LabelSettingsLowerLevelBorder { - - /** Specifies the border color of grid lines. - * @Default {transparent} - */ - color?: string; - - /** Specifies the border width of grid lines. - * @Default {0.5} - */ - width?: string; -} - -export interface LabelSettingsLowerLevelGridLineStyle { - - /** Specifies the color of grid lines in lower level. - * @Default {#B5B5B5} - */ - color?: string; - - /** Specifies the dashArray of gridLines in lowerLevel. - * @Default {20 5 0} - */ - dashArray?: string; - - /** Specifies the width of grid lines in lower level. - * @Default {#B5B5B5} - */ - width?: string; -} - -export interface LabelSettingsLowerLevelStyleFont { - - /** Specifies the color of labels. Label text render in this specified color. - * @Default {black} - */ - color?: string; - - /** Specifies the font family of labels. Label text render in this specified font family. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font style of labels. Label text render in this specified font style. - * @Default {Normal} - */ - fontStyle?: string; - - /** Specifies the font weight of labels. Label text render in this specified font weight. - * @Default {regular} - */ - fontWeight?: string; - - /** Specifies the opacity of labels. Label text render in this specified opacity. - * @Default {12px} - */ - opacity?: string; - - /** Specifies the size of labels. Label text render in this specified size. - * @Default {12px} - */ - size?: string; -} - -export interface LabelSettingsLowerLevelStyle { - - /** Options for customizing the font of labels. - */ - font?: LabelSettingsLowerLevelStyleFont; - - /** Specifies the horizontal text alignment of the text in label. - * @Default {middle} - */ - horizontalAlignment?: string; -} - -export interface LabelSettingsLowerLevel { - - /** Options for customizing the border of grid lines in lower level. - */ - border?: LabelSettingsLowerLevelBorder; - - /** Specifies the fill color of labels in lower level. - * @Default {transparent} - */ - fill?: string; - - /** Options for customizing the grid lines in lower level. - */ - gridLineStyle?: LabelSettingsLowerLevelGridLineStyle; - - /** Specifies the intervalType of the labels in lower level.See IntervalType - * @Default {auto} - */ - intervalType?: ej.datavisualization.RangeNavigator.IntervalType|string; - - /** Specifies the position of the labels to render either inside or outside of plot area. See LabelPlacement - * @Default {outside} - */ - labelPlacement?: ej.datavisualization.RangeNavigator.LabelPlacement|string; - - /** Specifies the position of the labels in lower level.See Position - * @Default {bottom} - */ - position?: ej.datavisualization.RangeNavigator.Position|string; - - /** Options for customizing the style of labels. - */ - style?: LabelSettingsLowerLevelStyle; - - /** Toggles the visibility of labels in lower level. - * @Default {true} - */ - visible?: boolean; -} - -export interface LabelSettingsStyleFont { - - /** Specifies the label color. This color is applied to the labels in range navigator. - * @Default {#FFFFFF} - */ - color?: string; - - /** Specifies the label font family. Labels render with the specified font family. - * @Default {Segoe UI} - */ - family?: string; - - /** Specifies the label font opacity. Labels render with the specified font opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the label font size. Labels render with the specified font size. - * @Default {1px} - */ - size?: string; - - /** Specifies the label font style. Labels render with the specified font style.. - * @Default {Normal} - */ - style?: ej.datavisualization.RangeNavigator.FontStyle|string; - - /** Specifies the label font weight - * @Default {regular} - */ - weight?: ej.datavisualization.RangeNavigator.FontWeight|string; -} - -export interface LabelSettingsStyle { - - /** Options for customizing the font of labels in range navigator. - */ - font?: LabelSettingsStyleFont; - - /** Specifies the horizontalAlignment of the label in RangeNavigator - * @Default {middle} - */ - horizontalAlignment?: ej.datavisualization.RangeNavigator.HorizontalAlignment|string; -} - -export interface LabelSettings { - - /** Options for customizing the higher level labels in range navigator. - */ - higherLevel?: LabelSettingsHigherLevel; - - /** Options for customizing the labels in lower level. - */ - lowerLevel?: LabelSettingsLowerLevel; - - /** Options for customizing the style of labels in range navigator. - */ - style?: LabelSettingsStyle; -} - -export interface NavigatorStyleSettingsBorder { - - /** Specifies the border color of range navigator. - * @Default {transparent} - */ - color?: string; - - /** Specifies the dash array of range navigator. - * @Default {null} - */ - dashArray?: string; - - /** Specifies the border width of range navigator. - * @Default {0.5} - */ - width?: number; -} - -export interface NavigatorStyleSettingsMajorGridLineStyle { - - /** Specifies the color of major grid lines in range navigator. - * @Default {#B5B5B5} - */ - color?: string; - - /** Toggles the visibility of major grid lines. - * @Default {true} - */ - visible?: boolean; -} - -export interface NavigatorStyleSettingsMinorGridLineStyle { - - /** Specifies the color of minor grid lines in range navigator. - * @Default {#B5B5B5} - */ - color?: string; - - /** Toggles the visibility of minor grid lines. - * @Default {true} - */ - visible?: boolean; -} - -export interface NavigatorStyleSettingsHighlightSettingsBorder { - - /** To set the border color to the highlight. - * @Default {null} - */ - color?: string; - - /** To set the border width to the highlight. - * @Default {1} - */ - width?: number; -} - -export interface NavigatorStyleSettingsHighlightSettings { - - /** Enable the highlight settings in range navigator. - * @Default {false} - */ - enable?: boolean; - - /** To set the color to the highlight. - * @Default {null} - */ - color?: string; - - /** To set the opacity to the highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Contains the border properties for highlighting rectangle. - */ - border?: NavigatorStyleSettingsHighlightSettingsBorder; -} - -export interface NavigatorStyleSettingsSelectionSettingsBorder { - - /** To set the border color to the selection. - * @Default {null} - */ - color?: string; - - /** To set the border width to the selection. - * @Default {1} - */ - width?: number; -} - -export interface NavigatorStyleSettingsSelectionSettings { - - /** Enable the selection settings in range navigator. - * @Default {false} - */ - enable?: boolean; - - /** To set the color to the selection. - * @Default {null} - */ - color?: string; - - /** To set the opacity to the selection. - * @Default {0.5} - */ - opacity?: number; - - /** Contains the border properties for selecting the rectangle. - */ - border?: NavigatorStyleSettingsSelectionSettingsBorder; -} - -export interface NavigatorStyleSettings { - - /** Specifies the background color of range navigator. - * @Default {#dddddd} - */ - background?: string; - - /** Options for customizing the border color and width of range navigator. - */ - border?: NavigatorStyleSettingsBorder; - - /** Specifies the left side thumb template in range navigator we can give either div id or HTML string - * @Default {null} - */ - leftThumbTemplate?: string; - - /** Options for customizing the major grid lines. - */ - majorGridLineStyle?: NavigatorStyleSettingsMajorGridLineStyle; - - /** Options for customizing the minor grid lines. - */ - minorGridLineStyle?: NavigatorStyleSettingsMinorGridLineStyle; - - /** Specifies the opacity of RangeNavigator. - * @Default {1} - */ - opacity?: number; - - /** Specifies the right side thumb template in range navigator we can give either div id or HTML string - * @Default {null} - */ - rightThumbTemplate?: string; - - /** Specifies the color of the selected region in range navigator. - * @Default {#EFEFEF} - */ - selectedRegionColor?: string; - - /** Specifies the opacity of Selected Region. - * @Default {0} - */ - selectedRegionOpacity?: number; - - /** Specifies the color of the thumb in range navigator. - * @Default {#2382C3} - */ - thumbColor?: string; - - /** Specifies the radius of the thumb in range navigator. - * @Default {10} - */ - thumbRadius?: number; - - /** Specifies the stroke color of the thumb in range navigator. - * @Default {#303030} - */ - thumbStroke?: string; - - /** Specifies the color of the unselected region in range navigator. - * @Default {#5EABDE} - */ - unselectedRegionColor?: string; - - /** Specifies the opacity of Unselected Region. - * @Default {0.3} - */ - unselectedRegionOpacity?: number; - - /** Contains the options for highlighting the range navigator on mouse over. - */ - highlightSettings?: NavigatorStyleSettingsHighlightSettings; - - /** Contains the options for selection the range navigator on mouse over. - */ - selectionSettings?: NavigatorStyleSettingsSelectionSettings; -} - -export interface RangeSettings { - - /** Specifies the ending range of range navigator. - * @Default {null} - */ - end?: string; - - /** Specifies the starting range of range navigator. - * @Default {null} - */ - start?: string; -} - -export interface SelectedRangeSettings { - - /** Specifies the ending range of range navigator. - * @Default {null} - */ - end?: string; - - /** Specifies the starting range of range navigator. - * @Default {null} - */ - start?: string; -} - -export interface ScrollRangeSettings { - - /** Specifies the ending range of range navigator scrollbar and that should be greater than the rangenavigator datasource end value. - * @Default {null} - */ - end?: string; - - /** Specifies the starting range of range navigator scrollbar and that should be less than the rangenavigator datasource start value. - * @Default {null} - */ - start?: string; -} - -export interface SizeSettings { - - /** Specifies height of the range navigator. - * @Default {null} - */ - height?: string; - - /** Specifies width of the range navigator. - * @Default {null} - */ - width?: string; -} - -export interface TooltipSettingsFont { - - /** Specifies the color of text in tooltip. Tooltip text render in the specified color. - * @Default {#FFFFFF} - */ - color?: string; - - /** Specifies the font family of text in tooltip. Tooltip text render in the specified font family. - * @Default {Segoe UI} - */ - family?: string; - - /** Specifies the font style of text in tooltip. Tooltip text render in the specified font style. - * @Default {ej.datavisualization.RangeNavigator.fontStyle.Normal} - */ - fontStyle?: string; - - /** Specifies the opacity of text in tooltip. Tooltip text render in the specified opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of text in tooltip. Tooltip text render in the specified size. - * @Default {10px} - */ - size?: string; - - /** Specifies the weight of text in tooltip. Tooltip text render in the specified weight. - * @Default {ej.datavisualization.RangeNavigator.weight.Regular} - */ - weight?: string; -} - -export interface TooltipSettings { - - /** Specifies the background color of tooltip. - * @Default {#303030} - */ - backgroundColor?: string; - - /** Options for customizing the font in tooltip. - */ - font?: TooltipSettingsFont; - - /** Specifies the format of text to be displayed in tooltip. - * @Default {MM/dd/yyyy} - */ - labelFormat?: string; - - /** Specifies the mode of displaying the tooltip. Neither to display the tooltip always nor on demand. - * @Default {null} - */ - tooltipDisplayMode?: string; - - /** Toggles the visibility of tooltip. - * @Default {true} - */ - visible?: boolean; -} - -export interface ValueAxisSettingsAxisLine { - - /** Toggles the visibility of axis line. - * @Default {none} - */ - visible?: string; -} - -export interface ValueAxisSettingsFont { - - /** Text in axis render with the specified size. - * @Default {0px} - */ - size?: string; -} - -export interface ValueAxisSettingsMajorGridLines { - - /** Toggles the visibility of major grid lines. - * @Default {false} - */ - visible?: boolean; -} - -export interface ValueAxisSettingsMajorTickLines { - - /** Specifies the size of the majorTickLines in range navigator - * @Default {0} - */ - size?: number; - - /** Toggles the visibility of major tick lines. - * @Default {true} - */ - visible?: boolean; - - /** Specifies width of the major tick lines. - * @Default {0} - */ - width?: number; -} - -export interface ValueAxisSettings { - - /** Options for customizing the axis line. - */ - axisLine?: ValueAxisSettingsAxisLine; - - /** Options for customizing the font of the axis. - */ - font?: ValueAxisSettingsFont; - - /** Options for customizing the major grid lines. - */ - majorGridLines?: ValueAxisSettingsMajorGridLines; - - /** Options for customizing the major tick lines in axis. - */ - majorTickLines?: ValueAxisSettingsMajorTickLines; - - /** If the range is not given explicitly, range will be calculated automatically. You can customize the automatic range calculation using rangePadding. - * @Default {none} - */ - rangePadding?: string; - - /** Toggles the visibility of axis in range navigator. - * @Default {false} - */ - visible?: boolean; -} -} -module RangeNavigator -{ -enum Type -{ -//string -Area, -//string -Line, -//string -Spline, -//string -StepArea, -//string -SplineArea, -//string -StepLine, -} -} -module RangeNavigator -{ -enum IntervalType -{ -//string -Years, -//string -Quarters, -//string -Months, -//string -Weeks, -//string -Days, -//string -Hours, -//string -Minutes, -} -} -module RangeNavigator -{ -enum LabelPlacement -{ -//string -Inside, -//string -Outside, -} -} -module RangeNavigator -{ -enum Position -{ -//string -Top, -//string -Bottom, -} -} -module RangeNavigator -{ -enum FontStyle -{ -//string -Normal, -//string -Bold, -//string -Italic, -} -} -module RangeNavigator -{ -enum FontWeight -{ -//string -Regular, -//string -Lighter, -} -} -module RangeNavigator -{ -enum HorizontalAlignment -{ -//string -Middle, -//string -Left, -//string -Right, -} -} -module RangeNavigator -{ -enum RangePadding -{ -//string -Additional, -//string -Normal, -//string -None, -//string -Round, -} -} -module RangeNavigator -{ -enum ValueType -{ -//string -Numeric, -//string -DateTime, -} -} - -class BulletGraph extends ej.Widget { - static fn: BulletGraph; - constructor(element: JQuery, options?: BulletGraph.Model); - constructor(element: Element, options?: BulletGraph.Model); - static Locale: any; - model:BulletGraph.Model; - defaults:BulletGraph.Model; - - /** To destroy the bullet graph - * @returns {void} - */ - destroy(): void; - - /** To redraw the bullet graph - * @returns {void} - */ - redraw(): void; - - /** To set the value for comparative measure in bullet graph. - * @returns {void} - */ - setComparativeMeasureSymbol(): void; - - /** To set the value for feature measure bar. - * @returns {void} - */ - setFeatureMeasureBarValue(): void; -} -export module BulletGraph{ - -export interface Model { - - /** Toggles the visibility of the range stroke color of the labels. - * @Default {false} - */ - applyRangeStrokeToLabels?: boolean; - - /** Toggles the visibility of the range stroke color of the ticks. - * @Default {false} - */ - applyRangeStrokeToTicks?: boolean; - - /** Contains property to customize the caption in bullet graph. - */ - captionSettings?: CaptionSettings; - - /** Comparative measure bar in bullet graph render till the specified value. - * @Default {0} - */ - comparativeMeasureValue?: number; - - /** Toggles the animation of bullet graph. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the direction of flow in bullet graph. Neither it may be backward nor forward. - * @Default {forward} - */ - flowDirection?: ej.datavisualization.BulletGraph.FlowDirection|string; - - /** Specifies the height of the bullet graph. - * @Default {90} - */ - height?: number; - - /** Sets a value whether to make the bullet graph responsive on resize. - * @Default {true} - */ - isResponsive?: boolean; - - /** Bullet graph will render in the specified orientation. - * @Default {horizontal} - */ - orientation?: ej.datavisualization.BulletGraph.Orientation|string; - - /** Contains property to customize the qualitative ranges. - */ - qualitativeRanges?: Array; - - /** Size of the qualitative range depends up on the specified value. - * @Default {32} - */ - qualitativeRangeSize?: number; - - /** Length of the quantitative range depends up on the specified value. - * @Default {475} - */ - quantitativeScaleLength?: number; - - /** Contains all the properties to customize quantitative scale. - */ - quantitativeScaleSettings?: QuantitativeScaleSettings; - - /** By specifying this property the user can change the theme of the bullet graph. - * @Default {flatlight} - */ - theme?: string; - - /** Contains all the properties to customize tooltip. - */ - tooltipSettings?: TooltipSettings; - - /** Feature measure bar in bullet graph render till the specified value. - * @Default {0} - */ - value?: number; - - /** Specifies the width of the bullet graph. - * @Default {595} - */ - width?: number; - - /** Fires on rendering the caption of bullet graph. */ - drawCaption? (e: DrawCaptionEventArgs): void; - - /** Fires on rendering the category. */ - drawCategory? (e: DrawCategoryEventArgs): void; - - /** Fires on rendering the comparative measure symbol. */ - drawComparativeMeasureSymbol? (e: DrawComparativeMeasureSymbolEventArgs): void; - - /** Fires on rendering the feature measure bar. */ - drawFeatureMeasureBar? (e: DrawFeatureMeasureBarEventArgs): void; - - /** Fires on rendering the indicator of bullet graph. */ - drawIndicator? (e: DrawIndicatorEventArgs): void; - - /** Fires on rendering the labels. */ - drawLabels? (e: DrawLabelsEventArgs): void; - - /** Fires on rendering the qualitative ranges. */ - drawQualitativeRanges? (e: DrawQualitativeRangesEventArgs): void; - - /** Fires on loading bullet graph. */ - load? (e: LoadEventArgs): void; -} - -export interface DrawCaptionEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; - - /** returns the current captionSettings element. - */ - captionElement?: HTMLElement; - - /** returns the type of the captionSettings. - */ - captionType?: string; -} - -export interface DrawCategoryEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; - - /** returns the options of category element. - */ - categoryElement?: HTMLElement; - - /** returns the text value of the category that is drawn. - */ - Value?: string; -} - -export interface DrawComparativeMeasureSymbolEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; - - /** returns the options of comparative measure element. - */ - targetElement?: HTMLElement; - - /** returns the value of the comparative measure symbol. - */ - Value?: number; -} - -export interface DrawFeatureMeasureBarEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; - - /** returns the options of feature measure element. - */ - currentElement?: HTMLElement; - - /** returns the value of the feature measure bar. - */ - Value?: number; -} - -export interface DrawIndicatorEventArgs { - - /** returns an object to customize bullet graph indicator text and symbol before rendering it. - */ - indicatorSettings?: any; - - /** returns the object of bullet graph. - */ - model?: any; - - /** returns the type of event. - */ - type?: string; - - /** for canceling the event. - */ - cancel?: boolean; -} - -export interface DrawLabelsEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the options of the scale element. - */ - scaleElement?: HTMLElement; - - /** returns the current label element. - */ - tickElement?: HTMLElement; - - /** returns the label type. - */ - labelType?: string; -} - -export interface DrawQualitativeRangesEventArgs { - - /** returns the object of the bullet graph. - */ - Object?: any; - - /** returns the index of current range. - */ - rangeIndex?: number; - - /** returns the settings for current range. - */ - rangeOptions?: any; - - /** returns the end value of current range. - */ - rangeEndValue?: number; -} - -export interface LoadEventArgs { -} - -export interface CaptionSettingsFont { - - /** Specifies the color of the text in caption. - * @Default {null} - */ - color?: string; - - /** Specifies the fontFamily of caption. Caption text render with this fontFamily - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of caption - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; - - /** Specifies the fontWeight of caption - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; - - /** Specifies the opacity of caption. Caption text render with this opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of caption. Caption text render with this size - * @Default {12px} - */ - size?: string; -} - -export interface CaptionSettingsIndicatorFont { - - /** Specifies the color of the indicator's text. - * @Default {null} - */ - color?: string; - - /** Specifies the fontFamily of indicator. Indicator text render with this fontFamily. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of indicator. Indicator text render with this fontStyle. See FontStyle - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; - - /** Specifies the fontWeight of indicator. Indicator text render with this fontWeight. See FontWeight - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; - - /** Specifies the opacity of indicator text. Indicator text render with this Opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of indicator. Indicator text render with this size. - * @Default {12px} - */ - size?: string; -} - -export interface CaptionSettingsIndicatorLocation { - - /** Specifies the horizontal position of the indicator. - * @Default {10} - */ - x?: number; - - /** Specifies the vertical position of the indicator. - * @Default {60} - */ - y?: number; -} - -export interface CaptionSettingsIndicatorSymbolBorder { - - /** Specifies the border color of indicator symbol. - * @Default {null} - */ - color?: string; - - /** Specifies the border width of indicator symbol. - * @Default {1} - */ - width?: number; -} - -export interface CaptionSettingsIndicatorSymbolSize { - - /** Specifies the height of indicator symbol. - * @Default {10} - */ - height?: number; - - /** Specifies the width of indicator symbol. - * @Default {10} - */ - width?: number; -} - -export interface CaptionSettingsIndicatorSymbol { - - /** Contains property to customize the border of indicator symbol. - */ - border?: CaptionSettingsIndicatorSymbolBorder; - - /** Specifies the color of indicator symbol. - * @Default {null} - */ - color?: string; - - /** Specifies the URL of image that represents indicator symbol. - */ - imageURL?: string; - - /** Specifies the opacity of indicator symbol. - * @Default {1} - */ - opacity?: number; - - /** Specifies the shape of indicator symbol. - */ - shape?: string; - - /** Contains property to customize the size of indicator symbol. - */ - size?: CaptionSettingsIndicatorSymbolSize; -} - -export interface CaptionSettingsIndicator { - - /** Contains property to customize the font of indicator. - */ - font?: CaptionSettingsIndicatorFont; - - /** Contains property to customize the location of indicator. - */ - location?: CaptionSettingsIndicatorLocation; - - /** Specifies the padding to be applied when text position is used. - * @Default {2} - */ - padding?: number; - - /** Contains property to customize the symbol of indicator. - */ - symbol?: CaptionSettingsIndicatorSymbol; - - /** Specifies the text to be displayed as indicator text. By default difference between current value and target will be displayed - */ - text?: string; - - /** Specifies the alignment of indicator with respect to scale based on text position - * @Default {'Near'} - */ - textAlignment?: ej.datavisualization.BulletGraph.TextAlignment|string; - - /** Specifies where indicator text should be anchored when indicator overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. - * @Default {'start'} - */ - textAnchor?: ej.datavisualization.BulletGraph.TextAnchor|string; - - /** indicator text render in the specified angle. - * @Default {0} - */ - textAngle?: number; - - /** Specifies where indicator should be placed - * @Default {'float'} - */ - textPosition?: ej.datavisualization.BulletGraph.TextPosition|string; - - /** Specifies the space between indicator symbol and text. - * @Default {3} - */ - textSpacing?: number; - - /** Specifies whether indicator will be visible or not. - * @Default {false} - */ - visible?: boolean; -} - -export interface CaptionSettingsLocation { - - /** Specifies the position in horizontal direction - * @Default {17} - */ - x?: number; - - /** Specifies the position in horizontal direction - * @Default {30} - */ - y?: number; -} - -export interface CaptionSettingsSubTitleFont { - - /** Specifies the color of the subtitle's text. - * @Default {null} - */ - color?: string; - - /** Specifies the fontFamily of subtitle. Subtitle text render with this fontFamily. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of subtitle. Subtitle text render with this fontStyle. See FontStyle - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; - - /** Specifies the fontWeight of subtitle. Subtitle text render with this fontWeight. See FontWeight - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; - - /** Specifies the opacity of subtitle. Subtitle text render with this opacity. - * @Default {1} - */ - opacity?: number; - - /** Specifies the size of subtitle. Subtitle text render with this size. - * @Default {12px} - */ - size?: string; -} - -export interface CaptionSettingsSubTitleLocation { - - /** Specifies the horizontal position of the subtitle. - * @Default {10} - */ - x?: number; - - /** Specifies the vertical position of the subtitle. - * @Default {45} - */ - y?: number; -} - -export interface CaptionSettingsSubTitle { - - /** Contains property to customize the font of subtitle. - */ - font?: CaptionSettingsSubTitleFont; - - /** Contains property to customize the location of subtitle. - */ - location?: CaptionSettingsSubTitleLocation; - - /** Specifies the padding to be applied when text position is used. - * @Default {5} - */ - padding?: number; - - /** Specifies the text to be displayed as subtitle. - */ - text?: string; - - /** Specifies the alignment of sub title text with respect to scale. Alignment will not be applied in float position. - * @Default {'Near'} - */ - textAlignment?: ej.datavisualization.BulletGraph.TextAlignment|string; - - /** Specifies where subtitle text should be anchored when sub title text overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. - * @Default {'start'} - */ - textAnchor?: ej.datavisualization.BulletGraph.TextAnchor|string; - - /** Subtitle render in the specified angle. - * @Default {0} - */ - textAngle?: number; - - /** Specifies where sub title text should be placed. - * @Default {'float'} - */ - textPosition?: ej.datavisualization.BulletGraph.TextPosition|string; -} - -export interface CaptionSettings { - - /** Specifies whether trim the labels will be true or false. - * @Default {true} - */ - enableTrim?: boolean; - - /** Contains property to customize the font of caption. - */ - font?: CaptionSettingsFont; - - /** Contains property to customize the indicator. - */ - indicator?: CaptionSettingsIndicator; - - /** Contains property to customize the location. - */ - location?: CaptionSettingsLocation; - - /** Specifies the padding to be applied when text position is used. - * @Default {5} - */ - padding?: number; - - /** Contains property to customize the subtitle. - */ - subTitle?: CaptionSettingsSubTitle; - - /** Specifies the text to be displayed on bullet graph. - */ - text?: string; - - /** Specifies the alignment of caption text with respect to scale. This property will not be applied when text position is float. - * @Default {'Near'} - */ - textAlignment?: ej.datavisualization.BulletGraph.TextAlignment|string; - - /** Specifies caption text anchoring when caption text overlaps with other caption group text. Text will be anchored when overlapping caption group text are at same position. Anchoring is not applicable for float position. - * @Default {'start'} - */ - textAnchor?: ej.datavisualization.BulletGraph.TextAnchor|string; - - /** Specifies the angel in which the caption is rendered. - * @Default {0} - */ - textAngle?: number; - - /** Specifies how caption text should be placed. - * @Default {'float'} - */ - textPosition?: ej.datavisualization.BulletGraph.TextPosition|string; -} - -export interface QualitativeRange { - - /** Specifies the ending range to which the qualitative ranges will render. - * @Default {3} - */ - rangeEnd?: number; - - /** Specifies the opacity for the qualitative ranges. - * @Default {1} - */ - rangeOpacity?: number; - - /** Specifies the stroke for the qualitative ranges. - * @Default {null} - */ - rangeStroke?: string; -} - -export interface QuantitativeScaleSettingsComparativeMeasureSettings { - - /** Specifies the stroke of the comparative measure. - * @Default {null} - */ - stroke?: number; - - /** Specifies the width of the comparative measure. - * @Default {5} - */ - width?: number; -} - -export interface QuantitativeScaleSettingsFeaturedMeasureSettings { - - /** Specifies the Stroke of the featured measure in bullet graph. - * @Default {null} - */ - stroke?: number; - - /** Specifies the width of the featured measure in bullet graph. - * @Default {2} - */ - width?: number; -} - -export interface QuantitativeScaleSettingsFeatureMeasure { - - /** Specifies the category of feature measure. - * @Default {null} - */ - category?: string; - - /** Comparative measure render till the specified value. - * @Default {null} - */ - comparativeMeasureValue?: number; - - /** Feature measure render till the specified value. - * @Default {null} - */ - value?: number; -} - -export interface QuantitativeScaleSettingsFields { - - /** Specifies the category of the bullet graph. - * @Default {null} - */ - category?: string; - - /** Comparative measure render based on the values in the specified field. - * @Default {null} - */ - comparativeMeasure?: string; - - /** Specifies the dataSource for the bullet graph. - * @Default {null} - */ - dataSource?: any; - - /** Feature measure render based on the values in the specified field. - * @Default {null} - */ - featureMeasures?: string; - - /** Specifies the query for fetching the values form data source to render the bullet graph. - * @Default {null} - */ - query?: string; - - /** Specifies the name of the table. - * @Default {null} - */ - tableName?: string; -} - -export interface QuantitativeScaleSettingsLabelSettingsFont { - - /** Specifies the fontFamily of labels in bullet graph. Labels render with this fontFamily. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the fontStyle of labels in bullet graph. Labels render with this fontStyle. See FontStyle - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.BulletGraph.FontStyle|string; - - /** Specifies the fontWeight of labels in bullet graph. Labels render with this fontWeight. See FontWeight - * @Default {regular} - */ - fontWeight?: ej.datavisualization.BulletGraph.FontWeight|string; - - /** Specifies the opacity of labels in bullet graph. Labels render with this opacity - * @Default {1} - */ - opacity?: number; -} - -export interface QuantitativeScaleSettingsLabelSettings { - - /** Contains property to customize the font of the labels in bullet graph. - */ - font?: QuantitativeScaleSettingsLabelSettingsFont; - - /** Specifies the placement of labels in bullet graph scale. - * @Default {outside} - */ - labelPlacement?: ej.datavisualization.BulletGraph.LabelPlacement|string; - - /** Specifies the prefix to be added with labels in bullet graph. - * @Default {Empty string} - */ - labelPrefix?: string; - - /** Specifies the suffix to be added after labels in bullet graph. - * @Default {Empty string} - */ - labelSuffix?: string; - - /** Specifies the horizontal/vertical padding of labels. - * @Default {15} - */ - offset?: number; - - /** Specifies the position of the labels to render either above or below the graph. See Position - * @Default {below} - */ - position?: ej.datavisualization.BulletGraph.LabelPosition|string; - - /** Specifies the Size of the labels. - * @Default {12} - */ - size?: number; - - /** Specifies the stroke color of the labels in bullet graph. - * @Default {null} - */ - stroke?: string; -} - -export interface QuantitativeScaleSettingsLocation { - - /** This property specifies the x position for rendering quantitative scale. - * @Default {10} - */ - x?: number; - - /** This property specifies the y position for rendering quantitative scale. - * @Default {10} - */ - y?: number; -} - -export interface QuantitativeScaleSettingsMajorTickSettings { - - /** Specifies the size of the major ticks. - * @Default {13} - */ - size?: number; - - /** Specifies the stroke color of the major tick lines. - * @Default {null} - */ - stroke?: string; - - /** Specifies the width of the major tick lines. - * @Default {2} - */ - width?: number; -} - -export interface QuantitativeScaleSettingsMinorTickSettings { - - /** Specifies the size of minor ticks. - * @Default {7} - */ - size?: number; - - /** Specifies the stroke color of minor ticks in bullet graph. - * @Default {null} - */ - stroke?: string; - - /** Specifies the width of the minor ticks in bullet graph. - * @Default {2} - */ - width?: number; -} - -export interface QuantitativeScaleSettings { - - /** Contains property to customize the comparative measure. - */ - comparativeMeasureSettings?: QuantitativeScaleSettingsComparativeMeasureSettings; - - /** Contains property to customize the featured measure. - */ - featuredMeasureSettings?: QuantitativeScaleSettingsFeaturedMeasureSettings; - - /** Contains property to customize the featured measure. - */ - featureMeasures?: Array; - - /** Contains property to customize the fields. - */ - fields?: QuantitativeScaleSettingsFields; - - /** Specifies the interval for the Graph. - * @Default {1} - */ - interval?: number; - - /** Contains property to customize the labels. - */ - labelSettings?: QuantitativeScaleSettingsLabelSettings; - - /** Contains property to customize the position of the quantitative scale - */ - location?: QuantitativeScaleSettingsLocation; - - /** Contains property to customize the major tick lines. - */ - majorTickSettings?: QuantitativeScaleSettingsMajorTickSettings; - - /** Specifies the maximum value of the Graph. - * @Default {10} - */ - maximum?: number; - - /** Specifies the minimum value of the Graph. - * @Default {0} - */ - minimum?: number; - - /** Contains property to customize the minor ticks. - */ - minorTickSettings?: QuantitativeScaleSettingsMinorTickSettings; - - /** The specified number of minor ticks will be rendered per interval. - * @Default {4} - */ - minorTicksPerInterval?: number; - - /** Specifies the placement of ticks to render either inside or outside the scale. - * @Default {ej.datavisualization.BulletGraph.TickPlacement.Outside} - */ - tickPlacement?: ej.datavisualization.BulletGraph.TickPlacement|string; - - /** Specifies the position of the ticks to render either above,below or inside - * @Default {ej.datavisualization.BulletGraph.TickPosition.Far} - */ - tickPosition?: ej.datavisualization.BulletGraph.TickPosition|string; -} - -export interface TooltipSettings { - - /** Specifies template for caption tooltip - * @Default {null} - */ - captionTemplate?: string; - - /** Toggles the visibility of caption tooltip - * @Default {false} - */ - enableCaptionTooltip?: boolean; - - /** Specifies the ID of a div, which is to be displayed as tooltip. - * @Default {null} - */ - template?: string; - - /** Toggles the visibility of tooltip - * @Default {true} - */ - visible?: boolean; -} -} -module BulletGraph -{ -enum FontStyle -{ -//string -Normal, -//string -Italic, -//string -Oblique, -} -} -module BulletGraph -{ -enum FontWeight -{ -//string -Normal, -//string -Bold, -//string -Bolder, -//string -Lighter, -} -} -module BulletGraph -{ -enum TextAlignment -{ -//string -Near, -//string -Far, -//string -Center, -} -} -module BulletGraph -{ -enum TextAnchor -{ -//string -Start, -//string -Middle, -//string -End, -} -} -module BulletGraph -{ -enum TextPosition -{ -//string -Top, -//string -Right, -//string -Left, -//string -Bottom, -//string -Float, -} -} -module BulletGraph -{ -enum FlowDirection -{ -//string -Forward, -//string -Backward, -} -} -module BulletGraph -{ -enum Orientation -{ -//string -Horizontal, -//string -Vertical, -} -} -module BulletGraph -{ -enum LabelPlacement -{ -//string -Inside, -//string -Outside, -} -} -module BulletGraph -{ -enum LabelPosition -{ -//string -Above, -//string -Below, -} -} -module BulletGraph -{ -enum TickPlacement -{ -//string -Inside, -//string -Outside, -} -} -module BulletGraph -{ -enum TickPosition -{ -//string -Below, -//string -Above, -//string -Cross, -} -} - -class Barcode extends ej.Widget { - static fn: Barcode; - constructor(element: JQuery, options?: Barcode.Model); - constructor(element: Element, options?: Barcode.Model); - static Locale: any; - model:Barcode.Model; - defaults:Barcode.Model; - - /** To disable the barcode - * @returns {void} - */ - disable(): void; - - /** To enable the barcode - * @returns {void} - */ - enable(): void; -} -export module Barcode{ - -export interface Model { - - /** Specifies the distance between the barcode and text below it. - */ - barcodeToTextGapHeight?: number; - - /** Specifies the height of bars in the Barcode. By modifying the barHeight, the entire barcode height can be customized. Please refer to xDimension for two dimensional barcode height customization. - */ - barHeight?: number; - - /** Specifies the dark bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. - */ - darkBarColor?: any; - - /** Specifies whether the text below the barcode is visible or hidden. - */ - displayText?: boolean; - - /** Specifies whether the control is enabled. - */ - enabled?: boolean; - - /** Specifies the start and stop encode symbol in the Barcode. In one dimensional barcodes, an additional character is added as start and stop delimiters. These symbols are optional and the unique of the symbol allows the reader to determine the direction of the barcode being scanned. - */ - encodeStartStopSymbol?: number; - - /** Specifies the light bar color of the Barcode. One dimensional barcode contains a series of dark and light bars which are usually colored as black and white respectively. - */ - lightBarColor?: any; - - /** Specifies the width of the narrow bars in the barcode. The dark bars in the one dimensional barcode contains random narrow and wide bars based on the provided input which can be specified during initialization. - */ - narrowBarWidth?: number; - - /** Specifies the width of the quiet zone. In barcode, a quiet zone is the blank margin on either side of a barcode which informs the reader where a barcode's symbology starts and stops. The purpose of a quiet zone is to prevent the reader from picking up unrelated information. - */ - quietZone?: QuietZone; - - /** Specifies the type of the Barcode. See SymbologyType - */ - symbologyType?: ej.datavisualization.Barcode.SymbologyType|string; - - /** Specifies the text to be encoded in the barcode. - */ - text?: string; - - /** Specifies the color of the text/data at the bottom of the barcode. - */ - textColor?: any; - - /** Specifies the width of the wide bars in the barcode. One dimensional barcode usually contains random narrow and wide bars based on the provided which can be customized during initialization. - */ - wideBarWidth?: number; - - /** Specifies the width of the narrowest element(bar or space) in a barcode. The greater the x dimension, the more easily a barcode reader will scan. - */ - xDimension?: number; - - /** Fires after Barcode control is loaded. */ - load? (e: LoadEventArgs): void; -} - -export interface LoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the barcode model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** return the barcode state - */ - status?: boolean; -} - -export interface QuietZone { - - /** Specifies the quiet zone around the Barcode. - */ - all?: number; - - /** Specifies the bottom quiet zone of the Barcode. - */ - bottom?: number; - - /** Specifies the left quiet zone of the Barcode. - */ - left?: number; - - /** Specifies the right quiet zone of the Barcode. - */ - right?: number; - - /** Specifies the top quiet zone of the Barcode. - */ - top?: number; -} -} -module Barcode -{ -enum SymbologyType -{ -//Represents the QR code -QRBarcode, -//Represents the Data Matrix barcode -DataMatrix, -//Represents the Code 39 barcode -Code39, -//Represents the Code 39 Extended barcode -Code39Extended, -//Represents the Code 11 barcode -Code11, -//Represents the Codabar barcode -Codabar, -//Represents the Code 32 barcode -Code32, -//Represents the Code 93 barcode -Code93, -//Represents the Code 93 Extended barcode -Code93Extended, -//Represents the Code 128 A barcode -Code128A, -//Represents the Code 128 B barcode -Code128B, -//Represents the Code 128 C barcode -Code128C, -} -} - -class Map extends ej.Widget { - static fn: Map; - constructor(element: JQuery, options?: Map.Model); - constructor(element: Element, options?: Map.Model); - static Locale: any; - model:Map.Model; - defaults:Map.Model; - - /** Method for navigating to specific shape based on latitude, longitude and zoom level. - * @param {number} Pass the latitude value for map - * @param {number} Pass the longitude value for map - * @param {number} Pass the zoom level for map - * @returns {void} - */ - navigateTo(latitude: number, longitude: number, level: number): void; - - /** Method to perform map panning - * @param {string} Pass the direction in which map should be panned - * @returns {void} - */ - pan(direction: string): void; - - /** Method to reload the map. - * @returns {void} - */ - refresh(): void; - - /** Method to reload the shapeLayers with updated values - * @returns {void} - */ - refreshLayers(): void; - - /** Method to reload the navigation control with updated values. - * @param {any} Pass the navigation control instance - * @returns {void} - */ - refreshNavigationControl(navigation: any): void; - - /** Method to perform map zooming. - * @param {number} Pass the zoom level for map to be zoomed - * @param {boolean} Pass the boolean value to enable or disable animation while zooming - * @returns {void} - */ - zoom(level: number, isAnimate: boolean): void; -} -export module Map{ - -export interface Model { - - /** Specifies the background color for map - * @Default {transparent} - */ - background?: string; - - /** Specifies the index of the map to determine the shape layer to be displayed - * @Default {0} - */ - baseMapIndex?: number; - - /** Specify the center position where map should be displayed - * @Default {[0,0]} - */ - centerPosition?: any; - - /** Enables or Disables the map animation - * @Default {false} - */ - enableAnimation?: boolean; - - /** Enables or Disables the animation for layer change in map - * @Default {false} - */ - enableLayerChangeAnimation?: boolean; - - /** Enables or Disables the map panning - * @Default {true} - */ - enablePan?: boolean; - - /** Determines whether map need to resize when container is resized - * @Default {true} - */ - enableResize?: boolean; - - /** Enables or Disables the Zooming for map. - */ - zoomSettings?: ZoomSettings; - - /** Enables or Disables the navigation control for map to perform zooming and panning on map shapes. - */ - navigationControl?: NavigationControl; - - /** Layer for holding the map shapes - */ - layers?: Array; - - /** Triggered on selecting the map markers. */ - markerSelected? (e: MarkerSelectedEventArgs): void; - - /** Triggers while leaving the hovered map shape */ - mouseleave? (e: MouseleaveEventArgs): void; - - /** Triggers while hovering the map shape. */ - mouseover? (e: MouseoverEventArgs): void; - - /** Triggers once map render completed. */ - onRenderComplete? (e: OnRenderCompleteEventArgs): void; - - /** Triggers when map panning ends. */ - panned? (e: PannedEventArgs): void; - - /** Triggered on selecting the map shapes. */ - shapeSelected? (e: ShapeSelectedEventArgs): void; - - /** Triggered when map is zoomed-in. */ - zoomedIn? (e: ZoomedInEventArgs): void; - - /** Triggers when map is zoomed out. */ - zoomedOut? (e: ZoomedOutEventArgs): void; -} - -export interface MarkerSelectedEventArgs { - - /** Returns marker object. - */ - originalEvent?: any; -} - -export interface MouseleaveEventArgs { - - /** Returns hovered map shape object. - */ - originalEvent?: any; -} - -export interface MouseoverEventArgs { - - /** Returns hovered map shape object. - */ - originalEvent?: any; -} - -export interface OnRenderCompleteEventArgs { - - /** Event parameters from map - */ - originalEvent?: any; -} - -export interface PannedEventArgs { - - /** Event parameters from map - */ - originalEvent?: any; -} - -export interface ShapeSelectedEventArgs { - - /** Returns selected shape object. - */ - originalEvent?: any; -} - -export interface ZoomedInEventArgs { - - /** Event parameters from map - */ - originalEvent?: any; - - /** Returns zoom level value for which the map is zoomed. - */ - zoomLevel?: any; -} - -export interface ZoomedOutEventArgs { - - /** Event parameters from map - */ - originalEvent?: any; - - /** Returns zoom level value for which the map is zoomed. - */ - zoomLevel?: any; -} - -export interface ZoomSettings { - - /** Enables or Disables the zooming of map - * @Default {true} - */ - enableZoom?: boolean; - - /** Enables or Disables the zoom on selecting the map shape - * @Default {false} - */ - enableZoomOnSelection?: boolean; - - /** Specifies the zoom factor for map zoom value. - * @Default {1} - */ - factor?: number; - - /** Specifies the zoom level value for which map to be zoomed - * @Default {1} - */ - level?: number; - - /** Specifies the minimum zoomSettings level of the map - * @Default {1} - */ - minValue?: number; - - /** Specifies the maximum zoom level of the map - * @Default {100} - */ - maxValue?: number; -} - -export interface NavigationControl { - - /** Set the absolutePosition for navigation control - * @Default {{x:0,y:0}} - */ - absolutePosition?: any; - - /** Specifies the navigation control template for map - * @Default {null} - */ - content?: string; - - /** Set the dockPosition value for navigation control - * @Default {centerleft} - */ - dockPosition?: ej.datavisualization.Map.Position|string; - - /** Enables or Disables the Navigation for handling zooming map - * @Default {false} - */ - enableNavigation?: boolean; - - /** Set the orientation value for navigation control - * @Default {vertical} - */ - orientation?: ej.datavisualization.Map.LabelOrientation|string; -} - -export interface LayersBubbleSettingsColorMappingsRangeColorMapping { - - /** Start range colorMappings in the bubble layer. - * @Default {null} - */ - from?: number; - - /** End range colorMappings in the bubble layer. - * @Default {null} - */ - to?: number; - - /** GradientColors in the bubble layer of map. - */ - gradientColors?: Array; - - /** Color of the bubble layer. - * @Default {null} - */ - color?: string; -} - -export interface LayersBubbleSettingsColorMappings { - - /** Specifies the range colorMappings in the bubble layer. - * @Default {null} - */ - rangeColorMapping?: Array; -} - -export interface LayersBubbleSettings { - - /** Specifies the bubble Opacity value of bubbles for shape layer in map - * @Default {0.9} - */ - bubbleOpacity?: number; - - /** Specifies the mouse hover color of the shape layer in map - * @Default {gray} - */ - color?: string; - - /** Specifies the colorMappings of the shape layer in map - * @Default {null} - */ - colorMappings?: LayersBubbleSettingsColorMappings; - - /** Specifies the bubble color valuePath of the shape layer in map - * @Default {null} - */ - colorValuePath?: string; - - /** Specifies the maximum size value of bubbles for shape layer in map - * @Default {20} - */ - maxValue?: number; - - /** Specifies the minimum size value of bubbles for shape layer in map - * @Default {10} - */ - minValue?: number; - - /** Specifies the showBubble visibility status map - * @Default {true} - */ - showBubble?: boolean; - - /** Specifies the tooltip visibility status of the shape layer in map - * @Default {false} - */ - showTooltip?: boolean; - - /** Specifies the bubble tooltip template of the shape layer in map - * @Default {null} - */ - tooltipTemplate?: string; - - /** Specifies the bubble valuePath of the shape layer in map - * @Default {null} - */ - valuePath?: string; -} - -export interface LayersLabelSettings { - - /** enable or disable the enableSmartLabel property - * @Default {false} - */ - enableSmartLabel?: Boolean; - - /** set the labelLength property - * @Default {'2'} - */ - labelLength?: number; - - /** set the labelPath property - * @Default {null} - */ - labelPath?: string; - - /** The property specifies whether to show labels or not. - * @Default {false} - */ - showLabels?: boolean; - - /** set the smartLabelSize property - * @Default {fixed} - */ - smartLabelSize?: ej.datavisualization.Map.LabelSize|string; -} - -export interface LayersLegendSettings { - - /** Determines whether the legend should be placed outside or inside the map bounds - * @Default {false} - */ - dockOnMap?: boolean; - - /** Determines the legend placement and it is valid only when dockOnMap is true - * @Default {top} - */ - dockPosition?: ej.datavisualization.Map.DockPosition|string; - - /** height value for legend setting - * @Default {0} - */ - height?: number; - - /** to get icon value for legend setting - * @Default {rectangle} - */ - icon?: ej.datavisualization.Map.LegendIcons|string; - - /** icon height value for legend setting - * @Default {20} - */ - iconHeight?: number; - - /** icon Width value for legend setting - * @Default {20} - */ - iconWidth?: number; - - /** set the orientation of legend labels - * @Default {vertical} - */ - labelOrientation?: ej.datavisualization.Map.LabelOrientation|string; - - /** to get leftLabel value for legend setting - * @Default {null} - */ - leftLabel?: string; - - /** to get mode of legend setting - * @Default {default} - */ - mode?: ej.datavisualization.Map.Mode|string; - - /** set the position of legend settings - * @Default {topleft} - */ - position?: ej.datavisualization.Map.Position|string; - - /** x position value for legend setting - * @Default {0} - */ - positionX?: number; - - /** y position value for legend setting - * @Default {0} - */ - positionY?: number; - - /** to get rightLabel value for legend setting - * @Default {null} - */ - rightLabel?: string; - - /** Enables or Disables the showLabels - * @Default {false} - */ - showLabels?: boolean; - - /** Enables or Disables the showLegend - * @Default {false} - */ - showLegend?: boolean; - - /** to get title of legend setting - * @Default {null} - */ - title?: string; - - /** to get type of legend setting - * @Default {layers} - */ - type?: ej.datavisualization.Map.LegendType|string; - - /** width value for legend setting - * @Default {0} - */ - width?: number; -} - -export interface LayersShapeSettingsColorMappingsRangeColorMapping { - - /** Specifies the start range colorMappings in the shape layer of map. - * @Default {null} - */ - from?: number; - - /** Specifies the to range colorMappings in the shape layer of map. - * @Default {null} - */ - to?: number; - - /** Specifies the gradientColors in the shape layer of map. - * @Default {null} - */ - gradientColors?: Array; -} - -export interface LayersShapeSettingsColorMappingsEqualColorMapping { - - /** Specifies the equalColorMapping value in the shape layer of map. - * @Default {null} - */ - value?: string; - - /** Specifies the equalColorMapping color in the shape layer of map. - * @Default {null} - */ - color?: string; -} - -export interface LayersShapeSettingsColorMappings { - - /** Specifies the range colorMappings in the shape layer of map. - * @Default {null} - */ - rangeColorMapping?: Array; - - /** Specifies the equalColorMapping in the shape layer of map. - * @Default {null} - */ - equalColorMapping?: Array; -} - -export interface LayersShapeSettings { - - /** Enables or Disables the auto fill colors for shape layer in map. When this property value set to true, shapes will be filled with palette colors. - * @Default {false} - */ - autoFill?: boolean; - - /** Specifies the colorMappings of the shape layer in map - * @Default {null} - */ - colorMappings?: LayersShapeSettingsColorMappings; - - /** Specifies the shape color palette value of the shape layer in map. Accepted colorPalette values are palette1, palette2, palette3 and custompalette. - * @Default {palette1} - */ - colorPalette?: ej.datavisualization.Map.ColorPalette|string; - - /** Specifies the shape color valuePath of the shape layer in map - * @Default {null} - */ - colorValuePath?: string; - - /** Enables or Disables the gradient colors for map shapes. - * @Default {false} - */ - enableGradient?: boolean; - - /** Specifies the shape fill color of the shape layer in map - * @Default {#E5E5E5} - */ - fill?: string; - - /** Specifies the mouse over width of the shape layer in map - * @Default {1} - */ - highlightBorderWidth?: number; - - /** Specifies the mouse hover color of the shape layer in map - * @Default {gray} - */ - highlightColor?: string; - - /** Specifies the mouse over stroke color of the shape layer in map - * @Default {#C1C1C1} - */ - highlightStroke?: string; - - /** Specifies the shape selection color of the shape layer in map - * @Default {gray} - */ - selectionColor?: string; - - /** Specifies the shape selection stroke color of the shape layer in map - * @Default {#C1C1C1} - */ - selectionStroke?: string; - - /** Specifies the shape selection stroke width of the shape layer in map - * @Default {1} - */ - selectionStrokeWidth?: number; - - /** Specifies the shape stroke color of the shape layer in map - * @Default {#C1C1C1} - */ - stroke?: string; - - /** Specifies the shape stroke thickness value of the shape layer in map - * @Default {0.2} - */ - strokeThickness?: number; - - /** Specifies the shape valuePath of the shape layer in map - * @Default {null} - */ - valuePath?: string; -} - -export interface Layer { - - /** to get the type of bing map. - * @Default {aerial} - */ - bingMapType?: ej.datavisualization.Map.BingMapType|string; - - /** Specifies the bubble settings for map - */ - bubbleSettings?: LayersBubbleSettings; - - /** Specifies the datasource for the shape layer - */ - dataSource?: any; - - /** Specifies the data path of shape - */ - shapeDataPath?: string; - - /** Specifies the data path of shape - */ - shapePropertyPath?: string; - - /** Enables or disables the shape mouse hover - * @Default {false} - */ - enableMouseHover?: boolean; - - /** Enables or disables the shape selection - * @Default {true} - */ - enableSelection?: boolean; - - /** to get the key of bing map - * @Default {null} - */ - key?: string; - - /** Options for enabling and configuring labelSettings labelPath, smartLabelSize, labelLength etc., - */ - labelSettings?: LayersLabelSettings; - - /** Specifies the map view type. - * @Default {'geographic'} - */ - geometryType?: ej.datavisualization.Map.GeometryType|string; - - /** Specifies the map type. - * @Default {'geometry'} - */ - layerType?: ej.datavisualization.Map.LayerType|string; - - /** Options for enabling and configuring legendSettings position, height, width, mode, type etc., - */ - legendSettings?: LayersLegendSettings; - - /** Specifies the map items template for shapes. - */ - mapItemsTemplate?: string; - - /** Specify markers for shape layer. - * @Default {[]} - */ - markers?: Array; - - /** Specifies the map marker template for map layer. - * @Default {null} - */ - markerTemplate?: string; - - /** Specify selectedMapShapes for shape layer - * @Default {[]} - */ - selectedMapShapes?: Array; - - /** Specifies the selection mode of the map. Accepted selection mode values are Default and Multiple. - * @Default {default} - */ - selectionMode?: ej.datavisualization.Map.SelectionMode|string; - - /** Specifies the shape data for the shape layer - */ - shapeData?: any; - - /** Specifies the shape settings of map layer - */ - shapeSettings?: LayersShapeSettings; - - /** Shows or hides the map items. - * @Default {false} - */ - showMapItems?: boolean; - - /** Shows or hides the tooltip for shapes - * @Default {false} - */ - showTooltip?: boolean; - - /** Specifies the tooltip template for shapes. - */ - tooltipTemplate?: string; - - /** Specifies the URL template for the OSM type map. - * @Default {'http://a.tile.openstreetmap.org/level/tileX/tileY.png'} - */ - urlTemplate?: string; -} -} -module Map -{ -enum Position -{ -//specifies the none position -None, -//specifies the topleft position -Topleft, -//specifies the topcenter position -Topcenter, -//specifies the topright position -Topright, -//specifies the centerleft position -Centerleft, -//specifies the center position -Center, -//specifies the centerright position -Centerright, -//specifies the bottomleft position -Bottomleft, -//specifies the bottomcenter position -Bottomcenter, -//specifies the bottomright position -Bottomright, -} -} -module Map -{ -enum LabelOrientation -{ -//specifies the horizontal position -Horizontal, -//specifies the vertical position -Vertical, -} -} -module Map -{ -enum BingMapType -{ -//specifies the aerial type -Aerial, -//specifies the aerialwithlabel type -Aerialwithlabel, -//specifies the road type -Road, -} -} -module Map -{ -enum LabelSize -{ -//specifies the fixed size -Fixed, -//specifies the default size -Default, -} -} -module Map -{ -enum GeometryType -{ -//specifies the geographic view of map -Geographic, -//specifies the normal land view of map -Normal, -} -} -module Map -{ -enum LayerType -{ -//specifies the geometry type -Geometry, -//specifies the osm type -Osm, -//specifies the bing type -Bing, -} -} -module Map -{ -enum DockPosition -{ -//specifies the top position -Top, -//specifies the bottom position -Bottom, -//specifies the bottom position -Right, -//specifies the left position -Left, -} -} -module Map -{ -enum LegendIcons -{ -//specifies the rectangle position -Rectangle, -//specifies the circle position -Circle, -} -} -module Map -{ -enum Mode -{ -//specifies the default mode -Default, -//specifies the interactive mode -Interactive, -} -} -module Map -{ -enum LegendType -{ -//specifies the layers type -Layers, -//specifies the bubbles type -Bubbles, -} -} -module Map -{ -enum SelectionMode -{ -//specifies the default position -Default, -//specifies the multiple position -Multiple, -} -} -module Map -{ -enum ColorPalette -{ -//specifies the palette1 color -Palette1, -//specifies the palette2 color -Palette2, -//specifies the palette3 color -Palette3, -//specifies the custom color -Custompalette, -} -} - -class TreeMap extends ej.Widget { - static fn: TreeMap; - constructor(element: JQuery, options?: TreeMap.Model); - constructor(element: Element, options?: TreeMap.Model); - static Locale: any; - model:TreeMap.Model; - defaults:TreeMap.Model; - - /** Method to reload treemap with updated values. - * @returns {void} - */ - refresh(): void; -} -export module TreeMap{ - -export interface Model { - - /** Specifies the border brush color of the treemap - * @Default {white} - */ - borderBrush?: string; - - /** Specifies the border thickness of the treemap - * @Default {1} - */ - borderThickness?: number; - - /** Specifies the uniColorMapping settings of the treemap - */ - uniColorMapping?: UniColorMapping; - - /** Specifies the desaturationColorMapping settings of the treemap - */ - desaturationColorMapping?: DesaturationColorMapping; - - /** Specifies the paletteColorMapping of the treemap - */ - paletteColorMapping?: PaletteColorMapping; - - /** Specifies the color value path of the treemap - * @Default {null} - */ - colorValuePath?: string; - - /** Specifies the datasource of the treemap - * @Default {null} - */ - dataSource?: any; - - /** Specifies the dockPosition for legend - * @Default {top} - */ - dockPosition?: ej.datavisualization.TreeMap.DockPosition|string; - - /** specifies the drillDown header color - * @Default {'null'} - */ - drillDownHeaderColor?: string; - - /** specifies the drillDown selection color - * @Default {'#000000'} - */ - drillDownSelectionColor?: string; - - /** Specifies whether datasource is hierarchical or not. - * @Default {false} - */ - isHierarchicalDatasource?: boolean; - - /** Specifies the header for parent item during drilldown. This is applicable only for hierarchical data source. - * @Default {null} - */ - header?: string; - - /** Enable/Disable the drillDown for treemap - * @Default {false} - */ - enableDrillDown?: boolean; - - /** Controls whether Treemap has to be responsive while resizing the window. - * @Default {true} - */ - isResponsive?: boolean; - - /** Specifies whether treemap need to resize when container is resized - * @Default {true} - */ - enableResize?: boolean; - - /** This property is used to select treemap items while clicking and dragging - * @Default {false} - */ - draggingOnSelection?: boolean; - - /** This property is used to select group of treemap items while clicking and dragging - * @Default {false} - */ - draggingGroupOnSelection?: boolean; - - /** Specifies the group color mapping of the treemap - * @Default {[]} - */ - groupColorMapping?: Array; - - /** Specifies the legend settings of the treemap - */ - legendSettings?: LegendSettings; - - /** Specifies the highlight border brush of treemap - * @Default {gray} - */ - highlightBorderBrush?: string; - - /** Specifies the border thickness when treemap items is highlighted in the treemap - * @Default {5} - */ - highlightBorderThickness?: number; - - /** Specifies the highlight border brush of treemap - * @Default {gray} - */ - highlightGroupBorderBrush?: string; - - /** Specifies the border thickness when treemap items is highlighted in the treemap - * @Default {5} - */ - highlightGroupBorderThickness?: number; - - /** Specifies whether treemap item need to highlighted on selection - * @Default {false} - */ - highlightGroupOnSelection?: boolean; - - /** Specifies whether treemap item need to highlighted on selection - * @Default {false} - */ - highlightOnSelection?: boolean; - - /** Specifies the items layout mode of the treemap. Accepted itemsLayoutMode values are Squarified, SliceAndDiceHorizontal, SliceAndDiceVertical and SliceAndDiceAuto - * @Default {Squarified} - */ - itemsLayoutMode?: ej.datavisualization.TreeMap.ItemsLayoutMode|string; - - /** Specifies the leaf settings of the treemap - */ - leafItemSettings?: LeafItemSettings; - - /** Specifies the rangeColorMapping settings of the treemap - * @Default {[]} - */ - rangeColorMapping?: Array; - - /** Specifies the selection mode of treemap item. Accepted selection mode values are Default and Multiple. - * @Default {default} - */ - selectionMode?: ej.datavisualization.TreeMap.selectionMode|string; - - /** Specifies the selection mode of the treemap. Accepted selection mode values are Default and Multiple. - * @Default {default} - */ - groupSelectionMode?: ej.datavisualization.TreeMap.groupSelectionMode|string; - - /** Specifies the legend visibility status of the treemap - * @Default {false} - */ - showLegend?: boolean; - - /** Specifies whether gradient color has to be applied for treemap items - * @Default {false} - */ - enableGradient?: boolean; - - /** Specifies whether treemap showTooltip need to be visible - */ - showTooltip?: boolean; - - /** Specifies the tooltip template of the treemap - * @Default {null} - */ - tooltipTemplate?: string; - - /** Hold the treeMapItems to be displayed in treemap - * @Default {[]} - */ - treeMapItems?: Array; - - /** Specify levels of treemap for grouped visualization of data - * @Default {[]} - */ - levels?: Array; - - /** Specifies the weight value path of the treemap - * @Default {null} - */ - weightValuePath?: string; - - /** Triggers on treemap item selected. */ - treeMapItemSelected? (e: TreeMapItemSelectedEventArgs): void; -} - -export interface TreeMapItemSelectedEventArgs { - - /** Returns selected treeMapItem object. - */ - originalEvent?: any; -} - -export interface UniColorMapping { - - /** Specifies the uniform color mapping of the treemap - * @Default {null} - */ - color?: string; -} - -export interface DesaturationColorMapping { - - /** Specifies the to value for desaturation color mapping - * @Default {0} - */ - to?: number; - - /** Specifies the color for desaturationColorMapping - * @Default {null} - */ - color?: string; - - /** Specifies the from value for desaturation color mapping - * @Default {0} - */ - from?: number; - - /** Specifies the rangeMaximum value for desaturation color mapping - * @Default {0} - */ - rangeMaximum?: number; - - /** Specifies the rangeMinimum value for desaturation color mapping - * @Default {0} - */ - rangeMinimum?: number; -} - -export interface PaletteColorMapping { - - /** Specifies the colors of the paletteColorMapping - * @Default {[]} - */ - colors?: Array; -} - -export interface GroupColorMapping { - - /** Specifies the groupID for GroupColorMapping. - * @Default {null} - */ - groupID?: string; -} - -export interface LegendSettings { - - /** Specifies the height for legend - * @Default {30} - */ - height?: number; - - /** Specifies the width for legend - * @Default {100} - */ - width?: number; - - /** Specifies the iconHeight for legend - * @Default {15} - */ - iconHeight?: number; - - /** Specifies the iconWidth for legend - * @Default {15} - */ - iconWidth?: number; - - /** Specifies the template for legendSettings - * @Default {null} - */ - template?: string; - - /** Specifies the mode for legendSettings whether default or interactive mode - * @Default {default} - */ - mode?: string; - - /** Specifies the title text for legend - */ - title?: string; - - /** Specifies the leftLabel text for legend - */ - leftLabel?: string; - - /** Specifies the rightLabel text for legend - */ - rightLabel?: string; - - /** Specifies the dockPosition text for legend - * @Default {top} - */ - dockPosition?: string; - - /** Specifies the alignment text for legend - * @Default {near} - */ - alignment?: string; - - /** Specifies the alignment text for legend - * @Default {0} - */ - columnCount?: number; -} - -export interface LeafItemSettings { - - /** Specifies the border brush color of the leaf item. - * @Default {white} - */ - borderBrush?: string; - - /** Specifies the border thickness of the leaf item. - * @Default {1} - */ - borderThickness?: number; - - /** Specifies the label template of the leaf item. - * @Default {null} - */ - itemTemplate?: string; - - /** Specifies the label path of the leaf item. - * @Default {null} - */ - labelPath?: string; - - /** Specifies the position of the leaf labels. - * @Default {center} - */ - labelPosition?: ej.datavisualization.TreeMap.Position|string; - - /** Specifies the mode of label visibility - * @Default {visible} - */ - labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode|string; - - /** Shows or hides the label of the leaf item. - * @Default {false} - */ - showLabels?: boolean; -} - -export interface RangeColorMapping { - - /** Specifies the color value for rangeColorMapping. - * @Default {null} - */ - color?: string; - - /** specifies the gradient colors for th given range value - * @Default {[]} - */ - gradientColors?: Array; - - /** Specifies the from value for rangeColorMapping. - * @Default {-1} - */ - from?: number; - - /** Specifies the legend label value for rangeColorMapping. - * @Default {null} - */ - legendLabel?: string; - - /** Specifies the to value for rangeColorMapping. - * @Default {-1} - */ - to?: number; -} - -export interface Level { - - /** specifies the group background - * @Default {null} - */ - groupBackground?: string; - - /** Specifies the group border color for tree map level. - * @Default {null} - */ - groupBorderColor?: string; - - /** Specifies the group border thickness for tree map level. - * @Default {1} - */ - groupBorderThickness?: number; - - /** Specifies the group gap for tree map level. - * @Default {1} - */ - groupGap?: number; - - /** Specifies the group padding for tree map level. - * @Default {4} - */ - groupPadding?: number; - - /** Specifies the group path for tree map level. - */ - groupPath?: string; - - /** Specifies the header height for tree map level. - * @Default {0} - */ - headerHeight?: number; - - /** Specifies the header template for tree map level. - * @Default {null} - */ - headerTemplate?: string; - - /** Specifies the mode of header visibility - * @Default {visible} - */ - headerVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode|string; - - /** Specifies the position of the labels. - * @Default {center} - */ - labelPosition?: ej.datavisualization.TreeMap.Position|string; - - /** Specifies the label template for tree map level. - * @Default {null} - */ - labelTemplate?: string; - - /** Specifies the mode of label visibility - * @Default {visible} - */ - labelVisibilityMode?: ej.datavisualization.TreeMap.VisibilityMode|string; - - /** Shows or hides the header for tree map level. - * @Default {false} - */ - showHeader?: boolean; - - /** Shows or hides the labels for tree map level. - * @Default {false} - */ - showLabels?: boolean; -} -} -module TreeMap -{ -enum DockPosition -{ -//specifies the top position -Top, -//specifies the bottom position -Bottom, -//specifies the bottom position -Right, -//specifies the left position -Left, -} -} -module TreeMap -{ -enum ItemsLayoutMode -{ -//specifies the squarified as layout type position -Squarified, -//specifies the sliceanddicehorizontal as layout type position -Sliceanddicehorizontal, -//specifies the sliceanddicevertical as layout type position -Sliceanddicevertical, -//specifies the sliceanddiceauto as layout type position -Sliceanddiceauto, -} -} -module TreeMap -{ -enum Position -{ -//specifies the none position -None, -//specifies the topleft position -Topleft, -//specifies the topcenter position -Topcenter, -//specifies the topright position -Topright, -//specifies the centerleft position -Centerleft, -//specifies the center position -Center, -//specifies the centerright position -Centerright, -//specifies the bottomleft position -Bottomleft, -//specifies the bottomcenter position -Bottomcenter, -//specifies the bottomright position -Bottomright, -} -} -module TreeMap -{ -enum VisibilityMode -{ -//specifies the visible mode -Top, -//specifies the hide on exceeded length mode -Hideonexceededlength, -} -} -module TreeMap -{ -enum selectionMode -{ -//specifies the default mode -Default, -//specifies the multiple mode -Multiple, -} -} -module TreeMap -{ -enum groupSelectionMode -{ -//specifies the default mode -Default, -//specifies the multiple mode -Multiple, -} -} - -class Diagram extends ej.Widget { - static fn: Diagram; - constructor(element: JQuery, options?: Diagram.Model); - constructor(element: Element, options?: Diagram.Model); - static Locale: any; - model:Diagram.Model; - defaults:Diagram.Model; - - /** Add nodes and connectors to diagram at runtime - * @param {any} a JSON to define a node/connector or an array of nodes and connector - * @returns {boolean} - */ - add(node: any): boolean; - - /** Add a label to a node at runtime - * @param {string} name of the node to which label will be added - * @param {any} JSON for the new label to be added - * @returns {void} - */ - addLabel(nodeName: string, newLabel: any): void; - - /** Add dynamic Lanes to swimlane at runtime - * @param {any} JSON for the new lane to be added - * @param {number} Index value to add the lane in swimlane - * @returns {void} - */ - addLane(lane: any, index: number): void; - - /** Add a phase to a swimlane at runtime - * @param {string} name of the swimlane to which the phase will be added - * @param {any} JSON object to define the phase to be added - * @returns {void} - */ - addPhase(name: string, options: any): void; - - /** Add a collection of ports to the node specified by name - * @param {string} name of the node to which the ports have to be added - * @param {Array} a collection of ports to be added to the specified node - * @returns {void} - */ - addPorts(name: string, ports: Array): void; - - /** Add the specified node to selection list - * @param {any} the node to be selected - * @param {boolean} to define whether to clear the existing selection or not - * @returns {void} - */ - addSelection(node: any, clearSelection?: boolean): void; - - /** Align the selected objects based on the reference object and direction - * @param {string} to specify the direction towards which the selected objects are to be aligned("left","right",top","bottom") - * @returns {void} - */ - align(direction: string): void; - - /** Bring the specified portion of the diagram content to the diagram viewport - * @param {any} the rectangular region that is to be brought into diagram viewport - * @returns {void} - */ - bringIntoView(rect: any): void; - - /** Bring the specified portion of the diagram content to the center of the diagram viewport - * @param {any} the rectangular region that is to be brought to the center of diagram viewport - * @returns {void} - */ - bringToCenter(rect: any): void; - - /** Visually move the selected object over all other intersected objects - * @returns {void} - */ - bringToFront(): void; - - /** Remove all the elements from diagram - * @returns {void} - */ - clear(): void; - - /** Clears the actions which is recorded to perform undo/redo operation in the diagram. - * @returns {void} - */ - clearHistory(): void; - - /** Remove the current selection in diagram - * @returns {void} - */ - clearSelection(): void; - - /** Copy the selected object to internal clipboard and get the copied object - * @returns {any} - */ - copy(): any; - - /** Cut the selected object from diagram to diagram internal clipboard - * @returns {void} - */ - cut(): void; - - /** Export the diagram as downloadable files or as data - * @param {Diagram.Options} options to export the desired region of diagram to the desired formats. - * @returns {string} - */ - exportDiagram(options?: Diagram.Options): string; - - /** Read a node/connector object by its name - * @param {string} name of the node/connector that is to be identified - * @returns {any} - */ - findNode(name: string): any; - - /** Fit the diagram content into diagram viewport - * @param {ej.datavisualization.Diagram.FitMode} to set the mode of fit to command. - * @param {ej.datavisualization.Diagram.Region} to set whether the region to be fit will be based on diagram elements or page settings. - * @param {any} to set the required margin - * @returns {void} - */ - fitToPage(mode?: ej.datavisualization.Diagram.FitMode, region?: ej.datavisualization.Diagram.Region, margin?: any): void; - - /** Group the selected nodes and connectors - * @returns {void} - */ - group(): void; - - /** Insert a label into a node's label collection at runtime - * @param {string} name of the node to which the label has to be inserted - * @param {any} JSON to define the new label - * @param {number} index to insert the label into the node - * @returns {void} - */ - insertLabel(name: string, label: any, index?: number): void; - - /** Refresh the diagram with the specified layout - * @returns {void} - */ - layout(): void; - - /** Load the diagram - * @param {any} JSON data to load the diagram - * @returns {void} - */ - load(data: any): void; - - /** Visually move the selected object over its closest intersected object - * @returns {void} - */ - moveForward(): void; - - /** Move the selected objects by either one pixel or by the pixels specified through argument - * @param {string} specifies the direction to move the selected objects ("left","right",top","bottom") - * @param {number} specifies the number of pixels by which the selected objects have to be moved - * @returns {void} - */ - nudge(direction: string, delta?: number): void; - - /** Paste the selected object from internal clipboard to diagram - * @param {any} object to be added to diagram - * @param {boolean} to define whether the specified object is to be renamed or not - * @returns {void} - */ - paste(object?: any, rename?: boolean): void; - - /** Print the diagram as image - * @returns {void} - */ - print(): void; - - /** Restore the last action that was reverted - * @returns {void} - */ - redo(): void; - - /** Refresh the diagram at runtime - * @returns {void} - */ - refresh(): void; - - /** Remove either the given node/connector or the selected element from diagram - * @param {any} the node/connector to be removed from diagram - * @returns {void} - */ - remove(node?: any): void; - - /** Remove a particular object from selection list - * @param {any} the node/connector to be removed from selection list - * @returns {void} - */ - removeSelection(node: any): void; - - /** Scale the selected objects to the height of the first selected object - * @returns {void} - */ - sameHeight(): void; - - /** Scale the selected objects to the size of the first selected object - * @returns {void} - */ - sameSize(): void; - - /** Scale the selected objects to the width of the first selected object - * @returns {void} - */ - sameWidth(): void; - - /** Returns the diagram as serialized JSON - * @returns {any} - */ - save(): any; - - /** Bring the node into view - * @param {any} the node/connector to be brought into view - * @returns {void} - */ - scrollToNode(node: any): void; - - /** Select all nodes and connector in diagram - * @returns {void} - */ - selectAll(): void; - - /** Visually move the selected object behind its closest intersected object - * @returns {void} - */ - sendBackward(): void; - - /** Visually move the selected object behind all other intersected objects - * @returns {void} - */ - sendToBack(): void; - - /** Update the horizontal space between the selected objects as equal and within the selection boundary - * @returns {void} - */ - spaceAcross(): void; - - /** Update the vertical space between the selected objects as equal and within the selection boundary - * @returns {void} - */ - spaceDown(): void; - - /** Move the specified label to edit mode - * @param {any} node/connector that contains the label to be edited - * @param {any} to be edited - * @returns {void} - */ - startLabelEdit(node: any, label: any): void; - - /** Reverse the last action that was performed - * @returns {void} - */ - undo(): void; - - /** Ungroup the selected group - * @returns {void} - */ - ungroup(): void; - - /** Update diagram at runtime - * @param {any} JSON to specify the diagram properties that have to be modified - * @returns {void} - */ - update(options: any): void; - - /** Update Connectors at runtime - * @param {string} name of the connector to be updated - * @param {any} JSON to specify the connector properties that have to be updated - * @returns {void} - */ - updateConnector(name: string, options: any): void; - - /** Update the given label at runtime - * @param {string} the name of node/connector which contains the label to be updated - * @param {any} the label to be modified - * @param {any} JSON to specify the label properties that have to be updated - * @returns {any} - */ - updateLabel(nodeName: string, label: any, options: any): any; - - /** Update nodes at runtime - * @param {string} name of the node that is to be updated - * @param {any} JSON to specify the properties of node that have to be updated - * @returns {void} - */ - updateNode(name: string, options: any): void; - - /** Update a port with its modified properties at runtime - * @param {string} the name of node which contains the port to be updated - * @param {any} the port to be updated - * @param {any} JSON to specify the properties of the port that have to be updated - * @returns {void} - */ - updatePort(nodeName: string, port: any, options: any): void; - - /** Update the specified node as selected object - * @param {string} name of the node to be updated as selected object - * @returns {void} - */ - updateSelectedObject(name: string): void; - - /** Update the selection at runtime - * @param {boolean} to specify whether to show the user handles or not - * @returns {void} - */ - updateSelection(showUserHandles?: boolean): void; - - /** Update user handles with respect to the given node - * @param {any} node/connector with respect to which, the user handles have to be updated - * @returns {void} - */ - updateUserHandles(node: any): void; - - /** Update the diagram viewport at runtime - * @returns {void} - */ - updateViewPort(): void; - - /** Upgrade the diagram from old version - * @param {any} to be upgraded - * @returns {void} - */ - upgrade(data: any): void; - - /** Used to zoomIn/zoomOut diagram - * @param {Diagram.Zoom} options to zoom the diagram(zoom factor, zoomIn/zoomOut) - * @returns {void} - */ - zoomTo(Zoom?: Diagram.Zoom): void; -} -export module Diagram{ - -export interface Options { - - /** name of the file to be downloaded. - */ - fileName?: string; - - /** format of the exported file/data. - */ - format?: ej.datavisualization.Diagram.FileFormats; - - /** to set whether to export diagram as a file or as raw data. - */ - mode?: ej.datavisualization.Diagram.ExportModes; - - /** to set the region of the diagram to be exported. - */ - region?: ej.datavisualization.Diagram.Region; - - /** to export any custom region of diagram. - */ - bounds?: any; - - /** to set margin to the exported data. - */ - margin?: any; - - /** to resize the diagram content to fill its allocated space. - */ - stretch?: ej.datavisualization.Diagram.Stretch; -} - -export interface Zoom { - - /** Used to increase the zoom-in or zoom-out based on the zoom factor value. - */ - zoomFactor?: number; - - /** Used to zoom-in or zoom-out the diagram. - */ - zoomCommand?: ej.datavisualization.Diagram.ZoomCommand; - - /** Used to zoom-in or zoom-out the diagram based on the point. - */ - focusPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; -} - -export interface Model { - - /** Defines the background color of diagram elements - * @Default {transparent} - */ - backgroundColor?: string; - - /** Defines the path of the background image of diagram elements - */ - backgroundImage?: string; - - /** Sets the direction of line bridges. - * @Default {ej.datavisualization.Diagram.BridgeDirection.Top} - */ - bridgeDirection?: ej.datavisualization.Diagram.BridgeDirection|string; - - /** Defines a set of custom commands and binds them with a set of desired key gestures. - */ - commandManager?: CommandManager; - - /** A collection of JSON objects where each object represents a connector - * @Default {[]} - */ - connectors?: Array; - - /** Binds the custom JSON data with connector properties - * @Default {null} - */ - connectorTemplate?: any; - - /** Enables/Disables the default behaviors of the diagram. - * @Default {ej.datavisualization.Diagram.DiagramConstraints.All} - */ - constraints?: ej.datavisualization.Diagram.DiagramConstraints|string; - - /** An object to customize the context menu of diagram - */ - contextMenu?: ContextMenu; - - /** Configures the data source that is to be bound with diagram - */ - dataSourceSettings?: DataSourceSettings; - - /** Initializes the default values for nodes and connectors - * @Default {{}} - */ - defaultSettings?: DefaultSettings; - - /** Sets the type of JSON object to be drawn through drawing tool - * @Default {{}} - */ - drawType?: any; - - /** Enables or disables auto scroll in diagram - * @Default {true} - */ - enableAutoScroll?: boolean; - - /** Enables or disables diagram context menu - * @Default {true} - */ - enableContextMenu?: boolean; - - /** Specifies the height of the diagram - * @Default {null} - */ - height?: string; - - /** Customizes the undo redo functionality - */ - historyManager?: HistoryManager; - - /** Defines the type of the rendering mode of label. - * @Default {Html} - */ - labelRenderingMode?: ej.datavisualization.Diagram.LabelRenderingMode|string; - - /** Automatically arranges the nodes and connectors in a predefined manner. - */ - layout?: Layout; - - /** Defines the current culture of diagram - * @Default {en-US} - */ - locale?: string; - - /** Array of JSON objects where each object represents a node - * @Default {[]} - */ - nodes?: Array; - - /** Binds the custom JSON data with node properties - * @Default {null} - */ - nodeTemplate?: any; - - /** Defines the size and appearance of diagram page - */ - pageSettings?: PageSettings; - - /** Defines the zoom value, zoom factor, scroll status and view port size of the diagram - */ - scrollSettings?: ScrollSettings; - - /** Defines the size and position of selected items and defines the appearance of selector - */ - selectedItems?: SelectedItems; - - /** Enables or disables tooltip of diagram - * @Default {true} - */ - showTooltip?: boolean; - - /** Defines the gridlines and defines how and when the objects have to be snapped - */ - snapSettings?: SnapSettings; - - /** Enables/Disables the interactive behaviors of diagram. - * @Default {ej.datavisualization.Diagram.Tool.All} - */ - tool?: ej.datavisualization.Diagram.Tool|string; - - /** An object that defines the description, appearance and alignments of tooltips - * @Default {null} - */ - tooltip?: Tooltip; - - /** Specifies the width of the diagram - * @Default {null} - */ - width?: string; - - /** Sets the factor by which we can zoom in or zoom out - * @Default {0.2} - */ - zoomFactor?: number; - - /** Triggers When auto scroll is changed */ - autoScrollChange? (e: AutoScrollChangeEventArgs): void; - - /** Triggers when a node, connector or diagram is clicked */ - click? (e: ClickEventArgs): void; - - /** Triggers when the connection is changed */ - connectionChange? (e: ConnectionChangeEventArgs): void; - - /** Triggers when the connector collection is changed */ - connectorCollectionChange? (e: ConnectorCollectionChangeEventArgs): void; - - /** Triggers when the connectors' source point is changed */ - connectorSourceChange? (e: ConnectorSourceChangeEventArgs): void; - - /** Triggers when the connectors' target point is changed */ - connectorTargetChange? (e: ConnectorTargetChangeEventArgs): void; - - /** Triggers before opening the context menu */ - contextMenuBeforeOpen? (e: ContextMenuBeforeOpenEventArgs): void; - - /** Triggers when a context menu item is clicked */ - contextMenuClick? (e: ContextMenuClickEventArgs): void; - - /** Triggers when a node, connector or diagram model is clicked twice */ - doubleClick? (e: DoubleClickEventArgs): void; - - /** Triggers while dragging the elements in diagram */ - drag? (e: DragEventArgs): void; - - /** Triggers when a symbol is dragged into diagram from symbol palette */ - dragEnter? (e: DragEnterEventArgs): void; - - /** Triggers when a symbol is dragged outside of the diagram. */ - dragLeave? (e: DragLeaveEventArgs): void; - - /** Triggers when a symbol is dragged over diagram */ - dragOver? (e: DragOverEventArgs): void; - - /** Triggers when a symbol is dragged and dropped from symbol palette to drawing area */ - drop? (e: DropEventArgs): void; - - /** Triggers when editor got focus at the time of node's label or text node editing. */ - editorFocusChange? (e: EditorFocusChangeEventArgs): void; - - /** Triggers when a child is added to or removed from a group */ - groupChange? (e: GroupChangeEventArgs): void; - - /** Triggers when a change is reverted or restored(undo/redo) */ - historyChange? (e: HistoryChangeEventArgs): void; - - /** Triggers when a diagram element is clicked */ - itemClick? (e: ItemClickEventArgs): void; - - /** Triggers when mouse enters a node/connector */ - mouseEnter? (e: MouseEnterEventArgs): void; - - /** Triggers when mouse leaves node/connector */ - mouseLeave? (e: MouseLeaveEventArgs): void; - - /** Triggers when mouse hovers over a node/connector */ - mouseOver? (e: MouseOverEventArgs): void; - - /** Triggers when node collection is changed */ - nodeCollectionChange? (e: NodeCollectionChangeEventArgs): void; - - /** Triggers when the node properties(x, y,width and height alone) are changed using nudge commands or updateNode API. */ - propertyChange? (e: PropertyChangeEventArgs): void; - - /** Triggers when the diagram elements are rotated */ - rotationChange? (e: RotationChangeEventArgs): void; - - /** Triggers when the diagram is zoomed or panned */ - scrollChange? (e: ScrollChangeEventArgs): void; - - /** Triggers when a connector segment is edited */ - segmentChange? (e: SegmentChangeEventArgs): void; - - /** Triggers when the selection is changed in diagram */ - selectionChange? (e: SelectionChangeEventArgs): void; - - /** Triggers when a node is resized */ - sizeChange? (e: SizeChangeEventArgs): void; - - /** Triggers when label editing is ended */ - textChange? (e: TextChangeEventArgs): void; - - /** Triggered when the diagram is rendered completely. */ - create? (e: CreateEventArgs): void; -} - -export interface AutoScrollChangeEventArgs { - - /** Returns the delay between subsequent auto scrolls - */ - delay?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface ClickEventArgs { - - /** parameter returns the clicked node, connector or diagram - */ - element?: any; - - /** parameter returns the object that is actually clicked - */ - actualObject?: number; - - /** parameter returns the horizontal coordinate of the mouse pointer, relative to the diagram - */ - offsetX?: number; - - /** parameter returns the vertical coordinate of the mouse pointer, relative to the diagram - */ - offsetY?: number; - - /** parameter returns the count of how many times the mouse button is pressed - */ - count?: number; - - /** parameter returns the event triggered - */ - event?: any; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; -} - -export interface ConnectionChangeEventArgs { - - /** parameter returns the connection that is changed between nodes, ports or points - */ - element?: any; - - /** parameter returns the new source node or target node of the connector - */ - connection?: string; - - /** parameter returns the new source port or target port of the connector - */ - port?: any; - - /** parameter defines whether to cancel the change or not - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface ConnectorCollectionChangeEventArgs { - - /** parameter returns whether the connector is inserted or removed - */ - changeType?: string; - - /** parameter returns the connector that is to be added or deleted - */ - element?: any; - - /** parameter defines whether to cancel the collection change or not - */ - cancel?: boolean; - - /** triggers before and after adding the connector in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the connector. - */ - state?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface ConnectorSourceChangeEventArgs { - - /** returns the connector, the source point of which is being dragged - */ - element?: any; - - /** returns the source node of the element - */ - node?: any; - - /** returns the source point of the element - */ - point?: any; - - /** returns the source port of the element - */ - port?: any; - - /** returns the state of connection end point dragging(starting, dragging, completed) - */ - dragState?: string; - - /** parameter defines whether to cancel the change or not - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface ConnectorTargetChangeEventArgs { - - /** parameter returns the connector, the target point of which is being dragged - */ - element?: any; - - /** returns the target node of the element - */ - node?: any; - - /** returns the target point of the element - */ - point?: any; - - /** returns the target port of the element - */ - port?: any; - - /** returns the state of connection end point dragging(starting, dragging, completed) - */ - dragState?: string; - - /** parameter defines whether to cancel the change or not - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface ContextMenuBeforeOpenEventArgs { - - /** parameter returns the diagram object - */ - diagram?: any; - - /** parameter returns the actual arguments from context menu - */ - contextmenu?: any; - - /** parameter returns the object that was clicked - */ - target?: any; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; - - /** parameter returns the actual click event arguments that explains which button is clicked - */ - model?: any; - - /** parameter returns the type of the event triggered - */ - type?: string; -} - -export interface ContextMenuClickEventArgs { - - /** parameter returns the id of the selected context menu item - */ - id?: string; - - /** parameter returns the text of the selected context menu item - */ - text?: string; - - /** parameter returns the parent id of the selected context menu item - */ - parentId?: string; - - /** parameter returns the parent text of the selected context menu item - */ - parentText?: string; - - /** parameter returns the object that was clicked - */ - target?: any; - - /** parameter defines whether to execute the click event or not - */ - canExecute?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; - - /** parameter returns the elementof the object that was clicked - */ - element?: any; - - /** parameter returns the object that is selected - */ - selectedItem?: any; - - /** parameter returns the model of the diagram - */ - events?: any; -} - -export interface DoubleClickEventArgs { - - /** parameter returns the object that is actually clicked - */ - actualObject?: any; - - /** parameter returns the selected object - */ - element?: any; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; -} - -export interface DragEventArgs { - - /** parameter returns the node or connector that is being dragged - */ - element?: any; - - /** parameter returns the previous position of the node/connector - */ - oldValue?: any; - - /** parameter returns the new position of the node/connector - */ - newValue?: any; - - /** parameter returns the state of drag event (Starting, dragging, completed) - */ - dragState?: string; - - /** parameter returns whether or not to cancel the drag event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter returns the offset of the selecteditems - */ - offset?: any; -} - -export interface DragEnterEventArgs { - - /** parameter returns the node or connector that is dragged into diagram - */ - element?: any; - - /** parameter returns whether to add or remove the symbol from diagram - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface DragLeaveEventArgs { - - /** parameter returns the node or connector that is dragged outside of the diagram - */ - element?: any; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface DragOverEventArgs { - - /** parameter returns the node or connector that is dragged over diagram - */ - element?: any; - - /** parameter defines whether the symbol can be dropped at the current mouse position - */ - allowDrop?: boolean; - - /** parameter returns the node/connector over which the symbol is dragged - */ - target?: any; - - /** parameter returns the previous position of the node/connector - */ - oldValue?: any; - - /** parameter returns the new position of the node/connector - */ - newValue?: any; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface DropEventArgs { - - /** parameter returns node or connector that is being dropped - */ - element?: any; - - /** parameter returns whether or not to cancel the drop event - */ - cancel?: boolean; - - /** parameter returns the object from where the element is dragged - */ - source?: any; - - /** parameter returns the object over which the object will be dropped - */ - target?: any; - - /** parameter returns the enum which defines the type of the source - */ - objectType?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface EditorFocusChangeEventArgs { -} - -export interface GroupChangeEventArgs { - - /** parameter returns the object that is added to/removed from a group - */ - element?: any; - - /** parameter returns the old parent group(if any) of the object - */ - oldParent?: any; - - /** parameter returns the new parent group(if any) of the object - */ - newParent?: any; - - /** parameter returns the cause of group change("group", unGroup") - */ - cause?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface HistoryChangeEventArgs { - - /** An array of objects, where each object represents the changes made in last undo/redo. To explore how the changes are defined, refer [Undo Redo Changes](#undo-redo-changes) - */ - changes?: Array; - - /** A collection of objects that are changed in the last undo/redo - */ - Source?: Array; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; - - /** parameter returns the model of the diagram - */ - cause?: boolean; -} - -export interface ItemClickEventArgs { - - /** parameter returns the object that was actually clicked - */ - actualObject?: any; - - /** parameter returns the object that is selected - */ - selectedObject?: any; - - /** parameter returns whether or not to cancel the drop event - */ - cancel?: boolean; - - /** parameter returns the model of the diagram - */ - event?: any; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface MouseEnterEventArgs { - - /** parameter returns the target node or connector - */ - element?: any; - - /** parameter returns the object from where the selected object is dragged - */ - source?: any; - - /** parameter returns the target object over which the selected object is dragged - */ - target?: any; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; -} - -export interface MouseLeaveEventArgs { - - /** parameter returns the target node or connector - */ - element?: any; - - /** parameter returns the object from where the selected object is dragged - */ - source?: any; - - /** parameter returns the target object over which the selected object is dragged - */ - target?: any; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface MouseOverEventArgs { - - /** parameter returns the target node or connector - */ - element?: any; - - /** parameter returns the object from where the element is dragged - */ - source?: any; - - /** parameter returns the object over which the element is being dragged. - */ - target?: any; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface NodeCollectionChangeEventArgs { - - /** parameter returns whether the node is to be added or removed - */ - changeType?: string; - - /** parameter returns the node which needs to be added or deleted - */ - element?: any; - - /** parameter defines whether to cancel the collection change or not - */ - cancel?: boolean; - - /** triggers before and after adding the node in the diagram which can be differentiated through `state` argument. We can cancel the event only before adding the node - */ - state?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface PropertyChangeEventArgs { - - /** parameter returns the selected element - */ - element?: any; - - /** parameter returns the action is nudge or not - */ - cause?: string; - - /** parameter returns the new value of the node property that is being changed - */ - newValue?: any; - - /** parameter returns the old value of the property that is being changed - */ - oldValue?: any; - - /** parameter returns the name of the property that is changed - */ - propertyName?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter defines whether to cancel the property change or not - */ - cancel?: boolean; -} - -export interface RotationChangeEventArgs { - - /** parameter returns the node that is rotated - */ - element?: any; - - /** parameter returns the previous rotation angle - */ - oldValue?: any; - - /** parameter returns the new rotation angle - */ - newValue?: any; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter returns the actual click event arguments that explains which button is clicked - */ - cause?: string; -} - -export interface ScrollChangeEventArgs { - - /** Parameter returns the new zoom value, horizontal and vertical scroll offsets. - */ - newValues?: any; - - /** parameter returns the previous zoom value, horizontal and vertical scroll offsets. - */ - oldValues?: any; - - /** parameter returns whether or not to cancel the dragOver event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** Parameter returns the new zoom value, horizontal and vertical scroll offsets. - */ - cause?: string; -} - -export interface SegmentChangeEventArgs { - - /** Parameter returns the connector that is being edited - */ - element?: any; - - /** parameter returns the state of editing (starting, dragging, completed) - */ - dragState?: string; - - /** parameter returns the current mouse position - */ - point?: any; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface SelectionChangeEventArgs { - - /** parameter returns whether the item is selected or removed selection - */ - changeType?: string; - - /** parameter returns the item which is selected or to be selected - */ - element?: any; - - /** parameter returns the collection of nodes and connectors that have to be removed from selection list - */ - oldItems?: Array; - - /** parameter returns the collection of nodes and connectors that have to be added to selection list - */ - newItems?: Array; - - /** parameter returns the collection of nodes and connectors that will be selected after selection change - */ - selectedItems?: Array; - - /** parameter to specify whether or not to cancel the selection change event - */ - cancel?: boolean; - - /** triggers before and after adding the selection to the object in the diagram which can be differentiated through `state` argument. We can cancel the event only before the selection of the object. - */ - state?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter returns the actual cause of the event - */ - cause?: string; -} - -export interface SizeChangeEventArgs { - - /** parameter returns node that was resized - */ - element?: any; - - /** parameter to cancel the size change - */ - cancel?: boolean; - - /** parameter returns the new width, height, offsetX and offsetY values of the element that is being resized - */ - newValue?: any; - - /** parameter returns the previous width,height,offsetX and offsetY values of the element that is being resized - */ - oldValue?: any; - - /** parameter returns the state of resizing(starting,resizing,completed) - */ - resizeState?: string; - - /** parameter returns the difference between new and old value - */ - offset?: any; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter returns the direction of the node is resized - */ - direction?: string; -} - -export interface TextChangeEventArgs { - - /** parameter returns the node that contains the text being edited - */ - element?: any; - - /** parameter returns the new text - */ - value?: string; - - /** parameter returns the keyCode of the key entered - */ - keyCode?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; - - /** parameter to specify whether or not to cancel the event - */ - cancel?: boolean; -} - -export interface CreateEventArgs { - - /** Returns the diagram model. - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** parameter returns the id of the diagram - */ - diagramId?: string; -} - -export interface BackgroundImage { - - /** Defines how to align the background image over the diagram area. - * @Default {ej.datavisualization.Diagram.ImageAlignment.XMidYMid} - */ - alignment?: ej.datavisualization.Diagram.ImageAlignment |string; -} - -export interface CommandManagerCommandsGesture { - - /** Sets the key value, on recognition of which the command will be executed. - * @Default {ej.datavisualization.Diagram.Keys.None} - */ - key?: ej.datavisualization.Diagram.Keys|string; - - /** Sets a combination of key modifiers, on recognition of which the command will be executed. - * @Default {ej.datavisualization.Diagram.KeyModifiers.None} - */ - keyModifiers?: ej.datavisualization.Diagram.KeyModifiers|string; -} - -export interface CommandManagerCommands { - - /** A method that defines whether the command is executable at the moment or not. - */ - canExecute?: Function; - - /** A method that defines what to be executed when the key combination is recognized. - */ - execute?: Function; - - /** Defines a combination of keys and key modifiers, on recognition of which the command will be executed - */ - gesture?: CommandManagerCommandsGesture; - - /** Defines any additional parameters that are required at runtime - * @Default {null} - */ - parameter?: any; -} - -export interface CommandManager { - - /** An object that maps a set of command names with the corresponding command objects - * @Default {{}} - */ - commands?: CommandManagerCommands; -} - -export interface ConnectorsLabelsMargin { - - /** To set the margin of the label in right direction - * @Default {0} - */ - right?: number; - - /** To set the margin of the label in left direction - * @Default {0} - */ - left?: number; - - /** To set the margin of the label in top direction - * @Default {0} - */ - top?: number; - - /** To set the margin of the label in bottom direction - * @Default {0} - */ - bottom?: number; -} - -export interface ConnectorsLabel { - - /** Defines how the label should be aligned with respect to the segment - * @Default {ej.datavisualization.Diagram.Alignment.Center} - */ - alignment?: ej.datavisualization.Diagram.Alignment|string; - - /** Enables/disables the bold style - * @Default {false} - */ - bold?: boolean; - - /** Sets the border color of the label - * @Default {transparent} - */ - borderColor?: string; - - /** Sets the border width of the label - * @Default {0} - */ - borderWidth?: number; - - /** Defines whether the label should be aligned within the connector boundaries - * @Default {true} - */ - boundaryConstraints?: boolean; - - /** Sets the fill color of the text area - * @Default {transparent} - */ - fillColor?: string; - - /** Sets the font color of the text - * @Default {black} - */ - fontColor?: string; - - /** Sets the font family of the text - * @Default {Arial} - */ - fontFamily?: string; - - /** Defines the font size of the text - * @Default {12} - */ - fontSize?: number; - - /** Sets the horizontal alignment of the label. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** Sets the hyperlink for the labels in the connectors. - * @Default {none} - */ - hyperlink?: string; - - /** Enables/disables the italic style - * @Default {false} - */ - italic?: boolean; - - /** Gets whether the label is currently being edited or not. - * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} - */ - mode?: ej.datavisualization.Diagram.LabelEditMode|string; - - /** Sets the unique identifier of the label - */ - name?: string; - - /** Sets the fraction/ratio(relative to connector) that defines the position of the label - * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} - */ - offset?: any; - - /** Sets the fraction/ratio(relative to connector) that defines the position of the label - * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} - */ - margin?: ConnectorsLabelsMargin; - - /** Defines the transparency of labels - * @Default {1} - */ - opacity?: number; - - /** Defines whether the label is editable or not - * @Default {false} - */ - readOnly?: boolean; - - /** Defines whether the label should be positioned whether relative to segments or connector boundaries - * @Default {ej.datavisualization.Diagram.LabelRelativeMode.SegmentPath} - */ - relativeMode?: ej.datavisualization.Diagram.LabelRelativeMode|string; - - /** Defines the angle to which the label needs to be rotated - * @Default {0} - */ - rotateAngle?: number; - - /** Sets the position of the label with respect to the total segment length - * @Default {0.5} - */ - segmentOffset?: string; - - /** Defines the label text - */ - text?: string; - - /** Defines how to align the text inside the label. - * @Default {ej.datavisualization.Diagram.TextAlign.Center} - */ - textAlign?: ej.datavisualization.Diagram.TextAlign|string; - - /** Sets how to decorate the label text. - * @Default {ej.datavisualization.Diagram.TextDecorations.None} - */ - textDecoration?: ej.datavisualization.Diagram.TextDecorations|string; - - /** Sets the vertical alignment of the label. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; - - /** Enables or disables the visibility of the label - * @Default {true} - */ - visible?: boolean; - - /** Sets the width of the label(the maximum value of label width and the connector width will be considered as label width) - * @Default {50} - */ - width?: number; - - /** Defines how the label text needs to be wrapped. - * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} - */ - wrapping?: ej.datavisualization.Diagram.TextWrapping|string; -} - -export interface ConnectorsSegment { - - /** Sets the direction of orthogonal segment - */ - direction?: string; - - /** Describes the length of orthogonal segment - * @Default {undefined} - */ - length?: number; - - /** Describes the end point of bezier/straight segment - * @Default {Diagram.Point()} - */ - point?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Defines the first control point of the bezier segment - * @Default {null} - */ - point1?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Defines the second control point of bezier segment - * @Default {null} - */ - point2?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Sets the type of the segment. - * @Default {ej.datavisualization.Diagram.Segments.Straight} - */ - type?: ej.datavisualization.Diagram.Segments|string; - - /** Describes the length and angle between the first control point and the start point of bezier segment - * @Default {null} - */ - vector1?: any; - - /** Describes the length and angle between the second control point and end point of bezier segment - * @Default {null} - */ - vector2?: any; -} - -export interface ConnectorsShapeMultiplicitySource { - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - * @Default {true} - */ - optional?: boolean; - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - * @Default {null} - */ - lowerBounds?: number; - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - * @Default {null} - */ - upperBounds?: number; -} - -export interface ConnectorsShapeMultiplicity { - - /** Sets the type of the multiplicity. Applicable, if the connector is of type "classifier" - * @Default {ej.datavisualization.Diagram.Multiplicity.OneToOne} - */ - type?: ej.datavisualization.Diagram.Multiplicity|string; - - /** Defines the source label to connector. Applicable, if the connector is of type "UML" - */ - source?: ConnectorsShapeMultiplicitySource; - - /** Defines the target label to connector. Applicable, if the connector is of type "UML" - * @Default {true} - */ - target?: ej.datavisualization.Diagram.ConnectorsShapeMultiplicitySource; -} - -export interface ConnectorsShape { - - /** Sets the type of the connector - * @Default {ej.datavisualization.Diagram.ConnectorShapes.BPMN} - */ - type?: ej.datavisualization.Diagram.ConnectorShapes|string; - - /** Sets the type of the flow in a BPMN Process - * @Default {ej.datavisualization.Diagram.BPMNFlows.Sequence} - */ - flow?: ej.datavisualization.Diagram.BPMNFlows|string; - - /** Sets the type of the Association in a BPMN Process - * @Default {ej.datavisualization.Diagram.AssociationFlows.Default} - */ - association?: ej.datavisualization.Diagram.AssociationFlows|string; - - /** Sets the type of the message flow. Applicable, if the connector is of type "BPMN" - * @Default {ej.datavisualization.Diagram.BPMNMessageFlows.Default} - */ - message?: ej.datavisualization.Diagram.BPMNMessageFlows|string; - - /** Sets the type of BPMN sequence flow - * @Default {ej.datavisualization.Diagram.BPMNSequenceFlows.Normal} - */ - sequence?: ej.datavisualization.Diagram.BPMNSequenceFlows|string; - - /** Defines the role of the connector in a UML Class Diagram. Applicable, if the type of the connector is "classifier". - * @Default {ej.datavisualization.Diagram.ClassifierShapes.Association} - */ - relationship?: ej.datavisualization.Diagram.ClassifierShapes|string; - - /** Defines the multiplicity option of the connector - * @Default {null} - */ - multiplicity?: ConnectorsShapeMultiplicity; - - /** Defines the shape of UMLActivity to connector. Applicable, if the connector is of type UMLActivity - * @Default {ej.datavisualization.Diagram.UMLActivityFlow.Control} - */ - ActivityFlow?: ej.datavisualization.Diagram.UMLActivityFlow|string; -} - -export interface ConnectorsSourceDecorator { - - /** Sets the border color of the source decorator - * @Default {black} - */ - borderColor?: string; - - /** Sets the border width of the decorator - * @Default {1} - */ - borderWidth?: number; - - /** Sets the fill color of the source decorator - * @Default {black} - */ - fillColor?: string; - - /** Sets the height of the source decorator - * @Default {8} - */ - height?: number; - - /** Defines the custom shape of the source decorator - */ - pathData?: string; - - /** Defines the shape of the source decorator. - * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} - */ - shape?: ej.datavisualization.Diagram.DecoratorShapes|string; - - /** Defines the width of the source decorator - * @Default {8} - */ - width?: number; -} - -export interface ConnectorsSourcePoint { - - /** Defines the x-coordinate of a position - * @Default {0} - */ - x?: number; - - /** Defines the y-coordinate of a position - * @Default {0} - */ - y?: number; -} - -export interface ConnectorsTargetDecorator { - - /** Sets the border color of the decorator - * @Default {black} - */ - borderColor?: string; - - /** Sets the color with which the decorator will be filled - * @Default {black} - */ - fillColor?: string; - - /** Defines the height of the target decorator - * @Default {8} - */ - height?: number; - - /** Defines the custom shape of the target decorator - */ - pathData?: string; - - /** Defines the shape of the target decorator. - * @Default {ej.datavisualization.Diagram.DecoratorShapes.Arrow} - */ - shape?: ej.datavisualization.Diagram.DecoratorShapes|string; - - /** Defines the width of the target decorator - * @Default {8} - */ - width?: number; -} - -export interface Connector { - - /** To maintain additional information about connectors - * @Default {null} - */ - addInfo?: any; - - /** Defines the width of the line bridges - * @Default {10} - */ - bridgeSpace?: number; - - /** Enables or disables the behaviors of connectors. - * @Default {ej.datavisualization.Diagram.ConnectorConstraints.Default} - */ - constraints?: ej.datavisualization.Diagram.ConnectorConstraints|string; - - /** Defines the radius of the rounded corner - * @Default {0} - */ - cornerRadius?: number; - - /** Configures the styles of shapes - */ - cssClass?: string; - - /** Sets the horizontal alignment of the connector. Applicable, if the parent of the connector is a container. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} - */ - horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** A collection of JSON objects where each object represents a label. - * @Default {[]} - */ - labels?: Array; - - /** Sets the stroke color of the connector - * @Default {black} - */ - lineColor?: string; - - /** Sets the pattern of dashes and gaps used to stroke the path of the connector - */ - lineDashArray?: string; - - /** Defines the padding value to ease the interaction with connectors - * @Default {10} - */ - lineHitPadding?: number; - - /** Sets the width of the line - * @Default {1} - */ - lineWidth?: number; - - /** Defines the minimum space to be left between the bottom of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginBottom?: number; - - /** Defines the minimum space to be left between the left of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginLeft?: number; - - /** Defines the minimum space to be left between the right of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginRight?: number; - - /** Defines the minimum space to be left between the top of parent bounds and the connector. Applicable, if the parent is a container. - * @Default {0} - */ - marginTop?: number; - - /** Sets a unique name for the connector - */ - name?: string; - - /** Defines the transparency of the connector - * @Default {1} - */ - opacity?: number; - - /** Defines the size and preview size of the node to add that to symbol palette. To explore palette item, refer Palette Item - * @Default {null} - */ - paletteItem?: any; - - /** Sets the parent name of the connector. - */ - parent?: string; - - /** An array of JSON objects where each object represents a segment - * @Default {[ { type:straight } ]} - */ - segments?: Array; - - /** Defines the role/meaning of the connector - * @Default {null} - */ - shape?: ConnectorsShape; - - /** Defines the source decorator of the connector - * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} - */ - sourceDecorator?: ConnectorsSourceDecorator; - - /** Sets the source node of the connector - */ - sourceNode?: string; - - /** Defines the space to be left between the source node and the source point of a connector - * @Default {0} - */ - sourcePadding?: number; - - /** Describes the start point of the connector - * @Default {ej.datavisualization.Diagram.Point()} - */ - sourcePoint?: ConnectorsSourcePoint; - - /** Sets the source port of the connector - */ - sourcePort?: string; - - /** Defines the target decorator of the connector - * @Default {{ shape:arrow, width: 8, height:8, borderColor:black, fillColor:black }} - */ - targetDecorator?: ConnectorsTargetDecorator; - - /** Sets the target node of the connector - */ - targetNode?: string; - - /** Defines the space to be left between the target node and the target point of the connector - * @Default {0} - */ - targetPadding?: number; - - /** Describes the end point of the connector - * @Default {ej.datavisualization.Diagram.Point()} - */ - targetPoint?: ej.datavisualization.Diagram.ConnectorsSourcePoint; - - /** Sets the targetPort of the connector - */ - targetPort?: string; - - /** Defines the tooltip that should be shown when the mouse hovers over connector. For tooltip properties, refer Tooltip - * @Default {null} - */ - tooltip?: any; - - /** To set the vertical alignment of connector (Applicable,if the parent is group). - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} - */ - verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment|string; - - /** Enables or disables the visibility of connector - * @Default {true} - */ - visible?: boolean; - - /** Sets the z-index of the connector - * @Default {0} - */ - zOrder?: number; -} - -export interface ContextMenuItem { - - /** Defines the text for the collection of context menu item - * @Default {null} - */ - text?: string; - - /** Defines the name for the collection of context menu items - * @Default {null} - */ - name?: string; - - /** Defines the image url for the collection of context menu items - * @Default {null} - */ - imageUrl?: string; - - /** Defines the CssClass for the collection of context menu items - * @Default {null} - */ - cssClass?: string; - - /** Defines the collection of sub items for the context menu items - * @Default {[]} - */ - subItems?: Array; -} - -export interface ContextMenu { - - /** Defines the collection of context menu items - * @Default {[]} - */ - items?: Array; - - /** To set whether to display the default context menu items or not - * @Default {false} - */ - showCustomMenuItemsOnly?: boolean; -} - -export interface DataSourceSettingsCrudAction { - - /** Specifies the create method which is used to get the nodes to be added from client side to the server side - * @Default {null} - */ - create?: string; - - /** Specifies the update method which is used to get the updated data from client side to the server side - * @Default {null} - */ - update?: string; - - /** Specifies the destroy method which is used to get the deleted items data from client side to the server side - * @Default {null} - */ - destroy?: string; - - /** Specifies the read method to get the created nodes from client side to the server side - * @Default {null} - */ - read?: string; -} - -export interface DataSourceSettingsConnectionDataSourceCrudAction { - - /** Specifies the create method which is used to get the connectors to be added from client side to the server side - * @Default {null} - */ - create?: string; - - /** Specifies the update method which is used to get the updated connectors from client side to the server side - * @Default {null} - */ - update?: string; - - /** Specifies the destroy method which is used to get the deleted items data from client side to the server side - * @Default {null} - */ - destroy?: string; - - /** Specifies the read method which is used to get the data from client side to the server side - * @Default {null} - */ - read?: string; -} - -export interface DataSourceSettingsConnectionDataSource { - - /** Sets the datasource for the connection datasource settings items. - * @Default {null} - */ - dataSource?: string; - - /** Sets the unique id of the connection data source item - * @Default {null} - */ - id?: string; - - /** Sets the sourcenode of the connection data source item - * @Default {null} - */ - sourceNode?: string; - - /** Sets the targetnode of the connection data source item - * @Default {null} - */ - targetNode?: string; - - /** Sets the sourcepoint-x value of the connection data source item - * @Default {null} - */ - sourcePointX?: string; - - /** Sets the sourcePoint-y value of the connection data source item - * @Default {null} - */ - sourcePointY?: string; - - /** Sets the targetPoint-x value of the connection data source item - * @Default {null} - */ - targetPointX?: string; - - /** Sets the targetPoint-y value of the connection data source item - * @Default {null} - */ - targetPointY?: string; - - /** Specifies the method name which is used to get updated connectors from client side to the server side - * @Default {null} - */ - crudAction?: DataSourceSettingsConnectionDataSourceCrudAction; - - /** Specifies the customfields to get the updated data from client side to the server side - * @Default {[]} - */ - customFields?: Array; -} - -export interface DataSourceSettings { - - /** Defines the data source either as a collection of objects or as an instance of ej.DataManager - * @Default {null} - */ - dataSource?: any; - - /** Sets the unique id of the data source items - */ - id?: string; - - /** Defines the parent id of the data source item - * @Default {''} - */ - parent?: string; - - /** Describes query to retrieve a set of data from the specified datasource - * @Default {null} - */ - query?: string; - - /** Sets the unique id of the root data source item - */ - root?: string; - - /** Describes the name of the table on which the specified query has to be executed - * @Default {null} - */ - tableName?: string; - - /** Specifies the method name which is used to get the updated data from client side to the server side - * @Default {null} - */ - crudAction?: DataSourceSettingsCrudAction; - - /** Specifies the customfields to get the updated data from client side to the server side - * @Default {[]} - */ - customFields?: Array; - - /** Defines the data source either as a collection of objects or as an instance of ej.DataManager - * @Default {null} - */ - connectionDataSource?: DataSourceSettingsConnectionDataSource; -} - -export interface DefaultSettings { - - /** Initializes the default connector properties - * @Default {null} - */ - connector?: any; - - /** Initializes the default properties of groups - * @Default {null} - */ - group?: any; - - /** Initializes the default properties for nodes - * @Default {null} - */ - node?: any; -} - -export interface HistoryManager { - - /** A method that takes a history entry as argument and returns whether the specific entry can be popped or not - */ - canPop?: Function; - - /** A method that ends grouping the changes - */ - closeGroupAction?: Function; - - /** A method that removes the history of a recent change made in diagram - */ - pop?: Function; - - /** A method that allows to track the custom changes made in diagram - */ - push?: Function; - - /** Defines what should be happened while trying to restore a custom change - * @Default {null} - */ - redo?: Function; - - /** The redoStack property is used to get the number of redo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. - * @Default {[]} - */ - redoStack?: Array; - - /** The stackLimit property used to restrict the undo and redo actions to a certain limit. - * @Default {null} - */ - stackLimit?: number; - - /** A method that starts to group the changes to revert/restore them in a single undo or redo - */ - startGroupAction?: Function; - - /** Defines what should be happened while trying to revert a custom change - */ - undo?: Function; - - /** The undoStack property is used to get the number of undo actions to be stored on the history manager. Its an read-only property and the collection should not be modified. - * @Default {[]} - */ - undoStack?: Array; -} - -export interface Layout { - - /** Specifies the custom bounds to arrange/align the layout - * @Default {ej.datavisualization.Diagram.Rectangle()} - */ - bounds?: any; - - /** Defines the fixed node with reference to which, the layout will be arranged and fixed node will not be repositioned - */ - fixedNode?: string; - - /** Customizes the orientation of trees/sub trees. For orientations, see Chart Orientations. For chart types, see Chart Types - * @Default {null} - */ - getLayoutInfo?: any; - - /** Defines a method to customize the segments based on source and target nodes. - * @Default {null} - */ - getConnectorSegments?: any; - - /** Sets the space to be horizontally left between nodes - * @Default {30} - */ - horizontalSpacing?: number; - - /** Defines the space to be left between layout bounds and layout. - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Defines how to horizontally align the layout within the layout bounds - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** Defines how to vertically align the layout within the layout bounds - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; - - /** Sets the orientation/direction to arrange the diagram elements. - * @Default {ej.datavisualization.Diagram.LayoutOrientations.TopToBottom} - */ - orientation?: ej.datavisualization.Diagram.LayoutOrientations|string; - - /** Sets the type of the layout based on which the elements will be arranged. - * @Default {ej.datavisualization.Diagram.LayoutTypes.None} - */ - type?: ej.datavisualization.Diagram.LayoutTypes|string; - - /** Sets the space to be vertically left between nodes - * @Default {30} - */ - verticalSpacing?: number; -} - -export interface NodesAnnotation { - - /** Sets the angle between the BPMN shape and the annotation - * @Default {0} - */ - angle?: number; - - /** Sets the direction of the text annotation - * @Default {ej.datavisualization.Diagram.BPMNAnnotationDirections.Left} - */ - direction?: ej.datavisualization.Diagram.BPMNAnnotationDirection|string; - - /** Sets the height of the text annotation - * @Default {20} - */ - height?: number; - - /** Sets the distance between the BPMN shape and the annotation - * @Default {0} - */ - length?: number; - - /** Defines the additional information about the flow object in a BPMN Process - */ - text?: string; - - /** Sets the width of the text annotation - * @Default {20} - */ - width?: number; -} - -export interface NodesClassAttribute { - - /** Sets the name of the attribute - */ - name?: string; - - /** Sets the data type of attribute - */ - type?: string; - - /** Defines the visibility of the attribute - * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} - */ - scope?: string; -} - -export interface NodesClassMethod { - - /** Sets the visibility of the method. - * @Default {ej.datavisualization.Diagram.ScopeValueDefaults.Public} - */ - scope?: string; -} - -export interface NodesClass { - - /** Sets the name of class. - */ - name?: string; - - /** Defines the collection of attributes - * @Default {[]} - */ - attributes?: Array; - - /** Defines the collection of methods of a Class. - * @Default {[]} - */ - methods?: Array; -} - -export interface NodesCollapseIcon { - - /** Sets the border color for collapse icon of node - * @Default {black} - */ - borderColor?: string; - - /** Sets the border width for collapse icon of node - * @Default {1} - */ - borderWidth?: number; - - /** Sets the fill color for collapse icon of node - * @Default {white} - */ - fillColor?: string; - - /** Defines the height for collapse icon of node - * @Default {15} - */ - height?: number; - - /** Sets the horizontal alignment of the icon. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** To set the margin for the collapse icon of node - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Sets the fraction/ratio(relative to node) that defines the position of the icon - * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} - */ - offset?: any; - - /** Defines the shape of the collapsed state of the node. - * @Default {ej.datavisualization.Diagram.IconShapes.None} - */ - shape?: ej.datavisualization.Diagram.IconShapes|string; - - /** Sets the vertical alignment of the icon. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; -} - -export interface NodesContainer { - - /** Defines the orientation of the container. Applicable, if the group is a container. - * @Default {vertical} - */ - orientation?: string; - - /** Sets the type of the container. Applicable if the group is a container. - * @Default {ej.datavisualization.Diagram.ContainerType.Canvas} - */ - type?: ej.datavisualization.Diagram.ContainerType|string; -} - -export interface NodesData { - - /** Sets the type of the BPMN Data object - * @Default {ej.datavisualization.Diagram.BPMNDataObjects.None} - */ - type?: ej.datavisualization.Diagram.BPMNDataObjects|string; - - /** Defines whether the BPMN data object is a collection or not - * @Default {false} - */ - collection?: boolean; -} - -export interface NodesEnumerationMember { - - /** Sets the name of the enumeration member - */ - name?: string; -} - -export interface NodesEnumeration { - - /** Sets the name of the Enumeration - */ - name?: string; - - /** Defines the collection of enumeration members - * @Default {[]} - */ - members?: Array; -} - -export interface NodesExpandIcon { - - /** Sets the border color for expand icon of node - * @Default {black} - */ - borderColor?: string; - - /** Sets the border width for expand icon of node - * @Default {1} - */ - borderWidth?: number; - - /** Sets the fill color for expand icon of node - * @Default {white} - */ - fillColor?: string; - - /** Defines the height for expand icon of node - * @Default {15} - */ - height?: number; - - /** Sets the horizontal alignment of the icon. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** To set the margin for the expand icon of node - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Sets the fraction/ratio(relative to node) that defines the position of the icon - * @Default {ej.datavisualization.Diagram.Point(0.5, 1)} - */ - offset?: any; - - /** Defines the shape of the expanded state of the node. - * @Default {ej.datavisualization.Diagram.IconShapes.None} - */ - shape?: ej.datavisualization.Diagram.IconShapes|string; - - /** Sets the vertical alignment of the icon. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; -} - -export interface NodesGradientLinearGradient { - - /** Defines the different colors and the region of color transitions - * @Default {[]} - */ - stops?: Array; - - /** Defines the left most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - x1?: number; - - /** Defines the right most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - x2?: number; - - /** Defines the top most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - y1?: number; - - /** Defines the bottom most position(relative to node) of the rectangular region that needs to be painted - * @Default {0} - */ - y2?: number; -} - -export interface NodesGradientRadialGradient { - - /** Defines the position of the outermost circle - * @Default {0} - */ - cx?: number; - - /** Defines the outer most circle of the radial gradient - * @Default {0} - */ - cy?: number; - - /** Defines the innermost circle of the radial gradient - * @Default {0} - */ - fx?: number; - - /** Defines the innermost circle of the radial gradient - * @Default {0} - */ - fy?: number; - - /** Defines the different colors and the region of color transitions. - * @Default {[]} - */ - stops?: Array; -} - -export interface NodesGradientStop { - - /** Sets the color to be filled over the specified region - */ - color?: string; - - /** Sets the position where the previous color transition ends and a new color transition starts - * @Default {0} - */ - offset?: number; - - /** Describes the transparency level of the region - * @Default {1} - */ - opacity?: number; -} - -export interface NodesGradient { - - /** Paints the node with linear color transitions - */ - LinearGradient?: NodesGradientLinearGradient; - - /** Paints the node with radial color transitions. A focal point defines the beginning of the gradient, and a circle defines the end point of the gradient. - */ - RadialGradient?: NodesGradientRadialGradient; - - /** Defines the color and a position where the previous color transition ends and a new color transition starts - */ - Stop?: NodesGradientStop; -} - -export interface NodesInterfaceAttribute { - - /** Sets the name of the attribute - */ - name?: string; - - /** Sets the type of the attribute - */ - type?: string; - - /** Sets the visibility of the attribute - */ - scope?: string; -} - -export interface NodesInterfaceMethod { - - /** Sets the visibility of the method - */ - scope?: string; -} - -export interface NodesInterface { - - /** Sets the name of the interface - */ - name?: string; - - /** Defines a collection of attributes of the interface - * @Default {[]} - */ - attributes?: Array; - - /** Defines the collection of public methods of an interface - * @Default {[]} - */ - methods?: Array; -} - -export interface NodesLabel { - - /** Enables/disables the bold style - * @Default {false} - */ - bold?: boolean; - - /** Sets the border color of the label - * @Default {transparent} - */ - borderColor?: string; - - /** Sets the border width of the label - * @Default {0} - */ - borderWidth?: number; - - /** Sets the fill color of the text area - * @Default {transparent} - */ - fillColor?: string; - - /** Sets the font color of the text - * @Default {black} - */ - fontColor?: string; - - /** Sets the font family of the text - * @Default {Arial} - */ - fontFamily?: string; - - /** Defines the font size of the text - * @Default {12} - */ - fontSize?: number; - - /** Sets the horizontal alignment of the label. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontalAlignment?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** Enables/disables the italic style - * @Default {false} - */ - italic?: boolean; - - /** To set the margin of the label - * @Default {ej.datavisualization.Diagram.Margin()} - */ - margin?: any; - - /** Gets whether the label is currently being edited or not. - * @Default {ej.datavisualization.Diagram.LabelEditMode.Edit} - */ - mode?: ej.datavisualization.Diagram.LabelEditMode|string; - - /** Sets the unique identifier of the label - */ - name?: string; - - /** Sets the fraction/ratio(relative to node) that defines the position of the label - * @Default {ej.datavisualization.Diagram.Point(0.5, 0.5)} - */ - offset?: any; - - /** Defines the transparency of the labels - * @Default {1} - */ - opacity?: number; - - /** Sets the overflowType of the labels - * @Default {ej.datavisualization.Diagram.OverflowType.Ellipsis} - */ - overflowType?: ej.datavisualization.Diagram.OverflowType|string; - - /** Defines whether the label is editable or not - * @Default {false} - */ - readOnly?: boolean; - - /** Defines the angle to which the label needs to be rotated - * @Default {0} - */ - rotateAngle?: number; - - /** Defines the label text - */ - text?: string; - - /** Defines how to align the text inside the label. - * @Default {ej.datavisualization.Diagram.TextAlign.Center} - */ - textAlign?: ej.datavisualization.Diagram.TextAlign|string; - - /** Sets how to decorate the label text. - * @Default {ej.datavisualization.Diagram.TextDecorations.None} - */ - textDecoration?: ej.datavisualization.Diagram.TextDecorations|string; - - /** Defines the overflowed content is displayed or not. - * @Default {false} - */ - textOverflow?: boolean; - - /** Sets the vertical alignment of the label. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Center} - */ - verticalAlignment?: ej.datavisualization.Diagram.VerticalAlignment|string; - - /** Enables or disables the visibility of the label - * @Default {true} - */ - visible?: boolean; - - /** Sets the width of the label(the maximum value of label width and the node width will be considered as label width) - * @Default {50} - */ - width?: number; - - /** Defines how the label text needs to be wrapped. - * @Default {ej.datavisualization.Diagram.TextWrapping.WrapWithOverflow} - */ - wrapping?: ej.datavisualization.Diagram.TextWrapping|string; -} - -export interface NodesLane { - - /** Defines the width of lane - * @Default {0} - */ - width?: number; - - /** Defines the height of lane - * @Default {0} - */ - height?: number; - - /** Defines the z-index of the lane - * @Default {0} - */ - zorder?: number; - - /** Allows to maintain additional information about lane - * @Default {{}} - */ - addInfo?: any; - - /** An array of objects where each object represents a child node of the lane - * @Default {[]} - */ - children?: Array; - - /** Defines the fill color of the lane - * @Default {white} - */ - fillColor?: string; - - /** Defines the header of the lane - * @Default {{ text: Function, fontSize: 11 }} - */ - header?: any; - - /** Defines the object as a lane - * @Default {false} - */ - isLane?: boolean; - - /** Sets the unique identifier of the lane - */ - name?: string; - - /** Sets the orientation of the lane. - * @Default {vertical} - */ - orientation?: string; -} - -export interface NodesPaletteItem { - - /** Defines whether the symbol should be drawn at its actual size regardless of precedence factors or not - * @Default {true} - */ - enableScale?: boolean; - - /** Defines the height of the symbol - * @Default {0} - */ - height?: number; - - /** Defines the margin of the symbol item - * @Default {{ left: 4, right: 4, top: 4, bottom: 4 }} - */ - margin?: any; - - /** Defines the preview height of the symbol - * @Default {undefined} - */ - previewHeight?: number; - - /** Defines the preview width of the symbol - * @Default {undefined} - */ - previewWidth?: number; - - /** Defines the width of the symbol - * @Default {0} - */ - width?: number; -} - -export interface NodesPhase { - - /** Defines the header of the smaller regions - * @Default {null} - */ - label?: any; - - /** Defines the line color of the splitter that splits adjacent phases. - * @Default {#606060} - */ - lineColor?: string; - - /** Sets the dash array that used to stroke the phase splitter - * @Default {3,3} - */ - lineDashArray?: string; - - /** Sets the lineWidth of the phase - * @Default {1} - */ - lineWidth?: number; - - /** Sets the unique identifier of the phase - */ - name?: string; - - /** Sets the length of the smaller region(phase) of a swimlane - * @Default {100} - */ - offset?: number; - - /** Sets the orientation of the phase - * @Default {horizontal} - */ - orientation?: string; - - /** Sets the type of the object as phase - * @Default {phase} - */ - type?: string; -} - -export interface NodesPort { - - /** Sets the border color of the port - * @Default {#1a1a1a} - */ - borderColor?: string; - - /** Sets the stroke width of the port - * @Default {1} - */ - borderWidth?: number; - - /** Defines the space to be left between the port bounds and its incoming and outgoing connections. - * @Default {0} - */ - connectorPadding?: number; - - /** Defines whether connections can be created with the port - * @Default {ej.datavisualization.Diagram.PortConstraints.Connect} - */ - constraints?: ej.datavisualization.Diagram.PortConstraints|string; - - /** Sets the fill color of the port - * @Default {white} - */ - fillColor?: string; - - /** Sets the unique identifier of the port - */ - name?: string; - - /** Defines the position of the port as fraction/ ratio relative to node - * @Default {ej.datavisualization.Diagram.Point(0, 0)} - */ - offset?: any; - - /** Defines the path data to draw the port. Applicable, if the port shape is path. - */ - pathData?: string; - - /** Defines the shape of the port. - * @Default {ej.datavisualization.Diagram.PortShapes.Square} - */ - shape?: ej.datavisualization.Diagram.PortShapes|string; - - /** Defines the size of the port - * @Default {8} - */ - size?: number; - - /** Defines when the port should be visible. - * @Default {ej.datavisualization.Diagram.PortVisibility.Default} - */ - visibility?: ej.datavisualization.Diagram.PortVisibility|string; -} - -export interface NodesShadow { - - /** Defines the angle of the shadow relative to node - * @Default {45} - */ - angle?: number; - - /** Sets the distance to move the shadow relative to node - * @Default {5} - */ - distance?: number; - - /** Defines the opaque of the shadow - * @Default {0.7} - */ - opacity?: number; -} - -export interface NodesSubProcess { - - /** Defines whether the BPMN sub process is without any prescribed order or not - * @Default {false} - */ - adhoc?: boolean; - - /** Sets the boundary of the BPMN process - * @Default {ej.datavisualization.Diagram.BPMNBoundary.Default} - */ - boundary?: ej.datavisualization.Diagram.BPMNBoundary|string; - - /** Sets whether the BPMN subprocess is triggered as a compensation of a specific activity - * @Default {false} - */ - compensation?: boolean; - - /** Sets whether the BPMN subprocess is triggered as a collapsed of a specific activity - * @Default {true} - */ - collapsed?: boolean; - - /** Sets the type of the event by which the sub-process will be triggered - * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} - */ - event?: ej.datavisualization.Diagram.BPMNEvents|string; - - /** Defines the collection of events that need to be appended with BPMN Sub-Process - */ - events?: Array; - - /** Defines the loop type of a sub process. - * @Default {ej.datavisualization.Diagram.BPMNLoops.None} - */ - loop?: ej.datavisualization.Diagram.BPMNLoops|string; - - /** Defines the children for BPMN's SubProcess - * @Default {[]} - */ - Processes?: Array; - - /** Defines the type of the event trigger - * @Default {ej.datavisualization.Diagram.BPMNTriggers.Message} - */ - trigger?: ej.datavisualization.Diagram.BPMNTriggers|string; - - /** Defines the type of a sub process - * @Default {ej.datavisualization.Diagram.BPMNSubProcessTypes.None} - */ - type?: ej.datavisualization.Diagram.BPMNSubProcessTypes|string; -} - -export interface NodesTask { - - /** To set whether the task is a global task or not - * @Default {false} - */ - call?: boolean; - - /** Sets whether the task is triggered as a compensation of another specific activity - * @Default {false} - */ - compensation?: boolean; - - /** Sets the loop type of a BPMN task. - * @Default {ej.datavisualization.Diagram.BPMNLoops.None} - */ - loop?: ej.datavisualization.Diagram.BPMNLoops|string; - - /** Sets the type of the BPMN task. - * @Default {ej.datavisualization.Diagram.BPMNTasks.None} - */ - type?: ej.datavisualization.Diagram.BPMNTasks|string; -} - -export interface Node { - - /** Defines the type of BPMN Activity. Applicable, if the node is a BPMN activity. - * @Default {ej.datavisualization.Diagram.BPMNActivity.Task} - */ - activity?: ej.datavisualization.Diagram.BPMNActivity|string; - - /** To maintain additional information about nodes - * @Default {{}} - */ - addInfo?: any; - - /** Defines the additional information of a process. It is not directly related to the message flows or sequence flows of the process. - * @Default {ej.datavisualization.Diagram.BPMNTextAnnotation()} - */ - annotation?: NodesAnnotation; - - /** Sets the border color of node - * @Default {black} - */ - borderColor?: string; - - /** Sets the pattern of dashes and gaps to stroke the border - */ - borderDashArray?: string; - - /** Sets the border width of the node - * @Default {1} - */ - borderWidth?: number; - - /** Defines whether the group can be ungrouped or not - * @Default {true} - */ - canUngroup?: boolean; - - /** Array of JSON objects where each object represents a child node/connector - * @Default {[]} - */ - children?: Array; - - /** Sets the type of UML classifier. Applicable, if the node is a UML Class Diagram shape. - * @Default {ej.datavisualization.Diagram.ClassifierShapes.Class} - */ - classifier?: ej.datavisualization.Diagram.ClassifierShapes|string; - - /** Defines the name, attributes and methods of a Class. Applicable, if the node is a Class. - * @Default {null} - */ - class?: NodesClass; - - /** Defines the state of the node is collapsed. - */ - collapseIcon?: NodesCollapseIcon; - - /** Defines the distance to be left between a node and its connections(In coming and out going connections). - * @Default {0} - */ - connectorPadding?: number; - - /** Enables or disables the default behaviors of the node. - * @Default {ej.datavisualization.Diagram.NodeConstraints.Default} - */ - constraints?: ej.datavisualization.Diagram.NodeConstraints|string; - - /** Defines how the child objects need to be arranged(Either in any predefined manner or automatically). Applicable, if the node is a group. - * @Default {null} - */ - container?: NodesContainer; - - /** Defines the corner radius of rectangular shapes. - * @Default {0} - */ - cornerRadius?: number; - - /** Configures the styles of shapes - */ - cssClass?: string; - - /** Defines the BPMN data object - */ - data?: NodesData; - - /** Defines an Enumeration in a UML Class Diagram - * @Default {null} - */ - enumeration?: NodesEnumeration; - - /** Sets the type of the BPMN Events. Applicable, if the node is a BPMN event. - * @Default {ej.datavisualization.Diagram.BPMNEvents.Start} - */ - event?: ej.datavisualization.Diagram.BPMNEvents|string; - - /** Defines whether the node can be automatically arranged using layout or not - * @Default {false} - */ - excludeFromLayout?: boolean; - - /** Defines the state of the node is expanded or collapsed. - */ - expandIcon?: NodesExpandIcon; - - /** Defines the fill color of the node - * @Default {white} - */ - fillColor?: string; - - /** Sets the type of the BPMN Gateway. Applicable, if the node is a BPMN gateway. - * @Default {ej.datavisualization.Diagram.BPMNGateways.None} - */ - gateway?: ej.datavisualization.Diagram.BPMNGateways|string; - - /** Paints the node with a smooth transition from one color to another color - */ - gradient?: NodesGradient; - - /** Sets the type of the BPMN Shapes as group. Applicable, if the node is a BPMN. - * @Default {ej.datavisualization.Diagram.BPMNShapes} - */ - group?: any; - - /** Defines the header of a swimlane/lane - * @Default {{ text: Title, fontSize: 11 }} - */ - header?: any; - - /** Defines the height of the node - * @Default {0} - */ - height?: number; - - /** Sets the horizontal alignment of the node. Applicable, if the parent of the node is a container. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Left} - */ - horizontalAlign?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** A read only collection of the incoming connectors/edges of the node - * @Default {[]} - */ - inEdges?: Array; - - /** Defines an interface in a UML Class Diagram - * @Default {null} - */ - interface?: NodesInterface; - - /** Defines whether the sub tree of the node is expanded or collapsed - * @Default {true} - */ - isExpanded?: boolean; - - /** Sets the node as a swimlane - * @Default {false} - */ - isSwimlane?: boolean; - - /** A collection of objects where each object represents a label - * @Default {[]} - */ - labels?: Array; - - /** An array of objects where each object represents a lane. Applicable, if the node is a swimlane. - * @Default {[]} - */ - lanes?: Array; - - /** Defines the minimum space to be left between the bottom of parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginBottom?: number; - - /** Defines the minimum space to be left between the left of parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginLeft?: number; - - /** Defines the minimum space to be left between the right of the parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginRight?: number; - - /** Defines the minimum space to be left between the top of parent bounds and the node. Applicable, if the parent is a container. - * @Default {0} - */ - marginTop?: number; - - /** Defines the maximum height limit of the node - * @Default {0} - */ - maxHeight?: number; - - /** Defines the maximum width limit of the node - * @Default {0} - */ - maxWidth?: number; - - /** Defines the minimum height limit of the node - * @Default {0} - */ - minHeight?: number; - - /** Defines the minimum width limit of the node - * @Default {0} - */ - minWidth?: number; - - /** Sets the unique identifier of the node - */ - name?: string; - - /** Defines the position of the node on X-Axis - * @Default {0} - */ - offsetX?: number; - - /** Defines the position of the node on Y-Axis - * @Default {0} - */ - offsetY?: number; - - /** Defines the opaque of the node - * @Default {1} - */ - opacity?: number; - - /** Defines the orientation of nodes. Applicable, if the node is a swimlane. - * @Default {vertical} - */ - orientation?: string; - - /** A read only collection of outgoing connectors/edges of the node - * @Default {[]} - */ - outEdges?: Array; - - /** Defines the minimum padding value to be left between the bottom most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingBottom?: number; - - /** Defines the minimum padding value to be left between the left most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingLeft?: number; - - /** Defines the minimum padding value to be left between the right most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingRight?: number; - - /** Defines the minimum padding value to be left between the top most position of a group and its children. Applicable, if the group is a container. - * @Default {0} - */ - paddingTop?: number; - - /** Defines the size and preview size of the node to add that to symbol palette - * @Default {null} - */ - paletteItem?: NodesPaletteItem; - - /** Sets the name of the parent group - */ - parent?: string; - - /** Sets the path geometry that defines the shape of a path node - */ - pathData?: string; - - /** An array of objects, where each object represents a smaller region(phase) of a swimlane. - * @Default {[]} - */ - phases?: Array; - - /** Sets the height of the phase headers - * @Default {0} - */ - phaseSize?: number; - - /** Sets the ratio/ fractional value relative to node, based on which the node will be transformed(positioning, scaling and rotation) - * @Default {ej.datavisualization.Diagram.Points(0.5,0.5)} - */ - pivot?: any; - - /** Defines a collection of points to draw a polygon. Applicable, if the shape is a polygon. - * @Default {[]} - */ - points?: Array; - - /** An array of objects where each object represents a port - * @Default {[]} - */ - ports?: Array; - - /** Sets the angle to which the node should be rotated - * @Default {0} - */ - rotateAngle?: number; - - /** Defines the opacity and the position of shadow - * @Default {ej.datavisualization.Diagram.Shadow()} - */ - shadow?: NodesShadow; - - /** Sets the shape of the node. It depends upon the type of node. - * @Default {ej.datavisualization.Diagram.BasicShapes.Rectangle} - */ - shape?: ej.datavisualization.Diagram.BasicShapes | ej.datavisualization.Diagram.FlowShapes | ej.datavisualization.Diagram.BPMNShapes | ej.datavisualization.Diagram.UMLActivityShapes|string; - - /** Sets the source path of the image. Applicable, if the type of the node is image. - */ - source?: string; - - /** Defines the sub process of a BPMN Activity. Applicable, if the type of the BPMN activity is sub process. - * @Default {ej.datavisualization.Diagram.BPMNSubProcess()} - */ - subProcess?: NodesSubProcess; - - /** Defines the task of the BPMN activity. Applicable, if the type of activity is set as task. - * @Default {ej.datavisualization.Diagram.BPMNTask()} - */ - task?: NodesTask; - - /** Sets the id of svg/html templates. Applicable, if the node is HTML or native. - */ - templateId?: string; - - /** Defines the textBlock of a text node - * @Default {null} - */ - textBlock?: any; - - /** Defines the tooltip that should be shown when the mouse hovers over node. For tooltip properties, refer Tooltip - * @Default {null} - */ - tooltip?: any; - - /** Sets the type of BPMN Event Triggers. - * @Default {ej.datavisualization.Diagram.BPMNTriggers.None} - */ - trigger?: ej.datavisualization.Diagram.BPMNTriggers|string; - - /** Defines the type of the node. - * @Default {ej.datavisualization.Diagram.Shapes.Basic} - */ - type?: ej.datavisualization.Diagram.Shapes|string; - - /** Sets the vertical alignment of a node. Applicable, if the parent of a node is a container. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Top} - */ - verticalAlign?: ej.datavisualization.Diagram.VerticalAlignment|string; - - /** Defines the visibility of the node - * @Default {true} - */ - visible?: boolean; - - /** Defines the width of the node - * @Default {0} - */ - width?: number; - - /** Defines the z-index of the node - * @Default {0} - */ - zOrder?: number; -} - -export interface PageSettings { - - /** Defines the maximum distance to be left between the object and the scroll bar to trigger auto scrolling - * @Default {{ left: 15, top: 15, right: 15, bottom: 15 }} - */ - autoScrollBorder?: any; - - /** Sets whether multiple pages can be created to fit all nodes and connectors - * @Default {false} - */ - multiplePage?: boolean; - - /** Defines the background color of diagram pages - * @Default {#ffffff} - */ - pageBackgroundColor?: string; - - /** Defines the page border color - * @Default {#565656} - */ - pageBorderColor?: string; - - /** Sets the border width of diagram pages - * @Default {0} - */ - pageBorderWidth?: number; - - /** Defines the height of a page - * @Default {null} - */ - pageHeight?: number; - - /** Defines the page margin - * @Default {24} - */ - pageMargin?: number; - - /** Sets the orientation of the page. - * @Default {ej.datavisualization.Diagram.PageOrientations.Portrait} - */ - pageOrientation?: ej.datavisualization.Diagram.PageOrientations|string; - - /** Defines the height of a diagram page - * @Default {null} - */ - pageWidth?: number; - - /** Defines the scrollable area of diagram. Applicable, if the scroll limit is "limited". - * @Default {null} - */ - scrollableArea?: any; - - /** Defines the scrollable region of diagram. - * @Default {ej.datavisualization.Diagram.ScrollLimit.Infinite} - */ - scrollLimit?: ej.datavisualization.Diagram.ScrollLimit|string; - - /** Defines the draggable region of diagram elements. - * @Default {ej.datavisualization.Diagram.BoundaryConstraints.Infinite} - */ - boundaryConstraints?: ej.datavisualization.Diagram.BoundaryConstraints|string; - - /** Enables or disables the page breaks - * @Default {false} - */ - showPageBreak?: boolean; -} - -export interface ScrollSettings { - - /** Allows to read the zoom value of diagram - * @Default {0} - */ - currentZoom?: number; - - /** Sets the horizontal scroll offset - * @Default {0} - */ - horizontalOffset?: number; - - /** Allows to extend the scrollable region that is based on the scroll limit - * @Default {{left: 0, right: 0, top:0, bottom: 0}} - */ - padding?: any; - - /** Sets the vertical scroll offset - * @Default {0} - */ - verticalOffset?: number; - - /** Allows to read the view port height of the diagram - * @Default {0} - */ - viewPortHeight?: number; - - /** Allows to read the view port width of the diagram - * @Default {0} - */ - viewPortWidth?: number; -} - -export interface SelectedItemsUserHandle { - - /** Defines the background color of the user handle - * @Default {#2382c3} - */ - backgroundColor?: string; - - /** Sets the border color of the user handle - * @Default {transparent} - */ - borderColor?: string; - - /** Defines whether the user handle should be added, when more than one element is selected - * @Default {false} - */ - enableMultiSelection?: boolean; - - /** Sets the stroke color of the user handle - * @Default {transparent} - */ - pathColor?: string; - - /** Defines the custom shape of the user handle - */ - pathData?: string; - - /** Defines the position of the user handle - * @Default {ej.datavisualization.Diagram.UserHandlePositions.BottomCenter} - */ - position?: ej.datavisualization.Diagram.UserHandlePositions |string; - - /** Defines the size of the user handle - * @Default {8} - */ - size?: number; - - /** Defines the interactive behaviors of the user handle - */ - tool?: any; - - /** Defines the visibility of the user handle - * @Default {true} - */ - visible?: boolean; -} - -export interface SelectedItems { - - /** A read only collection of the selected items - * @Default {[]} - */ - children?: Array; - - /** Controls the visibility of selector. - * @Default {ej.datavisualization.Diagram.SelectorConstraints.All} - */ - constraints?: ej.datavisualization.Diagram.SelectorConstraints|string; - - /** Defines a method that dynamically enables/ disables the interaction with multiple selection. - * @Default {null} - */ - getConstraints?: any; - - /** Sets the height of the selected items - * @Default {0} - */ - height?: number; - - /** Sets the x position of the selector - * @Default {0} - */ - offsetX?: number; - - /** Sets the y position of the selector - * @Default {0} - */ - offsetY?: number; - - /** Sets the angle to rotate the selected items - * @Default {0} - */ - rotateAngle?: number; - - /** Sets the angle to rotate the selected items. For tooltip properties, refer Tooltip - * @Default {ej.datavisualization.Diagram.Tooltip()} - */ - tooltip?: any; - - /** A collection of frequently used commands that will be added around the selector - * @Default {[]} - */ - userHandles?: Array; - - /** Sets the width of the selected items - * @Default {0} - */ - width?: number; -} - -export interface SnapSettingsHorizontalGridLines { - - /** Defines the line color of horizontal grid lines - * @Default {lightgray} - */ - lineColor?: string; - - /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines - */ - lineDashArray?: string; - - /** A pattern of lines and gaps that defines a set of horizontal gridlines - * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} - */ - linesInterval?: Array; - - /** Specifies a set of intervals to snap the objects - * @Default {[20]} - */ - snapInterval?: Array; -} - -export interface SnapSettingsVerticalGridLines { - - /** Defines the line color of horizontal grid lines - * @Default {lightgray} - */ - lineColor?: string; - - /** Specifies the pattern of dashes and gaps used to stroke horizontal grid lines - */ - lineDashArray?: string; - - /** A pattern of lines and gaps that defines a set of horizontal gridlines - * @Default {[1.25, 18.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75, 0.25, 19.75]} - */ - linesInterval?: Array; - - /** Specifies a set of intervals to snap the objects - * @Default {[20]} - */ - snapInterval?: Array; -} - -export interface SnapSettings { - - /** Enables or disables snapping nodes/connectors to objects - * @Default {true} - */ - enableSnapToObject?: boolean; - - /** Defines the appearance of horizontal gridlines - */ - horizontalGridLines?: SnapSettingsHorizontalGridLines; - - /** Defines the angle by which the object needs to be snapped - * @Default {5} - */ - snapAngle?: number; - - /** Defines and sets the snapConstraints - */ - snapConstraints?: ej.datavisualization.Diagram.SnapConstraints|string; - - /** Defines the minimum distance between the selected object and the nearest object - * @Default {5} - */ - snapObjectDistance?: number; - - /** Defines the appearance of horizontal gridlines - */ - verticalGridLines?: SnapSettingsVerticalGridLines; -} - -export interface TooltipAlignment { - - /** Defines the horizontal alignment of tooltip. - * @Default {ej.datavisualization.Diagram.HorizontalAlignment.Center} - */ - horizontal?: ej.datavisualization.Diagram.HorizontalAlignment|string; - - /** Defines the vertical alignment of tooltip. - * @Default {ej.datavisualization.Diagram.VerticalAlignment.Bottom} - */ - vertical?: ej.datavisualization.Diagram.VerticalAlignment|string; -} - -export interface Tooltip { - - /** Aligns the tooltip around nodes/connectors - */ - alignment?: TooltipAlignment; - - /** Sets the margin of the tooltip - * @Default {{ left: 5, right: 5, top: 5, bottom: 5 }} - */ - margin?: any; - - /** Defines whether the tooltip should be shown at the mouse position or around node. - * @Default {ej.datavisualization.Diagram.RelativeMode.Object} - */ - relativeMode?: ej.datavisualization.Diagram.RelativeMode|string; - - /** Sets the svg/html template to be bound with tooltip - */ - templateId?: string; -} -} -module Diagram -{ -enum ImageAlignment -{ -//Scales the graphic content non-uniformly to the width and height of the diagram area -None, -//Used to align the image at the top left of diagram area -XMinYMin, -//Used to align the image at the left center of diagram area -XMinYMid, -//Used to align the image at the bottom left of diagram area -XMinYMax, -//Used to align the image at the top center of diagram area -XMidYMin, -//Used to align the image at the center of diagram area -XMidYMid, -//Used to align the image at the bottom center of diagram area -XMidYMax, -//Used to align the image at the top right of diagram area/node -XMaxYMin, -//Used to align the image at the right center of diagram area/node -XMaxYMid, -//Used to align the image at the bottom right of diagram area/node -XMaxYMax, -} -} -module Diagram -{ -enum BridgeDirection -{ -//Used to set the direction of line bridges as left -Left, -//Used to set the direction of line bridges as right -Right, -//Used to set the direction of line bridges as top -Top, -//Used to set the direction of line bridges as bottom -Bottom, -} -} -module Diagram -{ -enum Keys -{ -//No key pressed. -None, -//The A key. -A, -//The B key. -B, -//The C key. -C, -//The D Key. -D, -//The E key. -E, -//The F key. -F, -//The G key. -G, -//The H Key. -H, -//The I key. -I, -//The J key. -J, -//The K key. -K, -//The L Key. -L, -//The M key. -M, -//The N key. -N, -//The O key. -O, -//The P Key. -P, -//The Q key. -Q, -//The R key. -R, -//The S key. -S, -//The T Key. -T, -//The U key. -U, -//The V key. -V, -//The W key. -W, -//The X key. -X, -//The Y key. -Y, -//The Z key. -Z, -//The 0 key. -Number0, -//The 1 key. -Number1, -//The 2 key. -Number2, -//The 3 key. -Number3, -//The 4 key. -Number4, -//The 5 key. -Number5, -//The 6 key. -Number6, -//The 7 key. -Number7, -//The 8 key. -Number8, -//The 9 key. -Number9, -//The LEFT ARROW key. -Left, -//The UP ARROW key. -Up, -//The RIGHT ARROW key. -Right, -//The DOWN ARROW key. -Down, -//The ESC key. -Escape, -//The DEL key. -Delete, -//The TAB key. -Tab, -//The ENTER key. -Enter, -} -} -module Diagram -{ -enum KeyModifiers -{ -//No modifiers are pressed. -None, -//The ALT key. -Alt, -//The CTRL key. -Control, -//The SHIFT key. -Shift, -} -} -module Diagram -{ -enum ConnectorConstraints -{ -//Disable all connector Constraints -None, -//Enables connector to be selected -Select, -//Enables connector to be Deleted -Delete, -//Enables connector to be Dragged -Drag, -//Enables connectors source end to be selected -DragSourceEnd, -//Enables connectors target end to be selected -DragTargetEnd, -//Enables control point and end point of every segment in a connector for editing -DragSegmentThumb, -//Enables bridging to the connector -Bridging, -//Enables label of node to be Dragged -DragLabel, -//Enables bridging to the connector -InheritBridging, -//Enables user interaction to the connector -PointerEvents, -//Enables the contrast between clean edges of connector over rendering speed and geometric precision -CrispEdges, -//Enables all constraints -Default, -} -} -module Diagram -{ -enum HorizontalAlignment -{ -//Used to align text horizontally on left side of node/connector -Left, -//Used to align text horizontally on center of node/connector -Center, -//Used to align text horizontally on right side of node/connector -Right, -} -} -module Diagram -{ -enum Alignment -{ -//Used to align the label either top or left(before) of the connector segment -Before, -//Used to align the label at center of the connector segment -Center, -//Used to align the label either bottom or right(after) of the connector segment -After, -} -} -module Diagram -{ -enum LabelRelativeMode -{ -//Sets the relativeMode as SegmentPath -SegmentPath, -//Sets the relativeMode as SegmentBounds -SegmentBounds, -} -} -module Diagram -{ -enum Segments -{ -//Used to specify the lines as Straight -Straight, -//Used to specify the lines as Orthogonal -Orthogonal, -//Used to specify the lines as Bezier -Bezier, -} -} -module Diagram -{ -enum ConnectorShapes -{ -//Used to specify connector type as BPMN -BPMN, -//Used to specify connector type as UMLClassifier -UMLClassifier, -//Used to specify connector type as UMLActivity -UMLActivity, -} -} -module Diagram -{ -enum BPMNFlows -{ -//Used to specify the Sequence flow in a BPMN Process -Sequence, -//Used to specify the Association flow in a BPMN Process -Association, -//Used to specify the Message flow in a BPMN Process -Message, -} -} -module Diagram -{ -enum AssociationFlows -{ -//Used to notate default association in a BPMN Process -Default, -//Used to notate directional association in a BPMN Process -Directional, -//User to notate bi-directional association in a BPMN Process -BiDirectional, -} -} -module Diagram -{ -enum BPMNMessageFlows -{ -//Used to notate the default message flow in a BPMN Process -Default, -//Used to notate the instantiating message flow in a BPMN Process -InitiatingMessage, -//Used to notate the non-instantiating message flow in a BPMN Process -NonInitiatingMessage, -} -} -module Diagram -{ -enum BPMNSequenceFlows -{ -//Used to notate the normal sequence flow in a BPMN Process -Normal, -//Used to notate the conditional sequence flow in a BPMN Process -Conditional, -//Used to notate the default sequence flow in a BPMN Process -Default, -} -} -module Diagram -{ -enum ClassifierShapes -{ -//Used to define a Class -Class, -//Used to define an Interface -Interface, -//Used to define an Enumeration -Enumeration, -//Used to notate association in UML Class Diagram -Association, -//Used to notate aggregation in a UML Class Diagram -Aggregation, -//Used to notate composition in a UML Class Diagram -Composition, -//Used to notate dependency in a UML Class Diagram -Dependency, -//Used to notate inheritance in a UML Class Diagram -Inheritance, -} -} -module Diagram -{ -enum Multiplicity -{ -//Each entity instance is related to a single instance of another entity -OneToOne, -//An entity instance can be related to multiple instances of the other entities -OneToMany, -//Multiple instances of an entity can be related to a single instance of the other entity -ManyToOne, -//The entity instances can be related to multiple instances of each other -ManyToMany, -} -} -module Diagram -{ -enum UMLActivityFlow -{ -//Defines a activity flow as Object in UML Activity Diagram -Object, -//Defines a activity flow as Control in UML Activity Diagram -Control, -//Defines a activity flow as Exception in UML Activity Diagram -Exception, -} -} -module Diagram -{ -enum DecoratorShapes -{ -//Used to set decorator shape as none -None, -//Used to set decorator shape as Arrow -Arrow, -//Used to set decorator shape as Open Arrow -OpenArrow, -//Used to set decorator shape as Circle -Circle, -//Used to set decorator shape as Diamond -Diamond, -//Used to set decorator shape as path -Path, -} -} -module Diagram -{ -enum VerticalAlignment -{ -//Used to align text Vertically on left side of node/connector -Top, -//Used to align text Vertically on center of node/connector -Center, -//Used to align text Vertically on bottom of node/connector -Bottom, -} -} -module Diagram -{ -enum DiagramConstraints -{ -//Disables all DiagramConstraints -None, -//Enables/Disables interaction done with the help of API methods -APIUpdate, -//Enables/Disables UserInteraction -UserInteraction, -//Enables/Disables PageEditing -PageEditable, -//Enables/Disables Bridging -Bridging, -//Enables/Disables Zooming -Zoomable, -//Enables/Disables panning on horizontal axis -PannableX, -//Enables/Disables panning on vertical axis -PannableY, -//Enables/Disables Panning -Pannable, -//Enables/Disables undo actions -Undoable, -//Enables/Disables the sharp edges -CrispEdges, -//Enables/Disables the Diagram size updation on the window resize function -Resizable, -//Enables/Disables the Zooming of labels text editor -ZoomTextEditor, -//Enables/Disables the drag and drop of element from one diagram to the other -FloatElements, -//Enables all Constraints -Default, -} -} -module Diagram -{ -enum LabelRenderingMode -{ -//Sets the labelRenderingMode as Html -Html, -//Sets the labelRenderingMode as Svg -Svg, -} -} -module Diagram -{ -enum LayoutOrientations -{ -//Used to set LayoutOrientation from top to bottom -TopToBottom, -//Used to set LayoutOrientation from bottom to top -BottomToTop, -//Used to set LayoutOrientation from left to right -LeftToRight, -//Used to set LayoutOrientation from right to left -RightToLeft, -} -} -module Diagram -{ -enum LayoutTypes -{ -//Used not to set any specific layout -None, -//Used to set layout type as hierarchical layout -HierarchicalTree, -//Used to set layout type as organnizational chart -OrganizationalChart, -} -} -module Diagram -{ -enum BPMNActivity -{ -//Used to set BPMN Activity as None -None, -//Used to set BPMN Activity as Task -Task, -//Used to set BPMN Activity as SubProcess -SubProcess, -} -} -module Diagram -{ -enum BPMNAnnotationDirection -{ -//Used to set the direction of BPMN Annotation as left -Left, -//Used to set the direction of BPMN Annotation as right -Right, -//Used to set the direction of BPMN Annotation as top -Top, -//Used to set the direction of BPMN Annotation as bottom -Bottom, -} -} -module Diagram -{ -enum IconShapes -{ -//Used to set collapse icon shape as none -None, -//Used to set collapse icon shape as Arrow(Up/Down) -Arrow, -//Used to set collapse icon shape as Plus -Plus, -//Used to set collapse icon shape as Minus -Minus, -//Used to set collapse icon shape as path -Path, -//Used to set icon shape as template -Template, -//Used to set icon shape as image -Image, -} -} -module Diagram -{ -enum NodeConstraints -{ -//Disable all node Constraints -None, -//Enables node to be selected -Select, -//Enables node to be Deleted -Delete, -//Enables node to be Dragged -Drag, -//Enables node to be Rotated -Rotate, -//Enables node to be connected -Connect, -//Enables node to be resize north east -ResizeNorthEast, -//Enables node to be resize east -ResizeEast, -//Enables node to be resize south east -ResizeSouthEast, -//Enables node to be resize south -ResizeSouth, -//Enables node to be resize south west -ResizeSouthWest, -//Enables node to be resize west -ResizeWest, -//Enables node to be resize north west -ResizeNorthWest, -//Enables node to be resize north -ResizeNorth, -//Enables node to be Resized -Resize, -//Enables shadow -Shadow, -//Enables label of node to be Dragged -DragLabel, -//Enables panning should be done while node dragging -AllowPan, -//Enables Proportional resize for node -AspectRatio, -//Enables the user interaction with the node -PointerEvents, -//Enables contrast between clean edges for the node over rendering speed and geometric precision -CrispEdges, -//Enables all node constraints -Default, -} -} -module Diagram -{ -enum ContainerType -{ -//Sets the container type as Canvas -Canvas, -//Sets the container type as Stack -Stack, -} -} -module Diagram -{ -enum BPMNDataObjects -{ -//Used to notate the Input type BPMN data object -Input, -//Used to notate the Output type BPMN data object -Output, -//Used to set BPMN data object type as None -None, -} -} -module Diagram -{ -enum BPMNEvents -{ -//Used to set BPMN Event as Start -Start, -//Used to set BPMN Event as Intermediate -Intermediate, -//Used to set BPMN Event as End -End, -//Used to set BPMN Event as NonInterruptingStart -NonInterruptingStart, -//Used to set BPMN Event as NonInterruptingIntermediate -NonInterruptingIntermediate, -//Used to set BPMN Event as ThrowingIntermediate -ThrowingIntermediate, -} -} -module Diagram -{ -enum BPMNGateways -{ -//Used to set BPMN Gateway as None -None, -//Used to set BPMN Gateway as Exclusive -Exclusive, -//Used to set BPMN Gateway as Inclusive -Inclusive, -//Used to set BPMN Gateway as Parallel -Parallel, -//Used to set BPMN Gateway as Complex -Complex, -//Used to set BPMN Gateway as EventBased -EventBased, -//Used to set BPMN Gateway as ExclusiveEventBased -ExclusiveEventBased, -//Used to set BPMN Gateway as ParallelEventBased -ParallelEventBased, -} -} -module Diagram -{ -enum LabelEditMode -{ -//Used to set label edit mode as edit -Edit, -//Used to set label edit mode as view -View, -} -} -module Diagram -{ -enum OverflowType -{ -//Set overflow Type as ellipsis -Ellipsis, -//Set overflow Type as Clip -Clip, -} -} -module Diagram -{ -enum TextAlign -{ -//Used to align text on left side of node/connector -Left, -//Used to align text on center of node/connector -Center, -//Used to align text on Right side of node/connector -Right, -} -} -module Diagram -{ -enum TextDecorations -{ -//Used to set text decoration of the label as Underline -Underline, -//Used to set text decoration of the label as Overline -Overline, -//Used to set text decoration of the label as LineThrough -LineThrough, -//Used to set text decoration of the label as None -None, -} -} -module Diagram -{ -enum TextWrapping -{ -//Disables wrapping -NoWrap, -//Enables Line-break at normal word break points -Wrap, -//Enables Line-break at normal word break points with longer word overflows -WrapWithOverflow, -} -} -module Diagram -{ -enum PortConstraints -{ -//Disable all constraints -None, -//Enables connections with connector -Connect, -//Enables to create the connection when mouse hover on the port. -ConnectOnDrag, -} -} -module Diagram -{ -enum PortShapes -{ -//Used to set port shape as X -X, -//Used to set port shape as Circle -Circle, -//Used to set port shape as Square -Square, -//Used to set port shape as Path -Path, -} -} -module Diagram -{ -enum PortVisibility -{ -//Set the port visibility as Visible -Visible, -//Set the port visibility as Hidden -Hidden, -//Port get visible when hover connector on node -Hover, -//Port gets visible when connect connector to node -Connect, -//Specifies the port visibility as default -Default, -} -} -module Diagram -{ -enum BasicShapes -{ -//Used to specify node Shape as Rectangle -Rectangle, -//Used to specify node Shape as Ellipse -Ellipse, -//Used to specify node Shape as Path -Path, -//Used to specify node Shape as Polygon -Polygon, -//Used to specify node Shape as Triangle -Triangle, -//Used to specify node Shape as Plus -Plus, -//Used to specify node Shape as Star -Star, -//Used to specify node Shape as Pentagon -Pentagon, -//Used to specify node Shape as Heptagon -Heptagon, -//Used to specify node Shape as Octagon -Octagon, -//Used to specify node Shape as Trapezoid -Trapezoid, -//Used to specify node Shape as Decagon -Decagon, -//Used to specify node Shape as RightTriangle -RightTriangle, -//Used to specify node Shape as Cylinder -Cylinder, -} -} -module Diagram -{ -enum FlowShapes -{ -//Used to specify node Shape as Process -Process, -//Used to specify node Shape as Decision -Decision, -//Used to specify node Shape as Document -Document, -//Used to specify node Shape as PreDefinedProcess -PreDefinedProcess, -//Used to specify node Shape as Terminator -Terminator, -//Used to specify node Shape as PaperTap -PaperTap, -//Used to specify node Shape as DirectData -DirectData, -//Used to specify node Shape as SequentialData -SequentialData, -//Used to specify node Shape as Sort -Sort, -//Used to specify node Shape as MultiDocument -MultiDocument, -//Used to specify node Shape as Collate -Collate, -//Used to specify node Shape as SummingJunction -SummingJunction, -//Used to specify node Shape as Or -Or, -//Used to specify node Shape as InternalStorage -InternalStorage, -//Used to specify node Shape as Extract -Extract, -//Used to specify node Shape as ManualOperation -ManualOperation, -//Used to specify node Shape as Merge -Merge, -//Used to specify node Shape as OffPageReference -OffPageReference, -//Used to specify node Shape as SequentialAccessStorage -SequentialAccessStorage, -//Used to specify node Shape as Annotation1 -Annotation1, -//Used to specify node Shape as Annotation2 -Annotation2, -//Used to specify node Shape as Data -Data, -//Used to specify node Shape as Card -Card, -} -} -module Diagram -{ -enum BPMNShapes -{ -//Used to specify node Shape as Event -Event, -//Used to specify node Shape as Gateway -Gateway, -//Used to specify node Shape as Message -Message, -//Used to specify node Shape as DataObject -DataObject, -//Used to specify node Shape as DataSource -DataSource, -//Used to specify node Shape as Activity -Activity, -//Used to specify node Shape as Group -Group, -} -} -module Diagram -{ -enum UMLActivityShapes -{ -//Used to set UML ActivityShapes as Action -Action, -//Used to set UML ActivityShapes as Decision -Decision, -//Used to set UML ActivityShapes as MergeNode -MergeNode, -//Used to set UML ActivityShapes as InitialNode -InitialNode, -//Used to set UML ActivityShapes as FinalNode -FinalNode, -//Used to set UML ActivityShapes as ForkNode -ForkNode, -//Used to set UML ActivityShapes as JoinNode -JoinNode, -//Used to set UML ActivityShapes as TimeEvent -TimeEvent, -//Used to set UML ActivityShapes as AcceptingEvent -AcceptingEvent, -//Used to set UML ActivityShapes as SendSignal -SendSignal, -//Used to set UML ActivityShapes as ReceiveSignal -ReceiveSignal, -//Used to set UML ActivityShapes as StructuredNode -StructuredNode, -//Used to set UML ActivityShapes as Note -Note, -} -} -module Diagram -{ -enum BPMNBoundary -{ -//Used to set BPMN SubProcess's Boundary as Default -Default, -//Used to set BPMN SubProcess's Boundary as Call -Call, -//Used to set BPMN SubProcess's Boundary as Event -Event, -} -} -module Diagram -{ -enum BPMNLoops -{ -//Used to set BPMN Activity's Loop as None -None, -//Used to set BPMN Activity's Loop as Standard -Standard, -//Used to set BPMN Activity's Loop as ParallelMultiInstance -ParallelMultiInstance, -//Used to set BPMN Activity's Loop as SequenceMultiInstance -SequenceMultiInstance, -} -} -module Diagram -{ -enum BPMNSubProcessTypes -{ -//Used to set BPMN SubProcess type as None -None, -//Used to set BPMN SubProcess type as Transaction -Transaction, -//Used to set BPMN SubProcess type as Event -Event, -} -} -module Diagram -{ -enum BPMNTasks -{ -//Used to set BPMN Task Type as None -None, -//Used to set BPMN Task Type as Service -Service, -//Used to set BPMN Task Type as Receive -Receive, -//Used to set BPMN Task Type as Send -Send, -//Used to set BPMN Task Type as InstantiatingReceive -InstantiatingReceive, -//Used to set BPMN Task Type as Manual -Manual, -//Used to set BPMN Task Type as BusinessRule -BusinessRule, -//Used to set BPMN Task Type as User -User, -//Used to set BPMN Task Type as Script -Script, -//Used to set BPMN Task Type as Parallel -Parallel, -} -} -module Diagram -{ -enum BPMNTriggers -{ -//Used to set Event Trigger as None -None, -//Used to set Event Trigger as Message -Message, -//Used to set Event Trigger as Timer -Timer, -//Used to set Event Trigger as Escalation -Escalation, -//Used to set Event Trigger as Link -Link, -//Used to set Event Trigger as Error -Error, -//Used to set Event Trigger as Compensation -Compensation, -//Used to set Event Trigger as Signal -Signal, -//Used to set Event Trigger as Multiple -Multiple, -//Used to set Event Trigger as Parallel -Parallel, -//Used to set Event Trigger as Conditional -Conditional, -//Used to set Event Trigger as Termination -Termination, -//Used to set Event Trigger as Cancel -Cancel, -} -} -module Diagram -{ -enum Shapes -{ -//Used to specify node type as Text -Text, -//Used to specify node type as Image -Image, -//Used to specify node type as Html -Html, -//Used to specify node type as Native -Native, -//Used to specify node type as Basic -Basic, -//Used to specify node type as Flow -Flow, -//Used to specify node type as BPMN -BPMN, -//Used to specify node type as UMLClassifier -UMLClassifier, -//Used to specify node type as UMLActivity -UMLActivity, -} -} -module Diagram -{ -enum PageOrientations -{ -//Used to set orientation as Landscape -Landscape, -//Used to set orientation as portrait -Portrait, -} -} -module Diagram -{ -enum ScrollLimit -{ -//Used to set scrollLimit as Infinite -Infinite, -//Used to set scrollLimit as Diagram -Diagram, -//Used to set scrollLimit as Limited -Limited, -} -} -module Diagram -{ -enum BoundaryConstraints -{ -//Used to set boundaryConstraints as Infinite -Infinite, -//Used to set boundaryConstraints as Diagram -Diagram, -//Used to set boundaryConstraints as Page -Page, -} -} -module Diagram -{ -enum SelectorConstraints -{ -//Hides the selector -None, -//Sets the visibility of rotation handle as visible -Rotator, -//Sets the visibility of resize handles as visible -Resizer, -//Sets the visibility of user handles as visible -UserHandles, -//Sets the visibility of all selection handles as visible -All, -} -} -module Diagram -{ -enum UserHandlePositions -{ -//Set the position of the userhandle as topleft -TopLeft, -//Set the position of the userhandle as topcenter -TopCenter, -//Set the position of the userhandle as topright -TopRight, -//Set the position of the userhandle as middleleft -MiddleLeft, -//Set the position of the userhandle as middleright -MiddleRight, -//Set the position of the userhandle as bottomleft -BottomLeft, -//Set the position of the userhandle as bottomcenter -BottomCenter, -//Set the position of the userhandle as bottom right -BottomRight, -} -} -module Diagram -{ -enum SnapConstraints -{ -//Enables node to be snapped to horizontal gridlines -None, -//Enables node to be snapped to vertical gridlines -SnapToHorizontalLines, -//Enables node to be snapped to horizontal gridlines -SnapToVerticalLines, -//Enables node to be snapped to gridlines -SnapToLines, -//Enable horizontal lines -ShowHorizontalLines, -//Enable vertical lines -ShowVerticalLines, -//Enable both horizontal and vertical lines -ShowLines, -//Enable all the constraints -All, -} -} -module Diagram -{ -enum Tool -{ -//Disables all Tools -None, -//Enables/Disables SingleSelect tool -SingleSelect, -//Enables/Disables MultiSelect tool -MultipleSelect, -//Enables/Disables ZoomPan tool -ZoomPan, -//Enables/Disables DrawOnce tool -DrawOnce, -//Enables/Disables ContinuousDraw tool -ContinuesDraw, -} -} -module Diagram -{ -enum RelativeMode -{ -//Shows tooltip around the node -Object, -//Shows tooltip at the mouse position -Mouse, -} -} -module Diagram -{ -enum FileFormats -{ -//Used to export the diagram into JPG format. -JPG, -//Used to export the diagram into PNG format. -PNG, -//Used to export the diagram into BMP format. -BMP, -//Used to export the diagram into SVG format. -SVG, -} -} -module Diagram -{ -enum ExportModes -{ -//Used to export the diagram as a file. -Download, -//Used to export the diagram as raw data. -Data, -} -} -module Diagram -{ -enum Region -{ -//Used to export the content of the diagram only. -Content, -//Used to export the page region of the diagram. -PageSettings, -} -} -module Diagram -{ -enum Stretch -{ -//The diagram content preserves its original size. -None, -//The diagram content is resized to fill the destination dimensions. The aspect ratio is not preserved. -Fill, -//The diagram content is resized to fit in the destination dimensions while it preserves its native aspect ratio. -Uniform, -//The diagram content is resized to fill the destination dimensions while it preserves its native aspect ratio. If the aspect ratio of the destination rectangle differs from the source, the source content is clipped to fit in the destination dimensions. -UniformToFill, -} -} -module Diagram -{ -enum FitMode -{ -//Used to fit the diagram content based on page size. -Page, -//Used to fit the diagram content based on diagram width. -Width, -//Used to fit the diagram content based on diagram height. -Height, -} -} -module Diagram -{ -enum ZoomCommand -{ -//Used to zoom in the Diagram -ZoomIn, -//Used to zoom out the diagram -ZoomOut, -} -} - -class HeatMap extends ej.Widget { - static fn: HeatMap; - constructor(element: JQuery, options?: HeatMap.Model); - constructor(element: Element, options?: HeatMap.Model); - static Locale: any; - model:HeatMap.Model; - defaults:HeatMap.Model; -} -export module HeatMap{ - -export interface Model { - - /** Specifies the width of the heat map. - * @Default {null} - */ - width?: any; - - /** Specifies the width of the heat map. - * @Default {null} - */ - height?: any; - - /** Specifies the name of the heat map. - * @Default {null} - */ - id?: number; - - /** Enables or disables tooltip of heatmap - * @Default {true} - */ - showTooltip?: boolean; - - /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. - */ - tooltipSettings?: TooltipSettings; - - /** Specifies the source data of the heat map. - * @Default {[]} - */ - itemsSource?: any; - - /** Specifies the property of the heat map cell. - * @Default {Null} - */ - heatMapCell?: HeatMapCell; - - /** Specifies can enable responsive mode or not for heat map. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies whether the virtualization can be enable or not. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the default column properties for all the column style not specified in column properties. - * @Default {[]} - */ - defaultColumnStyle?: DefaultColumnStyle; - - /** Specifies the no of legends can sync with heat map. - * @Default {[]} - */ - legendCollection?: Array; - - /** Specifies the property and display value of the heat map column. - * @Default {[]} - */ - itemsMapping?: ItemsMapping; - - /** Specifies the color values of the heat map column data. - * @Default {[]} - */ - colorMappingCollection?: Array; - - /** Triggered when the mouse over on the cell. */ - cellMouseOver? (e: CellMouseOverEventArgs): void; - - /** Triggered when the mouse over on the cell. */ - cellMouseEnter? (e: CellMouseEnterEventArgs): void; - - /** Triggered when the mouse over on the cell. */ - cellMouseLeave? (e: CellMouseLeaveEventArgs): void; - - /** Triggered when the mouse over on the cell. */ - cellSelected? (e: CellSelectedEventArgs): void; -} - -export interface CellMouseOverEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; -} - -export interface CellMouseEnterEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; -} - -export interface CellMouseLeaveEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; -} - -export interface CellSelectedEventArgs { - - /** Value displayed on the cell - */ - cellValue?: string; - - /** Returns the HeatMap cell data - */ - source?: any; - - /** Returns the specific HeatMap cell - */ - cell?: any; -} - -export interface TooltipSettingsPositionTarget { - - /** Sets the arrow position again popup based on horizontal(x) value - * @Default {center} - */ - horizontal?: ej.datavisualization.HeatMap.Horizontal|string; - - /** Sets the arrow position again popup based on vertical(y) value - * @Default {top} - */ - vertical?: ej.datavisualization.HeatMap.Vertical|string; -} - -export interface TooltipSettingsPositionStem { - - /** Sets the arrow position again popup based on horizontal(x) value - * @Default {center} - */ - horizontal?: ej.datavisualization.HeatMap.Horizontal|string; - - /** Sets the arrow position again popup based on vertical(y) value - * @Default {bottom} - */ - vertical?: ej.datavisualization.HeatMap.Vertical|string; -} - -export interface TooltipSettingsPosition { - - /** Sets the Tooltip position against target. - */ - target?: TooltipSettingsPositionTarget; - - /** Sets the arrow position again popup. - */ - stem?: TooltipSettingsPositionStem; -} - -export interface TooltipSettingsAnimation { - - /** Defines the animation effect for the tooltip that should be shown when the mouse hovers over rows/columns. - * @Default {none} - */ - effect?: ej.datavisualization.HeatMap.Effect|string; - - /** Defines the animation speed for the tooltip that should be shown when the mouse hovers over rows/columns. - * @Default {0} - */ - speed?: number; -} - -export interface TooltipSettings { - - /** Defines the tooltip that should be shown when the mouse hovers over rows/columns. - * @Default {null} - */ - templateId?: string; - - /** Defines the tooltip of associate that should be shown when the mouse hovers over rows/columns. - * @Default {mouseFollow} - */ - associate?: ej.datavisualization.HeatMap.Associate|string; - - /** Enables/ disables the balloon for the tooltip to be shown - * @Default {true} - */ - isBalloon?: boolean; - - /** Defines various attributes of the Tooltip position - */ - position?: TooltipSettingsPosition; - - /** Defines the tooltip to be triggered. - * @Default {hover} - */ - trigger?: ej.datavisualization.HeatMap.Trigger|string; - - /** Defines the animation for the tooltip that should be shown when the mouse hovers over rows/columns. - */ - animation?: TooltipSettingsAnimation; -} - -export interface HeatMapCell { - - /** Specifies whether the cell content can be visible or not. - * @Default {ej.HeatMap.CellVisibility.Visible} - */ - showContent?: ej.datavisualization.HeatMap.CellVisibility|string; - - /** Specifies whether the cell color can be visible or not. - * @Default {true} - */ - showColor?: boolean; -} - -export interface DefaultColumnStyle { - - /** Specifies the alignment mode of the heat map column. - * @Default {ej.HeatMap.TextAlign.Center} - */ - textAlign?: any; - - /** Specifies the template id of the heat map column header. - */ - headerTemplateID?: string; - - /** Specifies the template id of all individual cell data of the heat map. - */ - templateID?: string; -} - -export interface ItemsMappingColumnStyle { - - /** Specifies the width of the heat map column. - * @Default {0} - */ - width?: number; - - /** Specifies the text align mode of the heat map column. - * @Default {ej.HeatMap.TextAlign.Center} - */ - textAlign?: string; - - /** Specifies the template id of the column header. - */ - headerTemplateID?: string; - - /** Specifies the template id of all individual cell data. - */ - templateID?: string; -} - -export interface ItemsMappingColumn { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; -} - -export interface ItemsMappingRow { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; -} - -export interface ItemsMappingValue { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; -} - -export interface ItemsMappingHeaderMapping { - - /** Specifies the name of the column or row. - */ - propertyName?: string; - - /** Specifies the value of the column or row. - */ - displayName?: string; - - /** Specifies the property and display value of the header. - * @Default {null} - */ - columnStyle?: any; -} - -export interface ItemsMapping { - - /** Column settings for the individual heat map column. - * @Default {null} - */ - columnStyle?: ItemsMappingColumnStyle; - - /** Specifies the property and display value of the column. - * @Default {null} - */ - column?: ItemsMappingColumn; - - /** Specifies the row property and display value of the heat map. - * @Default {null} - */ - row?: ItemsMappingRow; - - /** Specifies the property and display value of the column value. - * @Default {null} - */ - value?: ItemsMappingValue; - - /** Specifies the property and display value of the header. - * @Default {null} - */ - headerMapping?: ItemsMappingHeaderMapping; - - /** Specifies the property and display value of the collection of column. - * @Default {[]} - */ - columnMapping?: Array; -} - -export interface ColorMappingCollectionLabel { - - /** Enables/disables the bold style of the heat map label. - * @Default {false} - */ - bold?: boolean; - - /** Enables/disables the italic style of the heat map label. - * @Default {false} - */ - italic?: boolean; - - /** specifies the text value of the heat map label. - */ - text?: string; - - /** Specifies the text style of the heat map label. - * @Default {ej.HeatMap.TextDecoration.None} - */ - textDecoration?: ej.datavisualization.HeatMap.TextDecoration |string; - - /** Specifies the font size of the heat map label. - * @Default {10} - */ - fontSize?: number; - - /** Specifies the font family of the heat map label. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the font color of the heat map label. - * @Default {black} - */ - fontColor?: string; -} - -export interface ColorMappingCollection { - - /** Specifies the color of the heat map column data. - * @Default {white} - */ - color?: string; - - /** Specifies the color values of the heat map column data. - * @Default {0} - */ - value?: number; - - /** Specifies the label properties of the heat map color. - * @Default {null} - */ - label?: ColorMappingCollectionLabel; -} -} -module HeatMap -{ -enum Associate -{ -//Used to set the associate of tooltip as Target -Target, -//Used to set the associate of tooltip as MouseFollow -MouseFollow, -//Used to set the associate of tooltip as MouseEnter -MouseEnter, -} -} -module HeatMap -{ -enum Horizontal -{ -//Used to display the tooltip horizontally on left side of rows/columns -Left, -//Used to display the tooltip horizontally on center side of rows/columns -Center, -//Used to display the tooltip horizontally on right side of rows/columns -Right, -} -} -module HeatMap -{ -enum Vertical -{ -//Used to display the tooltip horizontally on left side of rows/columns -Top, -//Used to display the tooltip horizontally on center side of rows/columns -Center, -//Used to display the tooltip horizontally on right side of rows/columns -Bottom, -} -} -module HeatMap -{ -enum Trigger -{ -//Tooltip can be triggered on mouse hovers -Hover, -//Tooltip can be triggered on mouse click -Click, -} -} -module HeatMap -{ -enum Effect -{ -//Sets tooltip animation as None -None, -//Sets tooltip animation as Fade -Fade, -//Sets tooltip animation as Slide -Slide, -} -} -module HeatMap -{ -enum CellVisibility -{ -//Display the content of the cell -Visible, -//Hide the content of the cell -Hidden, -} -} -module HeatMap -{ -enum TextDecoration -{ -//Defines a line below the text -Underline, -//Defines a line above the text -Overline, -//Defines a line through the text -LineThrough, -//Defines a normal text. This is default -None, -} -} - -class HeatMapLegend extends ej.Widget { - static fn: HeatMapLegend; - constructor(element: JQuery, options?: HeatMapLegend.Model); - constructor(element: Element, options?: HeatMapLegend.Model); - static Locale: any; - model:HeatMapLegend.Model; - defaults:HeatMapLegend.Model; -} -export module HeatMapLegend{ - -export interface Model { - - /** Specifies the width of the heatmap legend. - * @Default {null} - */ - width?: any; - - /** Specifies the height of the heatmap legend. - * @Default {null} - */ - height?: any; - - /** Specifies can enable responsive mode or not for heatmap legend. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies whether the cell label can be shown or not. - * @Default {false} - */ - showLabel?: boolean; - - /** Specifies the color values of the column data. - * @Default {[]} - */ - colorMappingCollection?: Array; - - /** Specifies the orientation of the heatmap legend - * @Default {ej.HeatMap.LegendOrientation.Horizontal} - */ - orientation?: ej.datavisualization.HeatMap.LegendOrientation|string; - - /** Specifies the legend mode as gradient or list. - * @Default {ej.HeatMap.LegendMode.Gradient} - */ - legendMode?: ej.datavisualization.HeatMap.LegendMode|string; -} - -export interface ColorMappingCollectionLabel { - - /** Enables/disables the bold style of the heatmap legend label. - * @Default {false} - */ - bold?: boolean; - - /** Enables/disables the italic style of the heatmap legend label. - * @Default {false} - */ - italic?: boolean; - - /** specifies the text value of the heatmap legend label. - */ - text?: string; - - /** Specifies the text style of the heatmap legend label. - * @Default {ej.HeatMap.TextDecoration.None} - */ - textDecoration?: ej.datavisualization.HeatMap.TextDecoration|string; - - /** Specifies the font size of the heatmap legend label. - * @Default {10} - */ - fontSize?: number; - - /** Specifies the font family of the heatmap legend label. - * @Default {Arial} - */ - fontFamily?: string; - - /** Specifies the font color of the heatmap legend label. - * @Default {black} - */ - fontColor?: string; -} - -export interface ColorMappingCollection { - - /** Specifies the color of the heatmap legend data. - * @Default {white} - */ - color?: string; - - /** Specifies the color values of the heatmap legend column data. - * @Default {0} - */ - value?: number; - - /** Specifies the label properties of the heatmap legend color. - * @Default {null} - */ - label?: ColorMappingCollectionLabel; -} -} -module HeatMap -{ -enum LegendOrientation -{ -//Scales the graphic content non-uniformly to the width and height of the diagram area -Horizontal, -//Used to align the image at the top left of diagram area -Vertical, -} -} -module HeatMap -{ -enum LegendMode -{ -//Scales the graphic content non-uniformly to the width and height of the diagram area -Gradient, -//Used to align the image at the top left of diagram area -List, -} -} - -class Sparkline extends ej.Widget { - static fn: Sparkline; - constructor(element: JQuery, options?: Sparkline.Model); - constructor(element: Element, options?: Sparkline.Model); - static Locale: any; - model:Sparkline.Model; - defaults:Sparkline.Model; - - /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; -} -export module Sparkline{ - -export interface Model { - - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; - - /** Fill color for the sparkline series. - * @Default {#33ccff} - */ - fill?: string; - - /** Border color of the series. - * @Default {null} - */ - stroke?: string; - - /** Options for customizing the color, opacity and width of the sparkline border. - */ - border?: Border; - - /** Border width of the series. - * @Default {1} - */ - width?: number; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Color for series high point. - * @Default {null} - */ - highPointColor?: string; - - /** Color for series low point. - * @Default {null} - */ - lowPointColor?: string; - - /** Color for series start point. - * @Default {null} - */ - startPointColor?: string; - - /** Color for series end point. - * @Default {null} - */ - endPointColor?: string; - - /** Color for series negative point. - * @Default {null} - */ - negativePointColor?: string; - - /** Options for customizing the color, opacity of the sparkline start and end range. - */ - rangeBandSettings?: RangeBandSettings; - - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; - - /** Controls whether sparkline has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. - * @Default {false} - */ - enableCanvasRendering?: boolean; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Gap or padding for sparkline. - * @Default {8} - */ - padding?: number; - - /** Specifies the type of the series to render in sparkline. - * @Default {line. See Type} - */ - type?: ej.datavisualization.Sparkline.Type|string; - - /** Specifies the theme for Sparkline. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sparkline.Theme|string; - - /** Options to customize the tooltip. - */ - tooltip?: Tooltip; - - /** Options for displaying and customizing marker for a data point. - */ - markerSettings?: MarkerSettings; - - /** Options to customize the Sparkline size. - */ - size?: Size; - - /** Options for customizing the color,dashArray and width of the axisLine. - */ - axisLineSettings?: AxisLineSettings; - - /** Fires before loading the sparkline. */ - load? (e: LoadEventArgs): void; - - /** Fires after loaded the sparkline. */ - loaded? (e: LoadedEventArgs): void; - - /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ - tooltipInitialize? (e: TooltipInitializeEventArgs): void; - - /** Fires before rendering a series. This event is fired for each series in Sparkline. */ - seriesRendering? (e: SeriesRenderingEventArgs): void; - - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; - - /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ - pointRegionMouseClick? (e: PointRegionMouseClickEventArgs): void; - - /** Fires on moving mouse over the sparkline. */ - sparklineMouseMove? (e: SparklineMouseMoveEventArgs): void; - - /** Fires on moving mouse outside the sparkline. */ - sparklineMouseLeave? (e: SparklineMouseLeaveEventArgs): void; -} - -export interface LoadEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface LoadedEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface TooltipInitializeEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X Location of the trackball tooltip in pixels - */ - locationX?: any; - - /** Y Location of the trackball tooltip in pixels - */ - locationY?: any; - - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; - - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; -} - -export interface SeriesRenderingEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** Minimum x value of the data point - */ - minX?: any; - - /** Minimum y value of the data point - */ - minY?: any; - - /** Maximum x value of the data point - */ - maxX?: any; - - /** Maximum y value of the data point - */ - maxY?: any; -} - -export interface PointRegionMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; -} - -export interface PointRegionMouseClickEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; -} - -export interface SparklineMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface SparklineMouseLeaveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface Border { - - /** Border color of the sparkline. - * @Default {transparent} - */ - color?: string; - - /** Width of the Sparkline border. - * @Default {1} - */ - width?: number; -} - -export interface RangeBandSettings { - - /** Start value of the range band. - * @Default {null} - */ - startRange?: number; - - /** End value of the range band. - * @Default {null} - */ - endRange?: number; - - /** Range band opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Range band color of the series. - * @Default {transparent} - */ - color?: string; -} - -export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {transparent} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; -} - -export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {#111111} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sparkline.FontStyle|string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sparkline.FontWeight|string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {8px} - */ - size?: string; -} - -export interface Tooltip { - - /** Show/hides the tooltip visibility. - * @Default {false} - */ - visible?: boolean; - - /** Fill color for the sparkline tooltip. - * @Default {white} - */ - fill?: string; - - /** Custom template to the tooltip. - */ - template?: string; - - /** Options for customizing the border of the tooltip. - */ - border?: TooltipBorder; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; -} - -export interface MarkerSettingsBorder { - - /** Border color of the marker shape. - * @Default {transparent} - */ - color?: string; - - /** Controls the opacity of the marker border. - * @Default {1} - */ - opacity?: number; - - /** Border width of the marker shape. - * @Default {null} - */ - width?: number; -} - -export interface MarkerSettings { - - /** Controls the opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - - /** width of the marker shape. - * @Default {2} - */ - width?: number; - - /** Color of the marker shape. - * @Default {white} - */ - fill?: string; - - /** Options for customizing the border of the marker shape. - */ - border?: MarkerSettingsBorder; -} - -export interface Size { - - /** Height of the Sparkline. Height can be specified in either pixel or percentage. - * @Default {''} - */ - height?: string; - - /** Width of the Sparkline. Width can be specified in either pixel or percentage. - * @Default {''} - */ - width?: string; -} - -export interface AxisLineSettings { - - /** Controls the visibility of the axis. - * @Default {false} - */ - visible?: boolean; - - /** Color of the axis line. - * @Default {'#111111'} - */ - color?: string; - - /** Width of the axis line. - * @Default {1} - */ - width?: number; - - /** Dash array of the axis line. - * @Default {1} - */ - dashArray?: number; -} -} -module Sparkline -{ -enum Type -{ -//string -Area, -//string -Line, -//string -Column, -//string -Pie, -//string -WinLoss, -} -} -module Sparkline -{ -enum Theme -{ -//string -Azure, -//string -FlatLight, -//string -FlatDark, -//string -Azuredark, -//string -Lime, -//string -LimeDark, -//string -Saffron, -//string -SaffronDark, -//string -GradientLight, -//string -GradientDark, -} -} -module Sparkline -{ -enum FontStyle -{ -//string -Normal, -//string -Italic, -} -} -module Sparkline -{ -enum FontWeight -{ -//string -Regular, -//string -Bold, -//string -Lighter, -} -} - -class SunburstChart extends ej.Widget { - static fn: SunburstChart; - constructor(element: JQuery, options?: SunburstChart.Model); - constructor(element: Element, options?: SunburstChart.Model); - static Locale: any; - model:SunburstChart.Model; - defaults:SunburstChart.Model; - - /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - - /** destroy the sunburst - * @returns {void} - */ - _destroy(): void; -} -export module SunburstChart{ - -export interface Model { - - /** Background color of the plot area. - * @Default {null} - */ - background?: string; - - /** Bind the data field from the data source. - * @Default {null} - */ - valueMemberPath?: string; - - /** Options for customizing the sunburst border. - */ - border?: Border; - - /** Options for customizing the sunburst segment border. - */ - segmentBorder?: SegmentBorder; - - /** Specifies the dataSource to the sunburst. - * @Default {null} - */ - dataSource?: any; - - /** Palette color for the data points. - * @Default {null} - */ - palette?: string; - - /** Parent node of the data points. - * @Default {null} - */ - parentNode?: string; - - /** Name of the property in the datasource that contains x values. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y values. - * @Default {null} - */ - yName?: string; - - /** Controls whether sunburst has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Options to customize the Sunburst size. - */ - size?: Size; - - /** Controls the visibility of sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options to customize the Sunburst tooltip. - */ - tooltip?: Tooltip; - - /** Options for customizing sunburst points. - */ - points?: Points; - - /** Sunburst rendering will start from the specified value - * @Default {null} - */ - startAngle?: number; - - /** Sunburst rendering will end at the specified value - * @Default {null} - */ - endAngle?: number; - - /** Sunburst outer radius value - * @Default {1} - */ - radius?: number; - - /** Sunburst inner radius value - * @Default {0.4} - */ - innerRadius?: number; - - /** Options to customize the Sunburst dataLabel. - */ - dataLabelSettings?: DataLabelSettings; - - /** Options for customizing the title and subtitle of sunburst. - */ - title?: Title; - - /** Options for customizing the appearance of the levels or point while highlighting. - */ - highlightSettings?: HighlightSettings; - - /** Options for customizing the appearance of the levels or data point while selection. - */ - selectionSettings?: SelectionSettings; - - /** Specify levels of sunburst for grouped visualization of data - * @Default {[]} - */ - levels?: Array; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; - - /** Specifies the theme for Sunburst. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sunburst.SunburstTheme|string; - - /** Options to customize the left, right, top and bottom margins of sunburst area. - */ - margin?: Margin; - - /** Enable/disable the animation for all the levels. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Opacity of the levels. - * @Default {1} - */ - opacity?: number; - - /** Options for enable zooming feature of chart. - */ - zoomSettings?: ZoomSettings; - - /** Animation type of sunburst - * @Default {rotation. See Alignment} - */ - animationType?: ej.datavisualization.Sunburst.Animation|string; - - /** Fires before loading. */ - load? (e: LoadEventArgs): void; - - /** Fires before rendering sunburst. */ - preRender? (e: PreRenderEventArgs): void; - - /** Fires after rendering sunburst. */ - loaded? (e: LoadedEventArgs): void; - - /** Fires before rendering the datalabel */ - dataLabelRendering? (e: DataLabelRenderingEventArgs): void; - - /** Fires before rendering each segment */ - segmentRendering? (e: SegmentRenderingEventArgs): void; - - /** Fires before rendering sunburst title. */ - titleRendering? (e: TitleRenderingEventArgs): void; - - /** Fires during initialization of tooltip. */ - tooltipInitialize? (e: TooltipInitializeEventArgs): void; - - /** Fires after clicking the point in sunburst */ - pointRegionClick? (e: PointRegionClickEventArgs): void; - - /** Fires while moving the mouse over sunburst points */ - pointRegionMouseMove? (e: PointRegionMouseMoveEventArgs): void; - - /** Fires when clicking the point to perform drilldown. */ - drillDownClick? (e: DrillDownClickEventArgs): void; - - /** Fires when resetting drilldown points. */ - drillDownBack? (e: DrillDownBackEventArgs): void; - - /** Fires after resetting the sunburst points */ - drillDownReset? (e: DrillDownResetEventArgs): void; -} - -export interface LoadEventArgs { - - /** Load event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface PreRenderEventArgs { - - /** PreRender event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface LoadedEventArgs { - - /** Loaded event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DataLabelRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface SegmentRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface TitleRenderingEventArgs { - - /** Sunburst title data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface TooltipInitializeEventArgs { - - /** Sunburst tooltip data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface PointRegionClickEventArgs { - - /** Includes clicked points region data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface PointRegionMouseMoveEventArgs { - - /** Includes data of mouse moved region - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DrillDownClickEventArgs { - - /** Clicked point data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DrillDownBackEventArgs { - - /** Drill down data of points - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface DrillDownResetEventArgs { - - /** Drill down reset data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; -} - -export interface Border { - - /** Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst border. - * @Default {2} - */ - width?: number; -} - -export interface SegmentBorder { - - /** Segment Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst segment border. - * @Default {2} - */ - width?: number; -} - -export interface Size { - - /** Height of the Sunburst. - * @Default {''} - */ - height?: string; - - /** Width of the Sunburst. - * @Default {''} - */ - width?: string; -} - -export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {5} - */ - width?: number; -} - -export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {null} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {12px} - */ - size?: string; -} - -export interface Tooltip { - - /** tooltip visibility of the Sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options for customizing the border of the sunburst tooltip. - */ - border?: TooltipBorder; - - /** Fill color for the sunburst tooltip. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - - /** Custom template to the tooltip. - * @Default {null} - */ - template?: string; -} - -export interface Points { - - /** Points x value of the sunburst. - * @Default {null} - */ - x?: string; - - /** Points y value of the sunburst. - * @Default {null} - */ - y?: number; - - /** Points text of the sunburst. - * @Default {null} - */ - text?: string; - - /** Points fill color of the sunburst. - * @Default {null} - */ - fill?: string; -} - -export interface DataLabelSettingsFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; -} - -export interface DataLabelSettings { + /** Name of the event + */ + type?: string; + } - /** Datalabel visibility of the Sunburst. - * @Default {false} - */ - visible?: boolean; + export interface DrillDownBackEventArgs { - /** Alignment of sunburst datalabel - * @Default {Angle. See DatalabelAlignment} - */ - labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode|string; + /** Drill down data of points + */ + data?: string; - /** Options for customizing the data label font. - */ - font?: DataLabelSettingsFont; + /** Set this option to true to cancel the event + */ + cancel?: boolean; - /** Custom template for datalabel - * @Default {null} - */ - template?: string; + /** Instance of the sunburst model object + */ + model?: any; - /** Fill color for the datalabel - * @Default {null} - */ - fill?: string; + /** Name of the event + */ + type?: string; + } - /** Datalabel overflow mode - * @Default {Trim. See LabelOverflowMode} - */ - labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode|string; -} - -export interface TitleFont { - - /** Font family for Sunburst title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for Sunburst title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for Sunburst title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Opacity of the Sunburst title. - * @Default {1} - */ - opacity?: number; - - /** Font size for Sunburst title. - * @Default {20px} - */ - size?: string; -} - -export interface TitleSubtitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; - - /** Font size for sub title. - * @Default {12px} - */ - size?: string; -} - -export interface TitleSubtitle { - - /** Subtitle text for sunburst - */ - text?: string; - - /** Sub title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Sub title text alignment - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; - - /** Options for customizing the font of sub title. - */ - font?: TitleSubtitleFont; -} - -export interface Title { - - /** Title text for sunburst - */ - text?: string; - - /** Title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Title text alignment - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; - - /** Options for customizing the font of sunburst title. - */ - font?: TitleFont; - - /** Options to customize the sub title of Sunburst. - */ - subtitle?: TitleSubtitle; -} - -export interface HighlightSettings { - - /** Enables/disables the ability to highlight the levels or point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or point has to be highlighted. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; - - /** Color of the levels/point on highlight. - * @Default {red} - */ - color?: string; - - /** Opacity of the levels/point on highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be highlighted. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; -} - -export interface SelectionSettings { - - /** Enables/disables the ability to select the levels or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or data point has to be selected. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode|string; - - /** Color of the levels/point on selection. - * @Default {green} - */ - color?: string; - - /** Opacity of the levels/point on selection. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be selected. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType|string; -} - -export interface Level { - - /** Specifies the group member path - * @Default {null} - */ - groupMemberPath?: string; -} - -export interface LegendBorder { - - /** Border color of the legend. - * @Default {null} - */ - color?: string; - - /** Border width of the legend. - * @Default {1} - */ - width?: number; -} - -export interface LegendFont { - - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; -} - -export interface LegendItemStyle { - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; -} - -export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; -} - -export interface LegendSize { + export interface DrillDownResetEventArgs { + + /** Drill down reset data + */ + data?: string; - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; -} - -export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle|string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight|string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; -} - -export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Enables or disables the legend title. - * @Default {true} - */ - visible?: string; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; -} - -export interface Legend { - - /** Visibility of the legend. - * @Default {false} - */ - visible?: boolean; - - /** Interactive action of legend items. - * @Default {toggleSegmentVisibility. See Alignment} - */ - clickAction?: ej.datavisualization.Sunburst.SunburstClickAction|string; - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Sunburst.SunburstAlignment|string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Sunburst.SunburstLegendPosition|string; - - /** Shape of the legend items. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Sunburst.SunburstLegendShape|string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; -} - -export interface Margin { - - /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. - * @Default {10} - */ - left?: number; - - /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. - * @Default {10} - */ - right?: number; - - /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. - * @Default {10} - */ - top?: number; - - /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. - * @Default {10} - */ - bottom?: number; -} - -export interface ZoomSettings { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Toolbar horizontal alignment - * @Default {right. See Alignment} - */ - toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment|string; - - /** Toolbar vertical alignment - * @Default {top. See Alignment} - */ - toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment|string; -} -} -module Sunburst -{ -enum FontStyle -{ -//string -Normal, -//string -Italic, -} -} -module Sunburst -{ -enum FontWeight -{ -//string -Regular, -//string -Bold, -//string -Lighter, -} -} -module Sunburst -{ -enum SunburstLabelRotationMode -{ -//string -Angle, -//string -Normal, -} -} -module Sunburst -{ -enum SunburstLabelOverflowMode -{ -//string -Trim, -//string -Hide, -//string -None, -} -} -module Sunburst -{ -enum SunburstAlignment -{ -//string -Center, -//string -Near, -//string -Far, -} -} -module Sunburst -{ -enum SunburstHighlightMode -{ -//string -Point, -//string -Parent, -//string -Child, -//string -All, -} -} -module Sunburst -{ -enum SunburstHighlightType -{ -//string -Opacity, -//string -Color, -} -} -module Sunburst -{ -enum SunburstClickAction -{ -//string -None, -//string -ToggleSegmentVisibility, -//string -ToggleSegmentSelection, -} -} -module Sunburst -{ -enum SunburstLegendPosition -{ -//string -Left, -//string -Right, -//string -Top, -//string -Bottom, -} -} -module Sunburst -{ -enum SunburstLegendShape -{ -//string -Diamond, -//string -Pentagon, -//string -Rectangle, -//string -Circle, -//string -Cross, -//string -Triangle, -} -} -module Sunburst -{ -enum SunburstTheme -{ -//string -FlatLight, -//string -FlatDark, -} -} -module Sunburst -{ -enum SunburstHorizontalAlignment -{ -//string -Center, -//string -Left, -//string -Right, -} -} -module Sunburst -{ -enum SunburstVerticalAlignment -{ -//string -Top, -//string -Bottom, -//string -Middle, -} -} -module Sunburst -{ -enum Animation -{ -//string -Rotation, -//string -FadeIn, -} -} - -class Overview extends ej.Widget { - static fn: Overview; - constructor(element: JQuery, options?: Overview.Model); - constructor(element: Element, options?: Overview.Model); - static Locale: any; - model:Overview.Model; - defaults:Overview.Model; -} -export module Overview{ - -export interface Model { - - /** The sourceId property of overview should be set with the corresponding Diagram ID for you need the overall view. - * @Default {null} - */ - sourceID?: string; - - /** Defines the height of the overview - * @Default {400} - */ - height?: number; - - /** Defines the width of the overview - * @Default {250} - */ - width?: number; -} -} + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst border. + * @Default {2} + */ + width?: number; + } + + export interface SegmentBorder { + + /** Segment Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst segment border. + * @Default {2} + */ + width?: number; + } + + export interface Size { + + /** Height of the Sunburst. + * @Default {''} + */ + height?: string; + + /** Width of the Sunburst. + * @Default {''} + */ + width?: string; + } + + export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {5} + */ + width?: number; + } + + export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {null} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {12px} + */ + size?: string; + } + + export interface Tooltip { + + /** tooltip visibility of the Sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options for customizing the border of the sunburst tooltip. + */ + border?: TooltipBorder; + + /** Fill color for the sunburst tooltip. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + + /** Custom template to the tooltip. + * @Default {null} + */ + template?: string; + } + + export interface Points { + + /** Points x value of the sunburst. + * @Default {null} + */ + x?: string; + + /** Points y value of the sunburst. + * @Default {null} + */ + y?: number; + + /** Points text of the sunburst. + * @Default {null} + */ + text?: string; + + /** Points fill color of the sunburst. + * @Default {null} + */ + fill?: string; + } + + export interface DataLabelSettingsFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; + } + + export interface DataLabelSettings { + + /** Datalabel visibility of the Sunburst. + * @Default {false} + */ + visible?: boolean; + + /** Alignment of sunburst datalabel + * @Default {Angle. See DatalabelAlignment} + */ + labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode | string; + + /** Options for customizing the data label font. + */ + font?: DataLabelSettingsFont; + + /** Custom template for datalabel + * @Default {null} + */ + template?: string; + + /** Fill color for the datalabel + * @Default {null} + */ + fill?: string; + + /** Datalabel overflow mode + * @Default {Trim. See LabelOverflowMode} + */ + labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode | string; + } + + export interface TitleFont { + + /** Font family for Sunburst title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Sunburst title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for Sunburst title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the Sunburst title. + * @Default {1} + */ + opacity?: number; + + /** Font size for Sunburst title. + * @Default {20px} + */ + size?: string; + } + + export interface TitleSubtitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; + } + + export interface TitleSubtitle { + + /** Subtitle text for sunburst + */ + text?: string; + + /** Sub title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Sub title text alignment + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the font of sub title. + */ + font?: TitleSubtitleFont; + } + + export interface Title { + + /** Title text for sunburst + */ + text?: string; + + /** Title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Title text alignment + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the font of sunburst title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Sunburst. + */ + subtitle?: TitleSubtitle; + } + + export interface HighlightSettings { + + /** Enables/disables the ability to highlight the levels or point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or point has to be highlighted. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; + + /** Color of the levels/point on highlight. + * @Default {red} + */ + color?: string; + + /** Opacity of the levels/point on highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be highlighted. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; + } + + export interface SelectionSettings { + + /** Enables/disables the ability to select the levels or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or data point has to be selected. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; + + /** Color of the levels/point on selection. + * @Default {green} + */ + color?: string; + + /** Opacity of the levels/point on selection. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be selected. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; + } + + export interface Level { + + /** Specifies the group member path + * @Default {null} + */ + groupMemberPath?: string; + } + + export interface LegendBorder { + + /** Border color of the legend. + * @Default {null} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; + } + + export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; + } + + export interface LegendItemStyle { + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; + } + + export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; + } + + export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; + } + + export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; + } + + export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Enables or disables the legend title. + * @Default {true} + */ + visible?: string; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + } + + export interface Legend { + + /** Visibility of the legend. + * @Default {false} + */ + visible?: boolean; + + /** Interactive action of legend items. + * @Default {toggleSegmentVisibility. See Alignment} + */ + clickAction?: ej.datavisualization.Sunburst.SunburstClickAction | string; + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Sunburst.SunburstLegendPosition | string; + + /** Shape of the legend items. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Sunburst.SunburstLegendShape | string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; + } + + export interface Margin { + + /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. + * @Default {10} + */ + left?: number; + + /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. + * @Default {10} + */ + right?: number; + + /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. + * @Default {10} + */ + top?: number; + + /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. + * @Default {10} + */ + bottom?: number; + } + + export interface ZoomSettings { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Toolbar horizontal alignment + * @Default {right. See Alignment} + */ + toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment | string; + + /** Toolbar vertical alignment + * @Default {top. See Alignment} + */ + toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment | string; + } + } + namespace Sunburst { + enum FontStyle { + //string + Normal, + //string + Italic, + } + } + namespace Sunburst { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } + } + namespace Sunburst { + enum SunburstLabelRotationMode { + //string + Angle, + //string + Normal, + } + } + namespace Sunburst { + enum SunburstLabelOverflowMode { + //string + Trim, + //string + Hide, + //string + None, + } + } + namespace Sunburst { + enum SunburstAlignment { + //string + Center, + //string + Near, + //string + Far, + } + } + namespace Sunburst { + enum SunburstHighlightMode { + //string + Point, + //string + Parent, + //string + Child, + //string + All, + } + } + namespace Sunburst { + enum SunburstHighlightType { + //string + Opacity, + //string + Color, + } + } + namespace Sunburst { + enum SunburstClickAction { + //string + None, + //string + ToggleSegmentVisibility, + //string + ToggleSegmentSelection, + } + } + namespace Sunburst { + enum SunburstLegendPosition { + //string + Left, + //string + Right, + //string + Top, + //string + Bottom, + } + } + namespace Sunburst { + enum SunburstLegendShape { + //string + Diamond, + //string + Pentagon, + //string + Rectangle, + //string + Circle, + //string + Cross, + //string + Triangle, + } + } + namespace Sunburst { + enum SunburstTheme { + //string + FlatLight, + //string + FlatDark, + } + } + namespace Sunburst { + enum SunburstHorizontalAlignment { + //string + Center, + //string + Left, + //string + Right, + } + } + namespace Sunburst { + enum SunburstVerticalAlignment { + //string + Top, + //string + Bottom, + //string + Middle, + } + } + namespace Sunburst { + enum Animation { + //string + Rotation, + //string + FadeIn, + } + } + + class Overview extends ej.Widget { + static fn: Overview; + constructor(element: JQuery | Element, options?: Overview.Model); + static Locale: any; + model: Overview.Model; + defaults: Overview.Model; + } + export namespace Overview { + + export interface Model { + + /** The sourceId property of overview should be set with the corresponding Diagram ID for you need the overall view. + * @Default {null} + */ + sourceID?: string; + + /** Defines the height of the overview + * @Default {400} + */ + height?: number; + + /** Defines the width of the overview + * @Default {250} + */ + width?: number; + } + } } interface JQueryXHR { + /** + * Returns the cancel option value. + */ + cancel?: boolean; } interface JQueryPromise { + /** + * Returns the cancel option value. + */ + cancel?: boolean; } interface JQueryDeferred extends JQueryPromise { + /** + * Returns the cancel option value. + */ + cancel?: boolean; } interface JQueryParam { + /** + * Returns the cancel option value. + */ + cancel?: boolean; } interface JQuery { - data(key: any): any; + data(key: any): any; } interface Window { - ej: typeof ej; + ej: typeof ej; } interface JQuery { -ejAccordion(): JQuery; -ejAccordion(options?: ej.Accordion.Model): JQuery; -ejAccordion(memberName: any, value?: any, param?: any): any; -data(key: "ejAccordion"): ej.Accordion; - -ejAutocomplete(): JQuery; -ejAutocomplete(options?: ej.Autocomplete.Model): JQuery; -ejAutocomplete(memberName: any, value?: any, param?: any): any; -data(key: "ejAutocomplete"): ej.Autocomplete; - -ejBarcode(): JQuery; -ejBarcode(options?: ej.datavisualization.Barcode.Model): JQuery; -ejBarcode(memberName: any, value?: any, param?: any): any; -data(key: "ejBarcode"): ej.datavisualization.Barcode; - -ejBulletGraph(): JQuery; -ejBulletGraph(options?: ej.datavisualization.BulletGraph.Model): JQuery; -ejBulletGraph(memberName: any, value?: any, param?: any): any; -data(key: "ejBulletGraph"): ej.datavisualization.BulletGraph; - -ejButton(): JQuery; -ejButton(options?: ej.Button.Model): JQuery; -ejButton(memberName: any, value?: any, param?: any): any; -data(key: "ejButton"): ej.Button; - -ejCaptcha(): JQuery; -ejCaptcha(options?: ej.Captcha.Model): JQuery; -ejCaptcha(memberName: any, value?: any, param?: any): any; -data(key: "ejCaptcha"): ej.Captcha; - -ejChart(): JQuery; -ejChart(options?: ej.datavisualization.Chart.Model): JQuery; -ejChart(memberName: any, value?: any, param?: any): any; -data(key: "ejChart"): ej.datavisualization.Chart; - -ejCheckBox(): JQuery; -ejCheckBox(options?: ej.CheckBox.Model): JQuery; -ejCheckBox(memberName: any, value?: any, param?: any): any; -data(key: "ejCheckBox"): ej.CheckBox; - -ejCircularGauge(): JQuery; -ejCircularGauge(options?: ej.datavisualization.CircularGauge.Model): JQuery; -ejCircularGauge(memberName: any, value?: any, param?: any): any; -data(key: "ejCircularGauge"): ej.datavisualization.CircularGauge; - -ejColorPicker(): JQuery; -ejColorPicker(options?: ej.ColorPicker.Model): JQuery; -ejColorPicker(memberName: any, value?: any, param?: any): any; -data(key: "ejColorPicker"): ej.ColorPicker; - -ejDatePicker(): JQuery; -ejDatePicker(options?: ej.DatePicker.Model): JQuery; -ejDatePicker(memberName: any, value?: any, param?: any): any; -data(key: "ejDatePicker"): ej.DatePicker; - -ejDateRangePicker(): JQuery; -ejDateRangePicker(options?: ej.DateRangePicker.Model): JQuery; -ejDateRangePicker(memberName: any, value?: any, param?: any): any; -data(key: "ejDateRangePicker"): ej.DateRangePicker; - -ejDateTimePicker(): JQuery; -ejDateTimePicker(options?: ej.DateTimePicker.Model): JQuery; -ejDateTimePicker(memberName: any, value?: any, param?: any): any; -data(key: "ejDateTimePicker"): ej.DateTimePicker; - -ejDiagram(): JQuery; -ejDiagram(options?: ej.datavisualization.Diagram.Model): JQuery; -ejDiagram(memberName: any, value?: any, param?: any): any; -data(key: "ejDiagram"): ej.datavisualization.Diagram; - -ejDialog(): JQuery; -ejDialog(options?: ej.Dialog.Model): JQuery; -ejDialog(memberName: any, value?: any, param?: any): any; -data(key: "ejDialog"): ej.Dialog; - -ejDigitalGauge(): JQuery; -ejDigitalGauge(options?: ej.datavisualization.DigitalGauge.Model): JQuery; -ejDigitalGauge(memberName: any, value?: any, param?: any): any; -data(key: "ejDigitalGauge"): ej.datavisualization.DigitalGauge; - -ejDocumentEditor(): JQuery; -ejDocumentEditor(options?: ej.DocumentEditor.Model): JQuery; -ejDocumentEditor(memberName: any, value?: any, param?: any): any; -data(key: "ejDocumentEditor"): ej.DocumentEditor; - -ejDraggable(): JQuery; -ejDraggable(options?: ej.Draggable.Model): JQuery; -ejDraggable(memberName: any, value?: any, param?: any): any; -data(key: "ejDraggable"): ej.Draggable; - -ejDropDownList(): JQuery; -ejDropDownList(options?: ej.DropDownList.Model): JQuery; -ejDropDownList(memberName: any, value?: any, param?: any): any; -data(key: "ejDropDownList"): ej.DropDownList; - -ejDroppable(): JQuery; -ejDroppable(options?: ej.Droppable.Model): JQuery; -ejDroppable(memberName: any, value?: any, param?: any): any; -data(key: "ejDroppable"): ej.Droppable; - -ejFileExplorer(): JQuery; -ejFileExplorer(options?: ej.FileExplorer.Model): JQuery; -ejFileExplorer(memberName: any, value?: any, param?: any): any; -data(key: "ejFileExplorer"): ej.FileExplorer; - -ejGantt(): JQuery; -ejGantt(options?: ej.Gantt.Model): JQuery; -ejGantt(memberName: any, value?: any, param?: any): any; -data(key: "ejGantt"): ej.Gantt; - -ejGrid(): JQuery; -ejGrid(options?: ej.Grid.Model): JQuery; -ejGrid(memberName: any, value?: any, param?: any): any; -data(key: "ejGrid"): ej.Grid; - -ejGroupButton(): JQuery; -ejGroupButton(options?: ej.GroupButton.Model): JQuery; -ejGroupButton(memberName: any, value?: any, param?: any): any; -data(key: "ejGroupButton"): ej.GroupButton; - -ejHeatMap(): JQuery; -ejHeatMap(options?: ej.datavisualization.HeatMap.Model): JQuery; -ejHeatMap(memberName: any, value?: any, param?: any): any; -data(key: "ejHeatMap"): ej.datavisualization.HeatMap; - -ejHeatMapLegend(): JQuery; -ejHeatMapLegend(options?: ej.datavisualization.HeatMapLegend.Model): JQuery; -ejHeatMapLegend(memberName: any, value?: any, param?: any): any; -data(key: "ejHeatMapLegend"): ej.datavisualization.HeatMapLegend; - -ejKanban(): JQuery; -ejKanban(options?: ej.Kanban.Model): JQuery; -ejKanban(memberName: any, value?: any, param?: any): any; -data(key: "ejKanban"): ej.Kanban; - -ejLinearGauge(): JQuery; -ejLinearGauge(options?: ej.datavisualization.LinearGauge.Model): JQuery; -ejLinearGauge(memberName: any, value?: any, param?: any): any; -data(key: "ejLinearGauge"): ej.datavisualization.LinearGauge; - -ejListBox(): JQuery; -ejListBox(options?: ej.ListBox.Model): JQuery; -ejListBox(memberName: any, value?: any, param?: any): any; -data(key: "ejListBox"): ej.ListBox; - -ejListView(): JQuery; -ejListView(options?: ej.ListView.Model): JQuery; -ejListView(memberName: any, value?: any, param?: any): any; -data(key: "ejListView"): ej.ListView; - -ejMap(): JQuery; -ejMap(options?: ej.datavisualization.Map.Model): JQuery; -ejMap(memberName: any, value?: any, param?: any): any; -data(key: "ejMap"): ej.datavisualization.Map; - -ejMaskEdit(): JQuery; -ejMaskEdit(options?: ej.MaskEdit.Model): JQuery; -ejMaskEdit(memberName: any, value?: any, param?: any): any; -data(key: "ejMaskEdit"): ej.MaskEdit; - -ejMenu(): JQuery; -ejMenu(options?: ej.Menu.Model): JQuery; -ejMenu(memberName: any, value?: any, param?: any): any; -data(key: "ejMenu"): ej.Menu; - -ejNavigationDrawer(): JQuery; -ejNavigationDrawer(options?: ej.NavigationDrawer.Model): JQuery; -ejNavigationDrawer(memberName: any, value?: any, param?: any): any; -data(key: "ejNavigationDrawer"): ej.NavigationDrawer; - -ejOverview(): JQuery; -ejOverview(options?: ej.datavisualization.Overview.Model): JQuery; -ejOverview(memberName: any, value?: any, param?: any): any; -data(key: "ejOverview"): ej.datavisualization.Overview; - -ejPager(): JQuery; -ejPager(options?: ej.Pager.Model): JQuery; -ejPager(memberName: any, value?: any, param?: any): any; -data(key: "ejPager"): ej.Pager; - -ejPdfViewer(): JQuery; -ejPdfViewer(options?: ej.PdfViewer.Model): JQuery; -ejPdfViewer(memberName: any, value?: any, param?: any): any; -data(key: "ejPdfViewer"): ej.PdfViewer; - -ejPivotChart(): JQuery; -ejPivotChart(options?: ej.PivotChart.Model): JQuery; -ejPivotChart(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotChart"): ej.PivotChart; - -ejPivotClient(): JQuery; -ejPivotClient(options?: ej.PivotClient.Model): JQuery; -ejPivotClient(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotClient"): ej.PivotClient; - -ejPivotGauge(): JQuery; -ejPivotGauge(options?: ej.PivotGauge.Model): JQuery; -ejPivotGauge(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotGauge"): ej.PivotGauge; - -ejPivotGrid(): JQuery; -ejPivotGrid(options?: ej.PivotGrid.Model): JQuery; -ejPivotGrid(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotGrid"): ej.PivotGrid; - -ejPivotPager(): JQuery; -ejPivotPager(options?: ej.PivotPager.Model): JQuery; -ejPivotPager(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotPager"): ej.PivotPager; - -ejPivotSchemaDesigner(): JQuery; -ejPivotSchemaDesigner(options?: ej.PivotSchemaDesigner.Model): JQuery; -ejPivotSchemaDesigner(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotSchemaDesigner"): ej.PivotSchemaDesigner; - -ejPivotTreeMap(): JQuery; -ejPivotTreeMap(options?: ej.PivotTreeMap.Model): JQuery; -ejPivotTreeMap(memberName: any, value?: any, param?: any): any; -data(key: "ejPivotTreeMap"): ej.PivotTreeMap; - -ejPrint(): JQuery; -ejPrint(options?: ej.Print.Model): JQuery; -ejPrint(memberName: any, value?: any, param?: any): any; -data(key: "ejPrint"): ej.Print; - -ejProgressBar(): JQuery; -ejProgressBar(options?: ej.ProgressBar.Model): JQuery; -ejProgressBar(memberName: any, value?: any, param?: any): any; -data(key: "ejProgressBar"): ej.ProgressBar; - -ejRadialMenu(): JQuery; -ejRadialMenu(options?: ej.RadialMenu.Model): JQuery; -ejRadialMenu(memberName: any, value?: any, param?: any): any; -data(key: "ejRadialMenu"): ej.RadialMenu; - -ejRadialSlider(): JQuery; -ejRadialSlider(options?: ej.RadialSlider.Model): JQuery; -ejRadialSlider(memberName: any, value?: any, param?: any): any; -data(key: "ejRadialSlider"): ej.RadialSlider; - -ejRadioButton(): JQuery; -ejRadioButton(options?: ej.RadioButton.Model): JQuery; -ejRadioButton(memberName: any, value?: any, param?: any): any; -data(key: "ejRadioButton"): ej.RadioButton; - -ejRangeNavigator(): JQuery; -ejRangeNavigator(options?: ej.datavisualization.RangeNavigator.Model): JQuery; -ejRangeNavigator(memberName: any, value?: any, param?: any): any; -data(key: "ejRangeNavigator"): ej.datavisualization.RangeNavigator; - -ejRating(): JQuery; -ejRating(options?: ej.Rating.Model): JQuery; -ejRating(memberName: any, value?: any, param?: any): any; -data(key: "ejRating"): ej.Rating; - -ejRecurrenceEditor(): JQuery; -ejRecurrenceEditor(options?: ej.RecurrenceEditor.Model): JQuery; -ejRecurrenceEditor(memberName: any, value?: any, param?: any): any; -data(key: "ejRecurrenceEditor"): ej.RecurrenceEditor; - -ejReportViewer(): JQuery; -ejReportViewer(options?: ej.ReportViewer.Model): JQuery; -ejReportViewer(memberName: any, value?: any, param?: any): any; -data(key: "ejReportViewer"): ej.ReportViewer; - -ejResizable(): JQuery; -ejResizable(options?: ej.Resizable.Model): JQuery; -ejResizable(memberName: any, value?: any, param?: any): any; -data(key: "ejResizable"): ej.Resizable; - -ejRibbon(): JQuery; -ejRibbon(options?: ej.Ribbon.Model): JQuery; -ejRibbon(memberName: any, value?: any, param?: any): any; -data(key: "ejRibbon"): ej.Ribbon; - -ejRotator(): JQuery; -ejRotator(options?: ej.Rotator.Model): JQuery; -ejRotator(memberName: any, value?: any, param?: any): any; -data(key: "ejRotator"): ej.Rotator; - -ejRTE(): JQuery; -ejRTE(options?: ej.RTE.Model): JQuery; -ejRTE(memberName: any, value?: any, param?: any): any; -data(key: "ejRTE"): ej.RTE; - -ejSchedule(): JQuery; -ejSchedule(options?: ej.Schedule.Model): JQuery; -ejSchedule(memberName: any, value?: any, param?: any): any; -data(key: "ejSchedule"): ej.Schedule; - -ejScroller(): JQuery; -ejScroller(options?: ej.Scroller.Model): JQuery; -ejScroller(memberName: any, value?: any, param?: any): any; -data(key: "ejScroller"): ej.Scroller; - -ejSignature(): JQuery; -ejSignature(options?: ej.Signature.Model): JQuery; -ejSignature(memberName: any, value?: any, param?: any): any; -data(key: "ejSignature"): ej.Signature; - -ejSlider(): JQuery; -ejSlider(options?: ej.Slider.Model): JQuery; -ejSlider(memberName: any, value?: any, param?: any): any; -data(key: "ejSlider"): ej.Slider; - -ejSparkline(): JQuery; -ejSparkline(options?: ej.datavisualization.Sparkline.Model): JQuery; -ejSparkline(memberName: any, value?: any, param?: any): any; -data(key: "ejSparkline"): ej.datavisualization.Sparkline; - -ejSpellCheck(): JQuery; -ejSpellCheck(options?: ej.SpellCheck.Model): JQuery; -ejSpellCheck(memberName: any, value?: any, param?: any): any; -data(key: "ejSpellCheck"): ej.SpellCheck; - -ejSplitButton(): JQuery; -ejSplitButton(options?: ej.SplitButton.Model): JQuery; -ejSplitButton(memberName: any, value?: any, param?: any): any; -data(key: "ejSplitButton"): ej.SplitButton; - -ejSplitter(): JQuery; -ejSplitter(options?: ej.Splitter.Model): JQuery; -ejSplitter(memberName: any, value?: any, param?: any): any; -data(key: "ejSplitter"): ej.Splitter; - -ejSpreadsheet(): JQuery; -ejSpreadsheet(options?: ej.Spreadsheet.Model): JQuery; -ejSpreadsheet(memberName: any, value?: any, param?: any): any; -data(key: "ejSpreadsheet"): ej.Spreadsheet; - -ejSunburstChart(): JQuery; -ejSunburstChart(options?: ej.datavisualization.SunburstChart.Model): JQuery; -ejSunburstChart(memberName: any, value?: any, param?: any): any; -data(key: "ejSunburstChart"): ej.datavisualization.SunburstChart; - -ejSymbolPalette(): JQuery; -ejSymbolPalette(options?: ej.datavisualization.SymbolPalette.Model): JQuery; -ejSymbolPalette(memberName: any, value?: any, param?: any): any; -data(key: "ejSymbolPalette"): ej.datavisualization.SymbolPalette; - -ejTab(): JQuery; -ejTab(options?: ej.Tab.Model): JQuery; -ejTab(memberName: any, value?: any, param?: any): any; -data(key: "ejTab"): ej.Tab; - -ejTagCloud(): JQuery; -ejTagCloud(options?: ej.TagCloud.Model): JQuery; -ejTagCloud(memberName: any, value?: any, param?: any): any; -data(key: "ejTagCloud"): ej.TagCloud; - -ejNumericTextbox(): JQuery; -ejNumericTextbox(options?: ej.Editor.Model): JQuery; -ejNumericTextbox(memberName: any, value?: any, param?: any): any; -data(key: "ejNumericTextbox"): ej.NumericTextbox; - -ejCurrencyTextbox(): JQuery; -ejCurrencyTextbox(options?: ej.Editor.Model): JQuery; -ejCurrencyTextbox(memberName: any, value?: any, param?: any): any; -data(key: "ejCurrencyTextbox"): ej.CurrencyTextbox; - -ejPercentageTextbox(): JQuery; -ejPercentageTextbox(options?: ej.Editor.Model): JQuery; -ejPercentageTextbox(memberName: any, value?: any, param?: any): any; -data(key: "ejPercentageTextbox"): ej.PercentageTextbox; - -ejTile(): JQuery; -ejTile(options?: ej.Tile.Model): JQuery; -ejTile(memberName: any, value?: any, param?: any): any; -data(key: "ejTile"): ej.Tile; - -ejTimePicker(): JQuery; -ejTimePicker(options?: ej.TimePicker.Model): JQuery; -ejTimePicker(memberName: any, value?: any, param?: any): any; -data(key: "ejTimePicker"): ej.TimePicker; - -ejToggleButton(): JQuery; -ejToggleButton(options?: ej.ToggleButton.Model): JQuery; -ejToggleButton(memberName: any, value?: any, param?: any): any; -data(key: "ejToggleButton"): ej.ToggleButton; - -ejToolbar(): JQuery; -ejToolbar(options?: ej.Toolbar.Model): JQuery; -ejToolbar(memberName: any, value?: any, param?: any): any; -data(key: "ejToolbar"): ej.Toolbar; - -ejTooltip(): JQuery; -ejTooltip(options?: ej.Tooltip.Model): JQuery; -ejTooltip(memberName: any, value?: any, param?: any): any; -data(key: "ejTooltip"): ej.Tooltip; - -ejTreeGrid(): JQuery; -ejTreeGrid(options?: ej.TreeGrid.Model): JQuery; -ejTreeGrid(memberName: any, value?: any, param?: any): any; -data(key: "ejTreeGrid"): ej.TreeGrid; - -ejTreeMap(): JQuery; -ejTreeMap(options?: ej.datavisualization.TreeMap.Model): JQuery; -ejTreeMap(memberName: any, value?: any, param?: any): any; -data(key: "ejTreeMap"): ej.datavisualization.TreeMap; - -ejTreeView(): JQuery; -ejTreeView(options?: ej.TreeView.Model): JQuery; -ejTreeView(memberName: any, value?: any, param?: any): any; -data(key: "ejTreeView"): ej.TreeView; - -ejUploadbox(): JQuery; -ejUploadbox(options?: ej.Uploadbox.Model): JQuery; -ejUploadbox(memberName: any, value?: any, param?: any): any; -data(key: "ejUploadbox"): ej.Uploadbox; - -ejWaitingPopup(): JQuery; -ejWaitingPopup(options?: ej.WaitingPopup.Model): JQuery; -ejWaitingPopup(memberName: any, value?: any, param?: any): any; -data(key: "ejWaitingPopup"): ej.WaitingPopup; -} \ No newline at end of file + ejAccordion(options?: ej.Accordion.Model): JQuery; + ejAccordion(memberName: any, value?: any, param?: any): any; + + ejAutocomplete(options?: ej.Autocomplete.Model): JQuery; + ejAutocomplete(memberName: any, value?: any, param?: any): any; + + ejBarcode(options?: ej.datavisualization.Barcode.Model): JQuery; + ejBarcode(memberName: any, value?: any, param?: any): any; + + ejBulletGraph(options?: ej.datavisualization.BulletGraph.Model): JQuery; + ejBulletGraph(memberName: any, value?: any, param?: any): any; + + ejButton(options?: ej.Button.Model): JQuery; + ejButton(memberName: any, value?: any, param?: any): any; + + ejCaptcha(options?: ej.Captcha.Model): JQuery; + ejCaptcha(memberName: any, value?: any, param?: any): any; + + ejChart(options?: ej.datavisualization.Chart.Model): JQuery; + ejChart(memberName: any, value?: any, param?: any): any; + + ejCheckBox(options?: ej.CheckBox.Model): JQuery; + ejCheckBox(memberName: any, value?: any, param?: any): any; + + ejCircularGauge(options?: ej.datavisualization.CircularGauge.Model): JQuery; + ejCircularGauge(memberName: any, value?: any, param?: any): any; + + ejColorPicker(options?: ej.ColorPicker.Model): JQuery; + ejColorPicker(memberName: any, value?: any, param?: any): any; + + ejDatePicker(options?: ej.DatePicker.Model): JQuery; + ejDatePicker(memberName: any, value?: any, param?: any): any; + + ejDateRangePicker(options?: ej.DateRangePicker.Model): JQuery; + ejDateRangePicker(memberName: any, value?: any, param?: any): any; + + ejDateTimePicker(options?: ej.DateTimePicker.Model): JQuery; + ejDateTimePicker(memberName: any, value?: any, param?: any): any; + + ejDiagram(options?: ej.datavisualization.Diagram.Model): JQuery; + ejDiagram(memberName: any, value?: any, param?: any): any; + + ejDialog(options?: ej.Dialog.Model): JQuery; + ejDialog(memberName: any, value?: any, param?: any): any; + + ejDigitalGauge(options?: ej.datavisualization.DigitalGauge.Model): JQuery; + ejDigitalGauge(memberName: any, value?: any, param?: any): any; + + ejDocumentEditor(options?: ej.DocumentEditor.Model): JQuery; + ejDocumentEditor(memberName: any, value?: any, param?: any): any; + + ejDraggable(options?: ej.Draggable.Model): JQuery; + ejDraggable(memberName: any, value?: any, param?: any): any; + + ejDropDownList(options?: ej.DropDownList.Model): JQuery; + ejDropDownList(memberName: any, value?: any, param?: any): any; + + ejDroppable(options?: ej.Droppable.Model): JQuery; + ejDroppable(memberName: any, value?: any, param?: any): any; + + ejFileExplorer(options?: ej.FileExplorer.Model): JQuery; + ejFileExplorer(memberName: any, value?: any, param?: any): any; + + ejGantt(options?: ej.Gantt.Model): JQuery; + ejGantt(memberName: any, value?: any, param?: any): any; + + ejGrid(options?: ej.Grid.Model): JQuery; + ejGrid(memberName: any, value?: any, param?: any): any; + + ejGroupButton(options?: ej.GroupButton.Model): JQuery; + ejGroupButton(memberName: any, value?: any, param?: any): any; + + ejHeatMap(options?: ej.datavisualization.HeatMap.Model): JQuery; + ejHeatMap(memberName: any, value?: any, param?: any): any; + + ejHeatMapLegend(options?: ej.datavisualization.HeatMapLegend.Model): JQuery; + ejHeatMapLegend(memberName: any, value?: any, param?: any): any; + + ejKanban(options?: ej.Kanban.Model): JQuery; + ejKanban(memberName: any, value?: any, param?: any): any; + + ejLinearGauge(options?: ej.datavisualization.LinearGauge.Model): JQuery; + ejLinearGauge(memberName: any, value?: any, param?: any): any; + + ejListBox(options?: ej.ListBox.Model): JQuery; + ejListBox(memberName: any, value?: any, param?: any): any; + + ejListView(options?: ej.ListView.Model): JQuery; + ejListView(memberName: any, value?: any, param?: any): any; + + ejMap(options?: ej.datavisualization.Map.Model): JQuery; + ejMap(memberName: any, value?: any, param?: any): any; + + ejMaskEdit(options?: ej.MaskEdit.Model): JQuery; + ejMaskEdit(memberName: any, value?: any, param?: any): any; + + ejMenu(options?: ej.Menu.Model): JQuery; + ejMenu(memberName: any, value?: any, param?: any): any; + + ejNavigationDrawer(options?: ej.NavigationDrawer.Model): JQuery; + ejNavigationDrawer(memberName: any, value?: any, param?: any): any; + + ejOverview(options?: ej.datavisualization.Overview.Model): JQuery; + ejOverview(memberName: any, value?: any, param?: any): any; + + ejPager(options?: ej.Pager.Model): JQuery; + ejPager(memberName: any, value?: any, param?: any): any; + + ejPdfViewer(options?: ej.PdfViewer.Model): JQuery; + ejPdfViewer(memberName: any, value?: any, param?: any): any; + + ejPivotChart(options?: ej.PivotChart.Model): JQuery; + ejPivotChart(memberName: any, value?: any, param?: any): any; + + ejPivotClient(options?: ej.PivotClient.Model): JQuery; + ejPivotClient(memberName: any, value?: any, param?: any): any; + + ejPivotGauge(options?: ej.PivotGauge.Model): JQuery; + ejPivotGauge(memberName: any, value?: any, param?: any): any; + + ejPivotGrid(options?: ej.PivotGrid.Model): JQuery; + ejPivotGrid(memberName: any, value?: any, param?: any): any; + + ejPivotPager(options?: ej.PivotPager.Model): JQuery; + ejPivotPager(memberName: any, value?: any, param?: any): any; + + ejPivotSchemaDesigner(options?: ej.PivotSchemaDesigner.Model): JQuery; + ejPivotSchemaDesigner(memberName: any, value?: any, param?: any): any; + + ejPivotTreeMap(options?: ej.PivotTreeMap.Model): JQuery; + ejPivotTreeMap(memberName: any, value?: any, param?: any): any; + + ejProgressBar(options?: ej.ProgressBar.Model): JQuery; + ejProgressBar(memberName: any, value?: any, param?: any): any; + + ejRadialMenu(options?: ej.RadialMenu.Model): JQuery; + ejRadialMenu(memberName: any, value?: any, param?: any): any; + + ejRadialSlider(options?: ej.RadialSlider.Model): JQuery; + ejRadialSlider(memberName: any, value?: any, param?: any): any; + + ejRadioButton(options?: ej.RadioButton.Model): JQuery; + ejRadioButton(memberName: any, value?: any, param?: any): any; + + ejRangeNavigator(options?: ej.datavisualization.RangeNavigator.Model): JQuery; + ejRangeNavigator(memberName: any, value?: any, param?: any): any; + + ejRating(options?: ej.Rating.Model): JQuery; + ejRating(memberName: any, value?: any, param?: any): any; + + ejRecurrenceEditor(options?: ej.RecurrenceEditor.Model): JQuery; + ejRecurrenceEditor(memberName: any, value?: any, param?: any): any; + + ejReportViewer(options?: ej.ReportViewer.Model): JQuery; + ejReportViewer(memberName: any, value?: any, param?: any): any; + + ejResizable(options?: ej.Resizable.Model): JQuery; + ejResizable(memberName: any, value?: any, param?: any): any; + + ejRibbon(options?: ej.Ribbon.Model): JQuery; + ejRibbon(memberName: any, value?: any, param?: any): any; + + ejRotator(options?: ej.Rotator.Model): JQuery; + ejRotator(memberName: any, value?: any, param?: any): any; + + ejRTE(options?: ej.RTE.Model): JQuery; + ejRTE(memberName: any, value?: any, param?: any): any; + + ejSchedule(options?: ej.Schedule.Model): JQuery; + ejSchedule(memberName: any, value?: any, param?: any): any; + + ejScroller(options?: ej.Scroller.Model): JQuery; + ejScroller(memberName: any, value?: any, param?: any): any; + + ejSignature(options?: ej.Signature.Model): JQuery; + ejSignature(memberName: any, value?: any, param?: any): any; + + ejSlider(options?: ej.Slider.Model): JQuery; + ejSlider(memberName: any, value?: any, param?: any): any; + + ejSparkline(options?: ej.datavisualization.Sparkline.Model): JQuery; + ejSparkline(memberName: any, value?: any, param?: any): any; + + ejSpellCheck(options?: ej.SpellCheck.Model): JQuery; + ejSpellCheck(memberName: any, value?: any, param?: any): any; + + ejSplitButton(options?: ej.SplitButton.Model): JQuery; + ejSplitButton(memberName: any, value?: any, param?: any): any; + + ejSplitter(options?: ej.Splitter.Model): JQuery; + ejSplitter(memberName: any, value?: any, param?: any): any; + + ejSpreadsheet(options?: ej.Spreadsheet.Model): JQuery; + ejSpreadsheet(memberName: any, value?: any, param?: any): any; + + ejSunburstChart(options?: ej.datavisualization.SunburstChart.Model): JQuery; + ejSunburstChart(memberName: any, value?: any, param?: any): any; + + ejSymbolPalette(options?: ej.datavisualization.SymbolPalette.Model): JQuery; + ejSymbolPalette(memberName: any, value?: any, param?: any): any; + + ejTab(options?: ej.Tab.Model): JQuery; + ejTab(memberName: any, value?: any, param?: any): any; + + ejTagCloud(options?: ej.TagCloud.Model): JQuery; + ejTagCloud(memberName: any, value?: any, param?: any): any; + + ejNumericTextbox(options?: ej.Editor.Model): JQuery; + ejNumericTextbox(memberName: any, value?: any, param?: any): any; + + ejCurrencyTextbox(options?: ej.Editor.Model): JQuery; + ejCurrencyTextbox(memberName: any, value?: any, param?: any): any; + + ejPercentageTextbox(options?: ej.Editor.Model): JQuery; + ejPercentageTextbox(memberName: any, value?: any, param?: any): any; + + ejTile(options?: ej.Tile.Model): JQuery; + ejTile(memberName: any, value?: any, param?: any): any; + + ejTimePicker(options?: ej.TimePicker.Model): JQuery; + ejTimePicker(memberName: any, value?: any, param?: any): any; + + ejToggleButton(options?: ej.ToggleButton.Model): JQuery; + ejToggleButton(memberName: any, value?: any, param?: any): any; + + ejToolbar(options?: ej.Toolbar.Model): JQuery; + ejToolbar(memberName: any, value?: any, param?: any): any; + + ejTooltip(options?: ej.Tooltip.Model): JQuery; + ejTooltip(memberName: any, value?: any, param?: any): any; + + ejTreeGrid(options?: ej.TreeGrid.Model): JQuery; + ejTreeGrid(memberName: any, value?: any, param?: any): any; + + ejTreeMap(options?: ej.datavisualization.TreeMap.Model): JQuery; + ejTreeMap(memberName: any, value?: any, param?: any): any; + + ejTreeView(options?: ej.TreeView.Model): JQuery; + ejTreeView(memberName: any, value?: any, param?: any): any; + + ejUploadbox(options?: ej.Uploadbox.Model): JQuery; + ejUploadbox(memberName: any, value?: any, param?: any): any; + + ejWaitingPopup(options?: ej.WaitingPopup.Model): JQuery; + ejWaitingPopup(memberName: any, value?: any, param?: any): any; + + data(key: "ejAccordion"): ej.Accordion; + data(key: "ejAutocomplete"): ej.Autocomplete; + data(key: "ejBarcode"): ej.datavisualization.Barcode; + data(key: "ejBulletGraph"): ej.datavisualization.BulletGraph; + data(key: "ejButton"): ej.Button; + data(key: "ejCaptcha"): ej.Captcha; + data(key: "ejChart"): ej.datavisualization.Chart; + data(key: "ejCheckBox"): ej.CheckBox; + data(key: "ejCircularGauge"): ej.datavisualization.CircularGauge; + data(key: "ejColorPicker"): ej.ColorPicker; + data(key: "ejDatePicker"): ej.DatePicker; + data(key: "ejDateRangePicker"): ej.DateRangePicker; + data(key: "ejDateTimePicker"): ej.DateTimePicker; + data(key: "ejDiagram"): ej.datavisualization.Diagram; + data(key: "ejDialog"): ej.Dialog; + data(key: "ejDigitalGauge"): ej.datavisualization.DigitalGauge; + data(key: "ejDocumentEditor"): ej.DocumentEditor; + data(key: "ejDraggable"): ej.Draggable; + data(key: "ejDropDownList"): ej.DropDownList; + data(key: "ejDroppable"): ej.Droppable; + data(key: "ejFileExplorer"): ej.FileExplorer; + data(key: "ejGantt"): ej.Gantt; + data(key: "ejGrid"): ej.Grid; + data(key: "ejGroupButton"): ej.GroupButton; + data(key: "ejHeatMap"): ej.datavisualization.HeatMap; + data(key: "ejHeatMapLegend"): ej.datavisualization.HeatMapLegend; + data(key: "ejKanban"): ej.Kanban; + data(key: "ejLinearGauge"): ej.datavisualization.LinearGauge; + data(key: "ejListBox"): ej.ListBox; + data(key: "ejListView"): ej.ListView; + data(key: "ejMap"): ej.datavisualization.Map; + data(key: "ejMaskEdit"): ej.MaskEdit; + data(key: "ejMenu"): ej.Menu; + data(key: "ejNavigationDrawer"): ej.NavigationDrawer; + data(key: "ejOverview"): ej.datavisualization.Overview; + data(key: "ejPager"): ej.Pager; + data(key: "ejPdfViewer"): ej.PdfViewer; + data(key: "ejPivotChart"): ej.PivotChart; + data(key: "ejPivotClient"): ej.PivotClient; + data(key: "ejPivotGauge"): ej.PivotGauge; + data(key: "ejPivotGrid"): ej.PivotGrid; + data(key: "ejPivotPager"): ej.PivotPager; + data(key: "ejPivotSchemaDesigner"): ej.PivotSchemaDesigner; + data(key: "ejPivotTreeMap"): ej.PivotTreeMap; + data(key: "ejProgressBar"): ej.ProgressBar; + data(key: "ejRadialMenu"): ej.RadialMenu; + data(key: "ejRadialSlider"): ej.RadialSlider; + data(key: "ejRadioButton"): ej.RadioButton; + data(key: "ejRangeNavigator"): ej.datavisualization.RangeNavigator; + data(key: "ejRating"): ej.Rating; + data(key: "ejRecurrenceEditor"): ej.RecurrenceEditor; + data(key: "ejReportViewer"): ej.ReportViewer; + data(key: "ejResizable"): ej.Resizable; + data(key: "ejRibbon"): ej.Ribbon; + data(key: "ejRotator"): ej.Rotator; + data(key: "ejRTE"): ej.RTE; + data(key: "ejSchedule"): ej.Schedule; + data(key: "ejScroller"): ej.Scroller; + data(key: "ejSignature"): ej.Signature; + data(key: "ejSlider"): ej.Slider; + data(key: "ejSparkline"): ej.datavisualization.Sparkline; + data(key: "ejSpellCheck"): ej.SpellCheck; + data(key: "ejSplitButton"): ej.SplitButton; + data(key: "ejSplitter"): ej.Splitter; + data(key: "ejSpreadsheet"): ej.Spreadsheet; + data(key: "ejSunburstChart"): ej.datavisualization.SunburstChart; + data(key: "ejSymbolPalette"): ej.datavisualization.SymbolPalette; + data(key: "ejTab"): ej.Tab; + data(key: "ejTagCloud"): ej.TagCloud; + data(key: "ejNumericTextbox"): ej.NumericTextbox; + data(key: "ejCurrencyTextbox"): ej.CurrencyTextbox; + data(key: "ejPercentageTextbox"): ej.PercentageTextbox; + data(key: "ejTile"): ej.Tile; + data(key: "ejTimePicker"): ej.TimePicker; + data(key: "ejToggleButton"): ej.ToggleButton; + data(key: "ejToolbar"): ej.Toolbar; + data(key: "ejTooltip"): ej.Tooltip; + data(key: "ejTreeGrid"): ej.TreeGrid; + data(key: "ejTreeMap"): ej.datavisualization.TreeMap; + data(key: "ejTreeView"): ej.TreeView; + data(key: "ejUploadbox"): ej.Uploadbox; + data(key: "ejWaitingPopup"): ej.WaitingPopup; +} From 121eb67392186fefb3d8274690509f39bdaa4706 Mon Sep 17 00:00:00 2001 From: Syncfusion-JavaScript Date: Wed, 10 May 2017 16:32:08 +0530 Subject: [PATCH 38/70] Reported lint errors have been fixed. --- types/ej.web.all/index.d.ts | 65093 +++++++++++++++++----------------- 1 file changed, 32531 insertions(+), 32562 deletions(-) diff --git a/types/ej.web.all/index.d.ts b/types/ej.web.all/index.d.ts index 76bd2f9173..e304a73863 100644 --- a/types/ej.web.all/index.d.ts +++ b/types/ej.web.all/index.d.ts @@ -253,6 +253,7 @@ declare namespace ej { type: string; url: string; ejPvtData: any; contentType?: string; data?: any; }; } + class CacheAdaptor extends ej.UrlAdaptor { constructor(); init(adaptor: any, timeStamp: number, pageSize: number): void; @@ -265,6 +266,7 @@ declare namespace ej { batchRequest(dm: ej.DataManager, changes: Changes, e: any): { url: string; type: string; data: any; contentType: string }; } + class ODataAdaptor extends ej.UrlAdaptor { constructor(); options: UrlAdaptorOptions; @@ -278,7 +280,6 @@ declare namespace ej { onSortBy(e: any): string; onGroup(e: any): string; onSelect(e: any): string; - onAggregates(e: any): string; onCount(e: any): string; beforeSend(dm: ej.DataManager, request: any, settings?: any): void; processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { @@ -312,7 +313,6 @@ declare namespace ej { changeSetContent?: string; batchChangeSetContentType?: string; } - class WebApiAdaptor extends ej.ODataAdaptor { constructor(); insert(dm: ej.DataManager, data: any, tableName?: string): { url: string; type: string; data: any; }; @@ -322,7 +322,6 @@ declare namespace ej { result: any; count: number }; } - class ODataV4Adaptor extends ej.ODataAdaptor { constructor(); options: ODataAdaptorOptions; @@ -330,13 +329,9 @@ declare namespace ej { onEachSearch(e: any): void; onSearch(e: any): string; beforeSend(dm: ej.DataManager, request: any, settings?: any): void; - processQuery(ds: any, query: ej.Query): { - type: string; url: string; ejPvtData: any; contentType?: string; data?: any; - }; processResponse(data: any, ds: any, query: ej.Query, xhr: any, request: any, changes: Changes): { result: any; count: number }; - } interface ODataAdaptorOptions { requestType?: string; @@ -9262,6 +9257,7 @@ declare namespace ej { */ stem?: PositionStem; } + export interface TipSize { /** Sets the Tooltip width. @@ -9940,26 +9936,6 @@ declare namespace ej { */ width?: string | number; - /** Specifies the number of items to be fetched on each scroll. Note: This property works only with Virtual scrolling. - * @Default {5} - */ - itemRequestCount?: number; - - /** Specifies the maximum number of items to be fetched. Note: This will work only with Virtual scrolling - * @Default {null} - */ - totalItemsCount?: number; - - /** Loads the list data on demand via scrolling behavior to improve the application’s performance. There are two ways to load data which can be defined using virtualScrollMode property. - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** Specifies the virtual scroll mode to load the list data on demand via scrolling behavior. There are two types of mode. - * @Default {ej.VirtualScrollMode.Normal} - */ - virtualScrollMode?: ej.VirtualScrollMode | string; - /** Event triggers before the AJAX request happens. */ ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; @@ -9984,32853 +9960,32846 @@ declare namespace ej { /** Event triggers when mouse up happens on the item. */ mouseUp?(e: MouseUpEventArgs): void; } - } - - export interface AjaxBeforeLoadEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the AJAX settings. - */ - ajaxData?: any; - } - - export interface AjaxCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - } - - export interface AjaxErrorEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the error thrown in the AJAX post. - */ - errorThrown?: any; - - /** returns the status. - */ - textStatus?: any; - - /** returns the current list item. - */ - item?: any; - - /** returns the current item text. - */ - text?: string; - - /** returns the current item index. - */ - index?: number; - } - - export interface AjaxSuccessEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** returns the AJAX current content. - */ - content?: string; - - /** returns the current list item. - */ - item?: any; - - /** returns the current item text. - */ - text?: string; - - /** returns the current item index. - */ - index?: number; - - /** returns the current URL of the AJAX post. - */ - URL?: string; - } - - export interface LoadEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - } - - export interface LoadCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - } - - export interface MouseDownEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** If the child element exist return true; otherwise, false. - */ - hasChild?: boolean; - - /** returns the current list item. - */ - item?: string; - - /** returns the current text of item. - */ - text?: string; - - /** returns the current Index of the item. - */ - index?: number; - - /** If checked return true; otherwise, false. - */ - isChecked?: boolean; - - /** returns the list of checked items. - */ - checkedItems?: number; - - /** returns the current checked item text. - */ - checkedItemsText?: string; - } - - export interface MouseUpEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.ListView.Model; - - /** If the child element exist return true; otherwise, false. - */ - hasChild?: boolean; - - /** returns the current list item. - */ - item?: string; - - /** returns the current text of item. - */ - text?: string; - - /** returns the current Index of the item. - */ - index?: number; - - /** If checked return true; otherwise, false. - */ - isChecked?: boolean; - - /** returns the list of checked items. - */ - checkedItems?: number; - - /** returns the current checked item text. - */ - checkedItemsText?: string; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; - } -} - -class MaskEdit extends ej.Widget { - static fn: MaskEdit; - constructor(element: JQuery | Element, options?: MaskEdit.Model); - static Locale: any; - model: MaskEdit.Model; - defaults: MaskEdit.Model; - - /** To clear the text in mask edit textbox control. - * @returns {void} - */ - clear(): void; - - /** To disable the mask edit textbox control. - * @returns {void} - */ - disable(): void; - - /** To enable the mask edit textbox control. - * @returns {void} - */ - enable(): void; - - /** To obtained the pure value of the text value, removes all the symbols in mask edit textbox control. - * @returns {string} - */ - get_StrippedValue(): string; - - /** To obtained the textbox value as such that, Just replace all '_' to ' '(space) in mask edit textbox control. - * @returns {string} - */ - get_UnstrippedValue(): string; -} -export namespace MaskEdit { - - export interface Model { - - /** Specify the cssClass to achieve custom theme. - * @Default {null} - */ - cssClass?: string; - - /** Specify the custom character allowed to entered in mask edit textbox control. - * @Default {null} - */ - customCharacter?: string; - - /** Specify the state of the mask edit textbox control. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the enablePersistence to mask edit textbox to save current model value to browser cookies for state maintains. - */ - enablePersistence?: boolean; - - /** Specifies the height for the mask edit textbox control. - * @Default {28 px} - */ - height?: string; - - /** Specifies whether hide the prompt characters with spaces on blur. Prompt chars will be shown again on focus the textbox. - * @Default {false} - */ - hidePromptOnLeave?: boolean; - - /** Specifies the list of HTML attributes to be added to mask edit textbox. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specify the inputMode for mask edit textbox control. See InputMode - * @Default {ej.InputMode.Text} - */ - inputMode?: ej.InputMode | string; - - /** Specifies the input mask. - * @Default {null} - */ - maskFormat?: string; - - /** Specifies the name attribute value for the mask edit textbox. - * @Default {null} - */ - name?: string; - - /** Toggles the readonly state of the mask edit textbox. When the mask edit textbox is readonly, it doesn't allow your input. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies whether the error will show until correct value entered in the mask edit textbox control. - * @Default {false} - */ - showError?: boolean; - - /** when showPromptChar is true, the hide the prompt characters are shown in focus of the control and hides in focus out of the control. - * @Default {true} - */ - showPromptChar?: boolean; - - /** MaskEdit input is displayed in rounded corner style when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specify the text alignment for mask edit textbox control.See TextAlign - * @Default {left} - */ - textAlign?: ej.TextAlign | string; - - /** Sets the jQuery validation error message in mask edit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. - * @Default {null} - */ - validationMessage?: any; - - /** Sets the jQuery validation rules to the MaskEdit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value for the mask edit textbox control. - * @Default {null} - */ - value?: string; - - /** Specifies the water mark text to be displayed in input text. - * @Default {null} - */ - watermarkText?: string; - - /** Specifies the width for the mask edit textbox control. - * @Default {143pixel} - */ - width?: string; - - /** Fires when value changed in mask edit textbox control. */ - change?(e: ChangeEventArgs): void; - - /** Fires after MaskEdit control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the MaskEdit is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when focused in mask edit textbox control. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires when focused out in mask edit textbox control. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when keydown in mask edit textbox control. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when key press in mask edit textbox control. */ - keyPress?(e: KeyPressEventArgs): void; - - /** Fires when keyup in mask edit textbox control. */ - keyup?(e: KeyupEventArgs): void; - - /** Fires when mouse out in mask edit textbox control. */ - mouseOut?(e: MouseOutEventArgs): void; - - /** Fires when mouse over in mask edit textbox control. */ - mouseOver?(e: MouseOverEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the MaskEdit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the MaskEdit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface KeydownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface KeyPressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface KeyupEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface MouseOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } - - export interface MouseOverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the mask edit model - */ - model?: ej.MaskEdit.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mask edit value - */ - value?: number; - - /** returns unstripped value in mask edit textbox control. - */ - unmaskedValue?: string; - } -} -enum InputMode { - //string - Password, - //string - Text, -} -enum TextAlign { - //string - Center, - //string - Justify, - //string - Left, - //string - Right, -} - -class Menu extends ej.Widget { - static fn: Menu; - constructor(element: JQuery | Element, options?: Menu.Model); - static Locale: any; - model: Menu.Model; - defaults: Menu.Model; - - /** Disables the Menu control. - * @returns {void} - */ - disable(): void; - - /** Specifies the Menu Item to be disabled by using the Menu Item Text. - * @param {string} Specifies the Menu Item Text to be disabled. - * @returns {void} - */ - disableItem(itemtext: string): void; - - /** Specifies the Menu Item to be disabled by using the Menu Item Id. - * @param {string|number} Specifies the Menu Item id to be disabled - * @returns {void} - */ - disableItemByID(itemid: string | number): void; - - /** Enables the Menu control. - * @returns {void} - */ - enable(): void; - - /** Specifies the Menu Item to be enabled by using the Menu Item Text. - * @param {string} Specifies the Menu Item Text to be enabled. - * @returns {void} - */ - enableItem(itemtext: string): void; - - /** Specifies the Menu Item to be enabled by using the Menu Item Id. - * @param {string|number} Specifies the Menu Item id to be enabled. - * @returns {void} - */ - enableItemByID(itemid: string | number): void; - - /** Hides the Context Menu control. - * @returns {void} - */ - hide(): void; - - /** Hides the specific items in Menu control. - * @returns {void} - */ - hideItems(): void; - - /** Insert the menu item as child of target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insert(item: any, target: string | any): void; - - /** Insert the menu item after the target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insertAfter(item: any, target: string | any): void; - - /** Insert the menu item before the target node. - * @param {any} Information about Menu item. - * @param {string|any} Selector of target node or Object of target node. - * @returns {void} - */ - insertBefore(item: any, target: string | any): void; - - /** Remove Menu item. - * @param {any|Array} Selector of target node or Object of target node. - * @returns {void} - */ - remove(target: any | any[]): void; - - /** To show the Menu control. - * @param {number} x co-ordinate position of context menu. - * @param {number} y co-ordinate position of context menu. - * @param {any} target element - * @param {any} name of the event - * @returns {void} - */ - show(locationX: number, locationY: number, targetElement: any, event: any): void; - - /** Show the specific items in Menu control. - * @returns {void} - */ - showItems(): void; -} -export namespace Menu { - - export interface Model { - - /** To enable or disable the Animation while hover or click an menu items.See AnimationType - * @Default {ej.AnimationType.Default} - */ - animationType?: ej.AnimationType | string; - - /** Specifies the target id of context menu. On right clicking the specified contextTarget element, context menu gets shown. - * @Default {null} - */ - contextMenuTarget?: string; - - /** Specifies the container element selectors for submenu’s collision. The submenu gets displayed based on spacing available with respect to container element. - * @Default {null} - */ - container?: string; - /** Specify the CSS class to achieve custom theme. - */ - cssClass?: string; - - /** To enable or disable the Animation effect while hover or click an menu items. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the root menu items to be aligned center in horizontal menu. - * @Default {false} - */ - enableCenterAlign?: boolean; - - /** Enable / Disable the Menu control. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the menu items to be displayed in right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** When this property sets to false, the menu items is displayed without any separators. - * @Default {true} - */ - enableSeparator?: boolean; - - /** Specifies the target which needs to be excluded. i.e., The context menu will not be displayed in those specified targets. - * @Default {null} - */ - excludeTarget?: string; - - /** Fields used to bind the data source and it includes following field members to make data bind easier. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the height of the root menu. - * @Default {auto} - */ - height?: string | number; - - /** Specifies the list of HTML attributes to be added to menu control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Enables/disables responsive support for the Menu control during the window resizing time. - * @Default {true} - */ - isResponsive?: boolean; - - /** Specifies the type of the menu. Essential JavaScript Menu consists of two type of menu, they are Normal Menu and Context Menu mode.See MenuType - * @Default {ej.MenuType.NormalMenu} - */ - menuType?: string | ej.MenuType; - - /** Specifies the sub menu items to be show or open only on click. - * @Default {false} - */ - openOnClick?: boolean; - - /** Specifies the orientation of normal menu. Normal menu can rendered in horizontal or vertical direction by using this API. See Orientation - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the main menu items arrows only to be shown if it contains child items. - * @Default {true} - */ - showRootLevelArrows?: boolean; - - /** Specifies the sub menu items arrows only to be shown if it contains child items. - * @Default {true} - */ - showSubLevelArrows?: boolean; - - /** Specifies position of pull down submenu that will appear on mouse over.See Direction - * @Default {ej.Direction.Right} - */ - subMenuDirection?: string | ej.Direction; - - /** Specifies the title to responsive menu. - * @Default {Menu} - */ - titleText?: string; - - /** Specifies the width of the main menu. - * @Default {auto} - */ - width?: string | number; - - /** Specifies the popup menu height. - * @Default {auto} - */ - overflowHeight?: string | number; - - /** Specifies the popup menu width. - * @Default {auto} - */ - overflowWidth?: string | number; - - /** Fires before context menu gets open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when mouse click on menu items. */ - click?(e: ClickEventArgs): void; - - /** Fire when context menu on close. */ - close?(e: CloseEventArgs): void; - - /** Fires when context menu on open. */ - open?(e: OpenEventArgs): void; - - /** Fires to create menu items. */ - create?(e: CreateEventArgs): void; - - /** Fires to destroy menu items. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when key down on menu items. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when mouse out from menu items. */ - mouseout?(e: MouseoutEventArgs): void; - - /** Fires when mouse over the Menu items. */ - mouseover?(e: MouseoverEventArgs): void; - - /** Fires when overflow popup menu opens. */ - overflowOpen?(e: OverflowOpenEventArgs): void; - - /** Fires when overflow popup menu closes. */ - overflowClose?(e: OverflowCloseEventArgs): void; - } - - export interface BeforeOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; - } - - export interface ClickEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - - /** returns the selected item - */ - selectedItem?: number; - } - - export interface CloseEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; - } - - export interface OpenEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element - */ - target?: any; - } - - export interface CreateEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface KeydownEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - menuText?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - } - - export interface MouseoutEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - } - - export interface MouseoverEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns clicked menu item text - */ - text?: string; - - /** returns clicked menu item element - */ - element?: any; - - /** returns the event - */ - event?: any; - } - - export interface OverflowOpenEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - e?: any; - - /** if the event should be cancelled ; otherwise ,false - */ - cancel?: boolean; - } - - export interface OverflowCloseEventArgs { - - /** returns the menu model - */ - model?: ej.Menu.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - e?: any; - - /** if the event should be cancelled ; otherwise ,false - */ - cancel?: boolean; - } - - export interface Fields { - - /** It receives the child data for the inner level. - */ - child?: any; - - /** It receives datasource as Essential DataManager object and JSON object. - */ - dataSource?: any; - - /** Specifies the HTML attributes to “LI” item list. - */ - htmlAttribute?: string; - - /** Specifies the id to menu items list - */ - id?: string; - - /** Specifies the image attribute to “img” tag inside items list. - */ - imageAttribute?: string; - - /** Specifies the image URL to “img” tag inside item list. - */ - imageUrl?: string; - - /** Adds custom attributes like "target" to the anchor tag of the menu items. - */ - linkAttribute?: string; - - /** Specifies the parent id of the table. - */ - parentId?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - */ - query?: any; - - /** Specifies the sprite CSS class to “LI” item list. - */ - spriteCssClass?: string; - - /** It receives table name to execute query on the corresponding table. - */ - tableName?: string; - - /** Specifies the text of menu items list. - */ - text?: string; - - /** Specifies the URL to the anchor tag in menu item list. - */ - url?: string; - } -} -enum AnimationType { - //string - Default, - //string - None, -} -enum MenuType { - //string - ContextMenu, - //string - NormalMenu, -} -enum Direction { - //string - Left, - //string - None, - //string - Right, -} - -class Pager extends ej.Widget { - static fn: Pager; - constructor(element: JQuery | Element, options?: Pager.Model); - static Locale: any; - model: Pager.Model; - defaults: Pager.Model; - - /** Send a paging request to specified page through the pager control. - * @param {number} Specifies the index to be navigated - * @returns {void} - */ - gotoPage(pageIndex: number): void; - - /** refreshPager() helps to refresh the model value of pager control. - * @returns {void} - */ - refreshPager(): void; -} -export namespace Pager { - - export interface Model { - - /** Gets or sets a value that indicates whether to display the custom text message in Pager. - */ - customText?: string; - - /** Gets or sets a value that indicates whether to define which page to display currently in pager. - * @Default {1} - */ - currentPage?: number; - - /** Gets or sets a value that indicates whether to display the external Message in Pager. - * @Default {false} - */ - enableExternalMessage?: boolean; - - /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. - * @Default {false} - */ - enableQueryString?: boolean; - - /** Align content in the pager control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** Gets or sets a value that indicates whether to display the external Message in Pager. - */ - externalMessage?: string; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. - * in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation. - * @Default {10} - */ - pageCount?: number; - - /** Gets or sets a value that indicates whether to define the number of records displayed per page. - * @Default {12} - */ - pageSize?: number; - - /** Get or sets a value of total number of pages in the pager. The totalPages value is calculated based on page size and total records. - * @Default {null} - */ - totalPages?: number; - - /** Get the value of total number of records which is bound to a data item. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Shows or hides the current page information in pager footer. - * @Default {true} - */ - showPageInfo?: boolean; - - /** Triggered when pager numeric item is clicked in pager control. */ - click?(e: ClickEventArgs): void; - } - - export interface ClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current page index. - */ - currentPage?: number; - - /** Returns the pager model. - */ - model?: any; - - /** Returns the name of event - */ - type?: string; - - /** Returns current action event type and its target. - */ - event?: any; - } -} - - -class Print extends ej.Widget { - static fn: Print; - constructor(element: JQuery | Element, options?: Print.Model); - static Locale: any; - model: Print.Model; - defaults: Print.Model; - - /** Print the specific page or an element. - * @returns {void} - */ - print(): void; -} - -export namespace Print { - - export interface Model { - - /** Append the custom HTML after the selected content. - * @Default {null} - */ - append?: string; - - /** A selector that specifies a particular element to be excluded from printing. - * @Default {null} - */ - excludeSelector?: string; - - /** Specifies whether the URL of an external stylesheet can be included to customize and print that page. - * @Default {null} - */ - externalStyles?: string; - - /** Prepend a doctype to the document frame. - * @Default {<!doctype html>} - */ - docType?: string; - - /** Specifies whether the global styles can be applied to the element to be printed. - * @Default {true} - */ - globalStyles?: boolean; - - /** Sets the height of the print window. - * @Default {454} - */ - height?: number; - - /** Prepends the custom HTML before the selected content. - * @Default {null} - */ - prepend?: string; - - /** Allows printing the content in a new window. - * @Default {false} - */ - printInNewWindow?: boolean; - - /** Sets the period of time to wait before printing the content. - * @Default {1000} - */ - timeOutPeriod?: number; - - /** Sets the title of the print document. - * @Default {null} - */ - title?: string; - - /** Defines the width of the print window. - * @Default {1024} - */ - width?: number; - - /** Event triggers before the document page or an element in it gets printed. */ - beforeStart?(e: BeforeStartEventArgs): void; - } - - export interface BeforeStartEventArgs { - - /** Set this option as true to cancel the event. - */ - cancel?: boolean; - - /** Returns the Print model - */ - model?: ej.Print.Model; - - /** Returns the name of an event - */ - type?: string; - - /** Returns the printed element - */ - content?: any; - } -} -class ProgressBar extends ej.Widget { - static fn: ProgressBar; - constructor(element: JQuery | Element, options?: ProgressBar.Model); - static Locale: any; - model: ProgressBar.Model; - defaults: ProgressBar.Model; - - /** Destroy the progressbar widget - * @returns {void} - */ - destroy(): void; - - /** Disables the progressbar control - * @returns {void} - */ - disable(): void; - - /** Enables the progressbar control - * @returns {void} - */ - enable(): void; - - /** Returns the current progress value in percent. - * @returns {number} - */ - getPercentage(): number; - - /** Returns the current progress value - * @returns {number} - */ - getValue(): number; -} -export namespace ProgressBar { - - export interface Model { - - /** Sets the root CSS class for ProgressBar theme, which is used customize. - * @Default {null} - */ - cssClass?: string; - - /** When this property sets to false, it disables the ProgressBar control - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for state maintains. While refresh the progressBar control page retains the model value apply from browser cookies - * @Default {false} - */ - enablePersistence?: boolean; - - /** Sets the ProgressBar direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines the height of the ProgressBar. - * @Default {null} - */ - height?: number | string; - - /** It allows to define the characteristics of the progressBar control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the maximum value of the ProgressBar. - * @Default {100} - */ - maxValue?: number; - - /** Sets the minimum value of the ProgressBar. - * @Default {0} - */ - minValue?: number; - - /** Sets the ProgressBar value in percentage. The value should be in between 0 to 100. - * @Default {0} - */ - percentage?: number; - - /** Displays rounded corner borders on the progressBar control. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Sets the custom text for the ProgressBar. The text placed in the middle of the ProgressBar and it can be customizable using the class 'e-progress-text'. - * @Default {null} - */ - text?: string; - - /** Sets the ProgressBar value. The value should be in between min and max values. - * @Default {0} - */ - value?: number; - - /** Defines the width of the ProgressBar. - * @Default {null} - */ - width?: number | string; - - /** Event triggers when the progress value changed */ - change?(e: ChangeEventArgs): void; - - /** Event triggers when the process completes (at 100%) */ - complete?(e: CompleteEventArgs): void; - - /** Event triggers when the progressbar are created */ - create?(e: CreateEventArgs): void; - - /** Event triggers when the progressbar are destroyed */ - destroy?(e: DestroyEventArgs): void; - - /** Event triggers when the process starts (from 0%) */ - start?(e: StartEventArgs): void; - } - - export interface ChangeEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; - - /** returns the current progress percentage - */ - percentage?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current progress value - */ - value?: string; - } - - export interface CompleteEventArgs { - /** returns the cancel option value - */ - cancel?: boolean; + export interface AjaxBeforeLoadEventArgs { - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the current progress percentage - */ - percentage?: any; + /** returns the name of the event. + */ + type?: string; - /** returns the name of the event - */ - type?: string; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - /** returns the current progress value - */ - value?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the progressbar model - */ - model?: ej.ProgressBar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the progressbar model - */ - model?: ej.ProgressBar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface StartEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the ProgressBar model - */ - model?: ej.ProgressBar.Model; - - /** returns the current progress percentage - */ - percentage?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current progress value - */ - value?: string; - } -} - -class RadioButton extends ej.Widget { - static fn: RadioButton; - constructor(element: JQuery | Element, options?: RadioButton.Model); - static Locale: any; - model: RadioButton.Model; - defaults: RadioButton.Model; - - /** To disable the RadioButton - * @returns {void} - */ - disable(): void; - - /** To enable the RadioButton - * @returns {void} - */ - enable(): void; -} -export namespace RadioButton { - - export interface Model { - - /** Specifies the check attribute of the Radio Button. - * @Default {false} - */ - checked?: boolean; - - /** Specify the CSS class to RadioButton to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the RadioButton control state. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the enablePersistence property for RadioButton while initialization. The enablePersistence API save current model value to browser cookies for state maintains. - * While refreshing the radio button control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specify the Right to Left direction to RadioButton - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the HTML Attributes of the Checkbox - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the id attribute for the Radio Button while initialization. - * @Default {null} - */ - id?: string; - - /** Specify the idPrefix value to be added before the current id of the RadioButton. - * @Default {ej} - */ - idPrefix?: string; - - /** Specifies the name attribute for the Radio Button while initialization. - * @Default {Sets id as name if it is null} - */ - name?: string; - - /** Specifies the size of the RadioButton. - * @Default {small} - */ - size?: ej.RadioButtonSize | string; - - /** Specifies the text content for RadioButton. - */ - text?: string; - - /** Set the jQuery validation error message in radio button. - * @Default {null} - */ - validationMessage?: any; - - /** Set the jQuery validation rules in radio button. - * @Default {null} - */ - validationRules?: any; - - /** Specifies the value attribute of the Radio Button. - * @Default {null} - */ - value?: string; - - /** Fires before the RadioButton is going to changed its state successfully */ - beforeChange?(e: BeforeChangeEventArgs): void; - - /** Fires when the RadioButton state is changed successfully */ - change?(e: ChangeEventArgs): void; - - /** Fires when the RadioButton created successfully */ - create?(e: CreateEventArgs): void; - - /** Fires when the RadioButton destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - } - - export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true if element is checked, otherwise returns false - */ - isChecked?: boolean; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true if element is checked, otherwise returns false - */ - isChecked?: boolean; - - /** returns true if change event triggered by interaction, otherwise returns false - */ - isInteraction?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RadioButton model - */ - model?: ej.RadioButton.Model; - - /** returns the name of the event - */ - type?: string; - } -} -enum RadioButtonSize { - //Shows small size radio button - Small, - //Shows medium size radio button - Medium, -} - -class Rating extends ej.Widget { - static fn: Rating; - constructor(element: JQuery | Element, options?: Rating.Model); - static Locale: any; - model: Rating.Model; - defaults: Rating.Model; - - /** Destroy the Rating widget all events bound will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To get the current value of rating control. - * @returns {number} - */ - getValue(): number; - - /** To hide the rating control. - * @returns {void} - */ - hide(): void; - - /** User can refresh the rating control to identify changes. - * @returns {void} - */ - refresh(): void; - - /** To reset the rating value. - * @returns {void} - */ - reset(): void; - - /** To set the rating value. - * @param {string|number} Specifies the rating value. - * @returns {void} - */ - setValue(value: string | number): void; - - /** To show the rating control - * @returns {void} - */ - show(): void; -} -export namespace Rating { - - export interface Model { - - /** Enables the rating control with reset button.It can be used to reset the rating control value. - * @Default {true} - */ - allowReset?: boolean; - - /** Specify the CSS class to achieve custom theme. - */ - cssClass?: string; - - /** When this property is set to false, it disables the rating control. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the height of the Rating control wrapper. - * @Default {null} - */ - height?: string; - - /** Specifies the list of HTML attributes to be added to rating control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the value to be increased while navigating between shapes(stars) in Rating control. - * @Default {1} - */ - incrementStep?: number; - - /** Allow to render the maximum number of Rating shape(star). - * @Default {5} - */ - maxValue?: number; - - /** Allow to render the minimum number of Rating shape(star). - * @Default {0} - */ - minValue?: number; - - /** Specifies the orientation of Rating control. See Orientation - * @Default {ej.Rating.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Helps to provide more precise ratings.Rating control supports three precision modes - full, half, and exact. See Precision - * @Default {full} - */ - precision?: ej.Rating.Precision | string; - - /** Interaction with Rating control can be prevented by enabling this API. - * @Default {false} - */ - readOnly?: boolean; - - /** To specify the height of each shape in Rating control. - * @Default {23} - */ - shapeHeight?: number; - - /** To specify the width of each shape in Rating control. - * @Default {23} - */ - shapeWidth?: number; - - /** Enables the tooltip option.Currently selected value will be displayed in tooltip. - * @Default {true} - */ - showTooltip?: boolean; - - /** To specify the number of stars to be selected while rendering. - * @Default {1} - */ - value?: number; - - /** Specifies the width of the Rating control wrapper. - * @Default {null} - */ - width?: string; - - /** Fires when Rating value changes. */ - change?(e: ChangeEventArgs): void; - - /** Fires when Rating control is clicked successfully. */ - click?(e: ClickEventArgs): void; - - /** Fires when Rating control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when Rating control is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when mouse hover is removed from Rating control. */ - mouseout?(e: MouseoutEventArgs): void; - - /** Fires when mouse hovered over the Rating control. */ - mouseover?(e: MouseoverEventArgs): void; - } - - export interface ChangeEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - } - - export interface ClickEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface MouseoutEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - } - - export interface MouseoverEventArgs { - - /** returns the current value. - */ - value?: number; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rating model - */ - model?: ej.Rating.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the mouse click event args values. - */ - event?: any; - - /** returns the current index value. - */ - index?: any; - } - - enum Precision { - - ///string - Exact, - - ///string - Full, - - ///string - Half - } - -} - -class Ribbon extends ej.Widget { - static fn: Ribbon; - constructor(element: JQuery | Element, options?: Ribbon.Model); - static Locale: any; - model: Ribbon.Model; - defaults: Ribbon.Model; - - /** Adds contextual tab or contextual tab set dynamically in the ribbon control with contextual tabs object and index position. - * When index is null, ribbon contextual tab or contextual tab set is added at the last index. - * @param {any} contextual tab or contextual tab set object. - * @param {number} index of the contextual tab or contextual tab set, this is optional. - * @returns {void} - */ - addContextualTabs(contextualTabSet: any, index?: number): void; - - /** Add new option to Backstage page. - * @param {any} select the object to add the backstage item - * @param {number} index to the backstage item this is optional. - * @returns {void} - */ - addBackStageItem(item: any, index?: number): void; - - /** Adds tab dynamically in the ribbon control with given name, tab group array and index position. When index is null, ribbon tab is added at the last index. - * @param {string} ribbon tab display text. - * @param {Array} groups to be displayed in ribbon tab . - * @param {number} index of the ribbon tab,this is optional. - * @returns {void} - */ - addTab(tabText: string, ribbonGroups: any[], index?: number): void; - - /** Adds tab group dynamically in the ribbon control with given tab index, tab group object and group index position. When group index is null, ribbon group is added at the last index. - * @param {number} ribbon tab index. - * @param {any} group to be displayed in ribbon tab . - * @param {number} index of the ribbon group,this is optional. - * @returns {void} - */ - addTabGroup(tabIndex: number, tabGroup: any, groupIndex?: number): void; - - /** Adds group content dynamically in the ribbon control with given tab index, group index, sub group index, content and content index position. - * When content index is null, content is added at the last index. - * @param {number} ribbon tab index. - * @param {number} ribbon group index. - * @param {any} content to be displayed in the ribbon group. - * @param {number} ribbon content index. This is optional. If the value is not given, then by default contentIndex will be considered as 0. - * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, then by default contentIndex will be considered as 0. - * @returns {void} - */ - addTabGroupContent(tabIndex: number, groupIndex: number, content: any, contentIndex?: number, subGroupIndex?: number): void; - - /** Hides the ribbon backstage page. - * @returns {void} - */ - hideBackstage(): void; - - /** Collapses the ribbon tab content. - * @returns {void} - */ - collapse(): void; - - /** Destroys the ribbon widget. All the events bound using this._on are unbound automatically and the ribbon control is moved to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Expands the ribbon tab content. - * @returns {void} - */ - expand(): void; - - /** Gets text of the given index tab in the ribbon control. - * @param {number} index of the tab item. - * @returns {String} - */ - getTabText(index: number): string; - - /** Hides the given text tab in the ribbon control. - * @param {string} text of the tab item. - * @returns {void} - */ - hideTab(text: string): void; - - /** Checks whether the given text tab in the ribbon control is enabled or not. - * @param {string} text of the tab item. - * @returns {Boolean} - */ - isEnable(text: string): boolean; - - /** Checks whether the given text tab in the ribbon control is visible or not. - * @param {string} text of the tab item. - * @returns {Boolean} - */ - isVisible(text: string): boolean; - - /** Removes the given index tab item from the ribbon control. - * @param {number} index of tab item. - * @returns {void} - */ - removeTab(index: number): void; - - /** Sets new text to the given text tab in the ribbon control. - * @param {string} current text of the tab item. - * @param {string} new text of the tab item. - * @returns {void} - */ - setTabText(tabText: string, newText: string): void; - - /** Displays the ribbon backstage page. - * @returns {void} - */ - showBackstage(): void; - - /** Displays the given text tab in the ribbon control. - * @param {string} text of the tab item. - * @returns {void} - */ - showTab(text: string): void; - - /** To customize Group alone in the inside content. - * @param {number} ribbon tab index. - * @param {string} group id to be displayed in ribbon tab . - * @param {any} contentGroup is used in the object - * @returns {void} - */ - updateGroup(tabIndex: number, groupId: string, contentGroup?: any): void; - - /** Update option in existing Backstage. - * @param {number} index to the backstage item - * @param {any} select the object to add the backstage item - * @returns {void} - */ - updateBackStageItem(index: number, item?: any): void; - - /** To customize whole content from Tab Group. - * @param {number} ribbon tab index. - * @param {string} ribbon group text. - * @param {number} ribbon content index. This is optional. If the value is not given, all content groups will be removed. - * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, all content groups will be removed. - * @returns {void} - */ - removeTabGroupContent(tabIndex: number, groupText: string, contentIndex?: number, subGroupIndex?: number): void; - - /** Remove option from Backstage. - * @param {number} index to the backstage item - * @returns {void} - */ - removeBackStageItem(index: number): void; -} -export namespace Ribbon { - - export interface Model { - - /** Enables the ribbon resize feature.allowResizing is a deprecated property of isResponsive. - * @Default {false} - */ - allowResizing?: boolean; - - /** When set to true, adapts the Ribbon layout to fit the screen size of devices on which it renders. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the height, width, enableRTL, showRoundedCorner,enabled,cssClass property to the controls in the ribbon commonly andit will work only when those properties - * are not defined in buttonSettings and content defaults. - * @Default {Object} - */ - buttonDefaults?: any; - - /** Property to enable the ribbon quick access toolbar. - * @Default {false} - */ - showQAT?: boolean; - - /** Sets custom setting to the collapsible pin in the ribbon. - * @Default {Object} - */ - collapsePinSettings?: CollapsePinSettings; - - /** Set enableOnDemand as true to load ribbon tab and backstage contents while corresponding item clicked. - * @Default {false} - */ - enableOnDemand?: boolean; - - /** Set collapsible property as true to render ribbon in initially collapsed state. - * @Default {false} - */ - collapsible?: boolean; - - /** Align content in the ribbon control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets custom setting to the expandable pin in the ribbon. - * @Default {Object} - */ - expandPinSettings?: ExpandPinSettings; - - /** Specifies the application tab to contain application menu or backstage page in the ribbon control. - * @Default {Object} - */ - applicationTab?: ApplicationTab; - - /** Specifies the contextual tabs and tab set to the ribbon control with the background color and border color. Refer to the tabs section for adding tabs - * into the contextual tab and contextual tab set. - * @Default {Array} - */ - contextualTabs?: ContextualTab[]; - - /** Specifies the index or indexes to disable the given index tab or indexes tabs in the ribbon control. - * @Default {0} - */ - disabledItemIndex?: any[]; - - /** Specifies the index or indexes to enable the given index tab or indexes tabs in the ribbon control. - * @Default {null} - */ - enabledItemIndex?: any[]; - - /** Specifies the index of the ribbon tab to select the given index tab item in the ribbon control. - * @Default {1} - */ - selectedItemIndex?: number; - - /** Specifies the tabs and its groups. Also specifies the control details that has to be placed in the tab area in the ribbon control. - * @Default {Array} - */ - tabs?: Tab[]; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific - * to a particular country or region and it will need to use the user's preference. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the width to the ribbon control. You can set width in string or number format. - * @Default {null} - */ - width?: string | number; - - /** Triggered before the ribbon tab item is removed. */ - beforeTabRemove?(e: BeforeTabRemoveEventArgs): void; - - /** Triggered before the ribbon control is created. */ - create?(e: CreateEventArgs): void; - - /** Triggered before the ribbon control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered when the control in the group is clicked successfully. */ - groupClick?(e: GroupClickEventArgs): void; - - /** Triggered when the group expander in the group is clicked successfully. */ - groupExpand?(e: GroupExpandEventArgs): void; - - /** Triggered when an item in the Gallery control is clicked successfully. */ - galleryItemClick?(e: GalleryItemClickEventArgs): void; - - /** Triggered when a tab or button in the backstage page is clicked successfully. */ - backstageItemClick?(e: BackstageItemClickEventArgs): void; - - /** Triggered when the ribbon control is collapsed. */ - collapse?(e: CollapseEventArgs): void; - - /** Triggered when the ribbon control is expanded. */ - expand?(e: ExpandEventArgs): void; + /** returns the AJAX settings. + */ + ajaxData?: any; + } - /** Triggered before the ribbon control is load. */ - load?(e: LoadEventArgs): void; + export interface AjaxCompleteEventArgs { - /** Triggered after adding the new ribbon tab item. */ - tabAdd?(e: TabAddEventArgs): void; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Triggered when tab is clicked successfully in the ribbon control. */ - tabClick?(e: TabClickEventArgs): void; + /** returns the name of the event. + */ + type?: string; - /** Triggered before the ribbon tab is created. */ - tabCreate?(e: TabCreateEventArgs): void; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + } - /** Triggered after the tab item is removed from the ribbon control. */ - tabRemove?(e: TabRemoveEventArgs): void; + export interface AjaxErrorEventArgs { - /** Triggered after the ribbon tab item is selected in the ribbon control. */ - tabSelect?(e: TabSelectEventArgs): void; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Triggered when the expand/collapse button is clicked successfully . */ - toggleButtonClick?(e: ToggleButtonClickEventArgs): void; + /** returns the name of the event. + */ + type?: string; - /** Triggered when the QAT menu item is clicked successfully . */ - qatMenuItemClick?(e: QatMenuItemClickEventArgs): void; - } - - export interface BeforeTabRemoveEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - /** returns the name of the event. - */ - type?: string; + /** returns the error thrown in the AJAX post. + */ + errorThrown?: any; - /** returns current tab item index in the ribbon control. - */ - index?: number; - } - - export interface CreateEventArgs { + /** returns the status. + */ + textStatus?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the current list item. + */ + item?: any; - /** returns the ribbon model. - */ - model?: any; + /** returns the current item text. + */ + text?: string; - /** returns the name of the event. - */ - type?: string; - } + /** returns the current item index. + */ + index?: number; + } - export interface DestroyEventArgs { + export interface AjaxSuccessEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the ribbon model. - */ - model?: any; + /** returns the name of the event. + */ + type?: string; - /** returns the name of the event. - */ - type?: string; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - /** returns current ribbon tab item index - */ - deleteIndex?: number; - } + /** returns the AJAX current content. + */ + content?: string; - export interface GroupClickEventArgs { + /** returns the current list item. + */ + item?: any; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the current item text. + */ + text?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the current item index. + */ + index?: number; - /** returns the name of the event. - */ - type?: string; + /** returns the current URL of the AJAX post. + */ + URL?: string; + } - /** returns the control clicked in the group. - */ - target?: number; - } + export interface LoadEventArgs { - export interface GroupExpandEventArgs { + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the name of the event. + */ + type?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + } - /** returns the name of the event. - */ - type?: string; + export interface LoadCompleteEventArgs { - /** returns the clicked group expander. - */ - target?: number; - } + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - export interface GalleryItemClickEventArgs { + /** returns the name of the event. + */ + type?: string; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the model value of the control. + */ + model?: ej.ListView.Model; + } - /** returns the ribbon model. - */ - model?: any; + export interface MouseDownEventArgs { - /** returns the gallery model. - */ - galleryModel?: any; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the name of the event. - */ - type?: string; + /** returns the name of the event. + */ + type?: string; - /** returns the item clicked in the gallery. - */ - target?: number; - } + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - export interface BackstageItemClickEventArgs { + /** If the child element exist return true; otherwise, false. + */ + hasChild?: boolean; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the current list item. + */ + item?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the current text of item. + */ + text?: string; - /** returns the name of the event. - */ - type?: string; + /** returns the current Index of the item. + */ + index?: number; - /** returns the item clicked in the gallery. - */ - target?: number; + /** If checked return true; otherwise, false. + */ + isChecked?: boolean; - /** returns the id of the target item. - */ - id?: string; + /** returns the list of checked items. + */ + checkedItems?: number; - /** returns the text of the target item. - */ - text?: string; - } + /** returns the current checked item text. + */ + checkedItemsText?: string; + } - export interface CollapseEventArgs { + export interface MouseUpEventArgs { - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** returns the ribbon model. - */ - model?: any; + /** returns the name of the event. + */ + type?: string; - /** returns the name of the event. - */ - type?: string; - } + /** returns the model value of the control. + */ + model?: ej.ListView.Model; - export interface ExpandEventArgs { + /** If the child element exist return true; otherwise, false. + */ + hasChild?: boolean; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the current list item. + */ + item?: string; - /** returns the ribbon model. - */ - model?: any; + /** returns the current text of item. + */ + text?: string; - /** returns the name of the event. - */ - type?: string; - } + /** returns the current Index of the item. + */ + index?: number; - export interface LoadEventArgs { + /** If checked return true; otherwise, false. + */ + isChecked?: boolean; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** returns the list of checked items. + */ + checkedItems?: number; - /** returns the ribbon model. - */ - model?: any; + /** returns the current checked item text. + */ + checkedItemsText?: string; + } - /** returns the name of the event. - */ - type?: string; - } + export interface AjaxSettings { - export interface TabAddEventArgs { + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; - /** returns the ribbon model. - */ - model?: any; + /** It specifies the type of data is send in the query string. + */ + contentType?: string; - /** returns the name of the event. - */ - type?: string; + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; - /** returns new added tab header. - */ - tabHeader?: any; + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; - /** returns new added tab content panel. - */ - tabContent?: any; + /** It specifies the HTTP request type. + */ + type?: string; + } } - export interface TabClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: any; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: any; - - /** returns current active index. - */ - activeIndex?: number; - } - - export interface TabCreateEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns current ribbon tab item index - */ - deleteIndex?: number; - } - - export interface TabRemoveEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the removed index. - */ - removedIndex?: number; - } - - export interface TabSelectEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: any; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: any; - - /** returns current active index. - */ - activeIndex?: number; - } - - export interface ToggleButtonClickEventArgs { - - /** Set to true when the event has to be canceled, else false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the expand/collapse button. - */ - target?: number; - } - - export interface QatMenuItemClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the ribbon model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the clicked menu item text. - */ - text?: string; - } - - export interface CollapsePinSettings { - - /** Sets tooltip for the collapse pin . - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for collapse pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - } - - export interface ExpandPinSettings { - - /** Sets tooltip for the expand pin. - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for expand pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - } - - export interface ApplicationTabBackstageSettingsPage { - - /** Specifies the id for ribbon backstage page's tab and button elements. - * @Default {null} - */ - id?: string; - - /** Specifies the text for ribbon backstage page's tab header and button elements. - * @Default {null} - */ - text?: string; - - /** Specifies the type for ribbon backstage page's contents. Set "ej.Ribbon.BackStageItemType.Tab" to render the tab or " - * ej.Ribbon.BackStageItemType.Button" to render the button. - * @Default {ej.Ribbon.ItemType.Tab} - */ - itemType?: ej.Ribbon.ItemType | string; - - /** Specifies the id of HTML elements like div,ul, etc., as ribbon backstage page's tab content. - * @Default {null} - */ - contentID?: string; - - /** Specifies the separator between backstage page's tab and button elements. - * @Default {false} - */ - enableSeparator?: boolean; - } - - export interface ApplicationTabBackstageSettings { - - /** Specifies the display text of application tab. - * @Default {null} - */ - text?: string; - - /** Specifies the height of ribbon backstage page. - * @Default {null} - */ - height?: string | number; - - /** Specifies the width of ribbon backstage page. - * @Default {null} - */ - width?: string | number; - - /** Specifies the ribbon backstage page with its tab and button elements. - * @Default {Array} - */ - pages?: ApplicationTabBackstageSettingsPage[]; - - /** Specifies the width of backstage page header that contains tabs and buttons. - * @Default {null} - */ - headerWidth?: string | number; - } - - export interface ApplicationTab { - - /** Specifies the ribbon backstage page items. - * @Default {Object} - */ - backstageSettings?: ApplicationTabBackstageSettings; - - /** Specifies the ID of ul list to create application menu in the ribbon control. - * @Default {null} - */ - menuItemID?: string; - - /** Specifies the menu members, events by using the menu settings for the menu in the application tab. - * @Default {Object} - */ - menuSettings?: any; - - /** Specifies the application menu or backstage page. Specify the type of application tab as "ej.Ribbon.ApplicationTabType.Menu" to render the application menu or - * "ej.Ribbon.ApplicationTabType.Backstage" to render backstage page in the ribbon control. - * @Default {ej.Ribbon.ApplicationTabType.Menu} - */ - type?: ej.Ribbon.ApplicationTabType | string; - } - - export interface ContextualTab { - - /** Specifies the backgroundColor of the contextual tabs and tab set in the ribbon control. - * @Default {null} - */ - backgroundColor?: string; - - /** Specifies the borderColor of the contextual tabs and tab set in the ribbon control. - * @Default {null} - */ - borderColor?: string; - - /** Specifies the tabs to present in the contextual tabs and tab set. Refer to the tabs section for adding tabs into the contextual tabs and tab set. - * @Default {Array} - */ - tabs?: any[]; - } - - export interface TabsGroupsContentDefaults { - - /** Specifies the controls height such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {null} - */ - height?: string | number; - - /** Specifies the controls width such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {null} - */ - width?: string | number; - - /** Specifies the controls type such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {ej.Ribbon.Type.Button} - */ - type?: string; - - /** Specifies the controls size such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. - * @Default {false} - */ - isBig?: boolean; - } - - export interface TabsGroupsContentGroupsCustomGalleryItem { - - /** Specifies the Syncfusion button members, events by using buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** Specifies the type as ej.Ribbon.CustomItemType.Menu or ej.Ribbon.CustomItemType.Button to render Syncfusion button and menu. - * @Default {ej.Ribbon.CustomItemType.Button} - */ - customItemType?: ej.Ribbon.CustomItemType | string; - - /** Specifies the custom tooltip for gallery extra item's button. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - - /** Specifies the UL list id to render menu as gallery extra item. - * @Default {null} - */ - menuId?: string; - - /** Specifies the Syncfusion menu members, events by using menuSettings. - * @Default {Object} - */ - menuSettings?: any; - - /** Specifies the text for gallery extra item's button. - * @Default {null} - */ - text?: string; - - /** Specifies the tooltip for gallery extra item's button. - * @Default {null} - */ - toolTip?: string; - } - - export interface TabsGroupsContentGroupsCustomToolTip { - - /** Sets content to the custom tooltip. Text and HTML support are provided for content. - * @Default {null} - */ - content?: string; - - /** Sets icon to the custom tooltip content. - * @Default {null} - */ - prefixIcon?: string; - - /** Sets title to the custom tooltip. Text and HTML support are provided for title and the title is in bold for text format. - * @Default {null} - */ - title?: string; - } - - export interface TabsGroupsContentGroupsGalleryItem { - - /** Specifies the Syncfusion button members, events by using buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** Specifies the custom tooltip for gallery content. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - - /** Sets text for the gallery content. - * @Default {null} - */ - text?: string; - - /** Sets tooltip for the gallery content. - * @Default {null} - */ - toolTip?: string; - } - - export interface TabsGroupsContentGroup { - - /** When isMobileOnly is true,its shows in mobile toolbar.isResponsive should be true for using this property. - * @Default {false} - */ - isMobileOnly?: boolean; - - /** Specifies the Syncfusion button members, events by using this buttonSettings. - * @Default {Object} - */ - buttonSettings?: any; - - /** It is used to set the count of gallery contents in a row. - * @Default {null} - */ - columns?: number; - - /** Specifies the custom items such as div, table, controls as custom controls with the type "ej.Ribbon.Type.Custom" in the groups. - * @Default {null} - */ - contentID?: string; - - /** Specifies the CSS class property to apply styles to the button, split, dropdown controls in the groups. - * @Default {null} - */ - cssClass?: string; - - /** Specifies the Syncfusion button and menu as gallery extra items. - * @Default {Array} - */ - customGalleryItems?: TabsGroupsContentGroupsCustomGalleryItem[]; - - /** Provides custom tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. Text and HTML support are also provided for title and content. - * @Default {Object} - */ - customToolTip?: TabsGroupsContentGroupsCustomToolTip; - - /** Specifies the Syncfusion dropdown list members, events by using this dropdownSettings. - * @Default {Object} - */ - dropdownSettings?: any; - - /** Specifies the separator to the control that is in row type group. The separator separates the control from the next control in the group. Set "true" to enable the separator. - * @Default {false} - */ - enableSeparator?: boolean; - - /** Sets the count of gallery contents in a row, when the gallery is in expanded state. - * @Default {null} - */ - expandedColumns?: number; - - /** Defines each gallery content. - * @Default {Array} - */ - galleryItems?: TabsGroupsContentGroupsGalleryItem[]; - - /** Specifies the Id for button, split button, dropdown list, toggle button, gallery, custom controls in the sub groups. - * @Default {null} - */ - id?: string; - - /** Specifies the size for button, split button controls. Set "true" for big size and "false" for small size. - * @Default {null} - */ - isBig?: boolean; - - /** Sets the height of each gallery content. - * @Default {null} - */ - itemHeight?: string | number; - - /** Sets the width of each gallery content. - * @Default {null} - */ - itemWidth?: string | number; - - /** Specifies the Syncfusion split button members, events by using this splitButtonSettings. - * @Default {Object} - */ - splitButtonSettings?: any; - - /** Specifies the text for button, split button, toggle button controls in the sub groups. - * @Default {null} - */ - text?: string; - - /** Specifies the Syncfusion toggle button members, events by using toggleButtonSettings. - * @Default {Object} - */ - toggleButtonSettings?: any; - - /** Specifies the tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. - * @Default {null} - */ - toolTip?: string; - - /** To add,show and hide controls in Quick Access toolbar. - * @Default {ej.Ribbon.QuickAccessMode.None} - */ - quickAccessMode?: ej.Ribbon.QuickAccessMode | string; - - /** Specifies the type as "ej.Ribbon.Type.Button" or "ej.Ribbon.Type.SplitButton" or "ej.Ribbon.Type.DropDownList" or "ej.Ribbon.Type.ToggleButton" - * or "ej.Ribbon.Type.Custom" or "ej.Ribbon.Type.Gallery" to render button, split, dropdown, toggle button, gallery, custom controls. - * @Default {ej.Ribbon.Type.Button} - */ - type?: ej.Ribbon.Type | string; - } - - export interface TabsGroupsContent { - - /** Specifies the height, width, type, isBig property to the controls in the group commonly. - * @Default {Object} - */ - defaults?: TabsGroupsContentDefaults; - - /** Specifies the controls such as Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls in the subgroup of the ribbon tab . - * @Default {Array} - */ - groups?: TabsGroupsContentGroup[]; - } - - export interface TabsGroupsGroupExpanderSettings { - - /** Sets tooltip for the group expander of the group. - * @Default {null} - */ - toolTip?: string; - - /** Specifies the custom tooltip for group expander.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. - * @Default {Object} - */ - customToolTip?: any; - } - - export interface TabsGroup { - - /** Specifies the alignment of controls in the groups in 'row' type or 'column' type. Value for row type is "ej.Ribbon.AlignType.Rows" - * and for column type is "ej.Ribbon.alignType.columns". - * @Default {ej.Ribbon.AlignType.Rows} - */ - alignType?: ej.Ribbon.AlignType | string; - - /** Specifies the Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls to the groups in the ribbon control. - * @Default {Array} - */ - content?: TabsGroupsContent[]; - - /** Specifies the ID of custom items to be placed in the groups. - * @Default {null} - */ - contentID?: string; - - /** Specifies the HTML contents to place into the groups. - * @Default {null} - */ - customContent?: string; - - /** Specifies the group expander for groups in the ribbon control. Set "true" to enable the group expander. - * @Default {false} - */ - enableGroupExpander?: boolean; - - /** Sets custom setting to the groups in the ribbon control. - * @Default {Object} - */ - groupExpanderSettings?: TabsGroupsGroupExpanderSettings; - - /** Specifies the text to the groups in the ribbon control. - * @Default {null} - */ - text?: string; - - /** Specifies the custom items such as div, table, controls by using the "custom" type. - * @Default {null} - */ - type?: string; - } - - export interface Tab { - - /** Specifies single group or multiple groups and its contents to each tab in the ribbon control. - * @Default {Array} - */ - groups?: TabsGroup[]; - - /** Specifies the ID for each tab's content panel. - * @Default {null} - */ - id?: string; - - /** Specifies the text of the tab in the ribbon control. - * @Default {null} - */ - text?: string; - } - - enum ItemType { - - ///To render the button for ribbon backstage page’s contents - Button, - - ///To render the tab for ribbon backstage page’s contents - Tab - } - - - enum ApplicationTabType { - - ///applicationTab display as menu - Menu, - - ///applicationTab display as backstage - Backstage - } - - - enum AlignType { - - ///To align the group content's in row - Rows, - - ///To align group content's in columns - Columns - } - - - enum CustomItemType { - - ///Specifies the button type in customGalleryItems - Button, - - ///Specifies the menu type in customGalleryItems - Menu - } - - - enum QuickAccessMode { - - ///Controls are hidden in Quick Access toolbar - None, - - ///Add controls in toolBar - ToolBar, - - ///Add controls in menu - Menu - } - - - enum Type { - - ///Specifies the button control - Button, - - ///Specifies the split button - SplitButton, - - ///Specifies the dropDown - DropDownList, - - ///To append external element's - Custom, - - ///Specifies the toggle button - ToggleButton, - - ///Specifies the ribbon gallery - Gallery - } + class MaskEdit extends ej.Widget { + static fn: MaskEdit; + constructor(element: JQuery | Element, options?: MaskEdit.Model); + static Locale: any; + model: MaskEdit.Model; + defaults: MaskEdit.Model; -} - -class Kanban extends ej.Widget { - static fn: Kanban; - constructor(element: JQuery | Element, options?: Kanban.Model); - static Locale: any; - model: Kanban.Model; - defaults: Kanban.Model; - - /** Add or remove columns in Kanban columns collections.Default action is add. - * @param {Array|string} Pass array of columns or string of headerText to add/remove the column in Kanban - * @param {Array|string} Pass array of columns or string of key value to add/remove the column in Kanban - * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform - * @returns {void} - */ - columns(columndetails: any[] | string, keyvalue: any[] | string, action?: string): void; - - /** Destroy the Kanban widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Refresh the Kanban with new data source. - * @param {Array} Pass new data source to the Kanban - * @returns {void} - */ - dataSource(datasource: any[]): void; - - /** toggleColumn based on the headerText in Kanban. - * @param {any} Pass the header text of the column to get the corresponding column object - * @returns {void} - */ - toggleColumn(headerText: any): void; - - /** Expand or collapse the card based on the state of target "div" - * @param {string|number} Pass the id of card to be toggle - * @returns {void} - */ - toggleCard(key: string | number): void; - - /** Used for get the names of all the visible column name collections in Kanban. - * @returns {Array} - */ - getVisibleColumnNames(): any[]; - - /** Get the scroller object of Kanban. - * @returns {ej.Scroller} - */ - getScrollObject(): ej.Scroller; - - /** Get the column details based on the given header text in Kanban. - * @param {string} Pass the header text of the column to get the corresponding column object - * @returns {String} - */ - getColumnByHeaderText(headerText: string): string; - - /** Get the table details based on the given header table in Kanban. - * @returns {String} - */ - getHeaderTable(): string; - - /** Hide columns from the Kanban based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide - * @returns {void} - */ - hideColumns(headerText: any[] | string): void; - - /** Print the Kanban Board - * @returns {void} - */ - print(): void; - - /** Refresh the template of the Kanban - * @returns {void} - */ - refreshTemplate(): void; - - /** Refresh the Kanban contents.The template refreshment is based on the argument passed along with this method - * @param {boolean} optional When templateRefresh is set true, template and Kanban contents both are refreshed in Kanban else only Kanban content is refreshed - * @returns {void} - */ - refresh(templateRefresh?: boolean): void; - - /** Show columns in the Kanban based on the header text. - * @param {Array|string} You can pass either array of header text of various columns or a header text of a column to show - * @returns {void} - */ - showColumns(headerText: any[] | string): void; - - /** Update a card in Kanban control based on key and JSON data given. - * @param {string} Pass the key field Name of the column - * @param {Array} Pass the edited JSON data of card need to be update. - * @returns {void} - */ - updateCard(key: string, data: any[]): void; - - KanbanSelection: Kanban.KanbanSelection; - - KanbanSwimlane: Kanban.KanbanSwimlane; - - KanbanFilter: Kanban.KanbanFilter; - - KanbanEdit: Kanban.KanbanEdit; -} -export namespace Kanban { - - export interface KanbanSelection { - - /** It is used to clear all the card selection. + /** To clear the text in mask edit textbox control. * @returns {void} */ clear(): void; + + /** To disable the mask edit textbox control. + * @returns {void} + */ + disable(): void; + + /** To enable the mask edit textbox control. + * @returns {void} + */ + enable(): void; + + /** To obtained the pure value of the text value, removes all the symbols in mask edit textbox control. + * @returns {string} + */ + get_StrippedValue(): string; + + /** To obtained the textbox value as such that, Just replace all '_' to ' '(space) in mask edit textbox control. + * @returns {string} + */ + get_UnstrippedValue(): string; + } + export namespace MaskEdit { + + export interface Model { + + /** Specify the cssClass to achieve custom theme. + * @Default {null} + */ + cssClass?: string; + + /** Specify the custom character allowed to entered in mask edit textbox control. + * @Default {null} + */ + customCharacter?: string; + + /** Specify the state of the mask edit textbox control. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the enablePersistence to mask edit textbox to save current model value to browser cookies for state maintains. + */ + enablePersistence?: boolean; + + /** Specifies the height for the mask edit textbox control. + * @Default {28 px} + */ + height?: string; + + /** Specifies whether hide the prompt characters with spaces on blur. Prompt chars will be shown again on focus the textbox. + * @Default {false} + */ + hidePromptOnLeave?: boolean; + + /** Specifies the list of HTML attributes to be added to mask edit textbox. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specify the inputMode for mask edit textbox control. See InputMode + * @Default {ej.InputMode.Text} + */ + inputMode?: ej.InputMode | string; + + /** Specifies the input mask. + * @Default {null} + */ + maskFormat?: string; + + /** Specifies the name attribute value for the mask edit textbox. + * @Default {null} + */ + name?: string; + + /** Toggles the readonly state of the mask edit textbox. When the mask edit textbox is readonly, it doesn't allow your input. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies whether the error will show until correct value entered in the mask edit textbox control. + * @Default {false} + */ + showError?: boolean; + + /** when showPromptChar is true, the hide the prompt characters are shown in focus of the control and hides in focus out of the control. + * @Default {true} + */ + showPromptChar?: boolean; + + /** MaskEdit input is displayed in rounded corner style when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specify the text alignment for mask edit textbox control.See TextAlign + * @Default {left} + */ + textAlign?: ej.TextAlign | string; + + /** Sets the jQuery validation error message in mask edit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. + * @Default {null} + */ + validationMessage?: any; + + /** Sets the jQuery validation rules to the MaskEdit. This property works when the widget is present inside the form. Include jquery.validate.min.js plugin additionally. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value for the mask edit textbox control. + * @Default {null} + */ + value?: string; + + /** Specifies the water mark text to be displayed in input text. + * @Default {null} + */ + watermarkText?: string; + + /** Specifies the width for the mask edit textbox control. + * @Default {143pixel} + */ + width?: string; + + /** Fires when value changed in mask edit textbox control. */ + change?(e: ChangeEventArgs): void; + + /** Fires after MaskEdit control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires when the MaskEdit is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when focused in mask edit textbox control. */ + focusIn?(e: FocusInEventArgs): void; + + /** Fires when focused out in mask edit textbox control. */ + focusOut?(e: FocusOutEventArgs): void; + + /** Fires when keydown in mask edit textbox control. */ + keydown?(e: KeydownEventArgs): void; + + /** Fires when key press in mask edit textbox control. */ + keyPress?(e: KeyPressEventArgs): void; + + /** Fires when keyup in mask edit textbox control. */ + keyup?(e: KeyupEventArgs): void; + + /** Fires when mouse out in mask edit textbox control. */ + mouseOut?(e: MouseOutEventArgs): void; + + /** Fires when mouse over in mask edit textbox control. */ + mouseOver?(e: MouseOverEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the MaskEdit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the MaskEdit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface KeydownEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface KeyPressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface KeyupEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface MouseOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + + export interface MouseOverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the mask edit model + */ + model?: ej.MaskEdit.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mask edit value + */ + value?: number; + + /** returns unstripped value in mask edit textbox control. + */ + unmaskedValue?: string; + } + } + enum InputMode { + //string + Password, + //string + Text, + } + enum TextAlign { + //string + Center, + //string + Justify, + //string + Left, + //string + Right, } - export interface KanbanSwimlane { + class Menu extends ej.Widget { + static fn: Menu; + constructor(element: JQuery | Element, options?: Menu.Model); + static Locale: any; + model: Menu.Model; + defaults: Menu.Model; - /** Expand all the swimlane rows in Kanban. + /** Disables the Menu control. * @returns {void} */ - expandAll(): void; + disable(): void; - /** Collapse all the swimlane rows in Kanban. + /** Specifies the Menu Item to be disabled by using the Menu Item Text. + * @param {string} Specifies the Menu Item Text to be disabled. * @returns {void} */ - collapseAll(): void; + disableItem(itemtext: string): void; - /** Expand or collapse the swimlane row based on the state of target "div" - * @param {any} Pass the div object to toggleSwimlane row based on its row state + /** Specifies the Menu Item to be disabled by using the Menu Item Id. + * @param {string|number} Specifies the Menu Item id to be disabled * @returns {void} */ - toggle($div: any): void; + disableItemByID(itemid: string | number): void; + + /** Enables the Menu control. + * @returns {void} + */ + enable(): void; + + /** Specifies the Menu Item to be enabled by using the Menu Item Text. + * @param {string} Specifies the Menu Item Text to be enabled. + * @returns {void} + */ + enableItem(itemtext: string): void; + + /** Specifies the Menu Item to be enabled by using the Menu Item Id. + * @param {string|number} Specifies the Menu Item id to be enabled. + * @returns {void} + */ + enableItemByID(itemid: string | number): void; + + /** Hides the Context Menu control. + * @returns {void} + */ + hide(): void; + + /** Hides the specific items in Menu control. + * @returns {void} + */ + hideItems(): void; + + /** Insert the menu item as child of target node. + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insert(item: any, target: string | any): void; + + /** Insert the menu item after the target node. + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insertAfter(item: any, target: string | any): void; + + /** Insert the menu item before the target node. + * @param {any} Information about Menu item. + * @param {string|any} Selector of target node or Object of target node. + * @returns {void} + */ + insertBefore(item: any, target: string | any): void; + + /** Remove Menu item. + * @param {any|Array} Selector of target node or Object of target node. + * @returns {void} + */ + remove(target: any | any[]): void; + + /** To show the Menu control. + * @param {number} x co-ordinate position of context menu. + * @param {number} y co-ordinate position of context menu. + * @param {any} target element + * @param {any} name of the event + * @returns {void} + */ + show(locationX: number, locationY: number, targetElement: any, event: any): void; + + /** Show the specific items in Menu control. + * @returns {void} + */ + showItems(): void; + } + export namespace Menu { + + export interface Model { + + /** To enable or disable the Animation while hover or click an menu items.See AnimationType + * @Default {ej.AnimationType.Default} + */ + animationType?: ej.AnimationType | string; + + /** Specifies the target id of context menu. On right clicking the specified contextTarget element, context menu gets shown. + * @Default {null} + */ + contextMenuTarget?: string; + + /** Specify the CSS class to achieve custom theme. + */ + cssClass?: string; + + /** To enable or disable the Animation effect while hover or click an menu items. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the root menu items to be aligned center in horizontal menu. + * @Default {false} + */ + enableCenterAlign?: boolean; + + /** Enable / Disable the Menu control. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the menu items to be displayed in right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** When this property sets to false, the menu items is displayed without any separators. + * @Default {true} + */ + enableSeparator?: boolean; + + /** Specifies the target which needs to be excluded. i.e., The context menu will not be displayed in those specified targets. + * @Default {null} + */ + excludeTarget?: string; + + /** Fields used to bind the data source and it includes following field members to make data bind easier. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the height of the root menu. + * @Default {auto} + */ + height?: string | number; + + /** Specifies the list of HTML attributes to be added to menu control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Enables/disables responsive support for the Menu control during the window resizing time. + * @Default {true} + */ + isResponsive?: boolean; + + /** Specifies the type of the menu. Essential JavaScript Menu consists of two type of menu, they are Normal Menu and Context Menu mode.See MenuType + * @Default {ej.MenuType.NormalMenu} + */ + menuType?: string | ej.MenuType; + + /** Specifies the sub menu items to be show or open only on click. + * @Default {false} + */ + openOnClick?: boolean; + + /** Specifies the orientation of normal menu. Normal menu can rendered in horizontal or vertical direction by using this API. See Orientation + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Specifies the main menu items arrows only to be shown if it contains child items. + * @Default {true} + */ + showRootLevelArrows?: boolean; + + /** Specifies the sub menu items arrows only to be shown if it contains child items. + * @Default {true} + */ + showSubLevelArrows?: boolean; + + /** Specifies position of pull down submenu that will appear on mouse over.See Direction + * @Default {ej.Direction.Right} + */ + subMenuDirection?: string | ej.Direction; + + /** Specifies the title to responsive menu. + * @Default {Menu} + */ + titleText?: string; + + /** Specifies the width of the main menu. + * @Default {auto} + */ + width?: string | number; + + /** Specifies the popup menu height. + * @Default {auto} + */ + overflowHeight?: string | number; + + /** Specifies the popup menu width. + * @Default {auto} + */ + overflowWidth?: string | number; + + /** Fires before context menu gets open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Fires when mouse click on menu items. */ + click?(e: ClickEventArgs): void; + + /** Fire when context menu on close. */ + close?(e: CloseEventArgs): void; + + /** Fires when context menu on open. */ + open?(e: OpenEventArgs): void; + + /** Fires to create menu items. */ + create?(e: CreateEventArgs): void; + + /** Fires to destroy menu items. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when key down on menu items. */ + keydown?(e: KeydownEventArgs): void; + + /** Fires when mouse out from menu items. */ + mouseout?(e: MouseoutEventArgs): void; + + /** Fires when mouse over the Menu items. */ + mouseover?(e: MouseoverEventArgs): void; + + /** Fires when overflow popup menu opens. */ + overflowOpen?(e: OverflowOpenEventArgs): void; + + /** Fires when overflow popup menu closes. */ + overflowClose?(e: OverflowCloseEventArgs): void; + } + + export interface BeforeOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; + } + + export interface ClickEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + + /** returns the selected item + */ + selectedItem?: number; + } + + export interface CloseEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; + } + + export interface OpenEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element + */ + target?: any; + } + + export interface CreateEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface KeydownEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + menuText?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + } + + export interface MouseoutEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + } + + export interface MouseoverEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns clicked menu item text + */ + text?: string; + + /** returns clicked menu item element + */ + element?: any; + + /** returns the event + */ + event?: any; + } + + export interface OverflowOpenEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + e?: any; + + /** if the event should be cancelled ; otherwise ,false + */ + cancel?: boolean; + } + + export interface OverflowCloseEventArgs { + + /** returns the menu model + */ + model?: ej.Menu.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + e?: any; + + /** if the event should be cancelled ; otherwise ,false + */ + cancel?: boolean; + } + + export interface Fields { + + /** It receives the child data for the inner level. + */ + child?: any; + + /** It receives datasource as Essential DataManager object and JSON object. + */ + dataSource?: any; + + /** Specifies the HTML attributes to “LI” item list. + */ + htmlAttribute?: string; + + /** Specifies the id to menu items list + */ + id?: string; + + /** Specifies the image attribute to “img” tag inside items list. + */ + imageAttribute?: string; + + /** Specifies the image URL to “img” tag inside item list. + */ + imageUrl?: string; + + /** Adds custom attributes like "target" to the anchor tag of the menu items. + */ + linkAttribute?: string; + + /** Specifies the parent id of the table. + */ + parentId?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + */ + query?: any; + + /** Specifies the sprite CSS class to “LI” item list. + */ + spriteCssClass?: string; + + /** It receives table name to execute query on the corresponding table. + */ + tableName?: string; + + /** Specifies the text of menu items list. + */ + text?: string; + + /** Specifies the URL to the anchor tag in menu item list. + */ + url?: string; + } + } + enum AnimationType { + //string + Default, + //string + None, + } + enum MenuType { + //string + ContextMenu, + //string + NormalMenu, + } + enum Direction { + //string + Left, + //string + None, + //string + Right, } - export interface KanbanFilter { + class Pager extends ej.Widget { + static fn: Pager; + constructor(element: JQuery | Element, options?: Pager.Model); + static Locale: any; + model: Pager.Model; + defaults: Pager.Model; - /** Method used for send a clear search request to Kanban. + /** Send a paging request to specified page through the pager control. + * @param {number} Specifies the index to be navigated * @returns {void} */ - clearSearch(): void; + gotoPage(pageIndex: number): void; - /** Send a search request to Kanban with specified string passed in it. - * @param {string} Pass the string to search in Kanban card + /** refreshPager() helps to refresh the model value of pager control. * @returns {void} */ - searchCards(searchString: string): void; + refreshPager(): void; + } + export namespace Pager { - /** Send a clear request to filter cards in the kanban. - * @returns {void} - */ - clearFilter(): void; + export interface Model { - /** Send a filtering request to cards in the kanban. - * @returns {void} - */ - filterCards(): void; + /** Gets or sets a value that indicates whether to display the custom text message in Pager. + */ + customText?: string; + + /** Gets or sets a value that indicates whether to define which page to display currently in pager. + * @Default {1} + */ + currentPage?: number; + + /** Gets or sets a value that indicates whether to display the external Message in Pager. + * @Default {false} + */ + enableExternalMessage?: boolean; + + /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. + * @Default {false} + */ + enableQueryString?: boolean; + + /** Align content in the pager control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** Gets or sets a value that indicates whether to display the external Message in Pager. + */ + externalMessage?: string; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. + * in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation. + * @Default {10} + */ + pageCount?: number; + + /** Gets or sets a value that indicates whether to define the number of records displayed per page. + * @Default {12} + */ + pageSize?: number; + + /** Get or sets a value of total number of pages in the pager. The totalPages value is calculated based on page size and total records. + * @Default {null} + */ + totalPages?: number; + + /** Get the value of total number of records which is bound to a data item. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Shows or hides the current page information in pager footer. + * @Default {true} + */ + showPageInfo?: boolean; + + /** Triggered when pager numeric item is clicked in pager control. */ + click?(e: ClickEventArgs): void; + } + + export interface ClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current page index. + */ + currentPage?: number; + + /** Returns the pager model. + */ + model?: any; + + /** Returns the name of event + */ + type?: string; + + /** Returns current action event type and its target. + */ + event?: any; + } } - export interface KanbanEdit { + class Print extends ej.Widget { + static fn: Print; + constructor(element: JQuery | Element, options?: Print.Model); + static Locale: any; + model: Print.Model; + defaults: Print.Model; - /** Add a new card in Kanban control when allowAdding is set as true. If parameters are not given default dialog will be open. - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the edited JSON data of card need to be add. + /** Print the specific page or an element. * @returns {void} */ - addCard(primaryKey: string, card: any[]): void; + print(): void; + } - /** Send a cancel request of add/edit card in Kanban when allowEditing/allowAdding is set as true. + export namespace Print { + + export interface Model { + + /** Append the custom HTML after the selected content. + * @Default {null} + */ + append?: string; + + /** A selector that specifies a particular element to be excluded from printing. + * @Default {null} + */ + excludeSelector?: string; + + /** Specifies whether the URL of an external stylesheet can be included to customize and print that page. + * @Default {null} + */ + externalStyles?: string; + + /** Prepend a doctype to the document frame. + * @Default {<!doctype html>} + */ + docType?: string; + + /** Specifies whether the global styles can be applied to the element to be printed. + * @Default {true} + */ + globalStyles?: boolean; + + /** Sets the height of the print window. + * @Default {454} + */ + height?: number; + + /** Prepends the custom HTML before the selected content. + * @Default {null} + */ + prepend?: string; + + /** Allows printing the content in a new window. + * @Default {false} + */ + printInNewWindow?: boolean; + + /** Sets the period of time to wait before printing the content. + * @Default {1000} + */ + timeOutPeriod?: number; + + /** Sets the title of the print document. + * @Default {null} + */ + title?: string; + + /** Defines the width of the print window. + * @Default {1024} + */ + width?: number; + + /** Event triggers before the document page or an element in it gets printed. */ + beforeStart?(e: BeforeStartEventArgs): void; + } + + export interface BeforeStartEventArgs { + + /** Set this option as true to cancel the event. + */ + cancel?: boolean; + + /** Returns the Print model + */ + model?: ej.Print.Model; + + /** Returns the name of an event + */ + type?: string; + + /** Returns the printed element + */ + content?: any; + } + } + + class ProgressBar extends ej.Widget { + static fn: ProgressBar; + constructor(element: JQuery | Element, options?: ProgressBar.Model); + static Locale: any; + model: ProgressBar.Model; + defaults: ProgressBar.Model; + + /** Destroy the progressbar widget + * @returns {void} + */ + destroy(): void; + + /** Disables the progressbar control + * @returns {void} + */ + disable(): void; + + /** Enables the progressbar control + * @returns {void} + */ + enable(): void; + + /** Returns the current progress value in percent. + * @returns {number} + */ + getPercentage(): number; + + /** Returns the current progress value + * @returns {number} + */ + getValue(): number; + } + export namespace ProgressBar { + + export interface Model { + + /** Sets the root CSS class for ProgressBar theme, which is used customize. + * @Default {null} + */ + cssClass?: string; + + /** When this property sets to false, it disables the ProgressBar control + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for state maintains. While refresh the progressBar control page retains the model value apply from browser cookies + * @Default {false} + */ + enablePersistence?: boolean; + + /** Sets the ProgressBar direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines the height of the ProgressBar. + * @Default {null} + */ + height?: number | string; + + /** It allows to define the characteristics of the progressBar control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the maximum value of the ProgressBar. + * @Default {100} + */ + maxValue?: number; + + /** Sets the minimum value of the ProgressBar. + * @Default {0} + */ + minValue?: number; + + /** Sets the ProgressBar value in percentage. The value should be in between 0 to 100. + * @Default {0} + */ + percentage?: number; + + /** Displays rounded corner borders on the progressBar control. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Sets the custom text for the ProgressBar. The text placed in the middle of the ProgressBar and it can be customizable using the class 'e-progress-text'. + * @Default {null} + */ + text?: string; + + /** Sets the ProgressBar value. The value should be in between min and max values. + * @Default {0} + */ + value?: number; + + /** Defines the width of the ProgressBar. + * @Default {null} + */ + width?: number | string; + + /** Event triggers when the progress value changed */ + change?(e: ChangeEventArgs): void; + + /** Event triggers when the process completes (at 100%) */ + complete?(e: CompleteEventArgs): void; + + /** Event triggers when the progressbar are created */ + create?(e: CreateEventArgs): void; + + /** Event triggers when the progressbar are destroyed */ + destroy?(e: DestroyEventArgs): void; + + /** Event triggers when the process starts (from 0%) */ + start?(e: StartEventArgs): void; + } + + export interface ChangeEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; + + /** returns the current progress percentage + */ + percentage?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current progress value + */ + value?: string; + } + + export interface CompleteEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; + + /** returns the current progress percentage + */ + percentage?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current progress value + */ + value?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the progressbar model + */ + model?: ej.ProgressBar.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the progressbar model + */ + model?: ej.ProgressBar.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface StartEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the ProgressBar model + */ + model?: ej.ProgressBar.Model; + + /** returns the current progress percentage + */ + percentage?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current progress value + */ + value?: string; + } + } + + class RadioButton extends ej.Widget { + static fn: RadioButton; + constructor(element: JQuery | Element, options?: RadioButton.Model); + static Locale: any; + model: RadioButton.Model; + defaults: RadioButton.Model; + + /** To disable the RadioButton + * @returns {void} + */ + disable(): void; + + /** To enable the RadioButton + * @returns {void} + */ + enable(): void; + } + export namespace RadioButton { + + export interface Model { + + /** Specifies the check attribute of the Radio Button. + * @Default {false} + */ + checked?: boolean; + + /** Specify the CSS class to RadioButton to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the RadioButton control state. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the enablePersistence property for RadioButton while initialization. The enablePersistence API save current model value to browser cookies for state maintains. + * While refreshing the radio button control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specify the Right to Left direction to RadioButton + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the HTML Attributes of the Checkbox + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the id attribute for the Radio Button while initialization. + * @Default {null} + */ + id?: string; + + /** Specify the idPrefix value to be added before the current id of the RadioButton. + * @Default {ej} + */ + idPrefix?: string; + + /** Specifies the name attribute for the Radio Button while initialization. + * @Default {Sets id as name if it is null} + */ + name?: string; + + /** Specifies the size of the RadioButton. + * @Default {small} + */ + size?: ej.RadioButtonSize | string; + + /** Specifies the text content for RadioButton. + */ + text?: string; + + /** Set the jQuery validation error message in radio button. + * @Default {null} + */ + validationMessage?: any; + + /** Set the jQuery validation rules in radio button. + * @Default {null} + */ + validationRules?: any; + + /** Specifies the value attribute of the Radio Button. + * @Default {null} + */ + value?: string; + + /** Fires before the RadioButton is going to changed its state successfully */ + beforeChange?(e: BeforeChangeEventArgs): void; + + /** Fires when the RadioButton state is changed successfully */ + change?(e: ChangeEventArgs): void; + + /** Fires when the RadioButton created successfully */ + create?(e: CreateEventArgs): void; + + /** Fires when the RadioButton destroyed successfully */ + destroy?(e: DestroyEventArgs): void; + } + + export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true if element is checked, otherwise returns false + */ + isChecked?: boolean; + + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true if element is checked, otherwise returns false + */ + isChecked?: boolean; + + /** returns true if change event triggered by interaction, otherwise returns false + */ + isInteraction?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RadioButton model + */ + model?: ej.RadioButton.Model; + + /** returns the name of the event + */ + type?: string; + } + } + enum RadioButtonSize { + //Shows small size radio button + Small, + //Shows medium size radio button + Medium, + } + + class Rating extends ej.Widget { + static fn: Rating; + constructor(element: JQuery | Element, options?: Rating.Model); + static Locale: any; + model: Rating.Model; + defaults: Rating.Model; + + /** Destroy the Rating widget all events bound will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To get the current value of rating control. + * @returns {number} + */ + getValue(): number; + + /** To hide the rating control. + * @returns {void} + */ + hide(): void; + + /** User can refresh the rating control to identify changes. + * @returns {void} + */ + refresh(): void; + + /** To reset the rating value. + * @returns {void} + */ + reset(): void; + + /** To set the rating value. + * @param {string|number} Specifies the rating value. + * @returns {void} + */ + setValue(value: string | number): void; + + /** To show the rating control + * @returns {void} + */ + show(): void; + } + export namespace Rating { + + export interface Model { + + /** Enables the rating control with reset button.It can be used to reset the rating control value. + * @Default {true} + */ + allowReset?: boolean; + + /** Specify the CSS class to achieve custom theme. + */ + cssClass?: string; + + /** When this property is set to false, it disables the rating control. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for state maintenance. While refresh the page Rating control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the height of the Rating control wrapper. + * @Default {null} + */ + height?: string; + + /** Specifies the list of HTML attributes to be added to rating control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the value to be increased while navigating between shapes(stars) in Rating control. + * @Default {1} + */ + incrementStep?: number; + + /** Allow to render the maximum number of Rating shape(star). + * @Default {5} + */ + maxValue?: number; + + /** Allow to render the minimum number of Rating shape(star). + * @Default {0} + */ + minValue?: number; + + /** Specifies the orientation of Rating control. See Orientation + * @Default {ej.Rating.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Helps to provide more precise ratings.Rating control supports three precision modes - full, half, and exact. See Precision + * @Default {full} + */ + precision?: ej.Rating.Precision | string; + + /** Interaction with Rating control can be prevented by enabling this API. + * @Default {false} + */ + readOnly?: boolean; + + /** To specify the height of each shape in Rating control. + * @Default {23} + */ + shapeHeight?: number; + + /** To specify the width of each shape in Rating control. + * @Default {23} + */ + shapeWidth?: number; + + /** Enables the tooltip option.Currently selected value will be displayed in tooltip. + * @Default {true} + */ + showTooltip?: boolean; + + /** To specify the number of stars to be selected while rendering. + * @Default {1} + */ + value?: number; + + /** Specifies the width of the Rating control wrapper. + * @Default {null} + */ + width?: string; + + /** Fires when Rating value changes. */ + change?(e: ChangeEventArgs): void; + + /** Fires when Rating control is clicked successfully. */ + click?(e: ClickEventArgs): void; + + /** Fires when Rating control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires when Rating control is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when mouse hover is removed from Rating control. */ + mouseout?(e: MouseoutEventArgs): void; + + /** Fires when mouse hovered over the Rating control. */ + mouseover?(e: MouseoverEventArgs): void; + } + + export interface ChangeEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; + } + + export interface ClickEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface MouseoutEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; + } + + export interface MouseoverEventArgs { + + /** returns the current value. + */ + value?: number; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rating model + */ + model?: ej.Rating.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the mouse click event args values. + */ + event?: any; + + /** returns the current index value. + */ + index?: any; + } + + enum Precision { + + ///string + Exact, + + ///string + Full, + + ///string + Half + } + + } + + class Ribbon extends ej.Widget { + static fn: Ribbon; + constructor(element: JQuery | Element, options?: Ribbon.Model); + static Locale: any; + model: Ribbon.Model; + defaults: Ribbon.Model; + + /** Adds contextual tab or contextual tab set dynamically in the ribbon control with contextual tabs object and index position. + * When index is null, ribbon contextual tab or contextual tab set is added at the last index. + * @param {any} contextual tab or contextual tab set object. + * @param {number} index of the contextual tab or contextual tab set, this is optional. + * @returns {void} + */ + addContextualTabs(contextualTabSet: any, index?: number): void; + + /** Add new option to Backstage page. + * @param {any} select the object to add the backstage item + * @param {number} index to the backstage item this is optional. + * @returns {void} + */ + addBackStageItem(item: any, index?: number): void; + + /** Adds tab dynamically in the ribbon control with given name, tab group array and index position. When index is null, ribbon tab is added at the last index. + * @param {string} ribbon tab display text. + * @param {Array} groups to be displayed in ribbon tab . + * @param {number} index of the ribbon tab,this is optional. + * @returns {void} + */ + addTab(tabText: string, ribbonGroups: any[], index?: number): void; + + /** Adds tab group dynamically in the ribbon control with given tab index, tab group object and group index position. When group index is null, ribbon group is added at the last index. + * @param {number} ribbon tab index. + * @param {any} group to be displayed in ribbon tab . + * @param {number} index of the ribbon group,this is optional. + * @returns {void} + */ + addTabGroup(tabIndex: number, tabGroup: any, groupIndex?: number): void; + + /** Adds group content dynamically in the ribbon control with given tab index, group index, sub group index, content and content index position. + * When content index is null, content is added at the last index. + * @param {number} ribbon tab index. + * @param {number} ribbon group index. + * @param {any} content to be displayed in the ribbon group. + * @param {number} ribbon content index. This is optional. If the value is not given, then by default contentIndex will be considered as 0. + * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, then by default contentIndex will be considered as 0. + * @returns {void} + */ + addTabGroupContent(tabIndex: number, groupIndex: number, content: any, contentIndex?: number, subGroupIndex?: number): void; + + /** Hides the ribbon backstage page. + * @returns {void} + */ + hideBackstage(): void; + + /** Collapses the ribbon tab content. + * @returns {void} + */ + collapse(): void; + + /** Destroys the ribbon widget. All the events bound using this._on are unbound automatically and the ribbon control is moved to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Expands the ribbon tab content. + * @returns {void} + */ + expand(): void; + + /** Gets text of the given index tab in the ribbon control. + * @param {number} index of the tab item. + * @returns {String} + */ + getTabText(index: number): string; + + /** Hides the given text tab in the ribbon control. + * @param {string} text of the tab item. + * @returns {void} + */ + hideTab(text: string): void; + + /** Checks whether the given text tab in the ribbon control is enabled or not. + * @param {string} text of the tab item. + * @returns {Boolean} + */ + isEnable(text: string): boolean; + + /** Checks whether the given text tab in the ribbon control is visible or not. + * @param {string} text of the tab item. + * @returns {Boolean} + */ + isVisible(text: string): boolean; + + /** Removes the given index tab item from the ribbon control. + * @param {number} index of tab item. + * @returns {void} + */ + removeTab(index: number): void; + + /** Sets new text to the given text tab in the ribbon control. + * @param {string} current text of the tab item. + * @param {string} new text of the tab item. + * @returns {void} + */ + setTabText(tabText: string, newText: string): void; + + /** Displays the ribbon backstage page. + * @returns {void} + */ + showBackstage(): void; + + /** Displays the given text tab in the ribbon control. + * @param {string} text of the tab item. + * @returns {void} + */ + showTab(text: string): void; + + /** To customize Group alone in the inside content. + * @param {number} ribbon tab index. + * @param {string} group id to be displayed in ribbon tab . + * @param {any} contentGroup is used in the object + * @returns {void} + */ + updateGroup(tabIndex: number, groupId: string, contentGroup?: any): void; + + /** Update option in existing Backstage. + * @param {number} index to the backstage item + * @param {any} select the object to add the backstage item + * @returns {void} + */ + updateBackStageItem(index: number, item?: any): void; + + /** To customize whole content from Tab Group. + * @param {number} ribbon tab index. + * @param {string} ribbon group text. + * @param {number} ribbon content index. This is optional. If the value is not given, all content groups will be removed. + * @param {number} sub group index in the ribbon group. This is optional. If the value is not given, all content groups will be removed. + * @returns {void} + */ + removeTabGroupContent(tabIndex: number, groupText: string, contentIndex?: number, subGroupIndex?: number): void; + + /** Remove option from Backstage. + * @param {number} index to the backstage item + * @returns {void} + */ + removeBackStageItem(index: number): void; + } + export namespace Ribbon { + + export interface Model { + + /** Enables the ribbon resize feature.allowResizing is a deprecated property of isResponsive. + * @Default {false} + */ + allowResizing?: boolean; + + /** When set to true, adapts the Ribbon layout to fit the screen size of devices on which it renders. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the height, width, enableRTL, showRoundedCorner,enabled,cssClass property to the controls in the ribbon commonly andit will work only when those properties + * are not defined in buttonSettings and content defaults. + * @Default {Object} + */ + buttonDefaults?: any; + + /** Property to enable the ribbon quick access toolbar. + * @Default {false} + */ + showQAT?: boolean; + + /** Sets custom setting to the collapsible pin in the ribbon. + * @Default {Object} + */ + collapsePinSettings?: CollapsePinSettings; + + /** Set enableOnDemand as true to load ribbon tab and backstage contents while corresponding item clicked. + * @Default {false} + */ + enableOnDemand?: boolean; + + /** Set collapsible property as true to render ribbon in initially collapsed state. + * @Default {false} + */ + collapsible?: boolean; + + /** Align content in the ribbon control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets custom setting to the expandable pin in the ribbon. + * @Default {Object} + */ + expandPinSettings?: ExpandPinSettings; + + /** Specifies the application tab to contain application menu or backstage page in the ribbon control. + * @Default {Object} + */ + applicationTab?: ApplicationTab; + + /** Specifies the contextual tabs and tab set to the ribbon control with the background color and border color. Refer to the tabs section for adding tabs + * into the contextual tab and contextual tab set. + * @Default {Array} + */ + contextualTabs?: ContextualTab[]; + + /** Specifies the index or indexes to disable the given index tab or indexes tabs in the ribbon control. + * @Default {0} + */ + disabledItemIndex?: any[]; + + /** Specifies the index or indexes to enable the given index tab or indexes tabs in the ribbon control. + * @Default {null} + */ + enabledItemIndex?: any[]; + + /** Specifies the index of the ribbon tab to select the given index tab item in the ribbon control. + * @Default {1} + */ + selectedItemIndex?: number; + + /** Specifies the tabs and its groups. Also specifies the control details that has to be placed in the tab area in the ribbon control. + * @Default {Array} + */ + tabs?: Tab[]; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific + * to a particular country or region and it will need to use the user's preference. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the width to the ribbon control. You can set width in string or number format. + * @Default {null} + */ + width?: string | number; + + /** Triggered before the ribbon tab item is removed. */ + beforeTabRemove?(e: BeforeTabRemoveEventArgs): void; + + /** Triggered before the ribbon control is created. */ + create?(e: CreateEventArgs): void; + + /** Triggered before the ribbon control is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggered when the control in the group is clicked successfully. */ + groupClick?(e: GroupClickEventArgs): void; + + /** Triggered when the group expander in the group is clicked successfully. */ + groupExpand?(e: GroupExpandEventArgs): void; + + /** Triggered when an item in the Gallery control is clicked successfully. */ + galleryItemClick?(e: GalleryItemClickEventArgs): void; + + /** Triggered when a tab or button in the backstage page is clicked successfully. */ + backstageItemClick?(e: BackstageItemClickEventArgs): void; + + /** Triggered when the ribbon control is collapsed. */ + collapse?(e: CollapseEventArgs): void; + + /** Triggered when the ribbon control is expanded. */ + expand?(e: ExpandEventArgs): void; + + /** Triggered before the ribbon control is load. */ + load?(e: LoadEventArgs): void; + + /** Triggered after adding the new ribbon tab item. */ + tabAdd?(e: TabAddEventArgs): void; + + /** Triggered when tab is clicked successfully in the ribbon control. */ + tabClick?(e: TabClickEventArgs): void; + + /** Triggered before the ribbon tab is created. */ + tabCreate?(e: TabCreateEventArgs): void; + + /** Triggered after the tab item is removed from the ribbon control. */ + tabRemove?(e: TabRemoveEventArgs): void; + + /** Triggered after the ribbon tab item is selected in the ribbon control. */ + tabSelect?(e: TabSelectEventArgs): void; + + /** Triggered when the expand/collapse button is clicked successfully . */ + toggleButtonClick?(e: ToggleButtonClickEventArgs): void; + + /** Triggered when the QAT menu item is clicked successfully . */ + qatMenuItemClick?(e: QatMenuItemClickEventArgs): void; + } + + export interface BeforeTabRemoveEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns current tab item index in the ribbon control. + */ + index?: number; + } + + export interface CreateEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns current ribbon tab item index + */ + deleteIndex?: number; + } + + export interface GroupClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the control clicked in the group. + */ + target?: number; + } + + export interface GroupExpandEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the clicked group expander. + */ + target?: number; + } + + export interface GalleryItemClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the gallery model. + */ + galleryModel?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the item clicked in the gallery. + */ + target?: number; + } + + export interface BackstageItemClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the item clicked in the gallery. + */ + target?: number; + + /** returns the id of the target item. + */ + id?: string; + + /** returns the text of the target item. + */ + text?: string; + } + + export interface CollapseEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ExpandEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface LoadEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface TabAddEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns new added tab header. + */ + tabHeader?: any; + + /** returns new added tab content panel. + */ + tabContent?: any; + } + + export interface TabClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: any; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: any; + + /** returns current active index. + */ + activeIndex?: number; + } + + export interface TabCreateEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns current ribbon tab item index + */ + deleteIndex?: number; + } + + export interface TabRemoveEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the removed index. + */ + removedIndex?: number; + } + + export interface TabSelectEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: any; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: any; + + /** returns current active index. + */ + activeIndex?: number; + } + + export interface ToggleButtonClickEventArgs { + + /** Set to true when the event has to be canceled, else false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the expand/collapse button. + */ + target?: number; + } + + export interface QatMenuItemClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the ribbon model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the clicked menu item text. + */ + text?: string; + } + + export interface CollapsePinSettings { + + /** Sets tooltip for the collapse pin . + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for collapse pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + } + + export interface ExpandPinSettings { + + /** Sets tooltip for the expand pin. + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for expand pin.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + } + + export interface ApplicationTabBackstageSettingsPage { + + /** Specifies the id for ribbon backstage page's tab and button elements. + * @Default {null} + */ + id?: string; + + /** Specifies the text for ribbon backstage page's tab header and button elements. + * @Default {null} + */ + text?: string; + + /** Specifies the type for ribbon backstage page's contents. Set "ej.Ribbon.BackStageItemType.Tab" to render the tab or " + * ej.Ribbon.BackStageItemType.Button" to render the button. + * @Default {ej.Ribbon.ItemType.Tab} + */ + itemType?: ej.Ribbon.ItemType | string; + + /** Specifies the id of HTML elements like div,ul, etc., as ribbon backstage page's tab content. + * @Default {null} + */ + contentID?: string; + + /** Specifies the separator between backstage page's tab and button elements. + * @Default {false} + */ + enableSeparator?: boolean; + } + + export interface ApplicationTabBackstageSettings { + + /** Specifies the display text of application tab. + * @Default {null} + */ + text?: string; + + /** Specifies the height of ribbon backstage page. + * @Default {null} + */ + height?: string | number; + + /** Specifies the width of ribbon backstage page. + * @Default {null} + */ + width?: string | number; + + /** Specifies the ribbon backstage page with its tab and button elements. + * @Default {Array} + */ + pages?: ApplicationTabBackstageSettingsPage[]; + + /** Specifies the width of backstage page header that contains tabs and buttons. + * @Default {null} + */ + headerWidth?: string | number; + } + + export interface ApplicationTab { + + /** Specifies the ribbon backstage page items. + * @Default {Object} + */ + backstageSettings?: ApplicationTabBackstageSettings; + + /** Specifies the ID of ul list to create application menu in the ribbon control. + * @Default {null} + */ + menuItemID?: string; + + /** Specifies the menu members, events by using the menu settings for the menu in the application tab. + * @Default {Object} + */ + menuSettings?: any; + + /** Specifies the application menu or backstage page. Specify the type of application tab as "ej.Ribbon.ApplicationTabType.Menu" to render the application menu or + * "ej.Ribbon.ApplicationTabType.Backstage" to render backstage page in the ribbon control. + * @Default {ej.Ribbon.ApplicationTabType.Menu} + */ + type?: ej.Ribbon.ApplicationTabType | string; + } + + export interface ContextualTab { + + /** Specifies the backgroundColor of the contextual tabs and tab set in the ribbon control. + * @Default {null} + */ + backgroundColor?: string; + + /** Specifies the borderColor of the contextual tabs and tab set in the ribbon control. + * @Default {null} + */ + borderColor?: string; + + /** Specifies the tabs to present in the contextual tabs and tab set. Refer to the tabs section for adding tabs into the contextual tabs and tab set. + * @Default {Array} + */ + tabs?: any[]; + } + + export interface TabsGroupsContentDefaults { + + /** Specifies the controls height such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {null} + */ + height?: string | number; + + /** Specifies the controls width such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {null} + */ + width?: string | number; + + /** Specifies the controls type such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {ej.Ribbon.Type.Button} + */ + type?: string; + + /** Specifies the controls size such as Syncfusion button,split button,dropdown list,toggle button in the subgroup of the ribbon tab. + * @Default {false} + */ + isBig?: boolean; + } + + export interface TabsGroupsContentGroupsCustomGalleryItem { + + /** Specifies the Syncfusion button members, events by using buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** Specifies the type as ej.Ribbon.CustomItemType.Menu or ej.Ribbon.CustomItemType.Button to render Syncfusion button and menu. + * @Default {ej.Ribbon.CustomItemType.Button} + */ + customItemType?: ej.Ribbon.CustomItemType | string; + + /** Specifies the custom tooltip for gallery extra item's button. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + + /** Specifies the UL list id to render menu as gallery extra item. + * @Default {null} + */ + menuId?: string; + + /** Specifies the Syncfusion menu members, events by using menuSettings. + * @Default {Object} + */ + menuSettings?: any; + + /** Specifies the text for gallery extra item's button. + * @Default {null} + */ + text?: string; + + /** Specifies the tooltip for gallery extra item's button. + * @Default {null} + */ + toolTip?: string; + } + + export interface TabsGroupsContentGroupsCustomToolTip { + + /** Sets content to the custom tooltip. Text and HTML support are provided for content. + * @Default {null} + */ + content?: string; + + /** Sets icon to the custom tooltip content. + * @Default {null} + */ + prefixIcon?: string; + + /** Sets title to the custom tooltip. Text and HTML support are provided for title and the title is in bold for text format. + * @Default {null} + */ + title?: string; + } + + export interface TabsGroupsContentGroupsGalleryItem { + + /** Specifies the Syncfusion button members, events by using buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** Specifies the custom tooltip for gallery content. Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + + /** Sets text for the gallery content. + * @Default {null} + */ + text?: string; + + /** Sets tooltip for the gallery content. + * @Default {null} + */ + toolTip?: string; + } + + export interface TabsGroupsContentGroup { + + /** When isMobileOnly is true,its shows in mobile toolbar.isResponsive should be true for using this property. + * @Default {false} + */ + isMobileOnly?: boolean; + + /** Specifies the Syncfusion button members, events by using this buttonSettings. + * @Default {Object} + */ + buttonSettings?: any; + + /** It is used to set the count of gallery contents in a row. + * @Default {null} + */ + columns?: number; + + /** Specifies the custom items such as div, table, controls as custom controls with the type "ej.Ribbon.Type.Custom" in the groups. + * @Default {null} + */ + contentID?: string; + + /** Specifies the CSS class property to apply styles to the button, split, dropdown controls in the groups. + * @Default {null} + */ + cssClass?: string; + + /** Specifies the Syncfusion button and menu as gallery extra items. + * @Default {Array} + */ + customGalleryItems?: TabsGroupsContentGroupsCustomGalleryItem[]; + + /** Provides custom tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. Text and HTML support are also provided for title and content. + * @Default {Object} + */ + customToolTip?: TabsGroupsContentGroupsCustomToolTip; + + /** Specifies the Syncfusion dropdown list members, events by using this dropdownSettings. + * @Default {Object} + */ + dropdownSettings?: any; + + /** Specifies the separator to the control that is in row type group. The separator separates the control from the next control in the group. Set "true" to enable the separator. + * @Default {false} + */ + enableSeparator?: boolean; + + /** Sets the count of gallery contents in a row, when the gallery is in expanded state. + * @Default {null} + */ + expandedColumns?: number; + + /** Defines each gallery content. + * @Default {Array} + */ + galleryItems?: TabsGroupsContentGroupsGalleryItem[]; + + /** Specifies the Id for button, split button, dropdown list, toggle button, gallery, custom controls in the sub groups. + * @Default {null} + */ + id?: string; + + /** Specifies the size for button, split button controls. Set "true" for big size and "false" for small size. + * @Default {null} + */ + isBig?: boolean; + + /** Sets the height of each gallery content. + * @Default {null} + */ + itemHeight?: string | number; + + /** Sets the width of each gallery content. + * @Default {null} + */ + itemWidth?: string | number; + + /** Specifies the Syncfusion split button members, events by using this splitButtonSettings. + * @Default {Object} + */ + splitButtonSettings?: any; + + /** Specifies the text for button, split button, toggle button controls in the sub groups. + * @Default {null} + */ + text?: string; + + /** Specifies the Syncfusion toggle button members, events by using toggleButtonSettings. + * @Default {Object} + */ + toggleButtonSettings?: any; + + /** Specifies the tooltip for button, split button, dropdown list, toggle button, custom controls in the sub groups. + * @Default {null} + */ + toolTip?: string; + + /** To add,show and hide controls in Quick Access toolbar. + * @Default {ej.Ribbon.QuickAccessMode.None} + */ + quickAccessMode?: ej.Ribbon.QuickAccessMode | string; + + /** Specifies the type as "ej.Ribbon.Type.Button" or "ej.Ribbon.Type.SplitButton" or "ej.Ribbon.Type.DropDownList" or "ej.Ribbon.Type.ToggleButton" + * or "ej.Ribbon.Type.Custom" or "ej.Ribbon.Type.Gallery" to render button, split, dropdown, toggle button, gallery, custom controls. + * @Default {ej.Ribbon.Type.Button} + */ + type?: ej.Ribbon.Type | string; + } + + export interface TabsGroupsContent { + + /** Specifies the height, width, type, isBig property to the controls in the group commonly. + * @Default {Object} + */ + defaults?: TabsGroupsContentDefaults; + + /** Specifies the controls such as Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls in the subgroup of the ribbon tab . + * @Default {Array} + */ + groups?: TabsGroupsContentGroup[]; + } + + export interface TabsGroupsGroupExpanderSettings { + + /** Sets tooltip for the group expander of the group. + * @Default {null} + */ + toolTip?: string; + + /** Specifies the custom tooltip for group expander.Refer to ejRibbon#tabs->groups->content->groups->customToolTip for its inner properties. + * @Default {Object} + */ + customToolTip?: any; + } + + export interface TabsGroup { + + /** Specifies the alignment of controls in the groups in 'row' type or 'column' type. Value for row type is "ej.Ribbon.AlignType.Rows" + * and for column type is "ej.Ribbon.alignType.columns". + * @Default {ej.Ribbon.AlignType.Rows} + */ + alignType?: ej.Ribbon.AlignType | string; + + /** Specifies the Syncfusion button, split button, dropdown list, toggle button, gallery, custom controls to the groups in the ribbon control. + * @Default {Array} + */ + content?: TabsGroupsContent[]; + + /** Specifies the ID of custom items to be placed in the groups. + * @Default {null} + */ + contentID?: string; + + /** Specifies the HTML contents to place into the groups. + * @Default {null} + */ + customContent?: string; + + /** Specifies the group expander for groups in the ribbon control. Set "true" to enable the group expander. + * @Default {false} + */ + enableGroupExpander?: boolean; + + /** Sets custom setting to the groups in the ribbon control. + * @Default {Object} + */ + groupExpanderSettings?: TabsGroupsGroupExpanderSettings; + + /** Specifies the text to the groups in the ribbon control. + * @Default {null} + */ + text?: string; + + /** Specifies the custom items such as div, table, controls by using the "custom" type. + * @Default {null} + */ + type?: string; + } + + export interface Tab { + + /** Specifies single group or multiple groups and its contents to each tab in the ribbon control. + * @Default {Array} + */ + groups?: TabsGroup[]; + + /** Specifies the ID for each tab's content panel. + * @Default {null} + */ + id?: string; + + /** Specifies the text of the tab in the ribbon control. + * @Default {null} + */ + text?: string; + } + + enum ItemType { + + ///To render the button for ribbon backstage page’s contents + Button, + + ///To render the tab for ribbon backstage page’s contents + Tab + } + + + enum ApplicationTabType { + + ///applicationTab display as menu + Menu, + + ///applicationTab display as backstage + Backstage + } + + + enum AlignType { + + ///To align the group content's in row + Rows, + + ///To align group content's in columns + Columns + } + + + enum CustomItemType { + + ///Specifies the button type in customGalleryItems + Button, + + ///Specifies the menu type in customGalleryItems + Menu + } + + + enum QuickAccessMode { + + ///Controls are hidden in Quick Access toolbar + None, + + ///Add controls in toolBar + ToolBar, + + ///Add controls in menu + Menu + } + + + enum Type { + + ///Specifies the button control + Button, + + ///Specifies the split button + SplitButton, + + ///Specifies the dropDown + DropDownList, + + ///To append external element's + Custom, + + ///Specifies the toggle button + ToggleButton, + + ///Specifies the ribbon gallery + Gallery + } + + } + + class Kanban extends ej.Widget { + static fn: Kanban; + constructor(element: JQuery | Element, options?: Kanban.Model); + static Locale: any; + model: Kanban.Model; + defaults: Kanban.Model; + + /** Add or remove columns in Kanban columns collections.Default action is add. + * @param {Array|string} Pass array of columns or string of headerText to add/remove the column in Kanban + * @param {Array|string} Pass array of columns or string of key value to add/remove the column in Kanban + * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform + * @returns {void} + */ + columns(columndetails: any[] | string, keyvalue: any[] | string, action?: string): void; + + /** Destroy the Kanban widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Refresh the Kanban with new data source. + * @param {Array} Pass new data source to the Kanban + * @returns {void} + */ + dataSource(datasource: any[]): void; + + /** toggleColumn based on the headerText in Kanban. + * @param {any} Pass the header text of the column to get the corresponding column object + * @returns {void} + */ + toggleColumn(headerText: any): void; + + /** Expand or collapse the card based on the state of target "div" + * @param {string|number} Pass the id of card to be toggle + * @returns {void} + */ + toggleCard(key: string | number): void; + + /** Used for get the names of all the visible column name collections in Kanban. + * @returns {Array} + */ + getVisibleColumnNames(): any[]; + + /** Get the scroller object of Kanban. + * @returns {ej.Scroller} + */ + getScrollObject(): ej.Scroller; + + /** Get the column details based on the given header text in Kanban. + * @param {string} Pass the header text of the column to get the corresponding column object + * @returns {String} + */ + getColumnByHeaderText(headerText: string): string; + + /** Get the table details based on the given header table in Kanban. + * @returns {String} + */ + getHeaderTable(): string; + + /** Hide columns from the Kanban based on the header text + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide + * @returns {void} + */ + hideColumns(headerText: any[] | string): void; + + /** Print the Kanban Board + * @returns {void} + */ + print(): void; + + /** Refresh the template of the Kanban + * @returns {void} + */ + refreshTemplate(): void; + + /** Refresh the Kanban contents.The template refreshment is based on the argument passed along with this method + * @param {boolean} optional When templateRefresh is set true, template and Kanban contents both are refreshed in Kanban else only Kanban content is refreshed + * @returns {void} + */ + refresh(templateRefresh?: boolean): void; + + /** Show columns in the Kanban based on the header text. + * @param {Array|string} You can pass either array of header text of various columns or a header text of a column to show + * @returns {void} + */ + showColumns(headerText: any[] | string): void; + + /** Update a card in Kanban control based on key and JSON data given. + * @param {string} Pass the key field Name of the column + * @param {Array} Pass the edited JSON data of card need to be update. + * @returns {void} + */ + updateCard(key: string, data: any[]): void; + + KanbanSelection: Kanban.KanbanSelection; + + KanbanSwimlane: Kanban.KanbanSwimlane; + + KanbanFilter: Kanban.KanbanFilter; + + KanbanEdit: Kanban.KanbanEdit; + } + export namespace Kanban { + + export interface KanbanSelection { + + /** It is used to clear all the card selection. + * @returns {void} + */ + clear(): void; + } + + export interface KanbanSwimlane { + + /** Expand all the swimlane rows in Kanban. + * @returns {void} + */ + expandAll(): void; + + /** Collapse all the swimlane rows in Kanban. + * @returns {void} + */ + collapseAll(): void; + + /** Expand or collapse the swimlane row based on the state of target "div" + * @param {any} Pass the div object to toggleSwimlane row based on its row state + * @returns {void} + */ + toggle($div: any): void; + } + + export interface KanbanFilter { + + /** Method used for send a clear search request to Kanban. + * @returns {void} + */ + clearSearch(): void; + + /** Send a search request to Kanban with specified string passed in it. + * @param {string} Pass the string to search in Kanban card + * @returns {void} + */ + searchCards(searchString: string): void; + + /** Send a clear request to filter cards in the kanban. + * @returns {void} + */ + clearFilter(): void; + + /** Send a filtering request to cards in the kanban. + * @returns {void} + */ + filterCards(): void; + } + + export interface KanbanEdit { + + /** Add a new card in Kanban control when allowAdding is set as true. If parameters are not given default dialog will be open. + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the edited JSON data of card need to be add. + * @returns {void} + */ + addCard(primaryKey: string, card: any[]): void; + + /** Send a cancel request of add/edit card in Kanban when allowEditing/allowAdding is set as true. + * @returns {void} + */ + cancelEdit(): void; + + /** Delete a card in Kanban control when allowAdding/allowEditing is set as true. + * @param {string|number} Pass the key of card to be delete + * @returns {void} + */ + deleteCard(Key: string | number): void; + + /** Send a save request in Kanban when any card is in edit/new add card state and allowEditing/allowAdding is set as true. + * @returns {void} + */ + endEdit(): void; + + /** Send an edit card request in Kanban when allowEditing is set as true. Parameter will be HTML element or primary key + * @param {any} Pass the div selected row element to be edited in Kanban + * @returns {void} + */ + startEdit($div: any): void; + + /** Method used for set validation to a field during editing. + * @param {string} Specify the name of the column to set validation rules + * @param {any} Specify the validation rules for the field + * @returns {void} + */ + setValidationToField(name: string, rules: any): void; + } + + export interface Model { + + /** Gets or sets a value that indicates whether to enable allowDragAndDrop behavior on Kanban. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** To enable or disable the title of the card. + * @Default {false} + */ + allowTitle?: boolean; + + /** Customize the settings for swim lane. + * @Default {Object} + */ + swimlaneSettings?: SwimlaneSettings; + + /** To enable or disable the column expand /collapse. + * @Default {false} + */ + allowToggleColumn?: boolean; + + /** To enable Searching operation in Kanban. + * @Default {false} + */ + allowSearching?: boolean; + + /** To enable filtering behavior on Kanban.User can specify query in filterSettings collection after enabling allowFiltering. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable allowSelection behavior on Kanban.User can select card and the selected card will be highlighted on Kanban. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether to allow card hover actions. + * @Default {true} + */ + allowHover?: boolean; + + /** To allow keyboard navigation actions. + * @Default {false} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable the scrollbar in the Kanban and view the card by scroll through the Kanban manually. + * @Default {false} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable printing option. + * @Default {false} + */ + allowPrinting?: boolean; + + /** Gets or sets an object that indicates whether to customize the context menu behavior of the Kanban. + * @Default {Object} + */ + contextMenuSettings?: ContextMenuSettings; + + /** Gets or sets an object that indicates to render the Kanban with specified columns. + * @Default {Array} + */ + columns?: Column[]; + + /** Gets or sets an object that indicates whether to Customize the card settings. + * @Default {Object} + */ + cardSettings?: CardSettings; + + /** Gets or sets a value that indicates whether to add customToolbarItems within the toolbar to perform any action in the Kanban. + * @Default {[]} + */ + customToolbarItems?: CustomToolbarItem[]; + + /** Gets or sets a value that indicates to render the Kanban with custom theme. + */ + cssClass?: string; + + /** Gets or sets the data to render the Kanban with cards. + * @Default {null} + */ + dataSource?: any; + + /** To perform kanban functionalities with touch interaction. + * @Default {true} + */ + enableTouch?: boolean; + + /** Align content in the Kanban control align from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** To show total count of cards in each column. + * @Default {false} + */ + enableTotalCount?: boolean; + + /** Get or sets an object that indicates whether to customize the editing behavior of the Kanban. + * @Default {Object} + */ + editSettings?: EditSettings; + + /** To customize field mappings for card , editing title and control key parameters + * @Default {Object} + */ + fields?: Fields; + + /** To map datasource field for column values mapping + * @Default {null} + */ + keyField?: string; + + /** When set to true, adapts the Kanban layout to fit the screen size of devices on which it renders. + * @Default {false} + */ + isResponsive?: boolean; + + /** Gets or sets a value that indicates whether to set the minimum width of the responsive Kanban while isResponsive property is true. + * @Default {0} + */ + minWidth?: number; + + /** To customize the filtering behavior based on queries given. + * @Default {Array} + */ + filterSettings?: FilterSetting[]; + + /** ej Query to query database of Kanban. + * @Default {null} + */ + query?: any; + + /** To change the key in keyboard interaction to Kanban control. + * @Default {null} + */ + keySettings?: any; + + /** Gets or sets an object that indicates whether to customize the scrolling behavior of the Kanban. + * @Default {Object} + */ + scrollSettings?: ScrollSettings; + + /** To customize the searching behavior of the Kanban. + * @Default {Object} + */ + searchSettings?: SearchSettings; + + /** To allow customize selection type. Accepting types are "single" and "multiple". + * @Default {ej.Kanban.SelectionType.Single} + */ + selectionType?: ej.Kanban.SelectionType | string; + + /** Gets or sets an object that indicates to managing the collection of stacked header rows for the Kanban. + * @Default {Array} + */ + stackedHeaderRows?: StackedHeaderRow[]; + + /** The tooltip allows to display card details in a tooltip while hovering on it. + */ + tooltipSettings?: TooltipSettings; + + /** Gets or sets an object that indicates to render the Kanban with specified workflows. + * @Default {Array} + */ + workflows?: Workflow[]; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific + * to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Triggered for every Kanban action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggered for every Kanban action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggered for every Kanban action server failure event. */ + actionFailure?(e: ActionFailureEventArgs): void; + + /** Triggered before the task is going to be edited. */ + beginEdit?(e: BeginEditEventArgs): void; + + /** Triggered before the card is going to be added */ + beginAdd?(e: BeginAddEventArgs): void; + + /** Triggered before the card is selected. */ + beforeCardSelect?(e: BeforeCardSelectEventArgs): void; + + /** Trigger after the card is clicked. */ + cardClick?(e: CardClickEventArgs): void; + + /** Triggered when the card is being dragged. */ + cardDrag?(e: CardDragEventArgs): void; + + /** Triggered when card dragging start. */ + cardDragStart?(e: CardDragStartEventArgs): void; + + /** Triggered when card dragging stops. */ + cardDragStop?(e: CardDragStopEventArgs): void; + + /** Triggered when the card is Dropped. */ + cardDrop?(e: CardDropEventArgs): void; + + /** Triggered after the card is selected. */ + cardSelect?(e: CardSelectEventArgs): void; + + /** Triggered when card is double clicked. */ + cardDoubleClick?(e: CardDoubleClickEventArgs): void; + + /** Triggered before the card is selected. */ + cardSelecting?(e: CardSelectingEventArgs): void; + + /** Triggered when the Kanban is rendered completely */ + create?(e: CreateEventArgs): void; + + /** Triggers after the cell is clicked. */ + cellClick?(e: CellClickEventArgs): void; + + /** Triggered before the context menu is opened. */ + contextOpen?(e: ContextOpenEventArgs): void; + + /** Triggered when context menu item is clicked in Kanban */ + contextClick?(e: ContextClickEventArgs): void; + + /** Triggered the Kanban is bound with data during initial rendering. */ + dataBound?(e: DataBoundEventArgs): void; + + /** Triggered when Kanban going to destroy. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggered after the card is deleted. */ + endDelete?(e: EndDeleteEventArgs): void; + + /** Triggered after the card is edited. */ + endEdit?(e: EndEditEventArgs): void; + + /** Triggers after the header is clicked. */ + headerClick?(e: HeaderClickEventArgs): void; + + /** Triggered initial load. */ + load?(e: LoadEventArgs): void; + + /** Triggered every time a single card rendered request is made to access particular card information. */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; + + /** Triggered when toolbar item is clicked in Kanban. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } + + export interface ActionBeginEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current action event type. + */ + originalEventType?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the card object (JSON). + */ + data?: any; + + /** Returns current filtering object field name. + */ + currentFilteringobject?: any; + + /** Returns filter details. + */ + filterCollection?: any; + } + + export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns Kanban element. + */ + target?: any; + + /** Returns the card object (JSON). + */ + data?: any; + + /** Returns the selectedRow index. + */ + selectedRow?: number; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns filter details. + */ + filterCollection?: any; + } + + export interface ActionFailureEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the error return by server. + */ + error?: any; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns Kanban element. + */ + target?: any; + + /** Returns the card object (JSON). + */ + data?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns filter details. + */ + filterCollection?: any; + } + + export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns begin edit data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface BeginAddEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns beginAdd data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface BeforeCardSelectEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the select card index value. + */ + cardIndex?: number; + + /** Returns the select cell element + */ + currentCell?: any; + + /** Returns the previously select the card element + */ + previousCard?: any; + + /** Returns the previously select card indexes + */ + previousRowcellindex?: any[]; + + /** Returns the Target item. + */ + Target?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns select card data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the current card to the Kanban. + */ + currentCard?: string; + + /** Returns Kanban element. + */ + target?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the Header text of the column corresponding to the selected card. + */ + columnName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns drag data. + */ + data?: any; + + /** Returns drag start element. + */ + dragtarget?: any; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns card drag start data. + */ + data?: any; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns drag start element. + */ + dragtarget?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardDragStopEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns drag stop element. + */ + droptarget?: any; + + /** Returns drag stop data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns dragged element. + */ + draggedElement?: any; + + /** Returns previous parent of dragged element + */ + draggedParent?: any; + + /** Returns dragged data. + */ + data?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns drop element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardSelectEventArgs { + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the select card index value. + */ + cardIndex?: number; + + /** Returns the select cell element + */ + currentCell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the previously select the card element + */ + previousCard?: any; + + /** Returns the previously select card indexes + */ + previousRowcellindex?: any[]; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns select card data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardDoubleClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current card object (JSON). + */ + data?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CardSelectingEventArgs { + + /** Returns the selecting cell index value. + */ + cellIndex?: number; + + /** Returns the selecting card index value. + */ + cardIndex?: number; + + /** Returns the selecting cell element + */ + currentCell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the previously selecting the card element + */ + previousCard?: any; + + /** Returns the previously rowcell is selecting card indexes + */ + previousRowcellindex?: any[]; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns added data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the edited row index. + */ + rowIndex?: number; + } + + export interface ContextOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the status of contextmenu item which denotes its enabled state. + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + } + + export interface ContextClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the status of contextmenu item which denotes its enabled state. + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + } + + export interface DataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** Returns the kanban model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface EndDeleteEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Current action name + */ + action?: string; + } + + export interface EndEditEventArgs { + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns modified data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Current Action name + */ + action?: string; + } + + export interface HeaderClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the select cell index value. + */ + cellIndex?: number; + + /** Returns the column object. + */ + columnData?: any; + } + + export interface LoadEventArgs { + + /** Returns the kanban model. + */ + model?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface QueryCellInfoEventArgs { + + /** Returns Kanban card. + */ + card?: any; + + /** Returns Kanban card. + */ + cell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the column object. + */ + column?: any; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the item id of that current element. + */ + itemId?: string; + + /** Returns the item index of that current element. + */ + itemIndex?: number; + + /** Returns the item name of that current element. + */ + itemName?: string; + + /** Returns the item text of that current element. + */ + itemText?: string; + + /** Returns the Kanban model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the toolbar object of the Kanban. + */ + toolbarData?: any; + } + + export interface SwimlaneSettingsUnassignedGroup { + + /** To enable or disable unassigned category change with swim lane key values. + * @Default {true} + */ + enable?: boolean; + + /** To set the user defined values which are need to categorized as unassigned category swim lane groups. + * @Default {[null,undefined,]} + */ + keys?: any[]; + } + + export interface SwimlaneSettings { + + /** To enable or disable items count in swim lane. + * @Default {true} + */ + showCount?: boolean; + + /** To enable or disable DragAndDrop across swim lane. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Customize the settings for unassigned category of swim lane. + * @Default {Object} + */ + unassignedGroup?: SwimlaneSettingsUnassignedGroup; + } + + export interface ContextMenuSettingsCustomMenuItem { + + /** Its sets target element to custom context menu item. + * @Default {ej.Kanban.Target.All} + */ + target?: ej.Kanban.Target | string; + + /** Gets the display name to custom menu item. + * @Default {null} + */ + text?: string; + + /** Gets the template to render custom context menu item. + * @Default {null} + */ + template?: string; + } + + export interface ContextMenuSettings { + + /** To enable context menu.All default context menu will show. + * @Default {false} + */ + enable?: boolean; + + /** Gets or sets a value that indicates the list of items needs to be disable from default context menu items. + * @Default {Array} + */ + disableDefaultItems?: any[]; + + /** Its used to add specific default context menu items. + * @Default {Array} + */ + menuItems?: any[]; + + /** Gets or sets a value that indicates whether to add custom contextMenu items. + * @Default {Array} + */ + customMenuItems?: ContextMenuSettingsCustomMenuItem[]; + } + + export interface ColumnsTotalCount { + + /** To customize the totalCount text properties. + * @Default {null} + */ + text?: string; + } + + export interface ColumnsConstraints { + + /** It is used to specify the type of constraints as column or swimlane. + * @Default {null} + */ + type?: string; + + /** It is used to specify the minimum amount of card in particular column cell or swimlane cell can hold. + * @Default {null} + */ + min?: number; + + /** It is used to specify the maximum amount of card in particular column cell or swimlane cell can hold. + * @Default {null} + */ + max?: number; + } + + export interface Column { + + /** Gets or sets an object that indicates to render the Kanban with specified columns header text. + * @Default {null} + */ + headerText?: string; + + /** To customize the totalCount properties. + * @Default {Object} + */ + totalCount?: ColumnsTotalCount; + + /** Gets or sets an object that indicates to render the Kanban with specified columns key. + * @Default {null} + */ + key?: string | number; + + /** To enable/disable allowDrop for specific column wise. + * @Default {true} + */ + allowDrop?: boolean; + + /** To enable/disable allowDrag for specific column wise. + * @Default {true} + */ + allowDrag?: boolean; + + /** To set column collapse or expand state + * @Default {false} + */ + isCollapsed?: boolean; + + /** To customize the column level constraints with minimum ,maximum limit validation. + * @Default {Object} + */ + constraints?: ColumnsConstraints; + + /** Gets or sets a value that indicates to add the template within the header element. + * @Default {null} + */ + headerTemplate?: string; + + /** Gets or sets an object that indicates to render the Kanban with specified columns width. + * @Default {null} + */ + width?: string | number; + + /** Gets or sets an object that indicates to set specific column visibility. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets an object that indicates whether to show add new button. + * @Default {false} + */ + showAddButton?: boolean; + } + + export interface CardSettings { + + /** Gets or sets a value that indicates to add the template for card . + * @Default {null} + */ + template?: string; + + /** To customize the card border color based on assigned task. Colors and corresponding values defined here will be mapped with colorField mapped data source column. + * @Default {Object} + */ + colorMapping?: any; + } + + export interface CustomToolbarItem { + + /** Gets the template to render customToolbarItems. + * @Default {null} + */ + template?: string; + } + + export interface EditSettingsEditItem { + + /** It is used to map editing field from the data source. + * @Default {null} + */ + field?: string; + + /** It is used to set the particular editType in the card for editing. + * @Default {ej.Kanban.EditingType.String} + */ + editType?: ej.Kanban.EditingType | string; + + /** Gets or sets a value that indicates to define constraints for saving data to the database. + * @Default {Object} + */ + validationRules?: any; + + /** It is used to set the particular editparams in the card for editing. + * @Default {Object} + */ + editParams?: any; + + /** It is used to specify defaultValue for the fields while adding new card. + * @Default {null} + */ + defaultValue?: string | number; + } + + export interface EditSettings { + + /** Gets or sets a value that indicates whether to enable the editing action in cards of Kanban. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable the adding action in cards behavior on Kanban. + * @Default {false} + */ + allowAdding?: boolean; + + /** This specifies the id of the template which is require to be edited using the Dialog Box. + * @Default {null} + */ + dialogTemplate?: string; + + /** Get or sets an object that indicates whether to customize the editMode of the Kanban. + * @Default {ej.Kanban.EditMode.Dialog} + */ + editMode?: ej.Kanban.EditMode | string; + + /** Get or sets an object that indicates whether to customize the editing fields of Kanban card. + * @Default {Array} + */ + editItems?: EditSettingsEditItem[]; + + /** This specifies the id of the template which is require to be edited using the External edit form. + * @Default {null} + */ + externalFormTemplate?: string; + + /** This specifies to set the position of an External edit form either in the right or bottom of the Kanban. + * @Default {ej.Kanban.FormPosition.Bottom} + */ + formPosition?: ej.Kanban.FormPosition | string; + } + + export interface Fields { + + /** The primarykey field is mapped to data source field. And this will used for Drag and drop and editing mainly. + * @Default {null} + */ + primaryKey?: string; + + /** To enable swimlane grouping based on the given key field from datasource mapping. + * @Default {null} + */ + swimlaneKey?: string; + + /** Priority field has been mapped data source field to maintain cards priority. + * @Default {null} + */ + priority?: string; + + /** Content field has been Mapped into card text. + * @Default {null} + */ + content?: string; + + /** Tag field has been Mapped into card tag. + * @Default {null} + */ + tag?: string; + + /** Title field has been Mapped to field in datasource for title content. If title field specified , card expand/collapse will be enabled with header and content section. + * @Default {null} + */ + title?: string; + + /** To customize the card has been Mapped into card color field. + * @Default {null} + */ + color?: string; + + /** ImageUrl field has been Mapped into card image. + * @Default {null} + */ + imageUrl?: string; + } + + export interface FilterSetting { + + /** Gets or sets an object of display name to filter queries. + * @Default {null} + */ + text?: string; + + /** Gets or sets an object that Queries to perform filtering + * @Default {Object} + */ + query?: any; + + /** Gets or sets an object of tooltip to filter buttons. + * @Default {null} + */ + description?: string; + } + + export interface ScrollSettings { + + /** Gets or sets an object that indicates to render the Kanban with specified scroll height. + * @Default {0} + */ + height?: string | number; + + /** Gets or sets an object that indicates to render the Kanban with specified scroll width. + * @Default {auto} + */ + width?: string | number; + + /** To allow the Kanban to freeze particular swimlane at the time of scrolling , until scroll reaches next swimlane and it continues. + * @Default {false} + */ + allowFreezeSwimlane?: boolean; + } + + export interface SearchSettings { + + /** To customize the fields the searching operation can be perform. + * @Default {Array} + */ + fields?: any[]; + + /** To customize the searching string. + */ + key?: string; + + /** To customize the operator based on searching. + * @Default {contains} + */ + operator?: string; + + /** To customize the ignore case based on searching. + * @Default {true} + */ + ignoreCase?: boolean; + } + + export interface StackedHeaderRowsStackedHeaderColumn { + + /** Gets or sets a value that indicates the headerText for the particular stacked header column. + * @Default {null} + */ + headerText?: string; + + /** Gets or sets a value that indicates the column for the particular stacked header column. + * @Default {null} + */ + column?: string; + } + + export interface StackedHeaderRow { + + /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows. + * @Default {Array} + */ + stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; + } + + export interface TooltipSettings { + + /** To enable or disable the tooltip display. + * @Default {false} + */ + enable?: boolean; + + /** To customize the tooltip display based on your requirements. + * @Default {null} + */ + template?: string; + } + + export interface Workflow { + + /** Gets or sets an object that indicates to render the Kanban with specified workflows key. + * @Default {null} + */ + key?: string | number; + + /** Gets or sets an object that indicates to render the Kanban with specified workflows allowed Transitions. + * @Default {null} + */ + allowedTransitions?: string; + } + + enum Target { + + ///Sets context menu to Kanban header + Header, + + ///Sets context menu to Kanban content + Content, + + ///Sets context menu to Kanban card + Card, + + ///Sets context menu to Kanban + All + } + + + enum EditMode { + + ///Creates Kanban with editMode as Dialog + Dialog, + + ///Creates Kanban with editMode as DialogTemplate + DialogTemplate, + + ///Creates Kanban with editMode as ExternalForm + ExternalForm, + + ///Creates Kanban with editMode as ExternalFormTemplate + ExternalFormTemplate + } + + + enum EditingType { + + ///Allows to set edit type as string edit type + String, + + ///Allows to set edit type as numeric edit type + Numeric, + + ///Allows to set edit type as drop down edit type + Dropdown, + + ///Allows to set edit type as date picker edit type + DatePicker, + + ///Allows to set edit type as date time picker edit type + DateTimePicker, + + ///Allows to set edit type as text area edit type + TextArea, + + ///Allows to set edit type as RTE edit type + RTE + } + + + enum FormPosition { + + ///Form position is bottom. + Bottom, + + ///Form position is right. + Right + } + + + enum SelectionType { + + ///Support for Single selection in Kanban + Single, + + ///Support for multiple selections in Kanban + Multiple + } + + } + + class Rotator extends ej.Widget { + static fn: Rotator; + constructor(element: JQuery | Element, options?: Rotator.Model); + static Locale: any; + model: Rotator.Model; + defaults: Rotator.Model; + + /** Disables the Rotator control. + * @returns {void} + */ + disable(): void; + + /** Enables the Rotator control. + * @returns {void} + */ + enable(): void; + + /** This method is used to get the current slide index. + * @returns {number} + */ + getIndex(): number; + + /** This method is used to move a slide to the specified index. + * @param {number} index of an slide + * @returns {void} + */ + gotoIndex(index: number): void; + + /** This method is used to pause autoplay. + * @returns {void} + */ + pause(): void; + + /** This method is used to move slides continuously (or start autoplay) in the specified autoplay direction. + * @returns {void} + */ + play(): void; + + /** This method is used to move to the next slide from the current slide. If the current slide is the last slide, then the first slide will be treated as the next slide. + * @returns {void} + */ + slideNext(): void; + + /** This method is used to move to the previous slide from the current slide. If the current slide is the first slide, then the last slide will be treated as the previous slide. + * @returns {void} + */ + slidePrevious(): void; + + /** This method is used to update/modify the slide content of template rotator by using id based on index value. + * @param {number} index of an slide + * @param {string} id of a new updated slide + * @returns {void} + */ + updateTemplateById(index: number, id: string): void; + } + export namespace Rotator { + + export interface Model { + + /** Turns on keyboard interaction with the Rotator items. You must set this property to true to access the following keyboard shortcuts: + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Sets the animationSpeed of slide transition. + * @Default {600} + */ + animationSpeed?: string | number; + + /** Specifies the animationType type for the Rotator Item. animationType options include slide, fastSlide, slowSlide, and other custom easing animationTypes. + * @Default {slide} + */ + animationType?: string; + + /** Enables the circular mode item rotation. + * @Default {true} + */ + circularMode?: boolean; + + /** Specify the CSS class to Rotator to achieve custom theme. + */ + cssClass?: string; + + /** Specify the list of data which contains a set of data fields. Each data value is used to render an item for the Rotator. + * @Default {null} + */ + dataSource?: any; + + /** Sets the delay between the Rotator Items move after the slide transition. + * @Default {500} + */ + delay?: number; + + /** Specifies the number of Rotator Items to be displayed. + * @Default {1} + */ + displayItemsCount?: string | number; + + /** Rotates the Rotator Items continuously without user interference. + * @Default {false} + */ + enableAutoPlay?: boolean; + + /** Enables or disables the Rotator control. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies right to left transition of slides. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines mapping fields for the data items of the Rotator. + * @Default {null} + */ + fields?: Fields; + + /** Sets the space between the Rotator Items. + */ + frameSpace?: string | number; + + /** Resizes the Rotator when the browser is resized. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the number of Rotator Items to navigate on a single click (next/previous/play buttons). + * The navigateSteps property value must be less than or equal to the displayItemsCount property value. + * @Default {1} + */ + navigateSteps?: string | number; + + /** Specifies the orientation for the Rotator control, that is, whether it must be rendered horizontally or vertically. See Orientation + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Specifies the position of the showPager in the Rotator Item. See PagerPosition + * @Default {outside} + */ + pagerPosition?: string | ej.Rotator.PagerPosition; + + /** Retrieves data from remote data. This property is applicable only when a remote data source is used. + * @Default {null} + */ + query?: string; + + /** If the Rotator Item is an image, you can specify a caption for the Rotator Item. The caption text for each Rotator Item must be set by using the title attribute of the respective tag. + * The caption cannot be displayed if multiple Rotator Items are present. + * @Default {false} + */ + showCaption?: boolean; + + /** Turns on or off the slide buttons (next and previous) in the Rotator Items. Slide buttons are used to navigate the Rotator Items. + * @Default {true} + */ + showNavigateButton?: boolean; + + /** Turns on or off the pager support in the Rotator control. The Pager is used to navigate the Rotator Items. + * @Default {true} + */ + showPager?: boolean; + + /** Enable play / pause button on rotator. + * @Default {false} + */ + showPlayButton?: boolean; + + /** Turns on or off thumbnail support in the Rotator control. Thumbnail is used to navigate between slides. Thumbnail supports only single slide transition + * You must specify the source for thumbnail elements through the thumbnailSourceID property. + * @Default {false} + */ + showThumbnail?: boolean; + + /** Sets the height of a Rotator Item. + */ + slideHeight?: string | number; + + /** Sets the width of a Rotator Item. + */ + slideWidth?: string | number; + + /** Sets the index of the slide that must be displayed first. + * @Default {0} + */ + startIndex?: string | number; + + /** Pause the auto play while hover on the rotator content. + * @Default {false} + */ + stopOnHover?: boolean; + + /** The template to display the Rotator widget with customized appearance. + * @Default {null} + */ + template?: string; + + /** The templateId enables to bind multiple customized template items in Rotator. + * @Default {null} + */ + templateId?: any[]; + + /** Specifies the source for thumbnail elements. + * @Default {null} + */ + thumbnailSourceID?: any; + + /** This event is fired when the Rotator slides are changed. */ + change?(e: ChangeEventArgs): void; + + /** This event is fired when the Rotator control is initialized. */ + create?(e: CreateEventArgs): void; + + /** This event is fired when the Rotator control is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** This event is fired when a pager is clicked. */ + pagerClick?(e: PagerClickEventArgs): void; + + /** This event is fired when enableAutoPlay is started. */ + start?(e: StartEventArgs): void; + + /** This event is fired when autoplay is stopped or paused. */ + stop?(e: StopEventArgs): void; + + /** This event is fired when a thumbnail pager is clicked. */ + thumbItemClick?(e: ThumbItemClickEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface PagerClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; + } + + export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; + } + + export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; + } + + export interface ThumbItemClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the rotator model + */ + model?: ej.Rotator.Model; + + /** returns the name of the event + */ + type?: string; + + /** the current rotator id. + */ + itemId?: string; + + /** returns the current slide index. + */ + activeItemIndex?: number; + } + + export interface Fields { + + /** Specifies a link for the image. + */ + linkAttribute?: string; + + /** Specifies where to open a given link. + */ + targetAttribute?: string; + + /** Specifies a caption for the image. + */ + text?: string; + + /** Specifies a caption for the thumbnail image. + */ + thumbnailText?: string; + + /** Specifies the URL for an thumbnail image. + */ + thumbnailUrl?: string; + + /** Specifies the URL for an image. + */ + url?: string; + } + + enum PagerPosition { + + ///string + BottomLeft, + + ///string + BottomRight, + + ///string + Outside, + + ///string + TopCenter, + + ///string + TopLeft, + + ///string + TopRight + } + + } + + class RTE extends ej.Widget { + static fn: RTE; + constructor(element: JQuery | Element, options?: RTE.Model); + static Locale: any; + model: RTE.Model; + defaults: RTE.Model; + + /** Returns the range object. + * @returns {any} + */ + createRange(): any; + + /** Disables the RTE control. + * @returns {void} + */ + disable(): void; + + /** Disables the corresponding tool in the RTE ToolBar. + * @returns {void} + */ + disableToolbarItem(): void; + + /** Enables the RTE control. + * @returns {void} + */ + enable(): void; + + /** Enables the corresponding tool in the toolbar when the tool is disabled. + * @returns {void} + */ + enableToolbarItem(): void; + + /** Performs the action value based on the given command. + * @returns {void} + */ + executeCommand(): void; + + /** Focuses the RTE control. + * @returns {void} + */ + focus(): void; + + /** Gets the command status of the selected text based on the given comment in the RTE control. + * @returns {boolean} + */ + getCommandStatus(): boolean; + + /** Gets the Document from the RTE control. + * @returns {Document} + */ + getDocument(): Document; + + /** Gets the HTML string from the RTE control. + * @returns {HTMLElement} + */ + getHtml(): HTMLElement; + + /** Gets the selected HTML string from the RTE control. + * @returns {HTMLElement} + */ + getSelectedHtml(): HTMLElement; + + /** Gets the content as string from the RTE control. + * @returns {string} + */ + getText(): string; + + /** Hides the RTE control. + * @returns {void} + */ + hide(): void; + + /** Inserts new item to the target contextmenu node. + * @returns {void} + */ + insertMenuOption(): void; + + /** Add a table column at the right or left of the specified cell + * @param {boolean} If it’s true, add a column at the left of the cell, otherwise add a column at the right of the cell + * @param {JQuery} Column will be added based on the given cell element + * @returns {HTMLElement} + */ + insertColumn(before?: boolean, cell?: JQuery): HTMLElement; + + /** To add a table row below or above the specified cell. + * @param {boolean} If it’s true, add a row before the cell, otherwise add a row after the cell + * @param {JQuery} Row will be added based on the given cell element + * @returns {HTMLElement} + */ + insertRow(before?: boolean, cell?: JQuery): HTMLElement; + + /** This method helps to insert/paste the content at the current cursor (caret) position or the selected content to be replaced with our text by passing the value as parameter to the + * pasteContent method in the Editor. + * @returns {void} + */ + pasteContent(): void; + + /** Refreshes the RTE control. + * @returns {void} + */ + refresh(): void; + + /** Removes the specified table column. + * @param {JQuery} Remove the given column element + * @returns {void} + */ + removeColumn(cell?: JQuery): void; + + /** Removes the specified table row. + * @param {JQuery} Remove the given row element + * @returns {void} + */ + removeRow(cell?: JQuery): void; + + /** Deletes the specified table. + * @param {JQuery} Remove the given table + * @returns {void} + */ + removeTable(table?: JQuery): void; + + /** Removes the target menu item from the RTE contextmenu. + * @returns {void} + */ + removeMenuOption(): void; + + /** Removes the given tool from the RTE Toolbar. + * @returns {void} + */ + removeToolbarItem(): void; + + /** Selects all the contents within the RTE. + * @returns {void} + */ + selectAll(): void; + + /** Selects the contents in the given range. + * @returns {void} + */ + selectRange(): void; + + /** Sets the color picker model type rendered initially in the RTE control. + * @returns {void} + */ + setColorPickerType(): void; + + /** Sets the HTML string from the RTE control. + * @returns {void} + */ + setHtml(): void; + + /** Displays the RTE control. + * @returns {void} + */ + show(): void; + } + export namespace RTE { + + export interface Model { + + /** Enables/disables the editing of the content. + * @Default {True} + */ + allowEditing?: boolean; + + /** RTE control can be accessed through the keyboard shortcut keys. + * @Default {True} + */ + allowKeyboardNavigation?: boolean; + + /** When the property is set to true, it focuses the RTE at the time of rendering. + * @Default {false} + */ + autoFocus?: boolean; + + /** Based on the content size, its height is adjusted instead of adding the scrollbar. + * @Default {false} + */ + autoHeight?: boolean; + + /** Sets the colorCode to display the color of the fontColor and backgroundColor in the font tools of the RTE. + * @Default {[000000, FFFFFF, C4C4C4, ADADAD, 595959, 262626, 4f81bd, dbe5f1, b8cce4, 95b3d7, 366092, 244061, c0504d, f2dcdb, e5b9b7, d99694, 953734,632423, 9bbb59, + * ebf1dd, d7e3bc, c3d69b, 76923c, 4f6128, 8064a2, e5e0ec, ccc1d9, b2a2c7, 5f497a, 3f3151, f79646, fdeada, fbd5b5, fac08f,e36c09, 974806]} + */ + colorCode?: any; + + /** The number of columns given are rendered in the color palate popup. + * @Default {6} + */ + colorPaletteColumns?: number; + + /** The number of rows given are rendered in the color palate popup. + * @Default {6} + */ + colorPaletteRows?: number; + + /** Sets the root class for the RTE theme. This cssClass API helps the usage of custom skinning option for the RTE control by including this root class in CSS. + */ + cssClass?: string; + + /** Enables/disables the RTE control’s accessibility or interaction. + * @Default {True} + */ + enabled?: boolean; + + /** When the property is set to true, it returns the encrypted text. + * @Default {false} + */ + enableHtmlEncode?: boolean; + + /** Maintain the values of the RTE after page reload. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Shows the resize icon and enables the resize option in the RTE. + * @Default {True} + */ + enableResize?: boolean; + + /** Shows the RTE in the RTL direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Formats the contents based on the XHTML rules. + * @Default {false} + */ + enableXHTML?: boolean; + + /** Enables the tab key action with the RichTextEditor content. + * @Default {True} + */ + enableTabKeyNavigation?: boolean; + + /** This API allows to enable url and fileName for pdf export. + * @Default {null} + */ + exportToPdfSettings?: ExportToPdfSettings; + + /** This API allows to enable url and fileName for word export. + * @Default {null} + */ + exportToWordSettings?: ExportToWordSettings; + + /** Load the external CSS file inside Iframe. + * @Default {null} + */ + externalCSS?: string; + + /** This API allows to enable the file browser support in the RTE control to browse, create, delete and upload the files in the specified current directory. + * @Default {null} + */ + fileBrowser?: FileBrowser; + + /** Sets the fontName in the RTE. + * @Default {{text: Segoe UI, value: Segoe UI },{text: Arial, value: Arial,Helvetica,sans-serif },{text: Courier New, value: Courier New,Courier,Monospace }, + * {text: Georgia, value: Georgia,serif },{text: Impact, value: Impact,Charcoal,sans-serif },{text: Lucida Console, value: Lucida Console,Monaco,Monospace }, + * {text: Tahoma, value: Tahoma,Geneva,sans-serif },{text: Times New Roman, value: Times New Roman },{text: Trebuchet MS, value: Trebuchet MS,Helvetica,sans-serif }, + * {text: Verdana, value: Verdana,Geneva,sans-serif}} + */ + fontName?: any; + + /** Sets the fontSize in the RTE. + * @Default {{ text: 1, value: 1 },{ text: 2 (10pt), value: 2 },{ text: 3 (12pt), value: 3 },{ text: 4 (14pt), value: 4 },{ text: 5 (18pt), value: 5 }, + * { text: 6 (24pt), value: 6 },{ text: 7 (36pt), value: 7 }} + */ + fontSize?: any; + + /** Sets the format in the RTE. + * @Default {{ text: Paragraph, value: <p>, spriteCssClass: e-paragraph },{ text: Quotation, value: <blockquote>, spriteCssClass: e-quotation }, + * { text: Heading 1, value: <h1>, spriteCssClass: e-h1 },{ text: Heading 2, value: <h2>, spriteCssClass: e-h2 },{ text: Heading 3, value: <h3>, spriteCssClass: e-h3 }, + * { text: Heading 4, value: <h4>, spriteCssClass: e-h4 },{ text: Heading 5, value: <h5>, spriteCssClass: e-h5 },{ text: Heading 6, value: <h6>, spriteCssClass: e-h6}} + */ + format?: string; + + /** Defines the height of the RTE textbox. + * @Default {370} + */ + height?: string | number; + + /** Specifies the HTML Attributes of the ejRTE. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the given attributes to the iframe body element. + * @Default {{}} + */ + iframeAttributes?: any; + + /** This API allows the image browser to support in the RTE control to browse, create, delete, and upload the image files to the specified current directory. + * @Default {null} + */ + imageBrowser?: ImageBrowser; + + /** This API allows to enable the url for connecting to RTE import. + * @Default {null} + */ + importSettings?: ImportSettings; + + /** Enables/disables responsive support for the RTE control toolbar items during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Sets the culture in the RTE when you set the localization values are needs to be assigned to the corresponding text as follows. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum height for the RTE outer wrapper element. + * @Default {null} + */ + maxHeight?: string | number; + + /** Sets the maximum length for the RTE outer wrapper element. + * @Default {7000} + */ + maxLength?: number; + + /** Sets the maximum width for the RTE outer wrapper element. + * @Default {null} + */ + maxWidth?: string | number; + + /** Sets the minimum height for the RTE outer wrapper element. + * @Default {280} + */ + minHeight?: string | number; + + /** Sets the minimum width for the RTE outer wrapper element. + * @Default {400} + */ + minWidth?: string | number; + + /** Sets the name in the RTE. When the name value is not initialized, the ID value is assigned to the name. + */ + name?: string; + + /** Shows ClearAll icon in the RTE footer. + * @Default {false} + */ + showClearAll?: boolean; + + /** Shows the clear format in the RTE footer. + * @Default {true} + */ + showClearFormat?: boolean; + + /** Shows the Custom Table in the RTE. + * @Default {True} + */ + showCustomTable?: boolean; + + /** The showContextMenu property helps to enable custom context menu within editor area. + * @Default {True} + */ + showContextMenu?: boolean; + + /** This API is used to set the default dimensions for the image and video. When this property is set to true, the image and video dialog displays the dimension option. + * @Default {false} + */ + showDimensions?: boolean; + + /** Shows the FontOption in the RTE. + * @Default {True} + */ + showFontOption?: boolean; + + /** Shows footer in the RTE. When the footer is enabled, it displays the HTML tag, word Count, character count, clear format, resize icon and clear all the content icons, by default. + * @Default {false} + */ + showFooter?: boolean; + + /** Shows the HtmlSource in the RTE footer. + * @Default {false} + */ + showHtmlSource?: boolean; + + /** When the cursor is placed or when the text is selected in the RTE, it displays the tag info in the footer. + * @Default {True} + */ + showHtmlTagInfo?: boolean; + + /** Shows the toolbar in the RTE. + * @Default {True} + */ + showToolbar?: boolean; + + /** Counts the total characters and displays it in the RTE footer. + * @Default {True} + */ + showCharCount?: boolean; + + /** Enables or disables rounded corner UI look for RTE. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Counts the total words and displays it in the RTE footer. + * @Default {True} + */ + showWordCount?: boolean; + + /** The given number of columns render the insert table pop. + * @Default {10} + */ + tableColumns?: number; + + /** The given number of rows render the insert table pop. + * @Default {8} + */ + tableRows?: number; + + /** Sets the tools in the RTE and gets the inner display order of the corresponding group element. Tools are dependent on the toolsList property. + * @Default {formatStyle: [format],style: [bold, italic, underline, strikethrough],alignment: [justifyLeft, justifyCenter, justifyRight, justifyFull],lists: [unorderedList, orderedList], + * indenting: [outdent, indent],doAction: [undo, redo],links: [createLink,removeLink],images: [image],media: [video],tables: [createTable, addRowAbove, addRowBelow, + * addColumnLeft, addColumnRight, deleteRow, deleteColumn, deleteTable]],view:[“fullScreen”,zoomIn,zoomOut],print:[print]} + */ + tools?: Tools; + + /** Specifies the list of groups and order of those groups displayed in the RTE toolbar. The toolsList property is used to get the root group order and tools property is used to get the + * inner order of the corresponding groups displayed. When the value is not specified, it gets its default display order and tools. + * @Default {[formatStyle, font, style, effects, alignment, lists, indenting, clipboard, doAction, clear, links, images, media, tables, casing,view, customTools,print,edit]} + */ + toolsList?: any[]; + + /** Display the hints for the tools in the Toolbar. + * @Default {{ associate: mouseenter, showShadow: true, position: { stem: { horizontal: left, vertical: top } }, tip: { size: { width: 5, height: 5 }, isBalloon: false }} + */ + tooltipSettings?: any; + + /** Gets the undo stack limit. + * @Default {50} + */ + undoStackLimit?: number; + + /** The given string value is displayed in the editable area. + * @Default {null} + */ + value?: string; + + /** Sets the jQuery validation rules to the Rich Text Editor. + * @Default {null} + */ + validationRules?: any; + + /** Sets the jQuery validation error message to the Rich Text Editor. + * @Default {null} + */ + validationMessage?: any; + + /** Defines the width of the RTE textbox. + * @Default {786} + */ + width?: string | number; + + /** Increases and decreases the contents zoom range in percentage + * @Default {0.05} + */ + zoomStep?: string | number; + + /** Fires when changed successfully. */ + change?(e: ChangeEventArgs): void; + + /** Fires when the RTE is created successfully */ + create?(e: CreateEventArgs): void; + + /** Fires when mouse click on menu items. */ + contextMenuClick?(e: ContextMenuClickEventArgs): void; + + /** Fires before the RTE is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when the commands are executed successfully. */ + execute?(e: ExecuteEventArgs): void; + + /** Fires when the keydown action is successful. */ + keydown?(e: KeydownEventArgs): void; + + /** Fires when the keyup action is successful. */ + keyup?(e: KeyupEventArgs): void; + + /** Fires before the RTE Edit area is rendered and after the toolbar is rendered. */ + preRender?(e: PreRenderEventArgs): void; + + /** Fires when the text is selected in the text area */ + select?(e: SelectEventArgs): void; + } + + export interface ChangeEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the RTE model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface CreateEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface ContextMenuClickEventArgs { + + /** returns clicked menu item text. + */ + text?: string; + + /** returns clicked menu item element. + */ + element?: any; + + /** returns the selected item. + */ + selectedItem?: number; + } + + export interface DestroyEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface ExecuteEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface KeydownEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface KeyupEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface PreRenderEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface SelectEventArgs { + + /** When the event is canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the RTE model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the event object + */ + event?: any; + } + + export interface ExportToPdfSettings { + + /** This API is used to receive the server-side handler for export related operations. + */ + url?: string; + + /** Specifies the file name for the exported pdf file. + */ + fileName?: string; + } + + export interface ExportToWordSettings { + + /** This API is used to receive the server-side handler for export related operations. + */ + url?: string; + + /** Specifies the file name for the exported word file. + */ + fileName?: string; + } + + export interface FileBrowser { + + /** This API is used to receive the server-side handler for file related operations. + */ + ajaxAction?: string; + + /** Specifies the file type extension shown in the file browser window. + */ + extensionAllow?: string; + + /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected files to the current directory. + */ + filePath?: string; + } + + export interface ImageBrowser { + + /** This API is used to receive the server-side handler for the file related operations. + */ + ajaxAction?: string; + + /** Specifies the file type extension shown in the image browser window. + */ + extensionAllow?: string; + + /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected images to the current directory. + */ + filePath?: string; + } + + export interface ImportSettings { + + /** This API is used to receive the server-side handler for import operations. + */ + url?: string; + } + + export interface ToolsCustomOrderedList { + + /** Specifies the name for customOrderedList item. + */ + name?: string; + + /** Specifies the title for customOrderedList item. + */ + tooltip?: string; + + /** Specifies the styles for customOrderedList item. + */ + css?: string; + + /** Specifies the text for customOrderedList item. + */ + text?: string; + + /** Specifies the list style for customOrderedList item. + */ + listStyle?: string; + + /** Specifies the image for customOrderedList item. + */ + listImage?: string; + } + + export interface ToolsCustomUnorderedList { + + /** Specifies the name for customUnorderedList item. + */ + name?: string; + + /** Specifies the title for customUnorderedList item. + */ + tooltip?: string; + + /** Specifies the styles for customUnorderedList item. + */ + css?: string; + + /** Specifies the text for customUnorderedList item. + */ + text?: string; + + /** Specifies the list style for customUnorderedList item. + */ + listStyle?: string; + + /** Specifies the image for customUnorderedList item. + */ + listImage?: string; + } + + export interface Tools { + + /** Specifies the alignment tools and the display order of this tool in the RTE toolbar. + */ + alignment?: any; + + /** Specifies the casing tools and the display order of this tool in the RTE toolbar. + */ + casing?: any[]; + + /** Specifies the clear tools and the display order of this tool in the RTE toolbar. + */ + clear?: any[]; + + /** Specifies the clipboard tools and the display order of this tool in the RTE toolbar. + */ + clipboard?: any[]; + + /** Specifies the edit tools and the displays tool in the RTE toolbar. + */ + edit?: any[]; + + /** Specifies the doAction tools and the display order of this tool in the RTE toolbar. + */ + doAction?: any[]; + + /** Specifies the effect of tools and the display order of this tool in RTE toolbar. + */ + effects?: any[]; + + /** Specifies the font tools and the display order of this tool in the RTE toolbar. + */ + font?: any[]; + + /** Specifies the formatStyle tools and the display order of this tool in the RTE toolbar. + */ + formatStyle?: any[]; + + /** Specifies the image tools and the display order of this tool in the RTE toolbar. + */ + images?: any[]; + + /** Specifies the indent tools and the display order of this tool in the RTE toolbar. + */ + indenting?: any[]; + + /** Specifies the link tools and the display order of this tool in the RTE toolbar. + */ + links?: any[]; + + /** Specifies the list tools and the display order of this tool in the RTE toolbar. + */ + lists?: any[]; + + /** Specifies the media tools and the display order of this tool in the RTE toolbar. + */ + media?: any[]; + + /** Specifies the style tools and the display order of this tool in the RTE toolbar. + */ + style?: any[]; + + /** Specifies the table tools and the display order of this tool in the RTE toolbar. + */ + tables?: any[]; + + /** Specifies the view tools and the display order of this tool in the RTE toolbar. + */ + view?: any[]; + + /** Specifies the print tools and the display order of this tool in the RTE toolbar. + */ + print?: any[]; + + /** Specifies the importExport tools and the display order of this tool in the RTE toolbar. + */ + importExport?: any[]; + + /** Specifies the customOrderedList tools and the display order of this tool in the RTE toolbar. + */ + customOrderedList?: ToolsCustomOrderedList[]; + + /** Specifies the customUnOrderedList tools and the display order of this tool in the RTE toolbar. + */ + customUnorderedList?: ToolsCustomUnorderedList[]; + } + } + + class Slider extends ej.Widget { + static fn: Slider; + constructor(element: JQuery | Element, options?: Slider.Model); + static Locale: any; + model: Slider.Model; + defaults: Slider.Model; + + /** To disable the slider + * @returns {void} + */ + disable(): void; + + /** To enable the slider + * @returns {void} + */ + enable(): void; + + /** To get value from slider handle + * @returns {number} + */ + getValue(): number; + + /** To set value to slider handle.By default animation is false while set the value. If you want to enable the animation, pass the enableAnimation as true to this method. + * @returns {void} + */ + setValue(): void; + } + export namespace Slider { + + export interface Model { + + /** Specifies the allowMouseWheel of the slider. + * @Default {false} + */ + allowMouseWheel?: boolean; + + /** Specifies the animationSpeed of the slider. + * @Default {500} + */ + animationSpeed?: number; + + /** Specify the CSS class to slider to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the animation behavior of the slider. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the state of the slider. + * @Default {true} + */ + enabled?: boolean; + + /** Specify the enablePersistence to slider to save current model value to browser cookies for state maintains + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specifies the Right to Left Direction of the slider. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the height of the slider. + * @Default {14} + */ + height?: string; + + /** Specifies the HTML Attributes of the ejSlider. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the incremental step value of the slider. + * @Default {1} + */ + incrementStep?: number; + + /** Specifies the distance between two major (large) ticks from the scale of the slider. + * @Default {10} + */ + largeStep?: number; + + /** Specifies the ending value of the slider. + * @Default {100} + */ + maxValue?: number; + + /** Specifies the starting value of the slider. + * @Default {0} + */ + minValue?: number; + + /** Specifies the orientation of the slider. + * @Default {ej.orientation.Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Specifies the readOnly of the slider. + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies the rounded corner behavior for slider. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Shows/Hide the major (large) and minor (small) ticks in the scale of the slider. + * @Default {false} + */ + showScale?: boolean; + + /** Specifies the small ticks from the scale of the slider. + * @Default {true} + */ + showSmallTicks?: boolean; + + /** Specifies the showTooltip to shows the current Slider value, while moving the Slider handle or clicking on the slider handle of the slider. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the sliderType of the slider. + * @Default {ej.SliderType.Default} + */ + sliderType?: ej.slider.sliderType | string; + + /** Specifies the distance between two minor (small) ticks from the scale of the slider. + * @Default {1} + */ + smallStep?: number; + + /** Specifies the value of the slider. But it's not applicable for range slider. To range slider we can use values property. + * @Default {0} + */ + value?: number; + + /** Specifies the values of the range slider. But it's not applicable for default and minRange sliders. we can use value property for default and minRange sliders. + * @Default {[minValue,maxValue]} + */ + values?: any[]; + + /** Specifies the width of the slider. + * @Default {100%} + */ + width?: string; + + /** Fires once Slider control value is changed successfully. */ + change?(e: ChangeEventArgs): void; + + /** Fires once Slider control has been created successfully. */ + create?(e: CreateEventArgs): void; + + /** Fires when Slider control has been destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires once Slider control is sliding successfully. */ + slide?(e: SlideEventArgs): void; + + /** Fires once Slider control is started successfully. */ + start?(e: StartEventArgs): void; + + /** Fires when Slider control is stopped successfully. */ + stop?(e: StopEventArgs): void; + + /** Fires when display the custom tooltip */ + tooltipChange?(e: TooltipChangeEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id. + */ + id?: string; + + /** returns the slider model. + */ + model?: ej.Slider.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns the slider value. + */ + value?: number; + + /** returns true if event triggered by interaction else returns false. + */ + isInteraction?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface SlideEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; + } + + export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; + } + + export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns current handle number or index + */ + sliderIndex?: number; + + /** returns slider id + */ + id?: string; + + /** returns the slider model + */ + model?: ej.Slider.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the slider value + */ + value?: number; + } + + export interface TooltipChangeEventArgs { + /** Returns the cancel option value. + */ + cancel?: boolean; + } + } + namespace slider { + enum sliderType { + //Shows default slider + Default, + //Shows minRange slider + MinRange, + //Shows Range slider + Range, + } + } + + class SplitButton extends ej.Widget { + static fn: SplitButton; + constructor(element: JQuery | Element, options?: SplitButton.Model); + static Locale: any; + model: SplitButton.Model; + defaults: SplitButton.Model; + + /** Destroy the split button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To disable the split button + * @returns {void} + */ + disable(): void; + + /** To Enable the split button + * @returns {void} + */ + enable(): void; + + /** To hide the list content of the split button. + * @returns {void} + */ + hide(): void; + + /** To show the list content of the split button. + * @returns {void} + */ + show(): void; + } + export namespace SplitButton { + + export interface Model { + + /** Specifies the arrowPosition of the Split or Dropdown Button.See arrowPosition + * @Default {ej.ArrowPosition.Right} + */ + arrowPosition?: string | ej.ArrowPosition; + + /** Specifies the buttonMode like Split or Dropdown Button.See ButtonMode + * @Default {ej.ButtonMode.Split} + */ + buttonMode?: string | ej.ButtonMode; + + /** Specifies the contentType of the Split Button.See ContentType + * @Default {ej.ContentType.TextOnly} + */ + contentType?: string | ej.ContentType; + + /** Set the root class for Split Button control theme + */ + cssClass?: string; + + /** Specifies the disabling of Split Button if enabled is set to false. + * @Default {true} + */ + enabled?: boolean; + + /** Specifies the enableRTL property for Split Button while initialization. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the height of the Split Button. + * @Default {“”} + */ + height?: string | number; + + /** Specifies the HTML Attributes of the Split Button. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the imagePosition of the Split Button.See imagePositions + * @Default {ej.ImagePosition.ImageRight} + */ + imagePosition?: string | ej.ImagePosition; + + /** Specifies the image content for Split Button while initialization. + */ + prefixIcon?: string; + + /** Specifies the showRoundedCorner property for Split Button while initialization. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the Button. See ButtonSize + * @Default {ej.ButtonSize.Normal} + */ + size?: string | ej.ButtonSize; + + /** Specifies the image content for Split Button while initialization. + */ + suffixIcon?: string; + + /** Specifies the list content for Split Button while initialization + */ + targetID?: string; + + /** Specifies the text content for Split Button while initialization. + */ + text?: string; + + /** Specifies the width of the Split Button. + * @Default {“”} + */ + width?: string | number; + + /** Fires before menu of the split button control is opened. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Fires when Button control is clicked successfully */ + click?(e: ClickEventArgs): void; + + /** Fires before the list content of Button control is closed */ + close?(e: CloseEventArgs): void; + + /** Fires after Split Button control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires when the Split Button is destroyed successfully */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when a menu item is Hovered out successfully */ + itemMouseOut?(e: ItemMouseOutEventArgs): void; + + /** Fires when a menu item is Hovered in successfully */ + itemMouseOver?(e: ItemMouseOverEventArgs): void; + + /** Fires when a menu item is clicked successfully */ + itemSelected?(e: ItemSelectedEventArgs): void; + + /** Fires before the list content of Button control is opened */ + open?(e: OpenEventArgs): void; + } + + export interface BeforeOpenEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface ClickEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** return the button state + */ + status?: boolean; + } + + export interface CloseEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface CreateEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface ItemMouseOutEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** return the menu item id + */ + ID?: string; + + /** return the clicked menu item text + */ + Text?: string; + } + + export interface ItemMouseOverEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** return the menu item id + */ + ID?: string; + + /** return the clicked menu item text + */ + Text?: string; + } + + export interface ItemSelectedEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the clicked menu item element + */ + element?: any; + + /** returns the selected item + */ + selectedItem?: any; + + /** return the menu id + */ + menuId?: string; + + /** return the clicked menu item text + */ + menuText?: string; + } + + export interface OpenEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the split button model + */ + model?: ej.SplitButton.Model; + + /** returns the name of the event + */ + type?: string; + } + } + enum ArrowPosition { + //To set Left arrowPosition of the split button + Left, + //To set Right arrowPosition of the split button + Right, + //To set Top arrowPosition of the split button + Top, + //To set Bottom arrowPosition of the split button + Bottom, + } + + class Splitter extends ej.Widget { + static fn: Splitter; + constructor(element: JQuery | Element, options?: Splitter.Model); + static Locale: any; + model: Splitter.Model; + defaults: Splitter.Model; + + /** To add a new pane to splitter control. + * @param {string} content of pane. + * @param {any} pane properties. + * @param {number} index of pane. + * @returns {HTMLElement} + */ + addItem(content: string, property: any, index: number): HTMLElement; + + /** To collapse the splitter control pane. + * @param {number} index number of pane. + * @returns {void} + */ + collapse(paneIndex: number): void; + + /** To expand the splitter control pane. + * @param {number} index number of pane. + * @returns {void} + */ + expand(paneIndex: number): void; + + /** To refresh the splitter control pane resizing. + * @returns {void} + */ + refresh(): void; + + /** To remove a specified pane from the splitter control. + * @param {number} index of pane. + * @returns {void} + */ + removeItem(index: number): void; + } + export namespace Splitter { + + export interface Model { + + /** Turns on keyboard interaction with the Splitter panes. You must set this property to true to access the keyboard shortcuts of ejSplitter. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specify animation speed for the Splitter pane movement, while collapsing and expanding. + * @Default {300} + */ + animationSpeed?: number; + + /** Specify the CSS class to splitter control to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Specifies the animation behavior of the splitter. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Specifies the splitter control to be displayed in right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specify height for splitter control. + * @Default {null} + */ + height?: string; + + /** Specifies the HTML Attributes of the Splitter. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specify window resizing behavior for splitter control. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specify the orientation for splitter control. See orientation + * @Default {ej.orientation.Horizontal or “horizontal”} + */ + orientation?: ej.Orientation | string; + + /** Specify properties for each pane like paneSize, minSize, maxSize, collapsible, expandable, resizable. + * @Default {[]} + */ + properties?: any[]; + + /** Specify width for splitter control. + * @Default {null} + */ + width?: string; + + /** Fires before expanding / collapsing the split pane of splitter control. */ + beforeExpandCollapse?(e: BeforeExpandCollapseEventArgs): void; + + /** Fires when splitter control pane has been created. */ + create?(e: CreateEventArgs): void; + + /** Fires when splitter control pane has been destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when expand / collapse operation in splitter control pane has been performed successfully. */ + expandCollapse?(e: ExpandCollapseEventArgs): void; + + /** Fires when resize in splitter control pane. */ + resize?(e: ResizeEventArgs): void; + } + + export interface BeforeExpandCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns collapsed pane details. + */ + collapsed?: any; + + /** returns expanded pane details. + */ + expanded?: any; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the current split bar index. + */ + splitbarIndex?: number; + + /** returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ExpandCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns collapsed pane details. + */ + collapsed?: any; + + /** returns expanded pane details. + */ + expanded?: any; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the current split bar index. + */ + splitbarIndex?: number; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ResizeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns previous pane details. + */ + prevPane?: any; + + /** returns next pane details. + */ + nextPane?: any; + + /** returns the splitter model. + */ + model?: ej.Splitter.Model; + + /** returns the current split bar index. + */ + splitbarIndex?: number; + + /** returns the name of the event. + */ + type?: string; + } + } + + class Tab extends ej.Widget { + static fn: Tab; + constructor(element: JQuery | Element, options?: Tab.Model); + static Locale: any; + model: Tab.Model; + defaults: Tab.Model; + + /** Add new tab items with given name, URL and given index position, if index null it’s add last item. + * @param {string} URL name / tab id. + * @param {string} Tab Display name. + * @param {number} Index position to placed , this is optional. + * @param {string} specifies cssClass, this is optional. + * @param {string} specifies id of tab, this is optional. + * @returns {void} + */ + addItem(URL: string, displayLabel: string, index: number, cssClass: string, id: string): void; + + /** To disable the tab control. + * @returns {void} + */ + disable(): void; + + /** To enable the tab control. + * @returns {void} + */ + enable(): void; + + /** This function get the number of tab rendered + * @returns {number} + */ + getItemsCount(): number; + + /** This function hides the tab control. + * @returns {void} + */ + hide(): void; + + /** This function hides the specified item tab in tab control. + * @param {number} index of tab item. + * @returns {void} + */ + hideItem(index: number): void; + + /** Remove the given index tab item. + * @param {number} index of tab item. + * @returns {void} + */ + removeItem(index: number): void; + + /** This function is to show the tab control. + * @returns {void} + */ + show(): void; + + /** This function helps to show the specified hidden tab item in tab control. + * @param {number} index of tab item. + * @returns {void} + */ + showItem(index: number): void; + } + export namespace Tab { + + export interface Model { + + /** Specifies the ajaxSettings option to load the content to the Tab control. + */ + ajaxSettings?: AjaxSettings; + + /** Tab items interaction with keyboard keys, like headers active navigation. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Allow to collapsing the active item, while click on the active header. + * @Default {false} + */ + collapsible?: boolean; + + /** Set the root class for Tab theme. This cssClass API helps to use custom skinning option for Tab control. + */ + cssClass?: string; + + /** Disables the given tab headers and content panels. + * @Default {[]} + */ + disabledItemIndex?: number[]; + + /** Specifies the animation behavior of the tab. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the tab control. + * @Default {true} + */ + enabled?: boolean; + + /** Enables the given tab headers and content panels. + * @Default {[]} + */ + enabledItemIndex?: number[]; + + /** Save current model value to browser cookies for state maintains. While refresh the Tab control page the model value apply from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Display Right to Left direction for headers and panels text of tab. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specify to enable scrolling for Tab header. + * @Default {false} + */ + enableTabScroll?: boolean; + + /** The event API to bind the action for active the tab items. + * @Default {click} + */ + events?: string; + + /** Specifies the position of Tab header as top, bottom, left or right. See below to get available Position + * @Default {top} + */ + headerPosition?: string | ej.Tab.Position; + + /** Set the height of the tab header element. Default this property value is null, so height take content height. + * @Default {null} + */ + headerSize?: string | number; + + /** Height set the outer panel element. Default this property value is null, so height take content height. + * @Default {null} + */ + height?: string | number; + + /** Adjust the content panel height for given option (content, auto and fill), by default panels height adjust based on the content.See below to get available HeightAdjustMode + * @Default {content} + */ + heightAdjustMode?: string | ej.Tab.HeightAdjustMode; + + /** Specifies to hide a pane of Tab control. + * @Default {[]} + */ + hiddenItemIndex?: any[]; + + /** Specifies the HTML Attributes of the Tab. + * @Default {{}} + */ + htmlAttributes?: any; + + /** The idPrefix property appends the given string on the added tab item id’s in runtime. + * @Default {ej-tab-} + */ + idPrefix?: string; + + /** Specifies the Tab header in active for given index value. + * @Default {0} + */ + selectedItemIndex?: number; + + /** Display the close button for each tab items. While clicking on the close icon, particular tab item will be removed. + * @Default {false} + */ + showCloseButton?: boolean; + + /** Display the Reload button for each tab items. + * @Default {false} + */ + showReloadIcon?: boolean; + + /** Tab panels and headers to be displayed in rounded corner style. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Set the width for outer panel element, if not it’s take parent width. + * @Default {null} + */ + width?: string | number; + + /** Triggered after a tab item activated. */ + itemActive?(e: ItemActiveEventArgs): void; + + /** Triggered before AJAX content has been loaded. */ + ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; + + /** Triggered if error occurs in AJAX request. */ + ajaxError?(e: AjaxErrorEventArgs): void; + + /** Triggered after AJAX content load action. */ + ajaxLoad?(e: AjaxLoadEventArgs): void; + + /** Triggered after a tab item activated. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; + + /** Triggered before a tab item activated. */ + beforeActive?(e: BeforeActiveEventArgs): void; + + /** Triggered before a tab item remove. */ + beforeItemRemove?(e: BeforeItemRemoveEventArgs): void; + + /** Triggered before a tab item Create. */ + create?(e: CreateEventArgs): void; + + /** Triggered before a tab item destroy. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggered after new tab item add */ + itemAdd?(e: ItemAddEventArgs): void; + + /** Triggered after tab item removed. */ + itemRemove?(e: ItemRemoveEventArgs): void; + } + + export interface ItemActiveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } + + export interface AjaxBeforeLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns the URL of AJAX request + */ + URL?: string; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } + + export interface AjaxErrorEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns AJAX data details. + */ + data?: any; + + /** returns the URL of AJAX request. + */ + URL?: string; + } + + export interface AjaxLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns the URL of AJAX request + */ + URL?: string; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } + + export interface AjaxSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** return AJAX data. + */ + data?: any; + + /** returns AJAX URL + */ + URL?: string; + + /** returns content of AJAX request. + */ + content?: any; + } + + export interface BeforeActiveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns previous active tab header. + */ + prevActiveHeader?: HTMLElement; + + /** returns previous active index. + */ + prevActiveIndex?: number; + + /** returns current active tab header . + */ + activeHeader?: HTMLElement; + + /** returns current active index. + */ + activeIndex?: number; + + /** returns, is it triggered by interaction or not. + */ + isInteraction?: boolean; + } + + export interface BeforeItemRemoveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns current tab item index + */ + index?: number; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ItemAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns new added tab header. + */ + tabHeader?: HTMLElement; + + /** returns new added tab content panel. + */ + tabContent?: any; + } + + export interface ItemRemoveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tab model. + */ + model?: ej.Tab.Model; + + /** returns the name of the event. + */ + type?: string; + + /** returns removed tab header. + */ + removedTab?: HTMLElement; + } + + export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + * @Default {true} + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + * @Default {false} + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + * @Default {html} + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + * @Default {{}} + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + * @Default {html} + */ + dataType?: string; + + /** It specifies the HTTP request type. + * @Default {get} + */ + type?: string; + } + + enum Position { + + ///Tab headers display to top position + Top, + + ///Tab headers display to bottom position + Bottom, + + ///Tab headers display to left position. + Left, + + ///Tab headers display to right position. + Right + } + + + enum HeightAdjustMode { + + ///string + None, + + ///string + Content, + + ///string + Auto, + + ///string + Fill + } + + } + + class TagCloud extends ej.Widget { + static fn: TagCloud; + constructor(element: JQuery | Element, options?: TagCloud.Model); + static Locale: any; + model: TagCloud.Model; + defaults: TagCloud.Model; + + /** Inserts a new item into the TagCloud + * @param {string} Insert new item into the TagCloud + * @returns {void} + */ + insert(name: string): void; + + /** Inserts a new item into the TagCloud at a particular position. + * @param {string} Inserts a new item into the TagCloud + * @param {number} Inserts a new item into the TagCloud with the specified position + * @returns {void} + */ + insertAt(name: string, position: number): void; + + /** Removes the item from the TagCloud based on the name. It removes all the tags which have the corresponding name + * @param {string} name of the tag. + * @returns {void} + */ + remove(name: string): void; + + /** Removes the item from the TagCloud based on the position. It removes the tags from the the corresponding position only. + * @param {number} position of tag item. + * @returns {void} + */ + removeAt(position: number): void; + } + export namespace TagCloud { + + export interface Model { + + /** Specify the CSS class to button to achieve custom theme. + */ + cssClass?: string; + + /** The dataSource contains the list of data to display in a cloud format. Each data contains a link URL, frequency to categorize the font size and a display text. + * @Default {null} + */ + dataSource?: any; + + /** Sets the TagCloud and tag items direction as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** Defines the mapping fields for the data items of the TagCloud. + * @Default {null} + */ + fields?: Fields; + + /** Specifies the list of HTML attributes to be added to TagCloud control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Defines the format for the TagCloud to display the tag items.See Format + * @Default {ej.Format.Cloud} + */ + format?: string | ej.Format; + + /** Sets the maximum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. + * @Default {40px} + */ + maxFontSize?: string | number; + + /** Sets the minimum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. + * @Default {10px} + */ + minFontSize?: string | number; + + /** Define the query to retrieve the data from online server. The query is used only when the online dataSource is used. + * @Default {null} + */ + query?: any; + + /** Shows or hides the TagCloud title. When this set to false, it hides the TagCloud header. + * @Default {true} + */ + showTitle?: boolean; + + /** Sets the title image for the TagCloud. To show the title image, the showTitle property should be enabled. + * @Default {null} + */ + titleImage?: string; + + /** Sets the title text for the TagCloud. To show the title text, the showTitle property should be enabled. + * @Default {Title} + */ + titleText?: string; + + /** Event triggers when the TagCloud items are clicked */ + click?(e: ClickEventArgs): void; + + /** Event triggers when the TagCloud are created */ + create?(e: CreateEventArgs): void; + + /** Event triggers when the TagCloud are destroyed */ + destroy?(e: DestroyEventArgs): void; + + /** Event triggers when the cursor leaves out from a tag item */ + mouseout?(e: MouseoutEventArgs): void; + + /** Event triggers when the cursor hovers on a tag item */ + mouseover?(e: MouseoverEventArgs): void; + } + + export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface MouseoutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; + } + + export interface MouseoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TagCloud model + */ + model?: ej.TagCloud.Model; + + /** returns the name of the event + */ + type?: string; + + /** return current tag name + */ + text?: string; + + /** return current URL link + */ + URL?: string; + } + + export interface Fields { + + /** Defines the frequency column number to categorize the font size. + */ + frequency?: string; + + /** Defines the HTML attributes column for the anchor elements inside the each tag items. + */ + htmlAttributes?: string; + + /** Defines the tag value or display text. + */ + text?: string; + + /** Defines the URL link to navigate while click the tag. + */ + url?: string; + } + } + enum Format { + //To render the TagCloud items in cloud format + Cloud, + //To render the TagCloud items in list format + List, + } + + class TimePicker extends ej.Widget { + static fn: TimePicker; + constructor(element: JQuery | Element, options?: TimePicker.Model); + static Locale: any; + model: TimePicker.Model; + defaults: TimePicker.Model; + + /** Allows you to disable the TimePicker. + * @returns {void} + */ + disable(): void; + + /** Allows you to enable the TimePicker. + * @returns {void} + */ + enable(): void; + + /** It returns the current time value. + * @returns {string} + */ + getValue(): string; + + /** This method will hide the TimePicker control popup. + * @returns {void} + */ + hide(): void; + + /** Updates the current system time in TimePicker. + * @returns {void} + */ + setCurrentTime(): void; + + /** This method will show the TimePicker control popup. + * @returns {void} + */ + show(): void; + } + export namespace TimePicker { + + export interface Model { + + /** Sets the root CSS class for the TimePicker theme, which is used to customize. + */ + cssClass?: string; + + /** Specifies the list of time range to be disabled. + * @Default {{}} + */ + disableTimeRanges?: any; + + /** Specifies the animation behavior in TimePicker. + * @Default {true} + */ + enableAnimation?: boolean; + + /** When this property is set to false, it disables the TimePicker control. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the TimePicker control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Displays the TimePicker as right to left alignment. + * @Default {false} + */ + enableRTL?: boolean; + + /** When the enableStrictMode is set as true it allows the value outside of the range and also indicate with red color border, + * otherwise it internally changed to the min or max range value based an input value. + * @Default {false} + */ + enableStrictMode?: boolean; + + /** Defines the height of the TimePicker textbox. + */ + height?: string | number; + + /** Sets the step value for increment an hour value through arrow keys or mouse scroll. + * @Default {1} + */ + hourInterval?: number; + + /** It allows to define the characteristics of the TimePicker control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Sets the time interval between the two adjacent time values in the popup. + * @Default {30} + */ + interval?: number; + + /** Defines the localization info used by the TimePicker. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum time value to the TimePicker. + * @Default {11:59:59 PM} + */ + maxTime?: string; + + /** Sets the minimum time value to the TimePicker. + * @Default {12:00:00 AM} + */ + minTime?: string; + + /** Sets the step value for increment the minute value through arrow keys or mouse scroll. + * @Default {1} + */ + minutesInterval?: number; + + /** Defines the height of the TimePicker popup. + * @Default {191px} + */ + popupHeight?: string | number; + + /** Defines the width of the TimePicker popup. + * @Default {auto} + */ + popupWidth?: string | number; + + /** Toggles the readonly state of the TimePicker + * @Default {false} + */ + readOnly?: boolean; + + /** Sets the step value for increment the seconds value through arrow keys or mouse scroll. + * @Default {1} + */ + secondsInterval?: number; + + /** shows or hides the drop down button in TimePicker. + * @Default {true} + */ + showPopupButton?: boolean; + + /** TimePicker is displayed with rounded corner when this property is set to true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Defines the time format displayed in the TimePicker. + * @Default {h:mm tt} + */ + timeFormat?: string; + + /** Sets a specified time value on the TimePicker. + * @Default {null} + */ + value?: string | Date; + + /** Defines the width of the TimePicker textbox. + */ + width?: string | number; + + /** Fires when the time value changed in the TimePicker. */ + beforeChange?(e: BeforeChangeEventArgs): void; + + /** Fires when the TimePicker popup before opened. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Fires when the time value changed in the TimePicker. */ + change?(e: ChangeEventArgs): void; + + /** Fires when the TimePicker popup closed. */ + close?(e: CloseEventArgs): void; + + /** Fires when create TimePicker successfully. */ + create?(e: CreateEventArgs): void; + + /** Fires when the TimePicker is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when the TimePicker control gets focus. */ + focusIn?(e: FocusInEventArgs): void; + + /** Fires when the TimePicker control get lost focus. */ + focusOut?(e: FocusOutEventArgs): void; + + /** Fires when the TimePicker popup opened. */ + open?(e: OpenEventArgs): void; + + /** Fires when the value is selected from the TimePicker dropdown list. */ + select?(e: SelectEventArgs): void; + } + + export interface BeforeChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the modified time value + */ + value?: string; + } + + export interface BeforeOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the time value + */ + value?: string; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns true when the value changed by user interaction otherwise returns false + */ + isInteraction?: boolean; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the modified time value + */ + value?: string; + } + + export interface CloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the time value + */ + value?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface FocusInEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the current time value + */ + value?: string; + } + + export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the current time value + */ + value?: string; + } + + export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the time value + */ + value?: string; + } + + export interface SelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TimePicker model + */ + model?: ej.TimePicker.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the previously selected time value + */ + prevTime?: string; + + /** returns the selected time value + */ + value?: string; + } + } + + class ToggleButton extends ej.Widget { + static fn: ToggleButton; + constructor(element: JQuery | Element, options?: ToggleButton.Model); + static Locale: any; + model: ToggleButton.Model; + defaults: ToggleButton.Model; + + /** Allows you to destroy the ToggleButton widget. + * @returns {void} + */ + destroy(): void; + + /** To disable the ToggleButton to prevent all user interactions. + * @returns {void} + */ + disable(): void; + + /** To enable the ToggleButton. + * @returns {void} + */ + enable(): void; + } + export namespace ToggleButton { + + export interface Model { + + /** Specify the icon in active state to the toggle button and it will be aligned from left margin of the button. + */ + activePrefixIcon?: string; + + /** Specify the icon in active state to the toggle button and it will be aligned from right margin of the button. + */ + activeSuffixIcon?: string; + + /** Sets the text when ToggleButton is in active state i.e.,checked state. + * @Default {null} + */ + activeText?: string; + + /** Specifies the contentType of the ToggleButton. See ContentType as below + * @Default {ej.ContentType.TextOnly} + */ + contentType?: ej.ContentType | string; + + /** Specify the CSS class to the ToggleButton to achieve custom theme. + */ + cssClass?: string; + + /** Specify the icon in default state to the toggle button and it will be aligned from left margin of the button. + */ + defaultPrefixIcon?: string; + + /** Specify the icon in default state to the toggle button and it will be aligned from right margin of the button. + */ + defaultSuffixIcon?: string; + + /** Specifies the text of the ToggleButton, when the control is a default state. i.e., unChecked state. + * @Default {null} + */ + defaultText?: string; + + /** Specifies the state of the ToggleButton. + * @Default {true} + */ + enabled?: boolean; + + /** Save current model value to browser cookies for maintaining states. When refreshing the ToggleButton control page, the model value is applied from browser cookies or HTML 5local storage. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Specify the Right to Left direction of the ToggleButton. + * @Default {false} + */ + enableRTL?: boolean; + + /** Specifies the height of the ToggleButton. + * @Default {28pixel} + */ + height?: number | string; + + /** It allows to define the characteristics of the ToggleButton control. It will helps to extend the capability of an HTML element. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the image position of the ToggleButton. + * @Default {ej.ImagePosition.ImageLeft} + */ + imagePosition?: ej.ImagePosition | string; + + /** Allows to prevents the control switched to checked (active) state. + * @Default {false} + */ + preventToggle?: boolean; + + /** Displays the ToggleButton with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the ToggleButton. See ButtonSize as below + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize | string; + + /** It allows to define the ToggleButton state to checked(Active) or unchecked(Default) at initial time. + * @Default {false} + */ + toggleState?: boolean; + + /** Specifies the type of the ToggleButton. See ButtonType as below + * @Default {ej.ButtonType.Button} + */ + type?: ej.ButtonType | string; + + /** Specifies the width of the ToggleButton. + * @Default {100pixel} + */ + width?: number | string; + + /** Fires when ToggleButton control state is changed successfully. */ + change?(e: ChangeEventArgs): void; + + /** Fires when ToggleButton control is clicked successfully. */ + click?(e: ClickEventArgs): void; + + /** Fires when ToggleButton control is created successfully. */ + create?(e: CreateEventArgs): void; + + /** Fires when ToggleButton control is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + } + + export interface ChangeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** return the toggle button checked state + */ + isChecked?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** return the toggle button checked state + */ + isChecked?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** return the toggle button state + */ + status?: boolean; + + /** returns the name of the event + */ + type?: string; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the toggle button model + */ + model?: ej.ToggleButton.Model; + + /** returns the name of the event + */ + type?: string; + } + } + + class Toolbar extends ej.Widget { + static fn: Toolbar; + constructor(element: JQuery | Element, options?: Toolbar.Model); + static Locale: any; + model: Toolbar.Model; + defaults: Toolbar.Model; + + /** Deselect the specified Toolbar item. + * @param {any} The element need to be deselected + * @returns {void} + */ + deselectItem(element: any): void; + + /** Deselect the Toolbar item based on specified id. + * @param {string} The ID of the element need to be deselected + * @returns {void} + */ + deselectItemByID(ID: string): void; + + /** Allows you to destroy the Toolbar widget. + * @returns {void} + */ + destroy(): void; + + /** To disable all items in the Toolbar control. + * @returns {void} + */ + disable(): void; + + /** Disable the specified Toolbar item. + * @param {any} The element need to be disabled + * @returns {void} + */ + disableItem(element: any): void; + + /** Disable the Toolbar item based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be disabled + * @returns {void} + */ + disableItemByID(ID: string): void; + + /** Enable the Toolbar if it is in disabled state. + * @returns {void} + */ + enable(): void; + + /** Enable the Toolbar item based on specified item. + * @param {any} The element need to be enabled + * @returns {void} + */ + enableItem(element: any): void; + + /** Enable the Toolbar item based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be enabled + * @returns {void} + */ + enableItemByID(ID: string): void; + + /** To hide the Toolbar + * @returns {void} + */ + hide(): void; + + /** Remove the item from toolbar, based on specified item. + * @param {any} The element need to be removed + * @returns {void} + */ + removeItem(element: any): void; + + /** Remove the item from toolbar, based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be removed + * @returns {void} + */ + removeItemByID(ID: string): void; + + /** Selects the item from toolbar, based on specified item. + * @param {any} The element need to be selected + * @returns {void} + */ + selectItem(element: any): void; + + /** Selects the item from toolbar, based on specified item id in the Toolbar. + * @param {string} The ID of the element need to be selected + * @returns {void} + */ + selectItemByID(ID: string): void; + + /** To show the Toolbar. + * @returns {void} + */ + show(): void; + } + export namespace Toolbar { + + export interface Model { + + /** Sets the root CSS class for Toolbar control to achieve the custom theme. + */ + cssClass?: string; + + /** Specifies dataSource value for the Toolbar control during initialization. + * @Default {null} + */ + dataSource?: any; + + /** Disables an Item or set of Items that are enabled in the Toolbar + * @Default {[]} + */ + disabledItemIndices?: any[]; + + /** Specifies the Toolbar control state. + * @Default {true} + */ + enabled?: boolean; + + /** Enables an Item or set of Items that are disabled in the Toolbar + * @Default {[]} + */ + enabledItemIndices?: any[]; + + /** Specifies enableRTL property to align the Toolbar control from right to left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows to separate the each UL items in the Toolbar control. + * @Default {false} + */ + enableSeparator?: boolean; + + /** Specifies the mapping fields for the data items of the Toolbar + * @Default {null} + */ + fields?: string; + + /** Specifies the height of the Toolbar. + * @Default {28} + */ + height?: number | string; + + /** Specifies the list of HTML attributes to be added to toolbar control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies whether the Toolbar control is need to be show or hide. + * @Default {false} + */ + hide?: boolean; + + /** Enables/Disables the responsive support for Toolbar items during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the items of Toolbar + * @Default {null} + */ + Items?: Items; + + /** Specifies the Toolbar orientation. See orientation + * @Default {Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Specifies the query to retrieve the data from the online server. The query is used only when the online dataSource is used. + * @Default {null} + */ + query?: any; + + /** Specifies the Toolbar responsive type. + * @Default {Popup} + */ + responsiveType?: ej.Toolbar.ResponsiveType | string; + + /** Displays the Toolbar with rounded corners. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the width of the Toolbar. + */ + width?: number | string; + + /** Fires after Toolbar control is clicked. */ + click?(e: ClickEventArgs): void; + + /** Fires after Toolbar control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires after Toolbar control is focused. */ + focusOut?(e: FocusOutEventArgs): void; + + /** Fires when the Toolbar is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires after Toolbar control item is hovered. */ + itemHover?(e: ItemHoverEventArgs): void; + + /** Fires after mouse leave from Toolbar control item. */ + itemLeave?(e: ItemLeaveEventArgs): void; + + /** Fires when the overflow popup of toolbar is opened. */ + overflowOpen?(e: OverflowOpenEventArgs): void; + + /** Fires when the overflow popup of toolbar is closed. */ + overflowClose?(e: OverflowCloseEventArgs): void; + } + + export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** returns the target of the current object. + */ + currentTarget?: any; + + /** return the Toolbar state + */ + status?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface FocusOutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface ItemHoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** returns the target of the current object. + */ + currentTarget?: any; + + /** return the Toolbar state + */ + status?: boolean; + } + + export interface ItemLeaveEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target of the current object. + */ + target?: any; + + /** returns the target of the current object. + */ + currentTarget?: any; + + /** return the Toolbar state + */ + status?: boolean; + } + + export interface OverflowOpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** Returns the current X position of the target . + */ + clientX?: number; + + /** Returns the current Y position of the target . + */ + clientY?: number; + + /** returns the target of the current object. + */ + currentTarget?: any; + } + + export interface OverflowCloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Toolbar model + */ + model?: ej.Toolbar.Model; + + /** returns the name of the event + */ + type?: string; + + /** Returns the current X position of the target . + */ + clientX?: number; + + /** Returns the current Y position of the target . + */ + clientY?: number; + + /** returns the target of the current object. + */ + currentTarget?: any; + } + + export interface Fields { + + /** Defines the group name for the item. + */ + group?: string; + + /** Defines the HTML attributes such as id, class, styles for the item to extend the capability. + */ + htmlAttributes?: any; + + /** Defines id for the tag. + */ + id?: string; + + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; + + /** Defines the imageURL for the image location. + */ + imageUrl?: string; + + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; + + /** Defines the text content for the tag. + */ + text?: string; + + /** Defines the tooltip text for the tag. + */ + tooltipText?: string; + + /** Allows you to add template as toolbar item + */ + template?: string; + } + + export interface Items { + + /** Defines the group name for the item. + */ + group?: string; + + /** Defines the HTML attributes such as id, class, styles for the item . + */ + htmlAttributes?: any; + + /** Defines id for the tag. + */ + id?: string; + + /** Defines the image attributes such as height, width, styles and so on. + */ + imageAttributes?: string; + + /** Defines the imageURL for the image location. + */ + imageUrl?: string; + + /** Defines the sprite CSS for the image tag. + */ + spriteCssClass?: string; + + /** Defines the text content for the tag. + */ + text?: string; + + /** Defines the tooltip text for the tag. + */ + tooltipText?: string; + + /** Allows to add template as toolbar item. + */ + template?: string; + } + + enum ResponsiveType { + + ///To display the toolbar overflow items as popup + Popup, + + ///To display the toolbar overflow items as inline toolbar + Inline + } + + } + + class TreeView extends ej.Widget { + static fn: TreeView; + constructor(element: JQuery | Element, options?: TreeView.Model); + static Locale: any; + model: TreeView.Model; + defaults: TreeView.Model; + + /** To add a Node or collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + addNode(newNodeText: string | any, target: string | any): void; + + /** To add a collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. + * @param {any|Array} New node details in JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + addNodes(collection: any | any[], target: string | any): void; + + /** To check all the nodes in TreeView. + * @returns {void} + */ + checkAll(): void; + + /** To check a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + checkNode(element: string | any | any[]): void; + + /** This method is used to collapse all nodes in TreeView control. If you want to collapse all nodes up to the specific level in + * TreeView control then we need to pass levelUntil as argument to this method. + * @param {number} TreeView nodes will collapse until the given level + * @param {boolean} Weather exclude the hidden nodes of TreeView while collapse all nodes + * @returns {void} + */ + collapseAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; + + /** To collapse a particular node in TreeView. + * @param {string|any|Array} ID of TreeView node|object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + collapseNode(element: string | any | any[]): void; + + /** To disable the node in the TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + disableNode(element: string | any | any[]): void; + + /** To enable the node in the TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + enableNode(element: string | any | any[]): void; + + /** To ensure that the TreeView node is visible in the TreeView. This method is useful if we need select a TreeView node dynamically. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + ensureVisible(element: string | any): boolean; + + /** This method is used to expand all nodes in TreeView control. If you want to expand all nodes up to the specific level in TreeView control + * then we need to pass levelUntil as argument to this method. + * @param {number} TreeView nodes will expand until the given level + * @param {boolean} Weather exclude the hidden nodes of TreeView while expand all nodes + * @returns {void} + */ + expandAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; + + /** To expandNode particular node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + expandNode(element: string | any | any[]): void; + + /** To get currently checked nodes in TreeView. + * @returns {any} + */ + getCheckedNodes(): any; + + /** To get currently checked nodes indexes in TreeView. + * @returns {Array} + */ + getCheckedNodesIndex(): any[]; + + /** This method is used to get immediate child nodes of a node in TreeView control. If you want to get the all child nodes include nested + * child nodes then we need to pass includeNestedChild as true along with element arguments to this method. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {boolean} Weather include nested child nodes of TreeView node + * @returns {Array} + */ + getChildren(element: string | any, includeNestedChild?: boolean): any[]; + + /** To get number of nodes in TreeView. + * @returns {number} + */ + getNodeCount(): number; + + /** To get currently expanded nodes in TreeView. + * @returns {any} + */ + getExpandedNodes(): any; + + /** To get currently expanded nodes indexes in TreeView. + * @returns {Array} + */ + getExpandedNodesIndex(): any[]; + + /** To get TreeView node by using index position in TreeView. + * @param {number} Index position of TreeView node + * @returns {any} + */ + getNodeByIndex(index: number): any; + + /** To get TreeView node data such as id, text, parentId, selected, checked, expanded, level, childes and index. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {any} + */ + getNode(element: string | any): any; + + /** To get current index position of TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {number} + */ + getNodeIndex(element: string | any): number; + + /** To get immediate parent TreeView node of particular TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {any} + */ + getParent(element: string | any): any; + + /** To get the currently selected node in TreeView. + * @returns {any} + */ + getSelectedNode(): any; + + /** To get the currently selected nodes in TreeView. + * @returns {Array} + */ + getSelectedNodes(): any[]; + + /** To get the index position of currently selected node in TreeView. + * @returns {number} + */ + getSelectedNodeIndex(): number; + + /** To get the index positions of currently selected nodes in TreeView. + * @returns {Array} + */ + getSelectedNodesIndex(): any[]; + + /** To get the text of a node in TreeView. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {string} + */ + getText(element: string | any): string; + + /** To get the updated datasource of TreeView after performing some operation like drag and drop, node editing, adding and removing node. + * @param {string|number} ID of TreeView node + * @returns {Array} + */ + getTreeData(id?: string | number): any[]; + + /** To get currently visible nodes in TreeView. + * @returns {any} + */ + getVisibleNodes(): any; + + /** To check a node having child or not. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + hasChildNode(element: string | any): boolean; + + /** To show nodes in TreeView. + * @returns {void} + */ + hide(): void; + + /** To hide particular node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + hideNode(element: string | any | any[]): void; + + /** To add a Node or collection of nodes after the particular TreeView node. + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + insertAfter(newNodeText: string | any, target: string | any): void; + + /** To add a Node or collection of nodes before the particular TreeView node. + * @param {string|any} New node text or JSON object + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + insertBefore(newNodeText: string | any, target: string | any): void; + + /** To check the given TreeView node is checked or unchecked. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isNodeChecked(element: string | any): boolean; + + /** To check whether the child nodes are loaded of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isChildLoaded(element: string | any): boolean; + + /** To check the given TreeView node is disabled or enabled. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isDisabled(element: string | any): boolean; + + /** To check the given node is exist in TreeView. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isExist(element: string | any): boolean; + + /** To get the expand status of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isExpanded(element: string | any): boolean; + + /** To get the select status of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isSelected(element: string | any): boolean; + + /** To get the visibility status of the given TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {boolean} + */ + isVisible(element: string | any): boolean; + + /** To load the TreeView nodes from the particular URL. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. + * @param {string} URL location, the data returned from the URL will be loaded in TreeView + * @param {string|any} ID of TreeView node/object of TreeView node + * @returns {void} + */ + loadData(URL: string, target: string | any): void; + + /** To move the TreeView node with in same TreeView. The new position of given TreeView node will be based on destination node and index position. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {number} New index position of given source node + * @returns {void} + */ + moveNode(sourceNode: string | any, destinationNode: string | any, index: number): void; + + /** To refresh the TreeView + * @returns {void} + */ + refresh(): void; + + /** To remove all the nodes in TreeView. + * @returns {void} + */ + removeAll(): void; + + /** To remove a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + removeNode(element: string | any | any[]): void; + + /** To select all the TreeView nodes when enable allowMultiSelection property. + * @returns {void} + */ + selectAll(): void; + + /** This method is used to select a node in TreeView control. If you want to select the collection of nodes in TreeView control then we need to enable allowMultiSelection property. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes + * @returns {void} + */ + selectNode(element: string | any | any[]): void; + + /** To show nodes in TreeView. + * @returns {void} + */ + show(): void; + + /** To show a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + showNode(element: string | any | any[]): void; + + /** To uncheck all the nodes in TreeView. + * @returns {void} + */ + unCheckAll(): void; + + /** To uncheck a node in TreeView. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes + * @returns {void} + */ + uncheckNode(element: string | any | any[]): void; + + /** To unselect all the TreeView nodes when enable allowMultiSelection property. + * @returns {void} + */ + unselectAll(): void; + + /** This method is used to unselect a node in TreeView control. If you want to unselect the collection of nodes in TreeView control then we need to enable allowMultiSelection property. + * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes + * @returns {void} + */ + unselectNode(element: string | any | any[]): void; + + /** To edit or update the text of the TreeView node. + * @param {string|any} ID of TreeView node/object of TreeView node + * @param {string} New text + * @returns {void} + */ + updateText(target: string | any, newText: string): void; + } + export namespace TreeView { + + export interface Model { + + /** Gets or sets a value that indicates whether to enable drag and drop a node within the same tree. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable drag and drop a node in inter ej.TreeView. + * @Default {true} + */ + allowDragAndDropAcrossControl?: boolean; + + /** Gets or sets a value that indicates whether to drop a node to a sibling of particular node. + * @Default {true} + */ + allowDropSibling?: boolean; + + /** Gets or sets a value that indicates whether to drop a node to a child of particular node. + * @Default {true} + */ + allowDropChild?: boolean; + + /** Gets or sets a value that indicates whether to enable node editing support for TreeView. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for TreeView actions like nodeSelection, nodeEditing, nodeExpand, nodeCollapse, nodeCut and Paste. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable multi selection support for TreeView. + * @Default {false} + */ + allowMultiSelection?: boolean; + + /** Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node. + * @Default {true} + */ + autoCheck?: boolean; + + /** Allow us to specify the parent node to be retain in checked or unchecked state instead of going for indeterminate state. + * @Default {false} + */ + autoCheckParentNode?: boolean; + + /** Gets or sets a value that indicates the checkedNodes index collection as an array. The given array index position denotes the nodes, that are checked while rendering TreeView. + * @Default {[]} + */ + checkedNodes?: any[]; + + /** Sets the root CSS class for TreeView which allow us to customize the appearance. + */ + cssClass?: string; + + /** Gets or sets a value that indicates whether to enable or disable the animation effect while expanding or collapsing a node. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Gets or sets a value that indicates whether a TreeView can be enabled or disabled. No actions can be performed while this property is set as false + * @Default {true} + */ + enabled?: boolean; + + /** Allow us to prevent multiple nodes to be in expanded state. If it set to false, previously expanded node will be collapsed automatically, while we expand a node. + * @Default {true} + */ + enableMultipleExpand?: boolean; + + /** Sets a value that indicates whether to persist the TreeView model state in page using applicable medium i.e., HTML5 localStorage or cookies + * @Default {false} + */ + enablePersistence?: boolean; + + /** Gets or sets a value that indicates to align content in the TreeView control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** Gets or sets a array of value that indicates the expandedNodes index collection as an array. The given array index position denotes the nodes, that are expanded while rendering TreeView. + * @Default {[]} + */ + expandedNodes?: any[]; + + /** Gets or sets a value that indicates the TreeView node can be expand or collapse by using the specified action. + * @Default {dblclick} + */ + expandOn?: string; + + /** Gets or sets a fields object that allow us to map the data members with field properties in order to make the data binding easier. + * @Default {null} + */ + fields?: Fields; + + /** Gets or sets a value that indicates whether to enable full row selection support for TreeView. + * @Default {false} + */ + fullRowSelect?: boolean; + + /** Defines the height of the TreeView. + * @Default {Null} + */ + height?: string | number; + + /** Specifies the HTML Attributes for the TreeView. Using this API we can add custom attributes in TreeView control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specifies the child nodes to be loaded on demand + * @Default {false} + */ + loadOnDemand?: boolean; + + /** Gets or Sets a value that indicates the index position of a tree node. The particular index tree node will be selected while rendering the TreeView. + * @Default {-1} + */ + selectedNode?: number; + + /** Gets or sets a value that indicates the selectedNodes index collection as an array. The given array index position denotes the nodes, that are selected while rendering TreeView. + * @Default {[]} + */ + selectedNodes?: any[]; + + /** Gets or sets a value that indicates whether to display or hide checkbox for all TreeView nodes. + * @Default {false} + */ + showCheckbox?: boolean; + + /** By using sortSettings property, you can customize the sorting option in TreeView control. + */ + sortSettings?: SortSettings; + + /** Allow us to use custom template in order to create TreeView. + * @Default {null} + */ + template?: string; + + /** Defines the width of the TreeView. + * @Default {Null} + */ + width?: string | number; + + /** Fires before adding node to TreeView. */ + beforeAdd?(e: BeforeAddEventArgs): void; + + /** Fires before collapse a node. */ + beforeCollapse?(e: BeforeCollapseEventArgs): void; + + /** Fires before cut node in TreeView. */ + beforeCut?(e: BeforeCutEventArgs): void; + + /** Fires before deleting node in TreeView. */ + beforeDelete?(e: BeforeDeleteEventArgs): void; + + /** Fires before editing the node in TreeView. */ + beforeEdit?(e: BeforeEditEventArgs): void; + + /** Fires before expanding the node. */ + beforeExpand?(e: BeforeExpandEventArgs): void; + + /** Fires before loading nodes to TreeView. */ + beforeLoad?(e: BeforeLoadEventArgs): void; + + /** Fires before paste node in TreeView. */ + beforePaste?(e: BeforePasteEventArgs): void; + + /** Fires before selecting node in TreeView. */ + beforeSelect?(e: BeforeSelectEventArgs): void; + + /** Fires when TreeView created successfully. */ + create?(e: CreateEventArgs): void; + + /** Fires when TreeView destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires before nodeEdit Successful. */ + inlineEditValidation?(e: InlineEditValidationEventArgs): void; + + /** Fires when key pressed successfully. */ + keyPress?(e: KeyPressEventArgs): void; + + /** Fires when data load fails. */ + loadError?(e: LoadErrorEventArgs): void; + + /** Fires when data loaded successfully. */ + loadSuccess?(e: LoadSuccessEventArgs): void; + + /** Fires once node added successfully. */ + nodeAdd?(e: NodeAddEventArgs): void; + + /** Fires once node checked successfully. */ + nodeCheck?(e: NodeCheckEventArgs): void; + + /** Fires when node clicked successfully. */ + nodeClick?(e: NodeClickEventArgs): void; + + /** Fires when node collapsed successfully. */ + nodeCollapse?(e: NodeCollapseEventArgs): void; + + /** Fires when node cut successfully. */ + nodeCut?(e: NodeCutEventArgs): void; + + /** Fires when node deleted successfully. */ + nodeDelete?(e: NodeDeleteEventArgs): void; + + /** Fires when node dragging. */ + nodeDrag?(e: NodeDragEventArgs): void; + + /** Fires once node drag start successfully. */ + nodeDragStart?(e: NodeDragStartEventArgs): void; + + /** Fires before the dragged node to be dropped. */ + nodeDragStop?(e: NodeDragStopEventArgs): void; + + /** Fires once node dropped successfully. */ + nodeDropped?(e: NodeDroppedEventArgs): void; + + /** Fires once node edited successfully. */ + nodeEdit?(e: NodeEditEventArgs): void; + + /** Fires once node expanded successfully. */ + nodeExpand?(e: NodeExpandEventArgs): void; + + /** Fires once node pasted successfully. */ + nodePaste?(e: NodePasteEventArgs): void; + + /** Fires when node selected successfully. */ + nodeSelect?(e: NodeSelectEventArgs): void; + + /** Fires once node unchecked successfully. */ + nodeUncheck?(e: NodeUncheckEventArgs): void; + + /** Fires once node unselected successfully. */ + nodeUnselect?(e: NodeUnselectEventArgs): void; + + /** Fires when TreeView nodes are loaded successfully */ + ready?(e: ReadyEventArgs): void; + } + + export interface BeforeAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the given new node data + */ + data?: string | any; + + /** returns the parent element, the given new nodes to be appended to the given parent element + */ + targetParent?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + } + + export interface BeforeCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the child nodes are loaded or not + */ + isChildLoaded?: boolean; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface BeforeCutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be cut + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface BeforeDeleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be deleted + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the current parent element of the target node + */ + parentElement?: any; + + /** returns the parent node values + */ + parentDetails?: any; + + /** returns the currently removed nodes + */ + removedNodes?: any[]; + } + + export interface BeforeEditEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + } + + export interface BeforeExpandEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** if the child node is ready to expanded state; otherwise, false. + */ + isChildLoaded?: boolean; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface BeforeLoadEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the AJAX settings object + */ + AjaxOptions?: any; + } + + export interface BeforePasteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be pasted + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface BeforeSelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the target element, the given node to be selected + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface InlineEditValidationEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the new entered text for the node + */ + newText?: string; + + /** returns the current node element id + */ + id?: any; + + /** returns the old node text + */ + oldText?: string; + } + + export interface KeyPressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns node path from root element + */ + path?: string; + + /** returns the key pressed key code value + */ + keyCode?: number; + + /** it returns when the current node is in expanded state; otherwise, false. + */ + isExpanded?: boolean; + + /** returns the id of current TreeView node + */ + id?: string; + + /** returns the parentId of current TreeView node + */ + parentId?: string; + } + + export interface LoadErrorEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the AJAX error object + */ + error?: any; + } + + export interface LoadSuccessEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the success data from the URL + */ + data?: any; + + /** returns the target parent element, the data returned from the URL to be appended to the given parent element, else in TreeView + */ + targetParent?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + } + + export interface NodeAddEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the added data, that are given initially + */ + data?: any; + + /** returns the newly added elements + */ + nodes?: any; + + /** returns the target parent element of the added element + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + } + + export interface NodeCheckEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns the id of the current element of the node clicked + */ + id?: string; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** it returns true when the node checkbox is checked; otherwise, false. + */ + isChecked?: boolean; + + /** it returns the currently checked node name + */ + currentNode?: any[]; + + /** it returns the currently checked and its child node details + */ + currentCheckedNodes?: any[]; + } + + export interface NodeClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked TreeView node + */ + id?: string; + + /** returns the parentId of currently clicked TreeView node + */ + parentId?: string; + } + + export interface NodeCollapseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the id of the current element of the node clicked + */ + id?: string; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: string; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the child nodes are loaded or not + */ + isChildLoaded?: boolean; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface NodeCutEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current parent element of the cut node + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface NodeDeleteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the current parent element of the deleted node + */ + parentElement?: any; + + /** returns the given parent node details + */ + parentDetails?: any; + + /** returns the currently removed nodes + */ + removedNodes?: any[]; + } + + export interface NodeDragEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drag target + */ + dragTarget?: any; + + /** returns the current target TreeView node + */ + target?: any; + + /** returns the current target details + */ + targetElementData?: any; + + /** returns the current parent element of the target node + */ + draggedElement?: any; + + /** returns the given parent node details + */ + draggedElementData?: any; + + /** returns the event object + */ + event?: any; + } + + export interface NodeDragStartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drag target + */ + dragTarget?: any; + + /** returns the current dragging parent TreeView node + */ + parentElement?: any; + + /** returns the current dragging parent TreeView node details + */ + parentElementData?: any; + + /** returns the current parent element of the dragging node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the event object + */ + event?: any; + } + + export interface NodeDragStopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drop target + */ + dropTarget?: any; + + /** returns the current dragged TreeView node + */ + draggedElement?: any; + + /** returns the current dragged TreeView node details + */ + draggedElementData?: any; + + /** returns the current parent element of the dragged node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the drop position such as before, after or over + */ + position?: string; + + /** returns the event object + */ + event?: any; + } + + export interface NodeDroppedEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the original drop target + */ + dropTarget?: any; + + /** returns the current dropped TreeView node + */ + droppedElement?: any; + + /** returns the current dropped TreeView node details + */ + droppedElementData?: any; + + /** returns the current parent element of the dropped node + */ + target?: any; + + /** returns the given parent node details + */ + targetElementData?: any; + + /** returns the drop position such as before, after or over + */ + position?: string; + + /** returns the event object + */ + event?: any; + } + + export interface NodeEditEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the element + */ + id?: string; + + /** returns the oldText of the element + */ + oldText?: string; + + /** returns the newText of the element + */ + newText?: string; + + /** returns the event object + */ + event?: any; + + /** returns the target element, the given node to be cut + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + } + + export interface NodeExpandEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + + /** if the child node is ready to expanded state; otherwise, false. + */ + isChildLoaded?: boolean; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** returns the id of currently clicked node + */ + id?: string; + + /** returns the parent id of currently clicked node + */ + parentId?: string; + + /** returns the format asynchronous or synchronous + */ + async?: boolean; + } + + export interface NodePasteEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the pasted element + */ + target?: any; + + /** returns the given target node values + */ + nodeDetails?: any; + + /** returns the key pressed key code value + */ + keyCode?: number; + } + + export interface NodeSelectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the id of the current element of the node clicked + */ + id?: any; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: any; + + /** returns the current selected nodes index of TreeView + */ + selectedNodes?: any[]; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + } + + export interface NodeUncheckEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + + /** returns the event object + */ + event?: any; + + /** returns the id of the current element of the node clicked + */ + id?: any; + + /** returns the id of the parent element of current element of the node clicked + */ + parentId?: any; + + /** returns the value of the node + */ + value?: string; + + /** returns the current element of the node clicked + */ + currentElement?: any; + + /** it returns true when the node checkbox is checked; otherwise, false. + */ + isChecked?: boolean; + + /** it returns currently unchecked node name + */ + currentNode?: string; + + /** it returns currently unchecked node and its child node details. + */ + currentUncheckedNodes?: any[]; + } + + export interface NodeUnselectEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the current element of the node unselected + */ + currentElement?: any; + + /** returns the id of the current element of the node unselected + */ + id?: string; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the id of the parent element of current element of the node unselected + */ + parentId?: string; + + /** returns the current selected nodes index of TreeView + */ + selectedNodes?: any[]; + + /** returns the name of the event + */ + type?: string; + + /** returns the value of the node + */ + value?: string; + } + + export interface ReadyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the TreeView model + */ + model?: ej.TreeView.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface Fields { + + /** It receives the child level or inner level data source such as Essential DataManager object and JSON object. + */ + child?: any; + + /** It receives Essential DataManager object and JSON object. + */ + dataSource?: any; + + /** Specifies the node to be in expanded state. + */ + expanded?: string; + + /** Its allow us to indicate whether the node has child or not in load on demand + */ + hasChild?: string; + + /** Specifies the HTML Attributes to "li" item list. + */ + htmlAttribute?: any; + + /** Specifies the id to TreeView node items list. + */ + id?: string; + + /** Specifies the image attribute to “img” tag inside items list + */ + imageAttribute?: any; + + /** Specifies the HTML Attributes to "li" item list. + */ + imageUrl?: string; + + /** If its true Checkbox node will be checked when rendered with checkbox. + */ + isChecked?: string; + + /** Specifies the link attribute to “a” tag in item list. + */ + linkAttribute?: any; + + /** Specifies the parent id of the node. The nodes are listed as child nodes of the specified parent node by using its parent id. + */ + parentId?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + */ + query?: any; + + /** Allow us to specify the node to be in selected state + */ + selected?: string; + + /** Specifies the sprite CSS class to "li" item list. + */ + spriteCssClass?: string; + + /** It receives the table name to execute query on the corresponding table. + */ + tableName?: string; + + /** Specifies the text of TreeView node items list. + */ + text?: string; + } + + export interface SortSettings { + + /** Enables or disables the sorting option in TreeView control + * @Default {false} + */ + allowSorting?: boolean; + + /** Sets the sorting order type. There are two sorting types available, such as "ascending", "descending". + * @Default {ej.sortOrder.Ascending} + */ + sortOrder?: ej.sortOrder | string; + } + } + enum sortOrder { + //Enum for Ascending sort order + Ascending, + //Enum for Descending sort order + Descending, + } + + class Uploadbox extends ej.Widget { + static fn: Uploadbox; + constructor(element: JQuery | Element, options?: Uploadbox.Model); + static Locale: any; + model: Uploadbox.Model; + defaults: Uploadbox.Model; + + /** The destroy method destroys the control and brings the control to a pre-init state. All the events of the Upload control is bound by using this._on unbinds automatically. + * @returns {void} + */ + destroy(): void; + + /** Disables the Uploadbox control + * @returns {void} + */ + disable(): void; + + /** Enables the Uploadbox control + * @returns {void} + */ + enable(): void; + + /** Refresh the Uploadbox control + * @returns {void} + */ + refresh(): void; + } + export namespace Uploadbox { + + export interface Model { + + /** Enables the file drag and drop support to the Uploadbox control. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Uploadbox supports both synchronous and asynchronous upload. This can be achieved by using the asyncUpload property. + * @Default {true} + */ + asyncUpload?: boolean; + + /** Uploadbox supports auto uploading of files after the file selection is done. + * @Default {false} + */ + autoUpload?: boolean; + + /** Sets the text for each action button. + * @Default {{browse: Browse, upload: Upload, cancel: Cancel, close: Close}} + */ + buttonText?: ButtonText; + + /** Sets the root class for the Uploadbox control theme. This cssClass API helps to use custom skinning option for the Uploadbox button and dialog content. + */ + cssClass?: string; + + /** Specifies the custom file details in the dialog popup on initialization. + * @Default {{ title:true, name:true, size:true, status:true, action:true}} + */ + customFileDetails?: CustomFileDetails; + + /** Specifies the actions for dialog popup while initialization. + * @Default {{ modal:false, closeOnComplete:false, content:null, drag:true}} + */ + dialogAction?: DialogAction; + + /** Displays the Uploadbox dialog at the given X and Y positions. X: Dialog sets the left position value. Y: Dialog sets the top position value. + * @Default {null} + */ + dialogPosition?: any; + + /** Property for applying the text to the Dialog title and content headers. + * @Default {{ title: Upload Box, name: Name, size: Size, status: Status}} + */ + dialogText?: DialogText; + + /** The dropAreaText is displayed when the drag and drop support is enabled in the Uploadbox control. + * @Default {Drop files or click to upload} + */ + dropAreaText?: string; + + /** Specifies the dropAreaHeight when the drag and drop support is enabled in the Uploadbox control. + * @Default {100%} + */ + dropAreaHeight?: number | string; + + /** Specifies the dropAreaWidth when the drag and drop support is enabled in the Uploadbox control. + * @Default {100%} + */ + dropAreaWidth?: number | string; + + /** Based on the property value, Uploadbox is enabled or disabled. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the right-to-left direction property for the Uploadbox control. + * @Default {false} + */ + enableRTL?: boolean; + + /** Only the files with the specified extension is allowed to upload. This is mentioned in the string format. + */ + extensionsAllow?: string; + + /** Only the files with the specified extension is denied for upload. This is mentioned in the string format. + */ + extensionsDeny?: string; + + /** Sets the maximum size limit for uploading the file. This is mentioned in the number format. + * @Default {31457280} + */ + fileSize?: number; + + /** Sets the height of the browse button. + * @Default {35px} + */ + height?: string; + + /** Specifies the list of HTML attributes to be added to uploadbox control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Configures the culture data and sets the culture to the Uploadbox. + * @Default {en-US} + */ + locale?: string; + + /** Enables multiple file selection for upload. + * @Default {true} + */ + multipleFilesSelection?: boolean; + + /** You can push the file to the Uploadbox in the client-side of the XHR supported browsers alone. + * @Default {null} + */ + pushFile?: any; + + /** Specifies the remove action to be performed after the file uploading is completed. Here, mention the server address for removal. + */ + removeUrl?: string; + + /** Specifies the save action to be performed after the file is pushed for uploading. Here, mention the server address to be saved. + */ + saveUrl?: string; + + /** Enables the browse button support to the Uploadbox control. + * @Default {true} + */ + showBrowseButton?: boolean; + + /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. + * @Default {true} + */ + showFileDetails?: boolean; + + /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. + * @Default {true} + */ + showRoundedCorner?: boolean; + + /** Sets the name for the Uploadbox control. This API helps to Map the action in code behind to retrieve the files. + */ + uploadName?: string; + + /** Sets the width of the browse button. + * @Default {100px} + */ + width?: string; + + /** Fires when the upload progress beforeSend. */ + beforeSend?(e: BeforeSendEventArgs): void; + + /** Fires when the upload progress begins. */ + begin?(e: BeginEventArgs): void; + + /** Fires when the upload progress is cancelled. */ + cancel?(e: CancelEventArgs): void; + + /** Fires when the file upload progress is completed. */ + complete?(e: CompleteEventArgs): void; + + /** Fires when the file upload progress is succeeded. */ + success?(e: SuccessEventArgs): void; + + /** Fires when the Uploadbox control is created. */ + create?(e: CreateEventArgs): void; + + /** Fires when the Uploadbox control is destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires when the Upload process ends in Error. */ + error?(e: ErrorEventArgs): void; + + /** Fires when the file is selected for upload successfully. */ + fileSelect?(e: FileSelectEventArgs): void; + + /** Fires when the file is uploading. */ + inProgress?(e: InProgressEventArgs): void; + + /** Fires when the uploaded file is removed successfully. */ + remove?(e: RemoveEventArgs): void; + } + + export interface BeforeSendEventArgs { + + /** Selected FileList Object. + */ + files?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Uploadbox model + */ + model?: any; + + /** XHR-AJAX Object for reference. + */ + xhr?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface BeginEventArgs { + + /** To pass additional information to the server. + */ + data?: any; + + /** Selected FileList Object. + */ + files?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface CancelEventArgs { + + /** Canceled FileList Object. + */ + fileStatus?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface CompleteEventArgs { + + /** AJAX event argument for reference. + */ + e?: any; + + /** Uploaded file list. + */ + files?: any; + + /** response from the server. + */ + responseText?: string; + + /** XHR-AJAX Object for reference. + */ + xhr?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface SuccessEventArgs { + + /** response from the server. + */ + responseText?: string; + + /** AJAX event argument for reference. + */ + e?: any; + + /** successfully uploaded files list. + */ + success?: any; + + /** Uploaded file list. + */ + files?: any; + + /** XHR-AJAX Object for reference. + */ + xhr?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ErrorEventArgs { + + /** details about the error information. + */ + error?: string; + + /** returns the name of the event. + */ + type?: string; + + /** error event action details. + */ + action?: string; + + /** returns the file details of the file uploaded + */ + files?: any; + } + + export interface FileSelectEventArgs { + + /** returns Selected FileList objects + */ + files?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface InProgressEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** AJAX event argument for reference. + */ + e?: any; + + /** returns Selected FileList objects + */ + files?: any; + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the current progress percentage. + */ + percentage?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface RemoveEventArgs { + + /** returns the Uploadbox model + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the file details of the file object + */ + fileStatus?: any; + } + + export interface ButtonText { + + /** Sets the text for the browse button. + */ + browse?: string; + + /** Sets the text for the cancel button. + */ + cancel?: string; + + /** Sets the text for the close button. + */ + Close?: string; + + /** Sets the text for the Upload button inside the dialog popup. + */ + upload?: string; + } + + export interface CustomFileDetails { + + /** Enables the file upload interactions like remove/cancel in File details of the dialog popup. + */ + action?: boolean; + + /** Enables the name in the File details of the dialog popup. + */ + name?: boolean; + + /** Enables or disables the File size details of the dialog popup. + */ + size?: boolean; + + /** Enables or disables the file uploading status visibility in the dialog file details content. + */ + status?: boolean; + + /** Enables the title in File details for the dialog popup. + */ + title?: boolean; + } + + export interface DialogAction { + + /** Once uploaded successfully, the dialog popup closes immediately. + */ + closeOnComplete?: boolean; + + /** Sets the content container option to the Uploadbox dialog popup. + */ + content?: string; + + /** Enables the drag option to the dialog popup. + */ + drag?: boolean; + + /** Enables or disables the Uploadbox dialog’s modal property to the dialog popup. + */ + modal?: boolean; + } + + export interface DialogText { + + /** Sets the uploaded file’s Name (header text) to the Dialog popup. + */ + name?: string; + + /** Sets the upload file Size (header text) to the dialog popup. + */ + size?: string; + + /** Sets the upload file Status (header text) to the dialog popup. + */ + status?: string; + + /** Sets the title text of the dialog popup. + */ + title?: string; + } + } + + class WaitingPopup extends ej.Widget { + static fn: WaitingPopup; + constructor(element: JQuery | Element, options?: WaitingPopup.Model); + static Locale: any; + model: WaitingPopup.Model; + defaults: WaitingPopup.Model; + + /** To hide the waiting popup + * @returns {void} + */ + hide(): void; + + /** Refreshes the WaitingPopup control by resetting the pop-up panel position and content position + * @returns {void} + */ + refresh(): void; + + /** To show the waiting popup + * @returns {void} + */ + show(): void; + } + export namespace WaitingPopup { + + export interface Model { + + /** Sets the root class for the WaitingPopup control theme + * @Default {null} + */ + cssClass?: string; + + /** Specifies the list of HTML attributes to be added to waitingpopup control. + * @Default {{}} + */ + htmlAttributes?: any; + + /** Enables or disables the default loading icon. + * @Default {true} + */ + showImage?: boolean; + + /** Enables the visibility of the WaitingPopup control + * @Default {false} + */ + showOnInit?: boolean; + + /** Specified a selector for elements, within the container. + * @Default {null} + */ + target?: string; + + /** Waitingpopup element append to given container element. + * @Default {null} + */ + appendTo?: string; + + /** Loads HTML content inside the popup panel instead of the default icon + * @Default {null} + */ + template?: any; + + /** Sets the custom text in the pop-up panel to notify the waiting process + * @Default {null} + */ + text?: string; + + /** Fires after Create WaitingPopup successfully */ + create?(e: CreateEventArgs): void; + + /** Fires after Destroy WaitingPopup successfully */ + destroy?(e: DestroyEventArgs): void; + } + + export interface CreateEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the WaitingPopup model + */ + model?: ej.WaitingPopup.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** returns the cancel option value + */ + cancel?: boolean; + + /** returns the WaitingPopup model + */ + model?: ej.WaitingPopup.Model; + + /** returns the name of the event + */ + type?: string; + } + } + + class Grid extends ej.Widget { + static fn: Grid; + constructor(element: JQuery | Element, options?: Grid.Model); + static Locale: any; + model: Grid.Model; + defaults: Grid.Model; + + /** Adds a grid model property which is to be ignored upon exporting. + * @param {Array} Pass the array of parameters which need to be ignored on exporting + * @returns {void} + */ + addIgnoreOnExport(propertyNames: any[]): void; + + /** Add a new record in grid control when allowAdding is set as true. + * @returns {void} + */ + //addRecord(): void; + + /** Add a new record in grid control when allowAdding is set as true. + * @param {Array} Pass the array of added Records + * @param {Array} optionalIf we pass serverChange as true, send post to server side for server action. + * @returns {void} + */ + addRecord(data: any[], serverChange?: any[]): void; + + /** Cancel the modified changes in grid control when edit mode is "batch". + * @returns {void} + */ + batchCancel(): void; + + /** Save the modified changes to data source in grid control when edit mode is "batch". + * @returns {void} + */ + batchSave(): void; + + /** Send a cancel request in grid. * @returns {void} */ cancelEdit(): void; - /** Delete a card in Kanban control when allowAdding/allowEditing is set as true. - * @param {string|number} Pass the key of card to be delete + /** Send a cancel request to the edited cell in grid. * @returns {void} */ - deleteCard(Key: string | number): void; + cancelEditCell(): void; - /** Send a save request in Kanban when any card is in edit/new add card state and allowEditing/allowAdding is set as true. + /** It is used to clear all the cell selection. + * @returns {Boolean} + */ + clearCellSelection(): boolean; + + /** It is used to clear specified cell selection based on the rowIndex and columnIndex provided. + * @param {number} It is used to pass the row index of the cell + * @param {number} It is used to pass the column index of the cell. + * @returns {Boolean} + */ + clearCellSelection(rowIndex: number, columnIndex: number): boolean; + + /** It is used to clear all the row selection or at specific row selection based on the index provided. + * @param {number} optional If index of the column is specified then it will remove the selection from the particular column else it will clears all of the column selection + * @returns {Boolean} + */ + clearColumnSelection(index?: number): boolean; + + /** It is used to clear all the filtering done. + * @param {string} If field of the column is specified then it will clear the particular filtering column + * @returns {void} + */ + clearFiltering(field: string): void; + + /** Clear the searching from the grid + * @returns {void} + */ + clearSearching(): void; + + /** Clear all the row selection or at specific row selection based on the index provided + * @param {number} optional If index of the row is specified then it will remove the selection from the particular row else it will clears all of the row selection + * @returns {Boolean} + */ + clearSelection(index?: number): boolean; + + /** Clear the sorting from columns in the grid + * @returns {void} + */ + clearSorting(): void; + + /** Collapse all the group caption rows in grid + * @returns {void} + */ + collapseAll(): void; + + /** Collapse the group drop area in grid + * @returns {void} + */ + collapseGroupDropArea(): void; + + /** Add or remove columns in grid column collections + * @param {Array|string} Pass array of columns or string of field name to add/remove the column in grid + * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform + * @returns {void} + */ + columns(columnDetails: any[] | string, action?: string): void; + + /** Refresh the grid with new data source + * @param {Array} Pass new data source to the grid + * @param {boolean} optional When templateRefresh is set true, both header and contents get refreshed + * @returns {void} + */ + dataSource(datasource: any[], templateRefresh?: boolean): void; + + /** Delete a record in grid control when allowDeleting is set as true + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the JSON data of record need to be delete. + * @returns {void} + */ + deleteRecord(fieldName: string, data: any[]): void; + + /** Delete the row based on the given tr element in grid. + * @param {JQuery} Pass the tr element in grid content to get its row index + * @returns {HTMLElement} + */ + deleteRow($tr: JQuery): HTMLElement; + + /** Destroy the grid widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Edit a particular cell based on the row index and field name provided in "batch" edit mode. + * @param {number} Pass row index to edit particular cell + * @param {string} Pass the field name of the column to perform batch edit + * @returns {void} + */ + editCell(index: number, fieldName: string): void; + + /** It returns a value and if the input field values of edit form is not based on the validation rules then it will show the validation message. + * @returns {Boolean} + */ + editFormValidate(): boolean; + + /** Send a save request in grid. * @returns {void} */ endEdit(): void; - /** Send an edit card request in Kanban when allowEditing is set as true. Parameter will be HTML element or primary key - * @param {any} Pass the div selected row element to be edited in Kanban + /** Expand all the group caption rows in grid. * @returns {void} */ - startEdit($div: any): void; + expandAll(): void; - /** Method used for set validation to a field during editing. - * @param {string} Specify the name of the column to set validation rules + /** Expand or collapse the row based on the row state in grid + * @param {JQuery} Pass the target object to expand/collapse the row based on its row state + * @returns {void} + */ + expandCollapse($target: JQuery): void; + + /** Expand the group drop area in grid. + * @returns {void} + */ + expandGroupDropArea(): void; + + /** Export the grid content to excel, word or PDF document. + * @param {string} Pass the controller action name corresponding to exporting + * @param {string} optionalASP server event name corresponding to exporting + * @param {boolean} optionalPass the multiple exporting value as true/false + * @param {Array} optionalPass the array of the gridIds to be filtered + * @returns {void} + */ + export(action: string, serverEvent?: string, multipleExport?: boolean, gridIds?: any[]): void; + + /** Send a filtering request to filter one column in grid. + * @param {Array} Pass the field name of the column + * @param {string} string/integer/dateTime operator + * @param {string} Pass the value to be filtered in a column + * @param {string} Pass the predicate as and/or + * @param {boolean} optional Pass the match case value as true/false + * @param {any} optionalactualFilterValue denote the filter object of current filtered columns.Pass the value to filtered in a column + * @returns {void} + */ + filterColumn(fieldName: any[], filterOperator: string, filterValue: string, predicate: string, matchcase?: boolean, actualFilterValue?: any): void; + + /** Send a filtering request to filter single or multiple column in grid. + * @param {Array} Pass array of filterColumn query for performing filter operation + * @returns {void} + */ + filterColumn(filterQueries: any[]): void; + + /** Get the batch changes of edit, delete and add operations of grid. + * @returns {any} + */ + getBatchChanges(): any; + + /** Get the browser details + * @returns {any} + */ + getBrowserDetails(): any; + + /** Get the column details based on the given field in grid + * @param {string} Pass the field name of the column to get the corresponding column object + * @returns {any} + */ + getColumnByField(fieldName: string): any; + + /** Get the column details based on the given header text in grid. + * @param {string} Pass the header text of the column to get the corresponding column object + * @returns {any} + */ + getColumnByHeaderText(headerText: string): any; + + /** Get the column details based on the given column index in grid + * @param {number} Pass the index of the column to get the corresponding column object + * @returns {any} + */ + getColumnByIndex(columnIndex: number): any; + + /** Get the list of field names from column collection in grid. + * @returns {Array} + */ + getColumnFieldNames(): any[]; + + /** Get the column index of the given field in grid. + * @param {string} Pass the field name of the column to get the corresponding column index + * @returns {number} + */ + getColumnIndexByField(fieldName: string): number; + + /** Get the column index of the given headerText of column in grid. + * @param {string} Pass the headerText of the column to get that column index + * @param {string} optionalOptional Pass the field name of the column. + * @returns {number} + */ + getColumnIndexByHeaderText(headerText: string, field?: string): number; + + /** Get the content div element of grid. + * @returns {HTMLElement} + */ + getContent(): HTMLElement; + + /** Get the content table element of grid + * @returns {Array} + */ + getContentTable(): HTMLTableElement[]; + + /** Get the data of currently edited cell value in "batch" edit mode + * @returns {any} + */ + getCurrentEditCellData(): any; + + /** Get the current page index in grid pager. + * @returns {number} + */ + getCurrentIndex(): number; + + /** Get the current page data source of grid. + * @returns {Array} + */ + getCurrentViewData(): any[]; + + /** Get the data of given row index in grid. + * @returns {any} + */ + getDataByIndex(): any; + + /** Get the column field name from the given header text in grid. + * @param {string} Pass header text of the column to get its corresponding field name + * @returns {String} + */ + getFieldNameByHeaderText(headerText: string): string; + + /** Get the filter bar of grid + * @returns {HTMLElement} + */ + getFilterBar(): HTMLElement; + + /** Get the records filtered or searched in Grid + * @returns {Array} + */ + getFilteredRecords(): any[]; + + /** Get the footer content of grid. + * @returns {HTMLElement} + */ + getFooterContent(): HTMLElement; + + /** Get the footer table element of grid. + * @returns {HTMLElement} + */ + getFooterTable(): HTMLElement; + + /** Get the header content div element of grid. + * @returns {HTMLElement} + */ + getHeaderContent(): HTMLElement; + + /** Get the header table element of grid + * @returns {HTMLElement} + */ + getHeaderTable(): HTMLElement; + + /** Get the column header text from the given field name in grid. + * @param {string} Pass field name of the column to get its corresponding header text + * @returns {String} + */ + getHeaderTextByFieldName(field: string): string; + + /** Get the names of all the hidden column collections in grid. + * @returns {Array} + */ + getHiddenColumnNames(): any[]; + + /** Get the row index based on the given tr element in grid. + * @param {JQuery} Pass the tr element in grid content to get its row index + * @returns {number} + */ + getIndexByRow($tr: JQuery): number; + + /** Get the pager of grid. + * @returns {HTMLElement} + */ + getPager(): HTMLElement; + + /** Get the names of primary key columns in Grid + * @returns {Array} + */ + getPrimaryKeyFieldNames(): any[]; + + /** Get the rows(tr element) from the given from and to row index in grid + * @param {number} Pass the from index from which the rows to be returned + * @param {number} Pass the to index to which the rows to be returned + * @returns {HTMLElement} + */ + getRowByIndex(from: number, to: number): HTMLElement; + + /** Get the row height of grid. + * @returns {number} + */ + getRowHeight(): number; + + /** Get the rows(tr element)of grid which is displayed in the current page. + * @returns {HTMLElement} + */ + getRows(): HTMLElement; + + /** Get the scroller object of grid. + * @returns {ej.Scroller} + */ + getScrollObject(): ej.Scroller; + + /** Get the selected records details in grid. + * @returns {Array} + */ + getSelectedRecords(): any[]; + + /** Get the selected row element details in grid. + * @returns {Array} + */ + getSelectedRows(): any[]; + + /** It accepts the string value and returns the field and sorted direction of the column in grid. + * @param {string} Pass the field of the column to get the sorted direction of the corresponding column in Grid. + * @returns {number} + */ + getsortColumnByField(field: string): number; + + /** Get the calculated summary values of JSON data passed to it + * @param {any} Pass Summary Column details + * @param {any} Pass JSON Array for which its field values to be calculated + * @returns {Number} + */ + getSummaryValues(summaryCol: any, summaryData: any): number; + + /** Get the names of all the visible column collections in grid + * @returns {Array} + */ + getVisibleColumnNames(): any[]; + + /** Send a paging request to specified page in grid + * @param {number} Pass the page index to perform paging at specified page index + * @returns {void} + */ + gotoPage(pageIndex: number): void; + + /** Send a column grouping request in grid. + * @param {string} Pass the field Name of the column to be grouped in grid control + * @returns {void} + */ + groupColumn(fieldName: string): void; + + /** Hide columns from the grid based on the header text + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide + * @returns {void} + */ + hideColumns(headerText: any[] | string): void; + + /** Print the grid control + * @returns {void} + */ + print(): void; + + /** It is used to refresh and reset the changes made in "batch" edit mode + * @returns {void} + */ + refreshBatchEditChanges(): void; + + /** It is used to refresh the grid header. + * @returns {void} + */ + refreshHeader(): void; + + /** Refresh the grid contents. The template refreshment is based on the argument passed along with this method + * @param {boolean} optional When templateRefresh is set true, template and grid contents both are refreshed in grid else only grid content is refreshed + * @returns {void} + */ + refreshContent(templateRefresh?: boolean): void; + + /** Refresh the template of the grid + * @returns {void} + */ + refreshTemplate(): void; + + /** Refresh the toolbar items in grid. + * @returns {void} + */ + refreshToolbar(): void; + + /** Remove a column or collection of columns from a sorted column collections in grid. + * @param {Array|string} Pass array of field names of the columns to remove a collection of sorted columns or pass a string of field name to remove a column from sorted column collections + * @returns {void} + */ + removeSortedColumns(fieldName: any[] | string): void; + + /** Creates a grid control + * @returns {void} + */ + render(): void; + + /** Re-order the column in grid + * @param {string} Pass the from field name of the column needs to be changed + * @param {string} Pass the to field name of the column needs to be changed + * @returns {void} + */ + reorderColumns(fromFieldName: string, toFieldName: string): void; + + /** Re-order the row in grid + * @param {Array} Pass the indexes of the rows needs to reorder. + * @param {number} Pass the index of a row where to be reordered. + * @returns {void} + */ + reorderRows(indexes: any[], toindex: number): void; + + /** Reset the model collections like pageSettings, groupSettings, filterSettings, sortSettings and summaryRows. + * @returns {void} + */ + resetModelCollections(): void; + + /** Resize the columns by giving column name and width for the corresponding one. + * @param {string} Pass the column name that needs to be changed + * @param {string} Pass the width to resize the particular columns + * @returns {void} + */ + resizeColumns(column: string, width: string): void; + + /** Resolves row height issue when unbound column is used with FrozenColumn + * @returns {void} + */ + rowHeightRefresh(): void; + + /** Save the particular edited cell in grid. + * @returns {void} + */ + //saveCell(): void; + + /** We can prevent the client side cellSave event triggering by passing the preventSaveEvent argument as true. + * @param {boolean} optionalIf we pass preventSaveEvent as true, it prevents the client side cellSave event triggering + * @returns {void} + */ + saveCell(preventSaveEvent: boolean): void; + + /** Set dimension for grid with corresponding to grid parent. + * @param {number} Pass the height of the grid container + * @param {number} Pass the width of the grid container + * @returns {void} + */ + setDimension(height: number, width: number): void; + + /** Send a request to grid to refresh the width set to columns + * @returns {void} + */ + setWidthToColumns(): void; + + /** Send a search request to grid with specified string passed in it + * @param {string} Pass the string to search in Grid records + * @returns {void} + */ + search(searchString: string): void; + + /** Select cells in grid. + * @param {any} It is used to set the starting index of row and indexes of cells for that corresponding row for selecting cells. + * @returns {void} + */ + selectCells(rowCellIndexes: any): void; + + /** Select columns in grid. + * @param {number} It is used to set the starting index of column for selecting columns. + * @returns {void} + */ + selectColumns(fromIndex: number): void; + + /** Select the specified columns in grid based on Index provided. + * @param {number} It is used to set the starting index of column for selecting columns. + * @param {number} optionalIt is used to set the ending index of column for selecting columns. + * @returns {Boolean} + */ + selectColumns(columnIndex: number, toIndex?: number): boolean; + + /** Select rows in grid. + * @param {number} It is used to set the starting index of row for selecting rows. + * @param {number} It is used to set the ending index of row for selecting rows. + * @returns {void} + */ + selectRows(fromIndex: number, toIndex: number): void; + + /** Select specified rows in grid based on Index provided. + * @param {Array|number} It is used to set the starting index of row for selecting rows. + * @param {number} optionalIt is used to set the ending index of row for selecting rows. + * @param {any} optionalTarget element which is clicked. + * @returns {void} + */ + selectRows(from: any[] | number, to: number, target?: any): void; + + /** Select rows in grid. + * @param {Array} Pass array of rowIndexes for selecting rows + * @returns {void} + */ + selectRows(rowIndexes: any[]): void; + + /** Used to update a particular cell value. + * @returns {void} + */ + setCellText(): void; + + /** Used to update a particular cell value based on specified row Index and the fieldName. + * @param {number} It is used to set the index for selecting the row. + * @param {string} It is used to set the field name for selecting column. + * @param {any} It is used to set the value for the selected cell. + * @returns {void} + */ + setCellValue(Index: number, fieldName: string, value: any): void; + + /** It sets the default data to the column in grid during adding record in batch edit mode. + * @returns {void} + */ + setDefaultData(): void; + + /** The grid rows has to be rendered as detail view in mobile mode based on given value. + * @param {number} It is used to render grid rows as details view in mobile mode. + * @returns {void} + */ + setPhoneModeMaxWidth(Index: number): void; + + /** Set validation to edit form in the grid. + * @returns {void} + */ + setValidation(): void; + + /** Set validation to a particular input field in a edit form dynamically. + * @param {string} Specify the field name of the column to set validation rules * @param {any} Specify the validation rules for the field * @returns {void} */ - setValidationToField(name: string, rules: any): void; - } + setValidationToField(fieldName: string, rules: any): void; - export interface Model { - - /** Gets or sets a value that indicates whether to enable allowDragAndDrop behavior on Kanban. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** To enable or disable the title of the card. - * @Default {false} - */ - allowTitle?: boolean; - - /** Customize the settings for swim lane. - * @Default {Object} - */ - swimlaneSettings?: SwimlaneSettings; - - /** To enable or disable the column expand /collapse. - * @Default {false} - */ - allowToggleColumn?: boolean; - - /** To enable Searching operation in Kanban. - * @Default {false} - */ - allowSearching?: boolean; - - /** To enable filtering behavior on Kanban.User can specify query in filterSettings collection after enabling allowFiltering. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable allowSelection behavior on Kanban.User can select card and the selected card will be highlighted on Kanban. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether to allow card hover actions. - * @Default {true} - */ - allowHover?: boolean; - - /** To allow keyboard navigation actions. - * @Default {false} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable the scrollbar in the Kanban and view the card by scroll through the Kanban manually. - * @Default {false} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable printing option. - * @Default {false} - */ - allowPrinting?: boolean; - - /** Gets or sets an object that indicates whether to customize the context menu behavior of the Kanban. - * @Default {Object} - */ - contextMenuSettings?: ContextMenuSettings; - - /** Gets or sets an object that indicates to render the Kanban with specified columns. - * @Default {Array} - */ - columns?: Column[]; - - /** Gets or sets an object that indicates whether to Customize the card settings. - * @Default {Object} - */ - cardSettings?: CardSettings; - - /** Gets or sets a value that indicates whether to add customToolbarItems within the toolbar to perform any action in the Kanban. - * @Default {[]} - */ - customToolbarItems?: CustomToolbarItem[]; - - /** Gets or sets a value that indicates to render the Kanban with custom theme. - */ - cssClass?: string; - - /** Gets or sets the data to render the Kanban with cards. - * @Default {null} - */ - dataSource?: any; - - /** To perform kanban functionalities with touch interaction. - * @Default {true} - */ - enableTouch?: boolean; - - /** Align content in the Kanban control align from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** To show total count of cards in each column. - * @Default {false} - */ - enableTotalCount?: boolean; - - /** Get or sets an object that indicates whether to customize the editing behavior of the Kanban. - * @Default {Object} - */ - editSettings?: EditSettings; - - /** To customize field mappings for card , editing title and control key parameters - * @Default {Object} - */ - fields?: Fields; - - /** To map datasource field for column values mapping - * @Default {null} - */ - keyField?: string; - - /** When set to true, adapts the Kanban layout to fit the screen size of devices on which it renders. - * @Default {false} - */ - isResponsive?: boolean; - - /** Gets or sets a value that indicates whether to set the minimum width of the responsive Kanban while isResponsive property is true. - * @Default {0} - */ - minWidth?: number; - - /** To customize the filtering behavior based on queries given. - * @Default {Array} - */ - filterSettings?: FilterSetting[]; - - /** ej Query to query database of Kanban. - * @Default {null} - */ - query?: any; - - /** To change the key in keyboard interaction to Kanban control. - * @Default {null} - */ - keySettings?: any; - - /** Gets or sets an object that indicates whether to customize the scrolling behavior of the Kanban. - * @Default {Object} - */ - scrollSettings?: ScrollSettings; - - /** To customize the searching behavior of the Kanban. - * @Default {Object} - */ - searchSettings?: SearchSettings; - - /** To allow customize selection type. Accepting types are "single" and "multiple". - * @Default {ej.Kanban.SelectionType.Single} - */ - selectionType?: ej.Kanban.SelectionType | string; - - /** Gets or sets an object that indicates to managing the collection of stacked header rows for the Kanban. - * @Default {Array} - */ - stackedHeaderRows?: StackedHeaderRow[]; - - /** The tooltip allows to display card details in a tooltip while hovering on it. - */ - tooltipSettings?: TooltipSettings; - - /** Gets or sets an object that indicates to render the Kanban with specified workflows. - * @Default {Array} - */ - workflows?: Workflow[]; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and culture specific - * to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Triggered for every Kanban action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every Kanban action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered for every Kanban action server failure event. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggered before the task is going to be edited. */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered before the card is going to be added */ - beginAdd?(e: BeginAddEventArgs): void; - - /** Triggered before the card is selected. */ - beforeCardSelect?(e: BeforeCardSelectEventArgs): void; - - /** Trigger after the card is clicked. */ - cardClick?(e: CardClickEventArgs): void; - - /** Triggered when the card is being dragged. */ - cardDrag?(e: CardDragEventArgs): void; - - /** Triggered when card dragging start. */ - cardDragStart?(e: CardDragStartEventArgs): void; - - /** Triggered when card dragging stops. */ - cardDragStop?(e: CardDragStopEventArgs): void; - - /** Triggered when the card is Dropped. */ - cardDrop?(e: CardDropEventArgs): void; - - /** Triggered after the card is selected. */ - cardSelect?(e: CardSelectEventArgs): void; - - /** Triggered when card is double clicked. */ - cardDoubleClick?(e: CardDoubleClickEventArgs): void; - - /** Triggered before the card is selected. */ - cardSelecting?(e: CardSelectingEventArgs): void; - - /** Triggered when the Kanban is rendered completely */ - create?(e: CreateEventArgs): void; - - /** Triggers after the cell is clicked. */ - cellClick?(e: CellClickEventArgs): void; - - /** Triggered before the context menu is opened. */ - contextOpen?(e: ContextOpenEventArgs): void; - - /** Triggered when context menu item is clicked in Kanban */ - contextClick?(e: ContextClickEventArgs): void; - - /** Triggered the Kanban is bound with data during initial rendering. */ - dataBound?(e: DataBoundEventArgs): void; - - /** Triggered when Kanban going to destroy. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered after the card is deleted. */ - endDelete?(e: EndDeleteEventArgs): void; - - /** Triggered after the card is edited. */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggers after the header is clicked. */ - headerClick?(e: HeaderClickEventArgs): void; - - /** Triggered initial load. */ - load?(e: LoadEventArgs): void; - - /** Triggered every time a single card rendered request is made to access particular card information. */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered when toolbar item is clicked in Kanban. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current action event type. - */ - originalEventType?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the card object (JSON). - */ - data?: any; - - /** Returns current filtering object field name. - */ - currentFilteringobject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns Kanban element. - */ - target?: any; - - /** Returns the card object (JSON). - */ - data?: any; - - /** Returns the selectedRow index. - */ - selectedRow?: number; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface ActionFailureEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the error return by server. - */ - error?: any; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns Kanban element. - */ - target?: any; - - /** Returns the card object (JSON). - */ - data?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns begin edit data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeginAddEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns beginAdd data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeCardSelectEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the select card index value. - */ - cardIndex?: number; - - /** Returns the select cell element - */ - currentCell?: any; - - /** Returns the previously select the card element - */ - previousCard?: any; - - /** Returns the previously select card indexes - */ - previousRowcellindex?: any[]; - - /** Returns the Target item. - */ - Target?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns select card data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the current card to the Kanban. - */ - currentCard?: string; - - /** Returns Kanban element. - */ - target?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the Header text of the column corresponding to the selected card. - */ - columnName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns drag data. - */ - data?: any; - - /** Returns drag start element. - */ - dragtarget?: any; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns card drag start data. - */ - data?: any; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns drag start element. - */ - dragtarget?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDragStopEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns drag stop element. - */ - droptarget?: any; - - /** Returns drag stop data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns dragged element. - */ - draggedElement?: any; - - /** Returns previous parent of dragged element - */ - draggedParent?: any; - - /** Returns dragged data. - */ - data?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns drop element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardSelectEventArgs { - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the select card index value. - */ - cardIndex?: number; - - /** Returns the select cell element - */ - currentCell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the previously select the card element - */ - previousCard?: any; - - /** Returns the previously select card indexes - */ - previousRowcellindex?: any[]; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns select card data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardDoubleClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current card object (JSON). - */ - data?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CardSelectingEventArgs { - - /** Returns the selecting cell index value. - */ - cellIndex?: number; - - /** Returns the selecting card index value. - */ - cardIndex?: number; - - /** Returns the selecting cell element - */ - currentCell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the previously selecting the card element - */ - previousCard?: any; - - /** Returns the previously rowcell is selecting card indexes - */ - previousRowcellindex?: any[]; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns added data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the edited row index. - */ - rowIndex?: number; - } - - export interface ContextOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the status of contextmenu item which denotes its enabled state. - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - } - - export interface ContextClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the status of contextmenu item which denotes its enabled state. - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - } - - export interface DataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Returns the kanban model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndDeleteEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Current action name - */ - action?: string; - } - - export interface EndEditEventArgs { - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns modified data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Current Action name - */ - action?: string; - } - - export interface HeaderClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the select cell index value. - */ - cellIndex?: number; - - /** Returns the column object. - */ - columnData?: any; - } - - export interface LoadEventArgs { - - /** Returns the kanban model. - */ - model?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns Kanban card. - */ - card?: any; - - /** Returns Kanban card. - */ - cell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the column object. - */ - column?: any; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the item id of that current element. - */ - itemId?: string; - - /** Returns the item index of that current element. - */ - itemIndex?: number; - - /** Returns the item name of that current element. - */ - itemName?: string; - - /** Returns the item text of that current element. - */ - itemText?: string; - - /** Returns the Kanban model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the toolbar object of the Kanban. - */ - toolbarData?: any; - } - - export interface SwimlaneSettingsUnassignedGroup { - - /** To enable or disable unassigned category change with swim lane key values. - * @Default {true} - */ - enable?: boolean; - - /** To set the user defined values which are need to categorized as unassigned category swim lane groups. - * @Default {[null,undefined,]} - */ - keys?: any[]; - } - - export interface SwimlaneSettings { - - /** To enable or disable items count in swim lane. - * @Default {true} - */ - showCount?: boolean; - - /** To enable or disable DragAndDrop across swim lane. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Customize the settings for unassigned category of swim lane. - * @Default {Object} - */ - unassignedGroup?: SwimlaneSettingsUnassignedGroup; - } - - export interface ContextMenuSettingsCustomMenuItem { - - /** Its sets target element to custom context menu item. - * @Default {ej.Kanban.Target.All} - */ - target?: ej.Kanban.Target | string; - - /** Gets the display name to custom menu item. - * @Default {null} - */ - text?: string; - - /** Gets the template to render custom context menu item. - * @Default {null} - */ - template?: string; - } - - export interface ContextMenuSettings { - - /** To enable context menu.All default context menu will show. - * @Default {false} - */ - enable?: boolean; - - /** Gets or sets a value that indicates the list of items needs to be disable from default context menu items. - * @Default {Array} - */ - disableDefaultItems?: any[]; - - /** Its used to add specific default context menu items. - * @Default {Array} - */ - menuItems?: any[]; - - /** Gets or sets a value that indicates whether to add custom contextMenu items. - * @Default {Array} - */ - customMenuItems?: ContextMenuSettingsCustomMenuItem[]; - } - - export interface ColumnsTotalCount { - - /** To customize the totalCount text properties. - * @Default {null} - */ - text?: string; - } - - export interface ColumnsConstraints { - - /** It is used to specify the type of constraints as column or swimlane. - * @Default {null} - */ - type?: string; - - /** It is used to specify the minimum amount of card in particular column cell or swimlane cell can hold. - * @Default {null} - */ - min?: number; - - /** It is used to specify the maximum amount of card in particular column cell or swimlane cell can hold. - * @Default {null} - */ - max?: number; - } - - export interface Column { - - /** Gets or sets an object that indicates to render the Kanban with specified columns header text. - * @Default {null} - */ - headerText?: string; - - /** To customize the totalCount properties. - * @Default {Object} - */ - totalCount?: ColumnsTotalCount; - - /** Gets or sets an object that indicates to render the Kanban with specified columns key. - * @Default {null} - */ - key?: string | number; - - /** To enable/disable allowDrop for specific column wise. - * @Default {true} - */ - allowDrop?: boolean; - - /** To enable/disable allowDrag for specific column wise. - * @Default {true} - */ - allowDrag?: boolean; - - /** To set column collapse or expand state - * @Default {false} - */ - isCollapsed?: boolean; - - /** To customize the column level constraints with minimum ,maximum limit validation. - * @Default {Object} - */ - constraints?: ColumnsConstraints; - - /** Gets or sets a value that indicates to add the template within the header element. - * @Default {null} - */ - headerTemplate?: string; - - /** Gets or sets an object that indicates to render the Kanban with specified columns width. - * @Default {null} - */ - width?: string | number; - - /** Gets or sets an object that indicates to set specific column visibility. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets an object that indicates whether to show add new button. - * @Default {false} - */ - showAddButton?: boolean; - } - - export interface CardSettings { - - /** Gets or sets a value that indicates to add the template for card . - * @Default {null} - */ - template?: string; - - /** To customize the card border color based on assigned task. Colors and corresponding values defined here will be mapped with colorField mapped data source column. - * @Default {Object} - */ - colorMapping?: any; - } - - export interface CustomToolbarItem { - - /** Gets the template to render customToolbarItems. - * @Default {null} - */ - template?: string; - } - - export interface EditSettingsEditItem { - - /** It is used to map editing field from the data source. - * @Default {null} - */ - field?: string; - - /** It is used to set the particular editType in the card for editing. - * @Default {ej.Kanban.EditingType.String} - */ - editType?: ej.Kanban.EditingType | string; - - /** Gets or sets a value that indicates to define constraints for saving data to the database. - * @Default {Object} - */ - validationRules?: any; - - /** It is used to set the particular editparams in the card for editing. - * @Default {Object} - */ - editParams?: any; - - /** It is used to specify defaultValue for the fields while adding new card. - * @Default {null} - */ - defaultValue?: string | number; - } - - export interface EditSettings { - - /** Gets or sets a value that indicates whether to enable the editing action in cards of Kanban. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable the adding action in cards behavior on Kanban. - * @Default {false} - */ - allowAdding?: boolean; - - /** This specifies the id of the template which is require to be edited using the Dialog Box. - * @Default {null} - */ - dialogTemplate?: string; - - /** Get or sets an object that indicates whether to customize the editMode of the Kanban. - * @Default {ej.Kanban.EditMode.Dialog} - */ - editMode?: ej.Kanban.EditMode | string; - - /** Get or sets an object that indicates whether to customize the editing fields of Kanban card. - * @Default {Array} - */ - editItems?: EditSettingsEditItem[]; - - /** This specifies the id of the template which is require to be edited using the External edit form. - * @Default {null} - */ - externalFormTemplate?: string; - - /** This specifies to set the position of an External edit form either in the right or bottom of the Kanban. - * @Default {ej.Kanban.FormPosition.Bottom} - */ - formPosition?: ej.Kanban.FormPosition | string; - } - - export interface Fields { - - /** The primarykey field is mapped to data source field. And this will used for Drag and drop and editing mainly. - * @Default {null} - */ - primaryKey?: string; - - /** To enable swimlane grouping based on the given key field from datasource mapping. - * @Default {null} - */ - swimlaneKey?: string; - - /** Priority field has been mapped data source field to maintain cards priority. - * @Default {null} - */ - priority?: string; - - /** Content field has been Mapped into card text. - * @Default {null} - */ - content?: string; - - /** Tag field has been Mapped into card tag. - * @Default {null} - */ - tag?: string; - - /** Title field has been Mapped to field in datasource for title content. If title field specified , card expand/collapse will be enabled with header and content section. - * @Default {null} - */ - title?: string; - - /** To customize the card has been Mapped into card color field. - * @Default {null} - */ - color?: string; - - /** ImageUrl field has been Mapped into card image. - * @Default {null} - */ - imageUrl?: string; - } - - export interface FilterSetting { - - /** Gets or sets an object of display name to filter queries. - * @Default {null} - */ - text?: string; - - /** Gets or sets an object that Queries to perform filtering - * @Default {Object} - */ - query?: any; - - /** Gets or sets an object of tooltip to filter buttons. - * @Default {null} - */ - description?: string; - } - - export interface ScrollSettings { - - /** Gets or sets an object that indicates to render the Kanban with specified scroll height. - * @Default {0} - */ - height?: string | number; - - /** Gets or sets an object that indicates to render the Kanban with specified scroll width. - * @Default {auto} - */ - width?: string | number; - - /** To allow the Kanban to freeze particular swimlane at the time of scrolling , until scroll reaches next swimlane and it continues. - * @Default {false} - */ - allowFreezeSwimlane?: boolean; - } - - export interface SearchSettings { - - /** To customize the fields the searching operation can be perform. - * @Default {Array} - */ - fields?: any[]; - - /** To customize the searching string. - */ - key?: string; - - /** To customize the operator based on searching. - * @Default {contains} - */ - operator?: string; - - /** To customize the ignore case based on searching. - * @Default {true} - */ - ignoreCase?: boolean; - } - - export interface StackedHeaderRowsStackedHeaderColumn { - - /** Gets or sets a value that indicates the headerText for the particular stacked header column. - * @Default {null} - */ - headerText?: string; - - /** Gets or sets a value that indicates the column for the particular stacked header column. - * @Default {null} - */ - column?: string; - } - - export interface StackedHeaderRow { - - /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows. - * @Default {Array} - */ - stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; - } - - export interface TooltipSettings { - - /** To enable or disable the tooltip display. - * @Default {false} - */ - enable?: boolean; - - /** To customize the tooltip display based on your requirements. - * @Default {null} - */ - template?: string; - } - - export interface Workflow { - - /** Gets or sets an object that indicates to render the Kanban with specified workflows key. - * @Default {null} - */ - key?: string | number; - - /** Gets or sets an object that indicates to render the Kanban with specified workflows allowed Transitions. - * @Default {null} - */ - allowedTransitions?: string; - } - - enum Target { - - ///Sets context menu to Kanban header - Header, - - ///Sets context menu to Kanban content - Content, - - ///Sets context menu to Kanban card - Card, - - ///Sets context menu to Kanban - All - } - - - enum EditMode { - - ///Creates Kanban with editMode as Dialog - Dialog, - - ///Creates Kanban with editMode as DialogTemplate - DialogTemplate, - - ///Creates Kanban with editMode as ExternalForm - ExternalForm, - - ///Creates Kanban with editMode as ExternalFormTemplate - ExternalFormTemplate - } - - - enum EditingType { - - ///Allows to set edit type as string edit type - String, - - ///Allows to set edit type as numeric edit type - Numeric, - - ///Allows to set edit type as drop down edit type - Dropdown, - - ///Allows to set edit type as date picker edit type - DatePicker, - - ///Allows to set edit type as date time picker edit type - DateTimePicker, - - ///Allows to set edit type as text area edit type - TextArea, - - ///Allows to set edit type as RTE edit type - RTE - } - - - enum FormPosition { - - ///Form position is bottom. - Bottom, - - ///Form position is right. - Right - } - - - enum SelectionType { - - ///Support for Single selection in Kanban - Single, - - ///Support for multiple selections in Kanban - Multiple - } - -} - -class Rotator extends ej.Widget { - static fn: Rotator; - constructor(element: JQuery | Element, options?: Rotator.Model); - static Locale: any; - model: Rotator.Model; - defaults: Rotator.Model; - - /** Disables the Rotator control. - * @returns {void} - */ - disable(): void; - - /** Enables the Rotator control. - * @returns {void} - */ - enable(): void; - - /** This method is used to get the current slide index. - * @returns {number} - */ - getIndex(): number; - - /** This method is used to move a slide to the specified index. - * @param {number} index of an slide - * @returns {void} - */ - gotoIndex(index: number): void; - - /** This method is used to pause autoplay. - * @returns {void} - */ - pause(): void; - - /** This method is used to move slides continuously (or start autoplay) in the specified autoplay direction. - * @returns {void} - */ - play(): void; - - /** This method is used to move to the next slide from the current slide. If the current slide is the last slide, then the first slide will be treated as the next slide. - * @returns {void} - */ - slideNext(): void; - - /** This method is used to move to the previous slide from the current slide. If the current slide is the first slide, then the last slide will be treated as the previous slide. - * @returns {void} - */ - slidePrevious(): void; - - /** This method is used to update/modify the slide content of template rotator by using id based on index value. - * @param {number} index of an slide - * @param {string} id of a new updated slide - * @returns {void} - */ - updateTemplateById(index: number, id: string): void; -} -export namespace Rotator { - - export interface Model { - - /** Turns on keyboard interaction with the Rotator items. You must set this property to true to access the following keyboard shortcuts: - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Sets the animationSpeed of slide transition. - * @Default {600} - */ - animationSpeed?: string | number; - - /** Specifies the animationType type for the Rotator Item. animationType options include slide, fastSlide, slowSlide, and other custom easing animationTypes. - * @Default {slide} - */ - animationType?: string; - - /** Enables the circular mode item rotation. - * @Default {true} - */ - circularMode?: boolean; - - /** Specify the CSS class to Rotator to achieve custom theme. - */ - cssClass?: string; - - /** Specify the list of data which contains a set of data fields. Each data value is used to render an item for the Rotator. - * @Default {null} - */ - dataSource?: any; - - /** Sets the delay between the Rotator Items move after the slide transition. - * @Default {500} - */ - delay?: number; - - /** Specifies the number of Rotator Items to be displayed. - * @Default {1} - */ - displayItemsCount?: string | number; - - /** Rotates the Rotator Items continuously without user interference. - * @Default {false} - */ - enableAutoPlay?: boolean; - - /** Enables or disables the Rotator control. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies right to left transition of slides. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines mapping fields for the data items of the Rotator. - * @Default {null} - */ - fields?: Fields; - - /** Sets the space between the Rotator Items. - */ - frameSpace?: string | number; - - /** Resizes the Rotator when the browser is resized. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the number of Rotator Items to navigate on a single click (next/previous/play buttons). - * The navigateSteps property value must be less than or equal to the displayItemsCount property value. - * @Default {1} - */ - navigateSteps?: string | number; - - /** Specifies the orientation for the Rotator control, that is, whether it must be rendered horizontally or vertically. See Orientation - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the position of the showPager in the Rotator Item. See PagerPosition - * @Default {outside} - */ - pagerPosition?: string | ej.Rotator.PagerPosition; - - /** Retrieves data from remote data. This property is applicable only when a remote data source is used. - * @Default {null} - */ - query?: string; - - /** If the Rotator Item is an image, you can specify a caption for the Rotator Item. The caption text for each Rotator Item must be set by using the title attribute of the respective tag. - * The caption cannot be displayed if multiple Rotator Items are present. - * @Default {false} - */ - showCaption?: boolean; - - /** Turns on or off the slide buttons (next and previous) in the Rotator Items. Slide buttons are used to navigate the Rotator Items. - * @Default {true} - */ - showNavigateButton?: boolean; - - /** Turns on or off the pager support in the Rotator control. The Pager is used to navigate the Rotator Items. - * @Default {true} - */ - showPager?: boolean; - - /** Enable play / pause button on rotator. - * @Default {false} - */ - showPlayButton?: boolean; - - /** Turns on or off thumbnail support in the Rotator control. Thumbnail is used to navigate between slides. Thumbnail supports only single slide transition - * You must specify the source for thumbnail elements through the thumbnailSourceID property. - * @Default {false} - */ - showThumbnail?: boolean; - - /** Sets the height of a Rotator Item. - */ - slideHeight?: string | number; - - /** Sets the width of a Rotator Item. - */ - slideWidth?: string | number; - - /** Sets the index of the slide that must be displayed first. - * @Default {0} - */ - startIndex?: string | number; - - /** Pause the auto play while hover on the rotator content. - * @Default {false} - */ - stopOnHover?: boolean; - - /** The template to display the Rotator widget with customized appearance. - * @Default {null} - */ - template?: string; - - /** The templateId enables to bind multiple customized template items in Rotator. - * @Default {null} - */ - templateId?: any[]; - - /** Specifies the source for thumbnail elements. - * @Default {null} - */ - thumbnailSourceID?: any; - - /** This event is fired when the Rotator slides are changed. */ - change?(e: ChangeEventArgs): void; - - /** This event is fired when the Rotator control is initialized. */ - create?(e: CreateEventArgs): void; - - /** This event is fired when the Rotator control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** This event is fired when a pager is clicked. */ - pagerClick?(e: PagerClickEventArgs): void; - - /** This event is fired when enableAutoPlay is started. */ - start?(e: StartEventArgs): void; - - /** This event is fired when autoplay is stopped or paused. */ - stop?(e: StopEventArgs): void; - - /** This event is fired when a thumbnail pager is clicked. */ - thumbItemClick?(e: ThumbItemClickEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface PagerClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface ThumbItemClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the rotator model - */ - model?: ej.Rotator.Model; - - /** returns the name of the event - */ - type?: string; - - /** the current rotator id. - */ - itemId?: string; - - /** returns the current slide index. - */ - activeItemIndex?: number; - } - - export interface Fields { - - /** Specifies a link for the image. - */ - linkAttribute?: string; - - /** Specifies where to open a given link. - */ - targetAttribute?: string; - - /** Specifies a caption for the image. - */ - text?: string; - - /** Specifies a caption for the thumbnail image. - */ - thumbnailText?: string; - - /** Specifies the URL for an thumbnail image. - */ - thumbnailUrl?: string; - - /** Specifies the URL for an image. - */ - url?: string; - } - - enum PagerPosition { - - ///string - BottomLeft, - - ///string - BottomRight, - - ///string - Outside, - - ///string - TopCenter, - - ///string - TopLeft, - - ///string - TopRight - } - -} - -class RTE extends ej.Widget { - static fn: RTE; - constructor(element: JQuery | Element, options?: RTE.Model); - static Locale: any; - model: RTE.Model; - defaults: RTE.Model; - - /** Returns the range object. - * @returns {any} - */ - createRange(): any; - - /** Disables the RTE control. - * @returns {void} - */ - disable(): void; - - /** Disables the corresponding tool in the RTE ToolBar. - * @returns {void} - */ - disableToolbarItem(): void; - - /** Enables the RTE control. - * @returns {void} - */ - enable(): void; - - /** Enables the corresponding tool in the toolbar when the tool is disabled. - * @returns {void} - */ - enableToolbarItem(): void; - - /** Performs the action value based on the given command. - * @returns {void} - */ - executeCommand(): void; - - /** Focuses the RTE control. - * @returns {void} - */ - focus(): void; - - /** Gets the command status of the selected text based on the given comment in the RTE control. - * @returns {boolean} - */ - getCommandStatus(): boolean; - - /** Gets the Document from the RTE control. - * @returns {Document} - */ - getDocument(): Document; - - /** Gets the HTML string from the RTE control. - * @returns {HTMLElement} - */ - getHtml(): HTMLElement; - - /** Gets the selected HTML string from the RTE control. - * @returns {HTMLElement} - */ - getSelectedHtml(): HTMLElement; - - /** Gets the content as string from the RTE control. - * @returns {string} - */ - getText(): string; - - /** Hides the RTE control. - * @returns {void} - */ - hide(): void; - - /** Inserts new item to the target contextmenu node. - * @returns {void} - */ - insertMenuOption(): void; - - /** Add a table column at the right or left of the specified cell - * @param {boolean} If it’s true, add a column at the left of the cell, otherwise add a column at the right of the cell - * @param {JQuery} Column will be added based on the given cell element - * @returns {HTMLElement} - */ - insertColumn(before?: boolean, cell?: JQuery): HTMLElement; - - /** To add a table row below or above the specified cell. - * @param {boolean} If it’s true, add a row before the cell, otherwise add a row after the cell - * @param {JQuery} Row will be added based on the given cell element - * @returns {HTMLElement} - */ - insertRow(before?: boolean, cell?: JQuery): HTMLElement; - - /** This method helps to insert/paste the content at the current cursor (caret) position or the selected content to be replaced with our text by passing the value as parameter to the - * pasteContent method in the Editor. - * @returns {void} - */ - pasteContent(): void; - - /** Refreshes the RTE control. - * @returns {void} - */ - refresh(): void; - - /** Removes the specified table column. - * @param {JQuery} Remove the given column element - * @returns {void} - */ - removeColumn(cell?: JQuery): void; - - /** Removes the specified table row. - * @param {JQuery} Remove the given row element - * @returns {void} - */ - removeRow(cell?: JQuery): void; - - /** Deletes the specified table. - * @param {JQuery} Remove the given table - * @returns {void} - */ - removeTable(table?: JQuery): void; - - /** Removes the target menu item from the RTE contextmenu. - * @returns {void} - */ - removeMenuOption(): void; - - /** Removes the given tool from the RTE Toolbar. - * @returns {void} - */ - removeToolbarItem(): void; - - /** Selects all the contents within the RTE. - * @returns {void} - */ - selectAll(): void; - - /** Selects the contents in the given range. - * @returns {void} - */ - selectRange(): void; - - /** Sets the color picker model type rendered initially in the RTE control. - * @returns {void} - */ - setColorPickerType(): void; - - /** Sets the HTML string from the RTE control. - * @returns {void} - */ - setHtml(): void; - - /** Displays the RTE control. - * @returns {void} - */ - show(): void; -} -export namespace RTE { - - export interface Model { - - /** Enables/disables the editing of the content. - * @Default {True} - */ - allowEditing?: boolean; - - /** RTE control can be accessed through the keyboard shortcut keys. - * @Default {True} - */ - allowKeyboardNavigation?: boolean; - - /** When the property is set to true, it focuses the RTE at the time of rendering. - * @Default {false} - */ - autoFocus?: boolean; - - /** Based on the content size, its height is adjusted instead of adding the scrollbar. - * @Default {false} - */ - autoHeight?: boolean; - - /** Sets the colorCode to display the color of the fontColor and backgroundColor in the font tools of the RTE. - * @Default {[000000, FFFFFF, C4C4C4, ADADAD, 595959, 262626, 4f81bd, dbe5f1, b8cce4, 95b3d7, 366092, 244061, c0504d, f2dcdb, e5b9b7, d99694, 953734,632423, 9bbb59, - * ebf1dd, d7e3bc, c3d69b, 76923c, 4f6128, 8064a2, e5e0ec, ccc1d9, b2a2c7, 5f497a, 3f3151, f79646, fdeada, fbd5b5, fac08f,e36c09, 974806]} - */ - colorCode?: any; - - /** The number of columns given are rendered in the color palate popup. - * @Default {6} - */ - colorPaletteColumns?: number; - - /** The number of rows given are rendered in the color palate popup. - * @Default {6} - */ - colorPaletteRows?: number; - - /** Sets the root class for the RTE theme. This cssClass API helps the usage of custom skinning option for the RTE control by including this root class in CSS. - */ - cssClass?: string; - - /** Enables/disables the RTE control’s accessibility or interaction. - * @Default {True} - */ - enabled?: boolean; - - /** When the property is set to true, it returns the encrypted text. - * @Default {false} - */ - enableHtmlEncode?: boolean; - - /** Maintain the values of the RTE after page reload. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Shows the resize icon and enables the resize option in the RTE. - * @Default {True} - */ - enableResize?: boolean; - - /** Shows the RTE in the RTL direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Formats the contents based on the XHTML rules. - * @Default {false} - */ - enableXHTML?: boolean; - - /** Enables the tab key action with the RichTextEditor content. - * @Default {True} - */ - enableTabKeyNavigation?: boolean; - - /** This API allows to enable url and fileName for pdf export. - * @Default {null} - */ - exportToPdfSettings?: ExportToPdfSettings; - - /** This API allows to enable url and fileName for word export. - * @Default {null} - */ - exportToWordSettings?: ExportToWordSettings; - - /** Load the external CSS file inside Iframe. - * @Default {null} - */ - externalCSS?: string; - - /** This API allows to enable the file browser support in the RTE control to browse, create, delete and upload the files in the specified current directory. - * @Default {null} - */ - fileBrowser?: FileBrowser; - - /** Sets the fontName in the RTE. - * @Default {{text: Segoe UI, value: Segoe UI },{text: Arial, value: Arial,Helvetica,sans-serif },{text: Courier New, value: Courier New,Courier,Monospace }, - * {text: Georgia, value: Georgia,serif },{text: Impact, value: Impact,Charcoal,sans-serif },{text: Lucida Console, value: Lucida Console,Monaco,Monospace }, - * {text: Tahoma, value: Tahoma,Geneva,sans-serif },{text: Times New Roman, value: Times New Roman },{text: Trebuchet MS, value: Trebuchet MS,Helvetica,sans-serif }, - * {text: Verdana, value: Verdana,Geneva,sans-serif}} - */ - fontName?: any; - - /** Sets the fontSize in the RTE. - * @Default {{ text: 1, value: 1 },{ text: 2 (10pt), value: 2 },{ text: 3 (12pt), value: 3 },{ text: 4 (14pt), value: 4 },{ text: 5 (18pt), value: 5 }, - * { text: 6 (24pt), value: 6 },{ text: 7 (36pt), value: 7 }} - */ - fontSize?: any; - - /** Sets the format in the RTE. - * @Default {{ text: Paragraph, value: <p>, spriteCssClass: e-paragraph },{ text: Quotation, value: <blockquote>, spriteCssClass: e-quotation }, - * { text: Heading 1, value: <h1>, spriteCssClass: e-h1 },{ text: Heading 2, value: <h2>, spriteCssClass: e-h2 },{ text: Heading 3, value: <h3>, spriteCssClass: e-h3 }, - * { text: Heading 4, value: <h4>, spriteCssClass: e-h4 },{ text: Heading 5, value: <h5>, spriteCssClass: e-h5 },{ text: Heading 6, value: <h6>, spriteCssClass: e-h6}} - */ - format?: string; - - /** Defines the height of the RTE textbox. - * @Default {370} - */ - height?: string | number; - - /** Specifies the HTML Attributes of the ejRTE. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the given attributes to the iframe body element. - * @Default {{}} - */ - iframeAttributes?: any; - - /** This API allows the image browser to support in the RTE control to browse, create, delete, and upload the image files to the specified current directory. - * @Default {null} - */ - imageBrowser?: ImageBrowser; - - /** This API allows to enable the url for connecting to RTE import. - * @Default {null} - */ - importSettings?: ImportSettings; - - /** Enables/disables responsive support for the RTE control toolbar items during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Sets the culture in the RTE when you set the localization values are needs to be assigned to the corresponding text as follows. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum height for the RTE outer wrapper element. - * @Default {null} - */ - maxHeight?: string | number; - - /** Sets the maximum length for the RTE outer wrapper element. - * @Default {7000} - */ - maxLength?: number; - - /** Sets the maximum width for the RTE outer wrapper element. - * @Default {null} - */ - maxWidth?: string | number; - - /** Sets the minimum height for the RTE outer wrapper element. - * @Default {280} - */ - minHeight?: string | number; - - /** Sets the minimum width for the RTE outer wrapper element. - * @Default {400} - */ - minWidth?: string | number; - - /** Sets the name in the RTE. When the name value is not initialized, the ID value is assigned to the name. - */ - name?: string; - - /** Shows ClearAll icon in the RTE footer. - * @Default {false} - */ - showClearAll?: boolean; - - /** Shows the clear format in the RTE footer. - * @Default {true} - */ - showClearFormat?: boolean; - - /** Shows the Custom Table in the RTE. - * @Default {True} - */ - showCustomTable?: boolean; - - /** The showContextMenu property helps to enable custom context menu within editor area. - * @Default {True} - */ - showContextMenu?: boolean; - - /** This API is used to set the default dimensions for the image and video. When this property is set to true, the image and video dialog displays the dimension option. - * @Default {false} - */ - showDimensions?: boolean; - - /** Shows the FontOption in the RTE. - * @Default {True} - */ - showFontOption?: boolean; - - /** Shows footer in the RTE. When the footer is enabled, it displays the HTML tag, word Count, character count, clear format, resize icon and clear all the content icons, by default. - * @Default {false} - */ - showFooter?: boolean; - - /** Shows the HtmlSource in the RTE footer. - * @Default {false} - */ - showHtmlSource?: boolean; - - /** When the cursor is placed or when the text is selected in the RTE, it displays the tag info in the footer. - * @Default {True} - */ - showHtmlTagInfo?: boolean; - - /** Shows the toolbar in the RTE. - * @Default {True} - */ - showToolbar?: boolean; - - /** Counts the total characters and displays it in the RTE footer. - * @Default {True} - */ - showCharCount?: boolean; - - /** Enables or disables rounded corner UI look for RTE. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Counts the total words and displays it in the RTE footer. - * @Default {True} - */ - showWordCount?: boolean; - - /** The given number of columns render the insert table pop. - * @Default {10} - */ - tableColumns?: number; - - /** The given number of rows render the insert table pop. - * @Default {8} - */ - tableRows?: number; - - /** Sets the tools in the RTE and gets the inner display order of the corresponding group element. Tools are dependent on the toolsList property. - * @Default {formatStyle: [format],style: [bold, italic, underline, strikethrough],alignment: [justifyLeft, justifyCenter, justifyRight, justifyFull],lists: [unorderedList, orderedList], - * indenting: [outdent, indent],doAction: [undo, redo],links: [createLink,removeLink],images: [image],media: [video],tables: [createTable, addRowAbove, addRowBelow, - * addColumnLeft, addColumnRight, deleteRow, deleteColumn, deleteTable]],view:[“fullScreen”,zoomIn,zoomOut],print:[print]} - */ - tools?: Tools; - - /** Specifies the list of groups and order of those groups displayed in the RTE toolbar. The toolsList property is used to get the root group order and tools property is used to get the - * inner order of the corresponding groups displayed. When the value is not specified, it gets its default display order and tools. - * @Default {[formatStyle, font, style, effects, alignment, lists, indenting, clipboard, doAction, clear, links, images, media, tables, casing,view, customTools,print,edit]} - */ - toolsList?: any[]; - - /** Display the hints for the tools in the Toolbar. - * @Default {{ associate: mouseenter, showShadow: true, position: { stem: { horizontal: left, vertical: top } }, tip: { size: { width: 5, height: 5 }, isBalloon: false }} - */ - tooltipSettings?: any; - - /** Gets the undo stack limit. - * @Default {50} - */ - undoStackLimit?: number; - - /** The given string value is displayed in the editable area. - * @Default {null} - */ - value?: string; - - /** Sets the jQuery validation rules to the Rich Text Editor. - * @Default {null} - */ - validationRules?: any; - - /** Sets the jQuery validation error message to the Rich Text Editor. - * @Default {null} - */ - validationMessage?: any; - - /** Defines the width of the RTE textbox. - * @Default {786} - */ - width?: string | number; - - /** Increases and decreases the contents zoom range in percentage - * @Default {0.05} - */ - zoomStep?: string | number; - - /** Fires when changed successfully. */ - change?(e: ChangeEventArgs): void; - - /** Fires when the RTE is created successfully */ - create?(e: CreateEventArgs): void; - - /** Fires when mouse click on menu items. */ - contextMenuClick?(e: ContextMenuClickEventArgs): void; - - /** Fires before the RTE is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the commands are executed successfully. */ - execute?(e: ExecuteEventArgs): void; - - /** Fires when the keydown action is successful. */ - keydown?(e: KeydownEventArgs): void; - - /** Fires when the keyup action is successful. */ - keyup?(e: KeyupEventArgs): void; - - /** Fires before the RTE Edit area is rendered and after the toolbar is rendered. */ - preRender?(e: PreRenderEventArgs): void; - - /** Fires when the text is selected in the text area */ - select?(e: SelectEventArgs): void; - } - - export interface ChangeEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the RTE model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface ContextMenuClickEventArgs { - - /** returns clicked menu item text. - */ - text?: string; - - /** returns clicked menu item element. - */ - element?: any; - - /** returns the selected item. - */ - selectedItem?: number; - } - - export interface DestroyEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface ExecuteEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface KeydownEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface KeyupEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface PreRenderEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface SelectEventArgs { - - /** When the event is canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the RTE model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the event object - */ - event?: any; - } - - export interface ExportToPdfSettings { - - /** This API is used to receive the server-side handler for export related operations. - */ - url?: string; - - /** Specifies the file name for the exported pdf file. - */ - fileName?: string; - } - - export interface ExportToWordSettings { - - /** This API is used to receive the server-side handler for export related operations. - */ - url?: string; - - /** Specifies the file name for the exported word file. - */ - fileName?: string; - } - - export interface FileBrowser { - - /** This API is used to receive the server-side handler for file related operations. - */ - ajaxAction?: string; - - /** Specifies the file type extension shown in the file browser window. - */ - extensionAllow?: string; - - /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected files to the current directory. - */ - filePath?: string; - } - - export interface ImageBrowser { - - /** This API is used to receive the server-side handler for the file related operations. - */ - ajaxAction?: string; - - /** Specifies the file type extension shown in the image browser window. - */ - extensionAllow?: string; - - /** Specifies the directory to perform operations like create, delete and rename folder and files, and upload the selected images to the current directory. - */ - filePath?: string; - } - - export interface ImportSettings { - - /** This API is used to receive the server-side handler for import operations. - */ - url?: string; - } - - export interface ToolsCustomOrderedList { - - /** Specifies the name for customOrderedList item. - */ - name?: string; - - /** Specifies the title for customOrderedList item. - */ - tooltip?: string; - - /** Specifies the styles for customOrderedList item. - */ - css?: string; - - /** Specifies the text for customOrderedList item. - */ - text?: string; - - /** Specifies the list style for customOrderedList item. - */ - listStyle?: string; - - /** Specifies the image for customOrderedList item. - */ - listImage?: string; - } - - export interface ToolsCustomUnorderedList { - - /** Specifies the name for customUnorderedList item. - */ - name?: string; - - /** Specifies the title for customUnorderedList item. - */ - tooltip?: string; - - /** Specifies the styles for customUnorderedList item. - */ - css?: string; - - /** Specifies the text for customUnorderedList item. - */ - text?: string; - - /** Specifies the list style for customUnorderedList item. - */ - listStyle?: string; - - /** Specifies the image for customUnorderedList item. - */ - listImage?: string; - } - - export interface Tools { - - /** Specifies the alignment tools and the display order of this tool in the RTE toolbar. - */ - alignment?: any; - - /** Specifies the casing tools and the display order of this tool in the RTE toolbar. - */ - casing?: any[]; - - /** Specifies the clear tools and the display order of this tool in the RTE toolbar. - */ - clear?: any[]; - - /** Specifies the clipboard tools and the display order of this tool in the RTE toolbar. - */ - clipboard?: any[]; - - /** Specifies the edit tools and the displays tool in the RTE toolbar. - */ - edit?: any[]; - - /** Specifies the doAction tools and the display order of this tool in the RTE toolbar. - */ - doAction?: any[]; - - /** Specifies the effect of tools and the display order of this tool in RTE toolbar. - */ - effects?: any[]; - - /** Specifies the font tools and the display order of this tool in the RTE toolbar. - */ - font?: any[]; - - /** Specifies the formatStyle tools and the display order of this tool in the RTE toolbar. - */ - formatStyle?: any[]; - - /** Specifies the image tools and the display order of this tool in the RTE toolbar. - */ - images?: any[]; - - /** Specifies the indent tools and the display order of this tool in the RTE toolbar. - */ - indenting?: any[]; - - /** Specifies the link tools and the display order of this tool in the RTE toolbar. - */ - links?: any[]; - - /** Specifies the list tools and the display order of this tool in the RTE toolbar. - */ - lists?: any[]; - - /** Specifies the media tools and the display order of this tool in the RTE toolbar. - */ - media?: any[]; - - /** Specifies the style tools and the display order of this tool in the RTE toolbar. - */ - style?: any[]; - - /** Specifies the table tools and the display order of this tool in the RTE toolbar. - */ - tables?: any[]; - - /** Specifies the view tools and the display order of this tool in the RTE toolbar. - */ - view?: any[]; - - /** Specifies the print tools and the display order of this tool in the RTE toolbar. - */ - print?: any[]; - - /** Specifies the importExport tools and the display order of this tool in the RTE toolbar. - */ - importExport?: any[]; - - /** Specifies the customOrderedList tools and the display order of this tool in the RTE toolbar. - */ - customOrderedList?: ToolsCustomOrderedList[]; - - /** Specifies the customUnOrderedList tools and the display order of this tool in the RTE toolbar. - */ - customUnorderedList?: ToolsCustomUnorderedList[]; - } -} - -class Slider extends ej.Widget { - static fn: Slider; - constructor(element: JQuery | Element, options?: Slider.Model); - static Locale: any; - model: Slider.Model; - defaults: Slider.Model; - - /** To disable the slider - * @returns {void} - */ - disable(): void; - - /** To enable the slider - * @returns {void} - */ - enable(): void; - - /** To get value from slider handle - * @returns {number} - */ - getValue(): number; - - /** To set value to slider handle.By default animation is false while set the value. If you want to enable the animation, pass the enableAnimation as true to this method. - * @returns {void} - */ - setValue(): void; -} -export namespace Slider { - - export interface Model { - - /** Specifies the allowMouseWheel of the slider. - * @Default {false} - */ - allowMouseWheel?: boolean; - - /** Specifies the animationSpeed of the slider. - * @Default {500} - */ - animationSpeed?: number; - - /** Specify the CSS class to slider to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the animation behavior of the slider. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the state of the slider. - * @Default {true} - */ - enabled?: boolean; - - /** Specify the enablePersistence to slider to save current model value to browser cookies for state maintains - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specifies the Right to Left Direction of the slider. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the slider. - * @Default {14} - */ - height?: string; - - /** Specifies the HTML Attributes of the ejSlider. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the incremental step value of the slider. - * @Default {1} - */ - incrementStep?: number; - - /** Specifies the distance between two major (large) ticks from the scale of the slider. - * @Default {10} - */ - largeStep?: number; - - /** Specifies the ending value of the slider. - * @Default {100} - */ - maxValue?: number; - - /** Specifies the starting value of the slider. - * @Default {0} - */ - minValue?: number; - - /** Specifies the orientation of the slider. - * @Default {ej.orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the readOnly of the slider. - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies the rounded corner behavior for slider. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Shows/Hide the major (large) and minor (small) ticks in the scale of the slider. - * @Default {false} - */ - showScale?: boolean; - - /** Specifies the small ticks from the scale of the slider. - * @Default {true} - */ - showSmallTicks?: boolean; - - /** Specifies the showTooltip to shows the current Slider value, while moving the Slider handle or clicking on the slider handle of the slider. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the sliderType of the slider. - * @Default {ej.SliderType.Default} - */ - sliderType?: ej.slider.sliderType | string; - - /** Specifies the distance between two minor (small) ticks from the scale of the slider. - * @Default {1} - */ - smallStep?: number; - - /** Specifies the value of the slider. But it's not applicable for range slider. To range slider we can use values property. - * @Default {0} - */ - value?: number; - - /** Specifies the values of the range slider. But it's not applicable for default and minRange sliders. we can use value property for default and minRange sliders. - * @Default {[minValue,maxValue]} - */ - values?: any[]; - - /** Specifies the width of the slider. - * @Default {100%} - */ - width?: string; - - /** Fires once Slider control value is changed successfully. */ - change?(e: ChangeEventArgs): void; - - /** Fires once Slider control has been created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when Slider control has been destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires once Slider control is sliding successfully. */ - slide?(e: SlideEventArgs): void; - - /** Fires once Slider control is started successfully. */ - start?(e: StartEventArgs): void; - - /** Fires when Slider control is stopped successfully. */ - stop?(e: StopEventArgs): void; - - /** Fires when display the custom tooltip */ - tooltipChange?(e: TooltipChangeEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id. - */ - id?: string; - - /** returns the slider model. - */ - model?: ej.Slider.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns the slider value. - */ - value?: number; - - /** returns true if event triggered by interaction else returns false. - */ - isInteraction?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface SlideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; - } - - export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; - } - - export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns current handle number or index - */ - sliderIndex?: number; - - /** returns slider id - */ - id?: string; - - /** returns the slider model - */ - model?: ej.Slider.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the slider value - */ - value?: number; - } - - export interface TooltipChangeEventArgs { - /** Returns the cancel option value. - */ - cancel?: boolean; - } -} -namespace slider { - enum sliderType { - //Shows default slider - Default, - //Shows minRange slider - MinRange, - //Shows Range slider - Range, - } -} - -class SplitButton extends ej.Widget { - static fn: SplitButton; - constructor(element: JQuery | Element, options?: SplitButton.Model); - static Locale: any; - model: SplitButton.Model; - defaults: SplitButton.Model; - - /** Destroy the split button widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To disable the split button - * @returns {void} - */ - disable(): void; - - /** To Enable the split button - * @returns {void} - */ - enable(): void; - - /** To hide the list content of the split button. - * @returns {void} - */ - hide(): void; - - /** To show the list content of the split button. - * @returns {void} - */ - show(): void; -} -export namespace SplitButton { - - export interface Model { - - /** Specifies the arrowPosition of the Split or Dropdown Button.See arrowPosition - * @Default {ej.ArrowPosition.Right} - */ - arrowPosition?: string | ej.ArrowPosition; - - /** Specifies the buttonMode like Split or Dropdown Button.See ButtonMode - * @Default {ej.ButtonMode.Split} - */ - buttonMode?: string | ej.ButtonMode; - - /** Specifies the contentType of the Split Button.See ContentType - * @Default {ej.ContentType.TextOnly} - */ - contentType?: string | ej.ContentType; - - /** Set the root class for Split Button control theme - */ - cssClass?: string; - - /** Specifies the disabling of Split Button if enabled is set to false. - * @Default {true} - */ - enabled?: boolean; - - /** Specifies the enableRTL property for Split Button while initialization. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the Split Button. - * @Default {“”} - */ - height?: string | number; - - /** Specifies the HTML Attributes of the Split Button. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the imagePosition of the Split Button.See imagePositions - * @Default {ej.ImagePosition.ImageRight} - */ - imagePosition?: string | ej.ImagePosition; - - /** Specifies the image content for Split Button while initialization. - */ - prefixIcon?: string; - - /** Specifies the showRoundedCorner property for Split Button while initialization. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the Button. See ButtonSize - * @Default {ej.ButtonSize.Normal} - */ - size?: string | ej.ButtonSize; - - /** Specifies the image content for Split Button while initialization. - */ - suffixIcon?: string; - - /** Specifies the list content for Split Button while initialization - */ - targetID?: string; - - /** Specifies the text content for Split Button while initialization. - */ - text?: string; - - /** Specifies the width of the Split Button. - * @Default {“”} - */ - width?: string | number; - - /** Fires before menu of the split button control is opened. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when Button control is clicked successfully */ - click?(e: ClickEventArgs): void; - - /** Fires before the list content of Button control is closed */ - close?(e: CloseEventArgs): void; - - /** Fires after Split Button control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the Split Button is destroyed successfully */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when a menu item is Hovered out successfully */ - itemMouseOut?(e: ItemMouseOutEventArgs): void; - - /** Fires when a menu item is Hovered in successfully */ - itemMouseOver?(e: ItemMouseOverEventArgs): void; - - /** Fires when a menu item is clicked successfully */ - itemSelected?(e: ItemSelectedEventArgs): void; - - /** Fires before the list content of Button control is opened */ - open?(e: OpenEventArgs): void; - } - - export interface BeforeOpenEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ClickEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** return the button state - */ - status?: boolean; - } - - export interface CloseEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemMouseOutEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** return the menu item id - */ - ID?: string; - - /** return the clicked menu item text - */ - Text?: string; - } - - export interface ItemMouseOverEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** return the menu item id - */ - ID?: string; - - /** return the clicked menu item text - */ - Text?: string; - } - - export interface ItemSelectedEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the clicked menu item element - */ - element?: any; - - /** returns the selected item - */ - selectedItem?: any; - - /** return the menu id - */ - menuId?: string; - - /** return the clicked menu item text - */ - menuText?: string; - } - - export interface OpenEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the split button model - */ - model?: ej.SplitButton.Model; - - /** returns the name of the event - */ - type?: string; - } -} -enum ArrowPosition { - //To set Left arrowPosition of the split button - Left, - //To set Right arrowPosition of the split button - Right, - //To set Top arrowPosition of the split button - Top, - //To set Bottom arrowPosition of the split button - Bottom, -} - -class Splitter extends ej.Widget { - static fn: Splitter; - constructor(element: JQuery | Element, options?: Splitter.Model); - static Locale: any; - model: Splitter.Model; - defaults: Splitter.Model; - - /** To add a new pane to splitter control. - * @param {string} content of pane. - * @param {any} pane properties. - * @param {number} index of pane. - * @returns {HTMLElement} - */ - addItem(content: string, property: any, index: number): HTMLElement; - - /** To collapse the splitter control pane. - * @param {number} index number of pane. - * @returns {void} - */ - collapse(paneIndex: number): void; - - /** To expand the splitter control pane. - * @param {number} index number of pane. - * @returns {void} - */ - expand(paneIndex: number): void; - - /** To refresh the splitter control pane resizing. - * @returns {void} - */ - refresh(): void; - - /** To remove a specified pane from the splitter control. - * @param {number} index of pane. - * @returns {void} - */ - removeItem(index: number): void; -} -export namespace Splitter { - - export interface Model { - - /** Turns on keyboard interaction with the Splitter panes. You must set this property to true to access the keyboard shortcuts of ejSplitter. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specify animation speed for the Splitter pane movement, while collapsing and expanding. - * @Default {300} - */ - animationSpeed?: number; - - /** Specify the CSS class to splitter control to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Specifies the animation behavior of the splitter. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Specifies the splitter control to be displayed in right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specify height for splitter control. - * @Default {null} - */ - height?: string; - - /** Specifies the HTML Attributes of the Splitter. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specify window resizing behavior for splitter control. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specify the orientation for splitter control. See orientation - * @Default {ej.orientation.Horizontal or “horizontal”} - */ - orientation?: ej.Orientation | string; - - /** Specify properties for each pane like paneSize, minSize, maxSize, collapsible, expandable, resizable. - * @Default {[]} - */ - properties?: any[]; - - /** Specify width for splitter control. - * @Default {null} - */ - width?: string; - - /** Fires before expanding / collapsing the split pane of splitter control. */ - beforeExpandCollapse?(e: BeforeExpandCollapseEventArgs): void; - - /** Fires when splitter control pane has been created. */ - create?(e: CreateEventArgs): void; - - /** Fires when splitter control pane has been destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when expand / collapse operation in splitter control pane has been performed successfully. */ - expandCollapse?(e: ExpandCollapseEventArgs): void; - - /** Fires when resize in splitter control pane. */ - resize?(e: ResizeEventArgs): void; - } - - export interface BeforeExpandCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns collapsed pane details. - */ - collapsed?: any; - - /** returns expanded pane details. - */ - expanded?: any; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the current split bar index. - */ - splitbarIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ExpandCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns collapsed pane details. - */ - collapsed?: any; - - /** returns expanded pane details. - */ - expanded?: any; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the current split bar index. - */ - splitbarIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ResizeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns previous pane details. - */ - prevPane?: any; - - /** returns next pane details. - */ - nextPane?: any; - - /** returns the splitter model. - */ - model?: ej.Splitter.Model; - - /** returns the current split bar index. - */ - splitbarIndex?: number; - - /** returns the name of the event. - */ - type?: string; - } -} - -class Tab extends ej.Widget { - static fn: Tab; - constructor(element: JQuery | Element, options?: Tab.Model); - static Locale: any; - model: Tab.Model; - defaults: Tab.Model; - - /** Add new tab items with given name, URL and given index position, if index null it’s add last item. - * @param {string} URL name / tab id. - * @param {string} Tab Display name. - * @param {number} Index position to placed , this is optional. - * @param {string} specifies cssClass, this is optional. - * @param {string} specifies id of tab, this is optional. - * @returns {void} - */ - addItem(URL: string, displayLabel: string, index: number, cssClass: string, id: string): void; - - /** To disable the tab control. - * @returns {void} - */ - disable(): void; - - /** To enable the tab control. - * @returns {void} - */ - enable(): void; - - /** This function get the number of tab rendered - * @returns {number} - */ - getItemsCount(): number; - - /** This function hides the tab control. - * @returns {void} - */ - hide(): void; - - /** This function hides the specified item tab in tab control. - * @param {number} index of tab item. - * @returns {void} - */ - hideItem(index: number): void; - - /** Remove the given index tab item. - * @param {number} index of tab item. - * @returns {void} - */ - removeItem(index: number): void; - - /** This function is to show the tab control. - * @returns {void} - */ - show(): void; - - /** This function helps to show the specified hidden tab item in tab control. - * @param {number} index of tab item. - * @returns {void} - */ - showItem(index: number): void; -} -export namespace Tab { - - export interface Model { - - /** Specifies the ajaxSettings option to load the content to the Tab control. - */ - ajaxSettings?: AjaxSettings; - - /** Tab items interaction with keyboard keys, like headers active navigation. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Allow to collapsing the active item, while click on the active header. - * @Default {false} - */ - collapsible?: boolean; - - /** Set the root class for Tab theme. This cssClass API helps to use custom skinning option for Tab control. - */ - cssClass?: string; - - /** Disables the given tab headers and content panels. - * @Default {[]} - */ - disabledItemIndex?: number[]; - - /** Specifies the animation behavior of the tab. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the tab control. - * @Default {true} - */ - enabled?: boolean; - - /** Enables the given tab headers and content panels. - * @Default {[]} - */ - enabledItemIndex?: number[]; - - /** Save current model value to browser cookies for state maintains. While refresh the Tab control page the model value apply from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Display Right to Left direction for headers and panels text of tab. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specify to enable scrolling for Tab header. - * @Default {false} - */ - enableTabScroll?: boolean; - - /** The event API to bind the action for active the tab items. - * @Default {click} - */ - events?: string; - - /** Specifies the position of Tab header as top, bottom, left or right. See below to get available Position - * @Default {top} - */ - headerPosition?: string | ej.Tab.Position; - - /** Set the height of the tab header element. Default this property value is null, so height take content height. - * @Default {null} - */ - headerSize?: string | number; - - /** Height set the outer panel element. Default this property value is null, so height take content height. - * @Default {null} - */ - height?: string | number; - - /** Adjust the content panel height for given option (content, auto and fill), by default panels height adjust based on the content.See below to get available HeightAdjustMode - * @Default {content} - */ - heightAdjustMode?: string | ej.Tab.HeightAdjustMode; - - /** Specifies to hide a pane of Tab control. - * @Default {[]} - */ - hiddenItemIndex?: any[]; - - /** Specifies the HTML Attributes of the Tab. - * @Default {{}} - */ - htmlAttributes?: any; - - /** The idPrefix property appends the given string on the added tab item id’s in runtime. - * @Default {ej-tab-} - */ - idPrefix?: string; - - /** Specifies the Tab header in active for given index value. - * @Default {0} - */ - selectedItemIndex?: number; - - /** Display the close button for each tab items. While clicking on the close icon, particular tab item will be removed. - * @Default {false} - */ - showCloseButton?: boolean; - - /** Display the Reload button for each tab items. - * @Default {false} - */ - showReloadIcon?: boolean; - - /** Tab panels and headers to be displayed in rounded corner style. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Set the width for outer panel element, if not it’s take parent width. - * @Default {null} - */ - width?: string | number; - - /** Triggered after a tab item activated. */ - itemActive?(e: ItemActiveEventArgs): void; - - /** Triggered before AJAX content has been loaded. */ - ajaxBeforeLoad?(e: AjaxBeforeLoadEventArgs): void; - - /** Triggered if error occurs in AJAX request. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** Triggered after AJAX content load action. */ - ajaxLoad?(e: AjaxLoadEventArgs): void; - - /** Triggered after a tab item activated. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; - - /** Triggered before a tab item activated. */ - beforeActive?(e: BeforeActiveEventArgs): void; - - /** Triggered before a tab item remove. */ - beforeItemRemove?(e: BeforeItemRemoveEventArgs): void; - - /** Triggered before a tab item Create. */ - create?(e: CreateEventArgs): void; - - /** Triggered before a tab item destroy. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered after new tab item add */ - itemAdd?(e: ItemAddEventArgs): void; - - /** Triggered after tab item removed. */ - itemRemove?(e: ItemRemoveEventArgs): void; - } - - export interface ItemActiveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface AjaxBeforeLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns the URL of AJAX request - */ - URL?: string; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface AjaxErrorEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns AJAX data details. - */ - data?: any; - - /** returns the URL of AJAX request. - */ - URL?: string; - } - - export interface AjaxLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns the URL of AJAX request - */ - URL?: string; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface AjaxSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** return AJAX data. - */ - data?: any; - - /** returns AJAX URL - */ - URL?: string; - - /** returns content of AJAX request. - */ - content?: any; - } - - export interface BeforeActiveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns previous active tab header. - */ - prevActiveHeader?: HTMLElement; - - /** returns previous active index. - */ - prevActiveIndex?: number; - - /** returns current active tab header . - */ - activeHeader?: HTMLElement; - - /** returns current active index. - */ - activeIndex?: number; - - /** returns, is it triggered by interaction or not. - */ - isInteraction?: boolean; - } - - export interface BeforeItemRemoveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns current tab item index - */ - index?: number; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ItemAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns new added tab header. - */ - tabHeader?: HTMLElement; - - /** returns new added tab content panel. - */ - tabContent?: any; - } - - export interface ItemRemoveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tab model. - */ - model?: ej.Tab.Model; - - /** returns the name of the event. - */ - type?: string; - - /** returns removed tab header. - */ - removedTab?: HTMLElement; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - * @Default {true} - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - * @Default {false} - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - * @Default {html} - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - * @Default {{}} - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - * @Default {html} - */ - dataType?: string; - - /** It specifies the HTTP request type. - * @Default {get} - */ - type?: string; - } - - enum Position { - - ///Tab headers display to top position - Top, - - ///Tab headers display to bottom position - Bottom, - - ///Tab headers display to left position. - Left, - - ///Tab headers display to right position. - Right - } - - - enum HeightAdjustMode { - - ///string - None, - - ///string - Content, - - ///string - Auto, - - ///string - Fill - } - -} - -class TagCloud extends ej.Widget { - static fn: TagCloud; - constructor(element: JQuery | Element, options?: TagCloud.Model); - static Locale: any; - model: TagCloud.Model; - defaults: TagCloud.Model; - - /** Inserts a new item into the TagCloud - * @param {string} Insert new item into the TagCloud - * @returns {void} - */ - insert(name: string): void; - - /** Inserts a new item into the TagCloud at a particular position. - * @param {string} Inserts a new item into the TagCloud - * @param {number} Inserts a new item into the TagCloud with the specified position - * @returns {void} - */ - insertAt(name: string, position: number): void; - - /** Removes the item from the TagCloud based on the name. It removes all the tags which have the corresponding name - * @param {string} name of the tag. - * @returns {void} - */ - remove(name: string): void; - - /** Removes the item from the TagCloud based on the position. It removes the tags from the the corresponding position only. - * @param {number} position of tag item. - * @returns {void} - */ - removeAt(position: number): void; -} -export namespace TagCloud { - - export interface Model { - - /** Specify the CSS class to button to achieve custom theme. - */ - cssClass?: string; - - /** The dataSource contains the list of data to display in a cloud format. Each data contains a link URL, frequency to categorize the font size and a display text. - * @Default {null} - */ - dataSource?: any; - - /** Sets the TagCloud and tag items direction as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** Defines the mapping fields for the data items of the TagCloud. - * @Default {null} - */ - fields?: Fields; - - /** Specifies the list of HTML attributes to be added to TagCloud control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Defines the format for the TagCloud to display the tag items.See Format - * @Default {ej.Format.Cloud} - */ - format?: string | ej.Format; - - /** Sets the maximum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. - * @Default {40px} - */ - maxFontSize?: string | number; - - /** Sets the minimum font size value for the tag items. The font size for the tag items will be generated in between the minimum and maximum font size values. - * @Default {10px} - */ - minFontSize?: string | number; - - /** Define the query to retrieve the data from online server. The query is used only when the online dataSource is used. - * @Default {null} - */ - query?: any; - - /** Shows or hides the TagCloud title. When this set to false, it hides the TagCloud header. - * @Default {true} - */ - showTitle?: boolean; - - /** Sets the title image for the TagCloud. To show the title image, the showTitle property should be enabled. - * @Default {null} - */ - titleImage?: string; - - /** Sets the title text for the TagCloud. To show the title text, the showTitle property should be enabled. - * @Default {Title} - */ - titleText?: string; - - /** Event triggers when the TagCloud items are clicked */ - click?(e: ClickEventArgs): void; - - /** Event triggers when the TagCloud are created */ - create?(e: CreateEventArgs): void; - - /** Event triggers when the TagCloud are destroyed */ - destroy?(e: DestroyEventArgs): void; - - /** Event triggers when the cursor leaves out from a tag item */ - mouseout?(e: MouseoutEventArgs): void; - - /** Event triggers when the cursor hovers on a tag item */ - mouseover?(e: MouseoverEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface MouseoutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; - } - - export interface MouseoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TagCloud model - */ - model?: ej.TagCloud.Model; - - /** returns the name of the event - */ - type?: string; - - /** return current tag name - */ - text?: string; - - /** return current URL link - */ - URL?: string; - } - - export interface Fields { - - /** Defines the frequency column number to categorize the font size. - */ - frequency?: string; - - /** Defines the HTML attributes column for the anchor elements inside the each tag items. - */ - htmlAttributes?: string; - - /** Defines the tag value or display text. - */ - text?: string; - - /** Defines the URL link to navigate while click the tag. - */ - url?: string; - } -} -enum Format { - //To render the TagCloud items in cloud format - Cloud, - //To render the TagCloud items in list format - List, -} - -class TimePicker extends ej.Widget { - static fn: TimePicker; - constructor(element: JQuery | Element, options?: TimePicker.Model); - static Locale: any; - model: TimePicker.Model; - defaults: TimePicker.Model; - - /** Allows you to disable the TimePicker. - * @returns {void} - */ - disable(): void; - - /** Allows you to enable the TimePicker. - * @returns {void} - */ - enable(): void; - - /** It returns the current time value. - * @returns {string} - */ - getValue(): string; - - /** This method will hide the TimePicker control popup. - * @returns {void} - */ - hide(): void; - - /** Updates the current system time in TimePicker. - * @returns {void} - */ - setCurrentTime(): void; - - /** This method will show the TimePicker control popup. - * @returns {void} - */ - show(): void; -} -export namespace TimePicker { - - export interface Model { - - /** Sets the root CSS class for the TimePicker theme, which is used to customize. - */ - cssClass?: string; - - /** Specifies the list of time range to be disabled. - * @Default {{}} - */ - disableTimeRanges?: any; - - /** Specifies the animation behavior in TimePicker. - * @Default {true} - */ - enableAnimation?: boolean; - - /** When this property is set to false, it disables the TimePicker control. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the TimePicker control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Displays the TimePicker as right to left alignment. - * @Default {false} - */ - enableRTL?: boolean; - - /** When the enableStrictMode is set as true it allows the value outside of the range and also indicate with red color border, - * otherwise it internally changed to the min or max range value based an input value. - * @Default {false} - */ - enableStrictMode?: boolean; - - /** Defines the height of the TimePicker textbox. - */ - height?: string | number; - - /** Sets the step value for increment an hour value through arrow keys or mouse scroll. - * @Default {1} - */ - hourInterval?: number; - - /** It allows to define the characteristics of the TimePicker control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Sets the time interval between the two adjacent time values in the popup. - * @Default {30} - */ - interval?: number; - - /** Defines the localization info used by the TimePicker. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum time value to the TimePicker. - * @Default {11:59:59 PM} - */ - maxTime?: string; - - /** Sets the minimum time value to the TimePicker. - * @Default {12:00:00 AM} - */ - minTime?: string; - - /** Sets the step value for increment the minute value through arrow keys or mouse scroll. - * @Default {1} - */ - minutesInterval?: number; - - /** Defines the height of the TimePicker popup. - * @Default {191px} - */ - popupHeight?: string | number; - - /** Defines the width of the TimePicker popup. - * @Default {auto} - */ - popupWidth?: string | number; - - /** Toggles the readonly state of the TimePicker - * @Default {false} - */ - readOnly?: boolean; - - /** Sets the step value for increment the seconds value through arrow keys or mouse scroll. - * @Default {1} - */ - secondsInterval?: number; - - /** shows or hides the drop down button in TimePicker. - * @Default {true} - */ - showPopupButton?: boolean; - - /** TimePicker is displayed with rounded corner when this property is set to true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Defines the time format displayed in the TimePicker. - * @Default {h:mm tt} - */ - timeFormat?: string; - - /** Sets a specified time value on the TimePicker. - * @Default {null} - */ - value?: string | Date; - - /** Defines the width of the TimePicker textbox. - */ - width?: string | number; - - /** Fires when the time value changed in the TimePicker. */ - beforeChange?(e: BeforeChangeEventArgs): void; - - /** Fires when the TimePicker popup before opened. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Fires when the time value changed in the TimePicker. */ - change?(e: ChangeEventArgs): void; - - /** Fires when the TimePicker popup closed. */ - close?(e: CloseEventArgs): void; - - /** Fires when create TimePicker successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when the TimePicker is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the TimePicker control gets focus. */ - focusIn?(e: FocusInEventArgs): void; - - /** Fires when the TimePicker control get lost focus. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when the TimePicker popup opened. */ - open?(e: OpenEventArgs): void; - - /** Fires when the value is selected from the TimePicker dropdown list. */ - select?(e: SelectEventArgs): void; - } - - export interface BeforeChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the modified time value - */ - value?: string; - } - - export interface BeforeOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the time value - */ - value?: string; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns true when the value changed by user interaction otherwise returns false - */ - isInteraction?: boolean; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the modified time value - */ - value?: string; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the time value - */ - value?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusInEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the current time value - */ - value?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the current time value - */ - value?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the time value - */ - value?: string; - } - - export interface SelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TimePicker model - */ - model?: ej.TimePicker.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the previously selected time value - */ - prevTime?: string; - - /** returns the selected time value - */ - value?: string; - } -} - -class ToggleButton extends ej.Widget { - static fn: ToggleButton; - constructor(element: JQuery | Element, options?: ToggleButton.Model); - static Locale: any; - model: ToggleButton.Model; - defaults: ToggleButton.Model; - - /** Allows you to destroy the ToggleButton widget. - * @returns {void} - */ - destroy(): void; - - /** To disable the ToggleButton to prevent all user interactions. - * @returns {void} - */ - disable(): void; - - /** To enable the ToggleButton. - * @returns {void} - */ - enable(): void; -} -export namespace ToggleButton { - - export interface Model { - - /** Specify the icon in active state to the toggle button and it will be aligned from left margin of the button. - */ - activePrefixIcon?: string; - - /** Specify the icon in active state to the toggle button and it will be aligned from right margin of the button. - */ - activeSuffixIcon?: string; - - /** Sets the text when ToggleButton is in active state i.e.,checked state. - * @Default {null} - */ - activeText?: string; - - /** Specifies the contentType of the ToggleButton. See ContentType as below - * @Default {ej.ContentType.TextOnly} - */ - contentType?: ej.ContentType | string; - - /** Specify the CSS class to the ToggleButton to achieve custom theme. - */ - cssClass?: string; - - /** Specify the icon in default state to the toggle button and it will be aligned from left margin of the button. - */ - defaultPrefixIcon?: string; - - /** Specify the icon in default state to the toggle button and it will be aligned from right margin of the button. - */ - defaultSuffixIcon?: string; - - /** Specifies the text of the ToggleButton, when the control is a default state. i.e., unChecked state. - * @Default {null} - */ - defaultText?: string; - - /** Specifies the state of the ToggleButton. - * @Default {true} - */ - enabled?: boolean; - - /** Save current model value to browser cookies for maintaining states. When refreshing the ToggleButton control page, the model value is applied from browser cookies or HTML 5local storage. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Specify the Right to Left direction of the ToggleButton. - * @Default {false} - */ - enableRTL?: boolean; - - /** Specifies the height of the ToggleButton. - * @Default {28pixel} - */ - height?: number | string; - - /** It allows to define the characteristics of the ToggleButton control. It will helps to extend the capability of an HTML element. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the image position of the ToggleButton. - * @Default {ej.ImagePosition.ImageLeft} - */ - imagePosition?: ej.ImagePosition | string; - - /** Allows to prevents the control switched to checked (active) state. - * @Default {false} - */ - preventToggle?: boolean; - - /** Displays the ToggleButton with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the ToggleButton. See ButtonSize as below - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize | string; - - /** It allows to define the ToggleButton state to checked(Active) or unchecked(Default) at initial time. - * @Default {false} - */ - toggleState?: boolean; - - /** Specifies the type of the ToggleButton. See ButtonType as below - * @Default {ej.ButtonType.Button} - */ - type?: ej.ButtonType | string; - - /** Specifies the width of the ToggleButton. - * @Default {100pixel} - */ - width?: number | string; - - /** Fires when ToggleButton control state is changed successfully. */ - change?(e: ChangeEventArgs): void; - - /** Fires when ToggleButton control is clicked successfully. */ - click?(e: ClickEventArgs): void; - - /** Fires when ToggleButton control is created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when ToggleButton control is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - } - - export interface ChangeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** return the toggle button checked state - */ - isChecked?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** return the toggle button checked state - */ - isChecked?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** return the toggle button state - */ - status?: boolean; - - /** returns the name of the event - */ - type?: string; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the toggle button model - */ - model?: ej.ToggleButton.Model; - - /** returns the name of the event - */ - type?: string; - } -} - -class Toolbar extends ej.Widget { - static fn: Toolbar; - constructor(element: JQuery | Element, options?: Toolbar.Model); - static Locale: any; - model: Toolbar.Model; - defaults: Toolbar.Model; - - /** Deselect the specified Toolbar item. - * @param {any} The element need to be deselected - * @returns {void} - */ - deselectItem(element: any): void; - - /** Deselect the Toolbar item based on specified id. - * @param {string} The ID of the element need to be deselected - * @returns {void} - */ - deselectItemByID(ID: string): void; - - /** Allows you to destroy the Toolbar widget. - * @returns {void} - */ - destroy(): void; - - /** To disable all items in the Toolbar control. - * @returns {void} - */ - disable(): void; - - /** Disable the specified Toolbar item. - * @param {any} The element need to be disabled - * @returns {void} - */ - disableItem(element: any): void; - - /** Disable the Toolbar item based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be disabled - * @returns {void} - */ - disableItemByID(ID: string): void; - - /** Enable the Toolbar if it is in disabled state. - * @returns {void} - */ - enable(): void; - - /** Enable the Toolbar item based on specified item. - * @param {any} The element need to be enabled - * @returns {void} - */ - enableItem(element: any): void; - - /** Enable the Toolbar item based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be enabled - * @returns {void} - */ - enableItemByID(ID: string): void; - - /** To hide the Toolbar - * @returns {void} - */ - hide(): void; - - /** Remove the item from toolbar, based on specified item. - * @param {any} The element need to be removed - * @returns {void} - */ - removeItem(element: any): void; - - /** Remove the item from toolbar, based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be removed - * @returns {void} - */ - removeItemByID(ID: string): void; - - /** Selects the item from toolbar, based on specified item. - * @param {any} The element need to be selected - * @returns {void} - */ - selectItem(element: any): void; - - /** Selects the item from toolbar, based on specified item id in the Toolbar. - * @param {string} The ID of the element need to be selected - * @returns {void} - */ - selectItemByID(ID: string): void; - - /** To show the Toolbar. - * @returns {void} - */ - show(): void; -} -export namespace Toolbar { - - export interface Model { - - /** Sets the root CSS class for Toolbar control to achieve the custom theme. - */ - cssClass?: string; - - /** Specifies dataSource value for the Toolbar control during initialization. - * @Default {null} - */ - dataSource?: any; - - /** Disables an Item or set of Items that are enabled in the Toolbar - * @Default {[]} - */ - disabledItemIndices?: any[]; - - /** Specifies the Toolbar control state. - * @Default {true} - */ - enabled?: boolean; - - /** Enables an Item or set of Items that are disabled in the Toolbar - * @Default {[]} - */ - enabledItemIndices?: any[]; - - /** Specifies enableRTL property to align the Toolbar control from right to left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows to separate the each UL items in the Toolbar control. - * @Default {false} - */ - enableSeparator?: boolean; - - /** Specifies the mapping fields for the data items of the Toolbar - * @Default {null} - */ - fields?: string; - - /** Specifies the height of the Toolbar. - * @Default {28} - */ - height?: number | string; - - /** Specifies the list of HTML attributes to be added to toolbar control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies whether the Toolbar control is need to be show or hide. - * @Default {false} - */ - hide?: boolean; - - /** Enables/Disables the responsive support for Toolbar items during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the items of Toolbar - * @Default {null} - */ - Items?: Items; - - /** Specifies the Toolbar orientation. See orientation - * @Default {Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Specifies the query to retrieve the data from the online server. The query is used only when the online dataSource is used. - * @Default {null} - */ - query?: any; - - /** Specifies the Toolbar responsive type. - * @Default {Popup} - */ - responsiveType?: ej.Toolbar.ResponsiveType | string; - - /** Displays the Toolbar with rounded corners. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the width of the Toolbar. - */ - width?: number | string; - - /** Fires after Toolbar control is clicked. */ - click?(e: ClickEventArgs): void; - - /** Fires after Toolbar control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires after Toolbar control is focused. */ - focusOut?(e: FocusOutEventArgs): void; - - /** Fires when the Toolbar is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires after Toolbar control item is hovered. */ - itemHover?(e: ItemHoverEventArgs): void; - - /** Fires after mouse leave from Toolbar control item. */ - itemLeave?(e: ItemLeaveEventArgs): void; - - /** Fires when the overflow popup of toolbar is opened. */ - overflowOpen?(e: OverflowOpenEventArgs): void; - - /** Fires when the overflow popup of toolbar is closed. */ - overflowClose?(e: OverflowCloseEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** returns the target of the current object. - */ - currentTarget?: any; - - /** return the Toolbar state - */ - status?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface FocusOutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemHoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** returns the target of the current object. - */ - currentTarget?: any; - - /** return the Toolbar state - */ - status?: boolean; - } - - export interface ItemLeaveEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target of the current object. - */ - target?: any; - - /** returns the target of the current object. - */ - currentTarget?: any; - - /** return the Toolbar state - */ - status?: boolean; - } - - export interface OverflowOpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** Returns the current X position of the target . - */ - clientX?: number; - - /** Returns the current Y position of the target . - */ - clientY?: number; - - /** returns the target of the current object. - */ - currentTarget?: any; - } - - export interface OverflowCloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Toolbar model - */ - model?: ej.Toolbar.Model; - - /** returns the name of the event - */ - type?: string; - - /** Returns the current X position of the target . - */ - clientX?: number; - - /** Returns the current Y position of the target . - */ - clientY?: number; - - /** returns the target of the current object. - */ - currentTarget?: any; - } - - export interface Fields { - - /** Defines the group name for the item. - */ - group?: string; - - /** Defines the HTML attributes such as id, class, styles for the item to extend the capability. - */ - htmlAttributes?: any; - - /** Defines id for the tag. - */ - id?: string; - - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; - - /** Defines the imageURL for the image location. - */ - imageUrl?: string; - - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; - - /** Defines the text content for the tag. - */ - text?: string; - - /** Defines the tooltip text for the tag. - */ - tooltipText?: string; - - /** Allows you to add template as toolbar item - */ - template?: string; - } - - export interface Items { - - /** Defines the group name for the item. - */ - group?: string; - - /** Defines the HTML attributes such as id, class, styles for the item . - */ - htmlAttributes?: any; - - /** Defines id for the tag. - */ - id?: string; - - /** Defines the image attributes such as height, width, styles and so on. - */ - imageAttributes?: string; - - /** Defines the imageURL for the image location. - */ - imageUrl?: string; - - /** Defines the sprite CSS for the image tag. - */ - spriteCssClass?: string; - - /** Defines the text content for the tag. - */ - text?: string; - - /** Defines the tooltip text for the tag. - */ - tooltipText?: string; - - /** Allows to add template as toolbar item. - */ - template?: string; - } - - enum ResponsiveType { - - ///To display the toolbar overflow items as popup - Popup, - - ///To display the toolbar overflow items as inline toolbar - Inline - } - -} - -class TreeView extends ej.Widget { - static fn: TreeView; - constructor(element: JQuery | Element, options?: TreeView.Model); - static Locale: any; - model: TreeView.Model; - defaults: TreeView.Model; - - /** To add a Node or collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - addNode(newNodeText: string | any, target: string | any): void; - - /** To add a collection of nodes in TreeView. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {any|Array} New node details in JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - addNodes(collection: any | any[], target: string | any): void; - - /** To check all the nodes in TreeView. - * @returns {void} - */ - checkAll(): void; - - /** To check a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - checkNode(element: string | any | any[]): void; - - /** This method is used to collapse all nodes in TreeView control. If you want to collapse all nodes up to the specific level in - * TreeView control then we need to pass levelUntil as argument to this method. - * @param {number} TreeView nodes will collapse until the given level - * @param {boolean} Weather exclude the hidden nodes of TreeView while collapse all nodes - * @returns {void} - */ - collapseAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; - - /** To collapse a particular node in TreeView. - * @param {string|any|Array} ID of TreeView node|object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - collapseNode(element: string | any | any[]): void; - - /** To disable the node in the TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - disableNode(element: string | any | any[]): void; - - /** To enable the node in the TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - enableNode(element: string | any | any[]): void; - - /** To ensure that the TreeView node is visible in the TreeView. This method is useful if we need select a TreeView node dynamically. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - ensureVisible(element: string | any): boolean; - - /** This method is used to expand all nodes in TreeView control. If you want to expand all nodes up to the specific level in TreeView control - * then we need to pass levelUntil as argument to this method. - * @param {number} TreeView nodes will expand until the given level - * @param {boolean} Weather exclude the hidden nodes of TreeView while expand all nodes - * @returns {void} - */ - expandAll(levelUntil?: number, excludeHiddenNodes?: boolean): void; - - /** To expandNode particular node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - expandNode(element: string | any | any[]): void; - - /** To get currently checked nodes in TreeView. - * @returns {any} - */ - getCheckedNodes(): any; - - /** To get currently checked nodes indexes in TreeView. - * @returns {Array} - */ - getCheckedNodesIndex(): any[]; - - /** This method is used to get immediate child nodes of a node in TreeView control. If you want to get the all child nodes include nested - * child nodes then we need to pass includeNestedChild as true along with element arguments to this method. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {boolean} Weather include nested child nodes of TreeView node - * @returns {Array} - */ - getChildren(element: string | any, includeNestedChild?: boolean): any[]; - - /** To get number of nodes in TreeView. - * @returns {number} - */ - getNodeCount(): number; - - /** To get currently expanded nodes in TreeView. - * @returns {any} - */ - getExpandedNodes(): any; - - /** To get currently expanded nodes indexes in TreeView. - * @returns {Array} - */ - getExpandedNodesIndex(): any[]; - - /** To get TreeView node by using index position in TreeView. - * @param {number} Index position of TreeView node - * @returns {any} - */ - getNodeByIndex(index: number): any; - - /** To get TreeView node data such as id, text, parentId, selected, checked, expanded, level, childes and index. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {any} - */ - getNode(element: string | any): any; - - /** To get current index position of TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {number} - */ - getNodeIndex(element: string | any): number; - - /** To get immediate parent TreeView node of particular TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {any} - */ - getParent(element: string | any): any; - - /** To get the currently selected node in TreeView. - * @returns {any} - */ - getSelectedNode(): any; - - /** To get the currently selected nodes in TreeView. - * @returns {Array} - */ - getSelectedNodes(): any[]; - - /** To get the index position of currently selected node in TreeView. - * @returns {number} - */ - getSelectedNodeIndex(): number; - - /** To get the index positions of currently selected nodes in TreeView. - * @returns {Array} - */ - getSelectedNodesIndex(): any[]; - - /** To get the text of a node in TreeView. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {string} - */ - getText(element: string | any): string; - - /** To get the updated datasource of TreeView after performing some operation like drag and drop, node editing, adding and removing node. - * @param {string|number} ID of TreeView node - * @returns {Array} - */ - getTreeData(id?: string | number): any[]; - - /** To get currently visible nodes in TreeView. - * @returns {any} - */ - getVisibleNodes(): any; - - /** To check a node having child or not. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - hasChildNode(element: string | any): boolean; - - /** To show nodes in TreeView. - * @returns {void} - */ - hide(): void; - - /** To hide particular node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - hideNode(element: string | any | any[]): void; - - /** To add a Node or collection of nodes after the particular TreeView node. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - insertAfter(newNodeText: string | any, target: string | any): void; - - /** To add a Node or collection of nodes before the particular TreeView node. - * @param {string|any} New node text or JSON object - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - insertBefore(newNodeText: string | any, target: string | any): void; - - /** To check the given TreeView node is checked or unchecked. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isNodeChecked(element: string | any): boolean; - - /** To check whether the child nodes are loaded of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isChildLoaded(element: string | any): boolean; - - /** To check the given TreeView node is disabled or enabled. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isDisabled(element: string | any): boolean; - - /** To check the given node is exist in TreeView. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isExist(element: string | any): boolean; - - /** To get the expand status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isExpanded(element: string | any): boolean; - - /** To get the select status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isSelected(element: string | any): boolean; - - /** To get the visibility status of the given TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {boolean} - */ - isVisible(element: string | any): boolean; - - /** To load the TreeView nodes from the particular URL. If target tree node is specified, then the given nodes are added as child of target tree node, otherwise nodes are added in TreeView. - * @param {string} URL location, the data returned from the URL will be loaded in TreeView - * @param {string|any} ID of TreeView node/object of TreeView node - * @returns {void} - */ - loadData(URL: string, target: string | any): void; - - /** To move the TreeView node with in same TreeView. The new position of given TreeView node will be based on destination node and index position. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {number} New index position of given source node - * @returns {void} - */ - moveNode(sourceNode: string | any, destinationNode: string | any, index: number): void; - - /** To refresh the TreeView - * @returns {void} - */ - refresh(): void; - - /** To remove all the nodes in TreeView. - * @returns {void} - */ - removeAll(): void; - - /** To remove a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - removeNode(element: string | any | any[]): void; - - /** To select all the TreeView nodes when enable allowMultiSelection property. - * @returns {void} - */ - selectAll(): void; - - /** This method is used to select a node in TreeView control. If you want to select the collection of nodes in TreeView control then we need to enable allowMultiSelection property. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes - * @returns {void} - */ - selectNode(element: string | any | any[]): void; - - /** To show nodes in TreeView. - * @returns {void} - */ - show(): void; - - /** To show a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - showNode(element: string | any | any[]): void; - - /** To uncheck all the nodes in TreeView. - * @returns {void} - */ - unCheckAll(): void; - - /** To uncheck a node in TreeView. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/collection of ID/object of TreeView nodes - * @returns {void} - */ - uncheckNode(element: string | any | any[]): void; - - /** To unselect all the TreeView nodes when enable allowMultiSelection property. - * @returns {void} - */ - unselectAll(): void; - - /** This method is used to unselect a node in TreeView control. If you want to unselect the collection of nodes in TreeView control then we need to enable allowMultiSelection property. - * @param {string|any|Array} ID of TreeView node/object of TreeView node/ collection of ID/object of TreeView nodes - * @returns {void} - */ - unselectNode(element: string | any | any[]): void; - - /** To edit or update the text of the TreeView node. - * @param {string|any} ID of TreeView node/object of TreeView node - * @param {string} New text - * @returns {void} - */ - updateText(target: string | any, newText: string): void; -} -export namespace TreeView { - - export interface Model { - - /** Gets or sets a value that indicates whether to enable drag and drop a node within the same tree. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable drag and drop a node in inter ej.TreeView. - * @Default {true} - */ - allowDragAndDropAcrossControl?: boolean; - - /** Gets or sets a value that indicates whether to drop a node to a sibling of particular node. - * @Default {true} - */ - allowDropSibling?: boolean; - - /** Gets or sets a value that indicates whether to drop a node to a child of particular node. - * @Default {true} - */ - allowDropChild?: boolean; - - /** Gets or sets a value that indicates whether to enable node editing support for TreeView. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for TreeView actions like nodeSelection, nodeEditing, nodeExpand, nodeCollapse, nodeCut and Paste. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable multi selection support for TreeView. - * @Default {false} - */ - allowMultiSelection?: boolean; - - /** Allow us to specify the parent and child nodes to get auto check while we check or uncheck a node. - * @Default {true} - */ - autoCheck?: boolean; - - /** Allow us to specify the parent node to be retain in checked or unchecked state instead of going for indeterminate state. - * @Default {false} - */ - autoCheckParentNode?: boolean; - - /** Gets or sets a value that indicates the checkedNodes index collection as an array. The given array index position denotes the nodes, that are checked while rendering TreeView. - * @Default {[]} - */ - checkedNodes?: any[]; - - /** Sets the root CSS class for TreeView which allow us to customize the appearance. - */ - cssClass?: string; - - /** Gets or sets a value that indicates whether to enable or disable the animation effect while expanding or collapsing a node. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Gets or sets a value that indicates whether a TreeView can be enabled or disabled. No actions can be performed while this property is set as false - * @Default {true} - */ - enabled?: boolean; - - /** Allow us to prevent multiple nodes to be in expanded state. If it set to false, previously expanded node will be collapsed automatically, while we expand a node. - * @Default {true} - */ - enableMultipleExpand?: boolean; - - /** Sets a value that indicates whether to persist the TreeView model state in page using applicable medium i.e., HTML5 localStorage or cookies - * @Default {false} - */ - enablePersistence?: boolean; - - /** Gets or sets a value that indicates to align content in the TreeView control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** Gets or sets a array of value that indicates the expandedNodes index collection as an array. The given array index position denotes the nodes, that are expanded while rendering TreeView. - * @Default {[]} - */ - expandedNodes?: any[]; - - /** Gets or sets a value that indicates the TreeView node can be expand or collapse by using the specified action. - * @Default {dblclick} - */ - expandOn?: string; - - /** Gets or sets a fields object that allow us to map the data members with field properties in order to make the data binding easier. - * @Default {null} - */ - fields?: Fields; - - /** Gets or sets a value that indicates whether to enable full row selection support for TreeView. - * @Default {false} - */ - fullRowSelect?: boolean; - - /** Defines the height of the TreeView. - * @Default {Null} - */ - height?: string | number; - - /** Specifies the HTML Attributes for the TreeView. Using this API we can add custom attributes in TreeView control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specifies the child nodes to be loaded on demand - * @Default {false} - */ - loadOnDemand?: boolean; - - /** Gets or Sets a value that indicates the index position of a tree node. The particular index tree node will be selected while rendering the TreeView. - * @Default {-1} - */ - selectedNode?: number; - - /** Gets or sets a value that indicates the selectedNodes index collection as an array. The given array index position denotes the nodes, that are selected while rendering TreeView. - * @Default {[]} - */ - selectedNodes?: any[]; - - /** Gets or sets a value that indicates whether to display or hide checkbox for all TreeView nodes. - * @Default {false} - */ - showCheckbox?: boolean; - - /** By using sortSettings property, you can customize the sorting option in TreeView control. - */ - sortSettings?: SortSettings; - - /** Allow us to use custom template in order to create TreeView. - * @Default {null} - */ - template?: string; - - /** Defines the width of the TreeView. - * @Default {Null} - */ - width?: string | number; - - /** Fires before adding node to TreeView. */ - beforeAdd?(e: BeforeAddEventArgs): void; - - /** Fires before collapse a node. */ - beforeCollapse?(e: BeforeCollapseEventArgs): void; - - /** Fires before cut node in TreeView. */ - beforeCut?(e: BeforeCutEventArgs): void; - - /** Fires before deleting node in TreeView. */ - beforeDelete?(e: BeforeDeleteEventArgs): void; - - /** Fires before editing the node in TreeView. */ - beforeEdit?(e: BeforeEditEventArgs): void; - - /** Fires before expanding the node. */ - beforeExpand?(e: BeforeExpandEventArgs): void; - - /** Fires before loading nodes to TreeView. */ - beforeLoad?(e: BeforeLoadEventArgs): void; - - /** Fires before paste node in TreeView. */ - beforePaste?(e: BeforePasteEventArgs): void; - - /** Fires before selecting node in TreeView. */ - beforeSelect?(e: BeforeSelectEventArgs): void; - - /** Fires when TreeView created successfully. */ - create?(e: CreateEventArgs): void; - - /** Fires when TreeView destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires before nodeEdit Successful. */ - inlineEditValidation?(e: InlineEditValidationEventArgs): void; - - /** Fires when key pressed successfully. */ - keyPress?(e: KeyPressEventArgs): void; - - /** Fires when data load fails. */ - loadError?(e: LoadErrorEventArgs): void; - - /** Fires when data loaded successfully. */ - loadSuccess?(e: LoadSuccessEventArgs): void; - - /** Fires once node added successfully. */ - nodeAdd?(e: NodeAddEventArgs): void; - - /** Fires once node checked successfully. */ - nodeCheck?(e: NodeCheckEventArgs): void; - - /** Fires when node clicked successfully. */ - nodeClick?(e: NodeClickEventArgs): void; - - /** Fires when node collapsed successfully. */ - nodeCollapse?(e: NodeCollapseEventArgs): void; - - /** Fires when node cut successfully. */ - nodeCut?(e: NodeCutEventArgs): void; - - /** Fires when node deleted successfully. */ - nodeDelete?(e: NodeDeleteEventArgs): void; - - /** Fires when node dragging. */ - nodeDrag?(e: NodeDragEventArgs): void; - - /** Fires once node drag start successfully. */ - nodeDragStart?(e: NodeDragStartEventArgs): void; - - /** Fires before the dragged node to be dropped. */ - nodeDragStop?(e: NodeDragStopEventArgs): void; - - /** Fires once node dropped successfully. */ - nodeDropped?(e: NodeDroppedEventArgs): void; - - /** Fires once node edited successfully. */ - nodeEdit?(e: NodeEditEventArgs): void; - - /** Fires once node expanded successfully. */ - nodeExpand?(e: NodeExpandEventArgs): void; - - /** Fires once node pasted successfully. */ - nodePaste?(e: NodePasteEventArgs): void; - - /** Fires when node selected successfully. */ - nodeSelect?(e: NodeSelectEventArgs): void; - - /** Fires once node unchecked successfully. */ - nodeUncheck?(e: NodeUncheckEventArgs): void; - - /** Fires once node unselected successfully. */ - nodeUnselect?(e: NodeUnselectEventArgs): void; - - /** Fires when TreeView nodes are loaded successfully */ - ready?(e: ReadyEventArgs): void; - } - - export interface BeforeAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the given new node data - */ - data?: string | any; - - /** returns the parent element, the given new nodes to be appended to the given parent element - */ - targetParent?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - } - - export interface BeforeCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the child nodes are loaded or not - */ - isChildLoaded?: boolean; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface BeforeCutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be cut - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface BeforeDeleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be deleted - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the current parent element of the target node - */ - parentElement?: any; - - /** returns the parent node values - */ - parentDetails?: any; - - /** returns the currently removed nodes - */ - removedNodes?: any[]; - } - - export interface BeforeEditEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - } - - export interface BeforeExpandEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** if the child node is ready to expanded state; otherwise, false. - */ - isChildLoaded?: boolean; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface BeforeLoadEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the AJAX settings object - */ - AjaxOptions?: any; - } - - export interface BeforePasteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be pasted - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface BeforeSelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the target element, the given node to be selected - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface InlineEditValidationEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the new entered text for the node - */ - newText?: string; - - /** returns the current node element id - */ - id?: any; - - /** returns the old node text - */ - oldText?: string; - } - - export interface KeyPressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns node path from root element - */ - path?: string; - - /** returns the key pressed key code value - */ - keyCode?: number; - - /** it returns when the current node is in expanded state; otherwise, false. - */ - isExpanded?: boolean; - - /** returns the id of current TreeView node - */ - id?: string; - - /** returns the parentId of current TreeView node - */ - parentId?: string; - } - - export interface LoadErrorEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the AJAX error object - */ - error?: any; - } - - export interface LoadSuccessEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the success data from the URL - */ - data?: any; - - /** returns the target parent element, the data returned from the URL to be appended to the given parent element, else in TreeView - */ - targetParent?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - } - - export interface NodeAddEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the added data, that are given initially - */ - data?: any; - - /** returns the newly added elements - */ - nodes?: any; - - /** returns the target parent element of the added element - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - } - - export interface NodeCheckEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns the id of the current element of the node clicked - */ - id?: string; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** it returns true when the node checkbox is checked; otherwise, false. - */ - isChecked?: boolean; - - /** it returns the currently checked node name - */ - currentNode?: any[]; - - /** it returns the currently checked and its child node details - */ - currentCheckedNodes?: any[]; - } - - export interface NodeClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked TreeView node - */ - id?: string; - - /** returns the parentId of currently clicked TreeView node - */ - parentId?: string; - } - - export interface NodeCollapseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the id of the current element of the node clicked - */ - id?: string; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: string; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the child nodes are loaded or not - */ - isChildLoaded?: boolean; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface NodeCutEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current parent element of the cut node - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface NodeDeleteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the current parent element of the deleted node - */ - parentElement?: any; - - /** returns the given parent node details - */ - parentDetails?: any; - - /** returns the currently removed nodes - */ - removedNodes?: any[]; - } - - export interface NodeDragEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drag target - */ - dragTarget?: any; - - /** returns the current target TreeView node - */ - target?: any; - - /** returns the current target details - */ - targetElementData?: any; - - /** returns the current parent element of the target node - */ - draggedElement?: any; - - /** returns the given parent node details - */ - draggedElementData?: any; - - /** returns the event object - */ - event?: any; - } - - export interface NodeDragStartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drag target - */ - dragTarget?: any; - - /** returns the current dragging parent TreeView node - */ - parentElement?: any; - - /** returns the current dragging parent TreeView node details - */ - parentElementData?: any; - - /** returns the current parent element of the dragging node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the event object - */ - event?: any; - } - - export interface NodeDragStopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drop target - */ - dropTarget?: any; - - /** returns the current dragged TreeView node - */ - draggedElement?: any; - - /** returns the current dragged TreeView node details - */ - draggedElementData?: any; - - /** returns the current parent element of the dragged node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the drop position such as before, after or over - */ - position?: string; - - /** returns the event object - */ - event?: any; - } - - export interface NodeDroppedEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the original drop target - */ - dropTarget?: any; - - /** returns the current dropped TreeView node - */ - droppedElement?: any; - - /** returns the current dropped TreeView node details - */ - droppedElementData?: any; - - /** returns the current parent element of the dropped node - */ - target?: any; - - /** returns the given parent node details - */ - targetElementData?: any; - - /** returns the drop position such as before, after or over - */ - position?: string; - - /** returns the event object - */ - event?: any; - } - - export interface NodeEditEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the element - */ - id?: string; - - /** returns the oldText of the element - */ - oldText?: string; - - /** returns the newText of the element - */ - newText?: string; - - /** returns the event object - */ - event?: any; - - /** returns the target element, the given node to be cut - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - } - - export interface NodeExpandEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - - /** if the child node is ready to expanded state; otherwise, false. - */ - isChildLoaded?: boolean; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** returns the id of currently clicked node - */ - id?: string; - - /** returns the parent id of currently clicked node - */ - parentId?: string; - - /** returns the format asynchronous or synchronous - */ - async?: boolean; - } - - export interface NodePasteEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the pasted element - */ - target?: any; - - /** returns the given target node values - */ - nodeDetails?: any; - - /** returns the key pressed key code value - */ - keyCode?: number; - } - - export interface NodeSelectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the id of the current element of the node clicked - */ - id?: any; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: any; - - /** returns the current selected nodes index of TreeView - */ - selectedNodes?: any[]; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - } - - export interface NodeUncheckEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - - /** returns the event object - */ - event?: any; - - /** returns the id of the current element of the node clicked - */ - id?: any; - - /** returns the id of the parent element of current element of the node clicked - */ - parentId?: any; - - /** returns the value of the node - */ - value?: string; - - /** returns the current element of the node clicked - */ - currentElement?: any; - - /** it returns true when the node checkbox is checked; otherwise, false. - */ - isChecked?: boolean; - - /** it returns currently unchecked node name - */ - currentNode?: string; - - /** it returns currently unchecked node and its child node details. - */ - currentUncheckedNodes?: any[]; - } - - export interface NodeUnselectEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the current element of the node unselected - */ - currentElement?: any; - - /** returns the id of the current element of the node unselected - */ - id?: string; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the id of the parent element of current element of the node unselected - */ - parentId?: string; - - /** returns the current selected nodes index of TreeView - */ - selectedNodes?: any[]; - - /** returns the name of the event - */ - type?: string; - - /** returns the value of the node - */ - value?: string; - } - - export interface ReadyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the TreeView model - */ - model?: ej.TreeView.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface Fields { - - /** It receives the child level or inner level data source such as Essential DataManager object and JSON object. - */ - child?: any; - - /** It receives Essential DataManager object and JSON object. - */ - dataSource?: any; - - /** Specifies the node to be in expanded state. - */ - expanded?: string; - - /** Its allow us to indicate whether the node has child or not in load on demand - */ - hasChild?: string; - - /** Specifies the HTML Attributes to "li" item list. - */ - htmlAttribute?: any; - - /** Specifies the id to TreeView node items list. - */ - id?: string; - - /** Specifies the image attribute to “img” tag inside items list - */ - imageAttribute?: any; - - /** Specifies the HTML Attributes to "li" item list. - */ - imageUrl?: string; - - /** If its true Checkbox node will be checked when rendered with checkbox. - */ - isChecked?: string; - - /** Specifies the link attribute to “a” tag in item list. - */ - linkAttribute?: any; - - /** Specifies the parent id of the node. The nodes are listed as child nodes of the specified parent node by using its parent id. - */ - parentId?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - */ - query?: any; - - /** Allow us to specify the node to be in selected state - */ - selected?: string; - - /** Specifies the sprite CSS class to "li" item list. - */ - spriteCssClass?: string; - - /** It receives the table name to execute query on the corresponding table. - */ - tableName?: string; - - /** Specifies the text of TreeView node items list. - */ - text?: string; - } - - export interface SortSettings { - - /** Enables or disables the sorting option in TreeView control - * @Default {false} - */ - allowSorting?: boolean; - - /** Sets the sorting order type. There are two sorting types available, such as "ascending", "descending". - * @Default {ej.sortOrder.Ascending} - */ - sortOrder?: ej.sortOrder | string; - } -} -enum sortOrder { - //Enum for Ascending sort order - Ascending, - //Enum for Descending sort order - Descending, -} - -class Uploadbox extends ej.Widget { - static fn: Uploadbox; - constructor(element: JQuery | Element, options?: Uploadbox.Model); - static Locale: any; - model: Uploadbox.Model; - defaults: Uploadbox.Model; - - /** The destroy method destroys the control and brings the control to a pre-init state. All the events of the Upload control is bound by using this._on unbinds automatically. - * @returns {void} - */ - destroy(): void; - - /** Disables the Uploadbox control - * @returns {void} - */ - disable(): void; - - /** Enables the Uploadbox control - * @returns {void} - */ - enable(): void; - - /** Refresh the Uploadbox control - * @returns {void} - */ - refresh(): void; -} -export namespace Uploadbox { - - export interface Model { - - /** Enables the file drag and drop support to the Uploadbox control. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Uploadbox supports both synchronous and asynchronous upload. This can be achieved by using the asyncUpload property. - * @Default {true} - */ - asyncUpload?: boolean; - - /** Uploadbox supports auto uploading of files after the file selection is done. - * @Default {false} - */ - autoUpload?: boolean; - - /** Sets the text for each action button. - * @Default {{browse: Browse, upload: Upload, cancel: Cancel, close: Close}} - */ - buttonText?: ButtonText; - - /** Sets the root class for the Uploadbox control theme. This cssClass API helps to use custom skinning option for the Uploadbox button and dialog content. - */ - cssClass?: string; - - /** Specifies the custom file details in the dialog popup on initialization. - * @Default {{ title:true, name:true, size:true, status:true, action:true}} - */ - customFileDetails?: CustomFileDetails; - - /** Specifies the actions for dialog popup while initialization. - * @Default {{ modal:false, closeOnComplete:false, content:null, drag:true}} - */ - dialogAction?: DialogAction; - - /** Displays the Uploadbox dialog at the given X and Y positions. X: Dialog sets the left position value. Y: Dialog sets the top position value. - * @Default {null} - */ - dialogPosition?: any; - - /** Property for applying the text to the Dialog title and content headers. - * @Default {{ title: Upload Box, name: Name, size: Size, status: Status}} - */ - dialogText?: DialogText; - - /** The dropAreaText is displayed when the drag and drop support is enabled in the Uploadbox control. - * @Default {Drop files or click to upload} - */ - dropAreaText?: string; - - /** Specifies the dropAreaHeight when the drag and drop support is enabled in the Uploadbox control. - * @Default {100%} - */ - dropAreaHeight?: number | string; - - /** Specifies the dropAreaWidth when the drag and drop support is enabled in the Uploadbox control. - * @Default {100%} - */ - dropAreaWidth?: number | string; - - /** Based on the property value, Uploadbox is enabled or disabled. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the right-to-left direction property for the Uploadbox control. - * @Default {false} - */ - enableRTL?: boolean; - - /** Only the files with the specified extension is allowed to upload. This is mentioned in the string format. - */ - extensionsAllow?: string; - - /** Only the files with the specified extension is denied for upload. This is mentioned in the string format. - */ - extensionsDeny?: string; - - /** Sets the maximum size limit for uploading the file. This is mentioned in the number format. - * @Default {31457280} - */ - fileSize?: number; - - /** Sets the height of the browse button. - * @Default {35px} - */ - height?: string; - - /** Specifies the list of HTML attributes to be added to uploadbox control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Configures the culture data and sets the culture to the Uploadbox. - * @Default {en-US} - */ - locale?: string; - - /** Enables multiple file selection for upload. - * @Default {true} - */ - multipleFilesSelection?: boolean; - - /** You can push the file to the Uploadbox in the client-side of the XHR supported browsers alone. - * @Default {null} - */ - pushFile?: any; - - /** Specifies the remove action to be performed after the file uploading is completed. Here, mention the server address for removal. - */ - removeUrl?: string; - - /** Specifies the save action to be performed after the file is pushed for uploading. Here, mention the server address to be saved. - */ - saveUrl?: string; - - /** Enables the browse button support to the Uploadbox control. - * @Default {true} - */ - showBrowseButton?: boolean; - - /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. - * @Default {true} - */ - showFileDetails?: boolean; - - /** Specifies the file details to be displayed when selected for uploading. This can be done when the showFileDetails is set to true. - * @Default {true} - */ - showRoundedCorner?: boolean; - - /** Sets the name for the Uploadbox control. This API helps to Map the action in code behind to retrieve the files. - */ - uploadName?: string; - - /** Sets the width of the browse button. - * @Default {100px} - */ - width?: string; - - /** Fires when the upload progress beforeSend. */ - beforeSend?(e: BeforeSendEventArgs): void; - - /** Fires when the upload progress begins. */ - begin?(e: BeginEventArgs): void; - - /** Fires when the upload progress is cancelled. */ - cancel?(e: CancelEventArgs): void; - - /** Fires when the file upload progress is completed. */ - complete?(e: CompleteEventArgs): void; - - /** Fires when the file upload progress is succeeded. */ - success?(e: SuccessEventArgs): void; - - /** Fires when the Uploadbox control is created. */ - create?(e: CreateEventArgs): void; - - /** Fires when the Uploadbox control is destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires when the Upload process ends in Error. */ - error?(e: ErrorEventArgs): void; - - /** Fires when the file is selected for upload successfully. */ - fileSelect?(e: FileSelectEventArgs): void; - - /** Fires when the file is uploading. */ - inProgress?(e: InProgressEventArgs): void; - - /** Fires when the uploaded file is removed successfully. */ - remove?(e: RemoveEventArgs): void; - } - - export interface BeforeSendEventArgs { - - /** Selected FileList Object. - */ - files?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Uploadbox model - */ - model?: any; - - /** XHR-AJAX Object for reference. - */ - xhr?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface BeginEventArgs { - - /** To pass additional information to the server. - */ - data?: any; - - /** Selected FileList Object. - */ - files?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CancelEventArgs { - - /** Canceled FileList Object. - */ - fileStatus?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CompleteEventArgs { - - /** AJAX event argument for reference. - */ - e?: any; - - /** Uploaded file list. - */ - files?: any; - - /** response from the server. - */ - responseText?: string; - - /** XHR-AJAX Object for reference. - */ - xhr?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface SuccessEventArgs { - - /** response from the server. - */ - responseText?: string; - - /** AJAX event argument for reference. - */ - e?: any; - - /** successfully uploaded files list. - */ - success?: any; - - /** Uploaded file list. - */ - files?: any; - - /** XHR-AJAX Object for reference. - */ - xhr?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ErrorEventArgs { - - /** details about the error information. - */ - error?: string; - - /** returns the name of the event. - */ - type?: string; - - /** error event action details. - */ - action?: string; - - /** returns the file details of the file uploaded - */ - files?: any; - } - - export interface FileSelectEventArgs { - - /** returns Selected FileList objects - */ - files?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface InProgressEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** AJAX event argument for reference. - */ - e?: any; - - /** returns Selected FileList objects - */ - files?: any; - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the current progress percentage. - */ - percentage?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RemoveEventArgs { - - /** returns the Uploadbox model - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the file details of the file object - */ - fileStatus?: any; - } - - export interface ButtonText { - - /** Sets the text for the browse button. - */ - browse?: string; - - /** Sets the text for the cancel button. - */ - cancel?: string; - - /** Sets the text for the close button. - */ - Close?: string; - - /** Sets the text for the Upload button inside the dialog popup. - */ - upload?: string; - } - - export interface CustomFileDetails { - - /** Enables the file upload interactions like remove/cancel in File details of the dialog popup. - */ - action?: boolean; - - /** Enables the name in the File details of the dialog popup. - */ - name?: boolean; - - /** Enables or disables the File size details of the dialog popup. - */ - size?: boolean; - - /** Enables or disables the file uploading status visibility in the dialog file details content. - */ - status?: boolean; - - /** Enables the title in File details for the dialog popup. - */ - title?: boolean; - } - - export interface DialogAction { - - /** Once uploaded successfully, the dialog popup closes immediately. - */ - closeOnComplete?: boolean; - - /** Sets the content container option to the Uploadbox dialog popup. - */ - content?: string; - - /** Enables the drag option to the dialog popup. - */ - drag?: boolean; - - /** Enables or disables the Uploadbox dialog’s modal property to the dialog popup. - */ - modal?: boolean; - } - - export interface DialogText { - - /** Sets the uploaded file’s Name (header text) to the Dialog popup. - */ - name?: string; - - /** Sets the upload file Size (header text) to the dialog popup. - */ - size?: string; - - /** Sets the upload file Status (header text) to the dialog popup. - */ - status?: string; - - /** Sets the title text of the dialog popup. - */ - title?: string; - } -} - -class WaitingPopup extends ej.Widget { - static fn: WaitingPopup; - constructor(element: JQuery | Element, options?: WaitingPopup.Model); - static Locale: any; - model: WaitingPopup.Model; - defaults: WaitingPopup.Model; - - /** To hide the waiting popup - * @returns {void} - */ - hide(): void; - - /** Refreshes the WaitingPopup control by resetting the pop-up panel position and content position - * @returns {void} - */ - refresh(): void; - - /** To show the waiting popup - * @returns {void} - */ - show(): void; -} -export namespace WaitingPopup { - - export interface Model { - - /** Sets the root class for the WaitingPopup control theme - * @Default {null} - */ - cssClass?: string; - - /** Specifies the list of HTML attributes to be added to waitingpopup control. - * @Default {{}} - */ - htmlAttributes?: any; - - /** Enables or disables the default loading icon. - * @Default {true} - */ - showImage?: boolean; - - /** Enables the visibility of the WaitingPopup control - * @Default {false} - */ - showOnInit?: boolean; - - /** Specified a selector for elements, within the container. - * @Default {null} - */ - target?: string; - - /** Waitingpopup element append to given container element. - * @Default {null} - */ - appendTo?: string; - - /** Loads HTML content inside the popup panel instead of the default icon - * @Default {null} - */ - template?: any; - - /** Sets the custom text in the pop-up panel to notify the waiting process - * @Default {null} - */ - text?: string; - - /** Fires after Create WaitingPopup successfully */ - create?(e: CreateEventArgs): void; - - /** Fires after Destroy WaitingPopup successfully */ - destroy?(e: DestroyEventArgs): void; - } - - export interface CreateEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the WaitingPopup model - */ - model?: ej.WaitingPopup.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** returns the cancel option value - */ - cancel?: boolean; - - /** returns the WaitingPopup model - */ - model?: ej.WaitingPopup.Model; - - /** returns the name of the event - */ - type?: string; - } -} - -class Grid extends ej.Widget { - static fn: Grid; - constructor(element: JQuery | Element, options?: Grid.Model); - static Locale: any; - model: Grid.Model; - defaults: Grid.Model; - - /** Adds a grid model property which is to be ignored upon exporting. - * @param {Array} Pass the array of parameters which need to be ignored on exporting - * @returns {void} - */ - addIgnoreOnExport(propertyNames: any[]): void; - - /** Add a new record in grid control when allowAdding is set as true. - * @returns {void} - */ - //addRecord(): void; - - /** Add a new record in grid control when allowAdding is set as true. - * @param {Array} Pass the array of added Records - * @param {Array} optionalIf we pass serverChange as true, send post to server side for server action. - * @returns {void} - */ - addRecord(data: any[], serverChange?: any[]): void; - - /** Cancel the modified changes in grid control when edit mode is "batch". - * @returns {void} - */ - batchCancel(): void; - - /** Save the modified changes to data source in grid control when edit mode is "batch". - * @returns {void} - */ - batchSave(): void; - - /** Send a cancel request in grid. - * @returns {void} - */ - cancelEdit(): void; - - /** Send a cancel request to the edited cell in grid. - * @returns {void} - */ - cancelEditCell(): void; - - /** It is used to clear all the cell selection. - * @returns {Boolean} - */ - clearCellSelection(): boolean; - - /** It is used to clear specified cell selection based on the rowIndex and columnIndex provided. - * @param {number} It is used to pass the row index of the cell - * @param {number} It is used to pass the column index of the cell. - * @returns {Boolean} - */ - clearCellSelection(rowIndex: number, columnIndex: number): boolean; - - /** It is used to clear all the row selection or at specific row selection based on the index provided. - * @param {number} optional If index of the column is specified then it will remove the selection from the particular column else it will clears all of the column selection - * @returns {Boolean} - */ - clearColumnSelection(index?: number): boolean; - - /** It is used to clear all the filtering done. - * @param {string} If field of the column is specified then it will clear the particular filtering column - * @returns {void} - */ - clearFiltering(field: string): void; - - /** Clear the searching from the grid - * @returns {void} - */ - clearSearching(): void; - - /** Clear all the row selection or at specific row selection based on the index provided - * @param {number} optional If index of the row is specified then it will remove the selection from the particular row else it will clears all of the row selection - * @returns {Boolean} - */ - clearSelection(index?: number): boolean; - - /** Clear the sorting from columns in the grid - * @returns {void} - */ - clearSorting(): void; - - /** Collapse all the group caption rows in grid - * @returns {void} - */ - collapseAll(): void; - - /** Collapse the group drop area in grid - * @returns {void} - */ - collapseGroupDropArea(): void; - - /** Add or remove columns in grid column collections - * @param {Array|string} Pass array of columns or string of field name to add/remove the column in grid - * @param {string} optional Pass add/remove action to be performed. By default "add" action will perform - * @returns {void} - */ - columns(columnDetails: any[] | string, action?: string): void; - - /** Refresh the grid with new data source - * @param {Array} Pass new data source to the grid - * @param {boolean} optional When templateRefresh is set true, both header and contents get refreshed - * @returns {void} - */ - dataSource(datasource: any[], templateRefresh?: boolean): void; - - /** Delete a record in grid control when allowDeleting is set as true - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the JSON data of record need to be delete. - * @returns {void} - */ - deleteRecord(fieldName: string, data: any[]): void; - - /** Delete the row based on the given tr element in grid. - * @param {JQuery} Pass the tr element in grid content to get its row index - * @returns {HTMLElement} - */ - deleteRow($tr: JQuery): HTMLElement; - - /** Destroy the grid widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Edit a particular cell based on the row index and field name provided in "batch" edit mode. - * @param {number} Pass row index to edit particular cell - * @param {string} Pass the field name of the column to perform batch edit - * @returns {void} - */ - editCell(index: number, fieldName: string): void; - - /** It returns a value and if the input field values of edit form is not based on the validation rules then it will show the validation message. - * @returns {Boolean} - */ - editFormValidate(): boolean; - - /** Send a save request in grid. - * @returns {void} - */ - endEdit(): void; - - /** Expand all the group caption rows in grid. - * @returns {void} - */ - expandAll(): void; - - /** Expand or collapse the row based on the row state in grid - * @param {JQuery} Pass the target object to expand/collapse the row based on its row state - * @returns {void} - */ - expandCollapse($target: JQuery): void; - - /** Expand the group drop area in grid. - * @returns {void} - */ - expandGroupDropArea(): void; - - /** Export the grid content to excel, word or PDF document. - * @param {string} Pass the controller action name corresponding to exporting - * @param {string} optionalASP server event name corresponding to exporting - * @param {boolean} optionalPass the multiple exporting value as true/false - * @param {Array} optionalPass the array of the gridIds to be filtered - * @returns {void} - */ - export(action: string, serverEvent?: string, multipleExport?: boolean, gridIds?: any[]): void; - - /** Send a filtering request to filter one column in grid. - * @param {Array} Pass the field name of the column - * @param {string} string/integer/dateTime operator - * @param {string} Pass the value to be filtered in a column - * @param {string} Pass the predicate as and/or - * @param {boolean} optional Pass the match case value as true/false - * @param {any} optionalactualFilterValue denote the filter object of current filtered columns.Pass the value to filtered in a column - * @returns {void} - */ - filterColumn(fieldName: any[], filterOperator: string, filterValue: string, predicate: string, matchcase?: boolean, actualFilterValue?: any): void; - - /** Send a filtering request to filter single or multiple column in grid. - * @param {Array} Pass array of filterColumn query for performing filter operation - * @returns {void} - */ - filterColumn(filterQueries: any[]): void; - - /** Get the batch changes of edit, delete and add operations of grid. - * @returns {any} - */ - getBatchChanges(): any; - - /** Get the browser details - * @returns {any} - */ - getBrowserDetails(): any; - - /** Get the column details based on the given field in grid - * @param {string} Pass the field name of the column to get the corresponding column object - * @returns {any} - */ - getColumnByField(fieldName: string): any; - - /** Get the column details based on the given header text in grid. - * @param {string} Pass the header text of the column to get the corresponding column object - * @returns {any} - */ - getColumnByHeaderText(headerText: string): any; - - /** Get the column details based on the given column index in grid - * @param {number} Pass the index of the column to get the corresponding column object - * @returns {any} - */ - getColumnByIndex(columnIndex: number): any; - - /** Get the list of field names from column collection in grid. - * @returns {Array} - */ - getColumnFieldNames(): any[]; - - /** Get the column index of the given field in grid. - * @param {string} Pass the field name of the column to get the corresponding column index - * @returns {number} - */ - getColumnIndexByField(fieldName: string): number; - - /** Get the column index of the given headerText of column in grid. - * @param {string} Pass the headerText of the column to get that column index - * @param {string} optionalOptional Pass the field name of the column. - * @returns {number} - */ - getColumnIndexByHeaderText(headerText: string, field?: string): number; - - /** Get the content div element of grid. - * @returns {HTMLElement} - */ - getContent(): HTMLElement; - - /** Get the content table element of grid - * @returns {Array} - */ - getContentTable(): HTMLTableElement[]; - - /** Get the data of currently edited cell value in "batch" edit mode - * @returns {any} - */ - getCurrentEditCellData(): any; - - /** Get the current page index in grid pager. - * @returns {number} - */ - getCurrentIndex(): number; - - /** Get the current page data source of grid. - * @returns {Array} - */ - getCurrentViewData(): any[]; - - /** Get the data of given row index in grid. - * @returns {any} - */ - getDataByIndex(): any; - - /** Get the column field name from the given header text in grid. - * @param {string} Pass header text of the column to get its corresponding field name - * @returns {String} - */ - getFieldNameByHeaderText(headerText: string): string; - - /** Get the filter bar of grid - * @returns {HTMLElement} - */ - getFilterBar(): HTMLElement; - - /** Get the records filtered or searched in Grid - * @returns {Array} - */ - getFilteredRecords(): any[]; - - /** Get the footer content of grid. - * @returns {HTMLElement} - */ - getFooterContent(): HTMLElement; - - /** Get the footer table element of grid. - * @returns {HTMLElement} - */ - getFooterTable(): HTMLElement; - - /** Get the header content div element of grid. - * @returns {HTMLElement} - */ - getHeaderContent(): HTMLElement; - - /** Get the header table element of grid - * @returns {HTMLElement} - */ - getHeaderTable(): HTMLElement; - - /** Get the column header text from the given field name in grid. - * @param {string} Pass field name of the column to get its corresponding header text - * @returns {String} - */ - getHeaderTextByFieldName(field: string): string; - - /** Get the names of all the hidden column collections in grid. - * @returns {Array} - */ - getHiddenColumnNames(): any[]; - - /** Get the row index based on the given tr element in grid. - * @param {JQuery} Pass the tr element in grid content to get its row index - * @returns {number} - */ - getIndexByRow($tr: JQuery): number; - - /** Get the pager of grid. - * @returns {HTMLElement} - */ - getPager(): HTMLElement; - - /** Get the names of primary key columns in Grid - * @returns {Array} - */ - getPrimaryKeyFieldNames(): any[]; - - /** Get the rows(tr element) from the given from and to row index in grid - * @param {number} Pass the from index from which the rows to be returned - * @param {number} Pass the to index to which the rows to be returned - * @returns {HTMLElement} - */ - getRowByIndex(from: number, to: number): HTMLElement; - - /** Get the row height of grid. - * @returns {number} - */ - getRowHeight(): number; - - /** Get the rows(tr element)of grid which is displayed in the current page. - * @returns {HTMLElement} - */ - getRows(): HTMLElement; - - /** Get the scroller object of grid. - * @returns {ej.Scroller} - */ - getScrollObject(): ej.Scroller; - - /** Get the selected records details in grid. - * @returns {Array} - */ - getSelectedRecords(): any[]; - - /** Get the selected row element details in grid. - * @returns {Array} - */ - getSelectedRows(): any[]; - - /** It accepts the string value and returns the field and sorted direction of the column in grid. - * @param {string} Pass the field of the column to get the sorted direction of the corresponding column in Grid. - * @returns {number} - */ - getsortColumnByField(field: string): number; - - /** Get the calculated summary values of JSON data passed to it - * @param {any} Pass Summary Column details - * @param {any} Pass JSON Array for which its field values to be calculated - * @returns {Number} - */ - getSummaryValues(summaryCol: any, summaryData: any): number; - - /** Get the names of all the visible column collections in grid - * @returns {Array} - */ - getVisibleColumnNames(): any[]; - - /** Send a paging request to specified page in grid - * @param {number} Pass the page index to perform paging at specified page index - * @returns {void} - */ - gotoPage(pageIndex: number): void; - - /** Send a column grouping request in grid. - * @param {string} Pass the field Name of the column to be grouped in grid control - * @returns {void} - */ - groupColumn(fieldName: string): void; - - /** Hide columns from the grid based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to hide - * @returns {void} - */ - hideColumns(headerText: any[] | string): void; - - /** Print the grid control - * @returns {void} - */ - print(): void; - - /** It is used to refresh and reset the changes made in "batch" edit mode - * @returns {void} - */ - refreshBatchEditChanges(): void; - - /** It is used to refresh the grid header. - * @returns {void} - */ - refreshHeader(): void; - - /** Refresh the grid contents. The template refreshment is based on the argument passed along with this method - * @param {boolean} optional When templateRefresh is set true, template and grid contents both are refreshed in grid else only grid content is refreshed - * @returns {void} - */ - refreshContent(templateRefresh?: boolean): void; - - /** Refresh the template of the grid - * @returns {void} - */ - refreshTemplate(): void; - - /** Refresh the toolbar items in grid. - * @returns {void} - */ - refreshToolbar(): void; - - /** Remove a column or collection of columns from a sorted column collections in grid. - * @param {Array|string} Pass array of field names of the columns to remove a collection of sorted columns or pass a string of field name to remove a column from sorted column collections - * @returns {void} - */ - removeSortedColumns(fieldName: any[] | string): void; - - /** Creates a grid control - * @returns {void} - */ - render(): void; - - /** Re-order the column in grid - * @param {string} Pass the from field name of the column needs to be changed - * @param {string} Pass the to field name of the column needs to be changed - * @returns {void} - */ - reorderColumns(fromFieldName: string, toFieldName: string): void; - - /** Re-order the row in grid - * @param {Array} Pass the indexes of the rows needs to reorder. - * @param {number} Pass the index of a row where to be reordered. - * @returns {void} - */ - reorderRows(indexes: any[], toindex: number): void; - - /** Reset the model collections like pageSettings, groupSettings, filterSettings, sortSettings and summaryRows. - * @returns {void} - */ - resetModelCollections(): void; - - /** Resize the columns by giving column name and width for the corresponding one. - * @param {string} Pass the column name that needs to be changed - * @param {string} Pass the width to resize the particular columns - * @returns {void} - */ - resizeColumns(column: string, width: string): void; - - /** Resolves row height issue when unbound column is used with FrozenColumn - * @returns {void} - */ - rowHeightRefresh(): void; - - /** Save the particular edited cell in grid. - * @returns {void} - */ - //saveCell(): void; - - /** We can prevent the client side cellSave event triggering by passing the preventSaveEvent argument as true. - * @param {boolean} optionalIf we pass preventSaveEvent as true, it prevents the client side cellSave event triggering - * @returns {void} - */ - saveCell(preventSaveEvent: boolean): void; - - /** Set dimension for grid with corresponding to grid parent. - * @param {number} Pass the height of the grid container - * @param {number} Pass the width of the grid container - * @returns {void} - */ - setDimension(height: number, width: number): void; - - /** Send a request to grid to refresh the width set to columns - * @returns {void} - */ - setWidthToColumns(): void; - - /** Send a search request to grid with specified string passed in it - * @param {string} Pass the string to search in Grid records - * @returns {void} - */ - search(searchString: string): void; - - /** Select cells in grid. - * @param {any} It is used to set the starting index of row and indexes of cells for that corresponding row for selecting cells. - * @returns {void} - */ - selectCells(rowCellIndexes: any): void; - - /** Select columns in grid. - * @param {number} It is used to set the starting index of column for selecting columns. - * @returns {void} - */ - selectColumns(fromIndex: number): void; - - /** Select the specified columns in grid based on Index provided. - * @param {number} It is used to set the starting index of column for selecting columns. - * @param {number} optionalIt is used to set the ending index of column for selecting columns. - * @returns {Boolean} - */ - selectColumns(columnIndex: number, toIndex?: number): boolean; - - /** Select rows in grid. - * @param {number} It is used to set the starting index of row for selecting rows. - * @param {number} It is used to set the ending index of row for selecting rows. - * @returns {void} - */ - selectRows(fromIndex: number, toIndex: number): void; - - /** Select specified rows in grid based on Index provided. - * @param {Array|number} It is used to set the starting index of row for selecting rows. - * @param {number} optionalIt is used to set the ending index of row for selecting rows. - * @param {any} optionalTarget element which is clicked. - * @returns {void} - */ - selectRows(from: any[] | number, to: number, target?: any): void; - - /** Select rows in grid. - * @param {Array} Pass array of rowIndexes for selecting rows - * @returns {void} - */ - selectRows(rowIndexes: any[]): void; - - /** Used to update a particular cell value. - * @returns {void} - */ - setCellText(): void; - - /** Used to update a particular cell value based on specified row Index and the fieldName. - * @param {number} It is used to set the index for selecting the row. - * @param {string} It is used to set the field name for selecting column. - * @param {any} It is used to set the value for the selected cell. - * @returns {void} - */ - setCellValue(Index: number, fieldName: string, value: any): void; - - /** It sets the default data to the column in grid during adding record in batch edit mode. - * @returns {void} - */ - setDefaultData(): void; - - /** The grid rows has to be rendered as detail view in mobile mode based on given value. - * @param {number} It is used to render grid rows as details view in mobile mode. - * @returns {void} - */ - setPhoneModeMaxWidth(Index: number): void; - - /** Set validation to edit form in the grid. - * @returns {void} - */ - setValidation(): void; - - /** Set validation to a particular input field in a edit form dynamically. - * @param {string} Specify the field name of the column to set validation rules - * @param {any} Specify the validation rules for the field - * @returns {void} - */ - setValidationToField(fieldName: string, rules: any): void; - - /** Show columns in the grid based on the header text - * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to show - * @returns {void} - */ - showColumns(headerText: any[] | string): void; - - /** Send a sorting request in grid. - * @param {string} Pass the field name of the column as columnName for which sorting have to be performed - * @param {string} optional Pass the sort direction ascending/descending by which the column have to be sort. By default it is sorting in an ascending order - * @returns {void} - */ - sortColumn(columnName: string, sortingDirection?: string): void; - - /** Send an edit record request in grid - * @param {JQuery} Pass the tr- selected row element to be edited in grid - * @returns {void} - */ - startEdit($tr: JQuery): void; - - /** Un-group a column from grouped columns collection in grid - * @param {string} Pass the field Name of the column to be ungrouped from grouped column collection - * @returns {void} - */ - ungroupColumn(fieldName: string): void; - - /** Update a edited record in grid control when allowEditing is set as true. - * @param {string} Pass the primary key field Name of the column - * @param {Array} Pass the edited JSON data of record need to be update. - * @returns {void} - */ - updateRecord(fieldName: string, data: any[]): void; - - /** It adapts grid to its parent element or to the browsers window. - * @returns {void} - */ - windowonresize(): void; -} -export namespace Grid { - - export interface Model { - - /** Gets or sets a value that indicates whether to customizing cell based on our needs. - * @Default {false} - */ - allowCellMerging?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic grouping behavior. Grouping can be done by drag on drop desired columns to grid’s GroupDropArea. - * This can be further customized through “groupSettings” property. - * @Default {false} - */ - allowGrouping?: boolean; - - /** Gets or sets a value that indicates whether to enable keyboard support for performing grid actions. selectionType – Gets or sets a value that indicates whether to enable single - * row or multiple rows selection behavior in grid. Multiple selection can be done through by holding CTRL and clicking the grid rows - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic filtering behavior on grid. Filtering can be used to limit the records displayed using required criteria and - * this can be further customized through “filterSettings” property - * @Default {false} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. - * @Default {false} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable multi columns sorting behavior in grid. Sort multiple columns by holding CTRL and click on the corresponding column header. - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** This specifies the grid to show the paginated data. Also enables pager control at the bottom of grid for dynamic navigation through data source. - * Paging can be further customized through “pageSettings” property. - * @Default {false} - */ - allowPaging?: boolean; - - /** Gets or sets a value that indicates whether to enable the columns reordering behavior in the grid. Reordering can be done through by drag and drop the particular column - * from one index to another index within the grid. - * @Default {false} - */ - allowReordering?: boolean; - - /** Gets or sets a value that indicates whether the column is non resizable. Column width is set automatically based on the content or header text which is large. - * @Default {false} - */ - allowResizeToFit?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic resizable of columns. Resize the width of the columns by simply click and move the particular column header line - * @Default {false} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable the rows reordering in Grid and drag & drop rows between multiple Grid. - * @Default {false} - */ - allowRowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable the scrollbar in the grid and view the records by scroll through the grid manually - * @Default {false} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic searching behavior in grid. Currently search box can be enabled through “toolbarSettings” - * @Default {false} - */ - allowSearching?: boolean; - - /** Gets or sets a value that indicates whether user can select rows on grid. On enabling feature, selected row will be highlighted. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether the Content will wrap to the next line if the content exceeds the boundary of the Column Cells. - * @Default {false} - */ - allowTextWrap?: boolean; - - /** Gets or sets a value that indicates whether to enable the multiple exporting behavior on grid data. - * @Default {false} - */ - allowMultipleExporting?: boolean; - - /** Gets or sets a value that indicates to define common width for all the columns in the grid. - */ - commonWidth?: number; - - /** Gets or sets a value that indicates to enable the visibility of the grid lines. - * @Default {ej.Grid.GridLines.Both} - */ - gridLines?: ej.Grid.GridLines | string; - - /** This specifies the grid to add the grid control inside the grid row of the parent with expand/collapse options - * @Default {null} - */ - childGrid?: any; - - /** Used to enable or disable static width settings for column. If the columnLayout is set as fixed, then column width will be static. - * @Default {ej.Grid.ColumnLayout.Auto} - */ - columnLayout?: ej.Grid.ColumnLayout | string; - - /** Gets or sets an object that indicates to render the grid with specified columns - * @Default {[]} - */ - columns?: Column[]; - - /** Gets or sets an object that indicates whether to customize the context menu behavior of the grid. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Gets or sets a value that indicates to render the grid with custom theme. - */ - cssClass?: string; - - /** Gets or sets the data to render the grid with records - * @Default {null} - */ - dataSource?: any; - - /** Default Value: - * @Default {null} - */ - detailsTemplate?: string; - - /** Gets or sets an object that indicates whether to customize the editing behavior of the grid. - */ - editSettings?: EditSettings; - - /** Gets or sets a value that indicates whether to enable the alternative rows differentiation in the grid records based on corresponding theme. - * @Default {true} - */ - enableAltRow?: boolean; - - /** Gets or sets a value that indicates whether to enable the save action in the grid through row selection - * @Default {true} - */ - enableAutoSaveOnSelectionChange?: boolean; - - /** Gets or sets a value that indicates whether to enable mouse over effect on the corresponding column header cell of the grid - * @Default {false} - */ - enableHeaderHover?: boolean; - - /** Gets or sets a value that indicates whether to persist the grid model state in page using applicable medium i.e., HTML5 localStorage or cookies - * @Default {false} - */ - enablePersistence?: boolean; - - /** Gets or sets a value that indicates whether the grid rows has to be rendered as detail view in mobile mode - * @Default {false} - */ - enableResponsiveRow?: boolean; - - /** Gets or sets a value that indicates whether to enable mouse over effect on corresponding grid row. - * @Default {true} - */ - enableRowHover?: boolean; - - /** Align content in the grid control from right to left by setting the property as true. - * @Default {false} - */ - enableRTL?: boolean; - - /** To Disable the mouse swipe property as false. - * @Default {true} - */ - enableTouch?: boolean; - - /** It sets a value that indicates whether to enable toolbar items, when allowEditing, allowAdding and allowDeleting property set as false in the grid. - * @Default {false} - */ - enableToolbarItems?: boolean; - - /** Act as mapper for the excel exporting URL. - * @Default {ExportToExcel} - */ - exportToExcelAction?: string; - - /** Act as mapper for the PDF exporting URL. - * @Default {ExportToPdf} - */ - exportToPdfAction?: string; - - /** Act as mapper for the Word exporting URL. - * @Default {ExportToWord} - */ - exportToWordAction?: string; - - /** Gets or sets an object that indicates whether to customize the filtering behavior of the grid - */ - filterSettings?: FilterSettings; - - /** Gets or sets an object that indicates whether to customize the grouping behavior of the grid. - */ - groupSettings?: GroupSettings; - - /** Gets or sets a value that indicates whether the grid design has be to made responsive. - * @Default {false} - */ - isResponsive?: boolean; - - /** This specifies to change the key in keyboard interaction to grid control - * @Default {null} - */ - keySettings?: any; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and - * culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets a value that indicates whether to set the minimum width of the responsive grid while isResponsive property is true and enableResponsiveRow property is set as false. - * @Default {0} - */ - minWidth?: number; - - /** Gets or sets an object that indicates whether to modify the pager default configuration. - */ - pageSettings?: PageSettings; - - /** Query the dataSource from the table for Grid. - * @Default {null} - */ - query?: any; - - /** Gets or sets an object that indicates whether to modify the resizing behavior. - */ - resizeSettings?: ResizeSettings; - - /** Gets or sets a value that indicates to render the grid with template rows. The template row must be a table row. That table row must have the JavaScript render binding format ({{:columnName}}) - * then the grid data source binds the data to the corresponding table row of the template. - * @Default {null} - */ - rowTemplate?: string; - - /** Gets or sets an object that indicates whether to customize the drag and drop behavior of the grid rows - */ - rowDropSettings?: RowDropSettings; - - /** Gets or sets an object that indicates whether to customize the searching behavior of the grid - */ - searchSettings?: SearchSettings; - - /** Gets a value that indicates whether the grid model to hold multiple selected records . selectedRecords can be used to displayed hold the single - * or multiple selected records using “selectedRecords” property - * @Default {null} - */ - selectedRecords?: any[]; - - /** Gets or sets a value that indicates to select the row while initializing the grid - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Gets or sets a value that indicates the selected rows in grid - * @Default {[]} - */ - selectedRowIndices?: any[]; - - /** This property is used to configure the selection behavior of the grid. - */ - selectionSettings?: SelectionSettings; - - /** The row selection behavior of grid. Accepting types are "single" and "multiple". - * @Default {ej.Grid.SelectionType.Single} - */ - selectionType?: ej.Grid.SelectionType | string; - - /** Gets or sets an object that indicates whether to customize the scrolling behavior of the grid. - */ - scrollSettings?: ScrollSettings; - - /** Default Value: - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Gets or sets a value that indicates stacked header should be shown on grid layout when the property “stackedHeaderRows” is set. - * @Default {false} - */ - showStackedHeader?: boolean; - - /** Gets or sets a value that indicates summary rows should be shown on grid layout when the property “summaryRows” is set - * @Default {false} - */ - showSummary?: boolean; - - /** Gets or sets a value that indicates whether to customize the sorting behavior of the grid. - */ - sortSettings?: SortSettings; - - /** Gets or sets an object that indicates to managing the collection of stacked header rows for the grid. - * @Default {[]} - */ - stackedHeaderRows?: StackedHeaderRow[]; - - /** Gets or sets an object that indicates to managing the collection of summary rows for the grid. - * @Default {[]} - */ - summaryRows?: SummaryRow[]; - - /** Gets or sets an object that indicates whether to auto wrap the grid header or content or both - */ - textWrapSettings?: TextWrapSettings; - - /** Gets or sets an object that indicates whether to enable the toolbar in the grid and add toolbar items - */ - toolbarSettings?: ToolbarSettings; - - /** Triggered for every grid action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every grid action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered for every grid action server failure event. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggered when record batch add. */ - batchAdd?(e: BatchAddEventArgs): void; - - /** Triggered when record batch delete. */ - batchDelete?(e: BatchDeleteEventArgs): void; - - /** Triggered before the batch add. */ - beforeBatchAdd?(e: BeforeBatchAddEventArgs): void; - - /** Triggered before the batch delete. */ - beforeBatchDelete?(e: BeforeBatchDeleteEventArgs): void; - - /** Triggered before the batch save. */ - beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; - - /** Triggered before the print. */ - beforePrint?(e: BeforePrintEventArgs): void; - - /** Triggered before row drop in the grid */ - beforeRowDrop?(e: BeforeRowDropEventArgs): void; - - /** Triggered before the record is going to be edited. */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered when record cell edit. */ - cellEdit?(e: CellEditEventArgs): void; - - /** Triggered when record cell save. */ - cellSave?(e: CellSaveEventArgs): void; - - /** Triggered after the cell is selected. */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered before the cell is going to be selected. */ - cellSelecting?(e: CellSelectingEventArgs): void; - - /** Triggered after the cell is deselected. */ - cellDeselected?(e: CellDeselectedEventArgs): void; - - /** Triggered before the cell is going to be deselected. */ - cellDeselecting?(e: CellDeselectingEventArgs): void; - - /** Triggered when the column is being dragged. */ - columnDrag?(e: ColumnDragEventArgs): void; - - /** Triggered when column dragging begins. */ - columnDragStart?(e: ColumnDragStartEventArgs): void; - - /** Triggered when the column is dropped. */ - columnDrop?(e: ColumnDropEventArgs): void; - - /** Triggered when the row is being dragged. */ - rowDrag?(e: RowDragEventArgs): void; - - /** Triggered when row dragging begins. */ - rowDragStart?(e: RowDragStartEventArgs): void; - - /** Triggered when the row is dropped. */ - rowDrop?(e: RowDropEventArgs): void; - - /** Triggered after the column is selected. */ - columnSelected?(e: ColumnSelectedEventArgs): void; - - /** Triggered before the column is going to be selected. */ - columnSelecting?(e: ColumnSelectingEventArgs): void; - - /** Triggered after the column is deselected. */ - columnDeselected?(e: ColumnDeselectedEventArgs): void; - - /** Triggered before the column is going to be deselected. */ - columnDeselecting?(e: ColumnDeselectingEventArgs): void; - - /** Triggered when context menu item is clicked */ - contextClick?(e: ContextClickEventArgs): void; - - /** Triggered before the context menu is opened. */ - contextOpen?(e: ContextOpenEventArgs): void; - - /** Triggered when the grid is rendered completely. */ - create?(e: CreateEventArgs): void; - - /** Triggered when the grid is bound with data during initial rendering. */ - dataBound?(e: DataBoundEventArgs): void; - - /** Triggered when grid going to destroy. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered when detail template row is clicked to collapse. */ - detailsCollapse?(e: DetailsCollapseEventArgs): void; - - /** Triggered detail template row is initialized. */ - detailsDataBound?(e: DetailsDataBoundEventArgs): void; - - /** Triggered when detail template row is clicked to expand. */ - detailsExpand?(e: DetailsExpandEventArgs): void; - - /** Triggered after the record is added. */ - endAdd?(e: EndAddEventArgs): void; - - /** Triggered after the record is deleted. */ - endDelete?(e: EndDeleteEventArgs): void; - - /** Triggered after the record is edited. */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggered initial load. */ - load?(e: LoadEventArgs): void; - - /** Triggered every time a request is made to access particular cell information, element and data. */ - mergeCellInfo?(e: MergeCellInfoEventArgs): void; - - /** Triggered every time a request is made to access particular cell information, element and data. */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered when record is clicked. */ - recordClick?(e: RecordClickEventArgs): void; - - /** Triggered when record is double clicked. */ - recordDoubleClick?(e: RecordDoubleClickEventArgs): void; - - /** Triggered after column resized. */ - resized?(e: ResizedEventArgs): void; - - /** Triggered when column resize end. */ - resizeEnd?(e: ResizeEndEventArgs): void; - - /** Triggered when column resize start. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggered when right clicked on grid element. */ - rightClick?(e: RightClickEventArgs): void; - - /** Triggered every time a request is made to access row information, element and data. */ - rowDataBound?(e: RowDataBoundEventArgs): void; - - /** Triggered after the row is selected. */ - rowSelected?(e: RowSelectedEventArgs): void; - - /** Triggered before the row is going to be selected. */ - rowSelecting?(e: RowSelectingEventArgs): void; - - /** Triggered after the row is deselected. */ - rowDeselected?(e: RowDeselectedEventArgs): void; - - /** Triggered before the row is going to be deselected. */ - rowDeselecting?(e: RowDeselectingEventArgs): void; - - /** Triggered when refresh the template column elements in the Grid. */ - templateRefresh?(e: TemplateRefreshEventArgs): void; - - /** Triggered when toolbar item is clicked in grid. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current selected page number. - */ - currentPage?: number; - - /** Returns the previous selected page number. - */ - previousPage?: number; - - /** Returns the end row index of that current page. - */ - endIndex?: number; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the start row index of that current page. - */ - startIndex?: number; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns the column sort direction. - */ - columnSortDirection?: string; - - /** Returns current edited row. - */ - row?: any; - - /** Returns the current action event type. - */ - originalEventType?: string; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the record object (JSON). - */ - data?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the selected row index. - */ - selectedRow?: number; - - /** Returns selected row for delete. - */ - tr?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: any; - - /** Returns current filtering object. - */ - currentFilterObject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - - /** Returns type of the column like number, string and so on. - */ - columnType?: string; - - /** Returns the excel filter model. - */ - filtermodel?: any; - - /** Returns the dataSource. - */ - dataSource?: any; - - /** Returns the query manager. - */ - query?: any; - - /** Returns the customfilter option value. - */ - isCustomFilter?: boolean; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current selected page number. - */ - currentPage?: number; - - /** Returns the previous selected page number. - */ - previousPage?: number; - - /** Returns the end row index of that current page. - */ - endIndex?: number; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns the start row index of the current page. - */ - startIndex?: number; - - /** Returns grid element. - */ - target?: any; - - /** Returns the current sorted column field name. - */ - columnName?: string; - - /** Returns the column sort direction. - */ - columnSortDirection?: string; - - /** Returns current edited row. - */ - row?: any; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the record object (JSON). - */ - data?: any; - - /** Returns the selectedRow index. - */ - selectedRow?: number; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns selected row for delete. - */ - tr?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns current filtering object. - */ - currentFilterObject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - - /** Returns the dataSource. - */ - dataSource?: any; - - /** Returns the excel filter model. - */ - filtermodel?: any; - - /** Returns type of the column like number, string and so on. - */ - columnType?: string; - - /** Returns the customfilter option value. - */ - isCustomFilter?: boolean; - } - - export interface ActionFailureEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the error return by server. - */ - error?: any; - - /** Returns the current selected page number. - */ - currentPage?: number; - - /** Returns the previous selected page number. - */ - previousPage?: number; - - /** Returns the end row index of that current page. - */ - endIndex?: number; - - /** Returns current action event type. - */ - originalEventType?: string; - - /** Returns the start row index of the current page. - */ - startIndex?: number; - - /** Returns grid element. - */ - target?: any; - - /** Returns the current sorted column field name. - */ - columnName?: string; - - /** Returns the column sort direction. - */ - columnSortDirection?: string; - - /** Returns current edited row. - */ - row?: any; - - /** Returns primary key. - */ - primaryKey?: string; - - /** Returns primary key value. - */ - primaryKeyValue?: string; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the record object (JSON). - */ - data?: any; - - /** Returns the selectedRow index. - */ - selectedRow?: number; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns selected row for delete. - */ - tr?: any; - - /** Returns current filtering column field name. - */ - currentFilteringColumn?: string; - - /** Returns current filtering object. - */ - currentFilterObject?: any; - - /** Returns filter details. - */ - filterCollection?: any; - } - - export interface BatchAddEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column object. - */ - columnObject?: any; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the row element. - */ - row?: any; - - /** Returns the primaryKey. - */ - primaryKey?: any; - - /** Returns the cell object. - */ - cell?: any; - } - - export interface BatchDeleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the primary key. - */ - primaryKey?: any; - - /** Returns the row Index. - */ - rowIndex?: number; - } - - export interface BeforeBatchAddEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the default data object. - */ - defaultData?: any; - - /** Returns the primaryKey. - */ - primaryKey?: any; - } - - export interface BeforeBatchDeleteEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the primaryKey. - */ - primaryKey?: any; - - /** Returns the row index. - */ - rowIndex?: number; - - /** Returns the row data. - */ - rowData?: any; - - /** Returns the row element. - */ - row?: any; - } - - export interface BeforeBatchSaveEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the changed record object. - */ - batchChanges?: any; - } - - export interface BeforePrintEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Grid element. - */ - element?: any; - - /** Returns the selected records. - */ - selectedRows?: any; - } - - export interface BeforeRowDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the targeted row. - */ - target?: any; - - /** Returns the targeted row index. - */ - targetIndex?: any; - - /** Returns the dragged record details - */ - draggedRecords?: any; - - /** Returns the drop details - */ - dropDetails?: any; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current edited row. - */ - row?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the primary key. - */ - primaryKey?: any; - - /** Returns the primary key value. - */ - primaryKeyValue?: any; - - /** Returns the edited row index. - */ - rowIndex?: number; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellEditEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the validation rules. - */ - validationRules?: any; - - /** Returns the column name. - */ - columnName?: string; - - /** Returns the cell value. - */ - value?: string; - - /** Returns the row data object. - */ - rowData?: any; - - /** Returns the previous value of the cell. - */ - previousValue?: string; - - /** Returns the column object. - */ - columnObject?: any; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns isForeignKey option value. - */ - isForeignKey?: boolean; - } - - export interface CellSaveEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column name. - */ - columnName?: string; - - /** Returns the cell value. - */ - value?: string; - - /** Returns the row data object. - */ - rowData?: any; - - /** Returns the previous value of the cell. - */ - previousValue?: string; - - /** Returns the column object. - */ - columnObject?: any; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns isForeignKey option value. - */ - isForeignKey?: boolean; - } - - export interface CellSelectedEventArgs { - - /** Returns the selected cell index value. - */ - cellIndex?: number; - - /** Returns the previous selected cell index value. - */ - previousRowCellIndex?: number; - - /** Returns the selected cell element. - */ - currentCell?: any; - - /** Returns the previous selected cell element. - */ - previousRowCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the selected row cell index values. - */ - selectedRowCellIndex?: any[]; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellSelectingEventArgs { - - /** Returns the selected cell index value. - */ - cellIndex?: number; - - /** Returns the previous selected cell index value. - */ - previousRowCellIndex?: number; - - /** Returns the selected cell element. - */ - currentCell?: any; - - /** Returns the previous selected cell element. - */ - previousRowCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns whether the ctrl key is pressed while selecting cell - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while selecting cell - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellDeselectedEventArgs { - - /** Returns the deselected cell index value. - */ - cellIndex?: number; - - /** Returns the deselected cell element. - */ - currentCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellDeselectingEventArgs { - - /** Returns the deselecting cell index value. - */ - cellIndex?: number; - - /** Returns the deselecting cell element. - */ - currentCell?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns whether the ctrl key is pressed while deselecting cell - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while deselecting cell - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable column object. - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns target elements based on mouse move position. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable column object. - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns drag start element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: string; - - /** Returns the draggable column object. - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns dropped dragged element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable row object. - */ - target?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns target elements based on mouse move position. - */ - currentTarget?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns JSON data of dragged rows. - */ - data?: any; - } - - export interface RowDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: any; - - /** Returns the draggable row object. - */ - target?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns drag start element cell. - */ - currentTarget?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the JSON data of dragged rows. - */ - data?: any; - } - - export interface RowDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns draggable element type. - */ - draggableType?: string; - - /** Returns the draggable row object. - */ - rows?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the current mouse position cell element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the JSON data of dragged rows. - */ - data?: any; - } - - export interface ColumnSelectedEventArgs { - - /** Returns the selected cell index value. - */ - columnIndex?: number; - - /** Returns the previous selected column index value. - */ - previousColumnIndex?: number; - - /** Returns the selected header cell element. - */ - headerCell?: any; - - /** Returns the previous selected header cell element. - */ - prevColumnHeaderCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns the selected columns values. - */ - selectedColumnsIndex?: any[]; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnSelectingEventArgs { - - /** Returns the selected column index value. - */ - columnIndex?: number; - - /** Returns the previous selected column index value. - */ - previousColumnIndex?: number; - - /** Returns the selected header cell element. - */ - headerCell?: any; - - /** Returns the previous selected header cell element. - */ - prevColumnHeaderCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns whether the ctrl key is pressed while selecting cell - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while selecting cell - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDeselectedEventArgs { - - /** Returns the Deselected column index value. - */ - columnIndex?: number; - - /** Returns the Deselected column header element. - */ - headerCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ColumnDeselectingEventArgs { - - /** Returns the deselecting column index value. - */ - columnIndex?: number; - - /** Returns the deselecting column header element. - */ - headerCell?: any; - - /** Returns corresponding column object (JSON). - */ - column?: any; - - /** Returns whether the ctrl key is pressed while deselecting column - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while deselecting column - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the status of contextmenu item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the status of contextmenu item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DetailsCollapseEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns detail row element. - */ - detailsRow?: any; - - /** Returns master row of detail row record object (JSON). - */ - masterData?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns master row element. - */ - masterRow?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DetailsDataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns details row element. - */ - detailsElement?: any; - - /** Returns the details row data. - */ - data?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DetailsExpandEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns detail row element. - */ - detailsRow?: any; - - /** Returns master row of detail row record object (JSON). - */ - masterData?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns master row element. - */ - masterRow?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndAddEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns added data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndDeleteEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndEditEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns modified data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface LoadEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface MergeCellInfoEventArgs { - - /** Returns grid cell. - */ - cell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the text value in the cell. - */ - text?: string; - - /** Returns the column object. - */ - column?: any; - - /** Method to merge Grid rows. - */ - rowMerge?: any; - - /** Method to merge Grid columns. - */ - colMerge?: any; - - /** Method to merge Grid rows and columns. - */ - merge?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns grid cell. - */ - cell?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the text value in the cell. - */ - text?: string; - - /** Returns the column object. - */ - column?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RecordClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the jQuery object of the current selected row. - */ - row?: any; - - /** Returns the current selected cell. - */ - cell?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the cell index value. - */ - cellIndex?: number; - - /** Returns the corresponding cell value. - */ - cellValue?: string; - - /** Returns the Header text of the column corresponding to the selected cell. - */ - columnName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RecordDoubleClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the jQuery object of the current selected row. - */ - row?: any; - - /** Returns the current selected cell. - */ - cell?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the selected cell index value. - */ - cellIndex?: number; - - /** Returns the corresponding cell value. - */ - cellValue?: string; - - /** Returns the Header text of the column corresponding to the selected cell. - */ - columnName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ResizedEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the column object. - */ - column?: any; - - /** Returns the grid object. - */ - target?: any; - - /** Returns the old width value. - */ - oldWidth?: number; - - /** Returns the new width value. - */ - newWidth?: number; - } - - export interface ResizeEndEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the column object. - */ - column?: any; - - /** Returns the grid object. - */ - target?: any; - - /** Returns the old width value. - */ - oldWidth?: number; - - /** Returns the new width value. - */ - newWidth?: number; - - /** Returns the extra width value. - */ - extra?: number; - } - - export interface ResizeStartEventArgs { - - /** Returns the grid model. - */ - model?: any; - - /** Returns deleted data. - */ - data?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the column index. - */ - columnIndex?: number; - - /** Returns the column object. - */ - column?: any; - - /** Returns the grid object. - */ - target?: any; - - /** Returns the old width value. - */ - oldWidth?: number; - } - - export interface RightClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - currentData?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the current selected row. - */ - row?: any; - - /** Returns the selected row data object. - */ - data?: any; - - /** Returns the cell index of the selected cell. - */ - cellIndex?: number; - - /** Returns the cell value. - */ - cellValue?: string; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDataBoundEventArgs { - - /** Returns grid row. - */ - row?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current row record object (JSON). - */ - data?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the foreign key record object (JSON). - */ - foreignKeyData?: any; - - /** Returns the row index of the selected row. - */ - rowIndex?: number; - - /** Returns the current selected row. - */ - row?: any; - - /** Returns the previous selected row element. - */ - prevRow?: any; - - /** Returns the previous selected row index. - */ - prevRowIndex?: number; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowSelectingEventArgs { - - /** Returns the selected row index value. - */ - rowIndex?: number; - - /** Returns the selected row element. - */ - row?: any; - - /** Returns the previous selected row element. - */ - prevRow?: any; - - /** Returns the previous selected row index. - */ - prevRowIndex?: number; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDeselectedEventArgs { - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns the row index of the deselected row. - */ - rowIndex?: number; - - /** Returns the current deselected row element. - */ - row?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDeselectingEventArgs { - - /** Returns the deselecting row index value. - */ - rowIndex?: number; - - /** Returns the deselecting row element. - */ - row?: any; - - /** Returns current record object (JSON). - */ - data?: any; - - /** Returns whether the ctrl key is pressed while deselecting row - */ - isCtrlKeyPressed?: boolean; - - /** Returns whether the shift key is pressed while deselecting row - */ - isShiftKeyPressed?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface TemplateRefreshEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell object. - */ - cell?: any; - - /** Returns the column object. - */ - column?: any; - - /** Returns the current row data. - */ - data?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the current row index. - */ - rowIndex?: number; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the status of toolbar item which denotes its enabled state - */ - status?: boolean; - - /** Returns the target item. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the grid model. - */ - gridModel?: any; - - /** Returns the toolbar object of the selected toolbar element. - */ - toolbarData?: any; - - /** Returns the Id of the current toolbar element. - */ - itemId?: string; - - /** Returns the index of the current toolbar element. - */ - itemIndex?: number; - - /** Returns the name of the current toolbar element. - */ - itemName?: string; - } - - export interface ColumnsCommand { - - /** Gets or sets an object that indicates to define all the button options which are available in ejButton. - */ - buttonOptions?: any; - - /** Gets or sets a value that indicates to add the command column button. See unboundType - */ - type?: ej.Grid.UnboundType | string; - } - - export interface Column { - - /** Sets the clip mode for Grid cell as ellipsis or clipped content(both header and content) - * @Default {ej.Grid.ClipMode.Clip} - */ - clipMode?: ej.Grid.ClipMode | string; - - /** Gets or sets a value that indicates whether to enable editing behavior for particular column. - * @Default {true} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic filtering behavior for particular column. - * @Default {true} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic grouping behavior for particular column. - * @Default {true} - */ - allowGrouping?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic sorting behavior for particular column. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable dynamic resizable for particular column. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets an object that indicates to define a command column in the grid. - * @Default {[]} - */ - commands?: ColumnsCommand[]; - - /** Gets or sets a value that indicates to provide custom CSS for an individual column. - */ - cssClass?: string; - - /** Gets or sets a value that indicates the attribute values to the td element of a particular column - */ - customAttributes?: any; - - /** Gets or sets a value that indicates to bind the external datasource to the particular column when column editType as dropdownedit and also it is used to bind the datasource - * to the foreign key column while editing the grid. //Where data is array of JSON objects of text and value for the drop-down and array of JSON objects for foreign key column. - * @Default {null} - */ - dataSource?: any[]; - - /** Gets or sets a value that indicates to display the specified default value while adding a new record to the grid - */ - defaultValue?: string | number | boolean | Date; - - /** Gets or sets a value that indicates to render the grid content and header with an HTML elements - * @Default {false} - */ - disableHtmlEncode?: boolean; - - /** Gets or sets a value that indicates to display a column value as checkbox or string - * @Default {true} - */ - displayAsCheckBox?: boolean; - - /** Gets or sets a value that indicates to customize ejNumericTextbox of an editable column. See editingType - */ - editParams?: any; - - /** Gets or sets a template that displays a custom editor used to edit column values. See editTemplate - * @Default {null} - */ - editTemplate?: any; - - /** Gets or sets a value that indicates to render the element(based on edit type) for editing the grid record. See editingType - * @Default {ej.Grid.EditingType.String} - */ - editType?: ej.Grid.EditingType | string; - - /** Gets or sets a value that indicates to groups the column based on its column format. - * @Default {false} - */ - enableGroupByFormat?: boolean; - - /** Gets or sets a value that indicates to display the columns in the grid mapping with column name of the dataSource. - */ - field?: string; - - /** Gets or sets a template that customize the filter control from default . See filterBarTemplate - * @Default {null} - */ - filterBarTemplate?: any; - - /** Gets or sets a value that indicates to render the excel or menu filter dialog to the grid columns. See filterType - * @Default {null} - */ - filterType?: ej.Grid.FilterType | string; - - /** Gets or sets a value that indicates to define foreign key field name of the grid datasource. - * @Default {null} - */ - foreignKeyField?: string; - - /** Gets or sets a value that indicates to bind the field which is in foreign column datasource based on the foreignKeyField - * @Default {null} - */ - foreignKeyValue?: string; - - /** Gets or sets a value that indicates the format for the text applied on the column - */ - format?: string; - - /** Gets or sets a value that indicates to add the template within the header element of the particular column. - * @Default {null} - */ - headerTemplateID?: string; - - /** Gets or sets a value that indicates to display the title of that particular column. - */ - headerText?: string; - - /** This defines the text alignment of a particular column header cell value. See headerTextAlign - * @Default {null} - */ - headerTextAlign?: ej.TextAlign | string; - - /** It accepts the string value and shows the tooltip for the Grid column header. - * @Default {null} - */ - headerTooltip?: string; - - /** You can use this property to freeze selected columns in grid at the time of scrolling. - * @Default {false} - */ - isFrozen?: boolean; - - /** Gets or sets a value that indicates the column has an identity in the database. - * @Default {false} - */ - isIdentity?: boolean; - - /** Gets or sets a value that indicates the column is act as a primary key(read-only) of the grid. The editing is performed based on the primary key column - * @Default {false} - */ - isPrimaryKey?: boolean; - - /** Gets or sets a value that indicates the order of Column that are to be hidden or visible when Grid element is in responsive mode and could not occupy all columns. - * @Default {-1} - */ - priority?: number; - - /** Used to hide the particular column in column chooser by giving value as false. - * @Default {true} - */ - showInColumnChooser?: boolean; - - /** Gets or sets a value that indicates whether to enables column template for a particular column. - * @Default {false} - */ - template?: boolean | string; - - /** Gets or sets a value that indicates to align the text within the column. See textAlign - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign | string; - - /** Sets the template for Tooltip in Grid Columns(both header and content) - */ - tooltip?: string; - - /** Gets or sets a value that indicates to specify the data type of the specified columns. - */ - type?: string; - - /** Gets or sets a value that indicates to define constraints for saving data to the database. - */ - validationRules?: any; - - /** Gets or sets a value that indicates whether this column is visible in the grid. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets a value that indicates to define the width for a particular column in the grid. - */ - width?: number; - } - - export interface ContextMenuSettingsSubContextMenu { - - /** Used to get or set the corresponding custom context menu item to which the submenu to be appended. - * @Default {null} - */ - contextMenuItem?: string; - - /** Used to get or set the sub menu items to the custom context menu item. - * @Default {[]} - */ - subMenu?: any[]; - } - - export interface ContextMenuSettings { - - /** Gets or sets a value that indicates whether to add the default context menu actions as a context menu items If enableContextMenu is true it will show all the items related to the target, - * if you want selected items from contextmenu you have to mention in the contextMenuItems - * @Default {[]} - */ - contextMenuItems?: any[]; - - /** Gets or sets a value that indicates whether to add custom contextMenu items within the toolbar to perform any action in the grid - * @Default {[]} - */ - customContextMenuItems?: any[]; - - /** Gets or sets a value that indicates whether to enable the context menu action in the grid. - * @Default {false} - */ - enableContextMenu?: boolean; - - /** Used to get or set the subMenu to the corresponding custom context menu item. - */ - subContextMenu?: ContextMenuSettingsSubContextMenu[]; - - /** Gets or sets a value that indicates whether to disable the default context menu items in the grid. - * @Default {false} - */ - disableDefaultItems?: boolean; - } - - export interface EditSettings { - - /** Gets or sets a value that indicates whether to enable insert action in the editing mode. - * @Default {false} - */ - allowAdding?: boolean; - - /** Gets or sets a value that indicates whether to enable the delete action in the editing mode. - * @Default {false} - */ - allowDeleting?: boolean; - - /** Gets or sets a value that indicates whether to enable the edit action in the editing mode. - * @Default {false} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable the editing action while double click on the record - * @Default {true} - */ - allowEditOnDblClick?: boolean; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Dialog Box - * @Default {null} - */ - dialogEditorTemplateID?: string; - - /** Gets or sets a value that indicates whether to define the mode of editing See editMode - * @Default {ej.Grid.EditMode.Normal} - */ - editMode?: ej.Grid.EditMode | string; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the External edit form - * @Default {null} - */ - externalFormTemplateID?: string; - - /** This specifies to set the position of an External edit form either in the top-right or bottom-left of the grid - * @Default {ej.Grid.FormPosition.BottomLeft} - */ - formPosition?: ej.Grid.FormPosition | string; - - /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Inline edit form - * @Default {null} - */ - inlineFormTemplateID?: string; - - /** This specifies to set the position of an adding new row either in the top or bottom of the grid - * @Default {ej.Grid.RowPosition.Top} - */ - rowPosition?: ej.Grid.RowPosition | string; - - /** Gets or sets a value that indicates whether the confirm dialog has to be shown while saving or discarding the batch changes - * @Default {true} - */ - showConfirmDialog?: boolean; - - /** Gets or sets a value that indicates whether the confirm dialog has to be shown while deleting record - * @Default {false} - */ - showDeleteConfirmDialog?: boolean; - - /** Gets or sets a value that indicates whether the title for edit form is different from the primarykey column. - * @Default {null} - */ - titleColumn?: string; - - /** Gets or sets a value that indicates whether to display the add new form by default in the grid. - * @Default {false} - */ - showAddNewRow?: boolean; - } - - export interface FilterSettingsFilteredColumn { - - /** Gets or sets a value that indicates whether to define the field name of the column to be filter. - */ - field?: string; - - /** Gets or sets a value that indicates whether to define the matchCase of given value to be filter. - */ - matchCase?: boolean; - - /** Gets or sets a value that indicates whether to define the filter condition to filtered column. See operator - */ - operator?: ej.FilterOperators | string; - - /** Gets or sets a value that indicates whether to define the predicate as and/or. - */ - predicate?: string; - - /** Gets or sets a value that indicates whether to define the value to be filtered in a column. - */ - value?: string | number; - } - - export interface FilterSettings { - - /** Gets or sets a value that indicates to perform the filter operation with case sensitive in excel styled filter menu mode - * @Default {false} - */ - enableCaseSensitivity?: boolean; - - /** Gets or sets a value that indicates to define the interDeterminateState of checkbox in excel filter dialog. - * @Default {true} - */ - enableInterDeterminateState?: boolean; - - /** This specifies the grid to starts the filter action while typing in the filterBar or after pressing the enter key. based on the filterBarMode. See filterBarMode. - * @Default {ej.Grid.FilterBarMode.Immediate} - */ - filterBarMode?: ej.Grid.FilterBarMode | string; - - /** Gets or sets a value that indicates whether to define the filtered columns details programmatically at initial load - * @Default {[]} - */ - filteredColumns?: FilterSettingsFilteredColumn[]; - - /** This specifies the grid to show the filterBar or filterMenu to the grid records. See filterType - * @Default {ej.Grid.FilterType.FilterBar} - */ - filterType?: ej.Grid.FilterType | string; - - /** This specifies the grid to delay the filter action while typing in the filterBar. - * @Default {1500} - */ - immediateModeDelay?: number; - - /** Gets or sets a value that indicates the maximum number of filter choices that can be showed in the excel styled filter menu. - * @Default {1000} - */ - maxFilterChoices?: number; - - /** This specifies the grid to show the filter text within the grid pager itself. - * @Default {true} - */ - showFilterBarMessage?: boolean; - - /** Gets or sets a value that indicates whether to enable the predicate options in the filtering menu - * @Default {false} - */ - showPredicate?: boolean; - } - - export interface GroupSettings { - - /** Gets or sets a value that customize the group caption format. - * @Default {null} - */ - captionFormat?: string; - - /** Gets or sets a value that indicates whether to enable animation button option in the group drop area of the grid. - * @Default {false} - */ - enableDropAreaAutoSizing?: boolean; - - /** Gets or sets a value that indicates whether to add grouped columns programmatically at initial load - * @Default {[]} - */ - groupedColumns?: any[]; - - /** Gets or sets a value that indicates whether to show the group drop area just above the column header. It can be used to avoid ungrouping the already grouped column using groupSettings. - * @Default {true} - */ - showDropArea?: boolean; - - /** Gets or sets a value that indicates whether to hide the grouped columns from the grid - * @Default {false} - */ - showGroupedColumn?: boolean; - - /** Gets or sets a value that indicates whether to show the group button image(toggle button)in the column header and also in the grouped column in the group drop area. - * It can be used to group/ungroup the columns by click on the toggle button. - * @Default {false} - */ - showToggleButton?: boolean; - - /** Gets or sets a value that indicates whether to enable the close button in the grouped column which is in the group drop area to ungroup the grouped column - * @Default {false} - */ - showUngroupButton?: boolean; - } - - export interface PageSettings { - - /** Gets or sets a value that indicates whether to define which page to display currently in the grid - * @Default {1} - */ - currentPage?: number; - - /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. - * @Default {false} - */ - enableQueryString?: boolean; - - /** Gets or sets a value that indicates whether to enables pager template for the grid. - * @Default {false} - */ - enableTemplates?: boolean; - - /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation - * @Default {8} - */ - pageCount?: number; - - /** Gets or sets a value that indicates whether to define the number of records displayed per page - * @Default {12} - */ - pageSize?: number; - - /** Gets or sets a value that indicates whether to enables default pager for the grid. - * @Default {false} - */ - showDefaults?: boolean; - - /** Gets or sets a value that indicates to add the template as a pager template for grid. - * @Default {null} - */ - template?: string; - - /** Get the value of total number of pages in the grid. The totalPages value is calculated based on page size and total records of grid - * @Default {null} - */ - totalPages?: number; - - /** Get the value of total number of records which is bound to the grid. The totalRecordsCount value is calculated based on dataSource bound to the grid. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Gets or sets a value that indicates whether to define the number of pages to print - * @Default {ej.Grid.PrintMode.AllPages} - */ - printMode?: ej.Grid.PrintMode | string; - } - - export interface ResizeSettings { - - /** Gets or sets a value that indicates whether to define the mode of resizing. - * @Default {ej.Grid.ResizeMode.Normal} - */ - resizeMode?: ej.Grid.ResizeMode | string; - } - - export interface RowDropSettings { - - /** This specifies the grid to drop the grid rows only at particular target element. - * @Default {null} - */ - dropTargetID?: any; - - /** This helps in mapping server-side action when rows are dragged from Grid. - * @Default {null} - */ - dragMapper?: string; - - /** This helps in mapping server-side action when rows are dropped in Grid. - * @Default {null} - */ - dropMapper?: string; - } - - export interface SearchSettings { - - /** This specify the grid to search for the value in particular columns that is mentioned in the field. - * @Default {[]} - */ - fields?: any; - - /** This specifies the grid to search the particular data that is mentioned in the key. - */ - key?: string; - - /** It specifies the grid to search the records based on operator. - * @Default {contains} - */ - operator?: string; - - /** It enables or disables case-sensitivity while searching the search key in grid. - * @Default {true} - */ - ignoreCase?: boolean; - } - - export interface SelectionSettings { - - /** Gets or sets a value that indicates the cell selection actions based on the cell selection mode. - * @Default {flow} - */ - cellSelectionMode?: string; - - /** Gets or sets a value that indicates whether to enable the toggle selection behavior for row, cell and column. - * @Default {false} - */ - enableToggle?: boolean; - - /** Gets or sets a value that indicates whether to add the default selection actions as a selection mode.See selectionMode - * @Default {[row]} - */ - selectionMode?: any[]; - } - - export interface ScrollSettings { - - /** This specify the grid to to view data that you require without buffering the entire load of a huge database - * @Default {false} - */ - allowVirtualScrolling?: boolean; - - /** It accepts the boolean value and shows or hides the scrollbar while focus in or focus out of the Grid. - * @Default {false} - */ - autoHide?: boolean; - - /** Specifies the height and width of button in the scrollbar. - * @Default {18} - */ - buttonSize?: number; - - /** This specify the grid to enable/disable touch control for scrolling. - * @Default {true} - */ - enableTouchScroll?: boolean; - - /** This specify the grid to freeze particular columns at the time of scrolling. - * @Default {0} - */ - frozenColumns?: number; - - /** This specify the grid to freeze particular rows at the time of scrolling. - * @Default {0} - */ - frozenRows?: number; - - /** This specify the grid to show the vertical scroll bar, to scroll and view the grid contents. - * @Default {0} - */ - height?: string | number; - - /** It accepts the integer value and sets the width of scrollbar. - * @Default {18} - */ - scrollerSize?: number; - - /** This is used to define the mode of virtual scrolling in grid. See virtualScrollMode - * @Default {ej.Grid.VirtualScrollMode.Normal} - */ - virtualScrollMode?: ej.Grid.VirtualScrollMode | string; - - /** This is used to enable the enhanced virtual scrolling in Grid. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** This specify the grid to show the horizontal scroll bar, to scroll and view the grid contents - * @Default {250} - */ - width?: string | number; - - /** This specify the scroll down pixel of mouse wheel, to scroll mouse wheel and view the grid contents. - * @Default {57} - */ - scrollOneStepBy?: number; - } - - export interface SortSettingsSortedColumn { - - /** Gets or sets a value that indicates whether to define the direction to sort the column. - */ - direction?: string; - - /** Gets or sets a value that indicates whether to define the field name of the column to be sort - */ - field?: string; - } - - export interface SortSettings { - - /** Gets or sets a value that indicates whether to define the direction and field to sort the column. - */ - sortedColumns?: SortSettingsSortedColumn[]; - } - - export interface StackedHeaderRowsStackedHeaderColumn { - - /** Gets or sets a value that indicates the header text for the particular stacked header column. - * @Default {null} - */ - column?: any; - - /** Gets or sets a value that indicates class to the corresponding stackedHeaderColumn. - * @Default {null} - */ - cssClass?: string; - - /** Gets or sets a value that indicates the header text for the particular stacked header column. - * @Default {null} - */ - headerText?: string; - - /** Gets or sets a value that indicates the text alignment of the corresponding headerText. - * @Default {ej.TextAlign.Left} - */ - textAlign?: string; - - /** Sets the template for tooltip for the Grid stackedHeaderColumns. - * @Default {null} - */ - tooltip?: string; - } - - export interface StackedHeaderRow { - - /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows - * @Default {[]} - */ - stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; - } - - export interface SummaryRowsSummaryColumn { - - /** Gets or sets a value that indicates the text displayed in the summary column as a value - * @Default {null} - */ - customSummaryValue?: string; - - /** This specifies summary column used to perform the summary calculation - * @Default {null} - */ - dataMember?: string; - - /** Gets or sets a value that indicates to define the target column at which to display the summary. - * @Default {null} - */ - displayColumn?: string; - - /** Gets or sets a value that indicates the format for the text applied on the column - * @Default {null} - */ - format?: string; - - /** Gets or sets a value that indicates the text displayed before the summary column value - * @Default {null} - */ - prefix?: string; - - /** Gets or sets a value that indicates the text displayed after the summary column value - * @Default {null} - */ - suffix?: string; - - /** Gets or sets a value that indicates the type of calculations to be performed for the corresponding summary column - * @Default {[]} - */ - summaryType?: ej.Grid.SummaryType | string; - - /** Gets or sets a value that indicates to add the template for the summary value of dataMember given. - * @Default {null} - */ - template?: string; - } - - export interface SummaryRow { - - /** Gets or sets a value that indicates whether to show the summary value within the group caption area for the corresponding summary column while grouping the column - * @Default {false} - */ - showCaptionSummary?: boolean; - - /** Gets or sets a value that indicates whether to show the group summary value for the corresponding summary column while grouping a column - * @Default {false} - */ - showGroupSummary?: boolean; - - /** Gets or sets a value that indicates whether to show the total summary value the for the corresponding summary column. The summary row is added after the grid content. - * @Default {true} - */ - showTotalSummary?: boolean; - - /** Gets or sets a value that indicates whether to add summary columns into the summary rows. - * @Default {[]} - */ - summaryColumns?: SummaryRowsSummaryColumn[]; - - /** This specifies the grid to show the title for the summary rows. - */ - title?: string; - - /** This specifies the grid to show the title of summary row in the specified column. - * @Default {null} - */ - titleColumn?: string; - } - - export interface TextWrapSettings { - - /** This specifies the grid to apply the auto wrap for grid content or header or both. - * @Default {ej.Grid.WrapMode.Both} - */ - wrapMode?: ej.Grid.WrapMode | string; - } - - export interface ToolbarSettings { - - /** Gets or sets a value that indicates whether to add custom toolbar items within the toolbar to perform any action in the grid - * @Default {[]} - */ - customToolbarItems?: any[]; - - /** Gets or sets a value that indicates whether to enable toolbar in the grid. - * @Default {false} - */ - showToolbar?: boolean; - - /** Gets or sets a value that indicates whether to add the default editing actions as a toolbar items - * @Default {[]} - */ - toolbarItems?: Array; - } - - enum GridLines { - - ///Displays both the horizontal and vertical grid lines. - Both, - - ///Displays the horizontal grid lines only. - Horizontal, - - ///Displays the vertical grid lines only. - Vertical, - - ///No grid lines are displayed. - None - } - - - enum ClipMode { - - ///Shows ellipsis for the overflown cell. - Ellipsis, - - ///Truncate the text in the cell - Clip, - - ///Shows ellipsis and tooltip for the overflown cell. - EllipsisWithTooltip - } - - - enum ColumnLayout { - - ///Column layout is auto(based on width). - Auto, - - ///Column layout is fixed(based on width). - Fixed - } - - - enum UnboundType { - - ///Unbound type is edit. - Edit, - - ///Unbound type is save. - Save, - - ///Unbound type is delete. - Delete, - - ///Unbound type is cancel. - Cancel - } - - - enum EditingType { - - ///Specifies editing type as string edit. - String, - - ///Specifies editing type as boolean edit. - Boolean, - - ///Specifies editing type as numeric edit. - Numeric, - - ///Specifies editing type as dropdown edit. - Dropdown, - - ///Specifies editing type as datepicker. - DatePicker, - - ///Specifies editing type as datetime picker. - DateTimePicker - } - - - enum FilterType { - - ///Specifies the filter type as menu. - Menu, - - ///Specifies the filter type as excel. - Excel - } - - - enum EditMode { - - ///Edit mode is normal. - Normal, - - ///Edit mode is dialog. - Dialog, - - ///Edit mode is dialog template. - DialogTemplate, - - ///Edit mode is batch. - Batch, - - ///Edit mode is inline form. - InlineForm, - - ///Edit mode is inline template form. - InlineTemplateForm, - - ///Edit mode is external form. - ExternalForm, - - ///Edit mode is external form template. - ExternalFormTemplate - } - - - enum FormPosition { - - ///Form position is bottomleft. - BottomLeft, - - ///Form position is topright. - TopRight - } - - - enum RowPosition { - - ///Specifies position of add new row as top. - Top, - - ///Specifies position of add new row as bottom. - Bottom - } - - - enum FilterBarMode { - - ///Initiate filter operation on typing the filter query. - Immediate, - - ///Initiate filter operation after Enter key is pressed. - OnEnter - } - - - enum PrintMode { - - ///Prints all pages. - AllPages, - - ///Prints current page. - CurrentPage - } - - - enum ResizeMode { - - ///New column size will be adjusted by all other Columns - Normal, - - ///New column Size will be adjusted using next column. - NextColumn, - - ///New column Size will be adjusted using entire control - Control - } - - - enum SelectionType { - - ///Specifies the selection type as single. - Single, - - ///Specifies the selection type as multiple. - Multiple - } - - - enum VirtualScrollMode { - - ///virtual scroll mode is normal. - Normal, - - ///virtual scroll mode is continuous. - Continuous - } - - - enum SummaryType { - - ///Summary type is average. - Average, - - ///Summary type is minimum. - Minimum, - - ///Summary type is maximum. - Maximum, - - ///Summary type is count. - Count, - - ///Summary type is sum. - Sum, - - ///Summary type is custom. - Custom, - - ///Summary type is true count. - TrueCount, - - ///Summary type is false count. - FalseCount - } - - - enum WrapMode { - - ///Auto wrap is applied for both content and header. - Both, - - ///Auto wrap is applied only for content. - Content, - - ///Auto wrap is applied only for header. - Header - } - - - enum ToolBarItems { - - ///Toolbar item is add. - Add, - - ///Toolbar item is edit. - Edit, - - ///Toolbar item is delete. - Delete, - - ///Toolbar item is update. - Update, - - ///Toolbar item is cancel. - Cancel, - - ///Toolbar item is search. - Search, - - ///Toolbar item is pdfExport. - PdfExport, - - ///Toolbar item is printGrid. - PrintGrid, - - ///Toolbar item is wordExport. - WordExport - } - -} - -class Sparkline extends ej.Widget { - static fn: Sparkline; - constructor(element: JQuery | Element, options?: Sparkline.Model); - static Locale: any; - model: Sparkline.Model; - defaults: Sparkline.Model; - - /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; -} -export namespace Sparkline { - - export interface Model { - - /** Background color of the plot area. - * @Default {transparent} - */ - background?: string; - - /** Fill color for the sparkline series. - * @Default {#33ccff} - */ - fill?: string; - - /** Border color of the series. - * @Default {null} - */ - stroke?: string; - - /** Options for customizing the color, opacity and width of the sparkline border. - */ - border?: Border; - - /** Border width of the series. - * @Default {1} - */ - width?: number; - - /** Opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Color for series high point. - * @Default {null} - */ - highPointColor?: string; - - /** Color for series low point. - * @Default {null} - */ - lowPointColor?: string; - - /** Color for series start point. - * @Default {null} - */ - startPointColor?: string; - - /** Color for series end point. - * @Default {null} - */ - endPointColor?: string; - - /** Color for series negative point. - * @Default {null} - */ - negativePointColor?: string; - - /** Options for customizing the color, opacity of the sparkline start and end range. - */ - rangeBandSettings?: RangeBandSettings; - - /** Name of a field in data source, where the fill color for all the data points is generated. - */ - palette?: string; - - /** Controls whether sparkline has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. - * @Default {false} - */ - enableCanvasRendering?: boolean; - - /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. - * @Default {null} - */ - dataSource?: any; - - /** Name of the property in the datasource that contains x value for the series. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y value for the series. - * @Default {null} - */ - yName?: string; - - /** Gap or padding for sparkline. - * @Default {8} - */ - padding?: number; - - /** Specifies the type of the series to render in sparkline. - * @Default {line. See Type} - */ - type?: ej.datavisualization.Sparkline.Type | string; - - /** Specifies the theme for Sparkline. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sparkline.Theme | string; - - /** Options to customize the tooltip. - */ - tooltip?: Tooltip; - - /** Options for displaying and customizing marker for a data point. - */ - markerSettings?: MarkerSettings; - - /** Options to customize the Sparkline size. - */ - size?: Size; - - /** Options for customizing the color,dashArray and width of the axisLine. - */ - axisLineSettings?: AxisLineSettings; - - /** Fires before loading the sparkline. */ - load?(e: LoadEventArgs): void; - - /** Fires after loaded the sparkline. */ - loaded?(e: LoadedEventArgs): void; - - /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ - tooltipInitialize?(e: TooltipInitializeEventArgs): void; - - /** Fires before rendering a series. This event is fired for each series in Sparkline. */ - seriesRendering?(e: SeriesRenderingEventArgs): void; - - /** Fires when mouse is moved over a point. */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - - /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ - pointRegionMouseClick?(e: PointRegionMouseClickEventArgs): void; - - /** Fires on moving mouse over the sparkline. */ - sparklineMouseMove?(e: SparklineMouseMoveEventArgs): void; - - /** Fires on moving mouse outside the sparkline. */ - sparklineMouseLeave?(e: SparklineMouseLeaveEventArgs): void; - } - - export interface LoadEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface LoadedEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface TooltipInitializeEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X Location of the trackball tooltip in pixels - */ - locationX?: any; - - /** Y Location of the trackball tooltip in pixels - */ - locationY?: any; - - /** Index of the point for which trackball tooltip is displayed - */ - pointIndex?: number; - - /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip - */ - currentText?: string; - } - - export interface SeriesRenderingEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** Minimum x value of the data point - */ - minX?: any; - - /** Minimum y value of the data point - */ - minY?: any; - - /** Maximum x value of the data point - */ - maxX?: any; - - /** Maximum y value of the data point - */ - maxY?: any; - } - - export interface PointRegionMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; - } - - export interface PointRegionMouseClickEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - - /** X-coordinate of point in pixel - */ - locationX?: number; - - /** Y-coordinate of point in pixel - */ - locationY?: number; - - /** Index of the point in series - */ - pointIndex?: number; - - /** Type of the series - */ - seriesType?: string; - } - - export interface SparklineMouseMoveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface SparklineMouseLeaveEventArgs { - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sparkline model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of the sparkline. - * @Default {transparent} - */ - color?: string; - - /** Width of the Sparkline border. - * @Default {1} - */ - width?: number; - } - - export interface RangeBandSettings { - - /** Start value of the range band. - * @Default {null} - */ - startRange?: number; - - /** End value of the range band. - * @Default {null} - */ - endRange?: number; - - /** Range band opacity of the series. - * @Default {1} - */ - opacity?: number; - - /** Range band color of the series. - * @Default {transparent} - */ - color?: string; - } - - export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {transparent} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {1} - */ - width?: number; - } - - export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {#111111} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sparkline.FontStyle | string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sparkline.FontWeight | string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {8px} - */ - size?: string; - } - - export interface Tooltip { - - /** Show/hides the tooltip visibility. - * @Default {false} - */ - visible?: boolean; - - /** Fill color for the sparkline tooltip. - * @Default {white} - */ - fill?: string; - - /** Custom template to the tooltip. - */ - template?: string; - - /** Options for customizing the border of the tooltip. - */ - border?: TooltipBorder; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - } - - export interface MarkerSettingsBorder { - - /** Border color of the marker shape. - * @Default {transparent} - */ - color?: string; - - /** Controls the opacity of the marker border. - * @Default {1} - */ - opacity?: number; - - /** Border width of the marker shape. - * @Default {null} - */ - width?: number; - } - - export interface MarkerSettings { - - /** Controls the opacity of the marker. - * @Default {1} - */ - opacity?: number; - - /** Controls the visibility of the marker shape. - * @Default {false} - */ - visible?: boolean; - - /** width of the marker shape. - * @Default {2} - */ - width?: number; - - /** Color of the marker shape. - * @Default {white} - */ - fill?: string; - - /** Options for customizing the border of the marker shape. - */ - border?: MarkerSettingsBorder; - } - - export interface Size { - - /** Height of the Sparkline. Height can be specified in either pixel or percentage. - * @Default {''} - */ - height?: string; - - /** Width of the Sparkline. Width can be specified in either pixel or percentage. - * @Default {''} - */ - width?: string; - } - - export interface AxisLineSettings { - - /** Controls the visibility of the axis. - * @Default {false} - */ - visible?: boolean; - - /** Color of the axis line. - * @Default {'#111111'} - */ - color?: string; - - /** Width of the axis line. - * @Default {1} - */ - width?: number; - - /** Dash array of the axis line. - * @Default {1} - */ - dashArray?: number; - } -} -namespace Sparkline { - enum Type { - //string - Area, - //string - Line, - //string - Column, - //string - Pie, - //string - WinLoss, - } -} -namespace Sparkline { - enum Theme { - //string - Azure, - //string - FlatLight, - //string - FlatDark, - //string - Azuredark, - //string - Lime, - //string - LimeDark, - //string - Saffron, - //string - SaffronDark, - //string - GradientLight, - //string - GradientDark, - } -} -namespace Sparkline { - enum FontStyle { - //string - Normal, - //string - Italic, - } -} -namespace Sparkline { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } -} - -class SunburstChart extends ej.Widget { - static fn: SunburstChart; - constructor(element: JQuery | Element, options?: SunburstChart.Model); - static Locale: any; - model: SunburstChart.Model; - defaults: SunburstChart.Model; - - /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. - * @returns {void} - */ - redraw(): void; - - /** destroy the sunburst - * @returns {void} - */ - _destroy(): void; -} -export namespace SunburstChart { - - export interface Model { - - /** Background color of the plot area. - * @Default {null} - */ - background?: string; - - /** Bind the data field from the data source. - * @Default {null} - */ - valueMemberPath?: string; - - /** Options for customizing the sunburst border. - */ - border?: Border; - - /** Options for customizing the sunburst segment border. - */ - segmentBorder?: SegmentBorder; - - /** Specifies the dataSource to the sunburst. - * @Default {null} - */ - dataSource?: any; - - /** Palette color for the data points. - * @Default {null} - */ - palette?: string; - - /** Parent node of the data points. - * @Default {null} - */ - parentNode?: string; - - /** Name of the property in the datasource that contains x values. - * @Default {null} - */ - xName?: string; - - /** Name of the property in the datasource that contains y values. - * @Default {null} - */ - yName?: string; - - /** Controls whether sunburst has to be responsive or not. - * @Default {true} - */ - isResponsive?: boolean; - - /** Options to customize the Sunburst size. - */ - size?: Size; - - /** Controls the visibility of sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options to customize the Sunburst tooltip. - */ - tooltip?: Tooltip; - - /** Options for customizing sunburst points. - */ - points?: Points; - - /** Sunburst rendering will start from the specified value - * @Default {null} - */ - startAngle?: number; - - /** Sunburst rendering will end at the specified value - * @Default {null} - */ - endAngle?: number; - - /** Sunburst outer radius value - * @Default {1} - */ - radius?: number; - - /** Sunburst inner radius value - * @Default {0.4} - */ - innerRadius?: number; - - /** Options to customize the Sunburst dataLabel. - */ - dataLabelSettings?: DataLabelSettings; - - /** Options for customizing the title and subtitle of sunburst. - */ - title?: Title; - - /** Options for customizing the appearance of the levels or point while highlighting. - */ - highlightSettings?: HighlightSettings; - - /** Options for customizing the appearance of the levels or data point while selection. - */ - selectionSettings?: SelectionSettings; - - /** Specify levels of sunburst for grouped visualization of data - * @Default {[]} - */ - levels?: Level[]; - - /** Options to customize the legend items and legend title. - */ - legend?: Legend; - - /** Specifies the theme for Sunburst. - * @Default {Flatlight. See Theme} - */ - theme?: ej.datavisualization.Sunburst.SunburstTheme | string; - - /** Options to customize the left, right, top and bottom margins of sunburst area. - */ - margin?: Margin; - - /** Enable/disable the animation for all the levels. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Opacity of the levels. - * @Default {1} - */ - opacity?: number; - - /** Options for enable zooming feature of chart. - */ - zoomSettings?: ZoomSettings; - - /** Animation type of sunburst - * @Default {rotation. See Alignment} - */ - animationType?: ej.datavisualization.Sunburst.Animation | string; - - /** Fires before loading. */ - load?(e: LoadEventArgs): void; - - /** Fires before rendering sunburst. */ - preRender?(e: PreRenderEventArgs): void; - - /** Fires after rendering sunburst. */ - loaded?(e: LoadedEventArgs): void; - - /** Fires before rendering the datalabel */ - dataLabelRendering?(e: DataLabelRenderingEventArgs): void; - - /** Fires before rendering each segment */ - segmentRendering?(e: SegmentRenderingEventArgs): void; - - /** Fires before rendering sunburst title. */ - titleRendering?(e: TitleRenderingEventArgs): void; - - /** Fires during initialization of tooltip. */ - tooltipInitialize?(e: TooltipInitializeEventArgs): void; - - /** Fires after clicking the point in sunburst */ - pointRegionClick?(e: PointRegionClickEventArgs): void; - - /** Fires while moving the mouse over sunburst points */ - pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; - - /** Fires when clicking the point to perform drilldown. */ - drillDownClick?(e: DrillDownClickEventArgs): void; - - /** Fires when resetting drilldown points. */ - drillDownBack?(e: DrillDownBackEventArgs): void; - - /** Fires after resetting the sunburst points */ - drillDownReset?(e: DrillDownResetEventArgs): void; - } - - export interface LoadEventArgs { - - /** Load event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface PreRenderEventArgs { - - /** PreRender event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface LoadedEventArgs { - - /** Loaded event data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DataLabelRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface SegmentRenderingEventArgs { - - /** Sunburst datalabel data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface TitleRenderingEventArgs { - - /** Sunburst title data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface TooltipInitializeEventArgs { - - /** Sunburst tooltip data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface PointRegionClickEventArgs { - - /** Includes clicked points region data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface PointRegionMouseMoveEventArgs { - - /** Includes data of mouse moved region - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DrillDownClickEventArgs { - - /** Clicked point data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DrillDownBackEventArgs { - - /** Drill down data of points - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface DrillDownResetEventArgs { - - /** Drill down reset data - */ - data?: string; - - /** Set this option to true to cancel the event - */ - cancel?: boolean; - - /** Instance of the sunburst model object - */ - model?: any; - - /** Name of the event - */ - type?: string; - } - - export interface Border { - - /** Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst border. - * @Default {2} - */ - width?: number; - } - - export interface SegmentBorder { - - /** Segment Border color of the sunburst. - * @Default {null} - */ - color?: string; - - /** Width of the Sunburst segment border. - * @Default {2} - */ - width?: number; - } - - export interface Size { - - /** Height of the Sunburst. - * @Default {''} - */ - height?: string; - - /** Width of the Sunburst. - * @Default {''} - */ - width?: string; - } - - export interface TooltipBorder { - - /** Border color of the tooltip. - * @Default {null} - */ - color?: string; - - /** Border width of the tooltip. - * @Default {5} - */ - width?: number; - } - - export interface TooltipFont { - - /** Font color of the text in the tooltip. - * @Default {null} - */ - color?: string; - - /** Font Family for the tooltip. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Specifies the font Style for the tooltip. - * @Default {Normal} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Specifies the font weight for the tooltip. - * @Default {Regular} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity for text in the tooltip. - * @Default {1} - */ - opacity?: number; - - /** Font size for text in the tooltip. - * @Default {12px} - */ - size?: string; - } - - export interface Tooltip { - - /** tooltip visibility of the Sunburst. - * @Default {true} - */ - visible?: boolean; - - /** Options for customizing the border of the sunburst tooltip. - */ - border?: TooltipBorder; - - /** Fill color for the sunburst tooltip. - * @Default {null} - */ - fill?: string; - - /** Options for customizing the font of the tooltip. - */ - font?: TooltipFont; - - /** Custom template to the tooltip. - * @Default {null} - */ - template?: string; - } - - export interface Points { - - /** Points x value of the sunburst. - * @Default {null} - */ - x?: string; - - /** Points y value of the sunburst. - * @Default {null} - */ - y?: number; - - /** Points text of the sunburst. - * @Default {null} - */ - text?: string; - - /** Points fill color of the sunburst. - * @Default {null} - */ - fill?: string; - } - - export interface DataLabelSettingsFont { - - /** Font family of the data label. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style of the data label. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight of the data label. - * @Default {regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the text. - * @Default {1} - */ - opacity?: number; - - /** Font color of the data label text. - * @Default {null} - */ - color?: string; - - /** Font size of the data label. - * @Default {12px} - */ - size?: string; - } - - export interface DataLabelSettings { - - /** Datalabel visibility of the Sunburst. - * @Default {false} - */ - visible?: boolean; - - /** Alignment of sunburst datalabel - * @Default {Angle. See DatalabelAlignment} - */ - labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode | string; - - /** Options for customizing the data label font. - */ - font?: DataLabelSettingsFont; - - /** Custom template for datalabel - * @Default {null} - */ - template?: string; - - /** Fill color for the datalabel - * @Default {null} - */ - fill?: string; - - /** Datalabel overflow mode - * @Default {Trim. See LabelOverflowMode} - */ - labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode | string; - } - - export interface TitleFont { - - /** Font family for Sunburst title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for Sunburst title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for Sunburst title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the Sunburst title. - * @Default {1} - */ - opacity?: number; - - /** Font size for Sunburst title. - * @Default {20px} - */ - size?: string; - } - - export interface TitleSubtitleFont { - - /** Font family of sub title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for sub title. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for sub title. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Opacity of the sub title. - * @Default {1} - */ - opacity?: number; - - /** Font size for sub title. - * @Default {12px} - */ - size?: string; - } - - export interface TitleSubtitle { - - /** Subtitle text for sunburst - */ - text?: string; - - /** Sub title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Sub title text alignment - * @Default {far. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the font of sub title. - */ - font?: TitleSubtitleFont; - } - - export interface Title { - - /** Title text for sunburst - */ - text?: string; - - /** Title text visibility for sunburst - * @Default {true} - */ - visible?: string; - - /** Title text alignment - * @Default {center. See TextAlignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the font of sunburst title. - */ - font?: TitleFont; - - /** Options to customize the sub title of Sunburst. - */ - subtitle?: TitleSubtitle; - } - - export interface HighlightSettings { - - /** Enables/disables the ability to highlight the levels or point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or point has to be highlighted. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; - - /** Color of the levels/point on highlight. - * @Default {red} - */ - color?: string; - - /** Opacity of the levels/point on highlight. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be highlighted. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; - } - - export interface SelectionSettings { - - /** Enables/disables the ability to select the levels or data point interactively. - * @Default {false} - */ - enable?: boolean; - - /** Specifies whether the levels or data point has to be selected. - * @Default {point. See Mode} - */ - mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; - - /** Color of the levels/point on selection. - * @Default {green} - */ - color?: string; - - /** Opacity of the levels/point on selection. - * @Default {0.5} - */ - opacity?: number; - - /** Specifies whether the levels or data point has to be selected. - * @Default {opacity. See Mode} - */ - type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; - } - - export interface Level { - - /** Specifies the group member path - * @Default {null} - */ - groupMemberPath?: string; - } - - export interface LegendBorder { - - /** Border color of the legend. - * @Default {null} - */ - color?: string; - - /** Border width of the legend. - * @Default {1} - */ - width?: number; - } - - export interface LegendFont { - - /** Font family for legend item text. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend item text. - * @Default {Normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for legend item text. - * @Default {Regular. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Font size for legend item text. - * @Default {12px} - */ - size?: string; - } - - export interface LegendItemStyle { - - /** Height of the shape in legend items. - * @Default {10} - */ - height?: number; - - /** Width of the shape in legend items. - * @Default {10} - */ - width?: number; - } - - export interface LegendLocation { - - /** X value or horizontal offset to position the legend in chart. - * @Default {0} - */ - x?: number; - - /** Y value or vertical offset to position the legend. - * @Default {0} - */ - y?: number; - } - - export interface LegendSize { - - /** Height of the legend. Height can be specified in either pixel or percentage. - * @Default {null} - */ - height?: string; - - /** Width of the legend. Width can be specified in either pixel or percentage. - * @Default {null} - */ - width?: string; - } - - export interface LegendTitleFont { - - /** Font family for the text in legend title. - * @Default {Segoe UI} - */ - fontFamily?: string; - - /** Font style for legend title. - * @Default {normal. See FontStyle} - */ - fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; - - /** Font weight for legend title. - * @Default {normal. See FontWeight} - */ - fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; - - /** Font size for legend title. - * @Default {12px} - */ - size?: string; - } - - export interface LegendTitle { - - /** Options to customize the font used for legend title - */ - font?: LegendTitleFont; - - /** Enables or disables the legend title. - * @Default {true} - */ - visible?: string; - - /** Text to be displayed in legend title. - */ - text?: string; - - /** Alignment of the legend title. - * @Default {center. See Alignment} - */ - textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - } - - export interface Legend { - - /** Visibility of the legend. - * @Default {false} - */ - visible?: boolean; - - /** Interactive action of legend items. - * @Default {toggleSegmentVisibility. See Alignment} - */ - clickAction?: ej.datavisualization.Sunburst.SunburstClickAction | string; - - /** Horizontal alignment of the legend. - * @Default {Center. See Alignment} - */ - alignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; - - /** Options for customizing the legend border. - */ - border?: LegendBorder; - - /** Number of columns to arrange the legend items. - * @Default {null} - */ - columnCount?: number; - - /** Number of rows to arrange the legend items. - * @Default {null} - */ - rowCount?: number; - - /** Options to customize the font used for legend item text. - */ - font?: LegendFont; - - /** Gap or padding between the legend items. - * @Default {10} - */ - itemPadding?: number; - - /** Options to customize the style of legend items. - */ - itemStyle?: LegendItemStyle; - - /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom - */ - location?: LegendLocation; - - /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. - * @Default {Bottom. See Position} - */ - position?: ej.datavisualization.Sunburst.SunburstLegendPosition | string; - - /** Shape of the legend items. - * @Default {None. See Shape} - */ - shape?: ej.datavisualization.Sunburst.SunburstLegendShape | string; - - /** Options to customize the size of the legend. - */ - size?: LegendSize; - - /** Options to customize the legend title. - */ - title?: LegendTitle; - } - - export interface Margin { - - /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. - * @Default {10} - */ - left?: number; - - /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. - * @Default {10} - */ - right?: number; - - /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. - * @Default {10} - */ - top?: number; - - /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. - * @Default {10} - */ - bottom?: number; - } - - export interface ZoomSettings { - - /** Enables or disables zooming. - * @Default {false} - */ - enable?: boolean; - - /** Toolbar horizontal alignment - * @Default {right. See Alignment} - */ - toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment | string; - - /** Toolbar vertical alignment - * @Default {top. See Alignment} - */ - toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment | string; - } -} -namespace Sunburst { - enum FontStyle { - //string - Normal, - //string - Italic, - } -} -namespace Sunburst { - enum FontWeight { - //string - Regular, - //string - Bold, - //string - Lighter, - } -} -namespace Sunburst { - enum SunburstLabelRotationMode { - //string - Angle, - //string - Normal, - } -} -namespace Sunburst { - enum SunburstLabelOverflowMode { - //string - Trim, - //string - Hide, - //string - None, - } -} -namespace Sunburst { - enum SunburstAlignment { - //string - Center, - //string - Near, - //string - Far, - } -} -namespace Sunburst { - enum SunburstHighlightMode { - //string - Point, - //string - Parent, - //string - Child, - //string - All, - } -} -namespace Sunburst { - enum SunburstHighlightType { - //string - Opacity, - //string - Color, - } -} -namespace Sunburst { - enum SunburstClickAction { - //string - None, - //string - ToggleSegmentVisibility, - //string - ToggleSegmentSelection, - } -} -namespace Sunburst { - enum SunburstLegendPosition { - //string - Left, - //string - Right, - //string - Top, - //string - Bottom, - } -} -namespace Sunburst { - enum SunburstLegendShape { - //string - Diamond, - //string - Pentagon, - //string - Rectangle, - //string - Circle, - //string - Cross, - //string - Triangle, - } -} -namespace Sunburst { - enum SunburstTheme { - //string - FlatLight, - //string - FlatDark, - } -} -namespace Sunburst { - enum SunburstHorizontalAlignment { - //string - Center, - //string - Left, - //string - Right, - } -} -namespace Sunburst { - enum SunburstVerticalAlignment { - //string - Top, - //string - Bottom, - //string - Middle, - } -} -namespace Sunburst { - enum Animation { - //string - Rotation, - //string - FadeIn, - } -} - -class PivotGrid extends ej.Widget { - static fn: PivotGrid; - constructor(element: JQuery | Element, options?: PivotGrid.Model); - static Locale: any; - model: PivotGrid.Model; - defaults: PivotGrid.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Performs an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ - doPostBack(): void; - - /** Exports the PivotGrid to the specified format. - * @returns {void} - */ - exportPivotGrid(): void; - - /** This function re-renders the PivotGrid on clicking the navigation buttons on PivotPager. - * @returns {void} - */ - refreshPagedPivotGrid(): void; - - /** This function refreshes the PivotGrid with modified data input in client-mode. - * @returns {void} - */ - refreshPivotGrid(): void; - - /** This function re-renders the control with the report available at that instant. - * @returns {void} - */ - refreshControl(): void; - - /** This function returns the height of all rows and width each and every column. - * @returns {any} - */ - calculateCellWidths(): any; - - /** This function creates the conditional formatting dialog to apply conditional formatting for PivotGrid control. - * @returns {void} - */ - createConditionalDialog(): void; - - /** This function saves the current report to the database/local storage. - * @returns {void} - */ - saveReport(): void; - - /** This function loads the specified report from the database/local storage. - * @returns {void} - */ - loadReport(): void; - - /** This function reconstructs the JSON data formed for rendering PivotGrid in excel-like layout format. - * @returns {void} - */ - excelLikeLayout(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records formed to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** This function allows user to change the caption of the Pivot Item (name displayed in UI) on-demand for relational datasource in client-mode. - * @returns {void} - */ - refreshFieldCaption(): void; - - /** This function receives the JSON formatted datasource to render the PivotGrid control. - * @returns {void} - */ - renderControlFromJSON(): void; -} -export namespace PivotGrid { - - export interface Model { - - /** Sets the mode for the PivotGrid widget for binding either OLAP or relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Specifies the CSS class to PivotGrid to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Connects the PivotSchemaDesigner with the specified ID to the PivotGrid Control. - * @Default {“”} - */ - pivotTableFieldListID?: string; - - /** Initializes the data source for the PivotGrid widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Holds the neccessary properties for value sorting. - * @Default {{}} - */ - valueSortSettings?: ValueSortSettings; - - /** Object that holds the settings of frozen headers. - * @Default {{}} - */ - frozenHeaderSettings?: FrozenHeaderSettings; - - /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. - * @Default {null} - */ - customObject?: any; - - /** Allows the user to collapsed the specified members in each field by default. - * @Default {null} - */ - collapsedMembers?: any; - - /** Allows the user to access each cell on mouse right-click. - * @Default {false} - */ - enableCellContext?: boolean; - - /** Enables the cell selection for a specific range of value cells. - * @Default {false} - */ - enableCellSelection?: boolean; - - /** Enables the Drill-Through feature which retrieves the raw items that are used to create the specific cell in PivotGrid. - * @Default {false} - */ - enableDrillThrough?: boolean; - - /** Allows user to get the cell details in JSON format on double clicking the cell. - * @Default {false} - */ - enableCellDoubleClick?: boolean; - - /** Allows user to edit the value cells for write-back support in PivotGrid. This is applicable only for server-mode. - * @Default {false} - */ - enableCellEditing?: boolean; - - /** Collapses the Pivot items along rows and columns by default. It works only for relational data source. - * @Default {false} - */ - enableCollapseByDefault?: boolean; - - /** Enables/Disables the display of grand total for all the columns. - * @Default {true} - */ - enableColumnGrandTotal?: boolean; - - /** Allows the user to format a specific set of cells based on the condition. - * @Default {false} - */ - enableConditionalFormatting?: boolean; - - /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each fields in server mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Allows the user to refresh the control on-demand and not during every UI operation. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Enables the display of GroupingBar allowing you to filter, sort and remove fields obtained from datasource. - * @Default {false} - */ - enableGroupingBar?: boolean; - - /** Enables/Disables the display of grand total for rows and columns. - * @Default {true} - */ - enableGrandTotal?: boolean; - - /** Allows the user to load PivotGrid using JSON data. - * @Default {false} - */ - enableJSONRendering?: boolean; - - /** Enables rendering of PivotGrid widget along with the PivotTable Field List, which allows UI operations. - * @Default {true} - */ - enablePivotFieldList?: boolean; - - /** Enables the display of grand total for all the rows. - * @Default {true} - */ - enableRowGrandTotal?: boolean; - - /** Allows the user to view layout of the PivotGrid from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable ToolTip option. - * @Default {false} - */ - enableToolTip?: boolean; - - /** Allows the user to enable the animation effects in tooltip. - * @Default {false} - */ - enableToolTipAnimation?: boolean; - - /** Allows the user to adjust the width of the columns dynamically. - * @Default {false} - */ - enableColumnResizing?: boolean; - - /** Allows the user to view large amount of data through virtual scrolling. - * @Default {false} - */ - enableVirtualScrolling?: boolean; - - /** Allows the user to view large amount of data by applying paging. - * @Default {false} - */ - enablePaging?: boolean; - - /** Allows the user to configure hyperlink settings of PivotGrid control. - * @Default {{}} - */ - hyperlinkSettings?: HyperlinkSettings; - - /** Allows the user to enable PivotGrid’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Contains the serialized JSON string which renders PivotGrid. - */ - jsonRecords?: string; - - /** Sets the summary layout for PivotGrid.Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. - * @Default {ej.PivotGrid.Layout.Normal} - */ - layout?: ej.PivotGrid.Layout | string; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotGrid widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotGrid to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers before Pivot Engine starts to populate. */ - beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - - /** Triggers when double click action is performed over a cell. */ - cellDoubleClick?(e: CellDoubleClickEventArgs): void; - - /** Triggers when right-click action is performed on a cell. */ - cellContext?(e: CellContextEventArgs): void; - - /** Triggers when a specific range of value cells are selected. */ - cellSelection?(e: CellSelectionEventArgs): void; - - /** Triggers when the hyperlink of column header is clicked. */ - columnHeaderHyperlinkClick?(e: ColumnHeaderHyperlinkClickEventArgs): void; - - /** Triggers after performing drill operation in PivotGrid. */ - drillSuccess?(e: DrillSuccessEventArgs): void; - - /** Triggers while clicking "OK" button in the drill-through dialog. */ - drillThrough?(e: DrillThroughEventArgs): void; - - /** Triggers when PivotGrid loading is initiated. */ - load?(e: LoadEventArgs): void; - - /** Triggers when PivotGrid widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotGrid successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - - /** Triggers when the hyperlink of row header is clicked. */ - rowHeaderHyperlinkClick?(e: RowHeaderHyperlinkClickEventArgs): void; - - /** Triggers when the hyperlink of summary cell is clicked. */ - summaryCellHyperlinkClick?(e: SummaryCellHyperlinkClickEventArgs): void; - - /** Triggers when the hyperlink of value cell is clicked. */ - valueCellHyperlinkClick?(e: ValueCellHyperlinkClickEventArgs): void; - - /** Triggers before saving the current report to database. */ - saveReport?(e: SaveReportEventArgs): void; - - /** Triggers before loading a report from database. */ - loadReport?(e: LoadReportEventArgs): void; - - /** Triggers before performing exporting in pivot grid. */ - beforeExport?(e: BeforeExportEventArgs): void; - - /** Triggers before editing the cells. */ - cellEdit?(e: CellEditEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface BeforePivotEnginePopulateEventArgs { - - /** returns the PivotGrid object - */ - pivotGridObject?: any; - } - - export interface CellDoubleClickEventArgs { - - /** returns the JSON details of the double clicked cell. - */ - selectedData?: any[]; - - /** returns the custom object bound with PivotGrid control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface CellContextEventArgs { - - /** returns the cell position (row index and column index) in table. - */ - cellPosition?: string; - - /** returns the type of the cell. - */ - cellType?: string; - - /** returns the content of the cell. - */ - cellValue?: string; - - /** returns the unique name of levels/members. - */ - uniqueName?: string; - - /** returns the role of the cell in PivotGrid. - */ - role?: string; - - /** returns JSON record corresponding to the selected cell. - */ - rawdata?: any; - - /** returns the original event object. - */ - args?: any; - } - - export interface CellSelectionEventArgs { - - /** returns the JSON records of the selected range of cells. - */ - JSONRecords?: any; - - /** Returns the row headers corresponding to the selected value cells. - */ - rowheader?: any; - - /** Returns the column headers corresponding to the selected value cells. - */ - columnheader?: any; - - /** Returns the information about the measure associated with the selected cell. - */ - measureCount?: string; - } - - export interface ColumnHeaderHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface DrillSuccessEventArgs { - - /** returns the HTML element of the control. - */ - args?: any; - } - - export interface DrillThroughEventArgs { - - /** return the JSON records of the generated cells on drill-through operation. - */ - data?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface LoadEventArgs { - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - - /** returns the error message with error code. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the current action of PivotGrid control. - */ - action?: string; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotGrid control. - */ - element?: any; - } - - export interface RowHeaderHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface SummaryCellHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface ValueCellHyperlinkClickEventArgs { - - /** returns the information about the clicked cell - */ - args?: any; - - /** returns the HTML element of the control. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface SaveReportEventArgs { - - /** returns the report to be stored in database. - */ - report?: any; - } - - export interface LoadReportEventArgs { - - /** returns the PivotGrid object. - */ - targetControl?: any; - - /** returns whether the control is bound with OLAP or Relational data source. - */ - dataModel?: string; - } - - export interface BeforeExportEventArgs { - - /** contains the url of the service responsible for exporting. - */ - url?: string; - - /** contains the name of the exporting file. - */ - fileName?: string; - } - - export interface CellEditEventArgs { - - /** contains the array of cells selected for editing. - */ - editCellsInfo?: any[]; - } - - export interface DataSourceColumnsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceColumnsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field in PivotGrid. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceRowsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. - * @Default {ej.PivotAnalysis.SummaryType.Sum} - */ - summaryType?: ej.PivotAnalysis.SummaryType | string; - - /** Allows to set the format of the values. - */ - format?: string; - - /** This property sets type of display of date. - */ - formatString?: string; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display name for an item. - */ - fieldCaption?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSourcePagerOptions { - - /** Allows to set the number of categorical columns to be displayed in each page on applying paging. - * @Default {0} - */ - categoricalPageSize?: number; - - /** Allows to set the number of series rows to be displayed in each page on applying paging. - * @Default {0} - */ - seriesPageSize?: number; - - /** Allows to set the page number in categorical axis to be loaded by default. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Allows to set the page number in series axis to be loaded by default. - * @Default {1} - */ - seriesCurrentPage?: number; - } - - export interface DataSource { - - /** Lists out the items to be arranged in columns section of PivotGrid. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be arranged in rows section of PivotGrid. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items which supports calculation in PivotGrid. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGrid. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotGrid. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Sets a name to the report bound to the control. - */ - reportName?: string; - - /** Allows to set the page size and current page number for each axis on applying paging. - * @Default {{}} - */ - pagerOptions?: DataSourcePagerOptions; - } - - export interface ValueSortSettings { - - /** Contains the headers of the specific column to which value sorting is applied. - */ - headerText?: string; - - /** Allows the user to set the string for separating column headers provided in the above property headerText. - */ - headerDelimiters?: string; - - /** Allows the user to set the sorting order of the values of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - } - - export interface FrozenHeaderSettings { - - /** Allows the user to freeze the row headers alone on scrolling the horizontal scroll bar. - * @Default {false} - */ - enableFrozenRowHeaders?: boolean; - - /** Allows the user to freeze the column headers alone on scrolling the vertical scroll bar. - * @Default {false} - */ - enableFrozenColumnHeaders?: boolean; - - /** Allows the user to freeze both the row headers and column headers on scrolling. - * @Default {false} - */ - enableFrozenHeaders?: boolean; - } - - export interface HyperlinkSettings { - - /** Allows the user to enable/disable hyperlink for column header. - * @Default {false} - */ - enableColumnHeaderHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for row header. - * @Default {false} - */ - enableRowHeaderHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for summary cells. - * @Default {false} - */ - enableSummaryCellHyperlink?: boolean; - - /** Allows the user to enable/disable hyperlink for value cells. - * @Default {false} - */ - enableValueCellHyperlink?: boolean; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for drill up/down operation in PivotGrid. - * @Default {DrillGrid} - */ - drillDown?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotGrid?: string; - - /** Allows the user to set the custom name for the service method responsible for performing server-side actions on defer update. - * @Default {DeferUpdate} - */ - deferUpdate?: string; - - /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. - * @Default {FetchMembers} - */ - fetchMembers?: string; - - /** Allows the user to set the custom name for the service method responsible for filtering operation in PivotGrid. - * @Default {Filtering} - */ - filtering?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotGrid. - * @Default {InitializeGrid} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node from Field List. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. - * @Default {NodeStateModified} - */ - nodeStateModified?: string; - - /** Allows the user to set the custom name for the service method responsible for performing paging operation in PivotGrid. - * @Default {Paging} - */ - paging?: string; - - /** Allows the user to set the custom name for the service method responsible for sorting operation in PivotGrid. - * @Default {Sorting} - */ - sorting?: string; - - /** Allows the user to set the custom name for the service method responsible for expanding members inside member editor. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for editing the cells. - * @Default {CellEditing} - */ - cellEditing?: string; - - /** Allows the user to set the custom name for the service method responsible for saving the current report to database. - * @Default {SaveReport} - */ - saveReport?: string; - - /** Allows the user to set the custom name for the service method responsible for loading a report from database. - * @Default {LoadReportFromDB} - */ - loadReport?: string; - - /** Allows the user to set the custom name for the service method responsible for adding a calculated field to the report. - * @Default {CalculatedField} - */ - calculatedField?: string; - - /** Allows the user to set the custom name for the service method responsible for performing drill through operation. - * @Default {DrillThroughHierarchies} - */ - drillThroughHierarchies?: string; - - /** Allows the user to set the custom name for the service method responsible for performing drill through operation in data table. - * @Default {DrillThroughDataTable} - */ - drillThroughDataTable?: string; - - /** Allows the user to set the custom name for the service method responsible for write-back operation in OLAP Cube. This is only applicable in server-side component. - * @Default {WriteBack} - */ - writeBack?: string; - } - - enum Layout { - - ///To set normal summary layout in PivotGrid. - Normal, - - ///To set layout with summaries at the top in PivotGrid. - NormalTopSummary, - - ///To set layout without summaries in PivotGrid. - NoSummaries, - - ///To set excel-like layout in PivotGrid. - ExcelLikeLayout - } - -} -namespace Pivot { - enum AnalysisMode { - //To bind an OLAP data source to PivotGrid. - OLAP, - //To bind a relational data source to PivotGrid. - Pivot, - } -} -namespace PivotAnalysis { - enum SortOrder { - //Sorts the members of the field in ascending order. - Ascending, - //Sorts the members of the field in descending order. - Descending, - //Displays the members without sorting in any order. - None, - } -} -namespace PivotAnalysis { - enum FilterType { - //Excludes the specified values among the members of the field. - Exclude, - //Includes the specified values alone among the members of the field. - Include, - } -} -namespace PivotAnalysis { - enum SummaryType { - //Calculates the summary as the total of all values. - Sum, - //Displays the average of all values as the summaries. - Average, - //Displays the count of items in summaries. - Count, - //Displays the minimum value of all the items in the summary. - Min, - //Displays the maximum value of all the items in the summary. - Max, - } -} -namespace Pivot { - enum OperationalMode { - //To bind data source completely from client-side. - ClientMode, - //To bind data source completely from server-side. - ServerMode, - } -} - -class PivotSchemaDesigner extends ej.Widget { - static fn: PivotSchemaDesigner; - constructor(element: JQuery | Element, options?: PivotSchemaDesigner.Model); - static Locale: any; - model: PivotSchemaDesigner.Model; - defaults: PivotSchemaDesigner.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Re-renders the control with the data source bound to the pivot control at that instant. - * @returns {void} - */ - refreshControl(): void; -} -export namespace PivotSchemaDesigner { - - export interface Model { - - /** Specifies the CSS class to PivotSchemaDesigner to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end. - * @Default {{}} - */ - customObject?: any; - - /** For ASP.NET and MVC Wrapper, PivotSchemaDesigner will be initialized and rendered empty initially. Once the connected pivot control widget is rendered completely, - * PivotSchemaDesigner will just be populated with data source by setting this property to “true”. - * @Default {false} - */ - enableWrapper?: boolean; - - /** Allows the user to view PivotTable Field List from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the visibility of OLAP elements in PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {null} - */ - olap?: Olap; - - /** Allows the user to enable/disable drag and drop operations within the PivotTable Field List. - * @Default {true} - */ - enableDragDrop?: boolean; - - /** Sets the height for PivotSchemaDesigner. - * @Default {“”} - */ - height?: string; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the Pivot control bound with this PivotSchemaDesigner. - * @Default {null} - */ - pivotControl?: any; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethod?: ServiceMethod; - - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; - - /** Sets the width for PivotSchemaDesigner. - * @Default {“”} - */ - width?: string; - - /** Sets the layout for PivotSchemaDesigner. - * @Default {ej.PivotSchemaDesigner.Layouts.Excel} - */ - layout?: ej.PivotSchemaDesigner.Layouts | string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotSchemaDesigner to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers when we start dragging any field from PivotSchemaDesigner. */ - dragMove?(e: DragMoveEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotSchemaDesigner control. - */ - action?: string; - - /** returns the custom object bound with PivotSchemaDesigner control. - */ - customObject?: any; - - /** returns the HTML element of PivotSchemaDesigner control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotSchemaDesigner control. - */ - action?: string; - - /** returns the custom object bound with PivotSchemaDesigner control. - */ - customObject?: any; - - /** returns the HTML element of PivotSchemaDesigner control. - */ - element?: any; - } - - export interface DragMoveEventArgs { - - /** returns the HTML element of the dragged field from PivotSchemaDesigner. - */ - dragTarget?: any; - - /** return the JSON details of the dragged field. - */ - draggedElementData?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the PivotSchemaDesigner model - */ - model?: any; - } - - export interface Olap { - - /** Allows the user to view the KPI elements in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {false} - */ - showKPI?: boolean; - - /** Allows the user to view the named sets in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. - * @Default {false} - */ - showNamedSets?: boolean; - } - - export interface ServiceMethod { - - /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. - * @Default {FetchMembers} - */ - fetchMembers?: string; - - /** Allows the user to set the custom name for the service method responsible for filtering operation in Field List. - * @Default {Filtering} - */ - filtering?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on expanding members in Field List. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node into Field List. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. - * @Default {NodeStateModified} - */ - nodeStateModified?: string; - - /** Allows the user to set the custom name for the service method responsible for button removing operation in Field List. - * @Default {RemoveButton} - */ - removeButton?: string; - } - - enum Layouts { - - ///To set the layout as same in the Excel. - Excel, - - ///To set normal layout for Field List. - Normal, - - ///To set layout with the axes one above the other. - OneByOne - } - -} - -class PivotPager extends ej.Widget { - static fn: PivotPager; - constructor(element: JQuery | Element, options?: PivotPager.Model); - static Locale: any; - model: PivotPager.Model; - defaults: PivotPager.Model; - - /** This function initializes the page counts and page numbers for the PivotPager. - * @returns {void} - */ - initPagerProperties(): void; -} -export namespace PivotPager { - - export interface Model { - - /** Contains the current page number in categorical axis. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Contains the total page count in categorical axis. - * @Default {1} - */ - categoricalPageCount?: number; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the pager mode (Only Categorical Pager/Only Series Pager/Both) for the PivotPager. - * @Default {ej.PivotPager.Mode.Both} - */ - mode?: ej.PivotPager.Mode | string; - - /** Contains the current page number in series axis. - * @Default {1} - */ - seriesCurrentPage?: number; - - /** Contains the total page count in series axis. - * @Default {1} - */ - seriesPageCount?: number; - - /** Contains the ID of the target element for which paging needs to be done. - * @Default {“”} - */ - targetControlID?: string; - } - - enum Mode { - - ///To set both categorical and series pager for paging. - Both, - - ///To set only categorical pager for paging. - Categorical, - - ///To set only series pager for paging. - Series - } - -} - -class PivotChart extends ej.Widget { - static fn: PivotChart; - constructor(element: JQuery | Element, options?: PivotChart.Model); - static Locale: any; - model: PivotChart.Model; - defaults: PivotChart.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Perform an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ - doPostBack(): void; - - /** Exports the PivotChart to the format specified in the parameter. - * @returns {void} - */ - exportPivotChart(): void; - - /** This function renders the PivotChart control with the JSON formatted datasource. - * @returns {void} - */ - renderChartFromJSON(): void; - - /** This function receives the update from service-end, which would be utilized for rendering the widget. - * @returns {void} - */ - renderControlSuccess(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** Returns the PivotEngine formed to render the control. - * @returns {Array} - */ - getPivotEngine(): any[]; - - /** Sets the PivotEngine required to render the control. - * @returns {void} - */ - setPivotEngine(): void; - - /** Re-renders the control with the data source at the instant. - * @returns {void} - */ - refreshControl(): void; - - /** Renders the control with the pivot engine obtained from olap cube. - * @returns {void} - */ - generateJSON(): void; - - /** Navigates to the specified page number in specified axis. - * @returns {void} - */ - refreshPagedPivotChart(): void; -} -export namespace PivotChart { - - export interface Model { - - /** Sets the mode for the PivotChart widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Specifies the CSS class to PivotChart to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Options for enabling zooming feature of PivotChart. - * @Default {{}} - */ - zooming?: Zooming; - - /** Options available to configure the properties of entire series. You can also override the options for specific series by using series collection. - * @Default {{}} - */ - commonSeriesOptions?: CommonSeriesOptions; - - /** Initializes the data source for the PivotChart widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. - * @Default {{}} - */ - customObject?: any; - - /** Allows the user to enable 3D view of PivotChart. - * @Default {false} - */ - enable3D?: boolean; - - /** Allows the user to view PivotChart from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable PivotChart’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Lets the user to customize the legend items and their labels. - * @Default {{}} - */ - legend?: any; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotChart widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. - * To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s xAxisName property to link both axis and series. - * @Default {{}} - */ - primaryXAxis?: any; - - /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. - * To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. - * Then, assign the name to the series’s yAxisName property to link both axis and series. - * @Default {{}} - */ - primaryYAxis?: any; - - /** Allows the user to rotate the angle of PivotChart in 3D view. - * @Default {0} - */ - rotation?: number; - - /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Options to customize the size of the PivotChart control. - * @Default {{}} - */ - size?: any; - - /** Connects the service using the specified URL for any server updates on operating the control in server mode. - * @Default {“”} - */ - url?: string; - - /** Triggers when PivotChart starts to render. */ - load?(e: LoadEventArgs): void; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotChart to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers on performing drill up/down in PivotChart control. */ - drillSuccess?(e: DrillSuccessEventArgs): void; - - /** Triggers when PivotChart widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotChart successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - - /** Triggers before performing exporting in pivot chart. */ - beforeExport?(e: BeforeExportEventArgs): void; - } - - export interface LoadEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface DrillSuccessEventArgs { - - /** returns the current instance of PivotChart. - */ - chartObj?: any; - - /** returns the drill action of PivotChart. - */ - drillAction?: string; - - /** contains the name of the member drilled. - */ - drilledMember?: string; - - /** returns the event object. - */ - event?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - - /** returns the error stack trace of the original exception. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the current instance of PivotChart. - */ - args?: any; - } - - export interface BeforeExportEventArgs { - - /** contains the url of the service responsible for exporting. - */ - url?: string; - - /** contains the name of the exporting file. - */ - fileName?: string; - } - - export interface Zooming { - - /** Enables or disables horizontal scrollbar. - * @Default {false} - */ - enableScrollbar?: boolean; - } - - export interface CommonSeriesOptions { - - /** Allows the user to set the specific chart type for PivotChart widget. - * @Default {ej.PivotChart.ChartTypes.Column} - */ - type?: ej.PivotChart.ChartTypes | string; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSource { - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotChart. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to be displayed as series of PivotChart. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be displayed as segments of PivotChart. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items supports calculation in PivotChart. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotChart. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotChart. - * @Default {DrillChart} - */ - drillDown?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotChart?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotChart. - * @Default {InitializeChart} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for navigating between pages in paged PivotChart. - * @Default {Paging} - */ - paging?: string; - } - - enum ChartTypes { - - ///To render a Line type PivotChart. - Line, - - ///To render a Spline type PivotChart. - Spline, - - ///To render a Column type PivotChart. - Column, - - ///To render an Area type PivotChart. - Area, - - ///To render a SplineArea type PivotChart. - SplineArea, - - ///To render a StepLine type PivotChart. - StepLine, - - ///To render a StepArea type PivotChart. - StepArea, - - ///To render a Pie type PivotChart. - Pie, - - ///To render a Bar type PivotChart. - Bar, - - ///To render a StackingArea type PivotChart. - StackingArea, - - ///To render a StackingColumn type PivotChart. - StackingColumn, - - ///To render a StackingBar type PivotChart. - StackingBar, - - ///To render a Pyramid type PivotChart. - Pyramid, - - ///To render a Funnel type PivotChart. - Funnel, - - ///To render a Doughnut type PivotChart. - Doughnut, - - ///To render a Scatter type PivotChart. - Scatter, - - ///To render a Bubble type PivotChart. - Bubble - } - -} - -class PivotClient extends ej.Widget { - static fn: PivotClient; - constructor(element: JQuery | Element, options?: PivotClient.Model); - static Locale: any; - model: PivotClient.Model; - defaults: PivotClient.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Performs an asynchronous HTTP (FullPost) submit. - * @returns {void} - */ - doPostBack(): void; - - /** Navigates to the specified page in specified axis. - * @returns {void} - */ - refreshPagedPivotClient(): void; - - /** Updates the PivotClient component with the JSON data fetched from the service on navigating between pages. - * @returns {void} - */ - refreshPagedPivotClientSuccess(): void; - - /** Renders the PivotChart and PivotGrid with the JSON data provided. - * @returns {void} - */ - generateJSON(): void; - - /** Re-renders the control with the report at that instant. - * @returns {void} - */ - refreshControl(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records formed to render the control to a property. - * @returns {void} - */ - setJSONRecords(): void; -} -export namespace PivotClient { - - export interface Model { - - /** Sets the mode for the PivotClient widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Allows the user to set the specific chart type for PivotChart inside PivotClient widget. - * @Default {ej.PivotChart.ChartTypes.Column} - */ - chartType?: ej.PivotChart.ChartTypes | string; - - /** Allows the user to set the content on exporting the PivotClient widget. - * @Default {ej.PivotClient.ClientExportMode.ChartAndGrid} - */ - clientExportMode?: ej.PivotClient.ClientExportMode | string; - - /** Specifies the CSS class to PivotClient to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end when the control functions in server-mode. - * @Default {{}} - */ - customObject?: any; - - /** Initializes the data source for the PivotClient widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Allows the user to customize the widget's layout and appearance. - * @Default {{}} - */ - displaySettings?: DisplaySettings; - - /** Enables the splitter option for resizing the elements inside the control. - * @Default {false} - */ - enableSplitter?: boolean; - - /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each dimensions on binding OLAP data in server mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Allows the user to refresh the control on-demand and not during every UI operation. - * @Default {false} - */ - enableDeferUpdate?: boolean; - - /** Lets the user to save and load reports in a customized way with the help of events. - * @Default {false} - */ - enableLocalStorage?: boolean; - - /** Allows the user to enable paging for both the PivotChart and PivotGrid components for the ease of viewing large data. - * @Default {false} - */ - enablePaging?: boolean; - - /** Allows the user to include the PivotTreeMap component as one of the chart types. - * @Default {false} - */ - enablePivotTreeMap?: boolean; - - /** Allows the user to view the layout of PivotClient from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Enables/disables the visibility of measure group selector drop-down in Cube Browser. - * @Default {false} - */ - enableMeasureGroups?: boolean; - - /** Allows the user to enable virtual scrolling for both the PivotChart and PivotGrid components for the ease of viewing large data. - * @Default {false} - */ - enableVirtualScrolling?: boolean; - - /** Enables/Disables paging in Member Editor for viewing the large count of members in pages. - * @Default {false} - */ - enableMemberEditorPaging?: boolean; - - /** Allows the user to set the number of members to be displayed in each page of Member Editor on applying paging in it. - * @Default {100} - */ - memberEditorPageSize?: number; - - /** Sets the summary layout for PivotGrid. Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. - * @Default {ej.PivotGrid.Layout.Normal} - */ - gridLayout?: ej.PivotGrid.Layout | string; - - /** Allows the user to enable PivotClient’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotClient widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Sets the title for PivotClient widget. - */ - title?: string; - - /** Connects the service using the specified URL for any server updates. - */ - url?: string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from client-side to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers before saving the current collection of reports. */ - saveReport?(e: SaveReportEventArgs): void; - - /** Triggers before loading a saved collection of reports. */ - loadReport?(e: LoadReportEventArgs): void; - - /** Triggers before fetching the report collection from storage. */ - fetchReport?(e: FetchReportEventArgs): void; - - /** Triggers before exporting the control. */ - beforeExport?(e: BeforeExportEventArgs): void; - - /** Triggers before rendering the PivotChart. */ - chartLoad?(e: ChartLoadEventArgs): void; - - /** Triggers before rendering the PivotTreeMap. */ - treeMapLoad?(e: TreeMapLoadEventArgs): void; - - /** Triggers while we initiate loading of the widget. */ - load?(e: LoadEventArgs): void; - - /** Triggers when PivotClient widget completes all operations at client-end after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotClient successfully completes rendering. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotClient control. - */ - action?: string; - - /** returns the custom object bounds with PivotClient control. - */ - customObject?: any; - - /** returns the HTML element of PivotClient control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotClient control. - */ - action?: string; - - /** returns the custom object bounds with PivotClient control. - */ - customObject?: any; - - /** returns the HTML element of PivotClient control. - */ - element?: any; - } - - export interface SaveReportEventArgs { - - /** returns the current instance of PivotClient control. - */ - targetControl?: any; - - /** returns the object which holds the necessary parameters required for saving the report collection. - */ - saveReportSetting?: any; - } - - export interface LoadReportEventArgs { - - /** returns the current instance of PivotClient control. - */ - targetControl?: any; - - /** returns the object which holds the necessary parameters required for loading a report collection from database. - */ - loadReportSetting?: any; - } - - export interface FetchReportEventArgs { - - /** returns the current instance of PivotClient control. - */ - targetControl?: any; - - /** returns the object which holds the necessary parameters required for fetching the report names stored in database. - */ - fetchReportSetting?: any; - } - - export interface BeforeExportEventArgs { - - /** holds the url of the service method responsible for exporting the PivotClient control. - */ - url?: string; - - /** holds the name of the file to be exported. - */ - fileName?: string; - } - - export interface ChartLoadEventArgs { - - /** returns the current action of PivotChart control. - */ - action?: string; - - /** returns the custom object bound with PivotChart control. - */ - customObject?: any; - - /** returns the HTML element of PivotChart control. - */ - element?: any; - } - - export interface TreeMapLoadEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface LoadEventArgs { - - /** returns the HTML element of PivotClient component. - */ - element?: any; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the HTML element of PivotClient component. - */ - element?: any; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the HTML element of PivotClient control. - */ - element?: any; - - /** returns the error message with error code. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the object of PivotClient control at that instant. - */ - args?: any; - } - - export interface DataSourceColumnsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceColumnsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field in PivotGrid. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsAdvancedFilter { - - /** Allows the user to provide level unique name to perform advanced filtering. - */ - name?: string; - - /** Allows the user to set the operator to perform Label Filtering. - * @Default {none} - */ - labelFilterOperator?: string; - - /** Allows the user to set the operator to perform Value Filtering. - * @Default {none} - */ - valueFilterOperator?: string; - - /** Allows the user to set the filtering type while performing advanced filtering. - */ - advancedFilterType?: string; - - /** In case of value filtering, this property contains the measure name to which the filter is applied. - */ - measure?: string; - - /** Allows the user to hold the filter operand values in advanced filtering. - */ - values?: any[]; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item. - */ - fieldCaption?: string; - - /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. - * @Default {[]} - */ - advancedFilter?: DataSourceRowsAdvancedFilter[]; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Shows/Hides the sub-total of the field. - * @Default {true} - */ - showSubTotal?: boolean; - - /** Allows the user to set the sorting order of the members of the field. - * @Default {ej.PivotAnalysis.SortOrder.Ascending} - */ - sortOrder?: ej.PivotAnalysis.SortOrder | string; - - /** Contains the list of members need to be drilled down by default in the field. - * @Default {[]} - */ - drilledItems?: any[]; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. - * @Default {ej.PivotAnalysis.SummaryType.Sum} - */ - summaryType?: ej.PivotAnalysis.SummaryType | string; - - /** Allows to set the format of the values. - */ - format?: string; - - /** This property sets type of display of date. - */ - formatString?: string; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to set the display name for an item. - */ - fieldCaption?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSourcePagerOptions { - - /** Allows to set the number of categorical columns to be displayed in each page on applying paging. - * @Default {0} - */ - categoricalPageSize?: number; - - /** Allows to set the number of series rows to be displayed in each page on applying paging. - * @Default {0} - */ - seriesPageSize?: number; - - /** Allows to set the page number in categorical axis to be loaded by default. - * @Default {1} - */ - categoricalCurrentPage?: number; - - /** Allows to set the page number in series axis to be loaded by default. - * @Default {1} - */ - seriesCurrentPage?: number; - } - - export interface DataSource { - - /** Lists out the items to be arranged in columns section of PivotClient. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be arranged in rows section of PivotClient. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items which supports calculation in PivotClient. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotClient. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotClient. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option in client-mode. - * @Default {false} - */ - enableAdvancedFilter?: boolean; - - /** Sets a name to the report bound to the control. - */ - reportName?: string; - - /** Allows to set the page size and current page number for each axis on applying paging. - * @Default {{}} - */ - pagerOptions?: DataSourcePagerOptions; - } - - export interface DisplaySettings { - - /** Lets the user to customize the display of PivotChart and PivotGrid widgets, either in tabs or tiles. - * @Default {ej.PivotClient.ControlPlacement.Tab} - */ - controlPlacement?: ej.PivotClient.ControlPlacement | string; - - /** Lets the user to set either Chart or Grid as the start-up widget. - * @Default {ej.PivotClient.DefaultView.Grid} - */ - defaultView?: ej.PivotClient.DefaultView | string; - - /** Lets the user to have an option for switching to full screen view of PivotChart and PivotGrid from default view in PivotClient. - * @Default {false} - */ - enableFullScreen?: boolean; - - /** Enables an option to enhance the space for PivotGrid and PivotChart by hiding Cube Browser and Axis Element Builder. - * @Default {false} - */ - enableTogglePanel?: boolean; - - /** Sets the display mode (Only Chart/Only Grid/Both) in PivotClient. - * @Default {ej.PivotClient.DisplayMode.ChartAndGrid} - */ - mode?: ej.PivotClient.DisplayMode | string; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for updating the entire report and widget, while changing the Cube. - * @Default {CubeChanged} - */ - cubeChanged?: string; - - /** Allows the user to set the custom name for the service method responsible for exporting. - * @Default {Export} - */ - exportPivotClient?: string; - - /** Allows the user to set the custom name for the service method responsible to get the members for the tree-view, inside member-editor dialog. - * @Default {FetchMemberTreeNodes} - */ - fetchMemberTreeNodes?: string; - - /** Allows the user to set the custom name for the service method responsible for fetching the report names from the database. - * @Default {FetchReportListFromDB} - */ - fetchReportList?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while filtering members. - * @Default {FilterElement} - */ - filterElement?: string; - - /** Allows the user to set the custom name for the service method responsible for initializing PivotClient. - * @Default {InitializeClient} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for loading a report collection from the database. - * @Default {LoadReportFromDB} - */ - loadReport?: string; - - /** Allows the user to set the custom name for the service method responsible for retrieving the MDX query for the current report. - * @Default {GetMDXQuery} - */ - mdxQuery?: string; - - /** Allows the user to set the custom name for the service method responsible for updating the tree-view inside Cube Browser, while changing the measure group. - * @Default {MeasureGroupChanged} - */ - measureGroupChanged?: string; - - /** Allows the user to set the custom name for the service method responsible to get the child members, on tree-view node expansion. - * @Default {MemberExpanded} - */ - memberExpand?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while dropping a node/SplitButton inside Axis Element Builder. - * @Default {NodeDropped} - */ - nodeDropped?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report while removing SplitButton from Axis Element Builder. - * @Default {RemoveSplitButton} - */ - removeSplitButton?: string; - - /** Allows the user to set the custom name for the service method responsible for saving the report collection to database. - * @Default {SaveReportToDB} - */ - saveReport?: string; - - /** Allows the user to set the custom name for the service method responsible for toggling the elements in row and column axes. - * @Default {ToggleAxis} - */ - toggleAxis?: string; - - /** Allows the user to set the custom name for the service method responsible for all the toolbar operations. - * @Default {ToolbarOperations} - */ - toolbarServices?: string; - - /** Allows the user to set the custom name for the service method responsible for updating report collection. - * @Default {UpdateReport} - */ - updateReport?: string; - - /** Allows the user to set the custom name for the service method responsible on navigating between pages in paged PivotClient. - * @Default {Paging} - */ - paging?: string; - } - - enum ClientExportMode { - - ///Exports both the PivotChart and PivotGrid on exporting. - ChartAndGrid, - - ///Exports the PivotChart control alone on exporting. - ChartOnly, - - ///Exports the PivotGrid control alone on exporting. - GridOnly - } - - - enum ControlPlacement { - - ///Displays PivotChart and PivotGrid widgets in separate tabs. - Tab, - - ///Displays PivotChart and PivotGrid widgets one above the other. - Tile - } - - - enum DefaultView { - - ///To set PivotChart as a default control in view. - Chart, - - ///To set PivotGrid as a default control in view. - Grid - } - - - enum DisplayMode { - - ///To display only PivotChart widget. - ChartOnly, - - ///To display only PivotGrid widget. - GridOnly, - - ///To display both PivotChart and PivotGrid widgets. - ChartAndGrid - } - -} - -class PivotGauge extends ej.Widget { - static fn: PivotGauge; - constructor(element: JQuery | Element, options?: PivotGauge.Model); - static Locale: any; - model: PivotGauge.Model; - defaults: PivotGauge.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** This function is used to refresh the PivotGauge at client-side itself. - * @returns {void} - */ - refresh(): void; - - /** This function removes the KPI related images from PivotGauge on binding OLAP datasource. - * @returns {void} - */ - removeImg(): void; - - /** This function receives the JSON formatted datasource and renders the PivotGauge control. - * @returns {void} - */ - renderControlFromJSON(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** Returns the JSON records required to render the PivotGauge on performing any action with OLAP data source. - * @returns {void} - */ - getJSONData(): void; -} -export namespace PivotGauge { - - export interface Model { - - /** Sets the number of columns to arrange the Pivot Gauges. - * @Default {0} - */ - columnsCount?: number; - - /** Specifies the CSS class to PivotGauge to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Object utilized to pass additional information between client-end and service-end on operating in server mode. - * @Default {{}} - */ - customObject?: any; - - /** Initializes the data source for the PivotGauge widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Enables/disables the animation of pointer in PivotGauge. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Enables/disables tooltip visibility in PivotGauge. - * @Default {false} - */ - enableTooltip?: boolean; - - /** Allows the user to view PivotGauge from right to left. - * @Default {false} - */ - enableRTL?: boolean; - - /** Allows the user to enable PivotGauge’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to change the format of the label values in PivotGauge. - * @Default {null} - */ - labelFormatSettings?: LabelFormatSettings; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the number of rows to arrange the Pivot Gauges. - * @Default {0} - */ - rowsCount?: number; - - /** Sets the scale values such as pointers, indicators, etc... for PivotGauge. - * @Default {{}} - */ - scales?: any; - - /** Allows the user to set the custom name for the methods at service-end, communicated during AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Enables/disables the header labels in PivotGauge. - * @Default {true} - */ - showHeaderLabel?: boolean; - - /** Connects the service using the specified URL for any server updates on server mode operation. - * @Default {“”} - */ - url?: string; - - /** Sets the mode for the PivotGauge widget for binding either OLAP or Relational data source. - * @Default {ej.Pivot.AnalysisMode.Pivot} - */ - analysisMode?: ej.Pivot.AnalysisMode | string; - - /** Sets the mode for the PivotGauge widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotGauge to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers before populating the pivot engine on operating in client mode. */ - beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - - /** Triggers when PivotGauge started loading at client-side. */ - load?(e: LoadEventArgs): void; - - /** Triggers when PivotGauge widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotGauge successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - } - - export interface BeforePivotEnginePopulateEventArgs { - - /** returns the current instance of PivotGauge control. - */ - gaugeObject?: any; - } - - export interface LoadEventArgs { - - /** returns the current action of PivotGauge control. - */ - action?: string; - - /** returns the model of PivotGauge control. - */ - model?: any; - - /** returns the HTML element of the widget. - */ - element?: any; - - /** returns the custom object bound to the control. - */ - customObject?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the custom object bound with PivotGauge control. - */ - customObject?: any; - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - - /** returns the custom object bound with the control. - */ - customObject?: any; - - /** returns the error message with error code. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the HTML element of PivotGauge control. - */ - element?: any; - - /** returns the custom object bound with the control. - */ - customObject?: any; - } - - export interface DataSourceColumnsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** Allows the user to bind the item by using its unique name as field name for Relational datasource. - */ - fieldName?: string; - - /** Allows the user to set the display caption for an item for Relational datasource. - */ - fieldCaption?: string; - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - - /** Indicates whether the field is a calculated field or not with Relational datasource. - * @Default {false} - */ - isCalculatedField?: boolean; - - /** Allows to set the formula for calculation of values for calculated members in Relational datasource. - */ - formula?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Sets the type of filter whether to include/exclude the mentioned values. - * @Default {ej.PivotAnalysis.FilterType.Exclude} - */ - filterType?: ej.PivotAnalysis.FilterType | string; - - /** Contains the collection of items to be included/excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSource { - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** Provides the raw data source for the PivotGauge. - * @Default {null} - */ - data?: any; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to bind in columns section. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to bind in rows section. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items supports calculation in PivotGauge. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGauge. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - } - - export interface LabelFormatSettings { - - /** Allows the user to change the number format of the label values in PivotGauge. - * @Default {ej.PivotGauge.NumberFormat.Default} - */ - numberFormat?: ej.PivotGauge.NumberFormat | string; - - /** Allows you to set the number of digits displayed after decimal point. - * @Default {5} - */ - decimalPlaces?: number; - - /** Allows you to add a text at the beginning of the label. - */ - prefixText?: string; - - /** Allows you to add text at the end of the label. - */ - suffixText?: string; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for initializing PivotGauge. - * @Default {InitializeGauge} - */ - initialize?: string; - } - - enum NumberFormat { - - ///To set default format for label values. - Default, - - ///To set currency format for label values. - Currency, - - ///To set percentage format for label values. - Percentage, - - ///To set fraction format for label values. - Fraction, - - ///To set scientific format for label values. - Scientific, - - ///To set text format for label values. - Text, - - ///To set notation format for label values. - Notation - } - -} - -class PivotTreeMap extends ej.Widget { - static fn: PivotTreeMap; - constructor(element: JQuery | Element, options?: PivotTreeMap.Model); - static Locale: any; - model: PivotTreeMap.Model; - defaults: PivotTreeMap.Model; - - /** Performs an asynchronous HTTP (AJAX) request. - * @returns {void} - */ - doAjaxPost(): void; - - /** Returns the OlapReport string maintained along with the axis elements information. - * @returns {string} - */ - getOlapReport(): string; - - /** Sets the OlapReport string along with the axis information and maintains it in a property. - * @returns {void} - */ - setOlapReport(): void; - - /** Returns the JSON records formed to render the control. - * @returns {Array} - */ - getJSONRecords(): any[]; - - /** Sets the JSON records to render the control. - * @returns {void} - */ - setJSONRecords(): void; - - /** Renders the control with the pivot engine obtained from OLAP cube. - * @returns {void} - */ - generateJSON(): void; - - /** This function receives the JSON formatted datasource to render the PivotTreeMap control. - * @returns {void} - */ - renderTreeMapFromJSON(): void; - - /** This function receives the update from service-end, which would be utilized for rendering the widget. - * @returns {void} - */ - renderControlSuccess(): void; -} -export namespace PivotTreeMap { - - export interface Model { - - /** Specifies the CSS class to PivotTreeMap to achieve custom theme. - * @Default {“”} - */ - cssClass?: string; - - /** Initializes the data source for the PivotTreeMap widget, when it functions completely on client-side. - * @Default {{}} - */ - dataSource?: DataSource; - - /** Object utilized to pass additional information between client-end and service-end. - * @Default {{}} - */ - customObject?: any; - - /** Allows the user to enable PivotTreeMap’s responsiveness in the browser layout. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the user to set the localized language for the widget. - * @Default {en-US} - */ - locale?: string; - - /** Sets the mode for the PivotTreeMap widget for binding data source either in server-side or client-side. - * @Default {ej.Pivot.OperationalMode.ClientMode} - */ - operationalMode?: ej.Pivot.OperationalMode | string; - - /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. - * @Default {{}} - */ - serviceMethodSettings?: ServiceMethodSettings; - - /** Connects the service using the specified URL for any server updates. - * @Default {“”} - */ - url?: string; - - /** Triggers when it reaches client-side after any AJAX request. */ - afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; - - /** Triggers before any AJAX request is passed from PivotTreeMap to service methods. */ - beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; - - /** Triggers when PivotTreeMap starts to render. */ - load?(e: LoadEventArgs): void; - - /** Triggers before populating the pivot engine from datasource. */ - beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; - - /** Triggers when drill up/down happens in PivotTreeMap control. And it returns the outer HTML of PivotTreeMap control. */ - drillSuccess?(e: DrillSuccessEventArgs): void; - - /** Triggers when PivotTreeMap widget completes all operations at client-side after any AJAX request. */ - renderComplete?(e: RenderCompleteEventArgs): void; - - /** Triggers when any error occurred during AJAX request. */ - renderFailure?(e: RenderFailureEventArgs): void; - - /** Triggers when PivotTreeMap successfully reaches client-side after any AJAX request. */ - renderSuccess?(e: RenderSuccessEventArgs): void; - } - - export interface AfterServiceInvokeEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface BeforeServiceInvokeEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface LoadEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface BeforePivotEnginePopulateEventArgs { - - /** returns the current instance of PivotTreeMap control. - */ - treeMapObject?: any; - } - - export interface DrillSuccessEventArgs { - - /** return the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface RenderCompleteEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface RenderFailureEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - - /** returns the error stack trace of the original exception. - */ - message?: string; - } - - export interface RenderSuccessEventArgs { - - /** returns the current action of PivotTreeMap control. - */ - action?: string; - - /** returns the custom object bound with PivotTreeMap control. - */ - customObject?: any; - - /** returns the HTML element of PivotTreeMap control. - */ - element?: any; - } - - export interface DataSourceColumnsFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceColumn { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceColumnsFilterItems; - } - - export interface DataSourceRowsFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceRow { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Allows the user to indicate whether the added item is a named set or not. - * @Default {false} - */ - isNamedSets?: boolean; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceRowsFilterItems; - } - - export interface DataSourceValuesMeasure { - - /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. - */ - fieldName?: string; - } - - export interface DataSourceValue { - - /** This holds the list of unique names of measures to bind them from the OLAP cube. - * @Default {[]} - */ - measures?: DataSourceValuesMeasure[]; - - /** Allows to set the axis name to place the measures items. - * @Default {rows} - */ - axis?: string; - } - - export interface DataSourceFiltersFilterItems { - - /** Contains the collection of items to be excluded among the field members. - * @Default {[]} - */ - values?: any[]; - } - - export interface DataSourceFilter { - - /** Allows the user to bind the item by using its unique name as field name. - */ - fieldName?: string; - - /** Applies filter to the field members. - * @Default {null} - */ - filterItems?: DataSourceFiltersFilterItems; - } - - export interface DataSource { - - /** Provides the raw data source for the PivotTreeMap. - * @Default {null} - */ - data?: any; - - /** Contains the respective cube name from OLAP database as string type. - * @Default {“”} - */ - cube?: string; - - /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. - * @Default {“”} - */ - catalog?: string; - - /** Lists out the items to be displayed as series of PivotTreeMap. - * @Default {[]} - */ - columns?: DataSourceColumn[]; - - /** Lists out the items to be displayed as segments of PivotTreeMap. - * @Default {[]} - */ - rows?: DataSourceRow[]; - - /** Lists out the items supports calculation in PivotTreeMap. - * @Default {[]} - */ - values?: DataSourceValue[]; - - /** Lists out the items which supports filtering of values without displaying the members in UI in PivotTreeMap. - * @Default {[]} - */ - filters?: DataSourceFilter[]; - } - - export interface ServiceMethodSettings { - - /** Allows the user to set the custom name for the service method responsible for initializing PivotTreeMap. - * @Default {InitializeTreemap} - */ - initialize?: string; - - /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotTreeMap. - * @Default {DrillTreeMap} - */ - drillDown?: string; - } -} - -class Schedule extends ej.Widget { - static fn: Schedule; - constructor(element: JQuery | Element, options?: Schedule.Model); - static Locale: any; - model: Schedule.Model; - defaults: Schedule.Model; - - /** This method is used to delete the appointment based on the guid value or the appointment data passed to it. - * @param {string|any} GUID value of an appointment element or an appointment object - * @returns {void} - */ - deleteAppointment(data: string | any): void; - - /** Destroys the Schedule widget. All the events bound using this._on are unbound automatically and the control is moved to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Exports the appointments from the Schedule control. - * @param {string} It refers the controller action name to redirect. (For MVC) - * @param {string} It refers the server event name.(For ASP) - * @param {string|number} Pass the id of an appointment, in case if a single appointment needs to be exported. Otherwise, it takes the null value. - * @returns {void} - */ - exportSchedule(action: string, serverEvent: string, id: string | number): void; - - /** Searches and filters the appointments from appointment list of Schedule control. - * @param {Array} Holds array of one or more conditional objects for filtering the appointments based on it. - * @returns {Array} - */ - filterAppointments(filterConditions: any[]): any[]; - - /** Gets the complete appointment list of Schedule control. - * @returns {Array} - */ - getAppointments(): any[]; - - /** Prints the entire Scheduler or a single appointment based on the appointment data passed as an argument to it. Simply calling the print() method, - * without passing any argument will print the entire Scheduler. - * @param {any} Either accepts no arguments at all or else accepts an appointment object. - * @returns {void} - */ - print(data: any): void; - - /** Refreshes the Scroller of Scheduler while using it within some other controls or application. - * @returns {void} - */ - refreshScroller(): void; - - /** It is used to save the appointment. The appointment object is based on the argument passed to this method. - * @param {any} appointment object which includes appointment details - * @returns {void} - */ - saveAppointment(appointmentObject: any): void; - - /** Generate the recurrence rule as a string, based on the repeat options selected. - * @returns {string} - */ - getRecurrenceRule(): string; - - /** Retrieves the time slot information (start/end time and resource details) of the given element. - * The parameter is optional - as when no element is passed to it, the currently selected cell information will be retrieved. When multiple cells are selected in the Scheduler, - * it is not necessary to provide the parameter. - * @param {any} TD element object rendered as Scheduler work cell - * @returns {any} - */ - getSlotByElement(element: any): any; - - /** Searches the appointments from the appointment list of Schedule control based on the provided search string in its argument list. - * @param {any|string} Defines the search word or the filter condition, based on which the appointments are filtered from the list. - * @param {string} Defines the field name on which the search is to be made. - * @param {ej.FilterOperators|string} Defines the filterOperator value for the search operation. - * @param {boolean} Defines the ignoreCase value for performing the search operation. - * @returns {Array} - */ - searchAppointments(searchString: any | string, field: string, operator: ej.FilterOperators | string, ignoreCase: boolean): any[]; - - /** Refreshes the entire Schedule control. - * @returns {void} - */ - refresh(): void; - - /** Refreshes only the appointment elements within the Schedule control. - * @returns {void} - */ - refreshAppointments(): void; - - /** Passes the server-side action and data to the client-side for rendering the modified appointment list on the Schedule control. - * @returns {void} - */ - notifyChanges(): void; -} -export namespace Schedule { - - export interface Model { - - /** When set to true, Schedule allows the appointments to be dragged and dropped at required time. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** When set to true, Scheduler allows interaction through keyboard shortcut keys. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** It includes the dataSource option and the fields related to Schedule appointments. The appointment fields within the appointmentSettings can accept both string and object type values. - * To apply validation rules on the appointment window fields, then the appointment fields needs to be defined with object type values. - */ - appointmentSettings?: AppointmentSettings; - - /** Template design that applies on the Schedule appointments. All the field names that are mapped from dataSource - * to the appropriate field properties within the appointmentSettings can be used within the template. - * @Default {null} - */ - appointmentTemplateId?: string; - - /** Accepts the custom CSS class name that defines specific user-defined styles and themes to be applied for partial or complete elements of the Schedule. - */ - cssClass?: string; - - /** Sets various categorize colors to the Schedule appointments to differentiate it. - */ - categorizeSettings?: CategorizeSettings; - - /** Sets the height for Schedule cells. - * @Default {20px} - */ - cellHeight?: string; - - /** Sets the width for Schedule cells. - */ - cellWidth?: string; - - /** Holds all options related to the context menu settings of Scheduler. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Sets current date of the Schedule. The Schedule displays initially with the date that is provided here. - * @Default {new Date()} - */ - currentDate?: any; - - /** Sets current view of the Schedule. Schedule renders initially with the view that is specified here. The available views are day, week, workweek, month, agenda and - * custom view - from which any one of the required view can be set to the Schedule. It accepts both string or enum values. The enum values that are accepted - * by currentView(ej.Schedule.CurrentView) are as follows, - * @Default {ej.Schedule.CurrentView.Week} - */ - currentView?: string | ej.Schedule.CurrentView; - - /** Sets the date format for Schedule. - */ - dateFormat?: string; - - /** When set to true, shows the previous/next appointment navigator button on the Scheduler. - * @Default {true} - */ - showAppointmentNavigator?: boolean; - - /** When set to true, enables the resize behavior of appointments within the Schedule. - * @Default {true} - */ - enableAppointmentResize?: boolean; - - /** When set to true, enables the loading of Schedule appointments based on your demand. With this load on demand concept, the data consumption of the Schedule can be limited. - * @Default {false} - */ - enableLoadOnDemand?: boolean; - - /** Saves the current model value to browser cookies for state maintenance. When the page gets refreshed, Schedule control values are retained. - * @Default {false} - */ - enablePersistence?: boolean; - - /** When set to true, the Schedule layout and behavior changes as per the common RTL conventions. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the end hour time limit to be displayed on the Schedule. - * @Default {24} - */ - endHour?: number; - - /** To configure resource grouping on the Schedule. - */ - group?: Group; - - /** Sets the height of the Schedule. Accepts both pixel and percentage values. - * @Default {1120px} - */ - height?: string; - - /** To define the work hours within the Schedule control. - */ - workHours?: WorkHours; - - /** When set to true, enables the Schedule to observe Daylight Saving Time for supported timezones. - * @Default {false} - */ - isDST?: boolean; - - /** When set to true, adapts the Schedule layout to fit the screen size of devices on which it renders. - * @Default {true} - */ - isResponsive?: boolean; - - /** Sets the specific culture to the Schedule. - * @Default {en-US} - */ - locale?: string; - - /** Sets the maximum date limit to display on the Schedule. Setting maxDate with specific date value disallows the Schedule to navigate beyond that date. - * @Default {new Date(2099, 12, 31)} - */ - maxDate?: any; - - /** Sets the minimum date limit to display on the Schedule. Setting minDate with specific date value disallows the Schedule to navigate beyond that date. - * @Default {new Date(1900, 01, 01)} - */ - minDate?: any; - - /** Sets the mode of Schedule rendering either in a vertical or horizontal direction. It accepts either string("vertical" or "horizontal") or enum values. - * The enum values that are accepted by orientation(ej.Schedule.Orientation) are as follows, - * @Default {ej.Schedule.Orientation.Vertical} - */ - orientation?: string | ej.Schedule.Orientation; - - /** Holds all the options related to priority settings of the Schedule. - */ - prioritySettings?: PrioritySettings; - - /** When set to true, disables the interaction with the Schedule appointments, simply allowing the date and view navigation to occur. - * @Default {false} - */ - readOnly?: boolean; - - /** Holds all the options related to reminder settings of the Schedule. - */ - reminderSettings?: ReminderSettings; - - /** Defines the specific start and end dates to be rendered in the Schedule control. To render such user-specified custom date ranges in the Schedule control, - * set the currentView property to ej.Schedule.CurrentView.CustomView. - * @Default {null} - */ - renderDates?: RenderDates; - - /** Template design that applies on the Schedule resource header. - * @Default {null} - */ - resourceHeaderTemplateId?: string; - - /** Holds all the options related to the resources settings of the Schedule. It is a collection of one or more resource objects, where the levels of resources are rendered on the Schedule - * based on the order of the resource data provided within this collection. - * @Default {null} - */ - resources?: Resource[]; - - /** When set to true, displays the all-day row cells on the Schedule. - * @Default {true} - */ - showAllDayRow?: boolean; - - /** When set to true, displays the current time indicator on the Schedule. - * @Default {true} - */ - showCurrentTimeIndicator?: boolean; - - /** When set to true, displays the header bar on the Schedule. - * @Default {true} - */ - showHeaderBar?: boolean; - - /** When set to true, displays the location field additionally on Schedule appointment window. - * @Default {false} - */ - showLocationField?: boolean; - - /** When set to false, doesn't render the start and end timezone fields on the Schedule appointment window. - * @Default {true} - */ - showTimeZoneFields?: boolean; - - /** When set to true, displays the quick window for every single click made on the Schedule cells or appointments. - * @Default {true} - */ - showQuickWindow?: boolean; - - /** Sets the start hour time range to be displayed on the Schedule. - * @Default {0} - */ - startHour?: number; - - /** Sets either 12 or 24 hour time mode on the Schedule. It accepts either the string value("12" or "24") or the below mentioned enum values. - * The enum values that are accepted by timeMode(ej.Schedule.TimeMode) are as follows, - * @Default {null} - */ - timeMode?: string | ej.Schedule.TimeMode; - - /** Sets the timezone for the Schedule. - * @Default {null} - */ - timeZone?: string; - - /** Sets the collection of timezone items to be bound to the Schedule. Only the items bound to this property gets listed out in the timezone field of the appointment window. - */ - timeZoneCollection?: TimeZoneCollection; - - /** Defines the view collection to be displayed on the Schedule. By default, it displays all the views namely, Day, Week, WorkWeek and Month. - * @Default {[Day, Week, WorkWeek, Month, Agenda]} - */ - views?: any[]; - - /** Sets the width of the Schedule. Accepts both pixel and percentage values. - * @Default {100%} - */ - width?: string; - - /** When set to true, Schedule allows the validation of recurrence pattern to take place before it is being assigned to the appointments. For example, when one of the instance of - * recurrence appointment is dragged beyond the next or previous instance of the same recurrence appointment, a pop-up is displayed with the validation message disallowing the drag functionality. - * @Default {true} - */ - enableRecurrenceValidation?: boolean; - - /** Sets the week to display more than one week appointment summary. - */ - agendaViewSettings?: AgendaViewSettings; - - /** Sets specific day as the starting day of the week. - * @Default {null} - */ - firstDayOfWeek?: string; - - /** Sets different day collection within workWeek view. - * @Default {[Monday, Tuesday, Wednesday, Thursday, Friday]} - */ - workWeek?: any[]; - - /** Allows to pop-up appointment details in a tooltip while hovering over the appointments. - */ - tooltipSettings?: TooltipSettings; - - /** Holds all the options related to the time scale of Scheduler. The timeslots either major or minor slots can be customized with this property. - */ - timeScale?: TimeScale; - - /** When set to true, shows the delete confirmation dialog before deleting an appointment. - * @Default {true} - */ - showDeleteConfirmationDialog?: boolean; - - /** Accepts the id value of the template layout defined for the all-day cells and customizes it. - * @Default {null} - */ - allDayCellsTemplateId?: string; - - /** Accepts the id value of the template layout defined for the work cells and month cells. - * @Default {null} - */ - workCellsTemplateId?: string; - - /** Accepts the id value of the template layout defined for the date header cells and customizes it. - * @Default {null} - */ - dateHeaderTemplateId?: string; - - /** when set to false, allows the height of the work-cells to adjust automatically (either expand or collapse) based on the number of appointment count it has. - * @Default {true} - */ - showOverflowButton?: boolean; - - /** Allows setting draggable area for the Scheduler appointments. Also, turns on the external drag and drop, when set with some specific external drag area name. - */ - appointmentDragArea?: string; - - /** When set to true, displays the other months days from the current month on the Schedule. - * @Default {true} - */ - showNextPrevMonth?: boolean; - - /** Blocks the user-specific time interval on the Scheduler, so that no appointments can be created on that particular time slots. - * It includes the dataSource option and also the fields related to block intervals. - */ - blockoutSettings?: BlockoutSettings; - - /** Triggers on the beginning of every action that starts within the Schedule. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggers after the completion of every action within the Schedule. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggers after an appointment is clicked. */ - appointmentClick?(e: AppointmentClickEventArgs): void; - - /** Triggers before the appointment is being removed from the Scheduler. */ - beforeAppointmentRemove?(e: BeforeAppointmentRemoveEventArgs): void; - - /** Triggers before the edited appointment is being saved. */ - beforeAppointmentChange?(e: BeforeAppointmentChangeEventArgs): void; - - /** Triggers on hovering the mouse over the appointments. */ - appointmentHover?(e: AppointmentHoverEventArgs): void; - - /** Triggers before the new appointment gets saved. */ - beforeAppointmentCreate?(e: BeforeAppointmentCreateEventArgs): void; - - /** Triggers before the appointment window opens. */ - appointmentWindowOpen?(e: AppointmentWindowOpenEventArgs): void; - - /** Triggers before the context menu opens. */ - beforeContextMenuOpen?(e: BeforeContextMenuOpenEventArgs): void; - - /** Triggers after the cell is clicked. */ - cellClick?(e: CellClickEventArgs): void; - - /** Triggers after the cell is clicked twice. */ - cellDoubleClick?(e: CellDoubleClickEventArgs): void; - - /** Triggers on hovering the mouse overs the cells. */ - cellHover?(e: CellHoverEventArgs): void; - - /** Triggers when the Scheduler completely renders on the page. */ - create?(e: CreateEventArgs): void; - - /** Triggers when the Scheduler and all its sub-components gets destroyed. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggers while the appointment is being dragged over the work cells. */ - drag?(e: DragEventArgs): void; - - /** Triggers when the appointment dragging begins. */ - dragStart?(e: DragStartEventArgs): void; - - /** Triggers when the appointment is dropped. */ - dragStop?(e: DragStopEventArgs): void; - - /** Triggers after the menu/sub-menu items within the context menu is clicked. */ - menuItemClick?(e: MenuItemClickEventArgs): void; - - /** Triggers after the Schedule view or date is navigated. */ - navigation?(e: NavigationEventArgs): void; - - /** Triggers every time before the elements of the scheduler such as work cells, time cells or header cells and so on renders or re-renders on a page. */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggers when the reminder is raised for an appointment based on the alertBefore value. */ - reminder?(e: ReminderEventArgs): void; - - /** Triggers while resizing the appointment. */ - resize?(e: ResizeEventArgs): void; - - /** Triggers when the appointment resizing begins. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggers when an appointment resizing stops. */ - resizeStop?(e: ResizeStopEventArgs): void; - - /** Triggers when the overflow button is clicked. */ - overflowButtonClick?(e: OverflowButtonClickEventArgs): void; - - /** Triggers while mouse hovering on the overflow button. */ - overflowButtonHover?(e: OverflowButtonHoverEventArgs): void; - - /** Triggers when any of the keyboard keys are pressed. */ - keyDown?(e: KeyDownEventArgs): void; - - /** Triggers after the new appointment is saved. */ - appointmentCreated?(e: AppointmentCreatedEventArgs): void; - - /** Triggers after an existing appointment is edited. */ - appointmentChanged?(e: AppointmentChangedEventArgs): void; - - /** Triggers after the appointment is deleted. */ - appointmentRemoved?(e: AppointmentRemovedEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the current date value. - */ - currentDate?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current view value. - */ - currentView?: string; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the action begin request type. - */ - requestType?: string; - - /** Returns the target of the click. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the save appointment value. - */ - data?: any; - - /** Returns the id of delete appointment. - */ - id?: number; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data about view change action. - */ - data?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the action complete request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the appointment data dropped. - */ - appointment?: any; - } - - export interface AppointmentClickEventArgs { - - /** Returns the object of appointmentClick event. - */ - object?: any; - - /** Returns the clicked appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeAppointmentRemoveEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the deleted appointment object. - */ - appointment?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface BeforeAppointmentChangeEventArgs { - - /** Returns the edited appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentHoverEventArgs { - - /** Returns the object of appointmentHover event. - */ - object?: any; - - /** Returns the hovered appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeAppointmentCreateEventArgs { - - /** Returns the appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentWindowOpenEventArgs { - - /** returns the object of appointmentWindowOpen event while selecting the detail option from quick window or edit appointment or edit series option. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the end time of the double clicked cell. - */ - endTime?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the action name that triggers window open. - */ - originalEventType?: string; - - /** Returns the start time of the double clicked cell. - */ - startTime?: any; - - /** Returns the target of the double clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the edit appointment object. - */ - appointment?: any; - - /** Returns the edit occurrence option value. - */ - edit?: boolean; - } - - export interface BeforeContextMenuOpenEventArgs { - - /** Returns the object of beforeContextMenuOpen event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current cell index value. - */ - cellIndex?: number; - - /** Returns the current date value. - */ - currentDate?: any; - - /** Returns the current resource details, when multiple resources are present, otherwise returns null. - */ - resources?: any; - - /** Returns the current appointment details while opening the menu from appointment. - */ - appointment?: any; - - /** Returns the object of before opening menu target. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellClickEventArgs { - - /** Returns the object of cellClick event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the end time of the clicked cell. - */ - endTime?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the start time of the clicked cell. - */ - startTime?: any; - - /** Returns the target of the clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellDoubleClickEventArgs { - - /** Returns the object of cellDoubleClick event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the end time of the double clicked cell. - */ - endTime?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the start time of the double clicked cell. - */ - startTime?: any; - - /** Returns the target of the double clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellHoverEventArgs { - - /** Returns the object of cellHover event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the index of the hovered cell. - */ - cellIndex?: any; - - /** Returns the current date of the hovered cell. - */ - currentDate?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the clicked cell. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface DragEventArgs { - - /** Returns the object of dragOver event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the drag over appointment. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DragStartEventArgs { - - /** Returns the object of dragStart event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the dragging appointment. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DragStopEventArgs { - - /** Returns the object of dragDrop event. - */ - object?: any; - - /** Returns the dropped appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface MenuItemClickEventArgs { - - /** Returns the object of menuItemClick event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface NavigationEventArgs { - - /** Returns the current date object. - */ - currentDate?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the current view value. - */ - currentView?: string; - - /** Returns the previous view value. - */ - previousView?: string; - - /** Returns the target of the action. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the previous date of the Schedule. - */ - previousDate?: any; - } - - export interface QueryCellInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the current appointment data. - */ - appointment?: any; - - /** Returns the currently rendering DOM element. - */ - element?: any; - - /** Returns the name of the currently rendering element on the scheduler. - */ - requestType?: string; - - /** Returns the cell type which is currently rendering on the Scheduler. - */ - cellType?: string; - - /** Returns the start date of the currently rendering appointment. - */ - currentAppointmentDate?: any; - - /** Returns the currently rendering cell information. - */ - cell?: any; - - /** Returns the currently rendering resource details. - */ - resource?: any; - - /** Returns the currently rendering date information. - */ - currentDay?: any; - } - - export interface ReminderEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the appointment object for which the reminder is raised. - */ - reminderAppointment?: any; - } - - export interface ResizeEventArgs { - - /** Returns the object of resizing event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the resize element value. - */ - element?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ResizeStartEventArgs { - - /** Returns the object of resizeStart event. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the resize element value. - */ - element?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ResizeStopEventArgs { - - /** Returns the object of resizeStop event. - */ - object?: any; - - /** Returns the resized appointment value. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the target of the resized appointment. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OverflowButtonClickEventArgs { - - /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the clicked overflow button is present. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OverflowButtonHoverEventArgs { - - /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the overflow button is currently hovered. - */ - object?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface KeyDownEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the object of menu item event. - */ - events?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface AppointmentCreatedEventArgs { - - /** Returns the appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentChangedEventArgs { - - /** Returns the edited appointment object. - */ - appointment?: any; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentRemovedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the deleted appointment object. - */ - appointment?: any; - - /** Returns the Schedule model. - */ - model?: ej.Schedule.Model; - - /** Returns the name of the Scheduler event. - */ - type?: string; - } - - export interface AppointmentSettings { - - /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule appointments. - * @Default {[]} - */ - dataSource?: any | any[]; - - /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. - * @Default {null} - */ - query?: string; - - /** Assign the table name from where the records are to be fetched for the Schedule. - * @Default {null} - */ - tableName?: string; - - /** When set to false, doesn't consider the time difference offset calculation on appointment time. - * @Default {true} - */ - applyTimeOffset?: boolean; - - /** Binds the id field name in dataSource to the id of Schedule appointments. It denotes the unique id assigned to appointments. - * @Default {null} - */ - id?: string; - - /** Binds the name of startTime field in the dataSource with start time of the Schedule appointments. It indicates the date and Time when Schedule appointment actually starts. - * @Default {null} - */ - startTime?: string; - - /** Binds the name of endTime field in dataSource with the end time of Schedule appointments. It indicates the date and time when Schedule appointment actually ends. - * @Default {null} - */ - endTime?: string; - - /** Binds the name of subject field in the dataSource to appointment Subject. Indicates the Subject or title that gets displayed on Schedule appointments. - * @Default {null} - */ - subject?: string; - - /** Binds the description field name in dataSource. It indicates the appointment description. - * @Default {null} - */ - description?: string; - - /** Binds the name of recurrence field in dataSource. It indicates whether the appointment is a recurrence appointment or not. - * @Default {null} - */ - recurrence?: string; - - /** Binds the name of recurrenceRule field in dataSource. It indicates the recurrence pattern associated with appointments. - * @Default {null} - */ - recurrenceRule?: string; - - /** Binds the name of allDay field in dataSource. It indicates whether the appointment is an all-day appointment or not. - * @Default {null} - */ - allDay?: string; - - /** Binds one or more fields in resource collection dataSource. It maps the resource field names with appointments denoting the resource of appointments actually belongs. - * @Default {null} - */ - resourceFields?: string; - - /** Binds the name of categorize field in dataSource. It indicates the categorize value, red categorize, green, yellow and so on applied to the appointments. - * @Default {null} - */ - categorize?: string; - - /** Binds the name of location field in dataSource. It indicates the appointment location. - * @Default {null} - */ - location?: string; - - /** Binds the name of the priority field in dataSource. It indicates the priority, high, low, medium and none of the appointments. - * @Default {null} - */ - priority?: string; - - /** Binds the name of start timezone field in dataSource. It indicates the timezone of appointment start date. When startTimeZone field is not mentioned, - * the appointment uses the Schedule timeZone or System timeZone. - * @Default {null} - */ - startTimeZone?: string; - - /** Binds the name of end timezone field in dataSource. It indicates the timezone of appointment end date. When the endTimeZone field is not mentioned, - * the appointment uses the Schedule timeZone or System timeZone. - * @Default {null} - */ - endTimeZone?: string; - } - - export interface CategorizeSettings { - - /** When set to true, enables the multiple selection of categories to be applied for the appointments. - * @Default {false} - */ - allowMultiple?: boolean; - - /** When set to true, enables the categories option to be applied for the appointments. - * @Default {false} - */ - enable?: boolean; - - /** The dataSource option accepts either the JSON object collection or DataManager [ej.DataManager] instance that contains the categorize data. - */ - dataSource?: any[] | any; - - /** Binds id field name in the dataSource to id of category data. - * @Default {id} - */ - id?: string; - - /** Binds text field name in the dataSource to category text. - * @Default {text} - */ - text?: string; - - /** Binds color field name in the dataSource to category color. - * @Default {color} - */ - color?: string; - - /** Binds fontColor field name in the dataSource to category font. - * @Default {fontColor} - */ - fontColor?: string; - } - - export interface ContextMenuSettingsMenuItems { - - /** All the appointment related context menu items are grouped under this appointment menu collection. - */ - appointment?: any[]; - - /** All the Scheduler cell related context menu items are grouped under this cells menu item collection. - */ - cells?: any[]; - } - - export interface ContextMenuSettings { - - /** When set to true, enables the context menu options available for the Schedule cells and appointments. - * @Default {false} - */ - enable?: boolean; - - /** Contains all the default context menu options that are applicable for both Schedule cells and appointments. It also supports adding custom menu items to cells or appointment collection. - */ - menuItems?: ContextMenuSettingsMenuItems; - } - - export interface Group { - - /** Holds the array of resource names to be grouped on the Schedule. - */ - resources?: any[]; - } - - export interface WorkHours { - - /** When set to true, highlights the work hours of the Schedule. - * @Default {true} - */ - highlight?: boolean; - - /** Sets the start time to depict the start of working or business hour in a day. - * @Default {9} - */ - start?: number; - - /** Sets the end time to depict the end of working or business hour in a day. - * @Default {18} - */ - end?: number; - } - - export interface PrioritySettings { - - /** When set to true, enables the priority options available for the Schedule appointments. - * @Default {false} - */ - enable?: boolean; - - /** The dataSource option can accept the JSON object collection that contains the priority related data. - * @Default {{% highlight js%}[{ text: None, value: none },{ text: High, value: high },{ text: Medium, value: medium },{ text: Low, value: low }]{% endhighlight %}} - */ - dataSource?: any | any[]; - - /** Binds text field name in the dataSource to prioritySettings text. These text gets listed out in priority field of the appointment window. - * @Default {text} - */ - text?: string; - - /** Binds value field name in the dataSource to prioritySettings value. These field names usually accepts four priority values by default, high, low, medium and none. - * @Default {value} - */ - value?: string; - - /** Allows priority field customization in the appointment window to add custom icons denoting the priority level for the appointments. - * @Default {null} - */ - template?: string; - } - - export interface ReminderSettings { - - /** When set to true, enables the reminder option available for the Schedule appointments. - * @Default {false} - */ - enable?: boolean; - - /** Sets the timing, when the reminders are to be alerted for the Schedule appointments. - * @Default {5} - */ - alertBefore?: number; - } - - export interface RenderDates { - - /** Sets the start of custom date range to be rendered in the Schedule. - * @Default {null} - */ - start?: any; - - /** Sets the end limit of the custom date range. - * @Default {null} - */ - end?: any; - } - - export interface ResourcesResourceSettings { - - /** The dataSource option accepts either JSON object collection or DataManager (ejDataManager) instance that contains the resources related data. - * @Default {[]} - */ - dataSource?: any | any[]; - - /** Binds text field name in the dataSource to resourceSettings text. These text gets listed out in resources field of the appointment window. - * @Default {null} - */ - text?: string; - - /** Binds id field name in the dataSource to resourceSettings id. - * @Default {null} - */ - id?: string; - - /** Binds groupId field name in the dataSource to resourceSettings groupId. - * @Default {null} - */ - groupId?: string; - - /** Binds color field name in the dataSource to resourceSettings color. The color specified here gets applied to the Schedule appointments denoting to the resource it belongs. - * @Default {null} - */ - color?: string; - - /** Binds the starting work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the starting work hour for specific resources. - * @Default {null} - */ - start?: string; - - /** Binds the end work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the end work hour for specific resources. - * @Default {null} - */ - end?: string; - - /** Binds the resources working days field name in the dataSource. It's optional, and accepts the array of strings (week day names). When provided with specific collection of - * days (array of day names), only those days will render for the specific resources. - * @Default {null} - */ - workWeek?: string; - - /** Binds appointmentClass field name in the dataSource. It applies custom CSS class name to appointments depicting to the resource it belongs. - * @Default {null} - */ - appointmentClass?: string; - } - - export interface Resource { - - /** It holds the name of the resource field to be bound to the Schedule appointments that contains the resource Id. - * @Default {null} - */ - field?: string; - - /** It holds the title name of the resource field to be displayed on the Schedule appointment window. - * @Default {null} - */ - title?: string; - - /** A unique resource name that is used for differentiating various resource objects while grouping it in various levels. - * @Default {null} - */ - name?: string; - - /** When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. - * @Default {false} - */ - allowMultiple?: boolean; - - /** It holds the field names of the resources to be bound to the Schedule and also the dataSource. - */ - resourceSettings?: ResourcesResourceSettings; - } - - export interface TimeZoneCollection { - - /** Sets the collection of timezone items to the dataSource that accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule timezones. - */ - dataSource?: any; - - /** Binds text field name in the dataSource to timeZoneCollection text. These text gets listed out in the timezone fields of the appointment window. - * @Default {text} - */ - text?: string; - - /** Binds id field name in the dataSource to timeZoneCollection id. - * @Default {id} - */ - id?: string; - - /** Binds value field name in the dataSource to timeZoneCollection value. - * @Default {value} - */ - value?: string; - } - - export interface AgendaViewSettings { - - /** You can display the summary of multiple week's appointment by setting this value. - * @Default {7} - */ - daysInAgenda?: number; - - /** You can customize the Date column display based on the requirement. - * @Default {null} - */ - dateColumnTemplateId?: string; - - /** You can customize the time column display based on the requirement. - * @Default {null} - */ - timeColumnTemplateId?: string; - } - - export interface TooltipSettings { - - /** Enables or disables the tooltip display. - * @Default {false} - */ - enable?: boolean; - - /** Template design that customizes the tooltip. All the field names that are mapped from dataSource to the appropriate field properties within - * the appointmentSettings can be accessed within the template. - * @Default {null} - */ - templateId?: string; - } - - export interface TimeScale { - - /** When set to true, displays the time slots on the Scheduler. - * @Default {true} - */ - enable?: boolean; - - /** When set with some specific value, defines the number of time divisions split per hour(as per value given for the majorTimeSlot). Those time divisions are meant to be the minor slots. - * @Default {2} - */ - minorSlotCount?: number; - - /** Accepts the value in minutes. When provided with specific value, displays the appropriate time interval on the Scheduler - * @Default {60} - */ - majorSlot?: number; - - /** Template design that customizes the timecells (minor slots) that are partitioned based on minorSlotCount. Accepts id value of the template defined for minor time slots. - * @Default {null} - */ - minorSlotTemplateId?: string; - - /** Template design that customizes the timecells (major slots). Accepts id value of the template defined for major time slots. - * @Default {null} - */ - majorSlotTemplateId?: string; - } - - export interface BlockoutSettings { - - /** When set to true, enables the blockout option to be applied on the Scheduler cells. - * @Default {false} - */ - enable?: boolean; - - /** Template design that applies on the Schedule block intervals. All the field names that are mapped from dataSource to the appropriate field - * properties within the blockoutSettings can be used within the template. - * @Default {null} - */ - templateId?: string; - - /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule block intervals. - * @Default {[]} - */ - dataSource?: any | any[]; - - /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. - * @Default {null} - */ - query?: string; - - /** Assign the table name from where the records are to be fetched for the Schedule. - * @Default {null} - */ - tableName?: string; - - /** Binds the id field name in dataSource to the id of block time interval. It denotes the unique id assigned to each of the block records. - * @Default {null} - */ - id?: string; - - /** Binds the name of startTime field in the dataSource with start time of block time interval. It indicates the date and time, when the block interval actually starts in the Scheduler. - * @Default {null} - */ - startTime?: string; - - /** Binds the name of endTime field in dataSource with the end time of block time interval. It indicates the date and time, when the block interval actually ends in the Scheduler. - * @Default {null} - */ - endTime?: string; - - /** Binds the name of subject field in the dataSource to block time Subject. Indicates the Subject or title that gets displayed on the Schedule block intervals. - * @Default {null} - */ - subject?: string; - - /** Binds the name of isBlockAppointment field in dataSource. When set to true, disables the appointments that lies on the blocked area and restrict to perform CRUD operations in it. - * @Default {null} - */ - isBlockAppointment?: string; - - /** Binds the name of isAllDay field in dataSource. It indicates whether an entire day is blocked or not. - * @Default {null} - */ - isAllDay?: string; - - /** Binds the name of resourceId field in dataSource. Specifies the id of the resources, to which the time intervals are needed to be blocked. - * @Default {null} - */ - resourceId?: string; - - /** Binds the name of customStyle field in dataSource. It applies the custom CSS to the block intervals. - * @Default {null} - */ - customStyle?: string; - } - - enum CurrentView { - - ///Sets currentView of the Scheduler as Day - Day, - - ///Sets currentView of the Scheduler as Week - Week, - - ///Sets currentView of the Scheduler as WorkWeek - Workweek, - - ///Sets currentView of the Scheduler as Month - Month, - - ///Sets currentView of the Scheduler as Agenda - Agenda, - - ///Sets currentView of the Scheduler as CustomView with user-specified date range. - CustomView - } - - - enum Orientation { - - ///Set orientation as vertical to Scheduler - Vertical, - - ///Set orientation as horizontal to Scheduler - Horizontal - } - - - enum TimeMode { - - ///Sets 12 hour time mode to Scheduler - Hour12, - - ///Sets 24 hour time mode to Scheduler - Hour24 - } - -} - -class RecurrenceEditor extends ej.Widget { - static fn: RecurrenceEditor; - constructor(element: JQuery | Element, options?: RecurrenceEditor.Model); - static Locale: any; - model: RecurrenceEditor.Model; - defaults: RecurrenceEditor.Model; - - /** Generates the recurrence rule with the options selected within the Recurrence Editor. - * @returns {String} - */ - getRecurrenceRule(): string; - - /** Generates the collection of date, that lies within the selected recurrence start and end date for which the recurrence pattern applies. - * @param {string} It refers the recurrence rule. - * @param {any} It refers the start date of the recurrence. - * @returns {any} - */ - recurrenceDateGenerator(recurrenceString: string, startDate: any): any; - - /** It splits and returns the recurrence rule string into object collection. - * @param {string} It refers the recurrence rule string. - * @param {any} It refers the appointment dates (ExDate) to be excluded - * @returns {any} - */ - recurrenceRuleSplit(recurrenceRule: string, exDate: any): any; -} -export namespace RecurrenceEditor { - - export interface Model { - - /** Defines the collection of recurrence frequencies within Recurrence Editor such as Never, Daily, Weekly, Monthly, Yearly and Every Weekday. - * @Default {[never, daily, weekly, monthly, yearly, everyweekday]} - */ - frequencies?: any[]; - - /** Sets the starting day of the week. - * @Default {null} - */ - firstDayOfWeek?: string; - - /** When set to true, enables the spin button of numeric textboxes within the Recurrence Editor. - * @Default {true} - */ - enableSpinners?: boolean; - - /** Sets the start date of the recurrence. The Recurrence Editor initially displays the current date as its start date. - * @Default {new Date()} - */ - startDate?: any; - - /** Sets the specific culture to the Recurrence Editor. - * @Default {en-US} - */ - locale?: string; - - /** Sets the date format for the datepickers available within the Recurrence Editor. - */ - dateFormat?: string; - - /** When set to true, renders the Recurrence Editor options from Right-to-Left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Sets the active/current repeat type(frequency) on Recurrence Editor based on the index value provided. For example, setting the value 1 will initially set the repeat type - * as Daily and display its related options. - * @Default {0} - */ - selectedRecurrenceType?: number; - - /** Sets the minimum date limit to display on the datepickers defined within the Recurrence Editor. Setting minDate with specific date value disallows the datepickers within - * Recurrence Editor to navigate beyond that date. - * @Default {new Date(1900, 01, 01)} - */ - minDate?: any; - - /** Sets the maximum date limit to display on the datepickers used within the Recurrence Editor. Setting maxDate with specific date value disallows the - * datepickers within the Recurrence Editor to navigate beyond that date. - * @Default {new Date(2099, 12, 31)} - */ - maxDate?: any; - - /** Accepts the custom CSS class name, that defines user-defined styles and themes to be applied on partial or complete elements of the Recurrence Editor. - */ - cssClass?: string; - - /** Triggers whenever any of the Recurrence Editor's value is changed. */ - change?(e: ChangeEventArgs): void; - } - - export interface ChangeEventArgs { - - /** When set to true, event gets canceled. - */ - cancel?: boolean; - - /** Returns the Recurrence Editor model - */ - model?: ej.RecurrenceEditor.Model; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the recurrence rule value. - */ - recurrenceRule?: string; - } -} - -class Gantt extends ej.Widget { - static fn: Gantt; - constructor(element: JQuery | Element, options?: Gantt.Model); - static Locale: any; - model: Gantt.Model; - defaults: Gantt.Model; - - /** To add a new item in Gantt - * @param {any} Item to add in Gantt row. - * @param {string} Defines in which position the row wants to add - * @returns {void} - */ - addRecord(data: any, rowPosition: string): void; - - /** To select cell based on the cell and row index dynamically. - * @param {Array} array of cell indexes to be select - * @param {boolean} Defines that we need to preserve the previously selected cells of not - * @returns {void} - */ - selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; - - /** Positions the splitter by the specified column index. - * @param {number} Set the splitter position based on column index. - * @returns {void} - */ - setSplitterIndex(index: number): void; - - /** To cancel the edited state of an item in Gantt - * @returns {void} - */ - cancelEdit(): void; - - /** To collapse all the parent items in Gantt - * @returns {void} - */ - collapseAllItems(): void; - - /** To delete a selected item in Gantt - * @returns {void} - */ - deleteItem(): void; - - /** destroy the Gantt widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** To Expand all the parent items in Gantt - * @returns {void} - */ - expandAllItems(): void; - - /** To expand and collapse an item in Gantt using item's ID - * @param {number} Expand or Collapse a record based on task id. - * @returns {void} - */ - expandCollapseRecord(taskId: number): void; - - /** To hide the column by using header text - * @param {string} you can pass a header text of a column to hide - * @returns {void} - */ - hideColumn(headerText: string): void; - - /** To indent a selected item in Gantt - * @returns {void} - */ - indentItem(): void; - - /** To Open the dialog to add new task to the Gantt - * @returns {void} - */ - openAddDialog(): void; - - /** To Open the dialog to edit existing task to the Gantt - * @returns {void} - */ - openEditDialog(): void; - - /** To outdent a selected item in Gantt - * @returns {void} - */ - outdentItem(): void; - - /** To save the edited state of an item in Gantt - * @returns {void} - */ - saveEdit(): void; - - /** To search an item with search string provided at the run time - * @param {string} you can pass a text to search in Gantt Control. - * @returns {void} - */ - searchItem(searchString: string): void; - - /** To set the grid width in Gantt - * @param {string} you can give either percentage or pixels value - * @returns {void} - */ - setSplitterPosition(width: string): void; - - /** To show the column by using header text - * @param {string} you can pass a header text of a column to show - * @returns {void} - */ - showColumn(headerText: string): void; -} - -export namespace Gantt { - - export interface Model { - - /** Specifies the fields to be included in the add dialog in Gantt - * @Default {[]} - */ - addDialogFields?: any[]; - - /** Enables or disables the ability to resize column. - * @Default {false} - */ - allowColumnResize?: boolean; - - /** Enables or Disables Gantt chart editing in Gantt - * @Default {true} - */ - allowGanttChartEditing?: boolean; - - /** Enables or Disables Keyboard navigation in Gantt - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Specifies enabling or disabling multiple sorting for Gantt columns - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** Enables or disables the option for multiple exporting - * @Default {false} - */ - allowMultipleExporting?: boolean; - - /** Enables or disables the interactive selection of a row. - * @Default {true} - */ - allowSelection?: boolean; - - /** Enables or disables sorting. When enabled, we can sort the column by clicking on the column. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables or disables the ability to drag and drop the row interactively to reorder the rows - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Enable or disable predecessor validation. When it is true, all the task's start and end dates are aligned based on its predecessors start and end dates. - * @Default {true} - */ - enablePredecessorValidation?: boolean; - - /** Specifies the baseline background color in Gantt - * @Default {#fba41c} - */ - baselineColor?: string; - - /** Specifies the mapping property path for baseline end date in datasource - */ - baselineEndDateMapping?: string; - - /** Specifies the mapping property path for baseline start date of a task in datasource - */ - baselineStartDateMapping?: string; - - /** Specifies the mapping property path for sub tasks in datasource - */ - childMapping?: string; - - /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. - * @Default {[]} - */ - columnDialogFields?: any[]; - - /** Specifies the background of connector lines in Gantt - */ - connectorLineBackground?: string; - - /** Specifies the width of the connector lines in Gantt - * @Default {1} - */ - connectorlineWidth?: number; - - /** Specify the CSS class for Gantt to achieve custom theme. - */ - cssClass?: string; - - /** Specifies the template for cell tooltip - * @Default {null} - */ - cellTooltipTemplate?: string; - - /** Option for customizing the drag tooltip while reordering the rows. - */ - dragTooltip?: DragTooltip; - - /** Collection of data or hierarchical data to represent in Gantt - * @Default {null} - */ - dataSource?: any[]; - - /** Specifies the dateFormat for Gantt , given format is displayed in tooltip , Grid . - * @Default {MM/dd/yyyy} - */ - dateFormat?: string; - - /** Specifies the mapping property path for duration of a task in datasource - */ - durationMapping?: string; - - /** Specifies the duration unit for each tasks whether days or hours or minutes - * @Default {ej.Gantt.DurationUnit.Day} - */ - durationUnit?: ej.Gantt.DurationUnit | string; - - /** Specifies the fields to be included in the edit dialog in Gantt - * @Default {[]} - */ - editDialogFields?: any[]; - - /** Enables or disables the responsiveness of Gantt - * @Default {false} - */ - isResponsive?: boolean; - - /** Option to configure the splitter position. - */ - splitterSettings?: SplitterSettings; - - /** Specifies the editSettings options in Gantt. - */ - editSettings?: EditSettings; - - /** Enables or Disables enableAltRow row effect in Gantt - * @Default {true} - */ - enableAltRow?: boolean; - - /** Enables/disables work breakdown structure column. - * @Default {false} - */ - enableWBS?: boolean; - - /** Enables/disables WBS predecessor column. - * @Default {false} - */ - enableWBSPredecessor?: boolean; - - /** Enables or disables the collapse all records when loading the Gantt. - * @Default {false} - */ - enableCollapseAll?: boolean; - - /** Specifies the data source field name to be displayed as left task label - */ - leftTaskLabelMapping?: string; - - /** Specifies the data source field name to be displayed as right task label - */ - rightTaskLabelMapping?: string; - - /** Specifies the template for left task label - */ - leftTaskLabelTemplate?: string; - - /** Specifies the template for right task label - */ - rightTaskLabelTemplate?: string; - - /** Enables or disables the contextmenu for Gantt , when enabled contextmenu appears on right clicking Gantt - * @Default {false} - */ - enableContextMenu?: boolean; - - /** Indicates whether we can edit the progress of a task interactively in Gantt. - * @Default {true} - */ - enableProgressBarResizing?: boolean; - - /** Enables or disables the option for dynamically updating the Gantt size on window resizing - * @Default {false} - */ - enableResize?: boolean; - - /** Enables or disables tooltip while editing (dragging/resizing) the taskbar. - * @Default {true} - */ - enableTaskbarDragTooltip?: boolean; - - /** Enables or disables tooltip for taskbar. - * @Default {true} - */ - enableTaskbarTooltip?: boolean; - - /** Enables/Disables virtualization for rendering Gantt items. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the mapping property path for end Date of a task in datasource - */ - endDateMapping?: string; - - /** Specifies whether to highlight the weekends in Gantt . - * @Default {true} - */ - highlightWeekends?: boolean; - - /** Collection of holidays with date, background and label information to be displayed in Gantt. - * @Default {[]} - */ - holidays?: any[]; - - /** Specifies whether to include weekends while calculating the duration of a task. - * @Default {true} - */ - includeWeekend?: boolean; - - /** Specify the locale for Gantt - * @Default {en-US} - */ - locale?: string; - - /** Specifies the mapping property path for milestone in datasource - */ - milestoneMapping?: string; - - /** Enables/disables the options for inserting , deleting and renaming columns. - * @Default {false} - */ - showColumnOptions?: boolean; - - /** Specifies the template for parent taskbar - */ - parentTaskbarTemplate?: string; - - /** Specifies the nature of a task for calculating the work, and it can fixed duration, fixed work and fixed resource unit - * @Default {ej.Gantt.TaskType.FixedUnit} - */ - taskType?: ej.Gantt.TaskType | string; - - /** Specifies the unit for the work involved in a task and it can be day, hour or minute - * @Default {ej.Gantt.WorkUnit.Hour} - */ - workUnit?: ej.Gantt.WorkUnit | string; - - /** Specifies the task scheduling mode for a project and this will be set to all the tasks available in the project - * @Default {ej.Gantt.TaskSchedulingMode.Auto} - */ - taskSchedulingMode?: ej.Gantt.TaskSchedulingMode | string; - - /** Specifies the row selection type. - * @Default {ej.Gantt.SelectionType.Single} - */ - selectionType?: ej.Gantt.SelectionType | string; - - /** Specifies the background of parent progressbar in Gantt - */ - parentProgressbarBackground?: string; - - /** Specifies the mapping property path for resource's percent effort involved in a task in datasource - */ - resourceUnitMapping?: string; - - /** Specifies the mapping property path for the task description in datasource - */ - notesMapping?: string; - - /** Specifies the mapping property path for the task scheduling mode for a task in datasource - * @Default {auto} - */ - taskSchedulingModeMapping?: string; - - /** Specifies the mapping property path for task duration unit in datasource - */ - durationUnitMapping?: string; - - /** Specifies the background of parent taskbar in Gantt - */ - parentTaskbarBackground?: string; - - /** Specifies the mapping property path for parent task Id in self reference datasource - */ - parentTaskIdMapping?: string; - - /** Specifies the mapping property path for predecessors of a task in datasource - */ - predecessorMapping?: string; - - /** Specifies the background of progressbar in Gantt - */ - progressbarBackground?: string; - - /** Specified the height of the progressbar in taskbar - * @Default {100} - */ - progressbarHeight?: number; - - /** Specifies the template for tooltip on resizing progressbar - * @Default {null} - */ - progressbarTooltipTemplate?: string; - - /** Specifies the template ID for customized tooltip for progressbar editing in Gantt - * @Default {null} - */ - progressbarTooltipTemplateId?: string; - - /** Specifies the mapping property path for progress percentage of a task in datasource - */ - progressMapping?: string; - - /** It receives query to retrieve data from the table (query is same as SQL). - * @Default {null} - */ - query?: any; - - /** Enables or Disables rendering baselines in Gantt , when enabled baseline is rendered in Gantt - * @Default {false} - */ - renderBaseline?: boolean; - - /** Enables or disables the schedule date validation while connecting a manually scheduled task with predecessor - * @Default {false} - */ - validateManualTasksOnLinking?: boolean; - - /** Specifies the mapping property name for resource ID in resource Collection in Gantt - */ - resourceIdMapping?: string; - - /** Specifies the mapping property path for resources of a task in datasource - */ - resourceInfoMapping?: string; - - /** Specifies the mapping property path for resource name of a task in Gantt - */ - resourceNameMapping?: string; - - /** Collection of data regarding resources involved in entire project - * @Default {[]} - */ - resources?: any[]; - - /** Specifies whether rounding off the day working time edits - * @Default {true} - */ - roundOffDayworkingTime?: boolean; - - /** Specifies the height of a single row in Gantt. Also, we need to set same height in the CSS style with class name e-rowcell. - * @Default {30} - */ - rowHeight?: number; - - /** Specifies end date of the Gantt schedule. By default, end date will be rounded to its next Saturday. - * @Default {null} - */ - scheduleEndDate?: string; - - /** Specifies the options for customizing schedule header. - */ - scheduleHeaderSettings?: ScheduleHeaderSettings; - - /** Specifies start date of the Gantt schedule. By default, start date will be rounded to its previous Sunday. - * @Default {null} - */ - scheduleStartDate?: string; - - /** Specifies the selected row Index in Gantt , the row with given index will highlighted - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Enables or disables the column chooser. - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Specifies the template for cell tooltip - * @Default {true} - */ - showGridCellTooltip?: boolean; - - /** Specifies whether to show grid cell tooltip over expander cell alone. - * @Default {true} - */ - showGridExpandCellTooltip?: boolean; - - /** Specifies whether display task progress inside taskbar. - * @Default {true} - */ - showProgressStatus?: boolean; - - /** Specifies whether to display resource names for a task beside taskbar. - * @Default {true} - */ - showResourceNames?: boolean; - - /** Specifies whether to display task name beside task bar. - * @Default {true} - */ - showTaskNames?: boolean; - - /** Specifies the size option of Gantt control. - */ - sizeSettings?: SizeSettings; - - /** Specifies the selected cell information on rendering Gantt. - */ - selectedCellIndexes?: SelectedCellIndex[]; - - /** Specifies the sorting options for Gantt. - */ - sortSettings?: SortSettings; - - /** Specifies splitter position in Gantt. - * @Default {null} - */ - splitterPosition?: string; - - /** Specifies the mapping property path for start date of a task in datasource - */ - startDateMapping?: string; - - /** Specifies the options for striplines - * @Default {[]} - */ - stripLines?: any[]; - - /** Specifies the background of the taskbar in Gantt - */ - taskbarBackground?: string; - - /** Specifies the template script for customized tooltip for taskbar editing in Gantt - */ - taskbarEditingTooltipTemplate?: string; - - /** Specifies the template Id for customized tooltip for taskbar editing in Gantt - */ - taskbarEditingTooltipTemplateId?: string; - - /** Specifies the template for tooltip on mouse action on taskbars - */ - taskbarTooltipTemplate?: string; - - /** To Specify the JsRender script Id to customize the task bar with our preference - */ - taskbarTemplate?: string; - - /** To Specify the JsRender script Id to customize the mile stone with our preference - */ - milestoneTemplate?: string; - - /** Enables or disables Gantt to read-only mode - * @Default {false} - */ - readOnly?: boolean; - - /** Specifies the template id for tooltip on mouse action on taskbars - */ - taskbarTooltipTemplateId?: string; - - /** Specifies the mapping property path for task Id in datasource - */ - taskIdMapping?: string; - - /** Specifies the mapping property path for task name in datasource - */ - taskNameMapping?: string; - - /** Specifies the toolbarSettings options. - */ - toolbarSettings?: ToolbarSettings; - - /** Specifies the tree expander column in Gantt - * @Default {0} - */ - treeColumnIndex?: number; - - /** Specifies the type of selection whether to select row or cell. - * @Default {ej.Gantt.SelectionMode.Row} - */ - selectionMode?: ej.Gantt.SelectionMode | string; - - /** Specifies the weekendBackground color in Gantt - * @Default {#F2F2F2} - */ - weekendBackground?: string; - - /** Specifies the working time schedule of day - * @Default {ej.Gantt.workingTimeScale.TimeScale8Hours} - */ - workingTimeScale?: ej.Gantt.workingTimeScale | string; - - /** Triggered for every Gantt action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every Gantt action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered while enter the edit mode in the TreeGrid cell */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered before selecting a cell */ - cellSelecting?(e: CellSelectingEventArgs): void; - - /** Triggered after selected a cell */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered while dragging a row in Gantt control */ - rowDrag?(e: RowDragEventArgs): void; - - /** Triggered while start to drag row in Gantt control */ - rowDragStart?(e: RowDragStartEventArgs): void; - - /** Triggered while drop a row in Gantt control */ - rowDragStop?(e: RowDragStopEventArgs): void; - - /** Triggered after collapsed the Gantt record */ - collapsed?(e: CollapsedEventArgs): void; - - /** Triggered while collapsing the Gantt record */ - collapsing?(e: CollapsingEventArgs): void; - - /** Triggered while Context Menu is rendered in Gantt control */ - contextMenuOpen?(e: ContextMenuOpenEventArgs): void; - - /** Triggered when Gantt is rendered completely. */ - create?(e: CreateEventArgs): void; - - /** Triggered after save the modified cellValue in Gantt. */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggered after expand the record */ - expanded?(e: ExpandedEventArgs): void; - - /** Triggered while expanding the Gantt record */ - expanding?(e: ExpandingEventArgs): void; - - /** Triggered while Gantt is loaded */ - load?(e: LoadEventArgs): void; - - /** Triggered while rendering each cell in the TreeGrid */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered while rendering each taskbar in the Gantt */ - queryTaskbarInfo?(e: QueryTaskbarInfoEventArgs): void; - - /** Triggered while rendering each row */ - rowDataBound?(e: RowDataBoundEventArgs): void; - - /** Triggered after the row is selected. */ - rowSelected?(e: RowSelectedEventArgs): void; - - /** Triggered before the row is going to be selected. */ - rowSelecting?(e: RowSelectingEventArgs): void; - - /** Triggered after completing the editing operation in taskbar */ - taskbarEdited?(e: TaskbarEditedEventArgs): void; - - /** Triggered while editing the Gantt chart (dragging, resizing the taskbar ) */ - taskbarEditing?(e: TaskbarEditingEventArgs): void; - - /** Triggered when taskbar item is clicked in Gantt. */ - taskbarClick?(e: TaskbarClickEventArgs): void; - - /** Triggered when toolbar item is clicked in Gantt. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; - - /** Returns the value of searching element. - */ - keyValue?: string; - - /** Returns the data of deleting element. - */ - data?: string; - - /** Returns selected record index - */ - recordIndex?: number; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; - - /** Returns the value of searched element. - */ - keyValue?: string; - - /** Returns the data of deleted element. - */ - data?: string; - - /** Returns selected record index - */ - recordIndex?: number; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column Index of cell belongs. - */ - columnIndex?: number; - } - - export interface CellSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - } - - export interface CellSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - - /** Returns the previously selected row data - */ - previousData?: any; - - /** Returns the previously selected cell index - */ - previousCellIndex?: any; - - /** Returns the previously selected row index - */ - previousRowIndex?: any; - - /** Returns the previously selected cell element - */ - previousTargetCell?: any; - - /** Returns the previously selected row element - */ - previousTargetRow?: any; - } - - export interface RowDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row on which we are dragging. - */ - targetRow?: any; - - /** Returns the row index on which we are dragging. - */ - targetRowIndex?: number; - - /** Returns that we can drop over that record or not. - */ - canDrop?: boolean; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: boolean; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStopEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row which we are dropped to row. - */ - targetRow?: any; - - /** Returns the row index which we are dropped to row. - */ - targetRowIndex?: number; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CollapsedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsed record. - */ - recordIndex?: number; - - /** Returns the data of collapsed record. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface CollapsingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsing record. - */ - recordIndex?: number; - - /** Returns the data of edited cell record.. - */ - data?: any; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface ContextMenuOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the default context menu items to which we add custom items. - */ - contextMenuItems?: any[]; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Gantt model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of edited cell record. - */ - data?: any; - - /** Returns the column name of edited cell belongs. - */ - columnName?: string; - - /** Returns the column object of edited cell belongs. - */ - columnObject?: any; - } - - export interface ExpandedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of record. - */ - recordIndex?: number; - - /** Returns the data of expanded record. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface ExpandingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of record. - */ - recordIndex?: any; - - /** Returns the data of edited cell record.. - */ - data?: any; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface LoadEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Gantt model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting cell element. - */ - cellElement?: any; - - /** Returns the value of cell. - */ - cellValue?: string; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column of cell belongs. - */ - column?: any; - } - - export interface QueryTaskbarInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the taskbar background of current item. - */ - TaskbarBackground?: string; - - /** Returns the progressbar background of current item. - */ - ProgressbarBackground?: string; - - /** Returns the parent taskbar background of current item. - */ - parentTaskbarBackground?: string; - - /** Returns the parent progressbar background of current item. - */ - parentProgressbarBackground?: string; - - /** Returns the data of the record. - */ - data?: any; - } - - export interface RowDataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of rendering row. - */ - rowElement?: any; - - /** Returns the data of rendering row record.. - */ - data?: any; - } - - export interface RowSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: number; - - /** Returns the data of selected record. - */ - data?: any; - } - - export interface RowSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data selecting record. - */ - data?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: string; - - /** Returns the selecting row chart element. - */ - targetChartRow?: any; - - /** Returns the selecting row grid element. - */ - targetGridRow?: any; - - /** Returns the previous selected data. - */ - previousData?: any; - - /** Returns the previous selected row index. - */ - previousIndex?: string; - - /** Returns the previous selected row chart element. - */ - previousChartRow?: any; - - /** Returns the previous selected row grid element. - */ - previousGridRow?: any; - } - - export interface TaskbarEditedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data of edited record. - */ - data?: any; - - /** Returns the previous data value of edited record. - */ - previousData?: any; - - /** Returns 'true' if taskbar is dragged. - */ - dragging?: boolean; - - /** Returns 'true' if taskbar is left resized. - */ - leftResizing?: boolean; - - /** Returns 'true' if taskbar is right resized. - */ - rightResizing?: boolean; - - /** Returns 'true' if taskbar is progress resized. - */ - progressResizing?: boolean; - - /** Returns the field values of record being edited. - */ - editingFields?: any; - - /** Returns the Gantt model. - */ - model?: any; - } - - export interface TaskbarEditingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the row object being edited. - */ - rowData?: any; - - /** Returns the field values of record being edited. - */ - editingFields?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface TaskbarClickEventArgs { - - /** Returns currently clicked row data - */ - data?: any; - - /** Returns the current item index. - */ - index?: number; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the clicked row element - */ - taskbarElement?: any; - - /** Returns the target element. - */ - target?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the Gantt model. - */ - model?: any; - - /** Returns the name of the toolbar item on which mouse click has been performed - */ - itemName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DragTooltip { - - /** Specifies option to enable/disable tooltip while drag and drop a row. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the data source fields to be displayed in the drag tooltip. - * @Default {[]} - */ - tooltipItems?: any[]; - - /** Specifies the custom template for drag tooltip. - * @Default {null} - */ - tooltipTemplate?: string; - } - - export interface SplitterSettings { - - /** Specifies position of the splitter in Gantt , splitter can be placed either based on percentage values or pixel values. - */ - position?: string; - - /** Specifies the position of splitter in Gantt, based on column index in Gantt. - */ - index?: string; - } - - export interface EditSettings { - - /** Enables or disables add record icon in Gantt toolbar - * @Default {false} - */ - allowAdding?: boolean; - - /** Enables or disables delete icon in Gantt toolbar - * @Default {false} - */ - allowDeleting?: boolean; - - /** Specifies the option for enabling or disabling editing in Gantt grid part - * @Default {false} - */ - allowEditing?: boolean; - - /** Specifies the option for enabling or disabling indent action in Gantt. - * @Default {false} - */ - allowIndent?: boolean; - - /** Specifies the option for enabling or disabling outdent action in Gantt - * @Default {false} - */ - allowOutdent?: boolean; - - /** Specifies the mouse action whether single click or double click to begin the editing - * @Default {ej.Gantt.BeginEditAction.DblClick} - */ - beginEditAction?: ej.Gantt.BeginEditAction | string; - - /** Specifies the edit mode in Gantt, "normal" is for dialog editing ,"cellEditing" is for cell type editing - * @Default {normal} - */ - editMode?: string; - - /** Specifies the position where the new row has to be added. - * @Default {ej.Gantt.RowPosition.BelowSelectedRow} - */ - rowPosition?: ej.Gantt.RowPosition | string; - } - - export interface ScheduleHeaderSettings { - - /** Specified the format for day view in schedule header - * @Default {ddd} - */ - dayHeaderFormat?: string; - - /** Specified the format for Hour view in schedule header - * @Default {HH} - */ - hourHeaderFormat?: string; - - /** Specifies the number of minutes per interval - * @Default {ej.Gantt.minutesPerInterval.Auto} - */ - minutesPerInterval?: ej.Gantt.minutesPerInterval | string; - - /** Specified the format for month view in schedule header - * @Default {MMM} - */ - monthHeaderFormat?: string; - - /** Specifies the schedule mode - * @Default {ej.Gantt.ScheduleHeaderType.Week} - */ - scheduleHeaderType?: ej.Gantt.ScheduleHeaderType | string; - - /** Specifies the round-off mode for the start date in schedule header. - * @Default {ej.Gantt.TimescaleRoundMode.Auto} - */ - timescaleStartDateMode?: ej.Gantt.TimescaleRoundMode | string; - - /** Specified the background for weekends in Gantt - * @Default {#F2F2F2} - */ - weekendBackground?: string; - - /** Specified the format for week view in schedule header - * @Default {ddd} - */ - weekHeaderFormat?: string; - - /** Specified the format for year view in schedule header - * @Default {yyyy} - */ - yearHeaderFormat?: string; - - /** Specifies the size of the lowest time unit along the timescale, with minimum value as "50%" and maximum value as "500%". It is also possible to set the value in pixels. - * @Default {100%} - */ - timescaleUnitSize?: string; - - /** Specifies the start day of the week in week timescale mode - * @Default {0} - */ - weekStartDay?: number; - } - - export interface SizeSettings { - - /** Specifies the height of Gantt control - * @Default {450px} - */ - height?: string; - - /** Specifies the width of Gantt control - * @Default {1000px} - */ - width?: string; - } - - export interface SelectedCellIndex { - - /** Specifies the row index of the cell to be selected Gantt control - */ - rowIndex?: number; - - /** Specifies the cell index to be selected in the row. - * @Default { } - */ - cellIndex?: number; - } - - export interface SortSettings { - - /** Specifies the sorted columns for Gantt - * @Default {[]} - */ - sortedColumns?: any[]; - } - - export interface ToolbarSettings { - - /** Specifies the state of enabling or disabling toolbar - * @Default {true} - */ - showToolbar?: boolean; - - /** Specifies the list of toolbar items to be rendered in Gantt toolbar - * @Default {[]} - */ - toolbarItems?: any[]; - } - - enum DurationUnit { - - ///Sets the Duration Unit as day. - Day, - - ///Sets the Duration Unit as hour. - Hour, - - ///Sets the Duration Unit as minute. - Minute - } - - - enum BeginEditAction { - - ///you can begin the editing at double click - DblClick, - - ///you can begin the editing at single click - Click - } - - - enum RowPosition { - - ///you can add a new row at top. - Top, - - ///you can add a new row at bottom. - Bottom, - - ///you can add a new row to above selected row. - AboveSelectedRow, - - ///you can add a new row to below selected row. - BelowSelectedRow, - - ///you can add a new row as a child for selected row. - Child - } - - - enum TaskType { - - ///Resource unit remains constant while editing the work and duration values. - FixedUnit, - - ///Work value of a task remains constant while editing duration and resource unit values. - FixedWork, - - ///Duration value remains constant while editing work and resource unit values. - FixedDuration - } - - - enum WorkUnit { - - ///Displays the work involved in a task in days. - Day, - - ///Displays the work involved in a task in hours. - Hour, - - ///Displays the work involved in a task in minutes - Minute - } - - - enum TaskSchedulingMode { - - ///All the tasks in the project will be displayed in auto scheduled mode, where the tasks are scheduled automatically over non-working days and holidays. - Auto, - - ///All the tasks in the project will be displayed in manually scheduled mode. - Manual, - - ///Project consists of tasks with both auto and manually scheduled modes, based on the datasource values - Custom - } - - - enum SelectionType { - - ///you can select a single row. - Single, - - ///you can select a multiple row. - Multiple - } - - - enum minutesPerInterval { - - ///Sets the interval automatically according with schedule start and end date. - Auto, - - ///Sets one minute intervals per hour. - OneMinute, - - ///Sets Five minute intervals per hour. - FiveMinutes, - - ///Sets fifteen minute intervals per hour. - FifteenMinutes, - - ///Sets thirty minute intervals per hour. - ThirtyMinutes - } - - - enum ScheduleHeaderType { - - ///Sets year Schedule Mode. - Year, - - ///Sets month Schedule Mode. - Month, - - ///Sets week Schedule Mode. - Week, - - ///Sets day Schedule Mode. - Day, - - ///Sets hour Schedule Mode. - Hour - } - - - enum TimescaleRoundMode { - - ///The round-off value will be automatically calculated based on the data source values. - Auto, - - ///Schedule header start date will round-off to the immediate week. - Week, - - ///Schedule headers start date will round off to the immediate month - Month, - - ///Schedule headers start date will round off to the immediate year - Year - } - - - enum SelectionMode { - - ///you can select a row. - Row, - - ///you can select a cell. - Cell - } - - - enum workingTimeScale { - - ///Sets eight hour timescale. - TimeScale8Hours, - - ///Sets twenty four hour timescale. - TimeScale24Hours - } - -} - -class ReportViewer extends ej.Widget { - static fn: ReportViewer; - constructor(element: JQuery | Element, options?: ReportViewer.Model); - static Locale: any; - model: ReportViewer.Model; - defaults: ReportViewer.Model; - - /** Export the report to the specified format. - * @returns {void} - */ - exportReport(): void; - - /** Fit the report page to the container. - * @returns {void} - */ - fitToPage(): void; - - /** Fit the report page height to the container. - * @returns {void} - */ - fitToPageHeight(): void; - - /** Fit the report page width to the container. - * @returns {void} - */ - fitToPageWidth(): void; - - /** Get the available datasets name of the rdlc report. - * @returns {void} - */ - getDataSetNames(): void; - - /** Get the available parameters of the report. - * @returns {void} - */ - getParameters(): void; - - /** Navigate to first page of report. - * @returns {void} - */ - gotoFirstPage(): void; - - /** Navigate to last page of the report. - * @returns {void} - */ - gotoLastPage(): void; - - /** Navigate to next page from the current page. - * @returns {void} - */ - gotoNextPage(): void; - - /** Go to specific page index of the report. - * @returns {void} - */ - gotoPageIndex(): void; - - /** Navigate to previous page from the current page. - * @returns {void} - */ - gotoPreviousPage(): void; - - /** Print the report. - * @returns {void} - */ - print(): void; - - /** Apply print layout to the report. - * @returns {void} - */ - printLayout(): void; - - /** Refresh the report. - * @returns {void} - */ - refresh(): void; -} - -export namespace ReportViewer { - - export interface Model { - - /** Gets or sets the list of data sources for the RDLC report. - * @Default {[]} - */ - dataSources?: DataSource[]; - - /** Enables or disables the page cache of report. - * @Default {false} - */ - enablePageCache?: boolean; - - /** Specifies the export settings. - */ - exportSettings?: ExportSettings; - - /** When set to true, adapts the report layout to fit the screen size of devices on which it renders. - * @Default {true} - */ - isResponsive?: boolean; - - /** Specifies the locale for report viewer. - * @Default {en-US} - */ - locale?: string; - - /** Specifies the page settings. - */ - pageSettings?: PageSettings; - - /** Gets or sets the list of parameters associated with the report. - * @Default {[]} - */ - parameters?: Parameter[]; - - /** Enables and disables the print mode. - * @Default {false} - */ - printMode?: boolean; - - /** Specifies the print option of the report. - * @Default {ej.ReportViewer.PrintOptions.Default} - */ - printOptions?: ej.ReportViewer.PrintOptions | string; - - /** Specifies the processing mode of the report. - * @Default {ej.ReportViewer.ProcessingMode.Remote} - */ - processingMode?: ej.ReportViewer.ProcessingMode | string; - - /** Specifies the render layout. - * @Default {ej.ReportViewer.RenderMode.Default} - */ - renderMode?: ej.ReportViewer.RenderMode | string; - - /** Gets or sets the path of the report file. - * @Default {empty} - */ - reportPath?: string; - - /** Gets or sets the reports server URL. - * @Default {empty} - */ - reportServerUrl?: string; - - /** Specifies the report Web API service URL. - * @Default {empty} - */ - reportServiceUrl?: string; - - /** Specifies the toolbar settings. - */ - toolbarSettings?: ToolbarSettings; - - /** Gets or sets the zoom factor for report viewer. - * @Default {1} - */ - zoomFactor?: number; - - /** Fires when the report viewer is destroyed successfully.If you want to perform any operation after destroying the reportviewer control,you can make use of the destroy event. */ - destroy?(e: DestroyEventArgs): void; - - /** Fires during drill through action done in report.If you want to perform any operation when a drill through action is performed, you can make use of the drillThrough event. */ - drillThrough?(e: DrillThroughEventArgs): void; - - /** Fires before report rendering is completed.If you want to perform any operation before the rendering of report,you can make use of the renderingBegin event. */ - renderingBegin?(e: RenderingBeginEventArgs): void; - - /** Fires after report rendering completed.If you want to perform any operation after the rendering of report,you can make use of this renderingComplete event. */ - renderingComplete?(e: RenderingCompleteEventArgs): void; - - /** Fires when any error occurred while rendering the report.If you want to perform any operation when an error occurs in the report, you can make use of the reportError event. */ - reportError?(e: ReportErrorEventArgs): void; - - /** Fires when the report is being exported.If you want to perform any operation before exporting of report, you can make use of the reportExport event. */ - reportExport?(e: ReportExportEventArgs): void; - - /** Fires when the report is loaded.If you want to perform any operation after the successful loading of report, you can make use of the reportLoaded event. */ - reportLoaded?(e: ReportLoadedEventArgs): void; - - /** Fires when click the View Report Button. */ - viewReportClick?(e: ViewReportClickEventArgs): void; - } - - export interface DestroyEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DrillThroughEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the actionInfo's parameters bookmarkLink, hyperLink, reportName, parameters. - */ - actionInfo?: any; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RenderingBeginEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface RenderingCompleteEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - - /** returns the collection of parameters. - */ - reportParameters?: any; - } - - export interface ReportErrorEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the error details. - */ - error?: string; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ReportExportEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ReportLoadedEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface ViewReportClickEventArgs { - - /** true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the parameter collection. - */ - parameters?: any; - - /** returns the report model. - */ - model?: any; - - /** returns the name of the event. - */ - type?: string; - } - - export interface DataSource { - - /** Gets or sets the name of the data source. - * @Default {empty} - */ - name?: string; - - /** Gets or sets the values of data source. - * @Default {[]} - */ - values?: any[]; - } - - export interface ExportSettings { - - /** Specifies the export formats. - * @Default {ej.ReportViewer.ExportOptions.All} - */ - exportOptions?: ej.ReportViewer.ExportOptions | string; - - /** Specifies the excel export format. - * @Default {ej.ReportViewer.ExcelFormats.Excel97to2003} - */ - excelFormat?: ej.ReportViewer.ExcelFormats | string; - - /** Specifies the word export format. - * @Default {ej.ReportViewer.WordFormats.Doc} - */ - wordFormat?: ej.ReportViewer.WordFormats | string; - } - - export interface PageSettings { - - /** Specifies the print layout orientation. - * @Default {null} - */ - orientation?: ej.ReportViewer.Orientation | string; - - /** Specifies the paper size of print layout. - * @Default {null} - */ - paperSize?: ej.ReportViewer.PaperSize | string; - } - - export interface Parameter { - - /** Gets or sets the parameter labels. - * @Default {null} - */ - labels?: any[]; - - /** Gets or sets the name of the parameter. - * @Default {empty} - */ - name?: string; - - /** Gets or sets whether the parameter allows nullable value or not. - * @Default {false} - */ - nullable?: boolean; - - /** Gets or sets the prompt message associated with the specified parameter. - * @Default {empty} - */ - prompt?: string; - - /** Gets or sets the parameter values. - * @Default {[]} - */ - values?: any[]; - } - - export interface ToolbarSettings { - - /** Fires when user click on toolbar item in the toolbar. - * @Default {empty} - */ - click?: string; - - /** Specifies the toolbar items. - * @Default {ej.ReportViewer.ToolbarItems.All} - */ - items?: ej.ReportViewer.ToolbarItems | string; - - /** Shows or hides the toolbar. - * @Default {true} - */ - showToolbar?: boolean; - - /** Shows or hides the tooltip of toolbar items. - * @Default {true} - */ - showTooltip?: boolean; - - /** Specifies the toolbar template ID. - * @Default {empty} - */ - templateId?: string; - } - - enum ExportOptions { - - ///Specifies the All property in ExportOptions to get all available options. - All, - - ///Specifies the PDF property in ExportOptions to get PDF option. - PDF, - - ///Specifies the Word property in ExportOptions to get Word option. - Word, - - ///Specifies the Excel property in ExportOptions to get Excel option. - Excel, - - ///Specifies the HTML property in ExportOptions to get HTML option. - HTML - } - - - enum ExcelFormats { - - ///Specifies the Excel97to2003 property in ExcelFormats to get specified version of exported format. - Excel97to2003, - - ///Specifies the Excel2007 property in ExcelFormats to get specified version of exported format. - Excel2007, - - ///Specifies the Excel2010 property in ExcelFormats to get specified version of exported format. - Excel2010, - - ///Specifies the Excel2013 property in ExcelFormats to get specified version of exported format. - Excel2013 - } - - - enum WordFormats { - - ///Specifies the Doc property in WordFormats to get specified version of exported format. - Doc, - - ///Specifies the Dot property in WordFormats to get specified version of exported format. - Dot, - - ///Specifies the DOCX property in WordFormats to get specified version of exported format. - DOCX, - - ///Specifies the Word2007 property in WordFormats to get specified version of exported format. - Word2007, - - ///Specifies the Word2010 property in WordFormats to get specified version of exported format. - Word2010, - - ///Specifies the Word2013 property in WordFormats to get specified version of exported format. - Word2013, - - ///Specifies the Word2007Dotx property in WordFormats to get specified version of exported format. - Word2007Dotx, - - ///Specifies the Word2010Dotx property in WordFormats to get specified version of exported format. - Word2010Dotx, - - ///Specifies the Word2013Dotx property in WordFormats to get specified version of exported format. - Word2013Dotx, - - ///Specifies the Word2007Docm property in WordFormats to get specified version of exported format. - Word2007Docm, - - ///Specifies the Word2010Docm property in WordFormats to get specified version of exported format. - Word2010Docm, - - ///Specifies the Word2013Docm property in WordFormats to get specified version of exported format. - Word2013Docm, - - ///Specifies the Word2007Dotm property in WordFormats to get specified version of exported format. - Word2007Dotm, - - ///Specifies the Word2010Dotm property in WordFormats to get specified version of exported format. - Word2010Dotm, - - ///Specifies the Word2013Dotm property in WordFormats to get specified version of exported format. - Word2013Dotm, - - ///Specifies the RTF property in WordFormats to get specified version of exported format. - RTF, - - ///Specifies the Txt property in WordFormats to get specified version of exported format. - Txt, - - ///Specifies the EPUB property in WordFormats to get specified version of exported format. - EPUB, - - ///Specifies the HTML property in WordFormats to get specified version of exported format. - HTML, - - ///Specifies the XML property in WordFormats to get specified version of exported format. - XML, - - ///Specifies the Automatic property in WordFormats to get specified version of exported format. - Automatic - } - - - enum Orientation { - - ///Specifies the Landscape property in pageSettings.orientation to get specified layout. - Landscape, - - ///Specifies the portrait property in pageSettings.orientation to get specified layout. - Portrait - } - - - enum PaperSize { - - ///Specifies the A3 as value in pageSettings.paperSize to get specified size. - A3, - - ///Specifies the A4 as value in pageSettings.paperSize to get specified size. - Portrait, - - ///Specifies the B4(JIS) as value in pageSettings.paperSize to get specified size. - B4_JIS, - - ///Specifies the B5(JIS) as value in pageSettings.paperSize to get specified size. - B5_JIS, - - ///Specifies the Envelope #10 as value in pageSettings.paperSize to get specified size. - Envelope_10, - - ///Specifies the Envelope as value in pageSettings.paperSize to get specified size. - Envelope_Monarch, - - ///Specifies the Executive as value in pageSettings.paperSize to get specified size. - Executive, - - ///Specifies the Legal as value in pageSettings.paperSize to get specified size. - Legal, - - ///Specifies the Letter as value in pageSettings.paperSize to get specified size. - Letter, - - ///Specifies the Tabloid as value in pageSettings.paperSize to get specified size. - Tabloid, - - ///Specifies the Custom as value in pageSettings.paperSize to get specified size. - Custom - } - - - enum PrintOptions { - - ///Specifies the Default property in printOptions. - Default, - - ///Specifies the NewTab property in printOptions. - NewTab, - - ///Specifies the None property in printOptions. - None - } - - - enum ProcessingMode { - - ///Specifies the Remote property in processingMode. - Remote, - - ///Specifies the Local property in processingMode. - Local - } - - - enum RenderMode { - - ///Specifies the Default property in RenderMode to get default output. - Default, - - ///Specifies the Mobile property in RenderMode to get specified output. - Mobile, - - ///Specifies the Desktop property in RenderMode to get specified output. - Desktop - } - - - enum ToolbarItems { - - ///Specifies the Print as value in ToolbarItems to get specified item. - Print, - - ///Specifies the Refresh as value in ToolbarItems to get specified item. - Refresh, - - ///Specifies the Zoom as value in ToolbarItems to get specified item. - Zoom, - - ///Specifies the FittoPage as value in ToolbarItems to get specified item. - FittoPage, - - ///Specifies the Export as value in ToolbarItems to get specified item. - Export, - - ///Specifies the PageNavigation as value in ToolbarItems to get specified item. - PageNavigation, - - ///Specifies the Parameters as value in ToolbarItems to get specified item. - Parameters, - - ///Specifies the PrintLayout as value in ToolbarItems to get specified item. - PrintLayout, - - ///Specifies the PageSetup as value in ToolbarItems to get specified item. - PageSetup - } - -} - -class TreeGrid extends ej.Widget { - static fn: TreeGrid; - constructor(element: JQuery | Element, options?: TreeGrid.Model); - static Locale: any; - model: TreeGrid.Model; - defaults: TreeGrid.Model; - - /** Add a new row in TreeGrid, while allowAdding is set to true - * @param {any} Item to add in TreeGrid row. - * @param {string} Defines in which position the row wants to be added - * @returns {void} - */ - addRow(data: any, rowPosition: string): void; - - /** To clear all the selection in TreeGrid - * @param {number} you can pass a row index to clear the row selection. - * @returns {void} - */ - clearSelection(index: number): void; - - /** To select cell based on the cell and row index dynamically. - * @param {Array} array of cell indexes to be select - * @param {boolean} Defines that we need to preserve the previously selected cells or not - * @returns {void} - */ - selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; - - /** To rename a column with the specified name - * @param {number} Index of the column to be renamed - * @param {string} Header text of the column - * @returns {void} - */ - renameColumn(columnIndex: number, name: string): void; - - /** To delete the specified column - * @param {number} Index of the column to be deleted - * @returns {void} - */ - deleteColumn(columnIndex: number): void; - - /** To collapse all the parent items in tree grid - * @returns {void} - */ - collapseAll(): void; - - /** To hide the column by using header text - * @param {string} you can pass a header text of a column to hide. - * @returns {void} - */ - hideColumn(headerText: string): void; - - /** Expands the records at specific hierarchical level - * @param {number} you can pass the level as index number to expand - * @returns {void} - */ - expandAtLevel(index: number): void; - - /** Collapses the records at specific hierarchical level - * @param {number} you can pass the particular level as index. - * @returns {void} - */ - collapseAtLevel(index: number): void; - - /** To refresh the changes in tree grid - * @param {Array} Pass which data source you want to show in tree grid - * @param {any} Pass which data you want to show in tree grid - * @returns {void} - */ - refresh(dataSource: any[], query: any): void; - - /** Freeze all the columns preceding to the column specified by the field name. - * @param {string} Freeze all Columns before this field column. - * @returns {void} - */ - freezePrecedingColumns(field: string): void; - - /** Freeze/unfreeze the specified column. - * @param {string} Freeze/Unfreeze this field column. - * @param {boolean} Decides to Freeze/Unfreeze this field column. - * @returns {void} - */ - freezeColumn(field: string, isFrozen: boolean): void; - - /** To save the edited cell in TreeGrid - * @returns {void} - */ - saveCell(): void; - - /** To search an item with search string provided at the run time - * @param {string} you can pass a searchString to search the tree grid - * @returns {void} - */ - search(searchString: string): void; - - /** To show the column by using header text - * @param {string} you can pass a header text of a column to show. - * @returns {void} - */ - showColumn(headerText: string): void; - - /** To sorting the data based on the particular fields - * @param {string} you can pass a name of column to sort. - * @param {string} you can pass a sort direction to sort the column. - * @returns {void} - */ - sortColumn(columnName: string, columnSortDirection: string): void; - - /** To reorder the column with field name and target index values - * @param {string} you can pass a name of column to reorder. - * @param {string} you can pass a target column index to be inserted. - * @returns {void} - */ - reorderColumn(fieldName: string, targetIndex: string): void; -} -export namespace TreeGrid { - - export interface Model { - - /** Enables or disables the ability to resize the column width interactively. - * @Default {false} - */ - allowColumnResize?: boolean; - - /** Enables or disables the option for column reordering - * @Default {false} - */ - allowColumnReordering?: boolean; - - /** Enables or disables the ability to drag and drop the row interactively to reorder the rows. - * @Default {false} - */ - allowDragAndDrop?: boolean; - - /** Enables or disables the ability to filter the data on all the columns. Enabling this property will display a row with editor controls corresponding to each column. - * You can restrict filtering on particular column by disabling this property directly on that column instance itself. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Enables or disables keyboard navigation. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Enables or disables the ability to sort the rows based on multiple columns/fields by clicking on each column header. Rows will be sorted recursively on clicking the column headers. - * @Default {false} - */ - allowMultiSorting?: boolean; - - /** Enables or disables the ability to select a row interactively. - * @Default {true} - */ - allowSelection?: boolean; - - /** Enables or disables the ability to sort the rows based on a single field/column by clicking on that column header. When enabled, rows can be sorted only by single field/column. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables/disables pagination of rows in TreeGrid - * @Default {false} - */ - allowPaging?: boolean; - - /** Specifies the id of the template that has to be applied for alternate rows. - */ - altRowTemplateID?: string; - - /** Specifies the mapping property path for sub tasks in datasource - */ - childMapping?: string; - - /** Option for adding columns; each column has the option to bind to a field in the dataSource. - */ - columns?: Column[]; - - /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. - * @Default {[]} - */ - columnDialogFields?: any[]; - - /** Options for displaying and customizing context menu items. - */ - contextMenuSettings?: ContextMenuSettings; - - /** Specify the CSS class for TreeGrid to achieve custom theme. - */ - cssClass?: string; - - /** Specifies hierarchical or self-referential data to populate the TreeGrid. - * @Default {null} - */ - dataSource?: any[]; - - /** Specifies whether to wrap the header text when it is overflown i.e., when it exceeds the header width. - * @Default {none} - */ - headerTextOverflow?: string; - - /** Options for displaying and customizing the tooltip. This tooltip will show the preview of the row that is being dragged. - */ - dragTooltip?: DragTooltip; - - /** Options for enabling and configuring the editing related operations. - */ - editSettings?: EditSettings; - - /** Specifies whether to render alternate rows in different background colors. - * @Default {true} - */ - enableAltRow?: boolean; - - /** Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time. - * @Default {false} - */ - enableCollapseAll?: boolean; - - /** Specifies whether to resize TreeGrid whenever window size changes. - * @Default {false} - */ - enableResize?: boolean; - - /** Specifies whether to render only the visual elements that are visible in the UI. When you enable this property, it will reduce the loading time for loading large number of records. - * @Default {false} - */ - enableVirtualization?: boolean; - - /** Specifies the settings for column resize - */ - columnResizeSettings?: ColumnResizeSettings; - - /** Options for filtering and customizing filter actions. - */ - filterSettings?: FilterSettings; - - /** Specifies the localization information to customize the User Interface (UI) to support regional language and culture - * @Default {en-US} - */ - locale?: string; - - /** Enables or disables internal parsing of a row. When disabled this property, row will be displayed using the defined template without any internal event bindings. - * @Default {true} - */ - parseRowTemplate?: boolean; - - /** Specifies the name of the field in the dataSource, which contains the id of that row. - */ - idMapping?: string; - - /** Enables or disables the responsiveness of TreeGrid - * @Default {false} - */ - isResponsive?: boolean; - - /** Specifies the name of the field in the dataSource, which contains the parent's id. This is necessary to form a parent-child hierarchy, if the dataSource contains self-referential data. - */ - parentIdMapping?: string; - - /** Specifies the options for customizing the pager. - */ - pageSettings?: PageSettings; - - /** Specifies the template for cell tooltip - * @Default {null} - */ - cellTooltipTemplate?: string; - - /** Specifies ej.Query to select data from the dataSource. This property is applicable only when the dataSource is ej.DataManager. - * @Default {null} - */ - query?: any; - - /** Specifies the height of a single row in tree grid. Also, we need to set same height in the CSS style with class name e-rowcell. - * @Default {30} - */ - rowHeight?: number; - - /** Specifies the id of the template to be applied for all the rows. - */ - rowTemplateID?: string; - - /** Specifies the index of the selected row. - * @Default {-1} - */ - selectedRowIndex?: number; - - /** Specifies the settings for row and cell selection. - */ - selectionSettings?: SelectionSettings; - - /** Enables/disables the options for inserting , deleting and renaming columns. - * @Default {false} - */ - showColumnOptions?: boolean; - - /** Controls the visibility of the menu button, which is displayed on the column header. Clicking on this button will show a popup menu. When you choose Columns item from this popup, - * a list box with column names will be shown, from which you can select/deselect a column name to control the visibility of the respective columns. - * @Default {false} - */ - showColumnChooser?: boolean; - - /** Specifies the visibility of details view - * @Default {false} - */ - showDetailsRow?: boolean; - - /** Specifies the visibility of the expander column which is used to expand or collapse the details view - * @Default {false} - */ - showDetailsRowInfoColumn?: boolean; - - /** Specifies the template for details view - */ - detailsTemplate?: string; - - /** Specifies the row height of the details view - * @Default {100} - */ - detailsRowHeight?: number; - - /** Specifies the visibility of summary row - * @Default {false} - */ - showSummaryRow?: boolean; - - /** Specifies the visibility of total summary row for the corresponding summary column - * @Default {false} - */ - showTotalSummary?: boolean; - - /** Specifies the summary row collection object to be displayed - * @Default {[]} - */ - summaryRows?: any[]; - - /** Specifies whether to show tooltip when mouse is hovered on the cell. - * @Default {true} - */ - showGridCellTooltip?: boolean; - - /** Specifies whether to show tooltip for the cells, which has expander button. - * @Default {true} - */ - showGridExpandCellTooltip?: boolean; - - /** Options for setting width and height for TreeGrid. - */ - sizeSettings?: SizeSettings; - - /** Options for sorting the rows. - */ - sortSettings?: SortSettings; - - /** Options for displaying and customizing the toolbar items. - */ - toolbarSettings?: ToolbarSettings; - - /** Specifies the index of the column that needs to have the expander button. By default, cells in the first column contain the expander button. - * @Default {0} - */ - treeColumnIndex?: number; - - /** Triggered before every success event of TreeGrid action. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every TreeGrid action success event. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered while enter the edit mode in the TreeGrid cell */ - beginEdit?(e: BeginEditEventArgs): void; - - /** Triggered after collapsed the TreeGrid record */ - collapsed?(e: CollapsedEventArgs): void; - - /** Triggered while collapsing the TreeGrid record */ - collapsing?(e: CollapsingEventArgs): void; - - /** Triggered while clicking a row, even when allowSelection property is disabled. */ - recordClick?(e: RecordClickEventArgs): void; - - /** Triggered when you start to drag a column */ - columnDragStart?(e: ColumnDragStartEventArgs): void; - - /** Triggered while dragging a column */ - columnDrag?(e: ColumnDragEventArgs): void; - - /** Triggered when a column is dropped */ - columnDrop?(e: ColumnDropEventArgs): void; - - /** Triggered after a column resized */ - columnResized?(e: ColumnResizedEventArgs): void; - - /** Triggered while start to resize a column */ - columnResizeStart?(e: ColumnResizeStartEventArgs): void; - - /** Triggered when a column has been resized */ - columnResizeEnd?(e: ColumnResizeEndEventArgs): void; - - /** Triggered while Context Menu is rendered in TreeGrid control */ - contextMenuOpen?(e: ContextMenuOpenEventArgs): void; - - /** Triggered when TreeGrid is rendered completely */ - create?(e: CreateEventArgs): void; - - /** Triggered after saved the modified cellValue in TreeGrid */ - endEdit?(e: EndEditEventArgs): void; - - /** Triggered after expand the record */ - expanded?(e: ExpandedEventArgs): void; - - /** Triggered while expanding the TreeGrid record */ - expanding?(e: ExpandingEventArgs): void; - - /** Triggered while Treegrid is loaded */ - load?(e: LoadEventArgs): void; - - /** Triggered while rendering each cell in the TreeGrid */ - queryCellInfo?(e: QueryCellInfoEventArgs): void; - - /** Triggered while rendering each row */ - rowDataBound?(e: RowDataBoundEventArgs): void; - - /** Triggered while dragging a row in TreeGrid control */ - rowDrag?(e: RowDragEventArgs): void; - - /** Triggered while start to drag row in TreeGrid control */ - rowDragStart?(e: RowDragStartEventArgs): void; - - /** Triggered while drop a row in TreeGrid control */ - rowDragStop?(e: RowDragStopEventArgs): void; - - /** Triggered before selecting a cell */ - cellSelecting?(e: CellSelectingEventArgs): void; - - /** Triggered after selected a cell */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered after the row is selected. */ - rowSelected?(e: RowSelectedEventArgs): void; - - /** Triggered before the row is going to be selected. */ - rowSelecting?(e: RowSelectingEventArgs): void; - - /** Triggered when toolbar item is clicked in TreeGrid. */ - toolbarClick?(e: ToolbarClickEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the direction of sorting ascending or descending. - */ - columnSortDirection?: string; - - /** Returns the value of expanding parent element. - */ - keyValue?: string; - - /** Returns the data or deleting element. - */ - data?: string; - } - - export interface ActionCompleteEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the grid model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the current grouped column field name. - */ - columnName?: string; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the direction of sorting ascending or descending - */ - columnSortDirection?: string; - - /** Returns the value of searched element. - */ - keyValue?: string; - - /** Returns the data of deleted element. - */ - data?: string; - - /** Returns selected record index - */ - recordIndex?: number; - } - - export interface BeginEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column Index of cell belongs. - */ - columnIndex?: number; - } - - export interface CollapsedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsed record. - */ - recordIndex?: number; - - /** Returns the data of collapsed record.. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - - /** Returns the event type. - */ - type?: string; - } - - export interface CollapsingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of collapsing record. - */ - recordIndex?: number; - - /** Returns the data of collapsing record.. - */ - data?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns state of a record whether it is in expanded or collapsing state. - */ - expanded?: boolean; - } - - export interface RecordClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the element of clicked cell. - */ - cell?: any; - - /** Returns the index of the clicked cell. - */ - cellIndex?: number; - - /** Returns the data of clicked cell. - */ - cellValue?: any; - - /** Returns the element of the clicked row. - */ - row?: any; - - /** Returns the index of the clicked row. - */ - rowIndex?: number; - - /** Returns the column name of the clicked cell. - */ - columnName?: string; - } - - export interface ColumnDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is dragged - */ - draggedColumn?: any; - - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; - } - - export interface ColumnDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is dragged - */ - draggedColumn?: any; - - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; - - /** Returns the target column data - */ - targetColumn?: any; - - /** Returns the index of the target column - */ - targetColumnIndex?: number; - - /** Returns that we can drop over the column or not. - */ - canDrop?: boolean; - } - - export interface ColumnDropEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is dragged - */ - draggedColumn?: any; - - /** Returns the index of the column being dragged - */ - draggedColumnIndex?: number; - - /** Returns the target column data - */ - targetColumn?: any; - - /** Returns the index of the target column - */ - targetColumnIndex?: number; - } - - export interface ColumnResizedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data which is resized - */ - column?: any; - - /** Returns the index of the column being resized. - */ - columnIndex?: number; - - /** Returns resized column width after resized. - */ - newWidth?: number; - - /** Returns resized column width before resizing - */ - oldWidth?: number; - } - - export interface ColumnResizeStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data in which the resizing started - */ - column?: any; - - /** Returns the column index in which the resizing started - */ - columnIndex?: number; - - /** Returns column width before dragging - */ - oldWidth?: number; - - /** Returns initial column element object. - */ - target?: any; - } - - export interface ColumnResizeEndEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the control model values. - */ - model?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns the column data in which the resizing started - */ - column?: any; - - /** Returns the column index in which the resizing started - */ - columnIndex?: number; - - /** Returns the column width difference, before and after the resizing - */ - extra?: number; - - /** Returns the new column width after resized - */ - newWidth?: number; - - /** Returns column width before dragging - */ - oldWidth?: number; - - /** Returns initial column element object. - */ - target?: any; - } - - export interface ContextMenuOpenEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the default context menu items to which we add custom items. - */ - contextMenuItems?: any[]; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CreateEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the TreeGrid model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface EndEditEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of editing cell. - */ - rowElement?: any; - - /** Returns the Element of editing cell. - */ - cellElement?: any; - - /** Returns the data of edited cell record. - */ - data?: any; - - /** Returns the column name of edited cell belongs. - */ - columnName?: string; - - /** Returns the column object of edited cell belongs. - */ - columnObject?: any; - } - - export interface ExpandedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of expanded record. - */ - recordIndex?: number; - - /** Returns the data of expanded record.. - */ - data?: any; - - /** Returns Request Type. - */ - requestType?: string; - - /** Returns state of a record whether it is in expanded or expanded state. - */ - expanded?: boolean; - - /** Returns the event type. - */ - type?: string; - } - - export interface ExpandingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row index of expanding record. - */ - recordIndex?: number; - - /** Returns the data of expanding record.. - */ - data?: any; - - /** Returns the event Type. - */ - type?: string; - - /** Returns state of a record whether it is in expanded or collapsed state. - */ - expanded?: boolean; - } - - export interface LoadEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the TreeGrid model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface QueryCellInfoEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting cell element. - */ - cellElement?: any; - - /** Returns the value of cell. - */ - cellValue?: string; - - /** Returns the data of current cell record. - */ - data?: any; - - /** Returns the column of cell belongs. - */ - column?: any; - } - - export interface RowDataBoundEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row element of rendering row. - */ - rowElement?: any; - - /** Returns the data of rendering row record. - */ - data?: any; - } - - export interface RowDragEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row on which we are dragging. - */ - targetRow?: any; - - /** Returns the row index on which we are dragging. - */ - targetRowIndex?: number; - - /** Returns that we can drop over that record or not. - */ - canDrop?: boolean; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStartEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: boolean; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface RowDragStopEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the row which we start to drag. - */ - draggedRow?: any; - - /** Returns the row index which we start to drag. - */ - draggedRowIndex?: number; - - /** Returns the row which we are dropped to row. - */ - targetRow?: any; - - /** Returns the row index which we are dropped to row. - */ - targetRowIndex?: number; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CellSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - } - - export interface CellSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the cell index on the selection. - */ - cellIndex?: number; - - /** Returns the row index on the selection - */ - rowIndex?: number; - - /** Returns the selecting cell element - */ - targetCell?: any; - - /** Returns the selecting row element - */ - targetRow?: any; - - /** Returns the selecting record object - */ - data?: any; - - /** Returns the Gantt object Model - */ - model?: any; - - /** Returns the previously selected row data - */ - previousData?: any; - - /** Returns the previously selected cell index - */ - previousCellIndex?: any; - - /** Returns the previously selected row index - */ - previousRowIndex?: any; - - /** Returns the previously selected cell element - */ - previousTargetCell?: any; - - /** Returns the previously selected row element - */ - previousTargetRow?: any; - } - - export interface RowSelectedEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: number; - - /** Returns the data of selected record. - */ - data?: any; - - /** Returns the event type. - */ - type?: string; - } - - export interface RowSelectingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the data selecting record. - */ - data?: any; - - /** Returns the index of selecting row record. - */ - recordIndex?: string; - - /** Returns the selecting row element. - */ - targetRow?: any; - - /** Returns the previous selected data. - */ - previousData?: any; - - /** Returns the previous selected row index. - */ - previousIndex?: string; - - /** Returns the previous selected row element. - */ - previousTreeGridRow?: any; - } - - export interface ToolbarClickEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the current item. - */ - currentTarget?: any; - - /** Returns the TreeGrid model. - */ - model?: any; - - /** Returns the name of the toolbar item on which mouse click has been performed - */ - itemName?: string; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface Column { - - /** Enables or disables the ability to filter the rows based on this column. - * @Default {false} - */ - allowFiltering?: boolean; - - /** Enables or disables the ability to sort the rows based on this column/field. - * @Default {false} - */ - allowSorting?: boolean; - - /** Enables/disables cell selection. - * @Default {false} - */ - allowCellSelection?: boolean; - - /** Specifies the edit type of the column. - * @Default {ej.TreeGrid.EditingType.String} - */ - editType?: ej.TreeGrid.EditingType | string; - - /** Specifies the name of the field from the dataSource to bind with this column. - */ - field?: string; - - /** Specifies the type of the editor control to be used to filter the rows. - * @Default {ej.TreeGrid.EditingType.String} - */ - filterEditType?: ej.TreeGrid.EditingType | string; - - /** Header text of the column. - * @Default {null} - */ - headerText?: string; - - /** Enables or disables the checkbox visibility in a column to make it as a checkbox column - * @Default {false} - */ - showCheckbox?: boolean; - - /** Controls the visibility of the column. - * @Default {true} - */ - visible?: boolean; - - /** Gets or sets a value for treegrid column width - */ - width?: number; - - /** Specifies the header template value for the column header - */ - headerTemplateID?: string; - - /** Specifies the display format of a column - * @Default {null} - */ - format?: any; - - /** Specifies whether the column is a template column - * @Default {false} - */ - isTemplateColumn?: boolean; - - /** Specifies the alignment of the column header text - * @Default {ej.TextAlign.Left} - */ - headerTextAlign?: ej.TextAlign | string; - - /** Specifies whether the column is frozen - * @Default {false} - */ - isFrozen?: boolean; - - /** Specifies the text alignment for the column - * @Default {ej.TextAlign.Left} - */ - textAlign?: ej.TextAlign | string; - - /** Specifies the template for the TreeGrid column - */ - templateID?: string; - - /** Enables or disables the ability to edit a row or cell. - * @Default {false} - */ - allowEditing?: boolean; - - /** Enables or disables the ability to freeze/unfreeze the columns - * @Default {false} - */ - allowFreezing?: boolean; - } - - export interface ContextMenuSettings { - - /** Option for adding items to context menu. - * @Default {[]} - */ - contextMenuItems?: any[]; - - /** Shows/hides the context menu. - * @Default {false} - */ - showContextMenu?: boolean; - } - - export interface DragTooltip { - - /** Specifies whether to show tooltip while dragging a row. - * @Default {true} - */ - showTooltip?: boolean; - - /** Option to add field names whose corresponding values in the dragged row needs to be shown in the preview tooltip. - * @Default {[]} - */ - tooltipItems?: any[]; - - /** Custom template for that tooltip that is shown while dragging a row. - * @Default {null} - */ - tooltipTemplate?: string; - } - - export interface EditSettings { - - /** Enables or disables the button to add new row in context menu as well as in toolbar. - * @Default {true} - */ - allowAdding?: boolean; - - /** Enables or disables the button to delete the selected row in context menu as well as in toolbar. - * @Default {true} - */ - allowDeleting?: boolean; - - /** Enables or disables the ability to edit a row or cell. - * @Default {false} - */ - allowEditing?: boolean; - - /** Specifies the mouse action whether single click or double click to begin the editing - * @Default {ej.TreeGrid.BeginEditAction.DblClick} - */ - beginEditAction?: ej.TreeGrid.BeginEditAction | string; - - /** specifies the edit mode in TreeGrid , "cellEditing" is for cell type editing and "rowEditing" is for entire row. - * @Default {ej.TreeGrid.EditMode.CellEditing} - */ - editMode?: ej.TreeGrid.EditMode | string; - - /** Specifies the position where the new row has to be added. - * @Default {top} - */ - rowPosition?: ej.TreeGrid.RowPosition | string; - } - - export interface ColumnResizeSettings { - - /** Specifies the mode for column resizing - * @Default {normal} - */ - columnResizeMode?: string; - } - - export interface FilterSettings { - - /** Specifies the mode on which column filtering should start - * @Default {immediate} - */ - filterBarMode?: string; - - /** Specifies the type of column filtering. - * @Default {filterbar} - */ - filterType?: string; - - /** Specifies the column collection for filtering the TreeGrid content on initial load - * @Default {[]} - */ - filteredColumns?: any[]; - } - - export interface PageSettings { - - /** Using this property we can specify the number of pages should pager contains, according to this count TreeGrid height will be updated. - * @Default {8} - */ - pageCount?: number; - - /** This specifies the number of rows to display in each page. - * @Default {12} - */ - pageSize?: number; - - /** Get the value of records which is bound to TreeGrid. The totalRecordsCount value is calculated based on the datasource bound to TreeGrid. - * @Default {null} - */ - totalRecordsCount?: number; - - /** Specifies the current page to display at load time. - * @Default {1} - */ - currentPage?: number; - - /** Specifies the mode of record count in a page, whether it should count all the records or the root to count zero level parent records. - * @Default {ej.TreeGrid.PageSizeMode.All} - */ - pageSizeMode?: ej.TreeGrid.PageSizeMode | string; - - /** Specifies the Custom template for Pager control. - * @Default {null} - */ - template?: string; - } - - export interface SelectionSettings { - - /** Specifies the type of selection whether to select row or cell. - * @Default {ej.TreeGrid.SelectionMode.Row} - */ - selectionMode?: ej.TreeGrid.SelectionMode | string; - - /** Specifies the type of selection whether single, multiple or checkbox. - * @Default {ej.TreeGrid.SelectionType.Single} - */ - selectionType?: ej.TreeGrid.SelectionType | string; - - /** Enables or disables the selection by hierarchy in check box selection - * @Default {true} - */ - enableHierarchySelection?: boolean; - - /** Toggles the visibility of the checkbox in column header, using which all the check boxes can be selected or unselected. - * @Default {true} - */ - enableSelectAll?: boolean; - } - - export interface SizeSettings { - - /** Height of the TreeGrid. - * @Default {null} - */ - height?: string; - - /** Width of the TreeGrid. - * @Default {null} - */ - width?: string; - } - - export interface SortSettings { - - /** Option to add columns based on which the rows have to be sorted recursively. - * @Default {[]} - */ - sortedColumns?: any[]; - } - - export interface ToolbarSettings { - - /** Shows/hides the toolbar. - * @Default {false} - */ - showToolbar?: boolean; - - /** Specifies the list of toolbar items to be rendered in TreeGrid toolbar - * @Default {[]} - */ - toolbarItems?: any[]; - } - - enum EditingType { - - ///It Specifies String edit type. - String, - - ///It Specifies Boolean edit type. - Boolean, - - ///It Specifies Numeric edit type. - Numeric, - - ///It Specifies Dropdown edit type. - Dropdown, - - ///It Specifies DatePicker edit type. - DatePicker, - - ///It Specifies DateTimePicker edit type. - DateTimePicker, - - ///It Specifies Maskedit edit type. - Maskedit - } - - - enum BeginEditAction { - - ///you can begin the editing at double click - DblClick, - - ///you can begin the editing at single click - Click - } - - - enum EditMode { - - ///you can edit a cell. - CellEditing, - - ///you can edit a row. - RowEditing - } - - - enum RowPosition { - - ///you can add a new row at top. - Top, - - ///you can add a new row at bottom. - Bottom, - - ///you can add a new row to above selected row. - Above, - - ///you can add a new row to below selected row. - Below, - - ///you can add a new row as a child for selected row. - Child - } - - - enum PageSizeMode { - - ///To count all the parent and child records. - All, - - ///To count the Zeroth level parent records. - Root - } - - - enum SelectionMode { - - ///you can select a row. - Row, - - ///you can select a cell. - Cell - } - - - enum SelectionType { - - ///you can select a single row. - Single, - - ///you can select a multiple row. - Multiple, - - ///you can select rows using checkbox. - Checkbox - } - -} - -class GroupButton extends ej.Widget { - static fn: GroupButton; - constructor(element: JQuery | Element, options?: GroupButton.Model); - static Locale: any; - model: GroupButton.Model; - defaults: GroupButton.Model; - - /** Remove the selection state of the specified the button element from the GroupButton - * @param {JQuery} Specific button element - * @returns {void} - */ - deselectItem(element: JQuery): void; - - /** Destroy the GroupButton widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. - * @returns {void} - */ - destroy(): void; - - /** Disables the GroupButton control - * @returns {void} - */ - disable(): void; - - /** Disable the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - disableItem(element: JQuery): void; - - /** Enables the disabled ejGroupButton control. - * @returns {void} - */ - enable(): void; - - /** Enable the specified disabled button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - enableItem(element: JQuery): void; - - /** Returns the index value for specified button element in the GroupButton control. - * @param {JQuery} Specific button element - * @returns {number} - */ - getIndex(element: JQuery): number; - - /** This method returns the list of active state button elements from the GroupButton control. - * @returns {any} - */ - getSelectedItem(): any; - - /** Hides the GroupButton control - * @returns {void} - */ - hide(): void; - - /** Hide the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - hideItem(element: JQuery): void; - - /** Returns the disabled state of the specified element button element in GroupButton as Boolean. - * @returns {boolean} - */ - isDisabled(): boolean; - - /** Returns the state of the specified button element as Boolean. - * @returns {boolean} - */ - isSelected(): boolean; - - /** Public method used to select the specified button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - selectItem(element: JQuery): void; - - /** Shows the GroupButton control, if its hide. - * @returns {void} - */ - show(): void; - - /** Show the specified hidden button element from the ejGroupButton control. - * @param {JQuery} Specific button element - * @returns {void} - */ - showItem(element: JQuery): void; -} -export namespace GroupButton { - - export interface Model { - - /** Sets the specified class to GroupButton wrapper element, which allows for custom skinning option in ejGroupButton control. - */ - cssClass?: string; - - /** To set the local JSON data, define a JSON array and initialize the GroupButton with dataSource property. Specify the column names in the fields property. - * @Default {null} - */ - dataSource?: any; - - /** Displays the ejGroupButton in Right to Left direction. - * @Default {false} - */ - enableRTL?: boolean; - - /** Used to enable or disable the ejGroupButton control. - * @Default {true} - */ - enabled?: boolean; - - /** Gets or sets a value that indicates to display the values of the data. - * @Default {null} - */ - fields?: any; - - /** Sets the GroupButton behavior to works as Checkbox mode/ radio button mode based on the specified option. - * @Default {ej.GroupButtonMode.RadioButton} - */ - groupButtonMode?: ej.GroupButtonMode | string; - - /** Used to sets the height of the ejGroupButton control. - * @Default {28} - */ - height?: string | number; - - /** Defines the characteristics of the ejGroupButton control and extend the capability of an HTML element by adding specified attributes to element tag and by performing the related actions - * @Default {{}} - */ - htmlAttributes?: any; - - /** Specify the orientation of the GroupButton. See below to get available orientations - * @Default {ej.Orientation.Horizontal} - */ - orientation?: ej.Orientation | string; - - /** Query the dataSource from the table for Groupbutton - * @Default {null} - */ - query?: any; - - /** Sets the list of button elements to be selected. To enable this option groupButtonMode should be in “checkbox” mode. - * @Default {[]} - */ - selectedItemIndex?: number[] | string[]; - - /** Sets the rounder corner to the GroupButton, if sets as true. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Specifies the size of the button. See available size - * @Default {ej.ButtonSize.Normal} - */ - size?: ej.ButtonSize | string; - - /** Defines the width of the ejGroupButton control. - */ - width?: string | number; - - /** Triggered before any button element in the GroupButton get selected. */ - beforeSelect?(e: BeforeSelectEventArgs): void; - - /** Fires after GroupButton control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ - create?(e: CreateEventArgs): void; - - /** Fires when the GroupButton is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ - destroy?(e: DestroyEventArgs): void; - - /** Triggered once the key is pressed, when the control is in focused state. */ - keyPress?(e: KeyPressEventArgs): void; - - /** Triggered when the button element get selected. */ - select?(e: SelectEventArgs): void; - } - - export interface BeforeSelectEventArgs { - - /** Boolean value based on whether the button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the button element ID. - */ - id?: string; - - /** Button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the GroupButton model - */ - model?: ej.GroupButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface DestroyEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the GroupButton model - */ - model?: ej.GroupButton.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface KeyPressEventArgs { - - /** Boolean value based on whether the button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the button element ID. - */ - id?: string; - - /** Button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - } - - export interface SelectEventArgs { - - /** Boolean value based on whether the selected button element is disabled or not. - */ - disabled?: boolean; - - /** Returns the selection button element. - */ - element?: any; - - /** Event object - */ - event?: any; - - /** Return the selected button element ID. - */ - id?: string; - - /** Selected button item index. - */ - index?: number; - - /** returns the button model - */ - model?: ej.GroupButton.Model; - - /** Boolean value based on whether the button element is selected or not. - */ - selected?: boolean; - - /** returns the name of the event - */ - type?: string; - - /** return the button state - */ - status?: boolean; - } -} -enum GroupButtonMode { - //Sets the GroupButton to work as checkbox mode - CheckBox, - //Sets the RadioButton to work as radio button mode - RadioButton, -} - -class NavigationDrawer extends ej.Widget { - static fn: NavigationDrawer; - constructor(element: JQuery | Element, options?: NavigationDrawer.Model); - static Locale: any; - model: NavigationDrawer.Model; - defaults: NavigationDrawer.Model; - - /** To close the navigation drawer control - * @returns {void} - */ - close(): void; - - /** To load AJAX content into NavigationDrawer container. - * @returns {void} - */ - loadContent(): void; - - /** To open the navigation drawer control - * @returns {void} - */ - open(): void; - - /** To Toggle the navigation drawer control - * @returns {void} - */ - toggle(): void; -} -export namespace NavigationDrawer { - - export interface Model { - - /** Specifies the ajaxSettings option to load the content to the NavigationDrawer control. - * @Default {null} - */ - ajaxSettings?: AjaxSettings; - - /** Specifies the contentId for navigation drawer, where the AJAX content need to updated - * @Default {null} - */ - contentId?: string; - - /** Sets the root class for NavigationDrawer theme. This cssClass API helps to use custom skinning option for NavigationDrawer control. - * By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** Sets the Direction for the control. See Direction - * @Default {left} - */ - direction?: ej.Direction | string; - - /** Sets the listview to be enabled or not - * @Default {false} - */ - enableListView?: boolean; - - /** Specifies the listview items as an array of object. - * @Default {[]} - */ - items?: any[]; - - /** Sets all the properties of listview to render in navigation drawer - */ - listViewSettings?: any; - - /** Specifies position whether it is in fixed or relative to the page. See Position - * @Default {normal} - */ - position?: string; - - /** Specifies the targetId for navigation drawer - */ - targetId?: string; - - /** Sets the rendering type of the control. See Type - * @Default {overlay} - */ - type?: string; - - /** Specifies the width of the control - * @Default {auto} - */ - width?: number; - - /** Navigation pane opened initially when isPaneOpen property is true. - * @Default {false} - */ - isPaneOpen?: boolean; - - /** Event triggers after the AJAX content loaded completely. */ - ajaxComplete?(e: AjaxCompleteEventArgs): void; - - /** Event triggers when the AJAX request failed. */ - ajaxError?(e: AjaxErrorEventArgs): void; - - /** Event triggers after the AJAX content loaded successfully. */ - ajaxSuccess?(e: AjaxSuccessEventArgs): void; - - /** Event triggers before the control gets closed. */ - beforeClose?(e: BeforeCloseEventArgs): void; - - /** Event triggers when the control open. */ - open?(e: OpenEventArgs): void; - - /** Event triggers when the Swipe happens. */ - swipe?(e: SwipeEventArgs): void; - } - - export interface AjaxCompleteEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; - } - - export interface AjaxErrorEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; - - /** returns the error thrown in the AJAX post. - */ - errorThrown?: any; - - /** returns the status. - */ - textStatus?: any; - } - - export interface AjaxSuccessEventArgs { - - /** returns true if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the name of the event. - */ - type?: string; - - /** returns the model value of the control. - */ - model?: ej.NavigationDrawer.Model; - - /** returns the AJAX current content. - */ - content?: string; - - /** returns the current URL of the AJAX post. - */ - URL?: string; - } - - export interface BeforeCloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface SwipeEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Navigation Drawer model - */ - model?: ej.NavigationDrawer.Model; - - /** returns the name of the event - */ - type?: string; - } - - export interface AjaxSettings { - - /** It specifies, whether to enable or disable asynchronous request. - */ - async?: boolean; - - /** It specifies the page will be cached in the web browser. - */ - cache?: boolean; - - /** It specifies the type of data is send in the query string. - */ - contentType?: string; - - /** It specifies the data as an object, will be passed in the query string. - */ - data?: any; - - /** It specifies the type of data that you're expecting back from the response. - */ - dataType?: string; - - /** It specifies the HTTP request type. - */ - type?: string; - } -} - -class RadialMenu extends ej.Widget { - static fn: RadialMenu; - constructor(element: JQuery | Element, options?: RadialMenu.Model); - static Locale: any; - model: RadialMenu.Model; - defaults: RadialMenu.Model; - - /** To hide the radialmenu - * @returns {void} - */ - hide(): void; - - /** To hide the radialmenu items - * @returns {void} - */ - hideMenu(): void; - - /** To Show the radial menu - * @returns {void} - */ - show(): void; - - /** To show menu items - * @returns {void} - */ - showMenu(): void; - - /** To enable menu item using index - * @param {number} Index of the Radialmenu to be enabled. - * @returns {void} - */ - enableItemByIndex(itemIndex: number): void; - - /** To enable menu items using indices - * @param {Array} Index of the Radialmenu to be enabled. - * @returns {void} - */ - enableItemsByIndices(itemIndices: any[]): void; - - /** To disable menu item using index - * @param {number} Index of the Radialmenu to be disabled. - * @returns {void} - */ - disableItemByIndex(itemIndex: number): void; - - /** To disable menu items using indices - * @param {Array} items of the Radialmenu to disable. - * @returns {void} - */ - disableItemsByIndices(itemIndices: any[]): void; - - /** To enable menu item using item text - * @param {string} item of the Radialmenu item to enable. - * @returns {void} - */ - enableItem(item: string): void; - - /** To disable menu item using item text - * @param {string} item of the Radialmenu item to disable. - * @returns {void} - */ - disableItem(item: string): void; - - /** To enable menu items using item texts - * @param {Array} items of the Radialmenu item to enable. - * @returns {void} - */ - enableItems(items: any[]): void; - - /** To disable menu items using item texts - * @param {Array} items of the Radialmenu item to disable. - * @returns {void} - */ - disableItems(items: any[]): void; - - /** To update menu item badge value - * @param {number} The index value to add the given items at the specified index. If index is not specified, the given value will not be updated. - * @param {number} The Value to be updated in the badge. It will be updated based on the given index - * @returns {void} - */ - updateBadgeValue(index: number, value: number): void; - - /** To show menu item badge - * @param {number} Index of the Radialmenu item to be shown badge. - * @returns {void} - */ - showBadge(index: number): void; - - /** To hide menu item badge - * @param {number} Index of the Radialmenu item to hide the badge. - * @returns {void} - */ - hideBadge(index: number): void; -} -export namespace RadialMenu { - - export interface Model { - - /** To show the Radial in initial render. - */ - autoOpen?: boolean; - - /** Renders the back button Image for Radial using class. - */ - backImageClass?: string; - - /** Sets the root class for RadialMenu theme. This cssClass API helps to use custom skinning option for RadialMenu control. By defining the root class using this API, - * we need to include this root class in CSS. - */ - cssClass?: string; - - /** To enable Animation for Radial Menu. - */ - enableAnimation?: boolean; - - /** Renders the Image for Radial using Class. - */ - imageClass?: string; - - /** Specify the items of radial menu - */ - items?: Item[]; - - /** Specifies the radius of radial menu - */ - radius?: number; - - /** To show the Radial while clicking given target element. - */ - targetElementId?: string; - - /** To set radial render position. - */ - position?: any; - - /** Event triggers when we click an item. */ - click?(e: ClickEventArgs): void; - - /** Event triggers when the menu is opened. */ - open?(e: OpenEventArgs): void; - - /** Event triggers when the menu is closed. */ - close?(e: CloseEventArgs): void; - } - - export interface ClickEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialmenu model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the item of element - */ - item?: any; - - /** returns the name of item - */ - itemName?: string; - } - - export interface OpenEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialmenu model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface CloseEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialmenu model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface ItemsBadge { - - /** Specifies whether to enable radialmenu item badge or not. - */ - enabled?: boolean; - - /** Specifies the value of radial menu item badge. - */ - value?: number; - } - - export interface ItemsSliderSettings { - - /** Specifies the sliderSettings ticks values of nested radial menu items. - */ - ticks?: any[]; - - /** Specifies the sliderSettings stroke Width value. - */ - strokeWidth?: number; - - /** Specifies the value of sliderSettings labelSpace . - */ - labelSpace?: number; - } - - export interface Item { - - /** Specify the URL of the frame background image for radial menu item. - */ - imageUrl?: string; - - /** Specifies the text of RadialMenu item. - */ - text?: string; - - /** Specifies the enable state of RadialMenu item. - */ - enabled?: boolean; - - /** specify the click event to corresponding image/text for performing some specific action. - */ - click?: string; - - /** Specifies radialmenu item badges. - */ - badge?: ItemsBadge; - - /** Specifies the type of nested radial menu item. - */ - type?: string; - - /** Specifies the sliderSettings ticks for nested radial menu items. - */ - sliderSettings?: ItemsSliderSettings; - - /** Specifies to add sub level items . - */ - items?: any[]; - } -} - -class Tile extends ej.Widget { - static fn: Tile; - constructor(element: JQuery | Element, options?: Tile.Model); - static Locale: any; - model: Tile.Model; - defaults: Tile.Model; - - /** Update the image template of tile item to another one. - * @param {string} UpdateTemplate by using id - * @param {number} index of the tile - * @returns {void} - */ - updateTemplate(id: string, index: number): void; -} -export namespace Tile { - - export interface Model { - - /** Section for badge specific functionalities and it represents the notification for tile items. - */ - badge?: Badge; - - /** Section for caption specific functionalities and it represents the notification for tile items. - */ - caption?: Caption; - - /** Sets the root class for Tile theme. This cssClass API helps to use custom skinning option for Tile control. By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** Saves current model value to browser cookies for state maintains. While refreshing the page retains the model value applies from browser cookies. - * @Default {false} - */ - enablePersistence?: boolean; - - /** Customize the tile size height. - * @Default {null} - */ - height?: number; - - /** Specifies Tile imageClass, using this property we can give images for each tile through CSS classes. - * @Default {null} - */ - imageClass?: string; - - /** Specifies the position of tile image. - * @Default {center} - */ - imagePosition?: ej.Tile.ImagePosition | string; - - /** Specifies the tile image in outside of template content. - * @Default {null} - */ - imageTemplateId?: string; - - /** Specifies the URL of tile image. - * @Default {null} - */ - imageUrl?: string; - - /** Set the localization culture for Tile Widget. - */ - locale?: string; - - /** Section for liveTile specific functionalities. - */ - liveTile?: LiveTile; - - /** Specifies the size of a tile. See tileSize - * @Default {small} - */ - tileSize?: ej.Tile.TileSize | string; - - /** Customize the tile size width. - * @Default {null} - */ - width?: number; - - /** Sets the rounded corner to tile. - * @Default {false} - */ - showRoundedCorner?: boolean; - - /** Sets allowSelection to tile. - * @Default {false} - */ - allowSelection?: boolean; - - /** Sets the background color to tile. - * @Default {null} - */ - backgroundColor?: string; - - /** Event triggers when the mouseDown happens in the tile */ - mouseDown?(e: MouseDownEventArgs): void; - - /** Event triggers when the mouseUp happens in the tile */ - mouseUp?(e: MouseUpEventArgs): void; - } - - export interface MouseDownEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tile model - */ - model?: boolean; - - /** returns the name of the event - */ - type?: boolean; - - /** returns the current tile text - */ - text?: string; - - /** returns the index of current tile item - */ - index?: number; - } - - export interface MouseUpEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the tile model - */ - model?: boolean; - - /** returns the name of the event - */ - type?: boolean; - - /** returns the current tile text - */ - text?: boolean; - - /** returns the index of current tile item - */ - index?: number; - } - - export interface Badge { - - /** Specifies whether to enable badge or not. - * @Default {false} - */ - enabled?: boolean; - - /** Specifies maximum value for tile badge. - * @Default {100} - */ - maxValue?: number; - - /** Specifies minimum value for tile badge. - * @Default {1} - */ - minValue?: number; - - /** Specifies text instead of number for tile badge. - * @Default {null} - */ - text?: string; - - /** Sets value for tile badge. - * @Default {1} - */ - value?: number; - - /** Sets position for tile badge. - * @Default {“bottomright”} - */ - position?: ej.Tile.BadgePosition | string; - } - - export interface Caption { - - /** Specifies whether the tile text to be shown or hidden. - * @Default {true} - */ - enabled?: boolean; - - /** Changes the text of a tile. - * @Default {Text} - */ - text?: string; - - /** It is used to align the text of a tile. - * @Default {normal} - */ - alignment?: ej.Tile.CaptionAlignment | string; - - /** It is used to specify the caption position like Inner top, inner bottom and outer. - * @Default {Innerbottom} - */ - position?: ej.Tile.CaptionPosition | string; - - /** sets the icon instead of text. - * @Default {null} - */ - icon?: string; - } - - export interface LiveTile { - - /** Specifies whether to enable liveTile or not. - * @Default {false} - */ - enabled?: boolean; - - /** Specifies liveTile images in CSS classes. - * @Default {null} - */ - imageClass?: any[]; - - /** Specifies liveTile images in templates. - * @Default {null} - */ - imageTemplateId?: any[]; - - /** Specifies liveTile images in CSS classes. - * @Default {null} - */ - imageUrl?: any[]; - - /** Specifies liveTile type for Tile. See orientation - * @Default {flip} - */ - type?: ej.Tile.liveTileType | string; - - /** Specifies time interval between two successive liveTile animation - * @Default {2000} - */ - updateInterval?: number; - - /** Sets the text to each living tile - * @Default {Null} - */ - text?: any[]; - } - - enum BadgePosition { - - ///To set the topright position of tile badge - Topright, - - ///To set the bottomright of tile badge - Bottomright - } - - - enum CaptionAlignment { - - ///To set the normal alignment of text in tile control - Normal, - - ///To set the left alignment of text in tile control - Left, - - ///To set the right alignment of text in tile control - Right, - - ///To set the center alignment of text in tile control - Center - } - - - enum CaptionPosition { - - ///To set the inner top position of the tile text - Innertop, - - ///To set the inner bottom position of the tile text - Innerbottom, - - ///To set the outer position of the tile text - Outer - } - - - enum ImagePosition { - - ///To set the center position of tile image - Center, - - ///To set the top center position of tile image - TopCenter, - - ///To set the bottom center position of tile image - BottomCenter, - - ///To set the right center position of tile image - RightCenter, - - ///To set the left center position of tile image - LeftCenter, - - ///To set the topleft position of tile image - TopLeft, - - ///To set the topright position of tile image - TopRight, - - ///To set the bottomright position of tile image - BottomRight, - - ///To set the bottomleft position of tile image - BottomLeft, - - ///To set the fill position of tile image - Fill - } - - - enum liveTileType { - - ///To set flip type of liveTile for tile control - Flip, - - ///To set slide type of liveTile for tile control - Slide, - - ///To set carousel type of liveTile for tile control - Carousel - } - - - enum TileSize { - - ///To set the medium size for tile control - Medium, - - ///To set the small size for tile control - Small, - - ///To set the large size for tile control - Large, - - ///To set the wide size for tile control - Wide - } - -} - -class Signature extends ej.Widget { - static fn: Signature; - constructor(element: JQuery | Element, options?: Signature.Model); - static Locale: any; - model: Signature.Model; - defaults: Signature.Model; - - /** Clears the strokes in the signature. - * @returns {void} - */ - clear(): void; - - /** Destroys the signature widget. - * @returns {void} - */ - destroy(): void; - - /** Disables the signature widget. - * @returns {void} - */ - disable(): void; - - /** Enables the signature widget. - * @returns {void} - */ - enable(): void; - - /** Hides the signature widget. - * @returns {void} - */ - hide(): void; - - /** redo the last drawn stroke of the signature - * @returns {void} - */ - redo(): void; - - /** used to save the drawn image. - * @returns {void} - */ - save(): void; - - /** Used to Show the signature widget, if it is already hided. - * @returns {void} - */ - show(): void; - - /** undo the last drawn stroke of the signature. - * @returns {void} - */ - undo(): void; -} -export namespace Signature { - - export interface Model { - - /** This property is used to set the background color for the signature. - * @Default {#ffffff} - */ - backgroundColor?: string; - - /** This property is used to set the background image for the signature. - */ - backgroundImage?: string; - - /** Enables or disables the Signature textbox widget. - * @Default {true} - */ - enabled?: boolean; - - /** Sets the height of the Signature control. - * @Default {100%} - */ - height?: string; - - /** Enables/disables responsive support for the signature control (i.e) maintain the signature drawing during the window resizing time. - * @Default {false} - */ - isResponsive?: boolean; - - /** Allows the type of the image format to be saved when the signature image is saved. - */ - saveImageFormat?: ej.Signature.SaveImageFormat | string; - - /** Allows the signature image to be saved along with its background. - * @Default {false} - */ - saveWithBackground?: boolean; - - /** Enables or disables rounded corner. - * @Default {true} - */ - showRoundedCorner?: boolean; - - /** Sets the stroke color for the stroke of the signature. - * @Default {#000000} - */ - strokeColor?: string; - - /** Sets the stroke width for the stroke of the signature. - * @Default {2} - */ - strokeWidth?: number; - - /** Sets the width of the Signature control. - * @Default {100%} - */ - width?: string; - - /** Triggers when the stroke is changed. */ - change?(e: ChangeEventArgs): void; - - /** Triggered when the pointer is clicked or touched in the signature canvas. */ - mouseDown?(e: MouseDownEventArgs): void; - - /** Triggered when the pointer is moved in the signature canvas. */ - mouseMove?(e: MouseMoveEventArgs): void; - - /** Triggered when the pointer is released after click or touch in the signature canvas. */ - mouseUp?(e: MouseUpEventArgs): void; - } - - export interface ChangeEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** Gives the last stored image - */ - lastImage?: string; - } - - export interface MouseDownEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** returns all the event values - */ - value?: any; - } - - export interface MouseMoveEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** returns all the event values - */ - value?: any; - } - - export interface MouseUpEventArgs { - - /** Set this option to true to cancel the event. - */ - cancel?: boolean; - - /** Instance of the signature model object. - */ - model?: ej.Signature.Model; - - /** Name of the event. - */ - type?: string; - - /** returns all the event values - */ - value?: any; - } - - enum SaveImageFormat { - - ///To save the signature image with PNG format only. - PNG, - - ///To save the signature image with JPG format only. - JPG, - - ///To save the signature image with BMP format only. - BMP, - - ///To save the signature image with TIFF format only. - TIFF - } - -} - -class RadialSlider extends ej.Widget { - static fn: RadialSlider; - constructor(element: JQuery | Element, options?: RadialSlider.Model); - static Locale: any; - model: RadialSlider.Model; - defaults: RadialSlider.Model; - - /** To show the radialslider - * @returns {void} - */ - show(): void; - - /** To hide the radialslider - * @returns {void} - */ - hide(): void; -} -export namespace RadialSlider { - - export interface Model { - - /** To show the RadialSlider in initial render. - * @Default {false} - */ - autoOpen?: boolean; - - /** Sets the root class for RadialSlider theme. This cssClass API helps to use custom skinning option for RadialSlider control. - * By defining the root class using this API, we need to include this root class in CSS. - */ - cssClass?: string; - - /** To enable Animation for Radial Slider. - * @Default {true} - */ - enableAnimation?: boolean; - - /** Enable/Disable the Roundoff property of RadialSlider - * @Default {true} - */ - enableRoundOff?: boolean; - - /** Specifies the endAngle value for radial slider circle. - * @Default {360} - */ - endAngle?: number; - - /** Specifies the inline for label show or not on given radius. - * @Default {false} - */ - inline?: boolean; - - /** Specifies innerCircleImageClass, using this property we can give images for center radial circle through CSS classes. - * @Default {null} - */ - innerCircleImageClass?: string; - - /** Specifies the file name of center circle icon - * @Default {null} - */ - innerCircleImageUrl?: string; - - /** Specifies the Space between the radial slider element and the label. - * @Default {30} - */ - labelSpace?: number; - - /** Specifies the radius of radial slider - * @Default {200} - */ - radius?: number; - - /** To show the RadialSlider inner circle. - * @Default {true} - */ - showInnerCircle?: boolean; - - /** Specifies the endAngle value for radial slider circle. - * @Default {0} - */ - startAngle?: number; - - /** Specifies the strokeWidth for customize the needle, outer circle and inner circle. - * @Default {2} - */ - strokeWidth?: number; - - /** Specifies the ticks value of radial slider - */ - ticks?: any[]; - - /** Specifies the value of radial slider - * @Default {10} - */ - value?: number; - - /** Event triggers when the change occurs. */ - change?(e: ChangeEventArgs): void; - - /** Event triggers when the radial slider is created. */ - create?(e: CreateEventArgs): void; - - /** Event triggers when the mouse pointer is dragged over the radial slider. */ - mouseover?(e: MouseoverEventArgs): void; - - /** Event triggers when the Radial slider slides. */ - slide?(e: SlideEventArgs): void; - - /** Event triggers when the radial slider starts. */ - start?(e: StartEventArgs): void; - - /** Event triggers when the radial slider stops. */ - stop?(e: StopEventArgs): void; - } - - export interface ChangeEventArgs { - - /** returns the Radialslider model - */ - model?: any; - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the initial value of Radial slider - */ - oldValue?: number; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value of the Radial slider - */ - value?: number; - } - - export interface CreateEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - } - - export interface MouseoverEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the value selected - */ - selectedValue?: number; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value selected in Radial slider - */ - value?: number; - } - - export interface SlideEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the value selected in Radial slider - */ - selectedValue?: number; - - /** returns the name of the event - */ - type?: string; - - /** returns the currently selected value - */ - value?: number; - } - - export interface StartEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value selected in Radial slider - */ - value?: number; - } - - export interface StopEventArgs { - - /** if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** returns the Radialslider model - */ - model?: any; - - /** returns the name of the event - */ - type?: string; - - /** returns the current value selected in Radial slider - */ - value?: number; - } -} - -class Spreadsheet extends ej.Widget { - static fn: Spreadsheet; - constructor(element: JQuery | Element, options?: Spreadsheet.Model); - static Locale: any; - model: Spreadsheet.Model; - defaults: Spreadsheet.Model; - - /** This method is used to add custom formulas in Spreadsheet. - * @param {string} Pass the name of the formula. - * @param {string} Pass the name of the function. - * @returns {void} - */ - addCustomFormula(formulaName: string, functionName: string): void; - - /** This method is used to add a new sheet in the last position of the sheet container. - * @returns {void} - */ - addNewSheet(): void; - - /** It is used to clear all the data and format in the specified range of cells in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear all content in the specified range else it will use the current selected range. - * @returns {void} - */ - clearAll(range?: string | any[]): void; - - /** This property is used to clear all the formats applied in the specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear all format in the specified range else it will use the current selected range. - * @returns {void} - */ - clearAllFormat(range?: string | any[]): void; - - /** Used to clear the applied border in the specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, then it will clear border in the specified range else it will use the current selected range. - * @returns {void} - */ - clearBorder(range?: string | any[]): void; - - /** This property is used to clear the contents in the specified range in Spreadsheet. - * @param {string|Array} Optional. If the range is specified, then it will clear the content in the specified range else it will use the current selected range. - * @returns {void} - */ - clearContents(range?: string | any[]): void; - - /** This method is used to remove only the data in the range denoted by the specified range name. - * @param {string} Pass the defined rangeSettings property name. - * @returns {void} - */ - clearRange(rangeName: string): void; - - /** It is used to remove data in the specified range of cells based on the defined property. - * @param {Array|string} Optional. If range is specified, it will clear data for the specified range else it will use the current selected range. - * @param {string} Optional. If property is specified, it will remove the specified property in the range else it will remove default properties - * @param {any} Optional. - * @param {boolean} Optional. pass {{'`true`' | markdownify}}, if you want to skip the hidden rows - * @param {any} Optional. Pass the status to perform undo and redo operation. - * @param {any} Optional. It specifies whether to skip element processing or not. - * @returns {void} - */ - clearRangeData(range?: any[] | string, property?: string, cells?: any, skipHiddenRow?: boolean, status?: any, skipCell?: any): void; - - /** This method is used to clear undo and redo collections in the Spreadsheet. - * @returns {void} - */ - clearUndoRedo(): void; - - /** This method is used to copy or move the sheets in Spreadsheet. - * @param {number} Pass the sheet index that you want to copy or move. - * @param {number} Pass the position index where you want to copy or move. - * @param {boolean} Pass {{'`true`' | markdownify}},If you want to copy sheet or else it will move sheet. - * @returns {void} - */ - copySheet(fromIdx: number, toIdx: number, isCopySheet: boolean): void; - - /** This method is used to delete the entire column which is selected. - * @param {number} Pass the start column index. - * @param {number} Pass the end column index. - * @returns {void} - */ - deleteEntireColumn(startCol: number, endCol: number): void; - - /** This method is used to delete the entire row which is selected. - * @param {number} Pass the start row index. - * @param {number} Pass the end row index. - * @returns {void} - */ - deleteEntireRow(startRow: number, endRow: number): void; - - /** This method is used to delete a particular sheet in the Spreadsheet. - * @param {number} Pass the sheet index to perform delete action. - * @returns {void} - */ - deleteSheet(idx: number): void; - - /** This method is used to delete the selected cells and shift the remaining cells to left. - * @param {any} Row index and column index of the starting cell. - * @param {any} Row index and column index of the ending cell. - * @returns {void} - */ - deleteShiftLeft(startCell: any, endCell: any): void; - - /** This method is used to delete the selected cells and shift the remaining cells up. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ - deleteShiftUp(startCell: any, endCell: any): void; - - /** This method is used to edit data in the specified range of cells based on its corresponding rangeSettings. - * @param {string} Pass the defined rangeSettings property name. - * @param {Function} Pass the function that you want to perform range edit. - * @returns {void} - */ - editRange(rangeName: string, fn: any): void; - - /** This method is used to get the activation panel in the Spreadsheet. - * @returns {HTMLElement} - */ - getActivationPanel(): HTMLElement; - - /** This method is used to get the active cell object in Spreadsheet. It will returns object which contains rowIndex and colIndex of the active cell. - * @param {number} Optional. If sheetIdx is specified, it will return the active cell object in specified sheet index else it will use the current sheet index - * @returns {any} - */ - getActiveCell(sheetIdx?: number): any; - - /** This method is used to get the active cell element based on the given sheet index in the Spreadsheet. - * @param {number} Optional. If sheetIndex is specified, it will return the active cell element in specified sheet index else it will use the current active sheet index. - * @returns {HTMLElement} - */ - getActiveCellElem(sheetIdx?: number): HTMLElement; - - /** This method is used to get the current active sheet index in Spreadsheet. - * @returns {number} - */ - getActiveSheetIndex(): number; - - /** This method is used to get the auto fill element in Spreadsheet. - * @returns {HTMLElement} - */ - getAutoFillElem(): HTMLElement; - - /** This method is used to get the cell element based on specified row and column index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @param {number} Optional. Pass the sheet index that you want to get cell. - * @returns {HTMLElement} - */ - getCell(rowIdx: number, colIdx: number, sheetIdx?: number): HTMLElement; - - /** This method is used to get the data settings in the Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ - getDataSettings(sheetIdx: number): number; - - /** This method is used to get the frozen columns index in the Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ - getFrozenColumns(sheetIdx: number): number; - - /** This method is used to get the frozen row index in Spreadsheet. - * @param {number} Pass the sheet index. - * @returns {number} - */ - getFrozenRows(sheetIdx: number): number; - - /** This method is used to get the hyperlink data as object from the specified cell in Spreadsheet. - * @param {HTMLElement} Pass the DOM element to get hyperlink - * @returns {any} - */ - getHyperlink(cell: HTMLElement): any; - - /** This method is used to get all cell elements in the specified range. - * @param {string} Pass the range that you want to get the cells. - * @param {number} Pass the index of the sheet. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. - * @returns {HTMLElement} - */ - getRange(range: string, sheetIdx: number, skipHiddenRow?: boolean): HTMLElement; - - /** This method is used to get the data in specified range in Spreadsheet. - * @param {any} Optional. Pass the range, property, sheetIdx, valueOnly in options. - * @returns {Array} - */ - getRangeData(options?: any): any[]; - - /** This method is used to get the range indices array based on the specified alpha range in Spreadsheet. - * @param {string} Pass the alpha range that you want to get range indices. - * @returns {Array} - */ - getRangeIndices(range: string): any[]; - - /** This method is used to get the sheet details based on the given sheet index in Spreadsheet. - * @param {number} Pass the sheet index to get the sheet object. - * @returns {any} - */ - getSheet(sheetIdx: number): any; - - /** This method is used to get the sheet content div element of Spreadsheet. - * @param {number} Pass the sheet index to get the sheet content. - * @returns {HTMLElement} - */ - getSheetElement(sheetIdx: number): HTMLElement; - - /** This method is used to get all the sheets in workbook. - * @returns {Array} - */ - getSheets(): any[]; - - /** This method is used to send a paging request to the specified sheet Index in the Spreadsheet. - * @param {number} Pass the sheet index to perform paging at specified sheet index - * @param {boolean} Pass {{'`true`' | markdownify}} to create a new sheet. If the specified sheet index is already exist, it navigate to that sheet else it create a new sheet. - * @returns {void} - */ - gotoPage(sheetIdx: number, newSheet: boolean): void; - - /** This method is used to hide the entire columns from the specified range (startCol, endCol) in Spreadsheet. - * @param {number} Index of the start column. - * @param {number} Optional. Index of the end column. - * @returns {void} - */ - hideColumn(startCol: number, endCol: number): void; - - /** This method is used to hide the formula bar in Spreadsheet. - * @returns {void} - */ - hideFormulaBar(): void; - - /** This method is used to hide the rows, based on the specified row index in Spreadsheet. - * @param {number} Index of the start row. - * @param {number} Optional. Index of the end row. - * @returns {void} - */ - hideRow(startRow: number, endRow: number): void; - - /** This method is used to hide the sheet based on the specified sheetIndex or sheet name in the Spreadsheet. - * @param {string|number} Pass the sheet name or index that you want to hide. - * @returns {void} - */ - hideSheet(sheetIdx: string | number): void; - - /** This method is used to hide the displayed waiting pop-up in Spreadsheet. - * @returns {void} - */ - hideWaitingPopUp(): void; - - /** This method is used to insert a column before the active cell's column in the Spreadsheet. - * @param {number} Pass start column. - * @param {number} Pass end column. - * @returns {void} - */ - insertEntireColumn(startCol: number, endCol: number): void; - - /** This method is used to insert a row before the active cell's row in the Spreadsheet. - * @param {number} Pass start row. - * @param {number} Pass end row. - * @returns {void} - */ - insertEntireRow(startRow: number, endRow: number): void; - - /** This method is used to insert a new sheet to the left of the current active sheet. - * @returns {void} - */ - insertSheet(): void; - - /** This method is used to insert cells in the selected or specified range and shift remaining cells to bottom. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ - insertShiftBottom(startCell: any, endCell: any): void; - - /** This method is used to insert cells in the selected or specified range and shift remaining cells to right. - * @param {any} Row index and column index of the start cell. - * @param {any} Row index and column index of the end cell. - * @returns {void} - */ - insertShiftRight(startCell: any, endCell: any): void; - - /** This method is used to import excel file manually by using form data. - * @param {any} Pass the form data object to import files manually. - * @returns {void} - */ - import(importRequest: any): void; - - /** This method is used to load JSON data in Spreadsheet. - * @param {any} Pass the response that you want to load. - * @returns {void} - */ - loadFromJSON(response: any): void; - - /** This method is used to lock/unlock the range of cells in active sheet. Lock cells are activated only after the sheet is protected. Once the sheet is protected it is unable to lock/unlock cells. - * @param {string|Array} Pass the alpha range cells or array range of cells. - * @param {string} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} locked cells are unlocked. - * @returns {void} - */ - lockCells(range: string | any[], isLocked?: string): void; - - /** This method is used to merge cells by across in the Spreadsheet. - * @param {string} Optional. To pass the cell range or selected cells are process. - * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. - * @returns {void} - */ - mergeAcrossCells(range?: string, alertStatus?: boolean): void; - - /** This method is used to merge the selected cells in the Spreadsheet. - * @param {string|Array} Optional. To pass the cell range or selected cells are process. - * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. - * @returns {void} - */ - mergeCells(range?: string | any[], alertStatus?: boolean): void; - - /** This method is used to select a cell or range in the Spreadsheet. - * @param {any} Pass the start cell to perform selection. - * @param {any} Pass the end cell to perform selection. - * @returns {void} - */ - performSelection(startCell: any, endCell: any): void; - - /** This method is used to protect or unprotect active sheet. - * @param {boolean} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} active sheet is unprotected. - * @returns {void} - */ - protectSheet(isProtected?: boolean): void; - - /** This method is used to refresh the content in Spreadsheet. - * @param {number} Pass the index of the sheet. - * @returns {void} - */ - refreshContent(sheetIdx: number): void; - - /** This method is used to refresh the Spreadsheet. - * @returns {void} - */ - refreshSpreadsheet(): void; - - /** This method is used to remove custom formulae in Spreadsheet. - * @param {string} Pass the name of the formula. - * @param {string} Pass the name of the function. - * @returns {void} - */ - removeCustomFormula(formulaName: string, functionName: string): void; - - /** This method is used to remove the hyperlink from selected cells of current sheet. - * @param {string} Hyperlink remove from the specified range. - * @param {boolean} Optional. If it is {{'`true`' | markdownify}}, It will clear link only not format. - * @param {boolean} Optional. Pass the status to perform undo and redo operations. - * @param {any} Optional. Pass the cells that you want to remove hyperlink. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. - * @returns {void} - */ - removeHyperlink(range: string, isClearHLink?: boolean, status?: boolean, cells?: any, skipHiddenRow?: boolean): void; - - /** This method is used to remove the range data and its defined rangeSettings property based on the specified range name. - * @param {string} Pass the defined rangeSetting property name. - * @returns {void} - */ - removeRange(rangeName: string): void; - - /** This method is used to remove the readonly option for the specified range. - * @param {string|Array} Pass the range. - * @returns {void} - */ - removeReadOnly(range?: string | any[]): void; - - /** This method is used to save JSON data in Spreadsheet. - * @returns {any} - */ - saveAsJSON(): any; - - /** This method is used to save batch changes in Spreadsheet. - * @param {number} Pass the sheet index for Spreadsheet. - * @returns {void} - */ - saveBatchChanges(sheetIdx: number): void; - - /** This method is used to set the active cell in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @param {number} Pass the index of the sheet. - * @returns {void} - */ - setActiveCell(rowIdx: number, colIdx: number, sheetIdx: number): void; - - /** This method is used to set active sheet index for the Spreadsheet. - * @param {number} Pass the active sheet index for Spreadsheet. - * @returns {void} - */ - setActiveSheetIndex(sheetIdx: number): void; - - /** This method is used to set border for the specified range of cells in the Spreadsheet. - * @param {any} Pass the border properties that you want to set. - * @param {string} Optional. If range is specified, it will set border for the specified range else it will use the selected range. - * @returns {void} - */ - setBorder(property: any, range?: string): void; - - /** This method is used to set the height for the rows in the Spreadsheet. - * @param {Array|any} Pass the row index and height of the rows. - * @returns {void} - */ - setHeightToRows(heightColl: any[] | any): void; - - /** This method is used to set the hyperlink in selected cells of the current sheet. - * @param {string|Array} If range is specified, it will set the hyperlink in range of the cells. - * @param {any} Pass cellAddress or webAddress - * @param {number} If we pass cellAddress then which sheet to be navigate in the applied link. - * @returns {void} - */ - setHyperlink(range: string | any[], link: any, sheetIdx: number): void; - - /** This method is used to set the readonly option for the specified range. - * @param {string|Array} Pass the range. - * @returns {void} - */ - setReadOnly(range?: string | any[]): void; - - /** This method is used to set the focus to the Spreadsheet. - * @returns {void} - */ - setSheetFocus(): void; - - /** This method is used to set the width for the columns in the Spreadsheet. - * @param {Array|any} Pass the column index and width of the columns. - * @returns {void} - */ - setWidthToColumns(widthColl: any[] | any): void; - - /** This method is used to rename the active sheet. - * @param {string} Pass the sheet name that you want to change the current active sheet name. - * @returns {void} - */ - sheetRename(sheetName: string): void; - - /** This method is used to display the activationPanel for the specified range name. - * @param {string} Pass the range name that you want to display the activation panel. - * @returns {void} - */ - showActivationPanel(rangeName: string): void; - - /** This method is used to show the hidden columns within the specified range in the Spreadsheet. - * @param {number} Index of the start column. - * @param {number} Optional. Index of the end column. - * @returns {void} - */ - showColumn(startColIdx: number, endColIdx: number): void; - - /** This method is used to show the formula bar in Spreadsheet. - * @returns {void} - */ - showFormulaBar(): void; - - /** This method is used to show/hide gridlines in active sheet in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show the gridlines - * @returns {void} - */ - showGridlines(status: boolean): void; - - /** This method is used to show/hide the headers in active sheet in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show the sheet headers. - * @returns {void} - */ - showHeadings(startRow: boolean): void; - - /** This method is used to show/hide pager in the Spreadsheet. - * @param {boolean} Pass {{'`true`' | markdownify}} to show pager. - * @returns {void} - */ - showPager(status: boolean): void; - - /** This method is used to show the hidden rows in the specified range in the Spreadsheet. - * @param {number} Index of the start row. - * @param {number} Optional. Index of the end row. - * @returns {void} - */ - showRow(startRow: number, endRow: number): void; - - /** This method is used to show waiting pop-up in Spreadsheet. - * @returns {void} - */ - showWaitingPopUp(): void; - - /** This method is used to unhide the sheet based on specified sheet name or sheet index. - * @param {string|number} Pass the sheet name or index that you want to unhide. - * @returns {void} - */ - unhideSheet(sheetInfo: string | number): void; - - /** This method is used to unmerge the selected range of cells in the Spreadsheet. - * @param {string} Optional. If the range is specified, then it will un merge the specified range else it will use the current selected range. - * @returns {void} - */ - unmergeCells(range?: string): void; - - /** This method is used to unwrap the selected range of cells in the Spreadsheet. - * @param {Array|string} Optional. If the range is specified, then it will update unwrap in the specified range else it will use the current selected range. - * @returns {void} - */ - unWrapText(range?: any[] | string): void; - - /** This method is used to update the data for the specified range of cells in the Spreadsheet. - * @param {any} Pass the cells data that you want to update. - * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. - * @returns {void} - */ - updateData(data: any, range?: any[] | string): void; - - /** This method is used to update the formula bar in the Spreadsheet. - * @returns {void} - */ - updateFormulaBar(): void; - - /** This method is used to update the range of cells based on the specified settings which we want to update in the Spreadsheet. - * @param {number} Pass the sheet index that you want to update. - * @param {any} Pass the dataSource, startCell and showHeader values as settings. - * @returns {void} - */ - updateRange(sheetIdx: number, settings: any): void; - - /** This method is used to update the details for custom undo and redo operations. - * @param {any} Pass the details to update undo and redo collection - * @returns {void} - */ - updateUndoRedoCollection(details: any): void; - - /** This method is used to update the unique data for the specified range of cells in Spreadsheet. - * @param {any} Pass the data that you want to update in the particular range - * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. - * @param {any} Optional. It specifies whether to skip element processing or not. - * @returns {void} - */ - updateUniqueData(data: any, range?: any[] | string, skipCell?: any): void; - - /** This method is used to wrap the selected range of cells in the Spreadsheet. - * @param {Array|string} Optional. If the range is specified, then it will update wrap in the specified range else it will use the current selected range. - * @returns {void} - */ - wrapText(range?: any[] | string): void; - - XLCellType: Spreadsheet.XLCellType; - - XLCFormat: Spreadsheet.XLCFormat; - - XLChart: Spreadsheet.XLChart; - - XLClipboard: Spreadsheet.XLClipboard; - - XLComment: Spreadsheet.XLComment; - - XLCMenu: Spreadsheet.XLCMenu; - - XLDragDrop: Spreadsheet.XLDragDrop; - - XLDragFill: Spreadsheet.XLDragFill; - - XLEdit: Spreadsheet.XLEdit; - - XLExport: Spreadsheet.XLExport; - - /** This method is used to get the export properties in the Spreadsheet. - * @returns {any} - */ - getExportProps(): any; - - XLFilter: Spreadsheet.XLFilter; - - XLFormat: Spreadsheet.XLFormat; - - XLFreeze: Spreadsheet.XLFreeze; - - /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. - * @returns {void} - */ - unfreezePanes(): void; - - XLPivot: Spreadsheet.XLPivot; - - XLPrint: Spreadsheet.XLPrint; - - XLResize: Spreadsheet.XLResize; - - XLRibbon: Spreadsheet.XLRibbon; - - XLSearch: Spreadsheet.XLSearch; - - XLSelection: Spreadsheet.XLSelection; - - XLShape: Spreadsheet.XLShape; - - XLSort: Spreadsheet.XLSort; - - XLValidate: Spreadsheet.XLValidate; -} -export namespace Spreadsheet { - - export interface XLCellType { - - /** This method is used to set a cell type from the specified range of cells in the spreadsheet. - * @param {string} Pass the range where you want apply cell type. - * @param {any} Pass type of cell type and its settings. - * @param {number} Optional. Pass sheet index. + /** Show columns in the grid based on the header text + * @param {Array|string} you can pass either array of header text of various columns or a header text of a column to show * @returns {void} */ - addCellTypes(range: string, settings: any, sheetIdx: number): void; + showColumns(headerText: any[] | string): void; - /** This method is used to remove cell type from the specified range of cells in the Spreadsheet. - * @param {string|Array} Pass the range where you want remove cell type. - * @param {number} Optional. Pass sheet index. + /** Send a sorting request in grid. + * @param {string} Pass the field name of the column as columnName for which sorting have to be performed + * @param {string} optional Pass the sort direction ascending/descending by which the column have to be sort. By default it is sorting in an ascending order * @returns {void} */ - removeCellTypes(range: string | any[], sheetIdx: number): void; + sortColumn(columnName: string, sortingDirection?: string): void; + + /** Send an edit record request in grid + * @param {JQuery} Pass the tr- selected row element to be edited in grid + * @returns {void} + */ + startEdit($tr: JQuery): void; + + /** Un-group a column from grouped columns collection in grid + * @param {string} Pass the field Name of the column to be ungrouped from grouped column collection + * @returns {void} + */ + ungroupColumn(fieldName: string): void; + + /** Update a edited record in grid control when allowEditing is set as true. + * @param {string} Pass the primary key field Name of the column + * @param {Array} Pass the edited JSON data of record need to be update. + * @returns {void} + */ + updateRecord(fieldName: string, data: any[]): void; + + /** It adapts grid to its parent element or to the browsers window. + * @returns {void} + */ + windowonresize(): void; + } + export namespace Grid { + + export interface Model { + + /** Gets or sets a value that indicates whether to customizing cell based on our needs. + * @Default {false} + */ + allowCellMerging?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic grouping behavior. Grouping can be done by drag on drop desired columns to grid’s GroupDropArea. + * This can be further customized through “groupSettings” property. + * @Default {false} + */ + allowGrouping?: boolean; + + /** Gets or sets a value that indicates whether to enable keyboard support for performing grid actions. selectionType – Gets or sets a value that indicates whether to enable single + * row or multiple rows selection behavior in grid. Multiple selection can be done through by holding CTRL and clicking the grid rows + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic filtering behavior on grid. Filtering can be used to limit the records displayed using required criteria and + * this can be further customized through “filterSettings” property + * @Default {false} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable the dynamic sorting behavior on grid data. Sorting can be done through clicking on particular column header. + * @Default {false} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable multi columns sorting behavior in grid. Sort multiple columns by holding CTRL and click on the corresponding column header. + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** This specifies the grid to show the paginated data. Also enables pager control at the bottom of grid for dynamic navigation through data source. + * Paging can be further customized through “pageSettings” property. + * @Default {false} + */ + allowPaging?: boolean; + + /** Gets or sets a value that indicates whether to enable the columns reordering behavior in the grid. Reordering can be done through by drag and drop the particular column + * from one index to another index within the grid. + * @Default {false} + */ + allowReordering?: boolean; + + /** Gets or sets a value that indicates whether the column is non resizable. Column width is set automatically based on the content or header text which is large. + * @Default {false} + */ + allowResizeToFit?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic resizable of columns. Resize the width of the columns by simply click and move the particular column header line + * @Default {false} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable the rows reordering in Grid and drag & drop rows between multiple Grid. + * @Default {false} + */ + allowRowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable the scrollbar in the grid and view the records by scroll through the grid manually + * @Default {false} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic searching behavior in grid. Currently search box can be enabled through “toolbarSettings” + * @Default {false} + */ + allowSearching?: boolean; + + /** Gets or sets a value that indicates whether user can select rows on grid. On enabling feature, selected row will be highlighted. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether the Content will wrap to the next line if the content exceeds the boundary of the Column Cells. + * @Default {false} + */ + allowTextWrap?: boolean; + + /** Gets or sets a value that indicates whether to enable the multiple exporting behavior on grid data. + * @Default {false} + */ + allowMultipleExporting?: boolean; + + /** Gets or sets a value that indicates to define common width for all the columns in the grid. + */ + commonWidth?: number; + + /** Gets or sets a value that indicates to enable the visibility of the grid lines. + * @Default {ej.Grid.GridLines.Both} + */ + gridLines?: ej.Grid.GridLines | string; + + /** This specifies the grid to add the grid control inside the grid row of the parent with expand/collapse options + * @Default {null} + */ + childGrid?: any; + + /** Used to enable or disable static width settings for column. If the columnLayout is set as fixed, then column width will be static. + * @Default {ej.Grid.ColumnLayout.Auto} + */ + columnLayout?: ej.Grid.ColumnLayout | string; + + /** Gets or sets an object that indicates to render the grid with specified columns + * @Default {[]} + */ + columns?: Column[]; + + /** Gets or sets an object that indicates whether to customize the context menu behavior of the grid. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Gets or sets a value that indicates to render the grid with custom theme. + */ + cssClass?: string; + + /** Gets or sets the data to render the grid with records + * @Default {null} + */ + dataSource?: any; + + /** Default Value: + * @Default {null} + */ + detailsTemplate?: string; + + /** Gets or sets an object that indicates whether to customize the editing behavior of the grid. + */ + editSettings?: EditSettings; + + /** Gets or sets a value that indicates whether to enable the alternative rows differentiation in the grid records based on corresponding theme. + * @Default {true} + */ + enableAltRow?: boolean; + + /** Gets or sets a value that indicates whether to enable the save action in the grid through row selection + * @Default {true} + */ + enableAutoSaveOnSelectionChange?: boolean; + + /** Gets or sets a value that indicates whether to enable mouse over effect on the corresponding column header cell of the grid + * @Default {false} + */ + enableHeaderHover?: boolean; + + /** Gets or sets a value that indicates whether to persist the grid model state in page using applicable medium i.e., HTML5 localStorage or cookies + * @Default {false} + */ + enablePersistence?: boolean; + + /** Gets or sets a value that indicates whether the grid rows has to be rendered as detail view in mobile mode + * @Default {false} + */ + enableResponsiveRow?: boolean; + + /** Gets or sets a value that indicates whether to enable mouse over effect on corresponding grid row. + * @Default {true} + */ + enableRowHover?: boolean; + + /** Align content in the grid control from right to left by setting the property as true. + * @Default {false} + */ + enableRTL?: boolean; + + /** To Disable the mouse swipe property as false. + * @Default {true} + */ + enableTouch?: boolean; + + /** It sets a value that indicates whether to enable toolbar items, when allowEditing, allowAdding and allowDeleting property set as false in the grid. + * @Default {false} + */ + enableToolbarItems?: boolean; + + /** Act as mapper for the excel exporting URL. + * @Default {ExportToExcel} + */ + exportToExcelAction?: string; + + /** Act as mapper for the PDF exporting URL. + * @Default {ExportToPdf} + */ + exportToPdfAction?: string; + + /** Act as mapper for the Word exporting URL. + * @Default {ExportToWord} + */ + exportToWordAction?: string; + + /** Gets or sets an object that indicates whether to customize the filtering behavior of the grid + */ + filterSettings?: FilterSettings; + + /** Gets or sets an object that indicates whether to customize the grouping behavior of the grid. + */ + groupSettings?: GroupSettings; + + /** Gets or sets a value that indicates whether the grid design has be to made responsive. + * @Default {false} + */ + isResponsive?: boolean; + + /** This specifies to change the key in keyboard interaction to grid control + * @Default {null} + */ + keySettings?: any; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data i.e. in a language and + * culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets a value that indicates whether to set the minimum width of the responsive grid while isResponsive property is true and enableResponsiveRow property is set as false. + * @Default {0} + */ + minWidth?: number; + + /** Gets or sets an object that indicates whether to modify the pager default configuration. + */ + pageSettings?: PageSettings; + + /** Query the dataSource from the table for Grid. + * @Default {null} + */ + query?: any; + + /** Gets or sets an object that indicates whether to modify the resizing behavior. + */ + resizeSettings?: ResizeSettings; + + /** Gets or sets a value that indicates to render the grid with template rows. The template row must be a table row. That table row must have the JavaScript render binding format ({{:columnName}}) + * then the grid data source binds the data to the corresponding table row of the template. + * @Default {null} + */ + rowTemplate?: string; + + /** Gets or sets an object that indicates whether to customize the drag and drop behavior of the grid rows + */ + rowDropSettings?: RowDropSettings; + + /** Gets or sets an object that indicates whether to customize the searching behavior of the grid + */ + searchSettings?: SearchSettings; + + /** Gets a value that indicates whether the grid model to hold multiple selected records . selectedRecords can be used to displayed hold the single + * or multiple selected records using “selectedRecords” property + * @Default {null} + */ + selectedRecords?: any[]; + + /** Gets or sets a value that indicates to select the row while initializing the grid + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Gets or sets a value that indicates the selected rows in grid + * @Default {[]} + */ + selectedRowIndices?: any[]; + + /** This property is used to configure the selection behavior of the grid. + */ + selectionSettings?: SelectionSettings; + + /** The row selection behavior of grid. Accepting types are "single" and "multiple". + * @Default {ej.Grid.SelectionType.Single} + */ + selectionType?: ej.Grid.SelectionType | string; + + /** Gets or sets an object that indicates whether to customize the scrolling behavior of the grid. + */ + scrollSettings?: ScrollSettings; + + /** Default Value: + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Gets or sets a value that indicates stacked header should be shown on grid layout when the property “stackedHeaderRows” is set. + * @Default {false} + */ + showStackedHeader?: boolean; + + /** Gets or sets a value that indicates summary rows should be shown on grid layout when the property “summaryRows” is set + * @Default {false} + */ + showSummary?: boolean; + + /** Gets or sets a value that indicates whether to customize the sorting behavior of the grid. + */ + sortSettings?: SortSettings; + + /** Gets or sets an object that indicates to managing the collection of stacked header rows for the grid. + * @Default {[]} + */ + stackedHeaderRows?: StackedHeaderRow[]; + + /** Gets or sets an object that indicates to managing the collection of summary rows for the grid. + * @Default {[]} + */ + summaryRows?: SummaryRow[]; + + /** Gets or sets an object that indicates whether to auto wrap the grid header or content or both + */ + textWrapSettings?: TextWrapSettings; + + /** Gets or sets an object that indicates whether to enable the toolbar in the grid and add toolbar items + */ + toolbarSettings?: ToolbarSettings; + + /** Triggered for every grid action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggered for every grid action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggered for every grid action server failure event. */ + actionFailure?(e: ActionFailureEventArgs): void; + + /** Triggered when record batch add. */ + batchAdd?(e: BatchAddEventArgs): void; + + /** Triggered when record batch delete. */ + batchDelete?(e: BatchDeleteEventArgs): void; + + /** Triggered before the batch add. */ + beforeBatchAdd?(e: BeforeBatchAddEventArgs): void; + + /** Triggered before the batch delete. */ + beforeBatchDelete?(e: BeforeBatchDeleteEventArgs): void; + + /** Triggered before the batch save. */ + beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; + + /** Triggered before the print. */ + beforePrint?(e: BeforePrintEventArgs): void; + + /** Triggered before row drop in the grid */ + beforeRowDrop?(e: BeforeRowDropEventArgs): void; + + /** Triggered before the record is going to be edited. */ + beginEdit?(e: BeginEditEventArgs): void; + + /** Triggered when record cell edit. */ + cellEdit?(e: CellEditEventArgs): void; + + /** Triggered when record cell save. */ + cellSave?(e: CellSaveEventArgs): void; + + /** Triggered after the cell is selected. */ + cellSelected?(e: CellSelectedEventArgs): void; + + /** Triggered before the cell is going to be selected. */ + cellSelecting?(e: CellSelectingEventArgs): void; + + /** Triggered after the cell is deselected. */ + cellDeselected?(e: CellDeselectedEventArgs): void; + + /** Triggered before the cell is going to be deselected. */ + cellDeselecting?(e: CellDeselectingEventArgs): void; + + /** Triggered when the column is being dragged. */ + columnDrag?(e: ColumnDragEventArgs): void; + + /** Triggered when column dragging begins. */ + columnDragStart?(e: ColumnDragStartEventArgs): void; + + /** Triggered when the column is dropped. */ + columnDrop?(e: ColumnDropEventArgs): void; + + /** Triggered when the row is being dragged. */ + rowDrag?(e: RowDragEventArgs): void; + + /** Triggered when row dragging begins. */ + rowDragStart?(e: RowDragStartEventArgs): void; + + /** Triggered when the row is dropped. */ + rowDrop?(e: RowDropEventArgs): void; + + /** Triggered after the column is selected. */ + columnSelected?(e: ColumnSelectedEventArgs): void; + + /** Triggered before the column is going to be selected. */ + columnSelecting?(e: ColumnSelectingEventArgs): void; + + /** Triggered after the column is deselected. */ + columnDeselected?(e: ColumnDeselectedEventArgs): void; + + /** Triggered before the column is going to be deselected. */ + columnDeselecting?(e: ColumnDeselectingEventArgs): void; + + /** Triggered when context menu item is clicked */ + contextClick?(e: ContextClickEventArgs): void; + + /** Triggered before the context menu is opened. */ + contextOpen?(e: ContextOpenEventArgs): void; + + /** Triggered when the grid is rendered completely. */ + create?(e: CreateEventArgs): void; + + /** Triggered when the grid is bound with data during initial rendering. */ + dataBound?(e: DataBoundEventArgs): void; + + /** Triggered when grid going to destroy. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggered when detail template row is clicked to collapse. */ + detailsCollapse?(e: DetailsCollapseEventArgs): void; + + /** Triggered detail template row is initialized. */ + detailsDataBound?(e: DetailsDataBoundEventArgs): void; + + /** Triggered when detail template row is clicked to expand. */ + detailsExpand?(e: DetailsExpandEventArgs): void; + + /** Triggered after the record is added. */ + endAdd?(e: EndAddEventArgs): void; + + /** Triggered after the record is deleted. */ + endDelete?(e: EndDeleteEventArgs): void; + + /** Triggered after the record is edited. */ + endEdit?(e: EndEditEventArgs): void; + + /** Triggered initial load. */ + load?(e: LoadEventArgs): void; + + /** Triggered every time a request is made to access particular cell information, element and data. */ + mergeCellInfo?(e: MergeCellInfoEventArgs): void; + + /** Triggered every time a request is made to access particular cell information, element and data. */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; + + /** Triggered when record is clicked. */ + recordClick?(e: RecordClickEventArgs): void; + + /** Triggered when record is double clicked. */ + recordDoubleClick?(e: RecordDoubleClickEventArgs): void; + + /** Triggered after column resized. */ + resized?(e: ResizedEventArgs): void; + + /** Triggered when column resize end. */ + resizeEnd?(e: ResizeEndEventArgs): void; + + /** Triggered when column resize start. */ + resizeStart?(e: ResizeStartEventArgs): void; + + /** Triggered when right clicked on grid element. */ + rightClick?(e: RightClickEventArgs): void; + + /** Triggered every time a request is made to access row information, element and data. */ + rowDataBound?(e: RowDataBoundEventArgs): void; + + /** Triggered after the row is selected. */ + rowSelected?(e: RowSelectedEventArgs): void; + + /** Triggered before the row is going to be selected. */ + rowSelecting?(e: RowSelectingEventArgs): void; + + /** Triggered after the row is deselected. */ + rowDeselected?(e: RowDeselectedEventArgs): void; + + /** Triggered before the row is going to be deselected. */ + rowDeselecting?(e: RowDeselectingEventArgs): void; + + /** Triggered when refresh the template column elements in the Grid. */ + templateRefresh?(e: TemplateRefreshEventArgs): void; + + /** Triggered when toolbar item is clicked in grid. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } + + export interface ActionBeginEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current selected page number. + */ + currentPage?: number; + + /** Returns the previous selected page number. + */ + previousPage?: number; + + /** Returns the end row index of that current page. + */ + endIndex?: number; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the start row index of that current page. + */ + startIndex?: number; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns the column sort direction. + */ + columnSortDirection?: string; + + /** Returns current edited row. + */ + row?: any; + + /** Returns the current action event type. + */ + originalEventType?: string; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the record object (JSON). + */ + data?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the selected row index. + */ + selectedRow?: number; + + /** Returns selected row for delete. + */ + tr?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: any; + + /** Returns current filtering object. + */ + currentFilterObject?: any; + + /** Returns filter details. + */ + filterCollection?: any; + + /** Returns type of the column like number, string and so on. + */ + columnType?: string; + + /** Returns the excel filter model. + */ + filtermodel?: any; + + /** Returns the dataSource. + */ + dataSource?: any; + + /** Returns the query manager. + */ + query?: any; + + /** Returns the customfilter option value. + */ + isCustomFilter?: boolean; + } + + export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current selected page number. + */ + currentPage?: number; + + /** Returns the previous selected page number. + */ + previousPage?: number; + + /** Returns the end row index of that current page. + */ + endIndex?: number; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns the start row index of the current page. + */ + startIndex?: number; + + /** Returns grid element. + */ + target?: any; + + /** Returns the current sorted column field name. + */ + columnName?: string; + + /** Returns the column sort direction. + */ + columnSortDirection?: string; + + /** Returns current edited row. + */ + row?: any; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the record object (JSON). + */ + data?: any; + + /** Returns the selectedRow index. + */ + selectedRow?: number; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns selected row for delete. + */ + tr?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns current filtering object. + */ + currentFilterObject?: any; + + /** Returns filter details. + */ + filterCollection?: any; + + /** Returns the dataSource. + */ + dataSource?: any; + + /** Returns the excel filter model. + */ + filtermodel?: any; + + /** Returns type of the column like number, string and so on. + */ + columnType?: string; + + /** Returns the customfilter option value. + */ + isCustomFilter?: boolean; + } + + export interface ActionFailureEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the error return by server. + */ + error?: any; + + /** Returns the current selected page number. + */ + currentPage?: number; + + /** Returns the previous selected page number. + */ + previousPage?: number; + + /** Returns the end row index of that current page. + */ + endIndex?: number; + + /** Returns current action event type. + */ + originalEventType?: string; + + /** Returns the start row index of the current page. + */ + startIndex?: number; + + /** Returns grid element. + */ + target?: any; + + /** Returns the current sorted column field name. + */ + columnName?: string; + + /** Returns the column sort direction. + */ + columnSortDirection?: string; + + /** Returns current edited row. + */ + row?: any; + + /** Returns primary key. + */ + primaryKey?: string; + + /** Returns primary key value. + */ + primaryKeyValue?: string; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the record object (JSON). + */ + data?: any; + + /** Returns the selectedRow index. + */ + selectedRow?: number; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns selected row for delete. + */ + tr?: any; + + /** Returns current filtering column field name. + */ + currentFilteringColumn?: string; + + /** Returns current filtering object. + */ + currentFilterObject?: any; + + /** Returns filter details. + */ + filterCollection?: any; + } + + export interface BatchAddEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column object. + */ + columnObject?: any; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the row element. + */ + row?: any; + + /** Returns the primaryKey. + */ + primaryKey?: any; + + /** Returns the cell object. + */ + cell?: any; + } + + export interface BatchDeleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the primary key. + */ + primaryKey?: any; + + /** Returns the row Index. + */ + rowIndex?: number; + } + + export interface BeforeBatchAddEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the default data object. + */ + defaultData?: any; + + /** Returns the primaryKey. + */ + primaryKey?: any; + } + + export interface BeforeBatchDeleteEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the primaryKey. + */ + primaryKey?: any; + + /** Returns the row index. + */ + rowIndex?: number; + + /** Returns the row data. + */ + rowData?: any; + + /** Returns the row element. + */ + row?: any; + } + + export interface BeforeBatchSaveEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the changed record object. + */ + batchChanges?: any; + } + + export interface BeforePrintEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Grid element. + */ + element?: any; + + /** Returns the selected records. + */ + selectedRows?: any; + } + + export interface BeforeRowDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the targeted row. + */ + target?: any; + + /** Returns the targeted row index. + */ + targetIndex?: any; + + /** Returns the dragged record details + */ + draggedRecords?: any; + + /** Returns the drop details + */ + dropDetails?: any; + } + + export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current edited row. + */ + row?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the primary key. + */ + primaryKey?: any; + + /** Returns the primary key value. + */ + primaryKeyValue?: any; + + /** Returns the edited row index. + */ + rowIndex?: number; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellEditEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the validation rules. + */ + validationRules?: any; + + /** Returns the column name. + */ + columnName?: string; + + /** Returns the cell value. + */ + value?: string; + + /** Returns the row data object. + */ + rowData?: any; + + /** Returns the previous value of the cell. + */ + previousValue?: string; + + /** Returns the column object. + */ + columnObject?: any; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns isForeignKey option value. + */ + isForeignKey?: boolean; + } + + export interface CellSaveEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column name. + */ + columnName?: string; + + /** Returns the cell value. + */ + value?: string; + + /** Returns the row data object. + */ + rowData?: any; + + /** Returns the previous value of the cell. + */ + previousValue?: string; + + /** Returns the column object. + */ + columnObject?: any; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns isForeignKey option value. + */ + isForeignKey?: boolean; + } + + export interface CellSelectedEventArgs { + + /** Returns the selected cell index value. + */ + cellIndex?: number; + + /** Returns the previous selected cell index value. + */ + previousRowCellIndex?: number; + + /** Returns the selected cell element. + */ + currentCell?: any; + + /** Returns the previous selected cell element. + */ + previousRowCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the selected row cell index values. + */ + selectedRowCellIndex?: any[]; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellSelectingEventArgs { + + /** Returns the selected cell index value. + */ + cellIndex?: number; + + /** Returns the previous selected cell index value. + */ + previousRowCellIndex?: number; + + /** Returns the selected cell element. + */ + currentCell?: any; + + /** Returns the previous selected cell element. + */ + previousRowCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns whether the ctrl key is pressed while selecting cell + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while selecting cell + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellDeselectedEventArgs { + + /** Returns the deselected cell index value. + */ + cellIndex?: number; + + /** Returns the deselected cell element. + */ + currentCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellDeselectingEventArgs { + + /** Returns the deselecting cell index value. + */ + cellIndex?: number; + + /** Returns the deselecting cell element. + */ + currentCell?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns whether the ctrl key is pressed while deselecting cell + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while deselecting cell + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ColumnDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable column object. + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns target elements based on mouse move position. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ColumnDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable column object. + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns drag start element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ColumnDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: string; + + /** Returns the draggable column object. + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns dropped dragged element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable row object. + */ + target?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns target elements based on mouse move position. + */ + currentTarget?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns JSON data of dragged rows. + */ + data?: any; + } + + export interface RowDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: any; + + /** Returns the draggable row object. + */ + target?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns drag start element cell. + */ + currentTarget?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the JSON data of dragged rows. + */ + data?: any; + } + + export interface RowDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns draggable element type. + */ + draggableType?: string; + + /** Returns the draggable row object. + */ + rows?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the current mouse position cell element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the JSON data of dragged rows. + */ + data?: any; + } + + export interface ColumnSelectedEventArgs { + + /** Returns the selected cell index value. + */ + columnIndex?: number; + + /** Returns the previous selected column index value. + */ + previousColumnIndex?: number; + + /** Returns the selected header cell element. + */ + headerCell?: any; + + /** Returns the previous selected header cell element. + */ + prevColumnHeaderCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns the selected columns values. + */ + selectedColumnsIndex?: any[]; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ColumnSelectingEventArgs { + + /** Returns the selected column index value. + */ + columnIndex?: number; + + /** Returns the previous selected column index value. + */ + previousColumnIndex?: number; + + /** Returns the selected header cell element. + */ + headerCell?: any; + + /** Returns the previous selected header cell element. + */ + prevColumnHeaderCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns whether the ctrl key is pressed while selecting cell + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while selecting cell + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ColumnDeselectedEventArgs { + + /** Returns the Deselected column index value. + */ + columnIndex?: number; + + /** Returns the Deselected column header element. + */ + headerCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ColumnDeselectingEventArgs { + + /** Returns the deselecting column index value. + */ + columnIndex?: number; + + /** Returns the deselecting column header element. + */ + headerCell?: any; + + /** Returns corresponding column object (JSON). + */ + column?: any; + + /** Returns whether the ctrl key is pressed while deselecting column + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while deselecting column + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ContextClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the status of contextmenu item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ContextOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the status of contextmenu item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DetailsCollapseEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns detail row element. + */ + detailsRow?: any; + + /** Returns master row of detail row record object (JSON). + */ + masterData?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns master row element. + */ + masterRow?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DetailsDataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns details row element. + */ + detailsElement?: any; + + /** Returns the details row data. + */ + data?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DetailsExpandEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns detail row element. + */ + detailsRow?: any; + + /** Returns master row of detail row record object (JSON). + */ + masterData?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns master row element. + */ + masterRow?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface EndAddEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns added data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface EndDeleteEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface EndEditEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns modified data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface LoadEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface MergeCellInfoEventArgs { + + /** Returns grid cell. + */ + cell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the text value in the cell. + */ + text?: string; + + /** Returns the column object. + */ + column?: any; + + /** Method to merge Grid rows. + */ + rowMerge?: any; + + /** Method to merge Grid columns. + */ + colMerge?: any; + + /** Method to merge Grid rows and columns. + */ + merge?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface QueryCellInfoEventArgs { + + /** Returns grid cell. + */ + cell?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the text value in the cell. + */ + text?: string; + + /** Returns the column object. + */ + column?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RecordClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the jQuery object of the current selected row. + */ + row?: any; + + /** Returns the current selected cell. + */ + cell?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the cell index value. + */ + cellIndex?: number; + + /** Returns the corresponding cell value. + */ + cellValue?: string; + + /** Returns the Header text of the column corresponding to the selected cell. + */ + columnName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RecordDoubleClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the jQuery object of the current selected row. + */ + row?: any; + + /** Returns the current selected cell. + */ + cell?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the selected cell index value. + */ + cellIndex?: number; + + /** Returns the corresponding cell value. + */ + cellValue?: string; + + /** Returns the Header text of the column corresponding to the selected cell. + */ + columnName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ResizedEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the column object. + */ + column?: any; + + /** Returns the grid object. + */ + target?: any; + + /** Returns the old width value. + */ + oldWidth?: number; + + /** Returns the new width value. + */ + newWidth?: number; + } + + export interface ResizeEndEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the column object. + */ + column?: any; + + /** Returns the grid object. + */ + target?: any; + + /** Returns the old width value. + */ + oldWidth?: number; + + /** Returns the new width value. + */ + newWidth?: number; + + /** Returns the extra width value. + */ + extra?: number; + } + + export interface ResizeStartEventArgs { + + /** Returns the grid model. + */ + model?: any; + + /** Returns deleted data. + */ + data?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the column index. + */ + columnIndex?: number; + + /** Returns the column object. + */ + column?: any; + + /** Returns the grid object. + */ + target?: any; + + /** Returns the old width value. + */ + oldWidth?: number; + } + + export interface RightClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + currentData?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the current selected row. + */ + row?: any; + + /** Returns the selected row data object. + */ + data?: any; + + /** Returns the cell index of the selected cell. + */ + cellIndex?: number; + + /** Returns the cell value. + */ + cellValue?: string; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDataBoundEventArgs { + + /** Returns grid row. + */ + row?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current row record object (JSON). + */ + data?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the foreign key record object (JSON). + */ + foreignKeyData?: any; + + /** Returns the row index of the selected row. + */ + rowIndex?: number; + + /** Returns the current selected row. + */ + row?: any; + + /** Returns the previous selected row element. + */ + prevRow?: any; + + /** Returns the previous selected row index. + */ + prevRowIndex?: number; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowSelectingEventArgs { + + /** Returns the selected row index value. + */ + rowIndex?: number; + + /** Returns the selected row element. + */ + row?: any; + + /** Returns the previous selected row element. + */ + prevRow?: any; + + /** Returns the previous selected row index. + */ + prevRowIndex?: number; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDeselectedEventArgs { + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns the row index of the deselected row. + */ + rowIndex?: number; + + /** Returns the current deselected row element. + */ + row?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDeselectingEventArgs { + + /** Returns the deselecting row index value. + */ + rowIndex?: number; + + /** Returns the deselecting row element. + */ + row?: any; + + /** Returns current record object (JSON). + */ + data?: any; + + /** Returns whether the ctrl key is pressed while deselecting row + */ + isCtrlKeyPressed?: boolean; + + /** Returns whether the shift key is pressed while deselecting row + */ + isShiftKeyPressed?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface TemplateRefreshEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell object. + */ + cell?: any; + + /** Returns the column object. + */ + column?: any; + + /** Returns the current row data. + */ + data?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the current row index. + */ + rowIndex?: number; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the status of toolbar item which denotes its enabled state + */ + status?: boolean; + + /** Returns the target item. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the grid model. + */ + gridModel?: any; + + /** Returns the toolbar object of the selected toolbar element. + */ + toolbarData?: any; + + /** Returns the Id of the current toolbar element. + */ + itemId?: string; + + /** Returns the index of the current toolbar element. + */ + itemIndex?: number; + + /** Returns the name of the current toolbar element. + */ + itemName?: string; + } + + export interface ColumnsCommand { + + /** Gets or sets an object that indicates to define all the button options which are available in ejButton. + */ + buttonOptions?: any; + + /** Gets or sets a value that indicates to add the command column button. See unboundType + */ + type?: ej.Grid.UnboundType | string; + } + + export interface Column { + + /** Sets the clip mode for Grid cell as ellipsis or clipped content(both header and content) + * @Default {ej.Grid.ClipMode.Clip} + */ + clipMode?: ej.Grid.ClipMode | string; + + /** Gets or sets a value that indicates whether to enable editing behavior for particular column. + * @Default {true} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic filtering behavior for particular column. + * @Default {true} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic grouping behavior for particular column. + * @Default {true} + */ + allowGrouping?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic sorting behavior for particular column. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable dynamic resizable for particular column. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets an object that indicates to define a command column in the grid. + * @Default {[]} + */ + commands?: ColumnsCommand[]; + + /** Gets or sets a value that indicates to provide custom CSS for an individual column. + */ + cssClass?: string; + + /** Gets or sets a value that indicates the attribute values to the td element of a particular column + */ + customAttributes?: any; + + /** Gets or sets a value that indicates to bind the external datasource to the particular column when column editType as dropdownedit and also it is used to bind the datasource + * to the foreign key column while editing the grid. //Where data is array of JSON objects of text and value for the drop-down and array of JSON objects for foreign key column. + * @Default {null} + */ + dataSource?: any[]; + + /** Gets or sets a value that indicates to display the specified default value while adding a new record to the grid + */ + defaultValue?: string | number | boolean | Date; + + /** Gets or sets a value that indicates to render the grid content and header with an HTML elements + * @Default {false} + */ + disableHtmlEncode?: boolean; + + /** Gets or sets a value that indicates to display a column value as checkbox or string + * @Default {true} + */ + displayAsCheckBox?: boolean; + + /** Gets or sets a value that indicates to customize ejNumericTextbox of an editable column. See editingType + */ + editParams?: any; + + /** Gets or sets a template that displays a custom editor used to edit column values. See editTemplate + * @Default {null} + */ + editTemplate?: any; + + /** Gets or sets a value that indicates to render the element(based on edit type) for editing the grid record. See editingType + * @Default {ej.Grid.EditingType.String} + */ + editType?: ej.Grid.EditingType | string; + + /** Gets or sets a value that indicates to groups the column based on its column format. + * @Default {false} + */ + enableGroupByFormat?: boolean; + + /** Gets or sets a value that indicates to display the columns in the grid mapping with column name of the dataSource. + */ + field?: string; + + /** Gets or sets a template that customize the filter control from default . See filterBarTemplate + * @Default {null} + */ + filterBarTemplate?: any; + + /** Gets or sets a value that indicates to render the excel or menu filter dialog to the grid columns. See filterType + * @Default {null} + */ + filterType?: ej.Grid.FilterType | string; + + /** Gets or sets a value that indicates to define foreign key field name of the grid datasource. + * @Default {null} + */ + foreignKeyField?: string; + + /** Gets or sets a value that indicates to bind the field which is in foreign column datasource based on the foreignKeyField + * @Default {null} + */ + foreignKeyValue?: string; + + /** Gets or sets a value that indicates the format for the text applied on the column + */ + format?: string; + + /** Gets or sets a value that indicates to add the template within the header element of the particular column. + * @Default {null} + */ + headerTemplateID?: string; + + /** Gets or sets a value that indicates to display the title of that particular column. + */ + headerText?: string; + + /** This defines the text alignment of a particular column header cell value. See headerTextAlign + * @Default {null} + */ + headerTextAlign?: ej.TextAlign | string; + + /** It accepts the string value and shows the tooltip for the Grid column header. + * @Default {null} + */ + headerTooltip?: string; + + /** You can use this property to freeze selected columns in grid at the time of scrolling. + * @Default {false} + */ + isFrozen?: boolean; + + /** Gets or sets a value that indicates the column has an identity in the database. + * @Default {false} + */ + isIdentity?: boolean; + + /** Gets or sets a value that indicates the column is act as a primary key(read-only) of the grid. The editing is performed based on the primary key column + * @Default {false} + */ + isPrimaryKey?: boolean; + + /** Gets or sets a value that indicates the order of Column that are to be hidden or visible when Grid element is in responsive mode and could not occupy all columns. + * @Default {-1} + */ + priority?: number; + + /** Used to hide the particular column in column chooser by giving value as false. + * @Default {true} + */ + showInColumnChooser?: boolean; + + /** Gets or sets a value that indicates whether to enables column template for a particular column. + * @Default {false} + */ + template?: boolean | string; + + /** Gets or sets a value that indicates to align the text within the column. See textAlign + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign | string; + + /** Sets the template for Tooltip in Grid Columns(both header and content) + */ + tooltip?: string; + + /** Gets or sets a value that indicates to specify the data type of the specified columns. + */ + type?: string; + + /** Gets or sets a value that indicates to define constraints for saving data to the database. + */ + validationRules?: any; + + /** Gets or sets a value that indicates whether this column is visible in the grid. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets a value that indicates to define the width for a particular column in the grid. + */ + width?: number; + } + + export interface ContextMenuSettingsSubContextMenu { + + /** Used to get or set the corresponding custom context menu item to which the submenu to be appended. + * @Default {null} + */ + contextMenuItem?: string; + + /** Used to get or set the sub menu items to the custom context menu item. + * @Default {[]} + */ + subMenu?: any[]; + } + + export interface ContextMenuSettings { + + /** Gets or sets a value that indicates whether to add the default context menu actions as a context menu items If enableContextMenu is true it will show all the items related to the target, + * if you want selected items from contextmenu you have to mention in the contextMenuItems + * @Default {[]} + */ + contextMenuItems?: any[]; + + /** Gets or sets a value that indicates whether to add custom contextMenu items within the toolbar to perform any action in the grid + * @Default {[]} + */ + customContextMenuItems?: any[]; + + /** Gets or sets a value that indicates whether to enable the context menu action in the grid. + * @Default {false} + */ + enableContextMenu?: boolean; + + /** Used to get or set the subMenu to the corresponding custom context menu item. + */ + subContextMenu?: ContextMenuSettingsSubContextMenu[]; + + /** Gets or sets a value that indicates whether to disable the default context menu items in the grid. + * @Default {false} + */ + disableDefaultItems?: boolean; + } + + export interface EditSettings { + + /** Gets or sets a value that indicates whether to enable insert action in the editing mode. + * @Default {false} + */ + allowAdding?: boolean; + + /** Gets or sets a value that indicates whether to enable the delete action in the editing mode. + * @Default {false} + */ + allowDeleting?: boolean; + + /** Gets or sets a value that indicates whether to enable the edit action in the editing mode. + * @Default {false} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable the editing action while double click on the record + * @Default {true} + */ + allowEditOnDblClick?: boolean; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Dialog Box + * @Default {null} + */ + dialogEditorTemplateID?: string; + + /** Gets or sets a value that indicates whether to define the mode of editing See editMode + * @Default {ej.Grid.EditMode.Normal} + */ + editMode?: ej.Grid.EditMode | string; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the External edit form + * @Default {null} + */ + externalFormTemplateID?: string; + + /** This specifies to set the position of an External edit form either in the top-right or bottom-left of the grid + * @Default {ej.Grid.FormPosition.BottomLeft} + */ + formPosition?: ej.Grid.FormPosition | string; + + /** This specifies the id of the template. This template can be used to display the data that you require to be edited using the Inline edit form + * @Default {null} + */ + inlineFormTemplateID?: string; + + /** This specifies to set the position of an adding new row either in the top or bottom of the grid + * @Default {ej.Grid.RowPosition.Top} + */ + rowPosition?: ej.Grid.RowPosition | string; + + /** Gets or sets a value that indicates whether the confirm dialog has to be shown while saving or discarding the batch changes + * @Default {true} + */ + showConfirmDialog?: boolean; + + /** Gets or sets a value that indicates whether the confirm dialog has to be shown while deleting record + * @Default {false} + */ + showDeleteConfirmDialog?: boolean; + + /** Gets or sets a value that indicates whether the title for edit form is different from the primarykey column. + * @Default {null} + */ + titleColumn?: string; + + /** Gets or sets a value that indicates whether to display the add new form by default in the grid. + * @Default {false} + */ + showAddNewRow?: boolean; + } + + export interface FilterSettingsFilteredColumn { + + /** Gets or sets a value that indicates whether to define the field name of the column to be filter. + */ + field?: string; + + /** Gets or sets a value that indicates whether to define the matchCase of given value to be filter. + */ + matchCase?: boolean; + + /** Gets or sets a value that indicates whether to define the filter condition to filtered column. See operator + */ + operator?: ej.FilterOperators | string; + + /** Gets or sets a value that indicates whether to define the predicate as and/or. + */ + predicate?: string; + + /** Gets or sets a value that indicates whether to define the value to be filtered in a column. + */ + value?: string | number; + } + + export interface FilterSettings { + + /** Gets or sets a value that indicates to perform the filter operation with case sensitive in excel styled filter menu mode + * @Default {false} + */ + enableCaseSensitivity?: boolean; + + /** Gets or sets a value that indicates to define the interDeterminateState of checkbox in excel filter dialog. + * @Default {true} + */ + enableInterDeterminateState?: boolean; + + /** This specifies the grid to starts the filter action while typing in the filterBar or after pressing the enter key. based on the filterBarMode. See filterBarMode. + * @Default {ej.Grid.FilterBarMode.Immediate} + */ + filterBarMode?: ej.Grid.FilterBarMode | string; + + /** Gets or sets a value that indicates whether to define the filtered columns details programmatically at initial load + * @Default {[]} + */ + filteredColumns?: FilterSettingsFilteredColumn[]; + + /** This specifies the grid to show the filterBar or filterMenu to the grid records. See filterType + * @Default {ej.Grid.FilterType.FilterBar} + */ + filterType?: ej.Grid.FilterType | string; + + /** This specifies the grid to delay the filter action while typing in the filterBar. + * @Default {1500} + */ + immediateModeDelay?: number; + + /** Gets or sets a value that indicates the maximum number of filter choices that can be showed in the excel styled filter menu. + * @Default {1000} + */ + maxFilterChoices?: number; + + /** This specifies the grid to show the filter text within the grid pager itself. + * @Default {true} + */ + showFilterBarMessage?: boolean; + + /** Gets or sets a value that indicates whether to enable the predicate options in the filtering menu + * @Default {false} + */ + showPredicate?: boolean; + } + + export interface GroupSettings { + + /** Gets or sets a value that customize the group caption format. + * @Default {null} + */ + captionFormat?: string; + + /** Gets or sets a value that indicates whether to enable animation button option in the group drop area of the grid. + * @Default {false} + */ + enableDropAreaAutoSizing?: boolean; + + /** Gets or sets a value that indicates whether to add grouped columns programmatically at initial load + * @Default {[]} + */ + groupedColumns?: any[]; + + /** Gets or sets a value that indicates whether to show the group drop area just above the column header. It can be used to avoid ungrouping the already grouped column using groupSettings. + * @Default {true} + */ + showDropArea?: boolean; + + /** Gets or sets a value that indicates whether to hide the grouped columns from the grid + * @Default {false} + */ + showGroupedColumn?: boolean; + + /** Gets or sets a value that indicates whether to show the group button image(toggle button)in the column header and also in the grouped column in the group drop area. + * It can be used to group/ungroup the columns by click on the toggle button. + * @Default {false} + */ + showToggleButton?: boolean; + + /** Gets or sets a value that indicates whether to enable the close button in the grouped column which is in the group drop area to ungroup the grouped column + * @Default {false} + */ + showUngroupButton?: boolean; + } + + export interface PageSettings { + + /** Gets or sets a value that indicates whether to define which page to display currently in the grid + * @Default {1} + */ + currentPage?: number; + + /** Gets or sets a value that indicates whether to pass the current page information as a query string along with the URL while navigating to other page. + * @Default {false} + */ + enableQueryString?: boolean; + + /** Gets or sets a value that indicates whether to enables pager template for the grid. + * @Default {false} + */ + enableTemplates?: boolean; + + /** Gets or sets a value that indicates whether to define the number of pages displayed in the pager for navigation + * @Default {8} + */ + pageCount?: number; + + /** Gets or sets a value that indicates whether to define the number of records displayed per page + * @Default {12} + */ + pageSize?: number; + + /** Gets or sets a value that indicates whether to enables default pager for the grid. + * @Default {false} + */ + showDefaults?: boolean; + + /** Gets or sets a value that indicates to add the template as a pager template for grid. + * @Default {null} + */ + template?: string; + + /** Get the value of total number of pages in the grid. The totalPages value is calculated based on page size and total records of grid + * @Default {null} + */ + totalPages?: number; + + /** Get the value of total number of records which is bound to the grid. The totalRecordsCount value is calculated based on dataSource bound to the grid. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Gets or sets a value that indicates whether to define the number of pages to print + * @Default {ej.Grid.PrintMode.AllPages} + */ + printMode?: ej.Grid.PrintMode | string; + } + + export interface ResizeSettings { + + /** Gets or sets a value that indicates whether to define the mode of resizing. + * @Default {ej.Grid.ResizeMode.Normal} + */ + resizeMode?: ej.Grid.ResizeMode | string; + } + + export interface RowDropSettings { + + /** This specifies the grid to drop the grid rows only at particular target element. + * @Default {null} + */ + dropTargetID?: any; + + /** This helps in mapping server-side action when rows are dragged from Grid. + * @Default {null} + */ + dragMapper?: string; + + /** This helps in mapping server-side action when rows are dropped in Grid. + * @Default {null} + */ + dropMapper?: string; + } + + export interface SearchSettings { + + /** This specify the grid to search for the value in particular columns that is mentioned in the field. + * @Default {[]} + */ + fields?: any; + + /** This specifies the grid to search the particular data that is mentioned in the key. + */ + key?: string; + + /** It specifies the grid to search the records based on operator. + * @Default {contains} + */ + operator?: string; + + /** It enables or disables case-sensitivity while searching the search key in grid. + * @Default {true} + */ + ignoreCase?: boolean; + } + + export interface SelectionSettings { + + /** Gets or sets a value that indicates the cell selection actions based on the cell selection mode. + * @Default {flow} + */ + cellSelectionMode?: string; + + /** Gets or sets a value that indicates whether to enable the toggle selection behavior for row, cell and column. + * @Default {false} + */ + enableToggle?: boolean; + + /** Gets or sets a value that indicates whether to add the default selection actions as a selection mode.See selectionMode + * @Default {[row]} + */ + selectionMode?: any[]; + } + + export interface ScrollSettings { + + /** This specify the grid to to view data that you require without buffering the entire load of a huge database + * @Default {false} + */ + allowVirtualScrolling?: boolean; + + /** It accepts the boolean value and shows or hides the scrollbar while focus in or focus out of the Grid. + * @Default {false} + */ + autoHide?: boolean; + + /** Specifies the height and width of button in the scrollbar. + * @Default {18} + */ + buttonSize?: number; + + /** This specify the grid to enable/disable touch control for scrolling. + * @Default {true} + */ + enableTouchScroll?: boolean; + + /** This specify the grid to freeze particular columns at the time of scrolling. + * @Default {0} + */ + frozenColumns?: number; + + /** This specify the grid to freeze particular rows at the time of scrolling. + * @Default {0} + */ + frozenRows?: number; + + /** This specify the grid to show the vertical scroll bar, to scroll and view the grid contents. + * @Default {0} + */ + height?: string | number; + + /** It accepts the integer value and sets the width of scrollbar. + * @Default {18} + */ + scrollerSize?: number; + + /** This is used to define the mode of virtual scrolling in grid. See virtualScrollMode + * @Default {ej.Grid.VirtualScrollMode.Normal} + */ + virtualScrollMode?: ej.Grid.VirtualScrollMode | string; + + /** This is used to enable the enhanced virtual scrolling in Grid. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** This specify the grid to show the horizontal scroll bar, to scroll and view the grid contents + * @Default {250} + */ + width?: string | number; + + /** This specify the scroll down pixel of mouse wheel, to scroll mouse wheel and view the grid contents. + * @Default {57} + */ + scrollOneStepBy?: number; + } + + export interface SortSettingsSortedColumn { + + /** Gets or sets a value that indicates whether to define the direction to sort the column. + */ + direction?: string; + + /** Gets or sets a value that indicates whether to define the field name of the column to be sort + */ + field?: string; + } + + export interface SortSettings { + + /** Gets or sets a value that indicates whether to define the direction and field to sort the column. + */ + sortedColumns?: SortSettingsSortedColumn[]; + } + + export interface StackedHeaderRowsStackedHeaderColumn { + + /** Gets or sets a value that indicates the header text for the particular stacked header column. + * @Default {null} + */ + column?: any; + + /** Gets or sets a value that indicates class to the corresponding stackedHeaderColumn. + * @Default {null} + */ + cssClass?: string; + + /** Gets or sets a value that indicates the header text for the particular stacked header column. + * @Default {null} + */ + headerText?: string; + + /** Gets or sets a value that indicates the text alignment of the corresponding headerText. + * @Default {ej.TextAlign.Left} + */ + textAlign?: string; + + /** Sets the template for tooltip for the Grid stackedHeaderColumns. + * @Default {null} + */ + tooltip?: string; + } + + export interface StackedHeaderRow { + + /** Gets or sets a value that indicates whether to add stacked header columns into the stacked header rows + * @Default {[]} + */ + stackedHeaderColumns?: StackedHeaderRowsStackedHeaderColumn[]; + } + + export interface SummaryRowsSummaryColumn { + + /** Gets or sets a value that indicates the text displayed in the summary column as a value + * @Default {null} + */ + customSummaryValue?: string; + + /** This specifies summary column used to perform the summary calculation + * @Default {null} + */ + dataMember?: string; + + /** Gets or sets a value that indicates to define the target column at which to display the summary. + * @Default {null} + */ + displayColumn?: string; + + /** Gets or sets a value that indicates the format for the text applied on the column + * @Default {null} + */ + format?: string; + + /** Gets or sets a value that indicates the text displayed before the summary column value + * @Default {null} + */ + prefix?: string; + + /** Gets or sets a value that indicates the text displayed after the summary column value + * @Default {null} + */ + suffix?: string; + + /** Gets or sets a value that indicates the type of calculations to be performed for the corresponding summary column + * @Default {[]} + */ + summaryType?: ej.Grid.SummaryType | string; + + /** Gets or sets a value that indicates to add the template for the summary value of dataMember given. + * @Default {null} + */ + template?: string; + } + + export interface SummaryRow { + + /** Gets or sets a value that indicates whether to show the summary value within the group caption area for the corresponding summary column while grouping the column + * @Default {false} + */ + showCaptionSummary?: boolean; + + /** Gets or sets a value that indicates whether to show the group summary value for the corresponding summary column while grouping a column + * @Default {false} + */ + showGroupSummary?: boolean; + + /** Gets or sets a value that indicates whether to show the total summary value the for the corresponding summary column. The summary row is added after the grid content. + * @Default {true} + */ + showTotalSummary?: boolean; + + /** Gets or sets a value that indicates whether to add summary columns into the summary rows. + * @Default {[]} + */ + summaryColumns?: SummaryRowsSummaryColumn[]; + + /** This specifies the grid to show the title for the summary rows. + */ + title?: string; + + /** This specifies the grid to show the title of summary row in the specified column. + * @Default {null} + */ + titleColumn?: string; + } + + export interface TextWrapSettings { + + /** This specifies the grid to apply the auto wrap for grid content or header or both. + * @Default {ej.Grid.WrapMode.Both} + */ + wrapMode?: ej.Grid.WrapMode | string; + } + + export interface ToolbarSettings { + + /** Gets or sets a value that indicates whether to add custom toolbar items within the toolbar to perform any action in the grid + * @Default {[]} + */ + customToolbarItems?: any[]; + + /** Gets or sets a value that indicates whether to enable toolbar in the grid. + * @Default {false} + */ + showToolbar?: boolean; + + /** Gets or sets a value that indicates whether to add the default editing actions as a toolbar items + * @Default {[]} + */ + toolbarItems?: Array; + } + + enum GridLines { + + ///Displays both the horizontal and vertical grid lines. + Both, + + ///Displays the horizontal grid lines only. + Horizontal, + + ///Displays the vertical grid lines only. + Vertical, + + ///No grid lines are displayed. + None + } + + + enum ClipMode { + + ///Shows ellipsis for the overflown cell. + Ellipsis, + + ///Truncate the text in the cell + Clip, + + ///Shows ellipsis and tooltip for the overflown cell. + EllipsisWithTooltip + } + + + enum ColumnLayout { + + ///Column layout is auto(based on width). + Auto, + + ///Column layout is fixed(based on width). + Fixed + } + + + enum UnboundType { + + ///Unbound type is edit. + Edit, + + ///Unbound type is save. + Save, + + ///Unbound type is delete. + Delete, + + ///Unbound type is cancel. + Cancel + } + + + enum EditingType { + + ///Specifies editing type as string edit. + String, + + ///Specifies editing type as boolean edit. + Boolean, + + ///Specifies editing type as numeric edit. + Numeric, + + ///Specifies editing type as dropdown edit. + Dropdown, + + ///Specifies editing type as datepicker. + DatePicker, + + ///Specifies editing type as datetime picker. + DateTimePicker + } + + + enum FilterType { + + ///Specifies the filter type as menu. + Menu, + + ///Specifies the filter type as excel. + Excel + } + + + enum EditMode { + + ///Edit mode is normal. + Normal, + + ///Edit mode is dialog. + Dialog, + + ///Edit mode is dialog template. + DialogTemplate, + + ///Edit mode is batch. + Batch, + + ///Edit mode is inline form. + InlineForm, + + ///Edit mode is inline template form. + InlineTemplateForm, + + ///Edit mode is external form. + ExternalForm, + + ///Edit mode is external form template. + ExternalFormTemplate + } + + + enum FormPosition { + + ///Form position is bottomleft. + BottomLeft, + + ///Form position is topright. + TopRight + } + + + enum RowPosition { + + ///Specifies position of add new row as top. + Top, + + ///Specifies position of add new row as bottom. + Bottom + } + + + enum FilterBarMode { + + ///Initiate filter operation on typing the filter query. + Immediate, + + ///Initiate filter operation after Enter key is pressed. + OnEnter + } + + + enum PrintMode { + + ///Prints all pages. + AllPages, + + ///Prints current page. + CurrentPage + } + + + enum ResizeMode { + + ///New column size will be adjusted by all other Columns + Normal, + + ///New column Size will be adjusted using next column. + NextColumn, + + ///New column Size will be adjusted using entire control + Control + } + + + enum SelectionType { + + ///Specifies the selection type as single. + Single, + + ///Specifies the selection type as multiple. + Multiple + } + + + enum VirtualScrollMode { + + ///virtual scroll mode is normal. + Normal, + + ///virtual scroll mode is continuous. + Continuous + } + + + enum SummaryType { + + ///Summary type is average. + Average, + + ///Summary type is minimum. + Minimum, + + ///Summary type is maximum. + Maximum, + + ///Summary type is count. + Count, + + ///Summary type is sum. + Sum, + + ///Summary type is custom. + Custom, + + ///Summary type is true count. + TrueCount, + + ///Summary type is false count. + FalseCount + } + + + enum WrapMode { + + ///Auto wrap is applied for both content and header. + Both, + + ///Auto wrap is applied only for content. + Content, + + ///Auto wrap is applied only for header. + Header + } + + + enum ToolBarItems { + + ///Toolbar item is add. + Add, + + ///Toolbar item is edit. + Edit, + + ///Toolbar item is delete. + Delete, + + ///Toolbar item is update. + Update, + + ///Toolbar item is cancel. + Cancel, + + ///Toolbar item is search. + Search, + + ///Toolbar item is pdfExport. + PdfExport, + + ///Toolbar item is printGrid. + PrintGrid, + + ///Toolbar item is wordExport. + WordExport + } + } - export interface XLCFormat { + class Sparkline extends ej.Widget { + static fn: Sparkline; + constructor(element: JQuery | Element, options?: Sparkline.Model); + static Locale: any; + model: Sparkline.Model; + defaults: Sparkline.Model; - /** This method is used to clear the applied conditional formatting rules in the Spreadsheet. - * @param {Array|string} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + /** Redraws the entire sparkline. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. * @returns {void} */ - clearCF(range: any[] | string): void; + redraw(): void; + } + export namespace Sparkline { - /** This method is used to get the applied conditional formatting rules as array of objects based on the specified row Index and column Index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the column index. - * @returns {Array} - */ - getCFRule(rowIdx: number, colIdx: number): any[]; + export interface Model { - /** This method is used to set the conditional formatting rule in the Spreadsheet. - * @param {any} Pass the rule to set. - * @returns {void} - */ - setCFRule(rule: any): void; + /** Background color of the plot area. + * @Default {transparent} + */ + background?: string; + + /** Fill color for the sparkline series. + * @Default {#33ccff} + */ + fill?: string; + + /** Border color of the series. + * @Default {null} + */ + stroke?: string; + + /** Options for customizing the color, opacity and width of the sparkline border. + */ + border?: Border; + + /** Border width of the series. + * @Default {1} + */ + width?: number; + + /** Opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Color for series high point. + * @Default {null} + */ + highPointColor?: string; + + /** Color for series low point. + * @Default {null} + */ + lowPointColor?: string; + + /** Color for series start point. + * @Default {null} + */ + startPointColor?: string; + + /** Color for series end point. + * @Default {null} + */ + endPointColor?: string; + + /** Color for series negative point. + * @Default {null} + */ + negativePointColor?: string; + + /** Options for customizing the color, opacity of the sparkline start and end range. + */ + rangeBandSettings?: RangeBandSettings; + + /** Name of a field in data source, where the fill color for all the data points is generated. + */ + palette?: string; + + /** Controls whether sparkline has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Controls whether Sparkline has to be rendered as Canvas or SVG.Canvas rendering supports all functionalities in SVG rendering. + * @Default {false} + */ + enableCanvasRendering?: boolean; + + /** Specifies the dataSource for the series. It can be an array of JSON objects or an instance of ej.DataManager. + * @Default {null} + */ + dataSource?: any; + + /** Name of the property in the datasource that contains x value for the series. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y value for the series. + * @Default {null} + */ + yName?: string; + + /** Gap or padding for sparkline. + * @Default {8} + */ + padding?: number; + + /** Specifies the type of the series to render in sparkline. + * @Default {line. See Type} + */ + type?: ej.datavisualization.Sparkline.Type | string; + + /** Specifies the theme for Sparkline. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sparkline.Theme | string; + + /** Options to customize the tooltip. + */ + tooltip?: Tooltip; + + /** Options for displaying and customizing marker for a data point. + */ + markerSettings?: MarkerSettings; + + /** Options to customize the Sparkline size. + */ + size?: Size; + + /** Options for customizing the color,dashArray and width of the axisLine. + */ + axisLineSettings?: AxisLineSettings; + + /** Fires before loading the sparkline. */ + load?(e: LoadEventArgs): void; + + /** Fires after loaded the sparkline. */ + loaded?(e: LoadedEventArgs): void; + + /** Fires before rendering trackball tooltip. You can use this event to customize the text displayed in trackball tooltip. */ + tooltipInitialize?(e: TooltipInitializeEventArgs): void; + + /** Fires before rendering a series. This event is fired for each series in Sparkline. */ + seriesRendering?(e: SeriesRenderingEventArgs): void; + + /** Fires when mouse is moved over a point. */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; + + /** Fires on clicking a point in sparkline. You can use this event to handle clicks made on points. */ + pointRegionMouseClick?(e: PointRegionMouseClickEventArgs): void; + + /** Fires on moving mouse over the sparkline. */ + sparklineMouseMove?(e: SparklineMouseMoveEventArgs): void; + + /** Fires on moving mouse outside the sparkline. */ + sparklineMouseLeave?(e: SparklineMouseLeaveEventArgs): void; + } + + export interface LoadEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface LoadedEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface TooltipInitializeEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X Location of the trackball tooltip in pixels + */ + locationX?: any; + + /** Y Location of the trackball tooltip in pixels + */ + locationY?: any; + + /** Index of the point for which trackball tooltip is displayed + */ + pointIndex?: number; + + /** Text to be displayed in trackball tooltip. Use this option to add custom text in trackball tooltip + */ + currentText?: string; + } + + export interface SeriesRenderingEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** Minimum x value of the data point + */ + minX?: any; + + /** Minimum y value of the data point + */ + minY?: any; + + /** Maximum x value of the data point + */ + maxX?: any; + + /** Maximum y value of the data point + */ + maxY?: any; + } + + export interface PointRegionMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; + } + + export interface PointRegionMouseClickEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + + /** X-coordinate of point in pixel + */ + locationX?: number; + + /** Y-coordinate of point in pixel + */ + locationY?: number; + + /** Index of the point in series + */ + pointIndex?: number; + + /** Type of the series + */ + seriesType?: string; + } + + export interface SparklineMouseMoveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface SparklineMouseLeaveEventArgs { + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sparkline model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of the sparkline. + * @Default {transparent} + */ + color?: string; + + /** Width of the Sparkline border. + * @Default {1} + */ + width?: number; + } + + export interface RangeBandSettings { + + /** Start value of the range band. + * @Default {null} + */ + startRange?: number; + + /** End value of the range band. + * @Default {null} + */ + endRange?: number; + + /** Range band opacity of the series. + * @Default {1} + */ + opacity?: number; + + /** Range band color of the series. + * @Default {transparent} + */ + color?: string; + } + + export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {transparent} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {1} + */ + width?: number; + } + + export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {#111111} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sparkline.FontStyle | string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sparkline.FontWeight | string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {8px} + */ + size?: string; + } + + export interface Tooltip { + + /** Show/hides the tooltip visibility. + * @Default {false} + */ + visible?: boolean; + + /** Fill color for the sparkline tooltip. + * @Default {white} + */ + fill?: string; + + /** Custom template to the tooltip. + */ + template?: string; + + /** Options for customizing the border of the tooltip. + */ + border?: TooltipBorder; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + } + + export interface MarkerSettingsBorder { + + /** Border color of the marker shape. + * @Default {transparent} + */ + color?: string; + + /** Controls the opacity of the marker border. + * @Default {1} + */ + opacity?: number; + + /** Border width of the marker shape. + * @Default {null} + */ + width?: number; + } + + export interface MarkerSettings { + + /** Controls the opacity of the marker. + * @Default {1} + */ + opacity?: number; + + /** Controls the visibility of the marker shape. + * @Default {false} + */ + visible?: boolean; + + /** width of the marker shape. + * @Default {2} + */ + width?: number; + + /** Color of the marker shape. + * @Default {white} + */ + fill?: string; + + /** Options for customizing the border of the marker shape. + */ + border?: MarkerSettingsBorder; + } + + export interface Size { + + /** Height of the Sparkline. Height can be specified in either pixel or percentage. + * @Default {''} + */ + height?: string; + + /** Width of the Sparkline. Width can be specified in either pixel or percentage. + * @Default {''} + */ + width?: string; + } + + export interface AxisLineSettings { + + /** Controls the visibility of the axis. + * @Default {false} + */ + visible?: boolean; + + /** Color of the axis line. + * @Default {'#111111'} + */ + color?: string; + + /** Width of the axis line. + * @Default {1} + */ + width?: number; + + /** Dash array of the axis line. + * @Default {1} + */ + dashArray?: number; + } + } + namespace Sparkline { + enum Type { + //string + Area, + //string + Line, + //string + Column, + //string + Pie, + //string + WinLoss, + } + } + namespace Sparkline { + enum Theme { + //string + Azure, + //string + FlatLight, + //string + FlatDark, + //string + Azuredark, + //string + Lime, + //string + LimeDark, + //string + Saffron, + //string + SaffronDark, + //string + GradientLight, + //string + GradientDark, + } + } + namespace Sparkline { + enum FontStyle { + //string + Normal, + //string + Italic, + } + } + namespace Sparkline { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } } - export interface XLChart { + class SunburstChart extends ej.Widget { + static fn: SunburstChart; + constructor(element: JQuery | Element, options?: SunburstChart.Model); + static Locale: any; + model: SunburstChart.Model; + defaults: SunburstChart.Model; - /** This method is used to change the theme of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {ej.datavisualization.Chart.Theme} Pass the chart theme which want to update. + /** Redraws the entire sunburst. You can call this method whenever you update, add or remove points from the data source or whenever you want to refresh the UI. * @returns {void} */ - changeTheme(chartId: string, theme: ej.datavisualization.Chart.Theme): void; + redraw(): void; - /** This method is used to change the type of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {any} Pass the chart type. + /** destroy the sunburst * @returns {void} */ - changeType(chartId: string, option: any): void; + _destroy(): void; + } + export namespace SunburstChart { - /** This method is used to change the data range of the chart in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {string} X axis range of chart data. - * @param {string} Y axis range of chart data. - * @param {string} Legend range of chart data. - * @returns {void} - */ - changeDataRange(chartId: string, xRange: string, yRange: string, lRange: string): void; + export interface Model { - /** This method is used to create a chart for specified range in Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will create chart for the specified range else it will use the current selected range. - * @param {any} Optional. To pass the type of chart and chart name. - * @returns {void} - */ - createChart(range: string | any[], options: any): void; + /** Background color of the plot area. + * @Default {null} + */ + background?: string; - /** This method is used to refresh the chart in the Spreadsheet. - * @param {string} To pass the chart Id. - * @param {any} To pass the type of chart and chart name. - * @returns {void} - */ - refreshChart(id: string, options: any): void; + /** Bind the data field from the data source. + * @Default {null} + */ + valueMemberPath?: string; - /** This method is used to resize the chart of specified id in the Spreadsheet. - * @param {string} To pass the chart id. - * @param {number} To pass height value. - * @param {number} To pass the width value. - * @returns {void} - */ - resizeChart(id: string, height: number, width: number): void; + /** Options for customizing the sunburst border. + */ + border?: Border; - /** This method is used to update the chart element, such as axes, titles, data labels, grid lines and legends in the Spreadsheet. - * @param {string} Pass the chart id. - * @param {ej.Spreadsheet.ChartProperties} Pass chart element value which you want to update. - * @returns {void} - */ - updateChartElement(chartId: string, value: ej.Spreadsheet.ChartProperties): void; + /** Options for customizing the sunburst segment border. + */ + segmentBorder?: SegmentBorder; - /** This method is used switch row to columns and vice versa for chart in the Spreadsheet. So that the data is displayed in the chart the way you want. - * @param {string} Pass the chart id. - * @returns {void} - */ - switchRowColumn(chartId: string): void; + /** Specifies the dataSource to the sunburst. + * @Default {null} + */ + dataSource?: any; + + /** Palette color for the data points. + * @Default {null} + */ + palette?: string; + + /** Parent node of the data points. + * @Default {null} + */ + parentNode?: string; + + /** Name of the property in the datasource that contains x values. + * @Default {null} + */ + xName?: string; + + /** Name of the property in the datasource that contains y values. + * @Default {null} + */ + yName?: string; + + /** Controls whether sunburst has to be responsive or not. + * @Default {true} + */ + isResponsive?: boolean; + + /** Options to customize the Sunburst size. + */ + size?: Size; + + /** Controls the visibility of sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options to customize the Sunburst tooltip. + */ + tooltip?: Tooltip; + + /** Options for customizing sunburst points. + */ + points?: Points; + + /** Sunburst rendering will start from the specified value + * @Default {null} + */ + startAngle?: number; + + /** Sunburst rendering will end at the specified value + * @Default {null} + */ + endAngle?: number; + + /** Sunburst outer radius value + * @Default {1} + */ + radius?: number; + + /** Sunburst inner radius value + * @Default {0.4} + */ + innerRadius?: number; + + /** Options to customize the Sunburst dataLabel. + */ + dataLabelSettings?: DataLabelSettings; + + /** Options for customizing the title and subtitle of sunburst. + */ + title?: Title; + + /** Options for customizing the appearance of the levels or point while highlighting. + */ + highlightSettings?: HighlightSettings; + + /** Options for customizing the appearance of the levels or data point while selection. + */ + selectionSettings?: SelectionSettings; + + /** Specify levels of sunburst for grouped visualization of data + * @Default {[]} + */ + levels?: Level[]; + + /** Options to customize the legend items and legend title. + */ + legend?: Legend; + + /** Specifies the theme for Sunburst. + * @Default {Flatlight. See Theme} + */ + theme?: ej.datavisualization.Sunburst.SunburstTheme | string; + + /** Options to customize the left, right, top and bottom margins of sunburst area. + */ + margin?: Margin; + + /** Enable/disable the animation for all the levels. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Opacity of the levels. + * @Default {1} + */ + opacity?: number; + + /** Options for enable zooming feature of chart. + */ + zoomSettings?: ZoomSettings; + + /** Animation type of sunburst + * @Default {rotation. See Alignment} + */ + animationType?: ej.datavisualization.Sunburst.Animation | string; + + /** Fires before loading. */ + load?(e: LoadEventArgs): void; + + /** Fires before rendering sunburst. */ + preRender?(e: PreRenderEventArgs): void; + + /** Fires after rendering sunburst. */ + loaded?(e: LoadedEventArgs): void; + + /** Fires before rendering the datalabel */ + dataLabelRendering?(e: DataLabelRenderingEventArgs): void; + + /** Fires before rendering each segment */ + segmentRendering?(e: SegmentRenderingEventArgs): void; + + /** Fires before rendering sunburst title. */ + titleRendering?(e: TitleRenderingEventArgs): void; + + /** Fires during initialization of tooltip. */ + tooltipInitialize?(e: TooltipInitializeEventArgs): void; + + /** Fires after clicking the point in sunburst */ + pointRegionClick?(e: PointRegionClickEventArgs): void; + + /** Fires while moving the mouse over sunburst points */ + pointRegionMouseMove?(e: PointRegionMouseMoveEventArgs): void; + + /** Fires when clicking the point to perform drilldown. */ + drillDownClick?(e: DrillDownClickEventArgs): void; + + /** Fires when resetting drilldown points. */ + drillDownBack?(e: DrillDownBackEventArgs): void; + + /** Fires after resetting the sunburst points */ + drillDownReset?(e: DrillDownResetEventArgs): void; + } + + export interface LoadEventArgs { + + /** Load event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface PreRenderEventArgs { + + /** PreRender event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface LoadedEventArgs { + + /** Loaded event data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface DataLabelRenderingEventArgs { + + /** Sunburst datalabel data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface SegmentRenderingEventArgs { + + /** Sunburst datalabel data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface TitleRenderingEventArgs { + + /** Sunburst title data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface TooltipInitializeEventArgs { + + /** Sunburst tooltip data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface PointRegionClickEventArgs { + + /** Includes clicked points region data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface PointRegionMouseMoveEventArgs { + + /** Includes data of mouse moved region + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface DrillDownClickEventArgs { + + /** Clicked point data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface DrillDownBackEventArgs { + + /** Drill down data of points + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface DrillDownResetEventArgs { + + /** Drill down reset data + */ + data?: string; + + /** Set this option to true to cancel the event + */ + cancel?: boolean; + + /** Instance of the sunburst model object + */ + model?: any; + + /** Name of the event + */ + type?: string; + } + + export interface Border { + + /** Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst border. + * @Default {2} + */ + width?: number; + } + + export interface SegmentBorder { + + /** Segment Border color of the sunburst. + * @Default {null} + */ + color?: string; + + /** Width of the Sunburst segment border. + * @Default {2} + */ + width?: number; + } + + export interface Size { + + /** Height of the Sunburst. + * @Default {''} + */ + height?: string; + + /** Width of the Sunburst. + * @Default {''} + */ + width?: string; + } + + export interface TooltipBorder { + + /** Border color of the tooltip. + * @Default {null} + */ + color?: string; + + /** Border width of the tooltip. + * @Default {5} + */ + width?: number; + } + + export interface TooltipFont { + + /** Font color of the text in the tooltip. + * @Default {null} + */ + color?: string; + + /** Font Family for the tooltip. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Specifies the font Style for the tooltip. + * @Default {Normal} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Specifies the font weight for the tooltip. + * @Default {Regular} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity for text in the tooltip. + * @Default {1} + */ + opacity?: number; + + /** Font size for text in the tooltip. + * @Default {12px} + */ + size?: string; + } + + export interface Tooltip { + + /** tooltip visibility of the Sunburst. + * @Default {true} + */ + visible?: boolean; + + /** Options for customizing the border of the sunburst tooltip. + */ + border?: TooltipBorder; + + /** Fill color for the sunburst tooltip. + * @Default {null} + */ + fill?: string; + + /** Options for customizing the font of the tooltip. + */ + font?: TooltipFont; + + /** Custom template to the tooltip. + * @Default {null} + */ + template?: string; + } + + export interface Points { + + /** Points x value of the sunburst. + * @Default {null} + */ + x?: string; + + /** Points y value of the sunburst. + * @Default {null} + */ + y?: number; + + /** Points text of the sunburst. + * @Default {null} + */ + text?: string; + + /** Points fill color of the sunburst. + * @Default {null} + */ + fill?: string; + } + + export interface DataLabelSettingsFont { + + /** Font family of the data label. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style of the data label. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight of the data label. + * @Default {regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the text. + * @Default {1} + */ + opacity?: number; + + /** Font color of the data label text. + * @Default {null} + */ + color?: string; + + /** Font size of the data label. + * @Default {12px} + */ + size?: string; + } + + export interface DataLabelSettings { + + /** Datalabel visibility of the Sunburst. + * @Default {false} + */ + visible?: boolean; + + /** Alignment of sunburst datalabel + * @Default {Angle. See DatalabelAlignment} + */ + labelRotationMode?: ej.datavisualization.Sunburst.SunburstLabelRotationMode | string; + + /** Options for customizing the data label font. + */ + font?: DataLabelSettingsFont; + + /** Custom template for datalabel + * @Default {null} + */ + template?: string; + + /** Fill color for the datalabel + * @Default {null} + */ + fill?: string; + + /** Datalabel overflow mode + * @Default {Trim. See LabelOverflowMode} + */ + labelOverflowMode?: ej.datavisualization.Sunburst.SunburstLabelOverflowMode | string; + } + + export interface TitleFont { + + /** Font family for Sunburst title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for Sunburst title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for Sunburst title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the Sunburst title. + * @Default {1} + */ + opacity?: number; + + /** Font size for Sunburst title. + * @Default {20px} + */ + size?: string; + } + + export interface TitleSubtitleFont { + + /** Font family of sub title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for sub title. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for sub title. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Opacity of the sub title. + * @Default {1} + */ + opacity?: number; + + /** Font size for sub title. + * @Default {12px} + */ + size?: string; + } + + export interface TitleSubtitle { + + /** Subtitle text for sunburst + */ + text?: string; + + /** Sub title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Sub title text alignment + * @Default {far. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the font of sub title. + */ + font?: TitleSubtitleFont; + } + + export interface Title { + + /** Title text for sunburst + */ + text?: string; + + /** Title text visibility for sunburst + * @Default {true} + */ + visible?: string; + + /** Title text alignment + * @Default {center. See TextAlignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the font of sunburst title. + */ + font?: TitleFont; + + /** Options to customize the sub title of Sunburst. + */ + subtitle?: TitleSubtitle; + } + + export interface HighlightSettings { + + /** Enables/disables the ability to highlight the levels or point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or point has to be highlighted. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; + + /** Color of the levels/point on highlight. + * @Default {red} + */ + color?: string; + + /** Opacity of the levels/point on highlight. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be highlighted. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; + } + + export interface SelectionSettings { + + /** Enables/disables the ability to select the levels or data point interactively. + * @Default {false} + */ + enable?: boolean; + + /** Specifies whether the levels or data point has to be selected. + * @Default {point. See Mode} + */ + mode?: ej.datavisualization.Sunburst.SunburstHighlightMode | string; + + /** Color of the levels/point on selection. + * @Default {green} + */ + color?: string; + + /** Opacity of the levels/point on selection. + * @Default {0.5} + */ + opacity?: number; + + /** Specifies whether the levels or data point has to be selected. + * @Default {opacity. See Mode} + */ + type?: ej.datavisualization.Sunburst.SunburstHighlightType | string; + } + + export interface Level { + + /** Specifies the group member path + * @Default {null} + */ + groupMemberPath?: string; + } + + export interface LegendBorder { + + /** Border color of the legend. + * @Default {null} + */ + color?: string; + + /** Border width of the legend. + * @Default {1} + */ + width?: number; + } + + export interface LegendFont { + + /** Font family for legend item text. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend item text. + * @Default {Normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for legend item text. + * @Default {Regular. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Font size for legend item text. + * @Default {12px} + */ + size?: string; + } + + export interface LegendItemStyle { + + /** Height of the shape in legend items. + * @Default {10} + */ + height?: number; + + /** Width of the shape in legend items. + * @Default {10} + */ + width?: number; + } + + export interface LegendLocation { + + /** X value or horizontal offset to position the legend in chart. + * @Default {0} + */ + x?: number; + + /** Y value or vertical offset to position the legend. + * @Default {0} + */ + y?: number; + } + + export interface LegendSize { + + /** Height of the legend. Height can be specified in either pixel or percentage. + * @Default {null} + */ + height?: string; + + /** Width of the legend. Width can be specified in either pixel or percentage. + * @Default {null} + */ + width?: string; + } + + export interface LegendTitleFont { + + /** Font family for the text in legend title. + * @Default {Segoe UI} + */ + fontFamily?: string; + + /** Font style for legend title. + * @Default {normal. See FontStyle} + */ + fontStyle?: ej.datavisualization.Sunburst.FontStyle | string; + + /** Font weight for legend title. + * @Default {normal. See FontWeight} + */ + fontWeight?: ej.datavisualization.Sunburst.FontWeight | string; + + /** Font size for legend title. + * @Default {12px} + */ + size?: string; + } + + export interface LegendTitle { + + /** Options to customize the font used for legend title + */ + font?: LegendTitleFont; + + /** Enables or disables the legend title. + * @Default {true} + */ + visible?: string; + + /** Text to be displayed in legend title. + */ + text?: string; + + /** Alignment of the legend title. + * @Default {center. See Alignment} + */ + textAlignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + } + + export interface Legend { + + /** Visibility of the legend. + * @Default {false} + */ + visible?: boolean; + + /** Interactive action of legend items. + * @Default {toggleSegmentVisibility. See Alignment} + */ + clickAction?: ej.datavisualization.Sunburst.SunburstClickAction | string; + + /** Horizontal alignment of the legend. + * @Default {Center. See Alignment} + */ + alignment?: ej.datavisualization.Sunburst.SunburstAlignment | string; + + /** Options for customizing the legend border. + */ + border?: LegendBorder; + + /** Number of columns to arrange the legend items. + * @Default {null} + */ + columnCount?: number; + + /** Number of rows to arrange the legend items. + * @Default {null} + */ + rowCount?: number; + + /** Options to customize the font used for legend item text. + */ + font?: LegendFont; + + /** Gap or padding between the legend items. + * @Default {10} + */ + itemPadding?: number; + + /** Options to customize the style of legend items. + */ + itemStyle?: LegendItemStyle; + + /** Options to customize the location of sunburst legend. Legend is placed in provided location only when value of position property is custom + */ + location?: LegendLocation; + + /** Places the legend at specified position. Legend can be placed at left, right, top or bottom of the chart area.To manually specify the location of legend, set custom as value to this property. + * @Default {Bottom. See Position} + */ + position?: ej.datavisualization.Sunburst.SunburstLegendPosition | string; + + /** Shape of the legend items. + * @Default {None. See Shape} + */ + shape?: ej.datavisualization.Sunburst.SunburstLegendShape | string; + + /** Options to customize the size of the legend. + */ + size?: LegendSize; + + /** Options to customize the legend title. + */ + title?: LegendTitle; + } + + export interface Margin { + + /** Spacing for the left margin of chart area. Setting positive value decreases the width of the chart area from left side. + * @Default {10} + */ + left?: number; + + /** Spacing for the right margin of chart area. Setting positive value decreases the width of the chart area from right side. + * @Default {10} + */ + right?: number; + + /** Spacing for the top margin of chart area. Setting positive value decreases the height of the chart area from the top. + * @Default {10} + */ + top?: number; + + /** Spacing for the bottom margin of the chart area. Setting positive value decreases the height of the chart area from the bottom. + * @Default {10} + */ + bottom?: number; + } + + export interface ZoomSettings { + + /** Enables or disables zooming. + * @Default {false} + */ + enable?: boolean; + + /** Toolbar horizontal alignment + * @Default {right. See Alignment} + */ + toolbarHorizontalAlignment?: ej.datavisualization.Sunburst.SunburstHorizontalAlignment | string; + + /** Toolbar vertical alignment + * @Default {top. See Alignment} + */ + toolbarVerticalAlignment?: ej.datavisualization.Sunburst.SunburstVerticalAlignment | string; + } + } + namespace Sunburst { + enum FontStyle { + //string + Normal, + //string + Italic, + } + } + namespace Sunburst { + enum FontWeight { + //string + Regular, + //string + Bold, + //string + Lighter, + } + } + namespace Sunburst { + enum SunburstLabelRotationMode { + //string + Angle, + //string + Normal, + } + } + namespace Sunburst { + enum SunburstLabelOverflowMode { + //string + Trim, + //string + Hide, + //string + None, + } + } + namespace Sunburst { + enum SunburstAlignment { + //string + Center, + //string + Near, + //string + Far, + } + } + namespace Sunburst { + enum SunburstHighlightMode { + //string + Point, + //string + Parent, + //string + Child, + //string + All, + } + } + namespace Sunburst { + enum SunburstHighlightType { + //string + Opacity, + //string + Color, + } + } + namespace Sunburst { + enum SunburstClickAction { + //string + None, + //string + ToggleSegmentVisibility, + //string + ToggleSegmentSelection, + } + } + namespace Sunburst { + enum SunburstLegendPosition { + //string + Left, + //string + Right, + //string + Top, + //string + Bottom, + } + } + namespace Sunburst { + enum SunburstLegendShape { + //string + Diamond, + //string + Pentagon, + //string + Rectangle, + //string + Circle, + //string + Cross, + //string + Triangle, + } + } + namespace Sunburst { + enum SunburstTheme { + //string + FlatLight, + //string + FlatDark, + } + } + namespace Sunburst { + enum SunburstHorizontalAlignment { + //string + Center, + //string + Left, + //string + Right, + } + } + namespace Sunburst { + enum SunburstVerticalAlignment { + //string + Top, + //string + Bottom, + //string + Middle, + } + } + namespace Sunburst { + enum Animation { + //string + Rotation, + //string + FadeIn, + } } - export interface XLClipboard { + class PivotGrid extends ej.Widget { + static fn: PivotGrid; + constructor(element: JQuery | Element, options?: PivotGrid.Model); + static Locale: any; + model: PivotGrid.Model; + defaults: PivotGrid.Model; - /** This method is used to copy the selected cells in the Spreadsheet. + /** Performs an asynchronous HTTP (AJAX) request. * @returns {void} */ - copy(): void; + doAjaxPost(): void; - /** This method is used to cut the selected cells in the Spreadsheet. + /** Performs an asynchronous HTTP (FullPost) submit. * @returns {void} */ - cut(): void; + doPostBack(): void; - /** This method is used to paste the cut or copied cells data in the Spreadsheet. + /** Exports the PivotGrid to the specified format. * @returns {void} */ - paste(): void; - } + exportPivotGrid(): void; - export interface XLComment { - - /** This method is used to delete the comment in the specified range in Spreadsheet. - * @param {Array|string} Optional. If range is specified, it will delete comments for the specified range else it will use the current selected range. - * @param {number} Optional. If sheetIdx is specified, it will delete comment in specified sheet else it will use active sheet. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows data. + /** This function re-renders the PivotGrid on clicking the navigation buttons on PivotPager. * @returns {void} */ - deleteComment(range: any[] | string, sheetIdx: number, skipHiddenRow: boolean): void; + refreshPagedPivotGrid(): void; - /** This method is used to edit the comment in the target Cell in Spreadsheet. - * @param {any} Optional. Pass the row index and column index of the cell which contains comment. + /** This function refreshes the PivotGrid with modified data input in client-mode. * @returns {void} */ - editComment(targetCell: any): void; + refreshPivotGrid(): void; - /** This method is used to find the next comment from the active cell in Spreadsheet. - * @returns {boolean} + /** This function re-renders the control with the report available at that instant. + * @returns {void} */ - findNextComment(): boolean; + refreshControl(): void; - /** This method is used to find the previous comment from the active cell in Spreadsheet. - * @returns {boolean} - */ - findPrevComment(): boolean; - - /** This method is used to get comment data for the specified cell. - * @param {HTMLElement} Pass the DOM element to get comment data as object. + /** This function returns the height of all rows and width each and every column. * @returns {any} */ - getComment(cell: HTMLElement): any; + calculateCellWidths(): any; - /** This method is used to set new comment in Spreadsheet. - * @param {string|Array} Optional. If we pass the range comment will set in the range otherwise it will set with selected cells. - * @param {string} Optional. Pass the comment data. - * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show comment in edit mode - * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show the user name + /** This function creates the conditional formatting dialog to apply conditional formatting for PivotGrid control. * @returns {void} */ - setComment(range: string | any[], data: string, showEditPanel: boolean, showUserName: boolean): void; + createConditionalDialog(): void; - /** This method is used to show all the comments in the Spreadsheet. + /** This function saves the current report to the database/local storage. * @returns {void} */ - showAllComments(): void; + saveReport(): void; - /** This method is used to show or hide the specific comment in the Spreadsheet. - * @param {HTMLElement} Optional. Pass the cell DOM element to show or hide its comment. If pass empty argument active cell will processed. + /** This function loads the specified report from the database/local storage. * @returns {void} */ - showHideComment(targetCell: HTMLElement): void; + loadReport(): void; + + /** This function reconstructs the JSON data formed for rendering PivotGrid in excel-like layout format. + * @returns {void} + */ + excelLikeLayout(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): any[]; + + /** Sets the JSON records formed to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** This function allows user to change the caption of the Pivot Item (name displayed in UI) on-demand for relational datasource in client-mode. + * @returns {void} + */ + refreshFieldCaption(): void; + + /** This function receives the JSON formatted datasource to render the PivotGrid control. + * @returns {void} + */ + renderControlFromJSON(): void; + } + export namespace PivotGrid { + + export interface Model { + + /** Sets the mode for the PivotGrid widget for binding either OLAP or relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Specifies the CSS class to PivotGrid to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Connects the PivotSchemaDesigner with the specified ID to the PivotGrid Control. + * @Default {“”} + */ + pivotTableFieldListID?: string; + + /** Initializes the data source for the PivotGrid widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Holds the neccessary properties for value sorting. + * @Default {{}} + */ + valueSortSettings?: ValueSortSettings; + + /** Object that holds the settings of frozen headers. + * @Default {{}} + */ + frozenHeaderSettings?: FrozenHeaderSettings; + + /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. + * @Default {null} + */ + customObject?: any; + + /** Allows the user to collapsed the specified members in each field by default. + * @Default {null} + */ + collapsedMembers?: any; + + /** Allows the user to access each cell on mouse right-click. + * @Default {false} + */ + enableCellContext?: boolean; + + /** Enables the cell selection for a specific range of value cells. + * @Default {false} + */ + enableCellSelection?: boolean; + + /** Enables the Drill-Through feature which retrieves the raw items that are used to create the specific cell in PivotGrid. + * @Default {false} + */ + enableDrillThrough?: boolean; + + /** Allows user to get the cell details in JSON format on double clicking the cell. + * @Default {false} + */ + enableCellDoubleClick?: boolean; + + /** Allows user to edit the value cells for write-back support in PivotGrid. This is applicable only for server-mode. + * @Default {false} + */ + enableCellEditing?: boolean; + + /** Collapses the Pivot items along rows and columns by default. It works only for relational data source. + * @Default {false} + */ + enableCollapseByDefault?: boolean; + + /** Enables/Disables the display of grand total for all the columns. + * @Default {true} + */ + enableColumnGrandTotal?: boolean; + + /** Allows the user to format a specific set of cells based on the condition. + * @Default {false} + */ + enableConditionalFormatting?: boolean; + + /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each fields in server mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Allows the user to refresh the control on-demand and not during every UI operation. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Enables the display of GroupingBar allowing you to filter, sort and remove fields obtained from datasource. + * @Default {false} + */ + enableGroupingBar?: boolean; + + /** Enables/Disables the display of grand total for rows and columns. + * @Default {true} + */ + enableGrandTotal?: boolean; + + /** Allows the user to load PivotGrid using JSON data. + * @Default {false} + */ + enableJSONRendering?: boolean; + + /** Enables rendering of PivotGrid widget along with the PivotTable Field List, which allows UI operations. + * @Default {true} + */ + enablePivotFieldList?: boolean; + + /** Enables the display of grand total for all the rows. + * @Default {true} + */ + enableRowGrandTotal?: boolean; + + /** Allows the user to view layout of the PivotGrid from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable ToolTip option. + * @Default {false} + */ + enableToolTip?: boolean; + + /** Allows the user to enable the animation effects in tooltip. + * @Default {false} + */ + enableToolTipAnimation?: boolean; + + /** Allows the user to adjust the width of the columns dynamically. + * @Default {false} + */ + enableColumnResizing?: boolean; + + /** Allows the user to view large amount of data through virtual scrolling. + * @Default {false} + */ + enableVirtualScrolling?: boolean; + + /** Allows the user to view large amount of data by applying paging. + * @Default {false} + */ + enablePaging?: boolean; + + /** Allows the user to configure hyperlink settings of PivotGrid control. + * @Default {{}} + */ + hyperlinkSettings?: HyperlinkSettings; + + /** Allows the user to enable PivotGrid’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Contains the serialized JSON string which renders PivotGrid. + */ + jsonRecords?: string; + + /** Sets the summary layout for PivotGrid.Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. + * @Default {ej.PivotGrid.Layout.Normal} + */ + layout?: ej.PivotGrid.Layout | string; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotGrid widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotGrid to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers before Pivot Engine starts to populate. */ + beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; + + /** Triggers when double click action is performed over a cell. */ + cellDoubleClick?(e: CellDoubleClickEventArgs): void; + + /** Triggers when right-click action is performed on a cell. */ + cellContext?(e: CellContextEventArgs): void; + + /** Triggers when a specific range of value cells are selected. */ + cellSelection?(e: CellSelectionEventArgs): void; + + /** Triggers when the hyperlink of column header is clicked. */ + columnHeaderHyperlinkClick?(e: ColumnHeaderHyperlinkClickEventArgs): void; + + /** Triggers after performing drill operation in PivotGrid. */ + drillSuccess?(e: DrillSuccessEventArgs): void; + + /** Triggers while clicking "OK" button in the drill-through dialog. */ + drillThrough?(e: DrillThroughEventArgs): void; + + /** Triggers when PivotGrid loading is initiated. */ + load?(e: LoadEventArgs): void; + + /** Triggers when PivotGrid widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotGrid successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + + /** Triggers when the hyperlink of row header is clicked. */ + rowHeaderHyperlinkClick?(e: RowHeaderHyperlinkClickEventArgs): void; + + /** Triggers when the hyperlink of summary cell is clicked. */ + summaryCellHyperlinkClick?(e: SummaryCellHyperlinkClickEventArgs): void; + + /** Triggers when the hyperlink of value cell is clicked. */ + valueCellHyperlinkClick?(e: ValueCellHyperlinkClickEventArgs): void; + + /** Triggers before saving the current report to database. */ + saveReport?(e: SaveReportEventArgs): void; + + /** Triggers before loading a report from database. */ + loadReport?(e: LoadReportEventArgs): void; + + /** Triggers before performing exporting in pivot grid. */ + beforeExport?(e: BeforeExportEventArgs): void; + + /** Triggers before editing the cells. */ + cellEdit?(e: CellEditEventArgs): void; + } + + export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface BeforePivotEnginePopulateEventArgs { + + /** returns the PivotGrid object + */ + pivotGridObject?: any; + } + + export interface CellDoubleClickEventArgs { + + /** returns the JSON details of the double clicked cell. + */ + selectedData?: any[]; + + /** returns the custom object bound with PivotGrid control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface CellContextEventArgs { + + /** returns the cell position (row index and column index) in table. + */ + cellPosition?: string; + + /** returns the type of the cell. + */ + cellType?: string; + + /** returns the content of the cell. + */ + cellValue?: string; + + /** returns the unique name of levels/members. + */ + uniqueName?: string; + + /** returns the role of the cell in PivotGrid. + */ + role?: string; + + /** returns JSON record corresponding to the selected cell. + */ + rawdata?: any; + + /** returns the original event object. + */ + args?: any; + } + + export interface CellSelectionEventArgs { + + /** returns the JSON records of the selected range of cells. + */ + JSONRecords?: any; + + /** Returns the row headers corresponding to the selected value cells. + */ + rowheader?: any; + + /** Returns the column headers corresponding to the selected value cells. + */ + columnheader?: any; + + /** Returns the information about the measure associated with the selected cell. + */ + measureCount?: string; + } + + export interface ColumnHeaderHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; + } + + export interface DrillSuccessEventArgs { + + /** returns the HTML element of the control. + */ + args?: any; + } + + export interface DrillThroughEventArgs { + + /** return the JSON records of the generated cells on drill-through operation. + */ + data?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface LoadEventArgs { + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface RenderCompleteEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface RenderFailureEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + + /** returns the error message with error code. + */ + message?: string; + } + + export interface RenderSuccessEventArgs { + + /** returns the current action of PivotGrid control. + */ + action?: string; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotGrid control. + */ + element?: any; + } + + export interface RowHeaderHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; + } + + export interface SummaryCellHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; + } + + export interface ValueCellHyperlinkClickEventArgs { + + /** returns the information about the clicked cell + */ + args?: any; + + /** returns the HTML element of the control. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; + } + + export interface SaveReportEventArgs { + + /** returns the report to be stored in database. + */ + report?: any; + } + + export interface LoadReportEventArgs { + + /** returns the PivotGrid object. + */ + targetControl?: any; + + /** returns whether the control is bound with OLAP or Relational data source. + */ + dataModel?: string; + } + + export interface BeforeExportEventArgs { + + /** contains the url of the service responsible for exporting. + */ + url?: string; + + /** contains the name of the exporting file. + */ + fileName?: string; + } + + export interface CellEditEventArgs { + + /** contains the array of cells selected for editing. + */ + editCellsInfo?: any[]; + } + + export interface DataSourceColumnsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceColumnsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field in PivotGrid. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceRowsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. + * @Default {ej.PivotAnalysis.SummaryType.Sum} + */ + summaryType?: ej.PivotAnalysis.SummaryType | string; + + /** Allows to set the format of the values. + */ + format?: string; + + /** This property sets type of display of date. + */ + formatString?: string; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display name for an item. + */ + fieldCaption?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSourcePagerOptions { + + /** Allows to set the number of categorical columns to be displayed in each page on applying paging. + * @Default {0} + */ + categoricalPageSize?: number; + + /** Allows to set the number of series rows to be displayed in each page on applying paging. + * @Default {0} + */ + seriesPageSize?: number; + + /** Allows to set the page number in categorical axis to be loaded by default. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Allows to set the page number in series axis to be loaded by default. + * @Default {1} + */ + seriesCurrentPage?: number; + } + + export interface DataSource { + + /** Lists out the items to be arranged in columns section of PivotGrid. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be arranged in rows section of PivotGrid. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items which supports calculation in PivotGrid. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGrid. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotGrid. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Sets a name to the report bound to the control. + */ + reportName?: string; + + /** Allows to set the page size and current page number for each axis on applying paging. + * @Default {{}} + */ + pagerOptions?: DataSourcePagerOptions; + } + + export interface ValueSortSettings { + + /** Contains the headers of the specific column to which value sorting is applied. + */ + headerText?: string; + + /** Allows the user to set the string for separating column headers provided in the above property headerText. + */ + headerDelimiters?: string; + + /** Allows the user to set the sorting order of the values of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + } + + export interface FrozenHeaderSettings { + + /** Allows the user to freeze the row headers alone on scrolling the horizontal scroll bar. + * @Default {false} + */ + enableFrozenRowHeaders?: boolean; + + /** Allows the user to freeze the column headers alone on scrolling the vertical scroll bar. + * @Default {false} + */ + enableFrozenColumnHeaders?: boolean; + + /** Allows the user to freeze both the row headers and column headers on scrolling. + * @Default {false} + */ + enableFrozenHeaders?: boolean; + } + + export interface HyperlinkSettings { + + /** Allows the user to enable/disable hyperlink for column header. + * @Default {false} + */ + enableColumnHeaderHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for row header. + * @Default {false} + */ + enableRowHeaderHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for summary cells. + * @Default {false} + */ + enableSummaryCellHyperlink?: boolean; + + /** Allows the user to enable/disable hyperlink for value cells. + * @Default {false} + */ + enableValueCellHyperlink?: boolean; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for drill up/down operation in PivotGrid. + * @Default {DrillGrid} + */ + drillDown?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotGrid?: string; + + /** Allows the user to set the custom name for the service method responsible for performing server-side actions on defer update. + * @Default {DeferUpdate} + */ + deferUpdate?: string; + + /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. + * @Default {FetchMembers} + */ + fetchMembers?: string; + + /** Allows the user to set the custom name for the service method responsible for filtering operation in PivotGrid. + * @Default {Filtering} + */ + filtering?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotGrid. + * @Default {InitializeGrid} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node from Field List. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. + * @Default {NodeStateModified} + */ + nodeStateModified?: string; + + /** Allows the user to set the custom name for the service method responsible for performing paging operation in PivotGrid. + * @Default {Paging} + */ + paging?: string; + + /** Allows the user to set the custom name for the service method responsible for sorting operation in PivotGrid. + * @Default {Sorting} + */ + sorting?: string; + + /** Allows the user to set the custom name for the service method responsible for expanding members inside member editor. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for editing the cells. + * @Default {CellEditing} + */ + cellEditing?: string; + + /** Allows the user to set the custom name for the service method responsible for saving the current report to database. + * @Default {SaveReport} + */ + saveReport?: string; + + /** Allows the user to set the custom name for the service method responsible for loading a report from database. + * @Default {LoadReportFromDB} + */ + loadReport?: string; + + /** Allows the user to set the custom name for the service method responsible for adding a calculated field to the report. + * @Default {CalculatedField} + */ + calculatedField?: string; + + /** Allows the user to set the custom name for the service method responsible for performing drill through operation. + * @Default {DrillThroughHierarchies} + */ + drillThroughHierarchies?: string; + + /** Allows the user to set the custom name for the service method responsible for performing drill through operation in data table. + * @Default {DrillThroughDataTable} + */ + drillThroughDataTable?: string; + + /** Allows the user to set the custom name for the service method responsible for write-back operation in OLAP Cube. This is only applicable in server-side component. + * @Default {WriteBack} + */ + writeBack?: string; + } + + enum Layout { + + ///To set normal summary layout in PivotGrid. + Normal, + + ///To set layout with summaries at the top in PivotGrid. + NormalTopSummary, + + ///To set layout without summaries in PivotGrid. + NoSummaries, + + ///To set excel-like layout in PivotGrid. + ExcelLikeLayout + } + + } + namespace Pivot { + enum AnalysisMode { + //To bind an OLAP data source to PivotGrid. + OLAP, + //To bind a relational data source to PivotGrid. + Pivot, + } + } + namespace PivotAnalysis { + enum SortOrder { + //Sorts the members of the field in ascending order. + Ascending, + //Sorts the members of the field in descending order. + Descending, + //Displays the members without sorting in any order. + None, + } + } + namespace PivotAnalysis { + enum FilterType { + //Excludes the specified values among the members of the field. + Exclude, + //Includes the specified values alone among the members of the field. + Include, + } + } + namespace PivotAnalysis { + enum SummaryType { + //Calculates the summary as the total of all values. + Sum, + //Displays the average of all values as the summaries. + Average, + //Displays the count of items in summaries. + Count, + //Displays the minimum value of all the items in the summary. + Min, + //Displays the maximum value of all the items in the summary. + Max, + } + } + namespace Pivot { + enum OperationalMode { + //To bind data source completely from client-side. + ClientMode, + //To bind data source completely from server-side. + ServerMode, + } } - export interface XLCMenu { + class PivotSchemaDesigner extends ej.Widget { + static fn: PivotSchemaDesigner; + constructor(element: JQuery | Element, options?: PivotSchemaDesigner.Model); + static Locale: any; + model: PivotSchemaDesigner.Model; + defaults: PivotSchemaDesigner.Model; - /** This method is used to dynamically add items in the context menu. - * @param {string} Specifies the context menu type in which the item to be inserted. - * @param {Array} Pass the items to be inserted - * @param {string} Specifies the type of operation to be performed + /** Performs an asynchronous HTTP (AJAX) request. * @returns {void} */ - addItem(target: string, itemColl: any[], operation: string): void; + doAjaxPost(): void; - /** This method is used to change data source in the context menu. - * @param {string} Specifies the context menu type to bind the data source. - * @param {Array} Pass the data source to be binded + /** Re-renders the control with the data source bound to the pivot control at that instant. * @returns {void} */ - changeDataSource(target: string, data: any[]): void; + refreshControl(): void; + } + export namespace PivotSchemaDesigner { - /** This method is used to disable the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be disabled. - * @param {Array} Specifies the Menu Item id collection to be disabled - * @returns {void} - */ - disableItem(target: string, idxColl: any[]): void; + export interface Model { - /** This method is used to enable the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be enabled. - * @param {Array} Specifies the Menu Item id collection to be enabled - * @returns {void} - */ - enableItem(target: string, idxColl: any[]): void; + /** Specifies the CSS class to PivotSchemaDesigner to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end. + * @Default {{}} + */ + customObject?: any; + + /** For ASP.NET and MVC Wrapper, PivotSchemaDesigner will be initialized and rendered empty initially. Once the connected pivot control widget is rendered completely, + * PivotSchemaDesigner will just be populated with data source by setting this property to “true”. + * @Default {false} + */ + enableWrapper?: boolean; + + /** Allows the user to view PivotTable Field List from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the visibility of OLAP elements in PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {null} + */ + olap?: Olap; + + /** Allows the user to enable/disable drag and drop operations within the PivotTable Field List. + * @Default {true} + */ + enableDragDrop?: boolean; + + /** Sets the height for PivotSchemaDesigner. + * @Default {“”} + */ + height?: string; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the Pivot control bound with this PivotSchemaDesigner. + * @Default {null} + */ + pivotControl?: any; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethod?: ServiceMethod; + + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; + + /** Sets the width for PivotSchemaDesigner. + * @Default {“”} + */ + width?: string; + + /** Sets the layout for PivotSchemaDesigner. + * @Default {ej.PivotSchemaDesigner.Layouts.Excel} + */ + layout?: ej.PivotSchemaDesigner.Layouts | string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotSchemaDesigner to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers when we start dragging any field from PivotSchemaDesigner. */ + dragMove?(e: DragMoveEventArgs): void; + } + + export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotSchemaDesigner control. + */ + action?: string; + + /** returns the custom object bound with PivotSchemaDesigner control. + */ + customObject?: any; + + /** returns the HTML element of PivotSchemaDesigner control. + */ + element?: any; + } + + export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotSchemaDesigner control. + */ + action?: string; + + /** returns the custom object bound with PivotSchemaDesigner control. + */ + customObject?: any; + + /** returns the HTML element of PivotSchemaDesigner control. + */ + element?: any; + } + + export interface DragMoveEventArgs { + + /** returns the HTML element of the dragged field from PivotSchemaDesigner. + */ + dragTarget?: any; + + /** return the JSON details of the dragged field. + */ + draggedElementData?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the PivotSchemaDesigner model + */ + model?: any; + } + + export interface Olap { + + /** Allows the user to view the KPI elements in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {false} + */ + showKPI?: boolean; + + /** Allows the user to view the named sets in tree-view inside PivotTable Field List. This is only applicable for OLAP datasource. + * @Default {false} + */ + showNamedSets?: boolean; + } + + export interface ServiceMethod { + + /** Allows the user to set the custom name for the service method responsible for getting the values for the tree-view inside filter dialog. + * @Default {FetchMembers} + */ + fetchMembers?: string; + + /** Allows the user to set the custom name for the service method responsible for filtering operation in Field List. + * @Default {Filtering} + */ + filtering?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on expanding members in Field List. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action, on dropping a node into Field List. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for the server-side action on changing the checked state of a node in Field List. + * @Default {NodeStateModified} + */ + nodeStateModified?: string; + + /** Allows the user to set the custom name for the service method responsible for button removing operation in Field List. + * @Default {RemoveButton} + */ + removeButton?: string; + } + + enum Layouts { + + ///To set the layout as same in the Excel. + Excel, + + ///To set normal layout for Field List. + Normal, + + ///To set layout with the axes one above the other. + OneByOne + } - /** This method is used to remove the items in the context menu. - * @param {string} Specifies the context menu type in which the item to be removed. - * @param {Array} Specifies the Menu Item id collection to be removed - * @returns {void} - */ - removeItem(target: string, idxColl: any[]): void; } - export interface XLDragDrop { + class PivotPager extends ej.Widget { + static fn: PivotPager; + constructor(element: JQuery | Element, options?: PivotPager.Model); + static Locale: any; + model: PivotPager.Model; + defaults: PivotPager.Model; - /** This method is used to drag and drop the selected range of cells to destination range in the Spreadsheet. - * @param {any|Array} Pass the source range to perform drag and drop. - * @param {any|Array} Pass the destination range to drop the dragged cells. + /** This function initializes the page counts and page numbers for the PivotPager. * @returns {void} */ - moveRangeTo(sourceRange: any | any[], destinationRange: any | any[]): void; + initPagerProperties(): void; + } + export namespace PivotPager { + + export interface Model { + + /** Contains the current page number in categorical axis. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Contains the total page count in categorical axis. + * @Default {1} + */ + categoricalPageCount?: number; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the pager mode (Only Categorical Pager/Only Series Pager/Both) for the PivotPager. + * @Default {ej.PivotPager.Mode.Both} + */ + mode?: ej.PivotPager.Mode | string; + + /** Contains the current page number in series axis. + * @Default {1} + */ + seriesCurrentPage?: number; + + /** Contains the total page count in series axis. + * @Default {1} + */ + seriesPageCount?: number; + + /** Contains the ID of the target element for which paging needs to be done. + * @Default {“”} + */ + targetControlID?: string; + } + + enum Mode { + + ///To set both categorical and series pager for paging. + Both, + + ///To set only categorical pager for paging. + Categorical, + + ///To set only series pager for paging. + Series + } + } - export interface XLDragFill { + class PivotChart extends ej.Widget { + static fn: PivotChart; + constructor(element: JQuery | Element, options?: PivotChart.Model); + static Locale: any; + model: PivotChart.Model; + defaults: PivotChart.Model; - /** This method is used to perform auto fill in Spreadsheet. - * @param {any} Pass the options to perform auto fill in Spreadsheet. + /** Performs an asynchronous HTTP (AJAX) request. * @returns {void} */ - autoFill(options: any): void; + doAjaxPost(): void; - /** This method is used to hide the auto fill element in the Spreadsheet. + /** Perform an asynchronous HTTP (FullPost) submit. * @returns {void} */ - hideAutoFillElement(): void; + doPostBack(): void; - /** This method is used to hide the auto fill options in the Spreadsheet. + /** Exports the PivotChart to the format specified in the parameter. * @returns {void} */ - hideAutoFillOptions(): void; + exportPivotChart(): void; - /** This method is used to set position of the auto fill element in the Spreadsheet. - * @param {boolean} Pass the isDragFill option as {{'`boolean`' | markdownify}} value to show auto fill options in Spreadsheet. + /** This function renders the PivotChart control with the JSON formatted datasource. * @returns {void} */ - positionAutoFillElement(isDragFill: boolean): void; + renderChartFromJSON(): void; + + /** This function receives the update from service-end, which would be utilized for rendering the widget. + * @returns {void} + */ + renderControlSuccess(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): any[]; + + /** Sets the JSON records to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** Returns the PivotEngine formed to render the control. + * @returns {Array} + */ + getPivotEngine(): any[]; + + /** Sets the PivotEngine required to render the control. + * @returns {void} + */ + setPivotEngine(): void; + + /** Re-renders the control with the data source at the instant. + * @returns {void} + */ + refreshControl(): void; + + /** Renders the control with the pivot engine obtained from olap cube. + * @returns {void} + */ + generateJSON(): void; + + /** Navigates to the specified page number in specified axis. + * @returns {void} + */ + refreshPagedPivotChart(): void; + } + export namespace PivotChart { + + export interface Model { + + /** Sets the mode for the PivotChart widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Specifies the CSS class to PivotChart to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Options for enabling zooming feature of PivotChart. + * @Default {{}} + */ + zooming?: Zooming; + + /** Options available to configure the properties of entire series. You can also override the options for specific series by using series collection. + * @Default {{}} + */ + commonSeriesOptions?: CommonSeriesOptions; + + /** Initializes the data source for the PivotChart widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Object utilized to pass additional information between client-end and service-end on operating the control in server mode. + * @Default {{}} + */ + customObject?: any; + + /** Allows the user to enable 3D view of PivotChart. + * @Default {false} + */ + enable3D?: boolean; + + /** Allows the user to view PivotChart from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable PivotChart’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Lets the user to customize the legend items and their labels. + * @Default {{}} + */ + legend?: any; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotChart widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** This is a horizontal axis that contains options to configure axis and it is the primary x axis for all the series in series array. + * To override x axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s xAxisName property to link both axis and series. + * @Default {{}} + */ + primaryXAxis?: any; + + /** This is a vertical axis that contains options to configure axis. This is the primary y axis for all the series in series array. + * To override y axis for particular series, create an axis object by providing unique name by using name property and add it to axes array. + * Then, assign the name to the series’s yAxisName property to link both axis and series. + * @Default {{}} + */ + primaryYAxis?: any; + + /** Allows the user to rotate the angle of PivotChart in 3D view. + * @Default {0} + */ + rotation?: number; + + /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Options to customize the size of the PivotChart control. + * @Default {{}} + */ + size?: any; + + /** Connects the service using the specified URL for any server updates on operating the control in server mode. + * @Default {“”} + */ + url?: string; + + /** Triggers when PivotChart starts to render. */ + load?(e: LoadEventArgs): void; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotChart to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers on performing drill up/down in PivotChart control. */ + drillSuccess?(e: DrillSuccessEventArgs): void; + + /** Triggers when PivotChart widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotChart successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + + /** Triggers before performing exporting in pivot chart. */ + beforeExport?(e: BeforeExportEventArgs): void; + } + + export interface LoadEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + } + + export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + } + + export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + } + + export interface DrillSuccessEventArgs { + + /** returns the current instance of PivotChart. + */ + chartObj?: any; + + /** returns the drill action of PivotChart. + */ + drillAction?: string; + + /** contains the name of the member drilled. + */ + drilledMember?: string; + + /** returns the event object. + */ + event?: any; + } + + export interface RenderCompleteEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + } + + export interface RenderFailureEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + + /** returns the error stack trace of the original exception. + */ + message?: string; + } + + export interface RenderSuccessEventArgs { + + /** returns the current instance of PivotChart. + */ + args?: any; + } + + export interface BeforeExportEventArgs { + + /** contains the url of the service responsible for exporting. + */ + url?: string; + + /** contains the name of the exporting file. + */ + fileName?: string; + } + + export interface Zooming { + + /** Enables or disables horizontal scrollbar. + * @Default {false} + */ + enableScrollbar?: boolean; + } + + export interface CommonSeriesOptions { + + /** Allows the user to set the specific chart type for PivotChart widget. + * @Default {ej.PivotChart.ChartTypes.Column} + */ + type?: ej.PivotChart.ChartTypes | string; + } + + export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSource { + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotChart. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to be displayed as series of PivotChart. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be displayed as segments of PivotChart. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items supports calculation in PivotChart. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotChart. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotChart. + * @Default {DrillChart} + */ + drillDown?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotChart?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotChart. + * @Default {InitializeChart} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for navigating between pages in paged PivotChart. + * @Default {Paging} + */ + paging?: string; + } + + enum ChartTypes { + + ///To render a Line type PivotChart. + Line, + + ///To render a Spline type PivotChart. + Spline, + + ///To render a Column type PivotChart. + Column, + + ///To render an Area type PivotChart. + Area, + + ///To render a SplineArea type PivotChart. + SplineArea, + + ///To render a StepLine type PivotChart. + StepLine, + + ///To render a StepArea type PivotChart. + StepArea, + + ///To render a Pie type PivotChart. + Pie, + + ///To render a Bar type PivotChart. + Bar, + + ///To render a StackingArea type PivotChart. + StackingArea, + + ///To render a StackingColumn type PivotChart. + StackingColumn, + + ///To render a StackingBar type PivotChart. + StackingBar, + + ///To render a Pyramid type PivotChart. + Pyramid, + + ///To render a Funnel type PivotChart. + Funnel, + + ///To render a Doughnut type PivotChart. + Doughnut, + + ///To render a Scatter type PivotChart. + Scatter, + + ///To render a Bubble type PivotChart. + Bubble + } + } - export interface XLEdit { + class PivotClient extends ej.Widget { + static fn: PivotClient; + constructor(element: JQuery | Element, options?: PivotClient.Model); + static Locale: any; + model: PivotClient.Model; + defaults: PivotClient.Model; - /** This method is used to calculate formulas in the specified sheet. - * @param {number} Optional. If sheet index is specified, then it will calculate formulas in the specified sheet only else it will calculate formulas in all sheets. + /** Performs an asynchronous HTTP (AJAX) request. * @returns {void} */ - calcNow(sheetIdx: number): void; + doAjaxPost(): void; - /** This method is used to edit a particular cell based on the row index and column index in the Spreadsheet. - * @param {number} Pass the row index to edit particular cell. - * @param {number} Pass the column index to edit particular cell. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to maintain previous cell value. + /** Performs an asynchronous HTTP (FullPost) submit. * @returns {void} */ - editCell(rowIdx: number, colIdx: number, oldData: boolean): void; + doPostBack(): void; - /** This method is used to get the property value of particular cell, based on the row and column index in the Spreadsheet. - * @param {number} Pass the row index to get the property value. - * @param {number} Pass the column index to get the property value. - * @param {string} Optional. Pass the property name that you want("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", - * "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", - * "decimalPlaces", "cellType"). - * @param {number} Optional. Pass the index of the sheet. - * @returns {any|string|Array} + /** Navigates to the specified page in specified axis. + * @returns {void} */ - getPropertyValue(rowIdx: number, colIdx: number, prop: string, sheetIdx: number): any | string | any[]; + refreshPagedPivotClient(): void; - /** This method is used to get the property value in specified cell in Spreadsheet. - * @param {HTMLElement} Pass the cell element to get property value. - * @param {string} Pass the property name that you want ("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", - * "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", - * "comment", "formatStr", "decimalPlaces", "cellType"). - * @param {number} Pass the index of sheet. - * @returns {any|string|Array} + /** Updates the PivotClient component with the JSON data fetched from the service on navigating between pages. + * @returns {void} */ - getPropertyValueByElem(elem: HTMLElement, property: string, sheetIdx: number): any | string | any[]; + refreshPagedPivotClientSuccess(): void; - /** This method is used to save the edited cell value in the Spreadsheet. + /** Renders the PivotChart and PivotGrid with the JSON data provided. + * @returns {void} + */ + generateJSON(): void; + + /** Re-renders the control with the report at that instant. + * @returns {void} + */ + refreshControl(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): any[]; + + /** Sets the JSON records formed to render the control to a property. + * @returns {void} + */ + setJSONRecords(): void; + } + export namespace PivotClient { + + export interface Model { + + /** Sets the mode for the PivotClient widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Allows the user to set the specific chart type for PivotChart inside PivotClient widget. + * @Default {ej.PivotChart.ChartTypes.Column} + */ + chartType?: ej.PivotChart.ChartTypes | string; + + /** Allows the user to set the content on exporting the PivotClient widget. + * @Default {ej.PivotClient.ClientExportMode.ChartAndGrid} + */ + clientExportMode?: ej.PivotClient.ClientExportMode | string; + + /** Specifies the CSS class to PivotClient to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end when the control functions in server-mode. + * @Default {{}} + */ + customObject?: any; + + /** Initializes the data source for the PivotClient widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Allows the user to customize the widget's layout and appearance. + * @Default {{}} + */ + displaySettings?: DisplaySettings; + + /** Enables the splitter option for resizing the elements inside the control. + * @Default {false} + */ + enableSplitter?: boolean; + + /** Enables the advanced filtering options Value Filtering, Label Filtering and Sorting for each dimensions on binding OLAP data in server mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Allows the user to refresh the control on-demand and not during every UI operation. + * @Default {false} + */ + enableDeferUpdate?: boolean; + + /** Lets the user to save and load reports in a customized way with the help of events. + * @Default {false} + */ + enableLocalStorage?: boolean; + + /** Allows the user to enable paging for both the PivotChart and PivotGrid components for the ease of viewing large data. + * @Default {false} + */ + enablePaging?: boolean; + + /** Allows the user to include the PivotTreeMap component as one of the chart types. + * @Default {false} + */ + enablePivotTreeMap?: boolean; + + /** Allows the user to view the layout of PivotClient from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Enables/disables the visibility of measure group selector drop-down in Cube Browser. + * @Default {false} + */ + enableMeasureGroups?: boolean; + + /** Allows the user to enable virtual scrolling for both the PivotChart and PivotGrid components for the ease of viewing large data. + * @Default {false} + */ + enableVirtualScrolling?: boolean; + + /** Enables/Disables paging in Member Editor for viewing the large count of members in pages. + * @Default {false} + */ + enableMemberEditorPaging?: boolean; + + /** Allows the user to set the number of members to be displayed in each page of Member Editor on applying paging in it. + * @Default {100} + */ + memberEditorPageSize?: number; + + /** Sets the summary layout for PivotGrid. Following are the ways in which summary can be positioned: normal summary (bottom), top summary, no summary and excel-like summary. + * @Default {ej.PivotGrid.Layout.Normal} + */ + gridLayout?: ej.PivotGrid.Layout | string; + + /** Allows the user to enable PivotClient’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotClient widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** Allows the user to set custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Sets the title for PivotClient widget. + */ + title?: string; + + /** Connects the service using the specified URL for any server updates. + */ + url?: string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from client-side to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers before saving the current collection of reports. */ + saveReport?(e: SaveReportEventArgs): void; + + /** Triggers before loading a saved collection of reports. */ + loadReport?(e: LoadReportEventArgs): void; + + /** Triggers before fetching the report collection from storage. */ + fetchReport?(e: FetchReportEventArgs): void; + + /** Triggers before exporting the control. */ + beforeExport?(e: BeforeExportEventArgs): void; + + /** Triggers before rendering the PivotChart. */ + chartLoad?(e: ChartLoadEventArgs): void; + + /** Triggers before rendering the PivotTreeMap. */ + treeMapLoad?(e: TreeMapLoadEventArgs): void; + + /** Triggers while we initiate loading of the widget. */ + load?(e: LoadEventArgs): void; + + /** Triggers when PivotClient widget completes all operations at client-end after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotClient successfully completes rendering. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + } + + export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotClient control. + */ + action?: string; + + /** returns the custom object bounds with PivotClient control. + */ + customObject?: any; + + /** returns the HTML element of PivotClient control. + */ + element?: any; + } + + export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotClient control. + */ + action?: string; + + /** returns the custom object bounds with PivotClient control. + */ + customObject?: any; + + /** returns the HTML element of PivotClient control. + */ + element?: any; + } + + export interface SaveReportEventArgs { + + /** returns the current instance of PivotClient control. + */ + targetControl?: any; + + /** returns the object which holds the necessary parameters required for saving the report collection. + */ + saveReportSetting?: any; + } + + export interface LoadReportEventArgs { + + /** returns the current instance of PivotClient control. + */ + targetControl?: any; + + /** returns the object which holds the necessary parameters required for loading a report collection from database. + */ + loadReportSetting?: any; + } + + export interface FetchReportEventArgs { + + /** returns the current instance of PivotClient control. + */ + targetControl?: any; + + /** returns the object which holds the necessary parameters required for fetching the report names stored in database. + */ + fetchReportSetting?: any; + } + + export interface BeforeExportEventArgs { + + /** holds the url of the service method responsible for exporting the PivotClient control. + */ + url?: string; + + /** holds the name of the file to be exported. + */ + fileName?: string; + } + + export interface ChartLoadEventArgs { + + /** returns the current action of PivotChart control. + */ + action?: string; + + /** returns the custom object bound with PivotChart control. + */ + customObject?: any; + + /** returns the HTML element of PivotChart control. + */ + element?: any; + } + + export interface TreeMapLoadEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface LoadEventArgs { + + /** returns the HTML element of PivotClient component. + */ + element?: any; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + } + + export interface RenderCompleteEventArgs { + + /** returns the HTML element of PivotClient component. + */ + element?: any; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + } + + export interface RenderFailureEventArgs { + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the HTML element of PivotClient control. + */ + element?: any; + + /** returns the error message with error code. + */ + message?: string; + } + + export interface RenderSuccessEventArgs { + + /** returns the object of PivotClient control at that instant. + */ + args?: any; + } + + export interface DataSourceColumnsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceColumnsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field in PivotGrid. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsAdvancedFilter { + + /** Allows the user to provide level unique name to perform advanced filtering. + */ + name?: string; + + /** Allows the user to set the operator to perform Label Filtering. + * @Default {none} + */ + labelFilterOperator?: string; + + /** Allows the user to set the operator to perform Value Filtering. + * @Default {none} + */ + valueFilterOperator?: string; + + /** Allows the user to set the filtering type while performing advanced filtering. + */ + advancedFilterType?: string; + + /** In case of value filtering, this property contains the measure name to which the filter is applied. + */ + measure?: string; + + /** Allows the user to hold the filter operand values in advanced filtering. + */ + values?: any[]; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item. + */ + fieldCaption?: string; + + /** Allows the user to filter the report by default using advanced filtering (excel-like) option for OLAP data source in client-mode. + * @Default {[]} + */ + advancedFilter?: DataSourceRowsAdvancedFilter[]; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Shows/Hides the sub-total of the field. + * @Default {true} + */ + showSubTotal?: boolean; + + /** Allows the user to set the sorting order of the members of the field. + * @Default {ej.PivotAnalysis.SortOrder.Ascending} + */ + sortOrder?: ej.PivotAnalysis.SortOrder | string; + + /** Contains the list of members need to be drilled down by default in the field. + * @Default {[]} + */ + drilledItems?: any[]; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the type of PivotGrid summary calculation for the value field with Relational datasource. + * @Default {ej.PivotAnalysis.SummaryType.Sum} + */ + summaryType?: ej.PivotAnalysis.SummaryType | string; + + /** Allows to set the format of the values. + */ + format?: string; + + /** This property sets type of display of date. + */ + formatString?: string; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to set the display name for an item. + */ + fieldCaption?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSourcePagerOptions { + + /** Allows to set the number of categorical columns to be displayed in each page on applying paging. + * @Default {0} + */ + categoricalPageSize?: number; + + /** Allows to set the number of series rows to be displayed in each page on applying paging. + * @Default {0} + */ + seriesPageSize?: number; + + /** Allows to set the page number in categorical axis to be loaded by default. + * @Default {1} + */ + categoricalCurrentPage?: number; + + /** Allows to set the page number in series axis to be loaded by default. + * @Default {1} + */ + seriesCurrentPage?: number; + } + + export interface DataSource { + + /** Lists out the items to be arranged in columns section of PivotClient. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be arranged in rows section of PivotClient. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items which supports calculation in PivotClient. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotClient. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotClient. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Allows user to filter the members (by its name and values) through advanced filtering (excel-like) option in client-mode. + * @Default {false} + */ + enableAdvancedFilter?: boolean; + + /** Sets a name to the report bound to the control. + */ + reportName?: string; + + /** Allows to set the page size and current page number for each axis on applying paging. + * @Default {{}} + */ + pagerOptions?: DataSourcePagerOptions; + } + + export interface DisplaySettings { + + /** Lets the user to customize the display of PivotChart and PivotGrid widgets, either in tabs or tiles. + * @Default {ej.PivotClient.ControlPlacement.Tab} + */ + controlPlacement?: ej.PivotClient.ControlPlacement | string; + + /** Lets the user to set either Chart or Grid as the start-up widget. + * @Default {ej.PivotClient.DefaultView.Grid} + */ + defaultView?: ej.PivotClient.DefaultView | string; + + /** Lets the user to have an option for switching to full screen view of PivotChart and PivotGrid from default view in PivotClient. + * @Default {false} + */ + enableFullScreen?: boolean; + + /** Enables an option to enhance the space for PivotGrid and PivotChart by hiding Cube Browser and Axis Element Builder. + * @Default {false} + */ + enableTogglePanel?: boolean; + + /** Sets the display mode (Only Chart/Only Grid/Both) in PivotClient. + * @Default {ej.PivotClient.DisplayMode.ChartAndGrid} + */ + mode?: ej.PivotClient.DisplayMode | string; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for updating the entire report and widget, while changing the Cube. + * @Default {CubeChanged} + */ + cubeChanged?: string; + + /** Allows the user to set the custom name for the service method responsible for exporting. + * @Default {Export} + */ + exportPivotClient?: string; + + /** Allows the user to set the custom name for the service method responsible to get the members for the tree-view, inside member-editor dialog. + * @Default {FetchMemberTreeNodes} + */ + fetchMemberTreeNodes?: string; + + /** Allows the user to set the custom name for the service method responsible for fetching the report names from the database. + * @Default {FetchReportListFromDB} + */ + fetchReportList?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while filtering members. + * @Default {FilterElement} + */ + filterElement?: string; + + /** Allows the user to set the custom name for the service method responsible for initializing PivotClient. + * @Default {InitializeClient} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for loading a report collection from the database. + * @Default {LoadReportFromDB} + */ + loadReport?: string; + + /** Allows the user to set the custom name for the service method responsible for retrieving the MDX query for the current report. + * @Default {GetMDXQuery} + */ + mdxQuery?: string; + + /** Allows the user to set the custom name for the service method responsible for updating the tree-view inside Cube Browser, while changing the measure group. + * @Default {MeasureGroupChanged} + */ + measureGroupChanged?: string; + + /** Allows the user to set the custom name for the service method responsible to get the child members, on tree-view node expansion. + * @Default {MemberExpanded} + */ + memberExpand?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while dropping a node/SplitButton inside Axis Element Builder. + * @Default {NodeDropped} + */ + nodeDropped?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report while removing SplitButton from Axis Element Builder. + * @Default {RemoveSplitButton} + */ + removeSplitButton?: string; + + /** Allows the user to set the custom name for the service method responsible for saving the report collection to database. + * @Default {SaveReportToDB} + */ + saveReport?: string; + + /** Allows the user to set the custom name for the service method responsible for toggling the elements in row and column axes. + * @Default {ToggleAxis} + */ + toggleAxis?: string; + + /** Allows the user to set the custom name for the service method responsible for all the toolbar operations. + * @Default {ToolbarOperations} + */ + toolbarServices?: string; + + /** Allows the user to set the custom name for the service method responsible for updating report collection. + * @Default {UpdateReport} + */ + updateReport?: string; + + /** Allows the user to set the custom name for the service method responsible on navigating between pages in paged PivotClient. + * @Default {Paging} + */ + paging?: string; + } + + enum ClientExportMode { + + ///Exports both the PivotChart and PivotGrid on exporting. + ChartAndGrid, + + ///Exports the PivotChart control alone on exporting. + ChartOnly, + + ///Exports the PivotGrid control alone on exporting. + GridOnly + } + + + enum ControlPlacement { + + ///Displays PivotChart and PivotGrid widgets in separate tabs. + Tab, + + ///Displays PivotChart and PivotGrid widgets one above the other. + Tile + } + + + enum DefaultView { + + ///To set PivotChart as a default control in view. + Chart, + + ///To set PivotGrid as a default control in view. + Grid + } + + + enum DisplayMode { + + ///To display only PivotChart widget. + ChartOnly, + + ///To display only PivotGrid widget. + GridOnly, + + ///To display both PivotChart and PivotGrid widgets. + ChartAndGrid + } + + } + + class PivotGauge extends ej.Widget { + static fn: PivotGauge; + constructor(element: JQuery | Element, options?: PivotGauge.Model); + static Locale: any; + model: PivotGauge.Model; + defaults: PivotGauge.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** This function is used to refresh the PivotGauge at client-side itself. + * @returns {void} + */ + refresh(): void; + + /** This function removes the KPI related images from PivotGauge on binding OLAP datasource. + * @returns {void} + */ + removeImg(): void; + + /** This function receives the JSON formatted datasource and renders the PivotGauge control. + * @returns {void} + */ + renderControlFromJSON(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): any[]; + + /** Sets the JSON records to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** Returns the JSON records required to render the PivotGauge on performing any action with OLAP data source. + * @returns {void} + */ + getJSONData(): void; + } + export namespace PivotGauge { + + export interface Model { + + /** Sets the number of columns to arrange the Pivot Gauges. + * @Default {0} + */ + columnsCount?: number; + + /** Specifies the CSS class to PivotGauge to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Object utilized to pass additional information between client-end and service-end on operating in server mode. + * @Default {{}} + */ + customObject?: any; + + /** Initializes the data source for the PivotGauge widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Enables/disables the animation of pointer in PivotGauge. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Enables/disables tooltip visibility in PivotGauge. + * @Default {false} + */ + enableTooltip?: boolean; + + /** Allows the user to view PivotGauge from right to left. + * @Default {false} + */ + enableRTL?: boolean; + + /** Allows the user to enable PivotGauge’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to change the format of the label values in PivotGauge. + * @Default {null} + */ + labelFormatSettings?: LabelFormatSettings; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the number of rows to arrange the Pivot Gauges. + * @Default {0} + */ + rowsCount?: number; + + /** Sets the scale values such as pointers, indicators, etc... for PivotGauge. + * @Default {{}} + */ + scales?: any; + + /** Allows the user to set the custom name for the methods at service-end, communicated during AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Enables/disables the header labels in PivotGauge. + * @Default {true} + */ + showHeaderLabel?: boolean; + + /** Connects the service using the specified URL for any server updates on server mode operation. + * @Default {“”} + */ + url?: string; + + /** Sets the mode for the PivotGauge widget for binding either OLAP or Relational data source. + * @Default {ej.Pivot.AnalysisMode.Pivot} + */ + analysisMode?: ej.Pivot.AnalysisMode | string; + + /** Sets the mode for the PivotGauge widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotGauge to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers before populating the pivot engine on operating in client mode. */ + beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; + + /** Triggers when PivotGauge started loading at client-side. */ + load?(e: LoadEventArgs): void; + + /** Triggers when PivotGauge widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotGauge successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + } + + export interface AfterServiceInvokeEventArgs { + + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + } + + export interface BeforeServiceInvokeEventArgs { + + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + } + + export interface BeforePivotEnginePopulateEventArgs { + + /** returns the current instance of PivotGauge control. + */ + gaugeObject?: any; + } + + export interface LoadEventArgs { + + /** returns the current action of PivotGauge control. + */ + action?: string; + + /** returns the model of PivotGauge control. + */ + model?: any; + + /** returns the HTML element of the widget. + */ + element?: any; + + /** returns the custom object bound to the control. + */ + customObject?: any; + } + + export interface RenderCompleteEventArgs { + + /** returns the custom object bound with PivotGauge control. + */ + customObject?: any; + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + } + + export interface RenderFailureEventArgs { + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + + /** returns the custom object bound with the control. + */ + customObject?: any; + + /** returns the error message with error code. + */ + message?: string; + } + + export interface RenderSuccessEventArgs { + + /** returns the HTML element of PivotGauge control. + */ + element?: any; + + /** returns the custom object bound with the control. + */ + customObject?: any; + } + + export interface DataSourceColumnsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** Allows the user to bind the item by using its unique name as field name for Relational datasource. + */ + fieldName?: string; + + /** Allows the user to set the display caption for an item for Relational datasource. + */ + fieldCaption?: string; + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + + /** Indicates whether the field is a calculated field or not with Relational datasource. + * @Default {false} + */ + isCalculatedField?: boolean; + + /** Allows to set the formula for calculation of values for calculated members in Relational datasource. + */ + formula?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Sets the type of filter whether to include/exclude the mentioned values. + * @Default {ej.PivotAnalysis.FilterType.Exclude} + */ + filterType?: ej.PivotAnalysis.FilterType | string; + + /** Contains the collection of items to be included/excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSource { + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** Provides the raw data source for the PivotGauge. + * @Default {null} + */ + data?: any; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to bind in columns section. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to bind in rows section. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items supports calculation in PivotGauge. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotGauge. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + } + + export interface LabelFormatSettings { + + /** Allows the user to change the number format of the label values in PivotGauge. + * @Default {ej.PivotGauge.NumberFormat.Default} + */ + numberFormat?: ej.PivotGauge.NumberFormat | string; + + /** Allows you to set the number of digits displayed after decimal point. + * @Default {5} + */ + decimalPlaces?: number; + + /** Allows you to add a text at the beginning of the label. + */ + prefixText?: string; + + /** Allows you to add text at the end of the label. + */ + suffixText?: string; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for initializing PivotGauge. + * @Default {InitializeGauge} + */ + initialize?: string; + } + + enum NumberFormat { + + ///To set default format for label values. + Default, + + ///To set currency format for label values. + Currency, + + ///To set percentage format for label values. + Percentage, + + ///To set fraction format for label values. + Fraction, + + ///To set scientific format for label values. + Scientific, + + ///To set text format for label values. + Text, + + ///To set notation format for label values. + Notation + } + + } + + class PivotTreeMap extends ej.Widget { + static fn: PivotTreeMap; + constructor(element: JQuery | Element, options?: PivotTreeMap.Model); + static Locale: any; + model: PivotTreeMap.Model; + defaults: PivotTreeMap.Model; + + /** Performs an asynchronous HTTP (AJAX) request. + * @returns {void} + */ + doAjaxPost(): void; + + /** Returns the OlapReport string maintained along with the axis elements information. + * @returns {string} + */ + getOlapReport(): string; + + /** Sets the OlapReport string along with the axis information and maintains it in a property. + * @returns {void} + */ + setOlapReport(): void; + + /** Returns the JSON records formed to render the control. + * @returns {Array} + */ + getJSONRecords(): any[]; + + /** Sets the JSON records to render the control. + * @returns {void} + */ + setJSONRecords(): void; + + /** Renders the control with the pivot engine obtained from OLAP cube. + * @returns {void} + */ + generateJSON(): void; + + /** This function receives the JSON formatted datasource to render the PivotTreeMap control. + * @returns {void} + */ + renderTreeMapFromJSON(): void; + + /** This function receives the update from service-end, which would be utilized for rendering the widget. + * @returns {void} + */ + renderControlSuccess(): void; + } + export namespace PivotTreeMap { + + export interface Model { + + /** Specifies the CSS class to PivotTreeMap to achieve custom theme. + * @Default {“”} + */ + cssClass?: string; + + /** Initializes the data source for the PivotTreeMap widget, when it functions completely on client-side. + * @Default {{}} + */ + dataSource?: DataSource; + + /** Object utilized to pass additional information between client-end and service-end. + * @Default {{}} + */ + customObject?: any; + + /** Allows the user to enable PivotTreeMap’s responsiveness in the browser layout. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the user to set the localized language for the widget. + * @Default {en-US} + */ + locale?: string; + + /** Sets the mode for the PivotTreeMap widget for binding data source either in server-side or client-side. + * @Default {ej.Pivot.OperationalMode.ClientMode} + */ + operationalMode?: ej.Pivot.OperationalMode | string; + + /** Allows the user to set custom name for the methods at service-end, communicated on AJAX post. + * @Default {{}} + */ + serviceMethodSettings?: ServiceMethodSettings; + + /** Connects the service using the specified URL for any server updates. + * @Default {“”} + */ + url?: string; + + /** Triggers when it reaches client-side after any AJAX request. */ + afterServiceInvoke?(e: AfterServiceInvokeEventArgs): void; + + /** Triggers before any AJAX request is passed from PivotTreeMap to service methods. */ + beforeServiceInvoke?(e: BeforeServiceInvokeEventArgs): void; + + /** Triggers when PivotTreeMap starts to render. */ + load?(e: LoadEventArgs): void; + + /** Triggers before populating the pivot engine from datasource. */ + beforePivotEnginePopulate?(e: BeforePivotEnginePopulateEventArgs): void; + + /** Triggers when drill up/down happens in PivotTreeMap control. And it returns the outer HTML of PivotTreeMap control. */ + drillSuccess?(e: DrillSuccessEventArgs): void; + + /** Triggers when PivotTreeMap widget completes all operations at client-side after any AJAX request. */ + renderComplete?(e: RenderCompleteEventArgs): void; + + /** Triggers when any error occurred during AJAX request. */ + renderFailure?(e: RenderFailureEventArgs): void; + + /** Triggers when PivotTreeMap successfully reaches client-side after any AJAX request. */ + renderSuccess?(e: RenderSuccessEventArgs): void; + } + + export interface AfterServiceInvokeEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface BeforeServiceInvokeEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface LoadEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface BeforePivotEnginePopulateEventArgs { + + /** returns the current instance of PivotTreeMap control. + */ + treeMapObject?: any; + } + + export interface DrillSuccessEventArgs { + + /** return the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface RenderCompleteEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface RenderFailureEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + + /** returns the error stack trace of the original exception. + */ + message?: string; + } + + export interface RenderSuccessEventArgs { + + /** returns the current action of PivotTreeMap control. + */ + action?: string; + + /** returns the custom object bound with PivotTreeMap control. + */ + customObject?: any; + + /** returns the HTML element of PivotTreeMap control. + */ + element?: any; + } + + export interface DataSourceColumnsFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceColumn { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceColumnsFilterItems; + } + + export interface DataSourceRowsFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceRow { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Allows the user to indicate whether the added item is a named set or not. + * @Default {false} + */ + isNamedSets?: boolean; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceRowsFilterItems; + } + + export interface DataSourceValuesMeasure { + + /** Allows the user to bind the measure from OLAP datasource by using its unique name as field name. + */ + fieldName?: string; + } + + export interface DataSourceValue { + + /** This holds the list of unique names of measures to bind them from the OLAP cube. + * @Default {[]} + */ + measures?: DataSourceValuesMeasure[]; + + /** Allows to set the axis name to place the measures items. + * @Default {rows} + */ + axis?: string; + } + + export interface DataSourceFiltersFilterItems { + + /** Contains the collection of items to be excluded among the field members. + * @Default {[]} + */ + values?: any[]; + } + + export interface DataSourceFilter { + + /** Allows the user to bind the item by using its unique name as field name. + */ + fieldName?: string; + + /** Applies filter to the field members. + * @Default {null} + */ + filterItems?: DataSourceFiltersFilterItems; + } + + export interface DataSource { + + /** Provides the raw data source for the PivotTreeMap. + * @Default {null} + */ + data?: any; + + /** Contains the respective cube name from OLAP database as string type. + * @Default {“”} + */ + cube?: string; + + /** In connection with an OLAP database, this property contains the database name as string to fetch the data from the given connection string. + * @Default {“”} + */ + catalog?: string; + + /** Lists out the items to be displayed as series of PivotTreeMap. + * @Default {[]} + */ + columns?: DataSourceColumn[]; + + /** Lists out the items to be displayed as segments of PivotTreeMap. + * @Default {[]} + */ + rows?: DataSourceRow[]; + + /** Lists out the items supports calculation in PivotTreeMap. + * @Default {[]} + */ + values?: DataSourceValue[]; + + /** Lists out the items which supports filtering of values without displaying the members in UI in PivotTreeMap. + * @Default {[]} + */ + filters?: DataSourceFilter[]; + } + + export interface ServiceMethodSettings { + + /** Allows the user to set the custom name for the service method responsible for initializing PivotTreeMap. + * @Default {InitializeTreemap} + */ + initialize?: string; + + /** Allows the user to set the custom name for the service method responsible for drilling up/down operation in PivotTreeMap. + * @Default {DrillTreeMap} + */ + drillDown?: string; + } + } + + class Schedule extends ej.Widget { + static fn: Schedule; + constructor(element: JQuery | Element, options?: Schedule.Model); + static Locale: any; + model: Schedule.Model; + defaults: Schedule.Model; + + /** This method is used to delete the appointment based on the guid value or the appointment data passed to it. + * @param {string|any} GUID value of an appointment element or an appointment object + * @returns {void} + */ + deleteAppointment(data: string | any): void; + + /** Destroys the Schedule widget. All the events bound using this._on are unbound automatically and the control is moved to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Exports the appointments from the Schedule control. + * @param {string} It refers the controller action name to redirect. (For MVC) + * @param {string} It refers the server event name.(For ASP) + * @param {string|number} Pass the id of an appointment, in case if a single appointment needs to be exported. Otherwise, it takes the null value. + * @returns {void} + */ + exportSchedule(action: string, serverEvent: string, id: string | number): void; + + /** Searches and filters the appointments from appointment list of Schedule control. + * @param {Array} Holds array of one or more conditional objects for filtering the appointments based on it. + * @returns {Array} + */ + filterAppointments(filterConditions: any[]): any[]; + + /** Gets the complete appointment list of Schedule control. + * @returns {Array} + */ + getAppointments(): any[]; + + /** Prints the entire Scheduler or a single appointment based on the appointment data passed as an argument to it. Simply calling the print() method, + * without passing any argument will print the entire Scheduler. + * @param {any} Either accepts no arguments at all or else accepts an appointment object. + * @returns {void} + */ + print(data: any): void; + + /** Refreshes the Scroller of Scheduler while using it within some other controls or application. + * @returns {void} + */ + refreshScroller(): void; + + /** It is used to save the appointment. The appointment object is based on the argument passed to this method. + * @param {any} appointment object which includes appointment details + * @returns {void} + */ + saveAppointment(appointmentObject: any): void; + + /** Generate the recurrence rule as a string, based on the repeat options selected. + * @returns {string} + */ + getRecurrenceRule(): string; + + /** Retrieves the time slot information (start/end time and resource details) of the given element. + * The parameter is optional - as when no element is passed to it, the currently selected cell information will be retrieved. When multiple cells are selected in the Scheduler, + * it is not necessary to provide the parameter. + * @param {any} TD element object rendered as Scheduler work cell + * @returns {any} + */ + getSlotByElement(element: any): any; + + /** Searches the appointments from the appointment list of Schedule control based on the provided search string in its argument list. + * @param {any|string} Defines the search word or the filter condition, based on which the appointments are filtered from the list. + * @param {string} Defines the field name on which the search is to be made. + * @param {ej.FilterOperators|string} Defines the filterOperator value for the search operation. + * @param {boolean} Defines the ignoreCase value for performing the search operation. + * @returns {Array} + */ + searchAppointments(searchString: any | string, field: string, operator: ej.FilterOperators | string, ignoreCase: boolean): any[]; + + /** Refreshes the entire Schedule control. + * @returns {void} + */ + refresh(): void; + + /** Refreshes only the appointment elements within the Schedule control. + * @returns {void} + */ + refreshAppointments(): void; + + /** Passes the server-side action and data to the client-side for rendering the modified appointment list on the Schedule control. + * @returns {void} + */ + notifyChanges(): void; + } + export namespace Schedule { + + export interface Model { + + /** When set to true, Schedule allows the appointments to be dragged and dropped at required time. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** When set to true, Scheduler allows interaction through keyboard shortcut keys. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** It includes the dataSource option and the fields related to Schedule appointments. The appointment fields within the appointmentSettings can accept both string and object type values. + * To apply validation rules on the appointment window fields, then the appointment fields needs to be defined with object type values. + */ + appointmentSettings?: AppointmentSettings; + + /** Template design that applies on the Schedule appointments. All the field names that are mapped from dataSource + * to the appropriate field properties within the appointmentSettings can be used within the template. + * @Default {null} + */ + appointmentTemplateId?: string; + + /** Accepts the custom CSS class name that defines specific user-defined styles and themes to be applied for partial or complete elements of the Schedule. + */ + cssClass?: string; + + /** Sets various categorize colors to the Schedule appointments to differentiate it. + */ + categorizeSettings?: CategorizeSettings; + + /** Sets the height for Schedule cells. + * @Default {20px} + */ + cellHeight?: string; + + /** Sets the width for Schedule cells. + */ + cellWidth?: string; + + /** Holds all options related to the context menu settings of Scheduler. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Sets current date of the Schedule. The Schedule displays initially with the date that is provided here. + * @Default {new Date()} + */ + currentDate?: any; + + /** Sets current view of the Schedule. Schedule renders initially with the view that is specified here. The available views are day, week, workweek, month, agenda and + * custom view - from which any one of the required view can be set to the Schedule. It accepts both string or enum values. The enum values that are accepted + * by currentView(ej.Schedule.CurrentView) are as follows, + * @Default {ej.Schedule.CurrentView.Week} + */ + currentView?: string | ej.Schedule.CurrentView; + + /** Sets the date format for Schedule. + */ + dateFormat?: string; + + /** When set to true, shows the previous/next appointment navigator button on the Scheduler. + * @Default {true} + */ + showAppointmentNavigator?: boolean; + + /** When set to true, enables the resize behavior of appointments within the Schedule. + * @Default {true} + */ + enableAppointmentResize?: boolean; + + /** When set to true, enables the loading of Schedule appointments based on your demand. With this load on demand concept, the data consumption of the Schedule can be limited. + * @Default {false} + */ + enableLoadOnDemand?: boolean; + + /** Saves the current model value to browser cookies for state maintenance. When the page gets refreshed, Schedule control values are retained. + * @Default {false} + */ + enablePersistence?: boolean; + + /** When set to true, the Schedule layout and behavior changes as per the common RTL conventions. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the end hour time limit to be displayed on the Schedule. + * @Default {24} + */ + endHour?: number; + + /** To configure resource grouping on the Schedule. + */ + group?: Group; + + /** Sets the height of the Schedule. Accepts both pixel and percentage values. + * @Default {1120px} + */ + height?: string; + + /** To define the work hours within the Schedule control. + */ + workHours?: WorkHours; + + /** When set to true, enables the Schedule to observe Daylight Saving Time for supported timezones. + * @Default {false} + */ + isDST?: boolean; + + /** When set to true, adapts the Schedule layout to fit the screen size of devices on which it renders. + * @Default {true} + */ + isResponsive?: boolean; + + /** Sets the specific culture to the Schedule. + * @Default {en-US} + */ + locale?: string; + + /** Sets the maximum date limit to display on the Schedule. Setting maxDate with specific date value disallows the Schedule to navigate beyond that date. + * @Default {new Date(2099, 12, 31)} + */ + maxDate?: any; + + /** Sets the minimum date limit to display on the Schedule. Setting minDate with specific date value disallows the Schedule to navigate beyond that date. + * @Default {new Date(1900, 01, 01)} + */ + minDate?: any; + + /** Sets the mode of Schedule rendering either in a vertical or horizontal direction. It accepts either string("vertical" or "horizontal") or enum values. + * The enum values that are accepted by orientation(ej.Schedule.Orientation) are as follows, + * @Default {ej.Schedule.Orientation.Vertical} + */ + orientation?: string | ej.Schedule.Orientation; + + /** Holds all the options related to priority settings of the Schedule. + */ + prioritySettings?: PrioritySettings; + + /** When set to true, disables the interaction with the Schedule appointments, simply allowing the date and view navigation to occur. + * @Default {false} + */ + readOnly?: boolean; + + /** Holds all the options related to reminder settings of the Schedule. + */ + reminderSettings?: ReminderSettings; + + /** Defines the specific start and end dates to be rendered in the Schedule control. To render such user-specified custom date ranges in the Schedule control, + * set the currentView property to ej.Schedule.CurrentView.CustomView. + * @Default {null} + */ + renderDates?: RenderDates; + + /** Template design that applies on the Schedule resource header. + * @Default {null} + */ + resourceHeaderTemplateId?: string; + + /** Holds all the options related to the resources settings of the Schedule. It is a collection of one or more resource objects, where the levels of resources are rendered on the Schedule + * based on the order of the resource data provided within this collection. + * @Default {null} + */ + resources?: Resource[]; + + /** When set to true, displays the all-day row cells on the Schedule. + * @Default {true} + */ + showAllDayRow?: boolean; + + /** When set to true, displays the current time indicator on the Schedule. + * @Default {true} + */ + showCurrentTimeIndicator?: boolean; + + /** When set to true, displays the header bar on the Schedule. + * @Default {true} + */ + showHeaderBar?: boolean; + + /** When set to true, displays the location field additionally on Schedule appointment window. + * @Default {false} + */ + showLocationField?: boolean; + + /** When set to false, doesn't render the start and end timezone fields on the Schedule appointment window. + * @Default {true} + */ + showTimeZoneFields?: boolean; + + /** When set to true, displays the quick window for every single click made on the Schedule cells or appointments. + * @Default {true} + */ + showQuickWindow?: boolean; + + /** Sets the start hour time range to be displayed on the Schedule. + * @Default {0} + */ + startHour?: number; + + /** Sets either 12 or 24 hour time mode on the Schedule. It accepts either the string value("12" or "24") or the below mentioned enum values. + * The enum values that are accepted by timeMode(ej.Schedule.TimeMode) are as follows, + * @Default {null} + */ + timeMode?: string | ej.Schedule.TimeMode; + + /** Sets the timezone for the Schedule. + * @Default {null} + */ + timeZone?: string; + + /** Sets the collection of timezone items to be bound to the Schedule. Only the items bound to this property gets listed out in the timezone field of the appointment window. + */ + timeZoneCollection?: TimeZoneCollection; + + /** Defines the view collection to be displayed on the Schedule. By default, it displays all the views namely, Day, Week, WorkWeek and Month. + * @Default {[Day, Week, WorkWeek, Month, Agenda]} + */ + views?: any[]; + + /** Sets the width of the Schedule. Accepts both pixel and percentage values. + * @Default {100%} + */ + width?: string; + + /** When set to true, Schedule allows the validation of recurrence pattern to take place before it is being assigned to the appointments. For example, when one of the instance of + * recurrence appointment is dragged beyond the next or previous instance of the same recurrence appointment, a pop-up is displayed with the validation message disallowing the drag functionality. + * @Default {true} + */ + enableRecurrenceValidation?: boolean; + + /** Sets the week to display more than one week appointment summary. + */ + agendaViewSettings?: AgendaViewSettings; + + /** Sets specific day as the starting day of the week. + * @Default {null} + */ + firstDayOfWeek?: string; + + /** Sets different day collection within workWeek view. + * @Default {[Monday, Tuesday, Wednesday, Thursday, Friday]} + */ + workWeek?: any[]; + + /** Allows to pop-up appointment details in a tooltip while hovering over the appointments. + */ + tooltipSettings?: TooltipSettings; + + /** Holds all the options related to the time scale of Scheduler. The timeslots either major or minor slots can be customized with this property. + */ + timeScale?: TimeScale; + + /** When set to true, shows the delete confirmation dialog before deleting an appointment. + * @Default {true} + */ + showDeleteConfirmationDialog?: boolean; + + /** Accepts the id value of the template layout defined for the all-day cells and customizes it. + * @Default {null} + */ + allDayCellsTemplateId?: string; + + /** Accepts the id value of the template layout defined for the work cells and month cells. + * @Default {null} + */ + workCellsTemplateId?: string; + + /** Accepts the id value of the template layout defined for the date header cells and customizes it. + * @Default {null} + */ + dateHeaderTemplateId?: string; + + /** when set to false, allows the height of the work-cells to adjust automatically (either expand or collapse) based on the number of appointment count it has. + * @Default {true} + */ + showOverflowButton?: boolean; + + /** Allows setting draggable area for the Scheduler appointments. Also, turns on the external drag and drop, when set with some specific external drag area name. + */ + appointmentDragArea?: string; + + /** When set to true, displays the other months days from the current month on the Schedule. + * @Default {true} + */ + showNextPrevMonth?: boolean; + + /** Blocks the user-specific time interval on the Scheduler, so that no appointments can be created on that particular time slots. + * It includes the dataSource option and also the fields related to block intervals. + */ + blockoutSettings?: BlockoutSettings; + + /** Triggers on the beginning of every action that starts within the Schedule. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggers after the completion of every action within the Schedule. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggers after an appointment is clicked. */ + appointmentClick?(e: AppointmentClickEventArgs): void; + + /** Triggers before the appointment is being removed from the Scheduler. */ + beforeAppointmentRemove?(e: BeforeAppointmentRemoveEventArgs): void; + + /** Triggers before the edited appointment is being saved. */ + beforeAppointmentChange?(e: BeforeAppointmentChangeEventArgs): void; + + /** Triggers on hovering the mouse over the appointments. */ + appointmentHover?(e: AppointmentHoverEventArgs): void; + + /** Triggers before the new appointment gets saved. */ + beforeAppointmentCreate?(e: BeforeAppointmentCreateEventArgs): void; + + /** Triggers before the appointment window opens. */ + appointmentWindowOpen?(e: AppointmentWindowOpenEventArgs): void; + + /** Triggers before the context menu opens. */ + beforeContextMenuOpen?(e: BeforeContextMenuOpenEventArgs): void; + + /** Triggers after the cell is clicked. */ + cellClick?(e: CellClickEventArgs): void; + + /** Triggers after the cell is clicked twice. */ + cellDoubleClick?(e: CellDoubleClickEventArgs): void; + + /** Triggers on hovering the mouse overs the cells. */ + cellHover?(e: CellHoverEventArgs): void; + + /** Triggers when the Scheduler completely renders on the page. */ + create?(e: CreateEventArgs): void; + + /** Triggers when the Scheduler and all its sub-components gets destroyed. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggers while the appointment is being dragged over the work cells. */ + drag?(e: DragEventArgs): void; + + /** Triggers when the appointment dragging begins. */ + dragStart?(e: DragStartEventArgs): void; + + /** Triggers when the appointment is dropped. */ + dragStop?(e: DragStopEventArgs): void; + + /** Triggers after the menu/sub-menu items within the context menu is clicked. */ + menuItemClick?(e: MenuItemClickEventArgs): void; + + /** Triggers after the Schedule view or date is navigated. */ + navigation?(e: NavigationEventArgs): void; + + /** Triggers every time before the elements of the scheduler such as work cells, time cells or header cells and so on renders or re-renders on a page. */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; + + /** Triggers when the reminder is raised for an appointment based on the alertBefore value. */ + reminder?(e: ReminderEventArgs): void; + + /** Triggers while resizing the appointment. */ + resize?(e: ResizeEventArgs): void; + + /** Triggers when the appointment resizing begins. */ + resizeStart?(e: ResizeStartEventArgs): void; + + /** Triggers when an appointment resizing stops. */ + resizeStop?(e: ResizeStopEventArgs): void; + + /** Triggers when the overflow button is clicked. */ + overflowButtonClick?(e: OverflowButtonClickEventArgs): void; + + /** Triggers while mouse hovering on the overflow button. */ + overflowButtonHover?(e: OverflowButtonHoverEventArgs): void; + + /** Triggers when any of the keyboard keys are pressed. */ + keyDown?(e: KeyDownEventArgs): void; + + /** Triggers after the new appointment is saved. */ + appointmentCreated?(e: AppointmentCreatedEventArgs): void; + + /** Triggers after an existing appointment is edited. */ + appointmentChanged?(e: AppointmentChangedEventArgs): void; + + /** Triggers after the appointment is deleted. */ + appointmentRemoved?(e: AppointmentRemovedEventArgs): void; + } + + export interface ActionBeginEventArgs { + + /** Returns the current date value. + */ + currentDate?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current view value. + */ + currentView?: string; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the action begin request type. + */ + requestType?: string; + + /** Returns the target of the click. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the save appointment value. + */ + data?: any; + + /** Returns the id of delete appointment. + */ + id?: number; + } + + export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data about view change action. + */ + data?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the action complete request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the appointment data dropped. + */ + appointment?: any; + } + + export interface AppointmentClickEventArgs { + + /** Returns the object of appointmentClick event. + */ + object?: any; + + /** Returns the clicked appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface BeforeAppointmentRemoveEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the deleted appointment object. + */ + appointment?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface BeforeAppointmentChangeEventArgs { + + /** Returns the edited appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentHoverEventArgs { + + /** Returns the object of appointmentHover event. + */ + object?: any; + + /** Returns the hovered appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface BeforeAppointmentCreateEventArgs { + + /** Returns the appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentWindowOpenEventArgs { + + /** returns the object of appointmentWindowOpen event while selecting the detail option from quick window or edit appointment or edit series option. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the end time of the double clicked cell. + */ + endTime?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the action name that triggers window open. + */ + originalEventType?: string; + + /** Returns the start time of the double clicked cell. + */ + startTime?: any; + + /** Returns the target of the double clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the edit appointment object. + */ + appointment?: any; + + /** Returns the edit occurrence option value. + */ + edit?: boolean; + } + + export interface BeforeContextMenuOpenEventArgs { + + /** Returns the object of beforeContextMenuOpen event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current cell index value. + */ + cellIndex?: number; + + /** Returns the current date value. + */ + currentDate?: any; + + /** Returns the current resource details, when multiple resources are present, otherwise returns null. + */ + resources?: any; + + /** Returns the current appointment details while opening the menu from appointment. + */ + appointment?: any; + + /** Returns the object of before opening menu target. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellClickEventArgs { + + /** Returns the object of cellClick event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the end time of the clicked cell. + */ + endTime?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the start time of the clicked cell. + */ + startTime?: any; + + /** Returns the target of the clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellDoubleClickEventArgs { + + /** Returns the object of cellDoubleClick event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the end time of the double clicked cell. + */ + endTime?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the start time of the double clicked cell. + */ + startTime?: any; + + /** Returns the target of the double clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellHoverEventArgs { + + /** Returns the object of cellHover event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the index of the hovered cell. + */ + cellIndex?: any; + + /** Returns the current date of the hovered cell. + */ + currentDate?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the clicked cell. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface DragEventArgs { + + /** Returns the object of dragOver event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the drag over appointment. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DragStartEventArgs { + + /** Returns the object of dragStart event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the dragging appointment. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DragStopEventArgs { + + /** Returns the object of dragDrop event. + */ + object?: any; + + /** Returns the dropped appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface MenuItemClickEventArgs { + + /** Returns the object of menuItemClick event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface NavigationEventArgs { + + /** Returns the current date object. + */ + currentDate?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the current view value. + */ + currentView?: string; + + /** Returns the previous view value. + */ + previousView?: string; + + /** Returns the target of the action. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the previous date of the Schedule. + */ + previousDate?: any; + } + + export interface QueryCellInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the current appointment data. + */ + appointment?: any; + + /** Returns the currently rendering DOM element. + */ + element?: any; + + /** Returns the name of the currently rendering element on the scheduler. + */ + requestType?: string; + + /** Returns the cell type which is currently rendering on the Scheduler. + */ + cellType?: string; + + /** Returns the start date of the currently rendering appointment. + */ + currentAppointmentDate?: any; + + /** Returns the currently rendering cell information. + */ + cell?: any; + + /** Returns the currently rendering resource details. + */ + resource?: any; + + /** Returns the currently rendering date information. + */ + currentDay?: any; + } + + export interface ReminderEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the appointment object for which the reminder is raised. + */ + reminderAppointment?: any; + } + + export interface ResizeEventArgs { + + /** Returns the object of resizing event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the resize element value. + */ + element?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ResizeStartEventArgs { + + /** Returns the object of resizeStart event. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the resize element value. + */ + element?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ResizeStopEventArgs { + + /** Returns the object of resizeStop event. + */ + object?: any; + + /** Returns the resized appointment value. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the target of the resized appointment. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface OverflowButtonClickEventArgs { + + /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the clicked overflow button is present. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface OverflowButtonHoverEventArgs { + + /** Returns the object consisting of start time, end time and resource value of the underlying cell on which the overflow button is currently hovered. + */ + object?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface KeyDownEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the object of menu item event. + */ + events?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface AppointmentCreatedEventArgs { + + /** Returns the appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentChangedEventArgs { + + /** Returns the edited appointment object. + */ + appointment?: any; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentRemovedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the deleted appointment object. + */ + appointment?: any; + + /** Returns the Schedule model. + */ + model?: ej.Schedule.Model; + + /** Returns the name of the Scheduler event. + */ + type?: string; + } + + export interface AppointmentSettings { + + /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule appointments. + * @Default {[]} + */ + dataSource?: any | any[]; + + /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. + * @Default {null} + */ + query?: string; + + /** Assign the table name from where the records are to be fetched for the Schedule. + * @Default {null} + */ + tableName?: string; + + /** When set to false, doesn't consider the time difference offset calculation on appointment time. + * @Default {true} + */ + applyTimeOffset?: boolean; + + /** Binds the id field name in dataSource to the id of Schedule appointments. It denotes the unique id assigned to appointments. + * @Default {null} + */ + id?: string; + + /** Binds the name of startTime field in the dataSource with start time of the Schedule appointments. It indicates the date and Time when Schedule appointment actually starts. + * @Default {null} + */ + startTime?: string; + + /** Binds the name of endTime field in dataSource with the end time of Schedule appointments. It indicates the date and time when Schedule appointment actually ends. + * @Default {null} + */ + endTime?: string; + + /** Binds the name of subject field in the dataSource to appointment Subject. Indicates the Subject or title that gets displayed on Schedule appointments. + * @Default {null} + */ + subject?: string; + + /** Binds the description field name in dataSource. It indicates the appointment description. + * @Default {null} + */ + description?: string; + + /** Binds the name of recurrence field in dataSource. It indicates whether the appointment is a recurrence appointment or not. + * @Default {null} + */ + recurrence?: string; + + /** Binds the name of recurrenceRule field in dataSource. It indicates the recurrence pattern associated with appointments. + * @Default {null} + */ + recurrenceRule?: string; + + /** Binds the name of allDay field in dataSource. It indicates whether the appointment is an all-day appointment or not. + * @Default {null} + */ + allDay?: string; + + /** Binds one or more fields in resource collection dataSource. It maps the resource field names with appointments denoting the resource of appointments actually belongs. + * @Default {null} + */ + resourceFields?: string; + + /** Binds the name of categorize field in dataSource. It indicates the categorize value, red categorize, green, yellow and so on applied to the appointments. + * @Default {null} + */ + categorize?: string; + + /** Binds the name of location field in dataSource. It indicates the appointment location. + * @Default {null} + */ + location?: string; + + /** Binds the name of the priority field in dataSource. It indicates the priority, high, low, medium and none of the appointments. + * @Default {null} + */ + priority?: string; + + /** Binds the name of start timezone field in dataSource. It indicates the timezone of appointment start date. When startTimeZone field is not mentioned, + * the appointment uses the Schedule timeZone or System timeZone. + * @Default {null} + */ + startTimeZone?: string; + + /** Binds the name of end timezone field in dataSource. It indicates the timezone of appointment end date. When the endTimeZone field is not mentioned, + * the appointment uses the Schedule timeZone or System timeZone. + * @Default {null} + */ + endTimeZone?: string; + } + + export interface CategorizeSettings { + + /** When set to true, enables the multiple selection of categories to be applied for the appointments. + * @Default {false} + */ + allowMultiple?: boolean; + + /** When set to true, enables the categories option to be applied for the appointments. + * @Default {false} + */ + enable?: boolean; + + /** The dataSource option accepts either the JSON object collection or DataManager [ej.DataManager] instance that contains the categorize data. + */ + dataSource?: any[] | any; + + /** Binds id field name in the dataSource to id of category data. + * @Default {id} + */ + id?: string; + + /** Binds text field name in the dataSource to category text. + * @Default {text} + */ + text?: string; + + /** Binds color field name in the dataSource to category color. + * @Default {color} + */ + color?: string; + + /** Binds fontColor field name in the dataSource to category font. + * @Default {fontColor} + */ + fontColor?: string; + } + + export interface ContextMenuSettingsMenuItems { + + /** All the appointment related context menu items are grouped under this appointment menu collection. + */ + appointment?: any[]; + + /** All the Scheduler cell related context menu items are grouped under this cells menu item collection. + */ + cells?: any[]; + } + + export interface ContextMenuSettings { + + /** When set to true, enables the context menu options available for the Schedule cells and appointments. + * @Default {false} + */ + enable?: boolean; + + /** Contains all the default context menu options that are applicable for both Schedule cells and appointments. It also supports adding custom menu items to cells or appointment collection. + */ + menuItems?: ContextMenuSettingsMenuItems; + } + + export interface Group { + + /** Holds the array of resource names to be grouped on the Schedule. + */ + resources?: any[]; + } + + export interface WorkHours { + + /** When set to true, highlights the work hours of the Schedule. + * @Default {true} + */ + highlight?: boolean; + + /** Sets the start time to depict the start of working or business hour in a day. + * @Default {9} + */ + start?: number; + + /** Sets the end time to depict the end of working or business hour in a day. + * @Default {18} + */ + end?: number; + } + + export interface PrioritySettings { + + /** When set to true, enables the priority options available for the Schedule appointments. + * @Default {false} + */ + enable?: boolean; + + /** The dataSource option can accept the JSON object collection that contains the priority related data. + * @Default {{% highlight js%}[{ text: None, value: none },{ text: High, value: high },{ text: Medium, value: medium },{ text: Low, value: low }]{% endhighlight %}} + */ + dataSource?: any | any[]; + + /** Binds text field name in the dataSource to prioritySettings text. These text gets listed out in priority field of the appointment window. + * @Default {text} + */ + text?: string; + + /** Binds value field name in the dataSource to prioritySettings value. These field names usually accepts four priority values by default, high, low, medium and none. + * @Default {value} + */ + value?: string; + + /** Allows priority field customization in the appointment window to add custom icons denoting the priority level for the appointments. + * @Default {null} + */ + template?: string; + } + + export interface ReminderSettings { + + /** When set to true, enables the reminder option available for the Schedule appointments. + * @Default {false} + */ + enable?: boolean; + + /** Sets the timing, when the reminders are to be alerted for the Schedule appointments. + * @Default {5} + */ + alertBefore?: number; + } + + export interface RenderDates { + + /** Sets the start of custom date range to be rendered in the Schedule. + * @Default {null} + */ + start?: any; + + /** Sets the end limit of the custom date range. + * @Default {null} + */ + end?: any; + } + + export interface ResourcesResourceSettings { + + /** The dataSource option accepts either JSON object collection or DataManager (ejDataManager) instance that contains the resources related data. + * @Default {[]} + */ + dataSource?: any | any[]; + + /** Binds text field name in the dataSource to resourceSettings text. These text gets listed out in resources field of the appointment window. + * @Default {null} + */ + text?: string; + + /** Binds id field name in the dataSource to resourceSettings id. + * @Default {null} + */ + id?: string; + + /** Binds groupId field name in the dataSource to resourceSettings groupId. + * @Default {null} + */ + groupId?: string; + + /** Binds color field name in the dataSource to resourceSettings color. The color specified here gets applied to the Schedule appointments denoting to the resource it belongs. + * @Default {null} + */ + color?: string; + + /** Binds the starting work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the starting work hour for specific resources. + * @Default {null} + */ + start?: string; + + /** Binds the end work hour field name in the dataSource. It's optional, but providing it with some numeric value will set the end work hour for specific resources. + * @Default {null} + */ + end?: string; + + /** Binds the resources working days field name in the dataSource. It's optional, and accepts the array of strings (week day names). When provided with specific collection of + * days (array of day names), only those days will render for the specific resources. + * @Default {null} + */ + workWeek?: string; + + /** Binds appointmentClass field name in the dataSource. It applies custom CSS class name to appointments depicting to the resource it belongs. + * @Default {null} + */ + appointmentClass?: string; + } + + export interface Resource { + + /** It holds the name of the resource field to be bound to the Schedule appointments that contains the resource Id. + * @Default {null} + */ + field?: string; + + /** It holds the title name of the resource field to be displayed on the Schedule appointment window. + * @Default {null} + */ + title?: string; + + /** A unique resource name that is used for differentiating various resource objects while grouping it in various levels. + * @Default {null} + */ + name?: string; + + /** When set to true, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. + * @Default {false} + */ + allowMultiple?: boolean; + + /** It holds the field names of the resources to be bound to the Schedule and also the dataSource. + */ + resourceSettings?: ResourcesResourceSettings; + } + + export interface TimeZoneCollection { + + /** Sets the collection of timezone items to the dataSource that accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule timezones. + */ + dataSource?: any; + + /** Binds text field name in the dataSource to timeZoneCollection text. These text gets listed out in the timezone fields of the appointment window. + * @Default {text} + */ + text?: string; + + /** Binds id field name in the dataSource to timeZoneCollection id. + * @Default {id} + */ + id?: string; + + /** Binds value field name in the dataSource to timeZoneCollection value. + * @Default {value} + */ + value?: string; + } + + export interface AgendaViewSettings { + + /** You can display the summary of multiple week's appointment by setting this value. + * @Default {7} + */ + daysInAgenda?: number; + + /** You can customize the Date column display based on the requirement. + * @Default {null} + */ + dateColumnTemplateId?: string; + + /** You can customize the time column display based on the requirement. + * @Default {null} + */ + timeColumnTemplateId?: string; + } + + export interface TooltipSettings { + + /** Enables or disables the tooltip display. + * @Default {false} + */ + enable?: boolean; + + /** Template design that customizes the tooltip. All the field names that are mapped from dataSource to the appropriate field properties within + * the appointmentSettings can be accessed within the template. + * @Default {null} + */ + templateId?: string; + } + + export interface TimeScale { + + /** When set to true, displays the time slots on the Scheduler. + * @Default {true} + */ + enable?: boolean; + + /** When set with some specific value, defines the number of time divisions split per hour(as per value given for the majorTimeSlot). Those time divisions are meant to be the minor slots. + * @Default {2} + */ + minorSlotCount?: number; + + /** Accepts the value in minutes. When provided with specific value, displays the appropriate time interval on the Scheduler + * @Default {60} + */ + majorSlot?: number; + + /** Template design that customizes the timecells (minor slots) that are partitioned based on minorSlotCount. Accepts id value of the template defined for minor time slots. + * @Default {null} + */ + minorSlotTemplateId?: string; + + /** Template design that customizes the timecells (major slots). Accepts id value of the template defined for major time slots. + * @Default {null} + */ + majorSlotTemplateId?: string; + } + + export interface BlockoutSettings { + + /** When set to true, enables the blockout option to be applied on the Scheduler cells. + * @Default {false} + */ + enable?: boolean; + + /** Template design that applies on the Schedule block intervals. All the field names that are mapped from dataSource to the appropriate field + * properties within the blockoutSettings can be used within the template. + * @Default {null} + */ + templateId?: string; + + /** The dataSource option accepts either JSON object collection or DataManager (ej.DataManager) instance that contains Schedule block intervals. + * @Default {[]} + */ + dataSource?: any | any[]; + + /** It holds either the ej.Query() object or simply the query string that retrieves the specified records from the table. + * @Default {null} + */ + query?: string; + + /** Assign the table name from where the records are to be fetched for the Schedule. + * @Default {null} + */ + tableName?: string; + + /** Binds the id field name in dataSource to the id of block time interval. It denotes the unique id assigned to each of the block records. + * @Default {null} + */ + id?: string; + + /** Binds the name of startTime field in the dataSource with start time of block time interval. It indicates the date and time, when the block interval actually starts in the Scheduler. + * @Default {null} + */ + startTime?: string; + + /** Binds the name of endTime field in dataSource with the end time of block time interval. It indicates the date and time, when the block interval actually ends in the Scheduler. + * @Default {null} + */ + endTime?: string; + + /** Binds the name of subject field in the dataSource to block time Subject. Indicates the Subject or title that gets displayed on the Schedule block intervals. + * @Default {null} + */ + subject?: string; + + /** Binds the name of isBlockAppointment field in dataSource. When set to true, disables the appointments that lies on the blocked area and restrict to perform CRUD operations in it. + * @Default {null} + */ + isBlockAppointment?: string; + + /** Binds the name of isAllDay field in dataSource. It indicates whether an entire day is blocked or not. + * @Default {null} + */ + isAllDay?: string; + + /** Binds the name of resourceId field in dataSource. Specifies the id of the resources, to which the time intervals are needed to be blocked. + * @Default {null} + */ + resourceId?: string; + + /** Binds the name of customStyle field in dataSource. It applies the custom CSS to the block intervals. + * @Default {null} + */ + customStyle?: string; + } + + enum CurrentView { + + ///Sets currentView of the Scheduler as Day + Day, + + ///Sets currentView of the Scheduler as Week + Week, + + ///Sets currentView of the Scheduler as WorkWeek + Workweek, + + ///Sets currentView of the Scheduler as Month + Month, + + ///Sets currentView of the Scheduler as Agenda + Agenda, + + ///Sets currentView of the Scheduler as CustomView with user-specified date range. + CustomView + } + + + enum Orientation { + + ///Set orientation as vertical to Scheduler + Vertical, + + ///Set orientation as horizontal to Scheduler + Horizontal + } + + + enum TimeMode { + + ///Sets 12 hour time mode to Scheduler + Hour12, + + ///Sets 24 hour time mode to Scheduler + Hour24 + } + + } + + class RecurrenceEditor extends ej.Widget { + static fn: RecurrenceEditor; + constructor(element: JQuery | Element, options?: RecurrenceEditor.Model); + static Locale: any; + model: RecurrenceEditor.Model; + defaults: RecurrenceEditor.Model; + + /** Generates the recurrence rule with the options selected within the Recurrence Editor. + * @returns {String} + */ + getRecurrenceRule(): string; + + /** Generates the collection of date, that lies within the selected recurrence start and end date for which the recurrence pattern applies. + * @param {string} It refers the recurrence rule. + * @param {any} It refers the start date of the recurrence. + * @returns {any} + */ + recurrenceDateGenerator(recurrenceString: string, startDate: any): any; + + /** It splits and returns the recurrence rule string into object collection. + * @param {string} It refers the recurrence rule string. + * @param {any} It refers the appointment dates (ExDate) to be excluded + * @returns {any} + */ + recurrenceRuleSplit(recurrenceRule: string, exDate: any): any; + } + export namespace RecurrenceEditor { + + export interface Model { + + /** Defines the collection of recurrence frequencies within Recurrence Editor such as Never, Daily, Weekly, Monthly, Yearly and Every Weekday. + * @Default {[never, daily, weekly, monthly, yearly, everyweekday]} + */ + frequencies?: any[]; + + /** Sets the starting day of the week. + * @Default {null} + */ + firstDayOfWeek?: string; + + /** When set to true, enables the spin button of numeric textboxes within the Recurrence Editor. + * @Default {true} + */ + enableSpinners?: boolean; + + /** Sets the start date of the recurrence. The Recurrence Editor initially displays the current date as its start date. + * @Default {new Date()} + */ + startDate?: any; + + /** Sets the specific culture to the Recurrence Editor. + * @Default {en-US} + */ + locale?: string; + + /** Sets the date format for the datepickers available within the Recurrence Editor. + */ + dateFormat?: string; + + /** When set to true, renders the Recurrence Editor options from Right-to-Left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Sets the active/current repeat type(frequency) on Recurrence Editor based on the index value provided. For example, setting the value 1 will initially set the repeat type + * as Daily and display its related options. + * @Default {0} + */ + selectedRecurrenceType?: number; + + /** Sets the minimum date limit to display on the datepickers defined within the Recurrence Editor. Setting minDate with specific date value disallows the datepickers within + * Recurrence Editor to navigate beyond that date. + * @Default {new Date(1900, 01, 01)} + */ + minDate?: any; + + /** Sets the maximum date limit to display on the datepickers used within the Recurrence Editor. Setting maxDate with specific date value disallows the + * datepickers within the Recurrence Editor to navigate beyond that date. + * @Default {new Date(2099, 12, 31)} + */ + maxDate?: any; + + /** Accepts the custom CSS class name, that defines user-defined styles and themes to be applied on partial or complete elements of the Recurrence Editor. + */ + cssClass?: string; + + /** Triggers whenever any of the Recurrence Editor's value is changed. */ + change?(e: ChangeEventArgs): void; + } + + export interface ChangeEventArgs { + + /** When set to true, event gets canceled. + */ + cancel?: boolean; + + /** Returns the Recurrence Editor model + */ + model?: ej.RecurrenceEditor.Model; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the recurrence rule value. + */ + recurrenceRule?: string; + } + } + + class Gantt extends ej.Widget { + static fn: Gantt; + constructor(element: JQuery | Element, options?: Gantt.Model); + static Locale: any; + model: Gantt.Model; + defaults: Gantt.Model; + + /** To add a new item in Gantt + * @param {any} Item to add in Gantt row. + * @param {string} Defines in which position the row wants to add + * @returns {void} + */ + addRecord(data: any, rowPosition: string): void; + + /** To select cell based on the cell and row index dynamically. + * @param {Array} array of cell indexes to be select + * @param {boolean} Defines that we need to preserve the previously selected cells of not + * @returns {void} + */ + selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; + + /** Positions the splitter by the specified column index. + * @param {number} Set the splitter position based on column index. + * @returns {void} + */ + setSplitterIndex(index: number): void; + + /** To cancel the edited state of an item in Gantt + * @returns {void} + */ + cancelEdit(): void; + + /** To collapse all the parent items in Gantt + * @returns {void} + */ + collapseAllItems(): void; + + /** To delete a selected item in Gantt + * @returns {void} + */ + deleteItem(): void; + + /** destroy the Gantt widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** To Expand all the parent items in Gantt + * @returns {void} + */ + expandAllItems(): void; + + /** To expand and collapse an item in Gantt using item's ID + * @param {number} Expand or Collapse a record based on task id. + * @returns {void} + */ + expandCollapseRecord(taskId: number): void; + + /** To hide the column by using header text + * @param {string} you can pass a header text of a column to hide + * @returns {void} + */ + hideColumn(headerText: string): void; + + /** To indent a selected item in Gantt + * @returns {void} + */ + indentItem(): void; + + /** To Open the dialog to add new task to the Gantt + * @returns {void} + */ + openAddDialog(): void; + + /** To Open the dialog to edit existing task to the Gantt + * @returns {void} + */ + openEditDialog(): void; + + /** To outdent a selected item in Gantt + * @returns {void} + */ + outdentItem(): void; + + /** To save the edited state of an item in Gantt + * @returns {void} + */ + saveEdit(): void; + + /** To search an item with search string provided at the run time + * @param {string} you can pass a text to search in Gantt Control. + * @returns {void} + */ + searchItem(searchString: string): void; + + /** To set the grid width in Gantt + * @param {string} you can give either percentage or pixels value + * @returns {void} + */ + setSplitterPosition(width: string): void; + + /** To show the column by using header text + * @param {string} you can pass a header text of a column to show + * @returns {void} + */ + showColumn(headerText: string): void; + } + export namespace Gantt { + + export interface Model { + + /** Specifies the fields to be included in the add dialog in Gantt + * @Default {[]} + */ + addDialogFields?: any[]; + + /** Enables or disables the ability to resize column. + * @Default {false} + */ + allowColumnResize?: boolean; + + /** Enables or Disables Gantt chart editing in Gantt + * @Default {true} + */ + allowGanttChartEditing?: boolean; + + /** Enables or Disables Keyboard navigation in Gantt + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Specifies enabling or disabling multiple sorting for Gantt columns + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** Enables or disables the option for multiple exporting + * @Default {false} + */ + allowMultipleExporting?: boolean; + + /** Enables or disables the interactive selection of a row. + * @Default {true} + */ + allowSelection?: boolean; + + /** Enables or disables sorting. When enabled, we can sort the column by clicking on the column. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables or disables the ability to drag and drop the row interactively to reorder the rows + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Enable or disable predecessor validation. When it is true, all the task's start and end dates are aligned based on its predecessors start and end dates. + * @Default {true} + */ + enablePredecessorValidation?: boolean; + + /** Specifies the baseline background color in Gantt + * @Default {#fba41c} + */ + baselineColor?: string; + + /** Specifies the mapping property path for baseline end date in datasource + */ + baselineEndDateMapping?: string; + + /** Specifies the mapping property path for baseline start date of a task in datasource + */ + baselineStartDateMapping?: string; + + /** Specifies the mapping property path for sub tasks in datasource + */ + childMapping?: string; + + /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. + * @Default {[]} + */ + columnDialogFields?: any[]; + + /** Specifies the background of connector lines in Gantt + */ + connectorLineBackground?: string; + + /** Specifies the width of the connector lines in Gantt + * @Default {1} + */ + connectorlineWidth?: number; + + /** Specify the CSS class for Gantt to achieve custom theme. + */ + cssClass?: string; + + /** Specifies the template for cell tooltip + * @Default {null} + */ + cellTooltipTemplate?: string; + + /** Option for customizing the drag tooltip while reordering the rows. + */ + dragTooltip?: DragTooltip; + + /** Collection of data or hierarchical data to represent in Gantt + * @Default {null} + */ + dataSource?: any[]; + + /** Specifies the dateFormat for Gantt , given format is displayed in tooltip , Grid . + * @Default {MM/dd/yyyy} + */ + dateFormat?: string; + + /** Specifies the mapping property path for duration of a task in datasource + */ + durationMapping?: string; + + /** Specifies the duration unit for each tasks whether days or hours or minutes + * @Default {ej.Gantt.DurationUnit.Day} + */ + durationUnit?: ej.Gantt.DurationUnit | string; + + /** Specifies the fields to be included in the edit dialog in Gantt + * @Default {[]} + */ + editDialogFields?: any[]; + + /** Enables or disables the responsiveness of Gantt + * @Default {false} + */ + isResponsive?: boolean; + + /** Option to configure the splitter position. + */ + splitterSettings?: SplitterSettings; + + /** Specifies the editSettings options in Gantt. + */ + editSettings?: EditSettings; + + /** Enables or Disables enableAltRow row effect in Gantt + * @Default {true} + */ + enableAltRow?: boolean; + + /** Enables/disables work breakdown structure column. + * @Default {false} + */ + enableWBS?: boolean; + + /** Enables/disables WBS predecessor column. + * @Default {false} + */ + enableWBSPredecessor?: boolean; + + /** Enables or disables the collapse all records when loading the Gantt. + * @Default {false} + */ + enableCollapseAll?: boolean; + + /** Specifies the data source field name to be displayed as left task label + */ + leftTaskLabelMapping?: string; + + /** Specifies the data source field name to be displayed as right task label + */ + rightTaskLabelMapping?: string; + + /** Specifies the template for left task label + */ + leftTaskLabelTemplate?: string; + + /** Specifies the template for right task label + */ + rightTaskLabelTemplate?: string; + + /** Enables or disables the contextmenu for Gantt , when enabled contextmenu appears on right clicking Gantt + * @Default {false} + */ + enableContextMenu?: boolean; + + /** Indicates whether we can edit the progress of a task interactively in Gantt. + * @Default {true} + */ + enableProgressBarResizing?: boolean; + + /** Enables or disables the option for dynamically updating the Gantt size on window resizing + * @Default {false} + */ + enableResize?: boolean; + + /** Enables or disables tooltip while editing (dragging/resizing) the taskbar. + * @Default {true} + */ + enableTaskbarDragTooltip?: boolean; + + /** Enables or disables tooltip for taskbar. + * @Default {true} + */ + enableTaskbarTooltip?: boolean; + + /** Enables/Disables virtualization for rendering Gantt items. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the mapping property path for end Date of a task in datasource + */ + endDateMapping?: string; + + /** Specifies whether to highlight the weekends in Gantt . + * @Default {true} + */ + highlightWeekends?: boolean; + + /** Collection of holidays with date, background and label information to be displayed in Gantt. + * @Default {[]} + */ + holidays?: any[]; + + /** Specifies whether to include weekends while calculating the duration of a task. + * @Default {true} + */ + includeWeekend?: boolean; + + /** Specify the locale for Gantt + * @Default {en-US} + */ + locale?: string; + + /** Specifies the mapping property path for milestone in datasource + */ + milestoneMapping?: string; + + /** Enables/disables the options for inserting , deleting and renaming columns. + * @Default {false} + */ + showColumnOptions?: boolean; + + /** Specifies the template for parent taskbar + */ + parentTaskbarTemplate?: string; + + /** Specifies the nature of a task for calculating the work, and it can fixed duration, fixed work and fixed resource unit + * @Default {ej.Gantt.TaskType.FixedUnit} + */ + taskType?: ej.Gantt.TaskType | string; + + /** Specifies the unit for the work involved in a task and it can be day, hour or minute + * @Default {ej.Gantt.WorkUnit.Hour} + */ + workUnit?: ej.Gantt.WorkUnit | string; + + /** Specifies the task scheduling mode for a project and this will be set to all the tasks available in the project + * @Default {ej.Gantt.TaskSchedulingMode.Auto} + */ + taskSchedulingMode?: ej.Gantt.TaskSchedulingMode | string; + + /** Specifies the row selection type. + * @Default {ej.Gantt.SelectionType.Single} + */ + selectionType?: ej.Gantt.SelectionType | string; + + /** Specifies the background of parent progressbar in Gantt + */ + parentProgressbarBackground?: string; + + /** Specifies the mapping property path for resource's percent effort involved in a task in datasource + */ + resourceUnitMapping?: string; + + /** Specifies the mapping property path for the task description in datasource + */ + notesMapping?: string; + + /** Specifies the mapping property path for the task scheduling mode for a task in datasource + * @Default {auto} + */ + taskSchedulingModeMapping?: string; + + /** Specifies the mapping property path for task duration unit in datasource + */ + durationUnitMapping?: string; + + /** Specifies the background of parent taskbar in Gantt + */ + parentTaskbarBackground?: string; + + /** Specifies the mapping property path for parent task Id in self reference datasource + */ + parentTaskIdMapping?: string; + + /** Specifies the mapping property path for predecessors of a task in datasource + */ + predecessorMapping?: string; + + /** Specifies the background of progressbar in Gantt + */ + progressbarBackground?: string; + + /** Specified the height of the progressbar in taskbar + * @Default {100} + */ + progressbarHeight?: number; + + /** Specifies the template for tooltip on resizing progressbar + * @Default {null} + */ + progressbarTooltipTemplate?: string; + + /** Specifies the template ID for customized tooltip for progressbar editing in Gantt + * @Default {null} + */ + progressbarTooltipTemplateId?: string; + + /** Specifies the mapping property path for progress percentage of a task in datasource + */ + progressMapping?: string; + + /** It receives query to retrieve data from the table (query is same as SQL). + * @Default {null} + */ + query?: any; + + /** Enables or Disables rendering baselines in Gantt , when enabled baseline is rendered in Gantt + * @Default {false} + */ + renderBaseline?: boolean; + + /** Enables or disables the schedule date validation while connecting a manually scheduled task with predecessor + * @Default {false} + */ + validateManualTasksOnLinking?: boolean; + + /** Specifies the mapping property name for resource ID in resource Collection in Gantt + */ + resourceIdMapping?: string; + + /** Specifies the mapping property path for resources of a task in datasource + */ + resourceInfoMapping?: string; + + /** Specifies the mapping property path for resource name of a task in Gantt + */ + resourceNameMapping?: string; + + /** Collection of data regarding resources involved in entire project + * @Default {[]} + */ + resources?: any[]; + + /** Specifies whether rounding off the day working time edits + * @Default {true} + */ + roundOffDayworkingTime?: boolean; + + /** Specifies the height of a single row in Gantt. Also, we need to set same height in the CSS style with class name e-rowcell. + * @Default {30} + */ + rowHeight?: number; + + /** Specifies end date of the Gantt schedule. By default, end date will be rounded to its next Saturday. + * @Default {null} + */ + scheduleEndDate?: string; + + /** Specifies the options for customizing schedule header. + */ + scheduleHeaderSettings?: ScheduleHeaderSettings; + + /** Specifies start date of the Gantt schedule. By default, start date will be rounded to its previous Sunday. + * @Default {null} + */ + scheduleStartDate?: string; + + /** Specifies the selected row Index in Gantt , the row with given index will highlighted + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Enables or disables the column chooser. + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Specifies the template for cell tooltip + * @Default {true} + */ + showGridCellTooltip?: boolean; + + /** Specifies whether to show grid cell tooltip over expander cell alone. + * @Default {true} + */ + showGridExpandCellTooltip?: boolean; + + /** Specifies whether display task progress inside taskbar. + * @Default {true} + */ + showProgressStatus?: boolean; + + /** Specifies whether to display resource names for a task beside taskbar. + * @Default {true} + */ + showResourceNames?: boolean; + + /** Specifies whether to display task name beside task bar. + * @Default {true} + */ + showTaskNames?: boolean; + + /** Specifies the size option of Gantt control. + */ + sizeSettings?: SizeSettings; + + /** Specifies the selected cell information on rendering Gantt. + */ + selectedCellIndexes?: SelectedCellIndex[]; + + /** Specifies the sorting options for Gantt. + */ + sortSettings?: SortSettings; + + /** Specifies splitter position in Gantt. + * @Default {null} + */ + splitterPosition?: string; + + /** Specifies the mapping property path for start date of a task in datasource + */ + startDateMapping?: string; + + /** Specifies the options for striplines + * @Default {[]} + */ + stripLines?: any[]; + + /** Specifies the background of the taskbar in Gantt + */ + taskbarBackground?: string; + + /** Specifies the template script for customized tooltip for taskbar editing in Gantt + */ + taskbarEditingTooltipTemplate?: string; + + /** Specifies the template Id for customized tooltip for taskbar editing in Gantt + */ + taskbarEditingTooltipTemplateId?: string; + + /** Specifies the template for tooltip on mouse action on taskbars + */ + taskbarTooltipTemplate?: string; + + /** To Specify the JsRender script Id to customize the task bar with our preference + */ + taskbarTemplate?: string; + + /** To Specify the JsRender script Id to customize the mile stone with our preference + */ + milestoneTemplate?: string; + + /** Enables or disables Gantt to read-only mode + * @Default {false} + */ + readOnly?: boolean; + + /** Specifies the template id for tooltip on mouse action on taskbars + */ + taskbarTooltipTemplateId?: string; + + /** Specifies the mapping property path for task Id in datasource + */ + taskIdMapping?: string; + + /** Specifies the mapping property path for task name in datasource + */ + taskNameMapping?: string; + + /** Specifies the toolbarSettings options. + */ + toolbarSettings?: ToolbarSettings; + + /** Specifies the tree expander column in Gantt + * @Default {0} + */ + treeColumnIndex?: number; + + /** Specifies the type of selection whether to select row or cell. + * @Default {ej.Gantt.SelectionMode.Row} + */ + selectionMode?: ej.Gantt.SelectionMode | string; + + /** Specifies the weekendBackground color in Gantt + * @Default {#F2F2F2} + */ + weekendBackground?: string; + + /** Specifies the working time schedule of day + * @Default {ej.Gantt.workingTimeScale.TimeScale8Hours} + */ + workingTimeScale?: ej.Gantt.workingTimeScale | string; + + /** Triggered for every Gantt action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggered for every Gantt action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggered while enter the edit mode in the TreeGrid cell */ + beginEdit?(e: BeginEditEventArgs): void; + + /** Triggered before selecting a cell */ + cellSelecting?(e: CellSelectingEventArgs): void; + + /** Triggered after selected a cell */ + cellSelected?(e: CellSelectedEventArgs): void; + + /** Triggered while dragging a row in Gantt control */ + rowDrag?(e: RowDragEventArgs): void; + + /** Triggered while start to drag row in Gantt control */ + rowDragStart?(e: RowDragStartEventArgs): void; + + /** Triggered while drop a row in Gantt control */ + rowDragStop?(e: RowDragStopEventArgs): void; + + /** Triggered after collapsed the Gantt record */ + collapsed?(e: CollapsedEventArgs): void; + + /** Triggered while collapsing the Gantt record */ + collapsing?(e: CollapsingEventArgs): void; + + /** Triggered while Context Menu is rendered in Gantt control */ + contextMenuOpen?(e: ContextMenuOpenEventArgs): void; + + /** Triggered when Gantt is rendered completely. */ + create?(e: CreateEventArgs): void; + + /** Triggered after save the modified cellValue in Gantt. */ + endEdit?(e: EndEditEventArgs): void; + + /** Triggered after expand the record */ + expanded?(e: ExpandedEventArgs): void; + + /** Triggered while expanding the Gantt record */ + expanding?(e: ExpandingEventArgs): void; + + /** Triggered while Gantt is loaded */ + load?(e: LoadEventArgs): void; + + /** Triggered while rendering each cell in the TreeGrid */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; + + /** Triggered while rendering each taskbar in the Gantt */ + queryTaskbarInfo?(e: QueryTaskbarInfoEventArgs): void; + + /** Triggered while rendering each row */ + rowDataBound?(e: RowDataBoundEventArgs): void; + + /** Triggered after the row is selected. */ + rowSelected?(e: RowSelectedEventArgs): void; + + /** Triggered before the row is going to be selected. */ + rowSelecting?(e: RowSelectingEventArgs): void; + + /** Triggered after completing the editing operation in taskbar */ + taskbarEdited?(e: TaskbarEditedEventArgs): void; + + /** Triggered while editing the Gantt chart (dragging, resizing the taskbar ) */ + taskbarEditing?(e: TaskbarEditingEventArgs): void; + + /** Triggered when taskbar item is clicked in Gantt. */ + taskbarClick?(e: TaskbarClickEventArgs): void; + + /** Triggered when toolbar item is clicked in Gantt. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } + + export interface ActionBeginEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; + + /** Returns the value of searching element. + */ + keyValue?: string; + + /** Returns the data of deleting element. + */ + data?: string; + + /** Returns selected record index + */ + recordIndex?: number; + } + + export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; + + /** Returns the value of searched element. + */ + keyValue?: string; + + /** Returns the data of deleted element. + */ + data?: string; + + /** Returns selected record index + */ + recordIndex?: number; + } + + export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column Index of cell belongs. + */ + columnIndex?: number; + } + + export interface CellSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; + } + + export interface CellSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; + + /** Returns the previously selected row data + */ + previousData?: any; + + /** Returns the previously selected cell index + */ + previousCellIndex?: any; + + /** Returns the previously selected row index + */ + previousRowIndex?: any; + + /** Returns the previously selected cell element + */ + previousTargetCell?: any; + + /** Returns the previously selected row element + */ + previousTargetRow?: any; + } + + export interface RowDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row on which we are dragging. + */ + targetRow?: any; + + /** Returns the row index on which we are dragging. + */ + targetRowIndex?: number; + + /** Returns that we can drop over that record or not. + */ + canDrop?: boolean; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: boolean; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDragStopEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row which we are dropped to row. + */ + targetRow?: any; + + /** Returns the row index which we are dropped to row. + */ + targetRowIndex?: number; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CollapsedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsed record. + */ + recordIndex?: number; + + /** Returns the data of collapsed record. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } + + export interface CollapsingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsing record. + */ + recordIndex?: number; + + /** Returns the data of edited cell record.. + */ + data?: any; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } + + export interface ContextMenuOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the default context menu items to which we add custom items. + */ + contextMenuItems?: any[]; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Gantt model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface EndEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of edited cell record. + */ + data?: any; + + /** Returns the column name of edited cell belongs. + */ + columnName?: string; + + /** Returns the column object of edited cell belongs. + */ + columnObject?: any; + } + + export interface ExpandedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of record. + */ + recordIndex?: number; + + /** Returns the data of expanded record. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } + + export interface ExpandingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of record. + */ + recordIndex?: any; + + /** Returns the data of edited cell record.. + */ + data?: any; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } + + export interface LoadEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Gantt model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface QueryCellInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting cell element. + */ + cellElement?: any; + + /** Returns the value of cell. + */ + cellValue?: string; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column of cell belongs. + */ + column?: any; + } + + export interface QueryTaskbarInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the taskbar background of current item. + */ + TaskbarBackground?: string; + + /** Returns the progressbar background of current item. + */ + ProgressbarBackground?: string; + + /** Returns the parent taskbar background of current item. + */ + parentTaskbarBackground?: string; + + /** Returns the parent progressbar background of current item. + */ + parentProgressbarBackground?: string; + + /** Returns the data of the record. + */ + data?: any; + } + + export interface RowDataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of rendering row. + */ + rowElement?: any; + + /** Returns the data of rendering row record.. + */ + data?: any; + } + + export interface RowSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: number; + + /** Returns the data of selected record. + */ + data?: any; + } + + export interface RowSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data selecting record. + */ + data?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: string; + + /** Returns the selecting row chart element. + */ + targetChartRow?: any; + + /** Returns the selecting row grid element. + */ + targetGridRow?: any; + + /** Returns the previous selected data. + */ + previousData?: any; + + /** Returns the previous selected row index. + */ + previousIndex?: string; + + /** Returns the previous selected row chart element. + */ + previousChartRow?: any; + + /** Returns the previous selected row grid element. + */ + previousGridRow?: any; + } + + export interface TaskbarEditedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data of edited record. + */ + data?: any; + + /** Returns the previous data value of edited record. + */ + previousData?: any; + + /** Returns 'true' if taskbar is dragged. + */ + dragging?: boolean; + + /** Returns 'true' if taskbar is left resized. + */ + leftResizing?: boolean; + + /** Returns 'true' if taskbar is right resized. + */ + rightResizing?: boolean; + + /** Returns 'true' if taskbar is progress resized. + */ + progressResizing?: boolean; + + /** Returns the field values of record being edited. + */ + editingFields?: any; + + /** Returns the Gantt model. + */ + model?: any; + } + + export interface TaskbarEditingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the row object being edited. + */ + rowData?: any; + + /** Returns the field values of record being edited. + */ + editingFields?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface TaskbarClickEventArgs { + + /** Returns currently clicked row data + */ + data?: any; + + /** Returns the current item index. + */ + index?: number; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the clicked row element + */ + taskbarElement?: any; + + /** Returns the target element. + */ + target?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the Gantt model. + */ + model?: any; + + /** Returns the name of the toolbar item on which mouse click has been performed + */ + itemName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DragTooltip { + + /** Specifies option to enable/disable tooltip while drag and drop a row. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the data source fields to be displayed in the drag tooltip. + * @Default {[]} + */ + tooltipItems?: any[]; + + /** Specifies the custom template for drag tooltip. + * @Default {null} + */ + tooltipTemplate?: string; + } + + export interface SplitterSettings { + + /** Specifies position of the splitter in Gantt , splitter can be placed either based on percentage values or pixel values. + */ + position?: string; + + /** Specifies the position of splitter in Gantt, based on column index in Gantt. + */ + index?: string; + } + + export interface EditSettings { + + /** Enables or disables add record icon in Gantt toolbar + * @Default {false} + */ + allowAdding?: boolean; + + /** Enables or disables delete icon in Gantt toolbar + * @Default {false} + */ + allowDeleting?: boolean; + + /** Specifies the option for enabling or disabling editing in Gantt grid part + * @Default {false} + */ + allowEditing?: boolean; + + /** Specifies the option for enabling or disabling indent action in Gantt. + * @Default {false} + */ + allowIndent?: boolean; + + /** Specifies the option for enabling or disabling outdent action in Gantt + * @Default {false} + */ + allowOutdent?: boolean; + + /** Specifies the mouse action whether single click or double click to begin the editing + * @Default {ej.Gantt.BeginEditAction.DblClick} + */ + beginEditAction?: ej.Gantt.BeginEditAction | string; + + /** Specifies the edit mode in Gantt, "normal" is for dialog editing ,"cellEditing" is for cell type editing + * @Default {normal} + */ + editMode?: string; + + /** Specifies the position where the new row has to be added. + * @Default {ej.Gantt.RowPosition.BelowSelectedRow} + */ + rowPosition?: ej.Gantt.RowPosition | string; + } + + export interface ScheduleHeaderSettings { + + /** Specified the format for day view in schedule header + * @Default {ddd} + */ + dayHeaderFormat?: string; + + /** Specified the format for Hour view in schedule header + * @Default {HH} + */ + hourHeaderFormat?: string; + + /** Specifies the number of minutes per interval + * @Default {ej.Gantt.minutesPerInterval.Auto} + */ + minutesPerInterval?: ej.Gantt.minutesPerInterval | string; + + /** Specified the format for month view in schedule header + * @Default {MMM} + */ + monthHeaderFormat?: string; + + /** Specifies the schedule mode + * @Default {ej.Gantt.ScheduleHeaderType.Week} + */ + scheduleHeaderType?: ej.Gantt.ScheduleHeaderType | string; + + /** Specifies the round-off mode for the start date in schedule header. + * @Default {ej.Gantt.TimescaleRoundMode.Auto} + */ + timescaleStartDateMode?: ej.Gantt.TimescaleRoundMode | string; + + /** Specified the background for weekends in Gantt + * @Default {#F2F2F2} + */ + weekendBackground?: string; + + /** Specified the format for week view in schedule header + * @Default {ddd} + */ + weekHeaderFormat?: string; + + /** Specified the format for year view in schedule header + * @Default {yyyy} + */ + yearHeaderFormat?: string; + + /** Specifies the size of the lowest time unit along the timescale, with minimum value as "50%" and maximum value as "500%". It is also possible to set the value in pixels. + * @Default {100%} + */ + timescaleUnitSize?: string; + + /** Specifies the start day of the week in week timescale mode + * @Default {0} + */ + weekStartDay?: number; + } + + export interface SizeSettings { + + /** Specifies the height of Gantt control + * @Default {450px} + */ + height?: string; + + /** Specifies the width of Gantt control + * @Default {1000px} + */ + width?: string; + } + + export interface SelectedCellIndex { + + /** Specifies the row index of the cell to be selected Gantt control + */ + rowIndex?: number; + + /** Specifies the cell index to be selected in the row. + * @Default { } + */ + cellIndex?: number; + } + + export interface SortSettings { + + /** Specifies the sorted columns for Gantt + * @Default {[]} + */ + sortedColumns?: any[]; + } + + export interface ToolbarSettings { + + /** Specifies the state of enabling or disabling toolbar + * @Default {true} + */ + showToolbar?: boolean; + + /** Specifies the list of toolbar items to be rendered in Gantt toolbar + * @Default {[]} + */ + toolbarItems?: any[]; + } + + enum DurationUnit { + + ///Sets the Duration Unit as day. + Day, + + ///Sets the Duration Unit as hour. + Hour, + + ///Sets the Duration Unit as minute. + Minute + } + + + enum BeginEditAction { + + ///you can begin the editing at double click + DblClick, + + ///you can begin the editing at single click + Click + } + + + enum RowPosition { + + ///you can add a new row at top. + Top, + + ///you can add a new row at bottom. + Bottom, + + ///you can add a new row to above selected row. + AboveSelectedRow, + + ///you can add a new row to below selected row. + BelowSelectedRow, + + ///you can add a new row as a child for selected row. + Child + } + + + enum TaskType { + + ///Resource unit remains constant while editing the work and duration values. + FixedUnit, + + ///Work value of a task remains constant while editing duration and resource unit values. + FixedWork, + + ///Duration value remains constant while editing work and resource unit values. + FixedDuration + } + + + enum WorkUnit { + + ///Displays the work involved in a task in days. + Day, + + ///Displays the work involved in a task in hours. + Hour, + + ///Displays the work involved in a task in minutes + Minute + } + + + enum TaskSchedulingMode { + + ///All the tasks in the project will be displayed in auto scheduled mode, where the tasks are scheduled automatically over non-working days and holidays. + Auto, + + ///All the tasks in the project will be displayed in manually scheduled mode. + Manual, + + ///Project consists of tasks with both auto and manually scheduled modes, based on the datasource values + Custom + } + + + enum SelectionType { + + ///you can select a single row. + Single, + + ///you can select a multiple row. + Multiple + } + + + enum minutesPerInterval { + + ///Sets the interval automatically according with schedule start and end date. + Auto, + + ///Sets one minute intervals per hour. + OneMinute, + + ///Sets Five minute intervals per hour. + FiveMinutes, + + ///Sets fifteen minute intervals per hour. + FifteenMinutes, + + ///Sets thirty minute intervals per hour. + ThirtyMinutes + } + + + enum ScheduleHeaderType { + + ///Sets year Schedule Mode. + Year, + + ///Sets month Schedule Mode. + Month, + + ///Sets week Schedule Mode. + Week, + + ///Sets day Schedule Mode. + Day, + + ///Sets hour Schedule Mode. + Hour + } + + + enum TimescaleRoundMode { + + ///The round-off value will be automatically calculated based on the data source values. + Auto, + + ///Schedule header start date will round-off to the immediate week. + Week, + + ///Schedule headers start date will round off to the immediate month + Month, + + ///Schedule headers start date will round off to the immediate year + Year + } + + + enum SelectionMode { + + ///you can select a row. + Row, + + ///you can select a cell. + Cell + } + + + enum workingTimeScale { + + ///Sets eight hour timescale. + TimeScale8Hours, + + ///Sets twenty four hour timescale. + TimeScale24Hours + } + + } + + class ReportViewer extends ej.Widget { + static fn: ReportViewer; + constructor(element: JQuery | Element, options?: ReportViewer.Model); + static Locale: any; + model: ReportViewer.Model; + defaults: ReportViewer.Model; + + /** Export the report to the specified format. + * @returns {void} + */ + exportReport(): void; + + /** Fit the report page to the container. + * @returns {void} + */ + fitToPage(): void; + + /** Fit the report page height to the container. + * @returns {void} + */ + fitToPageHeight(): void; + + /** Fit the report page width to the container. + * @returns {void} + */ + fitToPageWidth(): void; + + /** Get the available datasets name of the rdlc report. + * @returns {void} + */ + getDataSetNames(): void; + + /** Get the available parameters of the report. + * @returns {void} + */ + getParameters(): void; + + /** Navigate to first page of report. + * @returns {void} + */ + gotoFirstPage(): void; + + /** Navigate to last page of the report. + * @returns {void} + */ + gotoLastPage(): void; + + /** Navigate to next page from the current page. + * @returns {void} + */ + gotoNextPage(): void; + + /** Go to specific page index of the report. + * @returns {void} + */ + gotoPageIndex(): void; + + /** Navigate to previous page from the current page. + * @returns {void} + */ + gotoPreviousPage(): void; + + /** Print the report. + * @returns {void} + */ + print(): void; + + /** Apply print layout to the report. + * @returns {void} + */ + printLayout(): void; + + /** Refresh the report. + * @returns {void} + */ + refresh(): void; + } + export namespace ReportViewer { + + export interface Model { + + /** Gets or sets the list of data sources for the RDLC report. + * @Default {[]} + */ + dataSources?: DataSource[]; + + /** Enables or disables the page cache of report. + * @Default {false} + */ + enablePageCache?: boolean; + + /** Specifies the export settings. + */ + exportSettings?: ExportSettings; + + /** When set to true, adapts the report layout to fit the screen size of devices on which it renders. + * @Default {true} + */ + isResponsive?: boolean; + + /** Specifies the locale for report viewer. + * @Default {en-US} + */ + locale?: string; + + /** Specifies the page settings. + */ + pageSettings?: PageSettings; + + /** Gets or sets the list of parameters associated with the report. + * @Default {[]} + */ + parameters?: Parameter[]; + + /** Enables and disables the print mode. + * @Default {false} + */ + printMode?: boolean; + + /** Specifies the print option of the report. + * @Default {ej.ReportViewer.PrintOptions.Default} + */ + printOptions?: ej.ReportViewer.PrintOptions | string; + + /** Specifies the processing mode of the report. + * @Default {ej.ReportViewer.ProcessingMode.Remote} + */ + processingMode?: ej.ReportViewer.ProcessingMode | string; + + /** Specifies the render layout. + * @Default {ej.ReportViewer.RenderMode.Default} + */ + renderMode?: ej.ReportViewer.RenderMode | string; + + /** Gets or sets the path of the report file. + * @Default {empty} + */ + reportPath?: string; + + /** Gets or sets the reports server URL. + * @Default {empty} + */ + reportServerUrl?: string; + + /** Specifies the report Web API service URL. + * @Default {empty} + */ + reportServiceUrl?: string; + + /** Specifies the toolbar settings. + */ + toolbarSettings?: ToolbarSettings; + + /** Gets or sets the zoom factor for report viewer. + * @Default {1} + */ + zoomFactor?: number; + + /** Fires when the report viewer is destroyed successfully.If you want to perform any operation after destroying the reportviewer control,you can make use of the destroy event. */ + destroy?(e: DestroyEventArgs): void; + + /** Fires during drill through action done in report.If you want to perform any operation when a drill through action is performed, you can make use of the drillThrough event. */ + drillThrough?(e: DrillThroughEventArgs): void; + + /** Fires before report rendering is completed.If you want to perform any operation before the rendering of report,you can make use of the renderingBegin event. */ + renderingBegin?(e: RenderingBeginEventArgs): void; + + /** Fires after report rendering completed.If you want to perform any operation after the rendering of report,you can make use of this renderingComplete event. */ + renderingComplete?(e: RenderingCompleteEventArgs): void; + + /** Fires when any error occurred while rendering the report.If you want to perform any operation when an error occurs in the report, you can make use of the reportError event. */ + reportError?(e: ReportErrorEventArgs): void; + + /** Fires when the report is being exported.If you want to perform any operation before exporting of report, you can make use of the reportExport event. */ + reportExport?(e: ReportExportEventArgs): void; + + /** Fires when the report is loaded.If you want to perform any operation after the successful loading of report, you can make use of the reportLoaded event. */ + reportLoaded?(e: ReportLoadedEventArgs): void; + + /** Fires when click the View Report Button. */ + viewReportClick?(e: ViewReportClickEventArgs): void; + } + + export interface DestroyEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DrillThroughEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the actionInfo's parameters bookmarkLink, hyperLink, reportName, parameters. + */ + actionInfo?: any; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface RenderingBeginEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface RenderingCompleteEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + + /** returns the collection of parameters. + */ + reportParameters?: any; + } + + export interface ReportErrorEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the error details. + */ + error?: string; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ReportExportEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ReportLoadedEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface ViewReportClickEventArgs { + + /** true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the parameter collection. + */ + parameters?: any; + + /** returns the report model. + */ + model?: any; + + /** returns the name of the event. + */ + type?: string; + } + + export interface DataSource { + + /** Gets or sets the name of the data source. + * @Default {empty} + */ + name?: string; + + /** Gets or sets the values of data source. + * @Default {[]} + */ + values?: any[]; + } + + export interface ExportSettings { + + /** Specifies the export formats. + * @Default {ej.ReportViewer.ExportOptions.All} + */ + exportOptions?: ej.ReportViewer.ExportOptions | string; + + /** Specifies the excel export format. + * @Default {ej.ReportViewer.ExcelFormats.Excel97to2003} + */ + excelFormat?: ej.ReportViewer.ExcelFormats | string; + + /** Specifies the word export format. + * @Default {ej.ReportViewer.WordFormats.Doc} + */ + wordFormat?: ej.ReportViewer.WordFormats | string; + } + + export interface PageSettings { + + /** Specifies the print layout orientation. + * @Default {null} + */ + orientation?: ej.ReportViewer.Orientation | string; + + /** Specifies the paper size of print layout. + * @Default {null} + */ + paperSize?: ej.ReportViewer.PaperSize | string; + } + + export interface Parameter { + + /** Gets or sets the parameter labels. + * @Default {null} + */ + labels?: any[]; + + /** Gets or sets the name of the parameter. + * @Default {empty} + */ + name?: string; + + /** Gets or sets whether the parameter allows nullable value or not. + * @Default {false} + */ + nullable?: boolean; + + /** Gets or sets the prompt message associated with the specified parameter. + * @Default {empty} + */ + prompt?: string; + + /** Gets or sets the parameter values. + * @Default {[]} + */ + values?: any[]; + } + + export interface ToolbarSettings { + + /** Fires when user click on toolbar item in the toolbar. + * @Default {empty} + */ + click?: string; + + /** Specifies the toolbar items. + * @Default {ej.ReportViewer.ToolbarItems.All} + */ + items?: ej.ReportViewer.ToolbarItems | string; + + /** Shows or hides the toolbar. + * @Default {true} + */ + showToolbar?: boolean; + + /** Shows or hides the tooltip of toolbar items. + * @Default {true} + */ + showTooltip?: boolean; + + /** Specifies the toolbar template ID. + * @Default {empty} + */ + templateId?: string; + } + + enum ExportOptions { + + ///Specifies the All property in ExportOptions to get all available options. + All, + + ///Specifies the PDF property in ExportOptions to get PDF option. + PDF, + + ///Specifies the Word property in ExportOptions to get Word option. + Word, + + ///Specifies the Excel property in ExportOptions to get Excel option. + Excel, + + ///Specifies the HTML property in ExportOptions to get HTML option. + HTML + } + + + enum ExcelFormats { + + ///Specifies the Excel97to2003 property in ExcelFormats to get specified version of exported format. + Excel97to2003, + + ///Specifies the Excel2007 property in ExcelFormats to get specified version of exported format. + Excel2007, + + ///Specifies the Excel2010 property in ExcelFormats to get specified version of exported format. + Excel2010, + + ///Specifies the Excel2013 property in ExcelFormats to get specified version of exported format. + Excel2013 + } + + + enum WordFormats { + + ///Specifies the Doc property in WordFormats to get specified version of exported format. + Doc, + + ///Specifies the Dot property in WordFormats to get specified version of exported format. + Dot, + + ///Specifies the DOCX property in WordFormats to get specified version of exported format. + DOCX, + + ///Specifies the Word2007 property in WordFormats to get specified version of exported format. + Word2007, + + ///Specifies the Word2010 property in WordFormats to get specified version of exported format. + Word2010, + + ///Specifies the Word2013 property in WordFormats to get specified version of exported format. + Word2013, + + ///Specifies the Word2007Dotx property in WordFormats to get specified version of exported format. + Word2007Dotx, + + ///Specifies the Word2010Dotx property in WordFormats to get specified version of exported format. + Word2010Dotx, + + ///Specifies the Word2013Dotx property in WordFormats to get specified version of exported format. + Word2013Dotx, + + ///Specifies the Word2007Docm property in WordFormats to get specified version of exported format. + Word2007Docm, + + ///Specifies the Word2010Docm property in WordFormats to get specified version of exported format. + Word2010Docm, + + ///Specifies the Word2013Docm property in WordFormats to get specified version of exported format. + Word2013Docm, + + ///Specifies the Word2007Dotm property in WordFormats to get specified version of exported format. + Word2007Dotm, + + ///Specifies the Word2010Dotm property in WordFormats to get specified version of exported format. + Word2010Dotm, + + ///Specifies the Word2013Dotm property in WordFormats to get specified version of exported format. + Word2013Dotm, + + ///Specifies the RTF property in WordFormats to get specified version of exported format. + RTF, + + ///Specifies the Txt property in WordFormats to get specified version of exported format. + Txt, + + ///Specifies the EPUB property in WordFormats to get specified version of exported format. + EPUB, + + ///Specifies the HTML property in WordFormats to get specified version of exported format. + HTML, + + ///Specifies the XML property in WordFormats to get specified version of exported format. + XML, + + ///Specifies the Automatic property in WordFormats to get specified version of exported format. + Automatic + } + + + enum Orientation { + + ///Specifies the Landscape property in pageSettings.orientation to get specified layout. + Landscape, + + ///Specifies the portrait property in pageSettings.orientation to get specified layout. + Portrait + } + + + enum PaperSize { + + ///Specifies the A3 as value in pageSettings.paperSize to get specified size. + A3, + + ///Specifies the A4 as value in pageSettings.paperSize to get specified size. + Portrait, + + ///Specifies the B4(JIS) as value in pageSettings.paperSize to get specified size. + B4_JIS, + + ///Specifies the B5(JIS) as value in pageSettings.paperSize to get specified size. + B5_JIS, + + ///Specifies the Envelope #10 as value in pageSettings.paperSize to get specified size. + Envelope_10, + + ///Specifies the Envelope as value in pageSettings.paperSize to get specified size. + Envelope_Monarch, + + ///Specifies the Executive as value in pageSettings.paperSize to get specified size. + Executive, + + ///Specifies the Legal as value in pageSettings.paperSize to get specified size. + Legal, + + ///Specifies the Letter as value in pageSettings.paperSize to get specified size. + Letter, + + ///Specifies the Tabloid as value in pageSettings.paperSize to get specified size. + Tabloid, + + ///Specifies the Custom as value in pageSettings.paperSize to get specified size. + Custom + } + + + enum PrintOptions { + + ///Specifies the Default property in printOptions. + Default, + + ///Specifies the NewTab property in printOptions. + NewTab, + + ///Specifies the None property in printOptions. + None + } + + + enum ProcessingMode { + + ///Specifies the Remote property in processingMode. + Remote, + + ///Specifies the Local property in processingMode. + Local + } + + + enum RenderMode { + + ///Specifies the Default property in RenderMode to get default output. + Default, + + ///Specifies the Mobile property in RenderMode to get specified output. + Mobile, + + ///Specifies the Desktop property in RenderMode to get specified output. + Desktop + } + + + enum ToolbarItems { + + ///Specifies the Print as value in ToolbarItems to get specified item. + Print, + + ///Specifies the Refresh as value in ToolbarItems to get specified item. + Refresh, + + ///Specifies the Zoom as value in ToolbarItems to get specified item. + Zoom, + + ///Specifies the FittoPage as value in ToolbarItems to get specified item. + FittoPage, + + ///Specifies the Export as value in ToolbarItems to get specified item. + Export, + + ///Specifies the PageNavigation as value in ToolbarItems to get specified item. + PageNavigation, + + ///Specifies the Parameters as value in ToolbarItems to get specified item. + Parameters, + + ///Specifies the PrintLayout as value in ToolbarItems to get specified item. + PrintLayout, + + ///Specifies the PageSetup as value in ToolbarItems to get specified item. + PageSetup + } + + } + + class TreeGrid extends ej.Widget { + static fn: TreeGrid; + constructor(element: JQuery | Element, options?: TreeGrid.Model); + static Locale: any; + model: TreeGrid.Model; + defaults: TreeGrid.Model; + + /** Add a new row in TreeGrid, while allowAdding is set to true + * @param {any} Item to add in TreeGrid row. + * @param {string} Defines in which position the row wants to be added + * @returns {void} + */ + addRow(data: any, rowPosition: string): void; + + /** To clear all the selection in TreeGrid + * @param {number} you can pass a row index to clear the row selection. + * @returns {void} + */ + clearSelection(index: number): void; + + /** To select cell based on the cell and row index dynamically. + * @param {Array} array of cell indexes to be select + * @param {boolean} Defines that we need to preserve the previously selected cells or not + * @returns {void} + */ + selectCells(Indexes: any[], preservePreviousSelectedCell: boolean): void; + + /** To rename a column with the specified name + * @param {number} Index of the column to be renamed + * @param {string} Header text of the column + * @returns {void} + */ + renameColumn(columnIndex: number, name: string): void; + + /** To delete the specified column + * @param {number} Index of the column to be deleted + * @returns {void} + */ + deleteColumn(columnIndex: number): void; + + /** To collapse all the parent items in tree grid + * @returns {void} + */ + collapseAll(): void; + + /** To hide the column by using header text + * @param {string} you can pass a header text of a column to hide. + * @returns {void} + */ + hideColumn(headerText: string): void; + + /** Expands the records at specific hierarchical level + * @param {number} you can pass the level as index number to expand + * @returns {void} + */ + expandAtLevel(index: number): void; + + /** Collapses the records at specific hierarchical level + * @param {number} you can pass the particular level as index. + * @returns {void} + */ + collapseAtLevel(index: number): void; + + /** To refresh the changes in tree grid + * @param {Array} Pass which data source you want to show in tree grid + * @param {any} Pass which data you want to show in tree grid + * @returns {void} + */ + refresh(dataSource: any[], query: any): void; + + /** Freeze all the columns preceding to the column specified by the field name. + * @param {string} Freeze all Columns before this field column. + * @returns {void} + */ + freezePrecedingColumns(field: string): void; + + /** Freeze/unfreeze the specified column. + * @param {string} Freeze/Unfreeze this field column. + * @param {boolean} Decides to Freeze/Unfreeze this field column. + * @returns {void} + */ + freezeColumn(field: string, isFrozen: boolean): void; + + /** To save the edited cell in TreeGrid * @returns {void} */ saveCell(): void; - /** This method is used to update a particular cell value in the Spreadsheet. - * @param {any} Pass row index and column index of the cell. - * @param {string|number} Pass the cell value. + /** To search an item with search string provided at the run time + * @param {string} you can pass a searchString to search the tree grid * @returns {void} */ - updateCell(cell: any, value: string | number): void; + search(searchString: string): void; - /** This method is used to update a particular cell value and its format in the Spreadsheet. - * @param {any} Pass row index and column index of the cell. - * @param {string|number} Pass the cell value. - * @param {string} Pass the class name to update format. - * @param {number} Pass sheet index. + /** To show the column by using header text + * @param {string} you can pass a header text of a column to show. * @returns {void} */ - updateCellValue(cellIdx: any, val: string | number, formatClass: string, sheetIdx: number): void; + showColumn(headerText: string): void; + + /** To sorting the data based on the particular fields + * @param {string} you can pass a name of column to sort. + * @param {string} you can pass a sort direction to sort the column. + * @returns {void} + */ + sortColumn(columnName: string, columnSortDirection: string): void; + + /** To reorder the column with field name and target index values + * @param {string} you can pass a name of column to reorder. + * @param {string} you can pass a target column index to be inserted. + * @returns {void} + */ + reorderColumn(fieldName: string, targetIndex: string): void; + } + export namespace TreeGrid { + + export interface Model { + + /** Enables or disables the ability to resize the column width interactively. + * @Default {false} + */ + allowColumnResize?: boolean; + + /** Enables or disables the option for column reordering + * @Default {false} + */ + allowColumnReordering?: boolean; + + /** Enables or disables the ability to drag and drop the row interactively to reorder the rows. + * @Default {false} + */ + allowDragAndDrop?: boolean; + + /** Enables or disables the ability to filter the data on all the columns. Enabling this property will display a row with editor controls corresponding to each column. + * You can restrict filtering on particular column by disabling this property directly on that column instance itself. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Enables or disables keyboard navigation. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Enables or disables the ability to sort the rows based on multiple columns/fields by clicking on each column header. Rows will be sorted recursively on clicking the column headers. + * @Default {false} + */ + allowMultiSorting?: boolean; + + /** Enables or disables the ability to select a row interactively. + * @Default {true} + */ + allowSelection?: boolean; + + /** Enables or disables the ability to sort the rows based on a single field/column by clicking on that column header. When enabled, rows can be sorted only by single field/column. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables/disables pagination of rows in TreeGrid + * @Default {false} + */ + allowPaging?: boolean; + + /** Specifies the id of the template that has to be applied for alternate rows. + */ + altRowTemplateID?: string; + + /** Specifies the mapping property path for sub tasks in datasource + */ + childMapping?: string; + + /** Option for adding columns; each column has the option to bind to a field in the dataSource. + */ + columns?: Column[]; + + /** To Specify the column fields to be displayed in the dialog while inserting a column using column menu. + * @Default {[]} + */ + columnDialogFields?: any[]; + + /** Options for displaying and customizing context menu items. + */ + contextMenuSettings?: ContextMenuSettings; + + /** Specify the CSS class for TreeGrid to achieve custom theme. + */ + cssClass?: string; + + /** Specifies hierarchical or self-referential data to populate the TreeGrid. + * @Default {null} + */ + dataSource?: any[]; + + /** Specifies whether to wrap the header text when it is overflown i.e., when it exceeds the header width. + * @Default {none} + */ + headerTextOverflow?: string; + + /** Options for displaying and customizing the tooltip. This tooltip will show the preview of the row that is being dragged. + */ + dragTooltip?: DragTooltip; + + /** Options for enabling and configuring the editing related operations. + */ + editSettings?: EditSettings; + + /** Specifies whether to render alternate rows in different background colors. + * @Default {true} + */ + enableAltRow?: boolean; + + /** Specifies whether to load all the rows in collapsed state when the TreeGrid is rendered for the first time. + * @Default {false} + */ + enableCollapseAll?: boolean; + + /** Specifies whether to resize TreeGrid whenever window size changes. + * @Default {false} + */ + enableResize?: boolean; + + /** Specifies whether to render only the visual elements that are visible in the UI. When you enable this property, it will reduce the loading time for loading large number of records. + * @Default {false} + */ + enableVirtualization?: boolean; + + /** Specifies the settings for column resize + */ + columnResizeSettings?: ColumnResizeSettings; + + /** Options for filtering and customizing filter actions. + */ + filterSettings?: FilterSettings; + + /** Specifies the localization information to customize the User Interface (UI) to support regional language and culture + * @Default {en-US} + */ + locale?: string; + + /** Enables or disables internal parsing of a row. When disabled this property, row will be displayed using the defined template without any internal event bindings. + * @Default {true} + */ + parseRowTemplate?: boolean; + + /** Specifies the name of the field in the dataSource, which contains the id of that row. + */ + idMapping?: string; + + /** Enables or disables the responsiveness of TreeGrid + * @Default {false} + */ + isResponsive?: boolean; + + /** Specifies the name of the field in the dataSource, which contains the parent's id. This is necessary to form a parent-child hierarchy, if the dataSource contains self-referential data. + */ + parentIdMapping?: string; + + /** Specifies the options for customizing the pager. + */ + pageSettings?: PageSettings; + + /** Specifies the template for cell tooltip + * @Default {null} + */ + cellTooltipTemplate?: string; + + /** Specifies ej.Query to select data from the dataSource. This property is applicable only when the dataSource is ej.DataManager. + * @Default {null} + */ + query?: any; + + /** Specifies the height of a single row in tree grid. Also, we need to set same height in the CSS style with class name e-rowcell. + * @Default {30} + */ + rowHeight?: number; + + /** Specifies the id of the template to be applied for all the rows. + */ + rowTemplateID?: string; + + /** Specifies the index of the selected row. + * @Default {-1} + */ + selectedRowIndex?: number; + + /** Specifies the settings for row and cell selection. + */ + selectionSettings?: SelectionSettings; + + /** Enables/disables the options for inserting , deleting and renaming columns. + * @Default {false} + */ + showColumnOptions?: boolean; + + /** Controls the visibility of the menu button, which is displayed on the column header. Clicking on this button will show a popup menu. When you choose Columns item from this popup, + * a list box with column names will be shown, from which you can select/deselect a column name to control the visibility of the respective columns. + * @Default {false} + */ + showColumnChooser?: boolean; + + /** Specifies the visibility of details view + * @Default {false} + */ + showDetailsRow?: boolean; + + /** Specifies the visibility of the expander column which is used to expand or collapse the details view + * @Default {false} + */ + showDetailsRowInfoColumn?: boolean; + + /** Specifies the template for details view + */ + detailsTemplate?: string; + + /** Specifies the row height of the details view + * @Default {100} + */ + detailsRowHeight?: number; + + /** Specifies the visibility of summary row + * @Default {false} + */ + showSummaryRow?: boolean; + + /** Specifies the visibility of total summary row for the corresponding summary column + * @Default {false} + */ + showTotalSummary?: boolean; + + /** Specifies the summary row collection object to be displayed + * @Default {[]} + */ + summaryRows?: any[]; + + /** Specifies whether to show tooltip when mouse is hovered on the cell. + * @Default {true} + */ + showGridCellTooltip?: boolean; + + /** Specifies whether to show tooltip for the cells, which has expander button. + * @Default {true} + */ + showGridExpandCellTooltip?: boolean; + + /** Options for setting width and height for TreeGrid. + */ + sizeSettings?: SizeSettings; + + /** Options for sorting the rows. + */ + sortSettings?: SortSettings; + + /** Options for displaying and customizing the toolbar items. + */ + toolbarSettings?: ToolbarSettings; + + /** Specifies the index of the column that needs to have the expander button. By default, cells in the first column contain the expander button. + * @Default {0} + */ + treeColumnIndex?: number; + + /** Triggered before every success event of TreeGrid action. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggered for every TreeGrid action success event. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggered while enter the edit mode in the TreeGrid cell */ + beginEdit?(e: BeginEditEventArgs): void; + + /** Triggered after collapsed the TreeGrid record */ + collapsed?(e: CollapsedEventArgs): void; + + /** Triggered while collapsing the TreeGrid record */ + collapsing?(e: CollapsingEventArgs): void; + + /** Triggered while clicking a row, even when allowSelection property is disabled. */ + recordClick?(e: RecordClickEventArgs): void; + + /** Triggered when you start to drag a column */ + columnDragStart?(e: ColumnDragStartEventArgs): void; + + /** Triggered while dragging a column */ + columnDrag?(e: ColumnDragEventArgs): void; + + /** Triggered when a column is dropped */ + columnDrop?(e: ColumnDropEventArgs): void; + + /** Triggered after a column resized */ + columnResized?(e: ColumnResizedEventArgs): void; + + /** Triggered while start to resize a column */ + columnResizeStart?(e: ColumnResizeStartEventArgs): void; + + /** Triggered when a column has been resized */ + columnResizeEnd?(e: ColumnResizeEndEventArgs): void; + + /** Triggered while Context Menu is rendered in TreeGrid control */ + contextMenuOpen?(e: ContextMenuOpenEventArgs): void; + + /** Triggered when TreeGrid is rendered completely */ + create?(e: CreateEventArgs): void; + + /** Triggered after saved the modified cellValue in TreeGrid */ + endEdit?(e: EndEditEventArgs): void; + + /** Triggered after expand the record */ + expanded?(e: ExpandedEventArgs): void; + + /** Triggered while expanding the TreeGrid record */ + expanding?(e: ExpandingEventArgs): void; + + /** Triggered while Treegrid is loaded */ + load?(e: LoadEventArgs): void; + + /** Triggered while rendering each cell in the TreeGrid */ + queryCellInfo?(e: QueryCellInfoEventArgs): void; + + /** Triggered while rendering each row */ + rowDataBound?(e: RowDataBoundEventArgs): void; + + /** Triggered while dragging a row in TreeGrid control */ + rowDrag?(e: RowDragEventArgs): void; + + /** Triggered while start to drag row in TreeGrid control */ + rowDragStart?(e: RowDragStartEventArgs): void; + + /** Triggered while drop a row in TreeGrid control */ + rowDragStop?(e: RowDragStopEventArgs): void; + + /** Triggered before selecting a cell */ + cellSelecting?(e: CellSelectingEventArgs): void; + + /** Triggered after selected a cell */ + cellSelected?(e: CellSelectedEventArgs): void; + + /** Triggered after the row is selected. */ + rowSelected?(e: RowSelectedEventArgs): void; + + /** Triggered before the row is going to be selected. */ + rowSelecting?(e: RowSelectingEventArgs): void; + + /** Triggered when toolbar item is clicked in TreeGrid. */ + toolbarClick?(e: ToolbarClickEventArgs): void; + } + + export interface ActionBeginEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the direction of sorting ascending or descending. + */ + columnSortDirection?: string; + + /** Returns the value of expanding parent element. + */ + keyValue?: string; + + /** Returns the data or deleting element. + */ + data?: string; + } + + export interface ActionCompleteEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the grid model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the current grouped column field name. + */ + columnName?: string; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the direction of sorting ascending or descending + */ + columnSortDirection?: string; + + /** Returns the value of searched element. + */ + keyValue?: string; + + /** Returns the data of deleted element. + */ + data?: string; + + /** Returns selected record index + */ + recordIndex?: number; + } + + export interface BeginEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column Index of cell belongs. + */ + columnIndex?: number; + } + + export interface CollapsedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsed record. + */ + recordIndex?: number; + + /** Returns the data of collapsed record.. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + + /** Returns the event type. + */ + type?: string; + } + + export interface CollapsingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of collapsing record. + */ + recordIndex?: number; + + /** Returns the data of collapsing record.. + */ + data?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns state of a record whether it is in expanded or collapsing state. + */ + expanded?: boolean; + } + + export interface RecordClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the element of clicked cell. + */ + cell?: any; + + /** Returns the index of the clicked cell. + */ + cellIndex?: number; + + /** Returns the data of clicked cell. + */ + cellValue?: any; + + /** Returns the element of the clicked row. + */ + row?: any; + + /** Returns the index of the clicked row. + */ + rowIndex?: number; + + /** Returns the column name of the clicked cell. + */ + columnName?: string; + } + + export interface ColumnDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is dragged + */ + draggedColumn?: any; + + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; + } + + export interface ColumnDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is dragged + */ + draggedColumn?: any; + + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; + + /** Returns the target column data + */ + targetColumn?: any; + + /** Returns the index of the target column + */ + targetColumnIndex?: number; + + /** Returns that we can drop over the column or not. + */ + canDrop?: boolean; + } + + export interface ColumnDropEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is dragged + */ + draggedColumn?: any; + + /** Returns the index of the column being dragged + */ + draggedColumnIndex?: number; + + /** Returns the target column data + */ + targetColumn?: any; + + /** Returns the index of the target column + */ + targetColumnIndex?: number; + } + + export interface ColumnResizedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data which is resized + */ + column?: any; + + /** Returns the index of the column being resized. + */ + columnIndex?: number; + + /** Returns resized column width after resized. + */ + newWidth?: number; + + /** Returns resized column width before resizing + */ + oldWidth?: number; + } + + export interface ColumnResizeStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data in which the resizing started + */ + column?: any; + + /** Returns the column index in which the resizing started + */ + columnIndex?: number; + + /** Returns column width before dragging + */ + oldWidth?: number; + + /** Returns initial column element object. + */ + target?: any; + } + + export interface ColumnResizeEndEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the control model values. + */ + model?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns the column data in which the resizing started + */ + column?: any; + + /** Returns the column index in which the resizing started + */ + columnIndex?: number; + + /** Returns the column width difference, before and after the resizing + */ + extra?: number; + + /** Returns the new column width after resized + */ + newWidth?: number; + + /** Returns column width before dragging + */ + oldWidth?: number; + + /** Returns initial column element object. + */ + target?: any; + } + + export interface ContextMenuOpenEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the default context menu items to which we add custom items. + */ + contextMenuItems?: any[]; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CreateEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the TreeGrid model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface EndEditEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of editing cell. + */ + rowElement?: any; + + /** Returns the Element of editing cell. + */ + cellElement?: any; + + /** Returns the data of edited cell record. + */ + data?: any; + + /** Returns the column name of edited cell belongs. + */ + columnName?: string; + + /** Returns the column object of edited cell belongs. + */ + columnObject?: any; + } + + export interface ExpandedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of expanded record. + */ + recordIndex?: number; + + /** Returns the data of expanded record.. + */ + data?: any; + + /** Returns Request Type. + */ + requestType?: string; + + /** Returns state of a record whether it is in expanded or expanded state. + */ + expanded?: boolean; + + /** Returns the event type. + */ + type?: string; + } + + export interface ExpandingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row index of expanding record. + */ + recordIndex?: number; + + /** Returns the data of expanding record.. + */ + data?: any; + + /** Returns the event Type. + */ + type?: string; + + /** Returns state of a record whether it is in expanded or collapsed state. + */ + expanded?: boolean; + } + + export interface LoadEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the TreeGrid model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface QueryCellInfoEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting cell element. + */ + cellElement?: any; + + /** Returns the value of cell. + */ + cellValue?: string; + + /** Returns the data of current cell record. + */ + data?: any; + + /** Returns the column of cell belongs. + */ + column?: any; + } + + export interface RowDataBoundEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row element of rendering row. + */ + rowElement?: any; + + /** Returns the data of rendering row record. + */ + data?: any; + } + + export interface RowDragEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row on which we are dragging. + */ + targetRow?: any; + + /** Returns the row index on which we are dragging. + */ + targetRowIndex?: number; + + /** Returns that we can drop over that record or not. + */ + canDrop?: boolean; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDragStartEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: boolean; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface RowDragStopEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the row which we start to drag. + */ + draggedRow?: any; + + /** Returns the row index which we start to drag. + */ + draggedRowIndex?: number; + + /** Returns the row which we are dropped to row. + */ + targetRow?: any; + + /** Returns the row index which we are dropped to row. + */ + targetRowIndex?: number; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CellSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; + } + + export interface CellSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the cell index on the selection. + */ + cellIndex?: number; + + /** Returns the row index on the selection + */ + rowIndex?: number; + + /** Returns the selecting cell element + */ + targetCell?: any; + + /** Returns the selecting row element + */ + targetRow?: any; + + /** Returns the selecting record object + */ + data?: any; + + /** Returns the Gantt object Model + */ + model?: any; + + /** Returns the previously selected row data + */ + previousData?: any; + + /** Returns the previously selected cell index + */ + previousCellIndex?: any; + + /** Returns the previously selected row index + */ + previousRowIndex?: any; + + /** Returns the previously selected cell element + */ + previousTargetCell?: any; + + /** Returns the previously selected row element + */ + previousTargetRow?: any; + } + + export interface RowSelectedEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: number; + + /** Returns the data of selected record. + */ + data?: any; + + /** Returns the event type. + */ + type?: string; + } + + export interface RowSelectingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the data selecting record. + */ + data?: any; + + /** Returns the index of selecting row record. + */ + recordIndex?: string; + + /** Returns the selecting row element. + */ + targetRow?: any; + + /** Returns the previous selected data. + */ + previousData?: any; + + /** Returns the previous selected row index. + */ + previousIndex?: string; + + /** Returns the previous selected row element. + */ + previousTreeGridRow?: any; + } + + export interface ToolbarClickEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the current item. + */ + currentTarget?: any; + + /** Returns the TreeGrid model. + */ + model?: any; + + /** Returns the name of the toolbar item on which mouse click has been performed + */ + itemName?: string; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface Column { + + /** Enables or disables the ability to filter the rows based on this column. + * @Default {false} + */ + allowFiltering?: boolean; + + /** Enables or disables the ability to sort the rows based on this column/field. + * @Default {false} + */ + allowSorting?: boolean; + + /** Enables/disables cell selection. + * @Default {false} + */ + allowCellSelection?: boolean; + + /** Specifies the edit type of the column. + * @Default {ej.TreeGrid.EditingType.String} + */ + editType?: ej.TreeGrid.EditingType | string; + + /** Specifies the name of the field from the dataSource to bind with this column. + */ + field?: string; + + /** Specifies the type of the editor control to be used to filter the rows. + * @Default {ej.TreeGrid.EditingType.String} + */ + filterEditType?: ej.TreeGrid.EditingType | string; + + /** Header text of the column. + * @Default {null} + */ + headerText?: string; + + /** Enables or disables the checkbox visibility in a column to make it as a checkbox column + * @Default {false} + */ + showCheckbox?: boolean; + + /** Controls the visibility of the column. + * @Default {true} + */ + visible?: boolean; + + /** Gets or sets a value for treegrid column width + */ + width?: number; + + /** Specifies the header template value for the column header + */ + headerTemplateID?: string; + + /** Specifies the display format of a column + * @Default {null} + */ + format?: any; + + /** Specifies whether the column is a template column + * @Default {false} + */ + isTemplateColumn?: boolean; + + /** Specifies the alignment of the column header text + * @Default {ej.TextAlign.Left} + */ + headerTextAlign?: ej.TextAlign | string; + + /** Specifies whether the column is frozen + * @Default {false} + */ + isFrozen?: boolean; + + /** Specifies the text alignment for the column + * @Default {ej.TextAlign.Left} + */ + textAlign?: ej.TextAlign | string; + + /** Specifies the template for the TreeGrid column + */ + templateID?: string; + + /** Enables or disables the ability to edit a row or cell. + * @Default {false} + */ + allowEditing?: boolean; + + /** Enables or disables the ability to freeze/unfreeze the columns + * @Default {false} + */ + allowFreezing?: boolean; + } + + export interface ContextMenuSettings { + + /** Option for adding items to context menu. + * @Default {[]} + */ + contextMenuItems?: any[]; + + /** Shows/hides the context menu. + * @Default {false} + */ + showContextMenu?: boolean; + } + + export interface DragTooltip { + + /** Specifies whether to show tooltip while dragging a row. + * @Default {true} + */ + showTooltip?: boolean; + + /** Option to add field names whose corresponding values in the dragged row needs to be shown in the preview tooltip. + * @Default {[]} + */ + tooltipItems?: any[]; + + /** Custom template for that tooltip that is shown while dragging a row. + * @Default {null} + */ + tooltipTemplate?: string; + } + + export interface EditSettings { + + /** Enables or disables the button to add new row in context menu as well as in toolbar. + * @Default {true} + */ + allowAdding?: boolean; + + /** Enables or disables the button to delete the selected row in context menu as well as in toolbar. + * @Default {true} + */ + allowDeleting?: boolean; + + /** Enables or disables the ability to edit a row or cell. + * @Default {false} + */ + allowEditing?: boolean; + + /** Specifies the mouse action whether single click or double click to begin the editing + * @Default {ej.TreeGrid.BeginEditAction.DblClick} + */ + beginEditAction?: ej.TreeGrid.BeginEditAction | string; + + /** specifies the edit mode in TreeGrid , "cellEditing" is for cell type editing and "rowEditing" is for entire row. + * @Default {ej.TreeGrid.EditMode.CellEditing} + */ + editMode?: ej.TreeGrid.EditMode | string; + + /** Specifies the position where the new row has to be added. + * @Default {top} + */ + rowPosition?: ej.TreeGrid.RowPosition | string; + } + + export interface ColumnResizeSettings { + + /** Specifies the mode for column resizing + * @Default {normal} + */ + columnResizeMode?: string; + } + + export interface FilterSettings { + + /** Specifies the mode on which column filtering should start + * @Default {immediate} + */ + filterBarMode?: string; + + /** Specifies the type of column filtering. + * @Default {filterbar} + */ + filterType?: string; + + /** Specifies the column collection for filtering the TreeGrid content on initial load + * @Default {[]} + */ + filteredColumns?: any[]; + } + + export interface PageSettings { + + /** Using this property we can specify the number of pages should pager contains, according to this count TreeGrid height will be updated. + * @Default {8} + */ + pageCount?: number; + + /** This specifies the number of rows to display in each page. + * @Default {12} + */ + pageSize?: number; + + /** Get the value of records which is bound to TreeGrid. The totalRecordsCount value is calculated based on the datasource bound to TreeGrid. + * @Default {null} + */ + totalRecordsCount?: number; + + /** Specifies the current page to display at load time. + * @Default {1} + */ + currentPage?: number; + + /** Specifies the mode of record count in a page, whether it should count all the records or the root to count zero level parent records. + * @Default {ej.TreeGrid.PageSizeMode.All} + */ + pageSizeMode?: ej.TreeGrid.PageSizeMode | string; + + /** Specifies the Custom template for Pager control. + * @Default {null} + */ + template?: string; + } + + export interface SelectionSettings { + + /** Specifies the type of selection whether to select row or cell. + * @Default {ej.TreeGrid.SelectionMode.Row} + */ + selectionMode?: ej.TreeGrid.SelectionMode | string; + + /** Specifies the type of selection whether single, multiple or checkbox. + * @Default {ej.TreeGrid.SelectionType.Single} + */ + selectionType?: ej.TreeGrid.SelectionType | string; + + /** Enables or disables the selection by hierarchy in check box selection + * @Default {true} + */ + enableHierarchySelection?: boolean; + + /** Toggles the visibility of the checkbox in column header, using which all the check boxes can be selected or unselected. + * @Default {true} + */ + enableSelectAll?: boolean; + } + + export interface SizeSettings { + + /** Height of the TreeGrid. + * @Default {null} + */ + height?: string; + + /** Width of the TreeGrid. + * @Default {null} + */ + width?: string; + } + + export interface SortSettings { + + /** Option to add columns based on which the rows have to be sorted recursively. + * @Default {[]} + */ + sortedColumns?: any[]; + } + + export interface ToolbarSettings { + + /** Shows/hides the toolbar. + * @Default {false} + */ + showToolbar?: boolean; + + /** Specifies the list of toolbar items to be rendered in TreeGrid toolbar + * @Default {[]} + */ + toolbarItems?: any[]; + } + + enum EditingType { + + ///It Specifies String edit type. + String, + + ///It Specifies Boolean edit type. + Boolean, + + ///It Specifies Numeric edit type. + Numeric, + + ///It Specifies Dropdown edit type. + Dropdown, + + ///It Specifies DatePicker edit type. + DatePicker, + + ///It Specifies DateTimePicker edit type. + DateTimePicker, + + ///It Specifies Maskedit edit type. + Maskedit + } + + + enum BeginEditAction { + + ///you can begin the editing at double click + DblClick, + + ///you can begin the editing at single click + Click + } + + + enum EditMode { + + ///you can edit a cell. + CellEditing, + + ///you can edit a row. + RowEditing + } + + + enum RowPosition { + + ///you can add a new row at top. + Top, + + ///you can add a new row at bottom. + Bottom, + + ///you can add a new row to above selected row. + Above, + + ///you can add a new row to below selected row. + Below, + + ///you can add a new row as a child for selected row. + Child + } + + + enum PageSizeMode { + + ///To count all the parent and child records. + All, + + ///To count the Zeroth level parent records. + Root + } + + + enum SelectionMode { + + ///you can select a row. + Row, + + ///you can select a cell. + Cell + } + + + enum SelectionType { + + ///you can select a single row. + Single, + + ///you can select a multiple row. + Multiple, + + ///you can select rows using checkbox. + Checkbox + } + } - export interface XLExport { + class GroupButton extends ej.Widget { + static fn: GroupButton; + constructor(element: JQuery | Element, options?: GroupButton.Model); + static Locale: any; + model: GroupButton.Model; + defaults: GroupButton.Model; - /** This method is used to save the sheet data as Excel ,CSV or PDF document (.xls, .xlsx .csv, .pdf) in Spreadsheet. - * @param {string} Pass the export type that you want. + /** Remove the selection state of the specified the button element from the GroupButton + * @param {JQuery} Specific button element * @returns {void} */ - export(type: string): void; + deselectItem(element: JQuery): void; + + /** Destroy the GroupButton widget all events bound using this._on will be unbind automatically and bring the control to pre-init state. + * @returns {void} + */ + destroy(): void; + + /** Disables the GroupButton control + * @returns {void} + */ + disable(): void; + + /** Disable the specified button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + disableItem(element: JQuery): void; + + /** Enables the disabled ejGroupButton control. + * @returns {void} + */ + enable(): void; + + /** Enable the specified disabled button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + enableItem(element: JQuery): void; + + /** Returns the index value for specified button element in the GroupButton control. + * @param {JQuery} Specific button element + * @returns {number} + */ + getIndex(element: JQuery): number; + + /** This method returns the list of active state button elements from the GroupButton control. + * @returns {any} + */ + getSelectedItem(): any; + + /** Hides the GroupButton control + * @returns {void} + */ + hide(): void; + + /** Hide the specified button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + hideItem(element: JQuery): void; + + /** Returns the disabled state of the specified element button element in GroupButton as Boolean. + * @returns {boolean} + */ + isDisabled(): boolean; + + /** Returns the state of the specified button element as Boolean. + * @returns {boolean} + */ + isSelected(): boolean; + + /** Public method used to select the specified button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + selectItem(element: JQuery): void; + + /** Shows the GroupButton control, if its hide. + * @returns {void} + */ + show(): void; + + /** Show the specified hidden button element from the ejGroupButton control. + * @param {JQuery} Specific button element + * @returns {void} + */ + showItem(element: JQuery): void; + } + export namespace GroupButton { + + export interface Model { + + /** Sets the specified class to GroupButton wrapper element, which allows for custom skinning option in ejGroupButton control. + */ + cssClass?: string; + + /** To set the local JSON data, define a JSON array and initialize the GroupButton with dataSource property. Specify the column names in the fields property. + * @Default {null} + */ + dataSource?: any; + + /** Displays the ejGroupButton in Right to Left direction. + * @Default {false} + */ + enableRTL?: boolean; + + /** Used to enable or disable the ejGroupButton control. + * @Default {true} + */ + enabled?: boolean; + + /** Gets or sets a value that indicates to display the values of the data. + * @Default {null} + */ + fields?: any; + + /** Sets the GroupButton behavior to works as Checkbox mode/ radio button mode based on the specified option. + * @Default {ej.GroupButtonMode.RadioButton} + */ + groupButtonMode?: ej.GroupButtonMode | string; + + /** Used to sets the height of the ejGroupButton control. + * @Default {28} + */ + height?: string | number; + + /** Defines the characteristics of the ejGroupButton control and extend the capability of an HTML element by adding specified attributes to element tag and by performing the related actions + * @Default {{}} + */ + htmlAttributes?: any; + + /** Specify the orientation of the GroupButton. See below to get available orientations + * @Default {ej.Orientation.Horizontal} + */ + orientation?: ej.Orientation | string; + + /** Query the dataSource from the table for Groupbutton + * @Default {null} + */ + query?: any; + + /** Sets the list of button elements to be selected. To enable this option groupButtonMode should be in “checkbox” mode. + * @Default {[]} + */ + selectedItemIndex?: number[] | string[]; + + /** Sets the rounder corner to the GroupButton, if sets as true. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Specifies the size of the button. See available size + * @Default {ej.ButtonSize.Normal} + */ + size?: ej.ButtonSize | string; + + /** Defines the width of the ejGroupButton control. + */ + width?: string | number; + + /** Triggered before any button element in the GroupButton get selected. */ + beforeSelect?(e: BeforeSelectEventArgs): void; + + /** Fires after GroupButton control is created.If the user want to perform any operation after the button control creation then the user can make use of this create event. */ + create?(e: CreateEventArgs): void; + + /** Fires when the GroupButton is destroyed successfully.If the user want to perform any operation after the destroy button control then the user can make use of this destroy event. */ + destroy?(e: DestroyEventArgs): void; + + /** Triggered once the key is pressed, when the control is in focused state. */ + keyPress?(e: KeyPressEventArgs): void; + + /** Triggered when the button element get selected. */ + select?(e: SelectEventArgs): void; + } + + export interface BeforeSelectEventArgs { + + /** Boolean value based on whether the button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the button element ID. + */ + id?: string; + + /** Button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the GroupButton model + */ + model?: ej.GroupButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface DestroyEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the GroupButton model + */ + model?: ej.GroupButton.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface KeyPressEventArgs { + + /** Boolean value based on whether the button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the button element ID. + */ + id?: string; + + /** Button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + } + + export interface SelectEventArgs { + + /** Boolean value based on whether the selected button element is disabled or not. + */ + disabled?: boolean; + + /** Returns the selection button element. + */ + element?: any; + + /** Event object + */ + event?: any; + + /** Return the selected button element ID. + */ + id?: string; + + /** Selected button item index. + */ + index?: number; + + /** returns the button model + */ + model?: ej.GroupButton.Model; + + /** Boolean value based on whether the button element is selected or not. + */ + selected?: boolean; + + /** returns the name of the event + */ + type?: string; + + /** return the button state + */ + status?: boolean; + } + } + enum GroupButtonMode { + //Sets the GroupButton to work as checkbox mode + CheckBox, + //Sets the RadioButton to work as radio button mode + RadioButton, + } + + class NavigationDrawer extends ej.Widget { + static fn: NavigationDrawer; + constructor(element: JQuery | Element, options?: NavigationDrawer.Model); + static Locale: any; + model: NavigationDrawer.Model; + defaults: NavigationDrawer.Model; + + /** To close the navigation drawer control + * @returns {void} + */ + close(): void; + + /** To load AJAX content into NavigationDrawer container. + * @returns {void} + */ + loadContent(): void; + + /** To open the navigation drawer control + * @returns {void} + */ + open(): void; + + /** To Toggle the navigation drawer control + * @returns {void} + */ + toggle(): void; + } + export namespace NavigationDrawer { + + export interface Model { + + /** Specifies the ajaxSettings option to load the content to the NavigationDrawer control. + * @Default {null} + */ + ajaxSettings?: AjaxSettings; + + /** Specifies the contentId for navigation drawer, where the AJAX content need to updated + * @Default {null} + */ + contentId?: string; + + /** Sets the root class for NavigationDrawer theme. This cssClass API helps to use custom skinning option for NavigationDrawer control. + * By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** Sets the Direction for the control. See Direction + * @Default {left} + */ + direction?: ej.Direction | string; + + /** Sets the listview to be enabled or not + * @Default {false} + */ + enableListView?: boolean; + + /** Specifies the listview items as an array of object. + * @Default {[]} + */ + items?: any[]; + + /** Sets all the properties of listview to render in navigation drawer + */ + listViewSettings?: any; + + /** Specifies position whether it is in fixed or relative to the page. See Position + * @Default {normal} + */ + position?: string; + + /** Specifies the targetId for navigation drawer + */ + targetId?: string; + + /** Sets the rendering type of the control. See Type + * @Default {overlay} + */ + type?: string; + + /** Specifies the width of the control + * @Default {auto} + */ + width?: number; + + /** Navigation pane opened initially when isPaneOpen property is true. + * @Default {false} + */ + isPaneOpen?: boolean; + + /** Event triggers after the AJAX content loaded completely. */ + ajaxComplete?(e: AjaxCompleteEventArgs): void; + + /** Event triggers when the AJAX request failed. */ + ajaxError?(e: AjaxErrorEventArgs): void; + + /** Event triggers after the AJAX content loaded successfully. */ + ajaxSuccess?(e: AjaxSuccessEventArgs): void; + + /** Event triggers before the control gets closed. */ + beforeClose?(e: BeforeCloseEventArgs): void; + + /** Event triggers when the control open. */ + open?(e: OpenEventArgs): void; + + /** Event triggers when the Swipe happens. */ + swipe?(e: SwipeEventArgs): void; + } + + export interface AjaxCompleteEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; + } + + export interface AjaxErrorEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; + + /** returns the error thrown in the AJAX post. + */ + errorThrown?: any; + + /** returns the status. + */ + textStatus?: any; + } + + export interface AjaxSuccessEventArgs { + + /** returns true if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the name of the event. + */ + type?: string; + + /** returns the model value of the control. + */ + model?: ej.NavigationDrawer.Model; + + /** returns the AJAX current content. + */ + content?: string; + + /** returns the current URL of the AJAX post. + */ + URL?: string; + } + + export interface BeforeCloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface SwipeEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Navigation Drawer model + */ + model?: ej.NavigationDrawer.Model; + + /** returns the name of the event + */ + type?: string; + } + + export interface AjaxSettings { + + /** It specifies, whether to enable or disable asynchronous request. + */ + async?: boolean; + + /** It specifies the page will be cached in the web browser. + */ + cache?: boolean; + + /** It specifies the type of data is send in the query string. + */ + contentType?: string; + + /** It specifies the data as an object, will be passed in the query string. + */ + data?: any; + + /** It specifies the type of data that you're expecting back from the response. + */ + dataType?: string; + + /** It specifies the HTTP request type. + */ + type?: string; + } + } + + class RadialMenu extends ej.Widget { + static fn: RadialMenu; + constructor(element: JQuery | Element, options?: RadialMenu.Model); + static Locale: any; + model: RadialMenu.Model; + defaults: RadialMenu.Model; + + /** To hide the radialmenu + * @returns {void} + */ + hide(): void; + + /** To hide the radialmenu items + * @returns {void} + */ + hideMenu(): void; + + /** To Show the radial menu + * @returns {void} + */ + show(): void; + + /** To show menu items + * @returns {void} + */ + showMenu(): void; + + /** To enable menu item using index + * @param {number} Index of the Radialmenu to be enabled. + * @returns {void} + */ + enableItemByIndex(itemIndex: number): void; + + /** To enable menu items using indices + * @param {Array} Index of the Radialmenu to be enabled. + * @returns {void} + */ + enableItemsByIndices(itemIndices: any[]): void; + + /** To disable menu item using index + * @param {number} Index of the Radialmenu to be disabled. + * @returns {void} + */ + disableItemByIndex(itemIndex: number): void; + + /** To disable menu items using indices + * @param {Array} items of the Radialmenu to disable. + * @returns {void} + */ + disableItemsByIndices(itemIndices: any[]): void; + + /** To enable menu item using item text + * @param {string} item of the Radialmenu item to enable. + * @returns {void} + */ + enableItem(item: string): void; + + /** To disable menu item using item text + * @param {string} item of the Radialmenu item to disable. + * @returns {void} + */ + disableItem(item: string): void; + + /** To enable menu items using item texts + * @param {Array} items of the Radialmenu item to enable. + * @returns {void} + */ + enableItems(items: any[]): void; + + /** To disable menu items using item texts + * @param {Array} items of the Radialmenu item to disable. + * @returns {void} + */ + disableItems(items: any[]): void; + + /** To update menu item badge value + * @param {number} The index value to add the given items at the specified index. If index is not specified, the given value will not be updated. + * @param {number} The Value to be updated in the badge. It will be updated based on the given index + * @returns {void} + */ + updateBadgeValue(index: number, value: number): void; + + /** To show menu item badge + * @param {number} Index of the Radialmenu item to be shown badge. + * @returns {void} + */ + showBadge(index: number): void; + + /** To hide menu item badge + * @param {number} Index of the Radialmenu item to hide the badge. + * @returns {void} + */ + hideBadge(index: number): void; + } + export namespace RadialMenu { + + export interface Model { + + /** To show the Radial in initial render. + */ + autoOpen?: boolean; + + /** Renders the back button Image for Radial using class. + */ + backImageClass?: string; + + /** Sets the root class for RadialMenu theme. This cssClass API helps to use custom skinning option for RadialMenu control. By defining the root class using this API, + * we need to include this root class in CSS. + */ + cssClass?: string; + + /** To enable Animation for Radial Menu. + */ + enableAnimation?: boolean; + + /** Renders the Image for Radial using Class. + */ + imageClass?: string; + + /** Specify the items of radial menu + */ + items?: Item[]; + + /** Specifies the radius of radial menu + */ + radius?: number; + + /** To show the Radial while clicking given target element. + */ + targetElementId?: string; + + /** To set radial render position. + */ + position?: any; + + /** Event triggers when we click an item. */ + click?(e: ClickEventArgs): void; + + /** Event triggers when the menu is opened. */ + open?(e: OpenEventArgs): void; + + /** Event triggers when the menu is closed. */ + close?(e: CloseEventArgs): void; + } + + export interface ClickEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialmenu model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the item of element + */ + item?: any; + + /** returns the name of item + */ + itemName?: string; + } + + export interface OpenEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialmenu model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface CloseEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialmenu model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface ItemsBadge { + + /** Specifies whether to enable radialmenu item badge or not. + */ + enabled?: boolean; + + /** Specifies the value of radial menu item badge. + */ + value?: number; + } + + export interface ItemsSliderSettings { + + /** Specifies the sliderSettings ticks values of nested radial menu items. + */ + ticks?: any[]; + + /** Specifies the sliderSettings stroke Width value. + */ + strokeWidth?: number; + + /** Specifies the value of sliderSettings labelSpace . + */ + labelSpace?: number; + } + + export interface Item { + + /** Specify the URL of the frame background image for radial menu item. + */ + imageUrl?: string; + + /** Specifies the text of RadialMenu item. + */ + text?: string; + + /** Specifies the enable state of RadialMenu item. + */ + enabled?: boolean; + + /** specify the click event to corresponding image/text for performing some specific action. + */ + click?: string; + + /** Specifies radialmenu item badges. + */ + badge?: ItemsBadge; + + /** Specifies the type of nested radial menu item. + */ + type?: string; + + /** Specifies the sliderSettings ticks for nested radial menu items. + */ + sliderSettings?: ItemsSliderSettings; + + /** Specifies to add sub level items . + */ + items?: any[]; + } + } + + class Tile extends ej.Widget { + static fn: Tile; + constructor(element: JQuery | Element, options?: Tile.Model); + static Locale: any; + model: Tile.Model; + defaults: Tile.Model; + + /** Update the image template of tile item to another one. + * @param {string} UpdateTemplate by using id + * @param {number} index of the tile + * @returns {void} + */ + updateTemplate(id: string, index: number): void; + } + export namespace Tile { + + export interface Model { + + /** Section for badge specific functionalities and it represents the notification for tile items. + */ + badge?: Badge; + + /** Section for caption specific functionalities and it represents the notification for tile items. + */ + caption?: Caption; + + /** Sets the root class for Tile theme. This cssClass API helps to use custom skinning option for Tile control. By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** Saves current model value to browser cookies for state maintains. While refreshing the page retains the model value applies from browser cookies. + * @Default {false} + */ + enablePersistence?: boolean; + + /** Customize the tile size height. + * @Default {null} + */ + height?: number; + + /** Specifies Tile imageClass, using this property we can give images for each tile through CSS classes. + * @Default {null} + */ + imageClass?: string; + + /** Specifies the position of tile image. + * @Default {center} + */ + imagePosition?: ej.Tile.ImagePosition | string; + + /** Specifies the tile image in outside of template content. + * @Default {null} + */ + imageTemplateId?: string; + + /** Specifies the URL of tile image. + * @Default {null} + */ + imageUrl?: string; + + /** Set the localization culture for Tile Widget. + */ + locale?: string; + + /** Section for liveTile specific functionalities. + */ + liveTile?: LiveTile; + + /** Specifies the size of a tile. See tileSize + * @Default {small} + */ + tileSize?: ej.Tile.TileSize | string; + + /** Customize the tile size width. + * @Default {null} + */ + width?: number; + + /** Sets the rounded corner to tile. + * @Default {false} + */ + showRoundedCorner?: boolean; + + /** Sets allowSelection to tile. + * @Default {false} + */ + allowSelection?: boolean; + + /** Sets the background color to tile. + * @Default {null} + */ + backgroundColor?: string; + + /** Event triggers when the mouseDown happens in the tile */ + mouseDown?(e: MouseDownEventArgs): void; + + /** Event triggers when the mouseUp happens in the tile */ + mouseUp?(e: MouseUpEventArgs): void; + } + + export interface MouseDownEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tile model + */ + model?: boolean; + + /** returns the name of the event + */ + type?: boolean; + + /** returns the current tile text + */ + text?: string; + + /** returns the index of current tile item + */ + index?: number; + } + + export interface MouseUpEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the tile model + */ + model?: boolean; + + /** returns the name of the event + */ + type?: boolean; + + /** returns the current tile text + */ + text?: boolean; + + /** returns the index of current tile item + */ + index?: number; + } + + export interface Badge { + + /** Specifies whether to enable badge or not. + * @Default {false} + */ + enabled?: boolean; + + /** Specifies maximum value for tile badge. + * @Default {100} + */ + maxValue?: number; + + /** Specifies minimum value for tile badge. + * @Default {1} + */ + minValue?: number; + + /** Specifies text instead of number for tile badge. + * @Default {null} + */ + text?: string; + + /** Sets value for tile badge. + * @Default {1} + */ + value?: number; + + /** Sets position for tile badge. + * @Default {“bottomright”} + */ + position?: ej.Tile.BadgePosition | string; + } + + export interface Caption { + + /** Specifies whether the tile text to be shown or hidden. + * @Default {true} + */ + enabled?: boolean; + + /** Changes the text of a tile. + * @Default {Text} + */ + text?: string; + + /** It is used to align the text of a tile. + * @Default {normal} + */ + alignment?: ej.Tile.CaptionAlignment | string; + + /** It is used to specify the caption position like Inner top, inner bottom and outer. + * @Default {Innerbottom} + */ + position?: ej.Tile.CaptionPosition | string; + + /** sets the icon instead of text. + * @Default {null} + */ + icon?: string; + } + + export interface LiveTile { + + /** Specifies whether to enable liveTile or not. + * @Default {false} + */ + enabled?: boolean; + + /** Specifies liveTile images in CSS classes. + * @Default {null} + */ + imageClass?: any[]; + + /** Specifies liveTile images in templates. + * @Default {null} + */ + imageTemplateId?: any[]; + + /** Specifies liveTile images in CSS classes. + * @Default {null} + */ + imageUrl?: any[]; + + /** Specifies liveTile type for Tile. See orientation + * @Default {flip} + */ + type?: ej.Tile.liveTileType | string; + + /** Specifies time interval between two successive liveTile animation + * @Default {2000} + */ + updateInterval?: number; + + /** Sets the text to each living tile + * @Default {Null} + */ + text?: any[]; + } + + enum BadgePosition { + + ///To set the topright position of tile badge + Topright, + + ///To set the bottomright of tile badge + Bottomright + } + + + enum CaptionAlignment { + + ///To set the normal alignment of text in tile control + Normal, + + ///To set the left alignment of text in tile control + Left, + + ///To set the right alignment of text in tile control + Right, + + ///To set the center alignment of text in tile control + Center + } + + + enum CaptionPosition { + + ///To set the inner top position of the tile text + Innertop, + + ///To set the inner bottom position of the tile text + Innerbottom, + + ///To set the outer position of the tile text + Outer + } + + + enum ImagePosition { + + ///To set the center position of tile image + Center, + + ///To set the top center position of tile image + TopCenter, + + ///To set the bottom center position of tile image + BottomCenter, + + ///To set the right center position of tile image + RightCenter, + + ///To set the left center position of tile image + LeftCenter, + + ///To set the topleft position of tile image + TopLeft, + + ///To set the topright position of tile image + TopRight, + + ///To set the bottomright position of tile image + BottomRight, + + ///To set the bottomleft position of tile image + BottomLeft, + + ///To set the fill position of tile image + Fill + } + + + enum liveTileType { + + ///To set flip type of liveTile for tile control + Flip, + + ///To set slide type of liveTile for tile control + Slide, + + ///To set carousel type of liveTile for tile control + Carousel + } + + + enum TileSize { + + ///To set the medium size for tile control + Medium, + + ///To set the small size for tile control + Small, + + ///To set the large size for tile control + Large, + + ///To set the wide size for tile control + Wide + } + + } + + class Signature extends ej.Widget { + static fn: Signature; + constructor(element: JQuery | Element, options?: Signature.Model); + static Locale: any; + model: Signature.Model; + defaults: Signature.Model; + + /** Clears the strokes in the signature. + * @returns {void} + */ + clear(): void; + + /** Destroys the signature widget. + * @returns {void} + */ + destroy(): void; + + /** Disables the signature widget. + * @returns {void} + */ + disable(): void; + + /** Enables the signature widget. + * @returns {void} + */ + enable(): void; + + /** Hides the signature widget. + * @returns {void} + */ + hide(): void; + + /** redo the last drawn stroke of the signature + * @returns {void} + */ + redo(): void; + + /** used to save the drawn image. + * @returns {void} + */ + save(): void; + + /** Used to Show the signature widget, if it is already hided. + * @returns {void} + */ + show(): void; + + /** undo the last drawn stroke of the signature. + * @returns {void} + */ + undo(): void; + } + export namespace Signature { + + export interface Model { + + /** This property is used to set the background color for the signature. + * @Default {#ffffff} + */ + backgroundColor?: string; + + /** This property is used to set the background image for the signature. + */ + backgroundImage?: string; + + /** Enables or disables the Signature textbox widget. + * @Default {true} + */ + enabled?: boolean; + + /** Sets the height of the Signature control. + * @Default {100%} + */ + height?: string; + + /** Enables/disables responsive support for the signature control (i.e) maintain the signature drawing during the window resizing time. + * @Default {false} + */ + isResponsive?: boolean; + + /** Allows the type of the image format to be saved when the signature image is saved. + */ + saveImageFormat?: ej.Signature.SaveImageFormat | string; + + /** Allows the signature image to be saved along with its background. + * @Default {false} + */ + saveWithBackground?: boolean; + + /** Enables or disables rounded corner. + * @Default {true} + */ + showRoundedCorner?: boolean; + + /** Sets the stroke color for the stroke of the signature. + * @Default {#000000} + */ + strokeColor?: string; + + /** Sets the stroke width for the stroke of the signature. + * @Default {2} + */ + strokeWidth?: number; + + /** Sets the width of the Signature control. + * @Default {100%} + */ + width?: string; + + /** Triggers when the stroke is changed. */ + change?(e: ChangeEventArgs): void; + + /** Triggered when the pointer is clicked or touched in the signature canvas. */ + mouseDown?(e: MouseDownEventArgs): void; + + /** Triggered when the pointer is moved in the signature canvas. */ + mouseMove?(e: MouseMoveEventArgs): void; + + /** Triggered when the pointer is released after click or touch in the signature canvas. */ + mouseUp?(e: MouseUpEventArgs): void; + } + + export interface ChangeEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** Gives the last stored image + */ + lastImage?: string; + } + + export interface MouseDownEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** returns all the event values + */ + value?: any; + } + + export interface MouseMoveEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** returns all the event values + */ + value?: any; + } + + export interface MouseUpEventArgs { + + /** Set this option to true to cancel the event. + */ + cancel?: boolean; + + /** Instance of the signature model object. + */ + model?: ej.Signature.Model; + + /** Name of the event. + */ + type?: string; + + /** returns all the event values + */ + value?: any; + } + + enum SaveImageFormat { + + ///To save the signature image with PNG format only. + PNG, + + ///To save the signature image with JPG format only. + JPG, + + ///To save the signature image with BMP format only. + BMP, + + ///To save the signature image with TIFF format only. + TIFF + } + + } + + class RadialSlider extends ej.Widget { + static fn: RadialSlider; + constructor(element: JQuery | Element, options?: RadialSlider.Model); + static Locale: any; + model: RadialSlider.Model; + defaults: RadialSlider.Model; + + /** To show the radialslider + * @returns {void} + */ + show(): void; + + /** To hide the radialslider + * @returns {void} + */ + hide(): void; + } + export namespace RadialSlider { + + export interface Model { + + /** To show the RadialSlider in initial render. + * @Default {false} + */ + autoOpen?: boolean; + + /** Sets the root class for RadialSlider theme. This cssClass API helps to use custom skinning option for RadialSlider control. + * By defining the root class using this API, we need to include this root class in CSS. + */ + cssClass?: string; + + /** To enable Animation for Radial Slider. + * @Default {true} + */ + enableAnimation?: boolean; + + /** Enable/Disable the Roundoff property of RadialSlider + * @Default {true} + */ + enableRoundOff?: boolean; + + /** Specifies the endAngle value for radial slider circle. + * @Default {360} + */ + endAngle?: number; + + /** Specifies the inline for label show or not on given radius. + * @Default {false} + */ + inline?: boolean; + + /** Specifies innerCircleImageClass, using this property we can give images for center radial circle through CSS classes. + * @Default {null} + */ + innerCircleImageClass?: string; + + /** Specifies the file name of center circle icon + * @Default {null} + */ + innerCircleImageUrl?: string; + + /** Specifies the Space between the radial slider element and the label. + * @Default {30} + */ + labelSpace?: number; + + /** Specifies the radius of radial slider + * @Default {200} + */ + radius?: number; + + /** To show the RadialSlider inner circle. + * @Default {true} + */ + showInnerCircle?: boolean; + + /** Specifies the endAngle value for radial slider circle. + * @Default {0} + */ + startAngle?: number; + + /** Specifies the strokeWidth for customize the needle, outer circle and inner circle. + * @Default {2} + */ + strokeWidth?: number; + + /** Specifies the ticks value of radial slider + */ + ticks?: any[]; + + /** Specifies the value of radial slider + * @Default {10} + */ + value?: number; + + /** Event triggers when the change occurs. */ + change?(e: ChangeEventArgs): void; + + /** Event triggers when the radial slider is created. */ + create?(e: CreateEventArgs): void; + + /** Event triggers when the mouse pointer is dragged over the radial slider. */ + mouseover?(e: MouseoverEventArgs): void; + + /** Event triggers when the Radial slider slides. */ + slide?(e: SlideEventArgs): void; + + /** Event triggers when the radial slider starts. */ + start?(e: StartEventArgs): void; + + /** Event triggers when the radial slider stops. */ + stop?(e: StopEventArgs): void; + } + + export interface ChangeEventArgs { + + /** returns the Radialslider model + */ + model?: any; + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the initial value of Radial slider + */ + oldValue?: number; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value of the Radial slider + */ + value?: number; + } + + export interface CreateEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + } + + export interface MouseoverEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the value selected + */ + selectedValue?: number; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value selected in Radial slider + */ + value?: number; + } + + export interface SlideEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the value selected in Radial slider + */ + selectedValue?: number; + + /** returns the name of the event + */ + type?: string; + + /** returns the currently selected value + */ + value?: number; + } + + export interface StartEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value selected in Radial slider + */ + value?: number; + } + + export interface StopEventArgs { + + /** if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** returns the Radialslider model + */ + model?: any; + + /** returns the name of the event + */ + type?: string; + + /** returns the current value selected in Radial slider + */ + value?: number; + } + } + + class Spreadsheet extends ej.Widget { + static fn: Spreadsheet; + constructor(element: JQuery | Element, options?: Spreadsheet.Model); + static Locale: any; + model: Spreadsheet.Model; + defaults: Spreadsheet.Model; + + /** This method is used to add custom formulas in Spreadsheet. + * @param {string} Pass the name of the formula. + * @param {string} Pass the name of the function. + * @returns {void} + */ + addCustomFormula(formulaName: string, functionName: string): void; + + /** This method is used to add a new sheet in the last position of the sheet container. + * @returns {void} + */ + addNewSheet(): void; + + /** It is used to clear all the data and format in the specified range of cells in Spreadsheet. + * @param {string|Array} Optional. If range is specified, then it will clear all content in the specified range else it will use the current selected range. + * @returns {void} + */ + clearAll(range?: string | any[]): void; + + /** This property is used to clear all the formats applied in the specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, then it will clear all format in the specified range else it will use the current selected range. + * @returns {void} + */ + clearAllFormat(range?: string | any[]): void; + + /** Used to clear the applied border in the specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, then it will clear border in the specified range else it will use the current selected range. + * @returns {void} + */ + clearBorder(range?: string | any[]): void; + + /** This property is used to clear the contents in the specified range in Spreadsheet. + * @param {string|Array} Optional. If the range is specified, then it will clear the content in the specified range else it will use the current selected range. + * @returns {void} + */ + clearContents(range?: string | any[]): void; + + /** This method is used to remove only the data in the range denoted by the specified range name. + * @param {string} Pass the defined rangeSettings property name. + * @returns {void} + */ + clearRange(rangeName: string): void; + + /** It is used to remove data in the specified range of cells based on the defined property. + * @param {Array|string} Optional. If range is specified, it will clear data for the specified range else it will use the current selected range. + * @param {string} Optional. If property is specified, it will remove the specified property in the range else it will remove default properties + * @param {any} Optional. + * @param {boolean} Optional. pass {{'`true`' | markdownify}}, if you want to skip the hidden rows + * @param {any} Optional. Pass the status to perform undo and redo operation. + * @param {any} Optional. It specifies whether to skip element processing or not. + * @returns {void} + */ + clearRangeData(range?: any[] | string, property?: string, cells?: any, skipHiddenRow?: boolean, status?: any, skipCell?: any): void; + + /** This method is used to clear undo and redo collections in the Spreadsheet. + * @returns {void} + */ + clearUndoRedo(): void; + + /** This method is used to copy or move the sheets in Spreadsheet. + * @param {number} Pass the sheet index that you want to copy or move. + * @param {number} Pass the position index where you want to copy or move. + * @param {boolean} Pass {{'`true`' | markdownify}},If you want to copy sheet or else it will move sheet. + * @returns {void} + */ + copySheet(fromIdx: number, toIdx: number, isCopySheet: boolean): void; + + /** This method is used to delete the entire column which is selected. + * @param {number} Pass the start column index. + * @param {number} Pass the end column index. + * @returns {void} + */ + deleteEntireColumn(startCol: number, endCol: number): void; + + /** This method is used to delete the entire row which is selected. + * @param {number} Pass the start row index. + * @param {number} Pass the end row index. + * @returns {void} + */ + deleteEntireRow(startRow: number, endRow: number): void; + + /** This method is used to delete a particular sheet in the Spreadsheet. + * @param {number} Pass the sheet index to perform delete action. + * @returns {void} + */ + deleteSheet(idx: number): void; + + /** This method is used to delete the selected cells and shift the remaining cells to left. + * @param {any} Row index and column index of the starting cell. + * @param {any} Row index and column index of the ending cell. + * @returns {void} + */ + deleteShiftLeft(startCell: any, endCell: any): void; + + /** This method is used to delete the selected cells and shift the remaining cells up. + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ + deleteShiftUp(startCell: any, endCell: any): void; + + /** This method is used to edit data in the specified range of cells based on its corresponding rangeSettings. + * @param {string} Pass the defined rangeSettings property name. + * @param {Function} Pass the function that you want to perform range edit. + * @returns {void} + */ + editRange(rangeName: string, fn: any): void; + + /** This method is used to get the activation panel in the Spreadsheet. + * @returns {HTMLElement} + */ + getActivationPanel(): HTMLElement; + + /** This method is used to get the active cell object in Spreadsheet. It will returns object which contains rowIndex and colIndex of the active cell. + * @param {number} Optional. If sheetIdx is specified, it will return the active cell object in specified sheet index else it will use the current sheet index + * @returns {any} + */ + getActiveCell(sheetIdx?: number): any; + + /** This method is used to get the active cell element based on the given sheet index in the Spreadsheet. + * @param {number} Optional. If sheetIndex is specified, it will return the active cell element in specified sheet index else it will use the current active sheet index. + * @returns {HTMLElement} + */ + getActiveCellElem(sheetIdx?: number): HTMLElement; + + /** This method is used to get the current active sheet index in Spreadsheet. + * @returns {number} + */ + getActiveSheetIndex(): number; + + /** This method is used to get the auto fill element in Spreadsheet. + * @returns {HTMLElement} + */ + getAutoFillElem(): HTMLElement; + + /** This method is used to get the cell element based on specified row and column index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @param {number} Optional. Pass the sheet index that you want to get cell. + * @returns {HTMLElement} + */ + getCell(rowIdx: number, colIdx: number, sheetIdx?: number): HTMLElement; + + /** This method is used to get the data settings in the Spreadsheet. + * @param {number} Pass the sheet index. + * @returns {number} + */ + getDataSettings(sheetIdx: number): number; + + /** This method is used to get the frozen columns index in the Spreadsheet. + * @param {number} Pass the sheet index. + * @returns {number} + */ + getFrozenColumns(sheetIdx: number): number; + + /** This method is used to get the frozen row index in Spreadsheet. + * @param {number} Pass the sheet index. + * @returns {number} + */ + getFrozenRows(sheetIdx: number): number; + + /** This method is used to get the hyperlink data as object from the specified cell in Spreadsheet. + * @param {HTMLElement} Pass the DOM element to get hyperlink + * @returns {any} + */ + getHyperlink(cell: HTMLElement): any; + + /** This method is used to get all cell elements in the specified range. + * @param {string} Pass the range that you want to get the cells. + * @param {number} Pass the index of the sheet. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. + * @returns {HTMLElement} + */ + getRange(range: string, sheetIdx: number, skipHiddenRow?: boolean): HTMLElement; + + /** This method is used to get the data in specified range in Spreadsheet. + * @param {any} Optional. Pass the range, property, sheetIdx, valueOnly in options. + * @returns {Array} + */ + getRangeData(options?: any): any[]; + + /** This method is used to get the range indices array based on the specified alpha range in Spreadsheet. + * @param {string} Pass the alpha range that you want to get range indices. + * @returns {Array} + */ + getRangeIndices(range: string): any[]; + + /** This method is used to get the sheet details based on the given sheet index in Spreadsheet. + * @param {number} Pass the sheet index to get the sheet object. + * @returns {any} + */ + getSheet(sheetIdx: number): any; + + /** This method is used to get the sheet content div element of Spreadsheet. + * @param {number} Pass the sheet index to get the sheet content. + * @returns {HTMLElement} + */ + getSheetElement(sheetIdx: number): HTMLElement; + + /** This method is used to get all the sheets in workbook. + * @returns {Array} + */ + getSheets(): any[]; + + /** This method is used to send a paging request to the specified sheet Index in the Spreadsheet. + * @param {number} Pass the sheet index to perform paging at specified sheet index + * @param {boolean} Pass {{'`true`' | markdownify}} to create a new sheet. If the specified sheet index is already exist, it navigate to that sheet else it create a new sheet. + * @returns {void} + */ + gotoPage(sheetIdx: number, newSheet: boolean): void; + + /** This method is used to hide the entire columns from the specified range (startCol, endCol) in Spreadsheet. + * @param {number} Index of the start column. + * @param {number} Optional. Index of the end column. + * @returns {void} + */ + hideColumn(startCol: number, endCol: number): void; + + /** This method is used to hide the formula bar in Spreadsheet. + * @returns {void} + */ + hideFormulaBar(): void; + + /** This method is used to hide the rows, based on the specified row index in Spreadsheet. + * @param {number} Index of the start row. + * @param {number} Optional. Index of the end row. + * @returns {void} + */ + hideRow(startRow: number, endRow: number): void; + + /** This method is used to hide the sheet based on the specified sheetIndex or sheet name in the Spreadsheet. + * @param {string|number} Pass the sheet name or index that you want to hide. + * @returns {void} + */ + hideSheet(sheetIdx: string | number): void; + + /** This method is used to hide the displayed waiting pop-up in Spreadsheet. + * @returns {void} + */ + hideWaitingPopUp(): void; + + /** This method is used to insert a column before the active cell's column in the Spreadsheet. + * @param {number} Pass start column. + * @param {number} Pass end column. + * @returns {void} + */ + insertEntireColumn(startCol: number, endCol: number): void; + + /** This method is used to insert a row before the active cell's row in the Spreadsheet. + * @param {number} Pass start row. + * @param {number} Pass end row. + * @returns {void} + */ + insertEntireRow(startRow: number, endRow: number): void; + + /** This method is used to insert a new sheet to the left of the current active sheet. + * @returns {void} + */ + insertSheet(): void; + + /** This method is used to insert cells in the selected or specified range and shift remaining cells to bottom. + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ + insertShiftBottom(startCell: any, endCell: any): void; + + /** This method is used to insert cells in the selected or specified range and shift remaining cells to right. + * @param {any} Row index and column index of the start cell. + * @param {any} Row index and column index of the end cell. + * @returns {void} + */ + insertShiftRight(startCell: any, endCell: any): void; + + /** This method is used to import excel file manually by using form data. + * @param {any} Pass the form data object to import files manually. + * @returns {void} + */ + import(importRequest: any): void; + + /** This method is used to load JSON data in Spreadsheet. + * @param {any} Pass the response that you want to load. + * @returns {void} + */ + loadFromJSON(response: any): void; + + /** This method is used to lock/unlock the range of cells in active sheet. Lock cells are activated only after the sheet is protected. Once the sheet is protected it is unable to lock/unlock cells. + * @param {string|Array} Pass the alpha range cells or array range of cells. + * @param {string} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} locked cells are unlocked. + * @returns {void} + */ + lockCells(range: string | any[], isLocked?: string): void; + + /** This method is used to merge cells by across in the Spreadsheet. + * @param {string} Optional. To pass the cell range or selected cells are process. + * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. + * @returns {void} + */ + mergeAcrossCells(range?: string, alertStatus?: boolean): void; + + /** This method is used to merge the selected cells in the Spreadsheet. + * @param {string|Array} Optional. To pass the cell range or selected cells are process. + * @param {boolean} Optional. If pass {{'`true`' | markdownify}} it does not show alert. + * @returns {void} + */ + mergeCells(range?: string | any[], alertStatus?: boolean): void; + + /** This method is used to select a cell or range in the Spreadsheet. + * @param {any} Pass the start cell to perform selection. + * @param {any} Pass the end cell to perform selection. + * @returns {void} + */ + performSelection(startCell: any, endCell: any): void; + + /** This method is used to protect or unprotect active sheet. + * @param {boolean} Optional. By default is {{'`true`' | markdownify}}. If it is {{'`false`' | markdownify}} active sheet is unprotected. + * @returns {void} + */ + protectSheet(isProtected?: boolean): void; + + /** This method is used to refresh the content in Spreadsheet. + * @param {number} Pass the index of the sheet. + * @returns {void} + */ + refreshContent(sheetIdx: number): void; + + /** This method is used to refresh the Spreadsheet. + * @returns {void} + */ + refreshSpreadsheet(): void; + + /** This method is used to remove custom formulae in Spreadsheet. + * @param {string} Pass the name of the formula. + * @param {string} Pass the name of the function. + * @returns {void} + */ + removeCustomFormula(formulaName: string, functionName: string): void; + + /** This method is used to remove the hyperlink from selected cells of current sheet. + * @param {string} Hyperlink remove from the specified range. + * @param {boolean} Optional. If it is {{'`true`' | markdownify}}, It will clear link only not format. + * @param {boolean} Optional. Pass the status to perform undo and redo operations. + * @param {any} Optional. Pass the cells that you want to remove hyperlink. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows. + * @returns {void} + */ + removeHyperlink(range: string, isClearHLink?: boolean, status?: boolean, cells?: any, skipHiddenRow?: boolean): void; + + /** This method is used to remove the range data and its defined rangeSettings property based on the specified range name. + * @param {string} Pass the defined rangeSetting property name. + * @returns {void} + */ + removeRange(rangeName: string): void; + + /** This method is used to remove the readonly option for the specified range. + * @param {string|Array} Pass the range. + * @returns {void} + */ + removeReadOnly(range?: string | any[]): void; + + /** This method is used to save JSON data in Spreadsheet. + * @returns {any} + */ + saveAsJSON(): any; + + /** This method is used to save batch changes in Spreadsheet. + * @param {number} Pass the sheet index for Spreadsheet. + * @returns {void} + */ + saveBatchChanges(sheetIdx: number): void; + + /** This method is used to set the active cell in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @param {number} Pass the index of the sheet. + * @returns {void} + */ + setActiveCell(rowIdx: number, colIdx: number, sheetIdx: number): void; + + /** This method is used to set active sheet index for the Spreadsheet. + * @param {number} Pass the active sheet index for Spreadsheet. + * @returns {void} + */ + setActiveSheetIndex(sheetIdx: number): void; + + /** This method is used to set border for the specified range of cells in the Spreadsheet. + * @param {any} Pass the border properties that you want to set. + * @param {string} Optional. If range is specified, it will set border for the specified range else it will use the selected range. + * @returns {void} + */ + setBorder(property: any, range?: string): void; + + /** This method is used to set the height for the rows in the Spreadsheet. + * @param {Array|any} Pass the row index and height of the rows. + * @returns {void} + */ + setHeightToRows(heightColl: any[] | any): void; + + /** This method is used to set the hyperlink in selected cells of the current sheet. + * @param {string|Array} If range is specified, it will set the hyperlink in range of the cells. + * @param {any} Pass cellAddress or webAddress + * @param {number} If we pass cellAddress then which sheet to be navigate in the applied link. + * @returns {void} + */ + setHyperlink(range: string | any[], link: any, sheetIdx: number): void; + + /** This method is used to set the readonly option for the specified range. + * @param {string|Array} Pass the range. + * @returns {void} + */ + setReadOnly(range?: string | any[]): void; + + /** This method is used to set the focus to the Spreadsheet. + * @returns {void} + */ + setSheetFocus(): void; + + /** This method is used to set the width for the columns in the Spreadsheet. + * @param {Array|any} Pass the column index and width of the columns. + * @returns {void} + */ + setWidthToColumns(widthColl: any[] | any): void; + + /** This method is used to rename the active sheet. + * @param {string} Pass the sheet name that you want to change the current active sheet name. + * @returns {void} + */ + sheetRename(sheetName: string): void; + + /** This method is used to display the activationPanel for the specified range name. + * @param {string} Pass the range name that you want to display the activation panel. + * @returns {void} + */ + showActivationPanel(rangeName: string): void; + + /** This method is used to show the hidden columns within the specified range in the Spreadsheet. + * @param {number} Index of the start column. + * @param {number} Optional. Index of the end column. + * @returns {void} + */ + showColumn(startColIdx: number, endColIdx: number): void; + + /** This method is used to show the formula bar in Spreadsheet. + * @returns {void} + */ + showFormulaBar(): void; + + /** This method is used to show/hide gridlines in active sheet in the Spreadsheet. + * @param {boolean} Pass {{'`true`' | markdownify}} to show the gridlines + * @returns {void} + */ + showGridlines(status: boolean): void; + + /** This method is used to show/hide the headers in active sheet in the Spreadsheet. + * @param {boolean} Pass {{'`true`' | markdownify}} to show the sheet headers. + * @returns {void} + */ + showHeadings(startRow: boolean): void; + + /** This method is used to show/hide pager in the Spreadsheet. + * @param {boolean} Pass {{'`true`' | markdownify}} to show pager. + * @returns {void} + */ + showPager(status: boolean): void; + + /** This method is used to show the hidden rows in the specified range in the Spreadsheet. + * @param {number} Index of the start row. + * @param {number} Optional. Index of the end row. + * @returns {void} + */ + showRow(startRow: number, endRow: number): void; + + /** This method is used to show waiting pop-up in Spreadsheet. + * @returns {void} + */ + showWaitingPopUp(): void; + + /** This method is used to unhide the sheet based on specified sheet name or sheet index. + * @param {string|number} Pass the sheet name or index that you want to unhide. + * @returns {void} + */ + unhideSheet(sheetInfo: string | number): void; + + /** This method is used to unmerge the selected range of cells in the Spreadsheet. + * @param {string} Optional. If the range is specified, then it will un merge the specified range else it will use the current selected range. + * @returns {void} + */ + unmergeCells(range?: string): void; + + /** This method is used to unwrap the selected range of cells in the Spreadsheet. + * @param {Array|string} Optional. If the range is specified, then it will update unwrap in the specified range else it will use the current selected range. + * @returns {void} + */ + unWrapText(range?: any[] | string): void; + + /** This method is used to update the data for the specified range of cells in the Spreadsheet. + * @param {any} Pass the cells data that you want to update. + * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. + * @returns {void} + */ + updateData(data: any, range?: any[] | string): void; + + /** This method is used to update the formula bar in the Spreadsheet. + * @returns {void} + */ + updateFormulaBar(): void; + + /** This method is used to update the range of cells based on the specified settings which we want to update in the Spreadsheet. + * @param {number} Pass the sheet index that you want to update. + * @param {any} Pass the dataSource, startCell and showHeader values as settings. + * @returns {void} + */ + updateRange(sheetIdx: number, settings: any): void; + + /** This method is used to update the details for custom undo and redo operations. + * @param {any} Pass the details to update undo and redo collection + * @returns {void} + */ + updateUndoRedoCollection(details: any): void; + + /** This method is used to update the unique data for the specified range of cells in Spreadsheet. + * @param {any} Pass the data that you want to update in the particular range + * @param {Array|string} Optional. If range is specified, it will update data for the specified range else it will use the current selected range. + * @param {any} Optional. It specifies whether to skip element processing or not. + * @returns {void} + */ + updateUniqueData(data: any, range?: any[] | string, skipCell?: any): void; + + /** This method is used to wrap the selected range of cells in the Spreadsheet. + * @param {Array|string} Optional. If the range is specified, then it will update wrap in the specified range else it will use the current selected range. + * @returns {void} + */ + wrapText(range?: any[] | string): void; + + XLCellType: Spreadsheet.XLCellType; + + XLCFormat: Spreadsheet.XLCFormat; + + XLChart: Spreadsheet.XLChart; + + XLClipboard: Spreadsheet.XLClipboard; + + XLComment: Spreadsheet.XLComment; + + XLCMenu: Spreadsheet.XLCMenu; + + XLDragDrop: Spreadsheet.XLDragDrop; + + XLDragFill: Spreadsheet.XLDragFill; + + XLEdit: Spreadsheet.XLEdit; + + XLExport: Spreadsheet.XLExport; /** This method is used to get the export properties in the Spreadsheet. * @returns {any} */ getExportProps(): any; - } - export interface XLFilter { + XLFilter: Spreadsheet.XLFilter; - /** This method is used to clear the filter in filtered columns in the Spreadsheet. - * @returns {void} - */ - clearFilter(): void; + XLFormat: Spreadsheet.XLFormat; - /** This method is used to apply filter for the selected range of cells in the Spreadsheet. - * @param {string|Array} Pass the range of the selected cells. - * @returns {void} - */ - filter(range: string | any[]): void; - - /** This method is used to apply filter for the column by active cell's value in the Spreadsheet. - * @returns {void} - */ - filterByActiveCell(): void; - } - - export interface XLFormat { - - /** This method is used to convert table range to normal range. - * @param {any} Pass the sheet index and table id. - * @returns {void} - */ - convertToRange(options: any): void; - - /** This method is used to create a table for the selected range of cells in the Spreadsheet. - * @param {any} Pass the table object. - * @param {string|Array} Optional. If the range is specified, then it will create table in the specified range else it will use the current selected range. - * @returns {string} - */ - createTable(tableObject: any, range: string | any[]): string; - - /** This method is used to set format style and values in a cell or range of cells. - * @param {any} Pass the formatObject which contains style, type, format, groupSeparator and decimalPlaces. - * @param {string} Pass the range to format cells. - * @returns {void} - */ - format(formatObj: any, range: string): void; - - /** This method is used to remove the style in the specified range. - * @param {Array|string} Pass the cell range . - * @param {any} Optional. Pass the options for which the style gets removed. - * @returns {void} - */ - removeStyle(range: any[] | string, options: any): void; - - /** This method is used to remove table with specified tableId in the Spreadsheet. - * @param {number} Pass the tableId that you want to remove. - * @returns {void} - */ - removeTable(tableId: number): void; - - /** This method is used to update the decimal places for numeric value for the selected range of cells in the Spreadsheet. - * @param {string} Pass the decimal places type in increment/decrement. - * @param {string|Array} Pass the range. - * @returns {void} - */ - updateDecimalPlaces(type: string, range: string | any[]): void; - - /** This method is used to update the format for the selected range of cells in the Spreadsheet. - * @param {any} Pass the format object that you want to update. - * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. - * @returns {void} - */ - updateFormat(formatObj: any, range: any[]): void; - - /** This method is used to update the unique format for selected range of cells in the Spreadsheet. - * @param {string} Pass the unique format class. - * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. - * @returns {void} - */ - updateUniqueFormat(formatClass: string, range: any[]): void; - } - - export interface XLFreeze { - - /** This method is used to freeze columns upto the specified column index in the Spreadsheet. - * @param {number} Index of the column to be freeze. - * @returns {void} - */ - freezeColumns(colIdx: number): void; - - /** This method is used to freeze the first column in the Spreadsheet. - * @returns {void} - */ - freezeLeftColumn(): void; - - /** This method is used to freeze rows and columns before the specified cell in the Spreadsheet. - * @param {number} Index of the row to be freeze. - * @param {number} Index of the column to be freeze. - * @returns {void} - */ - freezePanes(rowIdx: number, colIdx: number): void; - - /** This method is used to freeze rows upto the specified row index in the Spreadsheet. - * @param {number} Index of the row to be freeze. - * @returns {void} - */ - freezeRows(rowIdx: number): void; - - /** This method is used to freeze the top row in the Spreadsheet. - * @returns {void} - */ - freezeTopRow(): void; + XLFreeze: Spreadsheet.XLFreeze; /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. * @returns {void} */ unfreezePanes(): void; + + XLPivot: Spreadsheet.XLPivot; + + XLPrint: Spreadsheet.XLPrint; + + XLResize: Spreadsheet.XLResize; + + XLRibbon: Spreadsheet.XLRibbon; + + XLSearch: Spreadsheet.XLSearch; + + XLSelection: Spreadsheet.XLSelection; + + XLShape: Spreadsheet.XLShape; + + XLSort: Spreadsheet.XLSort; + + XLValidate: Spreadsheet.XLValidate; + } + export namespace Spreadsheet { + + export interface XLCellType { + + /** This method is used to set a cell type from the specified range of cells in the spreadsheet. + * @param {string} Pass the range where you want apply cell type. + * @param {any} Pass type of cell type and its settings. + * @param {number} Optional. Pass sheet index. + * @returns {void} + */ + addCellTypes(range: string, settings: any, sheetIdx: number): void; + + /** This method is used to remove cell type from the specified range of cells in the Spreadsheet. + * @param {string|Array} Pass the range where you want remove cell type. + * @param {number} Optional. Pass sheet index. + * @returns {void} + */ + removeCellTypes(range: string | any[], sheetIdx: number): void; + } + + export interface XLCFormat { + + /** This method is used to clear the applied conditional formatting rules in the Spreadsheet. + * @param {Array|string} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + clearCF(range: any[] | string): void; + + /** This method is used to get the applied conditional formatting rules as array of objects based on the specified row Index and column Index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the column index. + * @returns {Array} + */ + getCFRule(rowIdx: number, colIdx: number): any[]; + + /** This method is used to set the conditional formatting rule in the Spreadsheet. + * @param {any} Pass the rule to set. + * @returns {void} + */ + setCFRule(rule: any): void; + } + + export interface XLChart { + + /** This method is used to change the theme of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {ej.datavisualization.Chart.Theme} Pass the chart theme which want to update. + * @returns {void} + */ + changeTheme(chartId: string, theme: ej.datavisualization.Chart.Theme): void; + + /** This method is used to change the type of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {any} Pass the chart type. + * @returns {void} + */ + changeType(chartId: string, option: any): void; + + /** This method is used to change the data range of the chart in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {string} X axis range of chart data. + * @param {string} Y axis range of chart data. + * @param {string} Legend range of chart data. + * @returns {void} + */ + changeDataRange(chartId: string, xRange: string, yRange: string, lRange: string): void; + + /** This method is used to create a chart for specified range in Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will create chart for the specified range else it will use the current selected range. + * @param {any} Optional. To pass the type of chart and chart name. + * @returns {void} + */ + createChart(range: string | any[], options: any): void; + + /** This method is used to refresh the chart in the Spreadsheet. + * @param {string} To pass the chart Id. + * @param {any} To pass the type of chart and chart name. + * @returns {void} + */ + refreshChart(id: string, options: any): void; + + /** This method is used to resize the chart of specified id in the Spreadsheet. + * @param {string} To pass the chart id. + * @param {number} To pass height value. + * @param {number} To pass the width value. + * @returns {void} + */ + resizeChart(id: string, height: number, width: number): void; + + /** This method is used to update the chart element, such as axes, titles, data labels, grid lines and legends in the Spreadsheet. + * @param {string} Pass the chart id. + * @param {ej.Spreadsheet.ChartProperties} Pass chart element value which you want to update. + * @returns {void} + */ + updateChartElement(chartId: string, value: ej.Spreadsheet.ChartProperties): void; + + /** This method is used switch row to columns and vice versa for chart in the Spreadsheet. So that the data is displayed in the chart the way you want. + * @param {string} Pass the chart id. + * @returns {void} + */ + switchRowColumn(chartId: string): void; + } + + export interface XLClipboard { + + /** This method is used to copy the selected cells in the Spreadsheet. + * @returns {void} + */ + copy(): void; + + /** This method is used to cut the selected cells in the Spreadsheet. + * @returns {void} + */ + cut(): void; + + /** This method is used to paste the cut or copied cells data in the Spreadsheet. + * @returns {void} + */ + paste(): void; + } + + export interface XLComment { + + /** This method is used to delete the comment in the specified range in Spreadsheet. + * @param {Array|string} Optional. If range is specified, it will delete comments for the specified range else it will use the current selected range. + * @param {number} Optional. If sheetIdx is specified, it will delete comment in specified sheet else it will use active sheet. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}}, if you want to skip the hidden rows data. + * @returns {void} + */ + deleteComment(range: any[] | string, sheetIdx: number, skipHiddenRow: boolean): void; + + /** This method is used to edit the comment in the target Cell in Spreadsheet. + * @param {any} Optional. Pass the row index and column index of the cell which contains comment. + * @returns {void} + */ + editComment(targetCell: any): void; + + /** This method is used to find the next comment from the active cell in Spreadsheet. + * @returns {boolean} + */ + findNextComment(): boolean; + + /** This method is used to find the previous comment from the active cell in Spreadsheet. + * @returns {boolean} + */ + findPrevComment(): boolean; + + /** This method is used to get comment data for the specified cell. + * @param {HTMLElement} Pass the DOM element to get comment data as object. + * @returns {any} + */ + getComment(cell: HTMLElement): any; + + /** This method is used to set new comment in Spreadsheet. + * @param {string|Array} Optional. If we pass the range comment will set in the range otherwise it will set with selected cells. + * @param {string} Optional. Pass the comment data. + * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show comment in edit mode + * @param {boolean} Optional. Pass {{'`true`' | markdownify}} to show the user name + * @returns {void} + */ + setComment(range: string | any[], data: string, showEditPanel: boolean, showUserName: boolean): void; + + /** This method is used to show all the comments in the Spreadsheet. + * @returns {void} + */ + showAllComments(): void; + + /** This method is used to show or hide the specific comment in the Spreadsheet. + * @param {HTMLElement} Optional. Pass the cell DOM element to show or hide its comment. If pass empty argument active cell will processed. + * @returns {void} + */ + showHideComment(targetCell: HTMLElement): void; + } + + export interface XLCMenu { + + /** This method is used to dynamically add items in the context menu. + * @param {string} Specifies the context menu type in which the item to be inserted. + * @param {Array} Pass the items to be inserted + * @param {string} Specifies the type of operation to be performed + * @returns {void} + */ + addItem(target: string, itemColl: any[], operation: string): void; + + /** This method is used to change data source in the context menu. + * @param {string} Specifies the context menu type to bind the data source. + * @param {Array} Pass the data source to be binded + * @returns {void} + */ + changeDataSource(target: string, data: any[]): void; + + /** This method is used to disable the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be disabled. + * @param {Array} Specifies the Menu Item id collection to be disabled + * @returns {void} + */ + disableItem(target: string, idxColl: any[]): void; + + /** This method is used to enable the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be enabled. + * @param {Array} Specifies the Menu Item id collection to be enabled + * @returns {void} + */ + enableItem(target: string, idxColl: any[]): void; + + /** This method is used to remove the items in the context menu. + * @param {string} Specifies the context menu type in which the item to be removed. + * @param {Array} Specifies the Menu Item id collection to be removed + * @returns {void} + */ + removeItem(target: string, idxColl: any[]): void; + } + + export interface XLDragDrop { + + /** This method is used to drag and drop the selected range of cells to destination range in the Spreadsheet. + * @param {any|Array} Pass the source range to perform drag and drop. + * @param {any|Array} Pass the destination range to drop the dragged cells. + * @returns {void} + */ + moveRangeTo(sourceRange: any | any[], destinationRange: any | any[]): void; + } + + export interface XLDragFill { + + /** This method is used to perform auto fill in Spreadsheet. + * @param {any} Pass the options to perform auto fill in Spreadsheet. + * @returns {void} + */ + autoFill(options: any): void; + + /** This method is used to hide the auto fill element in the Spreadsheet. + * @returns {void} + */ + hideAutoFillElement(): void; + + /** This method is used to hide the auto fill options in the Spreadsheet. + * @returns {void} + */ + hideAutoFillOptions(): void; + + /** This method is used to set position of the auto fill element in the Spreadsheet. + * @param {boolean} Pass the isDragFill option as {{'`boolean`' | markdownify}} value to show auto fill options in Spreadsheet. + * @returns {void} + */ + positionAutoFillElement(isDragFill: boolean): void; + } + + export interface XLEdit { + + /** This method is used to calculate formulas in the specified sheet. + * @param {number} Optional. If sheet index is specified, then it will calculate formulas in the specified sheet only else it will calculate formulas in all sheets. + * @returns {void} + */ + calcNow(sheetIdx: number): void; + + /** This method is used to edit a particular cell based on the row index and column index in the Spreadsheet. + * @param {number} Pass the row index to edit particular cell. + * @param {number} Pass the column index to edit particular cell. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to maintain previous cell value. + * @returns {void} + */ + editCell(rowIdx: number, colIdx: number, oldData: boolean): void; + + /** This method is used to get the property value of particular cell, based on the row and column index in the Spreadsheet. + * @param {number} Pass the row index to get the property value. + * @param {number} Pass the column index to get the property value. + * @param {string} Optional. Pass the property name that you want("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", "picture", + * "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", "comment", "formatStr", + * "decimalPlaces", "cellType"). + * @param {number} Optional. Pass the index of the sheet. + * @returns {any|string|Array} + */ + getPropertyValue(rowIdx: number, colIdx: number, prop: string, sheetIdx: number): any | string | any[]; + + /** This method is used to get the property value in specified cell in Spreadsheet. + * @param {HTMLElement} Pass the cell element to get property value. + * @param {string} Pass the property name that you want ("value", "value2", "type", "cFormatRule", "range", "thousandSeparator", "rule", "format", "border", + * "picture", "chart", "calcValue", "align", "hyperlink", "formats", "borders", "tformats", "tborders", "isFilterHeader", "filterState", "tableName", + * "comment", "formatStr", "decimalPlaces", "cellType"). + * @param {number} Pass the index of sheet. + * @returns {any|string|Array} + */ + getPropertyValueByElem(elem: HTMLElement, property: string, sheetIdx: number): any | string | any[]; + + /** This method is used to save the edited cell value in the Spreadsheet. + * @returns {void} + */ + saveCell(): void; + + /** This method is used to update a particular cell value in the Spreadsheet. + * @param {any} Pass row index and column index of the cell. + * @param {string|number} Pass the cell value. + * @returns {void} + */ + updateCell(cell: any, value: string | number): void; + + /** This method is used to update a particular cell value and its format in the Spreadsheet. + * @param {any} Pass row index and column index of the cell. + * @param {string|number} Pass the cell value. + * @param {string} Pass the class name to update format. + * @param {number} Pass sheet index. + * @returns {void} + */ + updateCellValue(cellIdx: any, val: string | number, formatClass: string, sheetIdx: number): void; + } + + export interface XLExport { + + /** This method is used to save the sheet data as Excel ,CSV or PDF document (.xls, .xlsx .csv, .pdf) in Spreadsheet. + * @param {string} Pass the export type that you want. + * @returns {void} + */ + export(type: string): void; + + /** This method is used to get the export properties in the Spreadsheet. + * @returns {any} + */ + getExportProps(): any; + } + + export interface XLFilter { + + /** This method is used to clear the filter in filtered columns in the Spreadsheet. + * @returns {void} + */ + clearFilter(): void; + + /** This method is used to apply filter for the selected range of cells in the Spreadsheet. + * @param {string|Array} Pass the range of the selected cells. + * @returns {void} + */ + filter(range: string | any[]): void; + + /** This method is used to apply filter for the column by active cell's value in the Spreadsheet. + * @returns {void} + */ + filterByActiveCell(): void; + } + + export interface XLFormat { + + /** This method is used to convert table range to normal range. + * @param {any} Pass the sheet index and table id. + * @returns {void} + */ + convertToRange(options: any): void; + + /** This method is used to create a table for the selected range of cells in the Spreadsheet. + * @param {any} Pass the table object. + * @param {string|Array} Optional. If the range is specified, then it will create table in the specified range else it will use the current selected range. + * @returns {string} + */ + createTable(tableObject: any, range: string | any[]): string; + + /** This method is used to set format style and values in a cell or range of cells. + * @param {any} Pass the formatObject which contains style, type, format, groupSeparator and decimalPlaces. + * @param {string} Pass the range to format cells. + * @returns {void} + */ + format(formatObj: any, range: string): void; + + /** This method is used to remove the style in the specified range. + * @param {Array|string} Pass the cell range . + * @param {any} Optional. Pass the options for which the style gets removed. + * @returns {void} + */ + removeStyle(range: any[] | string, options: any): void; + + /** This method is used to remove table with specified tableId in the Spreadsheet. + * @param {number} Pass the tableId that you want to remove. + * @returns {void} + */ + removeTable(tableId: number): void; + + /** This method is used to update the decimal places for numeric value for the selected range of cells in the Spreadsheet. + * @param {string} Pass the decimal places type in increment/decrement. + * @param {string|Array} Pass the range. + * @returns {void} + */ + updateDecimalPlaces(type: string, range: string | any[]): void; + + /** This method is used to update the format for the selected range of cells in the Spreadsheet. + * @param {any} Pass the format object that you want to update. + * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. + * @returns {void} + */ + updateFormat(formatObj: any, range: any[]): void; + + /** This method is used to update the unique format for selected range of cells in the Spreadsheet. + * @param {string} Pass the unique format class. + * @param {Array} Optional. If the range is specified, then it will update format in the specified range else it will use the current selected range. + * @returns {void} + */ + updateUniqueFormat(formatClass: string, range: any[]): void; + } + + export interface XLFreeze { + + /** This method is used to freeze columns upto the specified column index in the Spreadsheet. + * @param {number} Index of the column to be freeze. + * @returns {void} + */ + freezeColumns(colIdx: number): void; + + /** This method is used to freeze the first column in the Spreadsheet. + * @returns {void} + */ + freezeLeftColumn(): void; + + /** This method is used to freeze rows and columns before the specified cell in the Spreadsheet. + * @param {number} Index of the row to be freeze. + * @param {number} Index of the column to be freeze. + * @returns {void} + */ + freezePanes(rowIdx: number, colIdx: number): void; + + /** This method is used to freeze rows upto the specified row index in the Spreadsheet. + * @param {number} Index of the row to be freeze. + * @returns {void} + */ + freezeRows(rowIdx: number): void; + + /** This method is used to freeze the top row in the Spreadsheet. + * @returns {void} + */ + freezeTopRow(): void; + + /** This method is used to unfreeze the frozen rows and columns in the Spreadsheet. + * @returns {void} + */ + unfreezePanes(): void; + } + + export interface XLPivot { + + /** This property is used to clear the pivot table list in Spreadsheet. + * @param {string} Pass the name of the pivot table. + * @returns {void} + */ + clearPivotFieldList(pivotName: string): void; + + /** This method is used to create pivot table. + * @param {string} It specifies the range for which the pivot table is created. + * @param {string} It specifies the location in which the pivot table is created. + * @param {string} It specifies the name of the pivot table. + * @param {any} Pass the pivot table settings. + * @param {any} Pass the pivot range, sheet index, address and data source . + * @returns {string} + */ + createPivotTable(range: string, location: string, name: string, settings: any, pvt: any): string; + + /** This method is used to delete the pivot table which is selected. + * @param {string} Pass the name of the pivot table. + * @returns {void} + */ + deletePivotTable(pivotName: string): void; + + /** This method is used to refresh data in pivot table. + * @param {string} Optional. Pass the name of the pivot table. + * @param {number} Optional. Pass the index of the sheet. + * @returns {void} + */ + refreshDataSource(name: string, sheetIdx: number): void; + } + + export interface XLPrint { + + /** This method is used to print the selected contents in the Spreadsheet. + * @returns {void} + */ + printSelection(): void; + + /** This method is used to print the entire contents in the active sheet. + * @returns {void} + */ + printSheet(): void; + } + + export interface XLResize { + + /** This method is used to fit the height of rows in the Spreadsheet. + * @param {Array} Optional. Pass row index collection that you want to fit its height. + * @returns {void} + */ + fitHeight(rowIndexes: any[]): void; + + /** This method is used to fit the width of columns in the Spreadsheet. + * @param {Array} Optional. Pass column index collection that you want to fit its width. + * @returns {void} + */ + fitWidth(colIndexes: any[]): void; + + /** This method is used to get the column width of the specified column index in the Spreadsheet. + * @param {number} Pass the column index. + * @returns {number} + */ + getColWidth(colIdx: number): number; + + /** This method is used to get the row height of the specified row index in the Spreadsheet. + * @param {number} Pass the row index which you want to find its height. + * @returns {number} + */ + getRowHeight(rowIdx: number): number; + + /** This method is used to set the column width of the specified column index in the Spreadsheet. + * @param {number} Pass the column index. + * @param {number} Pass the width value that you want to set. + * @returns {void} + */ + setColWidth(colIdx: number, size: number): void; + + /** This method is used to set the row height of the specified row index in the Spreadsheet. + * @param {number} Pass the row index. + * @param {number} Pass the height value that you want to set. + * @returns {void} + */ + setRowHeight(rowIdx: number, size: number): void; + } + + export interface XLRibbon { + + /** This method is used to add a new item in the backstage. + * @param {any} Specifies the item to be added in the backstage. + * @param {number} pass the index of the item to be added in the backstage. + * @returns {void} + */ + addBackStageItem(pageItem: any, index: number): void; + + /** This method is used to dynamically add the contextual tabs in the ribbon. + * @param {any} Specifies the contextual tab set object. + * @param {number} pass the index of the contextual tab. + * @returns {void} + */ + addContextualTabs(contextualTabSet: any, index: number): void; + + /** This method is used to dynamically add the menu item in the file menu. + * @param {Array} Specifies the item to be added + * @param {number} pass the index of the menu item. + * @returns {void} + */ + addMenuItem(item: any[], index: number): void; + + /** This method is used to add a new name in the Spreadsheet name manager. + * @param {string} Pass the name that you want to define in name manager. + * @param {string} Pass the cell reference. + * @param {string} Optional. Pass comment, if you want. + * @param {number} Optional. Pass the sheet index. + * @returns {void} + */ + addNamedRange(name: string, refersTo: string, comment: string, sheetIdx: number): void; + + /** This method is used to dynamically add the tab in the ribbon. + * @param {Array} Specifies the text to be displayed in the tab. + * @param {number} pass the groups to be displayed in the ribbon tab. + * @param {number} pass the index of the tab. + * @returns {void} + */ + addTab(tabText: any[], ribbonGroups: number, index: number): void; + + /** This method is used to dynamically add the tab group in the ribbon. + * @param {number} Specifies the ribbon tab index. + * @param {any} pass the groups to be displayed in the ribbon tab. + * @param {number} pass the index of the ribbon group. + * @returns {void} + */ + addTabGroup(tabIndex: number, tabGroup: any, groupIndex: number): void; + + /** This method is used to insert the few type (SUM, MAX, MIN, AVG, COUNT) of formulas in the selected range of cells in the Spreadsheet. + * @param {string} To pass the type("SUM","MAX","MIN","AVG","COUNT"). + * @param {string|Array} If range is specified, it will apply auto sum for the specified range else it will use the current selected range. + * @returns {void} + */ + autoSum(type: string, range: string | any[]): void; + + /** This method is used to hide the file menu in the ribbon tab. + * @returns {void} + */ + hideMenu(): void; + + /** This method is used to remove the item from the backstage in the spreadsheet. + * @param {number} Specifies the index of the item to be removed from backstage. + * @returns {void} + */ + removeBackStageItem(index: number): void; + + /** This method is used to remove the menu item form file menu in spreadsheet. + * @param {number} Specifies the index of the item to be removed from the file menu. + * @returns {void} + */ + removeMenuItem(index: number): void; + + /** This method is used to delete the defined name in the Spreadsheet name manager. + * @param {string} Pass the defined name that you want to remove from name manager. + * @returns {void} + */ + removeNamedRange(name: string): void; + + /** This method is used to remove the tab form ribbon in the spreadsheet. + * @param {number} Specifies the index of the tab to be removed from the ribbon. + * @param {boolean} pass the boolean value to remove the tab from ribbon + * @returns {void} + */ + removeTab(index: number, isRemoveMenu: boolean): void; + + /** This method is used to remove the tab group form ribbon in the spreadsheet. + * @param {number} Specifies the index of the tab group to be removed from the ribbon. + * @param {string} Specifies the text to be displayed in the tab group + * @returns {void} + */ + removeTabGroup(tabIndex: number, groupText: string): void; + + /** This method is used to show the file menu in the ribbon tab. + * @returns {void} + */ + showMenu(): void; + + /** This method is used to update the menu item in the file menu. + * @param {any} Specifies the menu item to be updated in the ribbon + * @param {number} pass the index of the item to be updated + * @returns {void} + */ + updateMenuItem(item: any, index: number): void; + + /** This method is used to update the ribbon icons in the Spreadsheet. + * @returns {void} + */ + updateRibbonIcons(): void; + } + + export interface XLSearch { + + /** This method is used to find and replace all data by workbook in the Spreadsheet. + * @param {string} Pass the search data. + * @param {string} Pass the replace data. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. + * @returns {void} + */ + replaceAllByBook(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; + + /** This method is used to find and replace all data by sheet in Spreadsheet. + * @param {string} Pass the search data. + * @param {string} Pass the replace data. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. + * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. + * @returns {void} + */ + replaceAllBySheet(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; + } + + export interface XLSelection { + + /** This method is used to clear the selection of the active sheet in the Spreadsheet. + * @returns {void} + */ + clearAll(): void; + + /** This method is used to get the selected cells element based on specified sheet index in the Spreadsheet. + * @param {number} Pass the sheet index to get the cells element. + * @returns {HTMLElement} + */ + getSelectedCells(sheetIdx: number): HTMLElement; + + /** This method is used to refresh the selection in the Spreadsheet. + * @param {Array|string} Optional. Pass range to refresh selection. + * @returns {void} + */ + refreshSelection(range: any[] | string): void; + + /** This method is used to select a single column in the Spreadsheet. + * @param {number} Pass the column index value. + * @returns {void} + */ + selectColumn(colIdx: number): void; + + /** This method is used to select entire columns in a specified range (start index and end index) in the Spreadsheet. + * @param {number} Pass the column start index. + * @param {number} Pass the column end index. + * @returns {void} + */ + selectColumns(startIdx: number, endIdx: number): void; + + /** This method is used to select the specified range of cells in the Spreadsheet. + * @param {string} Pass range which want to select. + * @returns {void} + */ + selectRange(range: string): void; + + /** This method is used to select a single row in the Spreadsheet. + * @param {number} Pass the row index value. + * @returns {void} + */ + selectRow(rowIdx: number): void; + + /** This method is used to select entire rows in a specified range (start index and end index) in the Spreadsheet. + * @param {number} Pass the start row index. + * @param {number} Pass the end row index. + * @returns {void} + */ + selectRows(startIdx: number, endIdx: number): void; + + /** This method is used to select all cells in active sheet. + * @returns {void} + */ + selectSheet(): void; + } + + export interface XLShape { + + /** This method is used to set a picture in the Spreadsheet. + * @param {string} Pass the range of the cell. + * @param {string} Pass the path of the specified image. + * @param {number} Optional. Pass the width of the image that you want to set. + * @param {number} Optional. Pass the height of the image that you want to set. + * @param {number} Optional. Pass the top of the image that you want to set. + * @param {number} Optional. Pass the left of the image that you want to set. + * @returns {string} + */ + setPicture(range: string, url: string, width: number, height: number, top: number, left: number): string; + } + + export interface XLSort { + + /** This method is used to sort a particular range of cells based on its cell or font color in the Spreadsheet. + * @param {string} Pass {{'`PutCellColor`' | markdownify}} to sort by cell color or {{'`PutFontColor`' | markdownify}} for sort by font color. + * @param {any} Pass the HEX color code to sort. + * @param {string} Pass the range + * @returns {void} + */ + sortByColor(operation: string, color: any, range: string): void; + + /** This method is used to sort a particular range of cells based on its values in the Spreadsheet. + * @param {Array|string} Pass the range to sort. + * @param {string} Pass the column name. + * @param {any} Pass the direction to sort (ascending or descending). + * @returns {boolean} + */ + sortByRange(range: any[] | string, columnName: string, direction: any): boolean; + } + + export interface XLValidate { + + /** This method is used to apply data validation rules in a selected range of cells based on the defined condition in the Spreadsheet. + * @param {string|Array} If range is specified, it will apply rules for the specified range else it will use the current selected range. + * @param {Array} Pass the validation condition, value1 and value2. + * @param {string} Pass the data type. + * @param {boolean} Pass {{'`true`' | markdownify}} if you ignore blank values. + * @param {boolean} Pass {{'`true`' | markdownify}} if you want to show an error alert. + * @returns {void} + */ + applyDVRules(range: string | any[], values: any[], type: string, required: boolean, showErrorAlert: boolean): void; + + /** This method is used to clear the applied validation rules in a specified range of cells in the Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + clearDV(range: string | any[]): void; + + /** This method is used to highlight invalid data in a specified range of cells in the Spreadsheet. + * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + * @returns {void} + */ + highlightInvalidData(range: string | any[]): void; + } + + export interface Model { + + /** Gets or sets an active sheet index in the Spreadsheet. By defining this value, you can specify which sheet should be active in workbook. + * @Default {1} + */ + activeSheetIndex?: number; + + /** Gets or sets a value that indicates whether to enable or disable auto rendering of cell type in the Spreadsheet. + * @Default {false} + */ + allowAutoCellType?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable auto fill feature in the Spreadsheet. + * @Default {true} + */ + allowAutoFill?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable auto sum feature in the Spreadsheet. + * @Default {true} + */ + allowAutoSum?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable cell format feature in the Spreadsheet. By enabling this, you can customize styles and number formats. + * @Default {true} + */ + allowCellFormatting?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable cell type feature in the Spreadsheet. + * @Default {false} + */ + allowCellType?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable chart feature in the Spreadsheet. By enabling this feature, you can create and customize charts in Spreadsheet. + * @Default {true} + */ + allowCharts?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable clear feature in the Spreadsheet. + * @Default {true} + */ + allowClear?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable clipboard feature in the Spreadsheet. By enabling this feature, you can perform cut/copy and paste operations in Spreadsheet. + * @Default {true} + */ + allowClipboard?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable comment feature in the Spreadsheet. By enabling this, you can add/delete/modify comments in Spreadsheet. + * @Default {true} + */ + allowComments?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable Conditional Format feature in the Spreadsheet. By enabling this, you can apply formatting to the selected range + * of cells based on the provided conditions (Greater than, Less than, Equal, Between, Contains, etc.). + * @Default {true} + */ + allowConditionalFormats?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable data validation feature in the Spreadsheet. + * @Default {true} + */ + allowDataValidation?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the delete action in the Spreadsheet. By enabling this feature, you can delete existing rows, columns, cells and sheet. + * @Default {true} + */ + allowDelete?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable drag and drop feature in the Spreadsheet. + * @Default {true} + */ + allowDragAndDrop?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the edit action in the Spreadsheet. + * @Default {true} + */ + allowEditing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable filtering feature in the Spreadsheet. Filtering can be used to limit the data displayed using required criteria. + * @Default {true} + */ + allowFiltering?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable table feature in the Spreadsheet. By enabling this, you can render table in selected range. + * @Default {true} + */ + allowFormatAsTable?: boolean; + + /** Get or sets a value that indicates whether to enable or disable format painter feature in the Spreadsheet. By enabling this feature, you can copy + * the format from the selected range and apply it to another range. + * @Default {true} + */ + allowFormatPainter?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable formula bar in the Spreadsheet. + * @Default {true} + */ + allowFormulaBar?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable freeze pane support in Spreadsheet. After enabling this feature, + * you can use freeze top row, freeze first column and freeze panes options. + * @Default {false} + */ + allowFreezing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable hyperlink feature in the Spreadsheet. By enabling this feature, you can add hyperlink which is used to + * easily navigate to the cell reference from one sheet to another or a web page. + * @Default {true} + */ + allowHyperlink?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable import feature in the Spreadsheet. By enabling this feature, you can open existing Spreadsheet documents. + * @Default {true} + */ + allowImport?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the insert action in the Spreadsheet. By enabling this feature, you can insert new rows, columns, cells and sheet. + * @Default {true} + */ + allowInsert?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable keyboard navigation feature in the Spreadsheet. + * @Default {true} + */ + allowKeyboardNavigation?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable lock cell feature in the Spreadsheet. + * @Default {true} + */ + allowLockCell?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable merge feature in the Spreadsheet. + * @Default {true} + */ + allowMerging?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable overflow feature in the Spreadsheet. + * @Default {true} + */ + allowOverflow?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable resizing feature in the Spreadsheet. By enabling this feature, you can change the column width and + * row height by dragging its header boundaries. + * @Default {true} + */ + allowResizing?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable find and replace feature in the Spreadsheet. By enabling this, you can easily find and replace + * a specific value in the sheet or workbook. By using goto behavior, you can select and highlight all cells that contains specific data or data types. + * @Default {true} + */ + allowSearching?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable selection in the Spreadsheet. By enabling this feature, selected items will be highlighted. + * @Default {true} + */ + allowSelection?: boolean; + + /** Gets or sets a value that indicates whether to enable the sorting feature in the Spreadsheet. + * @Default {true} + */ + allowSorting?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable undo and redo feature in the Spreadsheet. + * @Default {true} + */ + allowUndoRedo?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable wrap text feature in the Spreadsheet. By enabling this, cell content can wrap to the next line, + * if the cell content exceeds the boundary of the cell. + * @Default {true} + */ + allowWrap?: boolean; + + /** Gets or sets a value that indicates to define the width of the activation panel in Spreadsheet. + * @Default {300} + */ + apWidth?: number; + + /** Gets or sets an object that indicates to customize the auto fill behavior in the Spreadsheet. + */ + autoFillSettings?: AutoFillSettings; + + /** Gets or sets an object that indicates to customize the chart behavior in the Spreadsheet. + */ + chartSettings?: ChartSettings; + + /** Gets or sets a value that defines the number of columns displayed in the sheet. + * @Default {21} + */ + columnCount?: number; + + /** Gets or sets a value that indicates to define the common width for each column in the Spreadsheet. + * @Default {64} + */ + columnWidth?: number; + + /** Gets or sets a value to add root CSS class for customizing Spreadsheet skins. + */ + cssClass?: string; + + /** Gets or sets a value that indicates custom formulas in Spreadsheet. + * @Default {[]} + */ + customFormulas?: any[]; + + /** Gets or sets a value that indicates whether to enable or disable context menu in the Spreadsheet. + * @Default {true} + */ + enableContextMenu?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable pivot table in the Spreadsheet. + * @Default {false} + */ + enablePivotTable?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable touch support in the Spreadsheet. + * @Default {true} + */ + enableTouch?: boolean; + + /** Gets or sets an object that indicates to customize the exporting behavior in Spreadsheet. + */ + exportSettings?: ExportSettings; + + /** Gets or sets an object that indicates to customize the format behavior in the Spreadsheet. + */ + formatSettings?: FormatSettings; + + /** Gets or sets an object that indicates to customize the import behavior in the Spreadsheet. + */ + importSettings?: ImportSettings; + + /** Gets or sets a value that indicates whether to enable or disable readonly support in the Spreadsheet. + * @Default {false} + */ + isReadOnly?: boolean; + + /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data (i.e.) + * in a language and culture specific to a particular country or region. + * @Default {en-US} + */ + locale?: string; + + /** Gets or sets an object that indicates to customize the picture behavior in the Spreadsheet. + */ + pictureSettings?: PictureSettings; + + /** Gets or sets an object that indicates to customize the print option in Spreadsheet. + */ + printSettings?: PrintSettings; + + /** Gets or sets an object that indicates to customize the ribbon settings in Spreadsheet. + */ + ribbonSettings?: RibbonSettings; + + /** Gets or sets a value that indicates whether to define the number of rows to be displayed in the sheet. + * @Default {20} + */ + rowCount?: number; + + /** Gets or sets a value that indicates to define the common height for each row in the sheet. + * @Default {20} + */ + rowHeight?: number; + + /** Gets or sets an object that indicates to customize the scroll options in the Spreadsheet. + */ + scrollSettings?: ScrollSettings; + + /** Gets or sets an object that indicates to customize the selection options in the Spreadsheet. + */ + selectionSettings?: SelectionSettings; + + /** Gets or sets a value that indicates to define the number of sheets to be created at the initial load. + * @Default {1} + */ + sheetCount?: number; + + /** Gets or sets an object that indicates to customize the sheet behavior in Spreadsheet. + */ + sheets?: Sheet[]; + + /** Gets or sets a value that indicates whether to show or hide pager in the Spreadsheet. + * @Default {true} + */ + showPager?: boolean; + + /** Gets or sets a value that indicates whether to show or hide ribbon in the Spreadsheet. + * @Default {true} + */ + showRibbon?: boolean; + + /** This is used to set the number of undo-redo steps in the Spreadsheet. + * @Default {20} + */ + undoRedoStep?: number; + + /** Define the username for the Spreadsheet which is displayed in comment. + * @Default {User Name} + */ + userName?: string; + + /** Triggered for every action before its starts. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggered for every action complete. */ + actionComplete?(e: ActionCompleteEventArgs): void; + + /** Triggered when the auto fill operation begins. */ + autoFillBegin?(e: AutoFillBeginEventArgs): void; + + /** Triggered when the auto fill operation completes. */ + autoFillComplete?(e: AutoFillCompleteEventArgs): void; + + /** Triggered before the batch save. */ + beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; + + /** Triggered before the cells to be formatted. */ + beforeCellFormat?(e: BeforeCellFormatEventArgs): void; + + /** Triggered before the cell selection. */ + beforeCellSelect?(e: BeforeCellSelectEventArgs): void; + + /** Triggered before the selected cells are dropped. */ + beforeDrop?(e: BeforeDropEventArgs): void; + + /** Triggered while start to edit the comment. */ + beforeEditComment?(e: BeforeEditCommentEventArgs): void; + + /** Triggered before the contextmenu is open. */ + beforeOpen?(e: BeforeOpenEventArgs): void; + + /** Triggered before the activation panel is open. */ + beforePanelOpen?(e: BeforePanelOpenEventArgs): void; + + /** Triggered when click on sheet cell. */ + cellClick?(e: CellClickEventArgs): void; + + /** Triggered when the cell is edited. */ + cellEdit?(e: CellEditEventArgs): void; + + /** Triggered while cell is formatting. */ + cellFormatting?(e: CellFormattingEventArgs): void; + + /** Triggered when mouse hover on cell in sheets. */ + cellHover?(e: CellHoverEventArgs): void; + + /** Triggered when save the edited cell. */ + cellSave?(e: CellSaveEventArgs): void; + + /** Triggered when the cell is selected. */ + cellSelected?(e: CellSelectedEventArgs): void; + + /** Triggered when click the contextmenu items. */ + contextMenuClick?(e: ContextMenuClickEventArgs): void; + + /** Triggered when the selected cells are being dragged. */ + drag?(e: DragEventArgs): void; + + /** Triggered when you start to drag the picture or chart. */ + dragShape?(e: DragShapeEventArgs): void; + + /** Triggered when the selected cells are initiated to drag. */ + dragStart?(e: DragStartEventArgs): void; + + /** Triggered when the selected cells are dropped. */ + drop?(e: DropEventArgs): void; + + /** Triggered before the range editing starts. */ + editRangeBegin?(e: EditRangeBeginEventArgs): void; + + /** Triggered after range editing completes. */ + editRangeComplete?(e: EditRangeCompleteEventArgs): void; + + /** Triggered when the key is pressed down. */ + keyDown?(e: KeyDownEventArgs): void; + + /** Triggered when the key is released. */ + keyUp?(e: KeyUpEventArgs): void; + + /** Triggered before the sheet is loaded. */ + load?(e: LoadEventArgs): void; + + /** Triggered after the sheet is loaded. */ + loadComplete?(e: LoadCompleteEventArgs): void; + + /** Triggered every click of the menu item. */ + menuClick?(e: MenuClickEventArgs): void; + + /** Triggered when a file is imported. */ + onImport?(e: OnImportEventArgs): void; + + /** Triggered when import sheet is failed to open. */ + openFailure?(e: OpenFailureEventArgs): void; + + /** Triggered when pager item is clicked in the Spreadsheet. */ + pagerClick?(e: PagerClickEventArgs): void; + + /** Triggered when you start resizing the chart, picture, row and column. */ + resizeStart?(e: ResizeStartEventArgs): void; + + /** Triggered after end of resizing the chart, picture, row and column. */ + resizeEnd?(e: ResizeEndEventArgs): void; + + /** Triggered when click on the ribbon. */ + ribbonClick?(e: RibbonClickEventArgs): void; + + /** Triggered when the chart series rendering. */ + seriesRendering?(e: SeriesRenderingEventArgs): void; + + /** Triggered when click the ribbon tab. */ + tabClick?(e: TabClickEventArgs): void; + + /** Triggered when select the ribbon tab. */ + tabSelect?(e: TabSelectEventArgs): void; + } + + export interface ActionBeginEventArgs { + + /** Returns the applied style format object. + */ + afterFormat?: any; + + /** Returns the applied style format object. + */ + beforeFormat?: any; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the cell range. + */ + range?: any[]; + + /** Returns the action format. + */ + reqType?: string; + + /** Returns goto index while paging. + */ + gotoIdx?: number; + + /** Returns boolean value. If create new sheet it returns true. + */ + newSheet?: boolean; + + /** Return column name while sorting. + */ + columnName?: string; + + /** Returns selected columns while sorting or filtering begins. + */ + colSelected?: number; + + /** Returns sort direction while sort action begins. + */ + sortDirection?: string; + } + + export interface ActionCompleteEventArgs { + + /** Returns Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the applied cell format object. + */ + selectedCell?: any[] | any; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the request type. + */ + reqType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface AutoFillBeginEventArgs { + + /** Returns auto fill begin cell range. + */ + dataRange?: any[]; + + /** Returns which direction drag the auto fill. + */ + direction?: string; + + /** Returns fill cells range. + */ + fillRange?: any[]; + + /** Returns the auto fill type. + */ + fillType?: string; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface AutoFillCompleteEventArgs { + + /** Returns auto fill begin cell range. + */ + dataRange?: any[]; + + /** Returns which direction to drag the auto fill. + */ + direction?: string; + + /** Returns fill cells range. + */ + fillRange?: any[]; + + /** Returns the auto fill type. + */ + fillType?: string; + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface BeforeBatchSaveEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the query, primary key,batch changes for the data Source. + */ + dataSetting?: any; + + /** Returns the changed record object. + */ + batchChanges?: any; + } + + export interface BeforeCellFormatEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the applied style format object. + */ + format?: any; + + /** Returns the selected cells. + */ + cells?: any[] | any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface BeforeCellSelectEventArgs { + + /** Returns the previous cell range. + */ + prevRange?: any[]; + + /** Returns the current cell range. + */ + currRange?: any[]; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface BeforeDropEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the cell Overwriting alert option value. + */ + preventAlert?: boolean; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface BeforeEditCommentEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the comment cell index. + */ + cellIndex?: any; + + /** Returns the disable option value. + */ + disable?: boolean; + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns the value of the comment + */ + value?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface BeforeOpenEventArgs { + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface BeforePanelOpenEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the activation panel element. + */ + activationPanel?: any; + + /** Returns the range option value. + */ + range?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface CellClickEventArgs { + + /** Returns the click cell element. + */ + cell?: HTMLElement; + + /** Returns the column index of clicked cell. + */ + columnIndex?: number; + + /** Returns the row index of clicked cell. + */ + rowIndex?: number; + + /** Returns the column name of clicked cell. + */ + columnName?: string; + + /** Returns the column information. + */ + columnObject?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the value of the cell. + */ + value?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface CellEditEventArgs { + + /** Returns the click cell element. + */ + cell?: HTMLElement; + + /** Returns the columnName of clicked cell. + */ + columnName?: string; + + /** Returns the column field information. + */ + columnObject?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface CellFormattingEventArgs { + + /** Returns the sheet index + */ + SheetIdx?: number; + + /** Returns the applied style format object + */ + Format?: any; + + /** Returns the cell index. + */ + Cell?: number; + + /** Returns the name of the CSS theme. + */ + cssClass?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + } + + export interface CellHoverEventArgs { + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface CellSaveEventArgs { + + /** Returns the save cell element. + */ + cell?: HTMLElement; + + /** Returns the columnName of clicked cell. + */ + columnName?: string; + + /** Returns the column field information. + */ + columnObject?: any; + + /** Returns the index of the row. + */ + rowIndex?: number; + + /** Returns the index of the column. + */ + colIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cell previous value. + */ + pValue?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cell value. + */ + value?: string; + } + + export interface CellSelectedEventArgs { + + /** Returns the active sheet index. + */ + sheetIdx?: number; + + /** Returns the selected range. + */ + selectedRange?: any[]; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface ContextMenuClickEventArgs { + + /** Returns target element Id. + */ + Id?: string; + + /** Returns the target element. + */ + element?: HTMLElement; + + /** Returns event information. + */ + event?: any; + + /** Returns target element and event information. + */ + events?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns target element parent Id. + */ + parentId?: string; + + /** Returns target element parent text. + */ + parentText?: string; + + /** Returns target element text. + */ + text?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface DragEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface DragShapeEventArgs { + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface DragStartEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface DropEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the current cell row and column index. + */ + currentCell?: any; + + /** Returns the drag cells range object. + */ + dragAndDropRange?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the target item. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface EditRangeBeginEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the range option value. + */ + range?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface EditRangeCompleteEventArgs { + + /** Returns the sheet index. + */ + sheetIdx?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the range option value. + */ + range?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface KeyDownEventArgs { + + /** Returns the sheet index. + */ + sheetIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the boolean value. + */ + isCommentEdit?: boolean; + + /** Returns the boolean value. + */ + isEdit?: boolean; + + /** Returns the boolean value. + */ + isSheetRename?: boolean; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface KeyUpEventArgs { + + /** Returns the sheet index. + */ + sheetIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the boolean value. + */ + isCommentEdit?: boolean; + + /** Returns the boolean value. + */ + isEdit?: boolean; + + /** Returns the boolean value. + */ + isSheetRename?: boolean; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface LoadEventArgs { + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the active sheet index. + */ + sheetIndex?: number; + } + + export interface LoadCompleteEventArgs { + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface MenuClickEventArgs { + + /** Returns menu click element. + */ + element?: HTMLElement; + + /** Returns the event information. + */ + event?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns target element parent Id. + */ + parentId?: string; + + /** Returns target element parent text. + */ + parentText?: string; + + /** Returns target element text. + */ + text?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface OnImportEventArgs { + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the imported data. + */ + importData?: any; + } + + export interface OpenFailureEventArgs { + + /** Returns the failure type. + */ + failureType?: string; + + /** Returns the status index. + */ + status?: number; + + /** Returns the status in text. + */ + statusText?: string; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface PagerClickEventArgs { + + /** Returns the active sheet index. + */ + activeSheet?: number; + + /** Returns the new sheet index. + */ + gotoSheet?: number; + + /** Returns whether new sheet icon is clicked. + */ + newSheet?: boolean; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface ResizeStartEventArgs { + + /** Returns the column index which column you start to resize. + */ + colIndex?: number; + + /** Returns the row index which row you start to resize. + */ + rowIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns type of the request. + */ + reqType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface ResizeEndEventArgs { + + /** Returns the column index which you resized. + */ + colIndex?: number; + + /** Returns old width of the column or shape. + */ + oldWidth?: number; + + /** Returns new width of the column or shape. + */ + newWidth?: number; + + /** Returns the row index which you resized. + */ + rowIndex?: number; + + /** Returns old height of the row or shape. + */ + oldHeight?: number; + + /** Returns new height of the row or shape. + */ + newHeight?: number; + + /** Returns the Spreadsheet model. + */ + model?: any; + + /** Returns type of the request. + */ + reqType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface RibbonClickEventArgs { + + /** Returns element Id. + */ + Id?: string; + + /** Returns target information. + */ + prop?: any; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns status. + */ + status?: boolean; + + /** Returns isChecked in boolean. + */ + isChecked?: boolean; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface SeriesRenderingEventArgs { + + /** Returns chart data and chart information. + */ + data?: any; + + /** Returns the chart model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface TabClickEventArgs { + + /** Returns the active tab index. + */ + activeIndex?: number; + + /** Returns active tab header element. + */ + activeHeader?: any; + + /** Returns previous active tab header element. + */ + prevActiveHeader?: any; + + /** Returns previous active tab index. + */ + prevActiveIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface TabSelectEventArgs { + + /** Returns the active tab index. + */ + activeIndex?: number; + + /** Returns active tab header element. + */ + activeHeader?: any; + + /** Returns previous active tab header element. + */ + prevActiveHeader?: any; + + /** Returns previous active tab index. + */ + prevActiveIndex?: number; + + /** Returns the Spreadsheet model. + */ + model?: ej.Spreadsheet.Model; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the target element. + */ + target?: HTMLElement; + + /** Returns the cancel option value. + */ + cancel?: boolean; + } + + export interface AutoFillSettings { + + /** This property is used to set fillType unit in Spreadsheet. It has five types which are CopyCells, FillSeries, FillFormattingOnly, FillWithoutFormatting and FlashFill. + * @Default {ej.Spreadsheet.AutoFillOptions.FillSeries} + */ + fillType?: ej.Spreadsheet.AutoFillOptions | string; + + /** Gets or sets a value that indicates to enable or disable auto fill options in the Spreadsheet. + * @Default {true} + */ + showFillOptions?: boolean; + } + + export interface ChartSettings { + + /** Gets or sets a value that defines the chart height in Spreadsheet. + * @Default {220} + */ + height?: number; + + /** Gets or sets a value that defines the chart width in the Spreadsheet. + * @Default {440} + */ + width?: number; + } + + export interface ExportSettings { + + /** Gets or sets a value that indicates whether to enable or disable save feature in Spreadsheet. By enabling this feature, you can save existing Spreadsheet. + * @Default {true} + */ + allowExporting?: boolean; + + /** Gets or sets a value that indicates to define csvUrl for export to CSV format. + * @Default {null} + */ + csvUrl?: string; + + /** Gets or sets a value that indicates to define excelUrl for export to excel format. + * @Default {null} + */ + excelUrl?: string; + + /** Gets or sets a value that indicates to define password while export to excel format. + * @Default {null} + */ + password?: string; + + /** Gets or sets a value that indicates to define pdfUrl for export to PDF format. + * @Default {null} + */ + pdfUrl?: string; + } + + export interface FormatSettings { + + /** Gets or sets a value that indicates whether to enable or disable cell border feature in the Spreadsheet. + * @Default {true} + */ + allowCellBorder?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable decimal places in the Spreadsheet. + * @Default {true} + */ + allowDecimalPlaces?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable font family feature in Spreadsheet. + * @Default {true} + */ + allowFontFamily?: boolean; + } + + export interface ImportSettings { + + /** Sets import mapper to perform import feature in Spreadsheet. + */ + importMapper?: string; + + /** Gets or sets a value that indicates whether to enable or disable import while initial loading. + * @Default {false} + */ + importOnLoad?: boolean; + + /** Sets import URL to access the online files in the Spreadsheet. + */ + importUrl?: string; + + /** Gets or sets a value that indicates to define password while importing in the Spreadsheet. + */ + password?: string; + } + + export interface PictureSettings { + + /** Gets or sets a value that indicates whether to enable or disable picture feature in Spreadsheet. By enabling this, you can add pictures in Spreadsheet. + * @Default {true} + */ + allowPictures?: boolean; + + /** Gets or sets a value that indicates to define height to picture in the Spreadsheet. + * @Default {220} + */ + height?: number; + + /** Gets or sets a value that indicates to define width to picture in the Spreadsheet. + * @Default {440} + */ + width?: number; + } + + export interface PrintSettings { + + /** Gets or sets a value that indicates whether to enable or disable page setup support for printing in Spreadsheet. + * @Default {true} + */ + allowPageSetup?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable page size support for printing in Spreadsheet. + * @Default {false} + */ + allowPageSize?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable print feature in the Spreadsheet. + * @Default {true} + */ + allowPrinting?: boolean; + } + + export interface RibbonSettingsApplicationTabMenuSettings { + + /** Gets or sets a value that indicates whether to enable or disable isAppend property in ribbon settings. + * @Default {false} + */ + isAppend?: boolean; + + /** Specifies the data source to append in application tab. + * @Default {[]} + */ + dataSource?: any[]; + } + + export interface RibbonSettingsApplicationTab { + + /** Gets or sets a value that indicates to set application tab type in Spreadsheet. It has two types, Menu and Backstage. + * @Default {ej.Ribbon.ApplicationTabType.Backstage} + */ + type?: ej.Ribbon.ApplicationTabType | string; + + /** Gets or sets an object that indicates menu settings for application tab in Spreadsheet. + */ + menuSettings?: RibbonSettingsApplicationTabMenuSettings; + } + + export interface RibbonSettings { + + /** Gets or sets an object that indicates application tab settings in Spreadsheet. + */ + applicationTab?: RibbonSettingsApplicationTab; + } + + export interface ScrollSettings { + + /** Gets or sets a value that indicates whether to enable or disable scrolling in Spreadsheet. + * @Default {true} + */ + allowScrolling?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable sheet on demand. By enabling this, it render only the active sheet element while paging remaining sheets are created one by one. + * @Default {false} + */ + allowSheetOnDemand?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable virtual scrolling feature in the Spreadsheet. + * @Default {true} + */ + allowVirtualScrolling?: boolean; + + /** Gets or sets the value that indicates to define the height of spreadsheet. + * @Default {100%} + */ + height?: number | string; + + /** Gets or sets the value that indicates whether to enable or disable responsive mode in the Spreadsheet. + * @Default {true} + */ + isResponsive?: boolean; + + /** Gets or sets a value that indicates to set scroll mode in Spreadsheet. It has two scroll modes, Normal and Infinite. + * @Default {ej.Spreadsheet.scrollMode.Infinite} + */ + scrollMode?: ej.Spreadsheet.scrollMode | string; + + /** Gets or sets the value that indicates to define the height of the spreadsheet. + * @Default {100%} + */ + width?: number | string; + } + + export interface SelectionSettings { + + /** Gets or sets a value that indicates to define active cell in spreadsheet. + */ + activeCell?: string; + + /** Gets or sets a value that indicates to define animation time while selection in the Spreadsheet. + * @Default {0.001} + */ + animationTime?: number; + + /** Gets or sets a value that indicates to enable or disable animation while selection. + * @Default {false} + */ + enableAnimation?: boolean; + + /** Gets or sets a value that indicates to set selection type in Spreadsheet. It has three types which are Column, Row and Default. + * @Default {ej.Spreadsheet.SelectionType.Default} + */ + selectionType?: ej.Spreadsheet.SelectionType | string; + + /** Gets or sets a value that indicates to set selection unit in Spreadsheet. It has three types which are Single, Range and MultiRange. + * @Default {ej.Spreadsheet.SelectionUnit.MultiRange} + */ + selectionUnit?: ej.Spreadsheet.SelectionUnit | string; + } + + export interface SheetsBorder { + + /** + */ + type?: ej.Spreadsheet.BorderType | string; + + /** Specifies border color for range of cells in Spreadsheet. + */ + color?: string; + + /** To apply border for the specified range of cell. + */ + range?: string; + } + + export interface SheetsCFormatRule { + + /** Specifies the conditions to apply for the range of cells in Spreadsheet. + */ + action?: ej.Spreadsheet.CFormatRule | string; + + /** Specifies the color to apply for the range of cell while conditional formatting. + */ + color?: ej.Spreadsheet.CFormatHighlightColor | string; + + /** Specifies the inputs for conditional formatting in Spreadsheet. + * @Default {[]} + */ + inputs?: any[]; + + /** Specifies the range for conditional formatting in Spreadsheet. + */ + range?: string; + } + + export interface SheetsRangeSetting { + + /** Gets or sets the data to render the Spreadsheet. + * @Default {null} + */ + dataSource?: any; + + /** Specifies the header styles for the headers in datasource range. + * @Default {null} + */ + headerStyles?: any; + + /** Specifies the primary key for the datasource in Spreadsheet. + */ + primaryKey?: string; + + /** Specifies the query for the datasource in Spreadsheet. + * @Default {null} + */ + query?: any; + + /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. + * @Default {true} + */ + showHeader?: boolean; + + /** Specifies the start cell for the datasource range in Spreadsheet. + * @Default {A1} + */ + startCell?: string; + } + + export interface SheetsRowsCellsComment { + + /** Get or sets the value that indicates whether to show or hide comments in Spreadsheet. + * @Default {false} + */ + isVisible?: boolean; + + /** Specifies the value for the comment in Spreadsheet. + */ + value?: string; + } + + export interface SheetsRowsCellsFormat { + + /** Specifies the number of decimal places for the given input. + * @Default {2} + */ + decimalPlaces?: number; + + /** Specifies the string format for the given input. + */ + formatStr?: string; + + /** Specifies the thousand separator for the given input. + * @Default {false} + */ + thousandSeparator?: boolean; + + /** Specifies the type of the format in Spreadsheet. + */ + type?: string; + } + + export interface SheetsRowsCellsHyperlink { + + /** Specifies the web address for the hyperlink of a cell. + */ + webAddr?: string; + + /** Specifies the cell address for the hyperlink of a cell. + */ + cellAddr?: string; + + /** Specifies the sheet index to which the cell is referred. + * @Default {1} + */ + sheetIndex?: number; + } + + export interface SheetsRowsCellsStyle { + + /** Specifies the background color of a cell in the Spreadsheet. + */ + backgroundColor?: string; + + /** Specifies the font color of a cell in the Spreadsheet. + */ + color?: string; + + /** Specifies the font weight of a cell in the Spreadsheet. + */ + fontWeight?: string; + } + + export interface SheetsRowsCell { + + /** Specifies the comment for a cell in Spreadsheet. + * @Default {null} + */ + comment?: SheetsRowsCellsComment; + + /** Specifies the format of a cell in Spreadsheet. + * @Default {null} + */ + format?: SheetsRowsCellsFormat; + + /** Specifies the hyperlink for a cell in Spreadsheet. + * @Default {null} + */ + hyperlink?: SheetsRowsCellsHyperlink; + + /** Specifies the index of a cell in Spreadsheet. + * @Default {0} + */ + index?: number; + + /** Specifies whether to lock or unlock a particular cell. + * @Default {false} + */ + isLocked?: boolean; + + /** Specifies the styles of a cell in Spreadsheet. + * @Default {null} + */ + style?: SheetsRowsCellsStyle; + + /** Specifies the value for a cell in Spreadsheet. + */ + value?: string; + } + + export interface SheetsRow { + + /** Gets or sets the height of a row in Spreadsheet. + * @Default {20} + */ + height?: number; + + /** Specifies the cells of a row in Spreadsheet. + * @Default {[]} + */ + cells?: SheetsRowsCell[]; + + /** Gets or sets the index of a row in Spreadsheet. + * @Default {0} + */ + index?: number; + } + + export interface Sheet { + + /** Specifies the border for the cell in the Spreadsheet. + * @Default {[]} + */ + border?: SheetsBorder[]; + + /** Specifies the cell types for a cell or range in Spreadsheet. + * @Default {[]} + */ + cellTypes?: any[]; + + /** Specifies the conditional formatting for the range of cell in Spreadsheet. + * @Default {[]} + */ + cFormatRule?: SheetsCFormatRule[]; + + /** Gets or sets a value that indicates to define column count in the Spreadsheet. + * @Default {21} + */ + colCount?: number; + + /** Gets or sets a value that indicates to define column width in the Spreadsheet. + * @Default {64} + */ + columnWidth?: number; + + /** Gets or sets the data to render the Spreadsheet. + * @Default {null} + */ + dataSource?: any; + + /** Gets or sets a value that indicates whether to enable or disable field as column header in the Spreadsheet. + * @Default {false} + */ + fieldAsColumnHeader?: boolean; + + /** Gets or sets a value to freeze rows in the Spreadsheet. + * @Default {0} + */ + frozenRows?: number; + + /** Gets or sets a value to freeze columns in the Spreadsheet. + * @Default {0} + */ + frozenColumns?: number; + + /** Specifies the header styles for the headers in datasource range. + * @Default {null} + */ + headerStyles?: any; + + /** To hide the specified columns in Spreadsheet. + * @Default {[]} + */ + hideColumns?: any[]; + + /** To hide the specified rows in Spreadsheet. + * @Default {[]} + */ + hideRows?: any[]; + + /** To merge specified ranges in Spreadsheet. + * @Default {[]} + */ + mergeCells?: any[]; + + /** Specifies the primary key for the datasource in Spreadsheet. + */ + primaryKey?: string; + + /** Specifies the query for the dataSource in Spreadsheet. + * @Default {null} + */ + query?: any; + + /** Specifies single range or multiple range settings for a sheet in Spreadsheet. + * @Default {[]} + */ + rangeSettings?: SheetsRangeSetting[]; + + /** Gets or sets a value that indicates to define row count in the Spreadsheet. + * @Default {20} + */ + rowCount?: number; + + /** Specifies the rows for a sheet in Spreadsheet. + * @Default {[]} + */ + rows?: SheetsRow[]; + + /** Gets or sets a value that indicates whether to show or hide grid lines in the Spreadsheet. + * @Default {true} + */ + showGridlines?: boolean; + + /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. + * @Default {true} + */ + showHeader?: boolean; + + /** Gets or sets a value that indicates whether to show or hide headings in the Spreadsheet. + * @Default {true} + */ + showHeadings?: boolean; + + /** Specifies the start cell for the datasource range in Spreadsheet. + * @Default {A1} + */ + startCell?: string; + } + + enum AutoFillOptions { + + ///Specifies the CopyCells property in AutoFillOptions. + CopyCells, + + ///Specifies the FillSeries property in AutoFillOptions. + FillSeries, + + ///Specifies the FillFormattingOnly property in AutoFillOptions. + FillFormattingOnly, + + ///Specifies the FillWithoutFormatting property in AutoFillOptions. + FillWithoutFormatting, + + ///Specifies the FlashFill property in AutoFillOptions. + FlashFill + } + + + enum scrollMode { + + ///To enable Infinite scroll mode for Spreadsheet. + Infinite, + + ///To enable Normal scroll mode for Spreadsheet. + Normal + } + + + enum SelectionType { + + ///To select only Column in Spreadsheet. + Column, + + ///To select only Row in Spreadsheet. + Row, + + ///To select both Column/Row in Spreadsheet. + Default + } + + + enum SelectionUnit { + + ///To enable Single selection in Spreadsheet + Single, + + ///To enable Range selection in Spreadsheet + Range, + + ///To enable MultiRange selection in Spreadsheet + MultiRange + } + + + enum BorderType { + + ///To apply top border for the given range of cell. + Top, + + ///To apply left border for the given range of cell. + Left, + + ///To apply right border for the given range of cell. + Right, + + ///To apply bottom border for the given range of cell. + Bottom, + + ///To apply outside border for the given range of cell. + OutSide, + + ///To apply all border for the given range of cell. + AllBorder, + + ///To apply thick box border for the given range of cell. + ThickBox, + + ///To apply thick bottom border for the given range of cell. + ThickBottom, + + ///To apply top and bottom border for the given range of cell. + TopandBottom, + + ///To apply top and thick bottom border for the given range of cell. + TopandThickBottom + } + + + enum CFormatRule { + + ///To identify greater than values in the given range of cells. + GreaterThan, + + ///To identify less than values in the given range of cells. + LessThan, + + ///To identify in between values in the given range of cells. + Between, + + ///To identify the equal values in the given range of cells. + EqualTo, + + ///To identify the specified text in the range of cells. + TextContains, + + ///To identify the specified date in the range of cells. + DateOccurs + } + + + enum CFormatHighlightColor { + + ///Highlights red with dark red text color. + RedFillwithDarkRedText, + + ///Highlights yellow with dark yellow text color. + YellowFillwithDarkYellowText, + + ///Highlights green with dark green text color. + GreenFillwithDarkGreenText, + + ///Highlights with red fill. + RedFill, + + ///Highlights with red text. + RedText + } + + + enum ChartProperties { + + ///Specifies to make the data label center of the chart. + DataLabelCenter, + + ///Specifies to make the data label inside base of the chart. + DataLabelInsideBase, + + ///Specifies to make the data label inside end of the chart. + DataLabelInsideEnd, + + ///Specifies to make the data label none of the chart. + DataLabelNone, + + ///Specifies to make the data label outside end of the chart. + DataLabelOutsideEnd, + + ///Specifies to make the legends to bottom of the chart. + LegendsBottom, + + ///Specifies to make the legends to left of the chart. + LegendsLeft, + + ///Specifies to make the legends to none of the chart. + LegendsNone, + + ///Specifies to make the legends to right of the chart. + LegendsRight, + + ///Specifies to make the legends to top of the chart. + LegendsTop, + + ///To set the primary horizontal of the chart. + PrimaryHorizontal, + + ///To set the primary horizontal axis title of the chart. + PrimaryHorizontalAxisTitle, + + ///To set the primary major horizontal of the chart. + PrimaryMajorHorizontal, + + ///To set the primary major vertical of the chart. + PrimaryMajorVertical, + + ///To set the primary minor horizontal of the chart. + PrimaryMinorHorizontal, + + ///To set the primary minor vertical of the chart. + PrimaryMinorVertical, + + ///To set the primary vertical of the chart. + PrimaryVertical, + + ///To set the primary vertical axis title of the chart. + PrimaryVerticalAxisTitle, + + ///Specifies to make the title to center of the chart. + TitleCenter, + + ///Specifies to make the title to far of the chart. + TitleFar, + + ///Specifies to make the title to near of the chart. + TitleNear, + + ///Specifies to make the title to none of the chart. + TitleNone + } + } - export interface XLPivot { + class PdfViewer extends ej.Widget { + static fn: PdfViewer; + constructor(element: JQuery | Element, options?: PdfViewer.Model); + static Locale: any; + model: PdfViewer.Model; + defaults: PdfViewer.Model; - /** This property is used to clear the pivot table list in Spreadsheet. - * @param {string} Pass the name of the pivot table. + /** Loads the document with the filename and displays it in PDF viewer. + * @param {string} File name to be loaded * @returns {void} */ - clearPivotFieldList(pivotName: string): void; + load(fileName: string): void; - /** This method is used to create pivot table. - * @param {string} It specifies the range for which the pivot table is created. - * @param {string} It specifies the location in which the pivot table is created. - * @param {string} It specifies the name of the pivot table. - * @param {any} Pass the pivot table settings. - * @param {any} Pass the pivot range, sheet index, address and data source . - * @returns {string} - */ - createPivotTable(range: string, location: string, name: string, settings: any, pvt: any): string; - - /** This method is used to delete the pivot table which is selected. - * @param {string} Pass the name of the pivot table. + /** Shows/hides the toolbar in the PDF viewer. + * @param {boolean} shows/hides the toolbar * @returns {void} */ - deletePivotTable(pivotName: string): void; + showToolbar(show: boolean): void; - /** This method is used to refresh data in pivot table. - * @param {string} Optional. Pass the name of the pivot table. - * @param {number} Optional. Pass the index of the sheet. + /** Prints the PDF document. * @returns {void} */ - refreshDataSource(name: string, sheetIdx: number): void; + print(): void; + + /** Abort the printing function and restores the PDF viewer. + * @returns {void} + */ + abortPrint(): void; + + /** Shows/hides the print icon in the toolbar. + * @param {boolean} shows/hides print button in the toolbar + * @returns {void} + */ + showPrintTools(show: boolean): void; + + /** Downloads the PDF document being loaded in the ejPdfViewer control. + * @returns {void} + */ + download(): void; + + /** Shows/hides the download tool in the toolbar. + * @param {boolean} shows/hides download button in the toolbar + * @returns {void} + */ + showDownloadTool(show: boolean): void; + + /** Shows/hides the page navigation tools in the toolbar + * @param {boolean} shows/hides navigation tools in the toolbar + * @returns {void} + */ + showPageNavigationTools(show: boolean): void; + + /** Navigates to the specific page in the PDF document. If the page is not available for the given pageNumber, PDF viewer retains the existing page in view. + * @param {number} navigates to the page number in the PDF document + * @returns {void} + */ + goToPage(pageNumber: number): void; + + /** Navigates to the last page of the PDF document. + * @returns {void} + */ + goToLastPage(): void; + + /** Navigates to the first page of PDF document. + * @returns {void} + */ + goToFirstPage(): void; + + /** Navigates to the next page of the PDF document. + * @returns {void} + */ + goToNextPage(): void; + + /** Navigates to the previous page of the PDF document. + * @returns {void} + */ + goToPreviousPage(): void; + + /** Shows/hides the zoom tools in the toolbar. + * @param {boolean} shows/hides zoom tools in the toolbar + * @returns {void} + */ + showMagnificationTools(show: boolean): void; + + /** Scales the page to fit the page in the container in the control. + * @returns {void} + */ + fitToPage(): void; + + /** Scales the page to fit the page width to the width of the container in the control. + * @returns {void} + */ + fitToWidth(): void; + + /** Magnifies the page to the next value in the zoom drop down list. + * @returns {void} + */ + zoomIn(): void; + + /** Shrinks the page to the previous value in the magnification in the drop down list. + * @returns {void} + */ + zoomOut(): void; + + /** Scales the page to the specified percentage ranging from 50 to 400. If the given zoomValue is less than 50 or greater than 400; the PDF viewer scales the page to 50 and 400 respectively. + * @param {number} zoom value for scaling the pages in the PDF Viewer + * @returns {void} + */ + zoomTo(zoomValue: number): void; + + /** Unloads the PDF document being displayed in the PDF viewer. + * @returns {void} + */ + unload(): void; + } + export namespace PdfViewer { + + export interface Model { + + /** Specifies the locale information of the PDF viewer. + */ + locale?: string; + + /** Specifies the toolbar settings. + */ + toolbarSettings?: ToolbarSettings; + + /** Specifies the name of the action method in the server. + */ + serverActionSettings?: ServerActionSettings; + + /** Sets the PDF Web API service URL + */ + serviceUrl?: string; + + /** Sets the PDF document path for initial loading. + */ + documentPath?: string; + + /** Gets the total number of pages in PDF document. + */ + pageCount?: number; + + /** Gets the number of the page being displayed in the PDF viewer. + */ + currentPageNumber?: number; + + /** Gets the current zoom percentage of the PDF document in viewer. + */ + zoomPercentage?: number; + + /** Specifies the location of the supporting PDF service + */ + pdfService?: ej.PdfViewer.PdfService | string; + + /** Specifies the open state of the hyperlink in the PDF document. + */ + hyperlinkOpenState?: ej.PdfViewer.LinkTarget | string; + + /** Enables or disables the hyperlinks in PDF document. + */ + enableHyperlink?: boolean; + + /** Enables or disables the text selection in PDF document. + */ + enableTextSelection?: boolean; + + /** Enables or disables the responsiveness of the PDF viewer control during the window resize. + */ + isResponsive?: boolean; + + /** Checks whether the PDF document is edited. + */ + isDocumentEdited?: boolean; + + /** Enables or disables the buffering of the PDF pages in the client side. + */ + allowClientBuffering?: boolean; + + /** Gets the name of the PDF document which loaded in the ejPdfViewer control for downloading. + */ + fileName?: string; + + /** Triggers when the PDF document gets loaded and is ready to view in the Control. */ + documentLoad?(e: DocumentLoadEventArgs): void; + + /** Triggers when the PDF document gets unloaded from the PDF viewer. */ + documentUnload?(e: DocumentUnloadEventArgs): void; + + /** Triggers when there is change in current page number. */ + pageChange?(e: PageChangeEventArgs): void; + + /** Triggers when there is change in the magnification value. */ + zoomChange?(e: ZoomChangeEventArgs): void; + + /** Triggers when hyperlink in the PDF Document is clicked */ + hyperlinkClick?(e: HyperlinkClickEventArgs): void; + + /** Triggers before the printing starts. */ + beforePrint?(e: BeforePrintEventArgs): void; + + /** Triggers after the printing is completed. */ + afterPrint?(e: AfterPrintEventArgs): void; + + /** Triggers when the mouse click is performed over the page of the PDF document. */ + pageClick?(e: PageClickEventArgs): void; + + /** Triggers when the client buffering process starts. */ + bufferStart?(e: BufferStartEventArgs): void; + + /** Triggers when the client buffering process ends. */ + bufferEnd?(e: BufferEndEventArgs): void; + + /** Triggers when PDF viewer control is destroyed successfully. */ + destroy?(e: DestroyEventArgs): void; + } + + export interface DocumentLoadEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the PDF document name displaying in the PDF viewer. + */ + fileName?: string; + } + + export interface DocumentUnloadEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface PageChangeEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the current page number in view. + */ + currentPageNumber?: number; + } + + export interface ZoomChangeEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the previous zoom percentage of the PDF viewer control + */ + previousZoomPercentage?: number; + + /** Returns the current zoom percentage of the PDF viewer control + */ + currentZoomPercentage?: number; + } + + export interface HyperlinkClickEventArgs { + + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the clicked hyperlink + */ + hyperlink?: string; + } + + export interface BeforePrintEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface AfterPrintEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface PageClickEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Returns the current X position + */ + offsetX?: number; + + /** Returns the current Y position + */ + offsetY?: number; + } + + export interface BufferStartEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Specifies the state of the buffering + */ + isBuffering?: boolean; + } + + export interface BufferEndEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + + /** Specifies the state of the buffering + */ + isBuffering?: boolean; + } + + export interface DestroyEventArgs { + + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; + + /** Returns the PDF viewer model + */ + model?: any; + + /** Returns the name of the event + */ + type?: string; + } + + export interface ToolbarSettings { + + /** Shows or hides the tooltip of the toolbar items. + */ + showToolTip?: boolean; + + /** Shows or hides the grouped items in the toolbar with the help of enum ej.PdfViewer.ToolbarItems + */ + toolbarItem?: ej.PdfViewer.ToolbarItems | string; + } + + export interface ServerActionSettings { + + /** Specifies the name of the action method used for loading the PDF document. + */ + load?: string; + + /** Specifies the name of the action method used for uploading the PDF document to the PDF viewer control. + */ + fileUpload?: string; + + /** Specifies the name of the action method used for printing the PDF document in the PDF viewer control. + */ + print?: string; + + /** Specifies the name of the action method used for downloading the PDF document from the PDF viewer control. + */ + download?: string; + } + + enum ToolbarItems { + + ///Shows only magnification tools in the toolbar. + MagnificationTools, + + ///Shows only page navigation tools in the toolbar. + PageNavigationTools, + + ///Shows only print tool in the toolbar. + PrintTools, + + ///Shows only download tool in the toolbar. + DownloadTool, + + ///Shows all the toolbar items. + All + } + + + enum PdfService { + + ///Denotes that the service is located in the local project + Local, + + ///Denotes that the service is hosted in the remote server + Remote + } + + + enum LinkTarget { + + ///Opens the hyperlink in the same tab of the browser. + Default, + + ///Opens the hyperlink in a new tab of the browser. + NewTab, + + ///Opens the hyperlink in a new window of the browser. + NewWindow + } + } - export interface XLPrint { + class SpellCheck extends ej.Widget { + static fn: SpellCheck; + constructor(element: JQuery | Element, options?: SpellCheck.Model); + static Locale: any; + model: SpellCheck.Model; + defaults: SpellCheck.Model; - /** This method is used to print the selected contents in the Spreadsheet. + /** Open the dialog to correct the spelling of the target content. * @returns {void} */ - printSelection(): void; + showInDialog(): void; - /** This method is used to print the entire contents in the active sheet. + /** Highlighting the error word in the target area itself and correct the spelling using the context menu. * @returns {void} */ - printSheet(): void; + validate(): void; + + /** To get the error word highlighted string by passing the given input sentence. + * @param {string} Content to be spell check + * @param {string} Class name that contains style value to highlight the error word + * @returns {any} + */ + spellCheck(targetSentence: string, misspellWordCss: string): any; + + /** To ignore all the error word occurrences from the given input sentence. + * @param {string} Error word to ignore from the target content + * @param {string} Content to perform the ignore all operation + * @returns {any} + */ + ignoreAll(word: string, targetSentence: string): any; + + /** To ignore the error word once from the given input sentence. + * @param {string} Error word to ignore from the target content + * @param {string} Content to perform the ignore operation + * @param {number} Index of the error word present in the target content + * @returns {any} + */ + ignore(word: string, targetSentence: string, index: number): any; + + /** To change the error word once from the given input sentence. + * @param {string} Error word to change from the target content + * @param {string} Content to perform the change operation + * @param {string} Word to replace with the error word + * @param {number} Index of the error word present in the target content + * @returns {any} + */ + change(word: string, targetSentence: string, changeWord: string, index: number): any; + + /** To change all the error word occurrences from the given input sentence. + * @param {string} Error word to change from the target content + * @param {string} Content to perform the change all operation + * @param {string} Word to replace with the error word + * @returns {any} + */ + changeAll(word: string, targetSentence: string, changeWord: string): any; + + /** To add the words into the custom dictionary. + * @param {string} Word to add into the dictionary file + * @returns {any} + */ + addToDictionary(customWord: string): any; + } + export namespace SpellCheck { + + export interface Model { + + /** It includes the service method path to find the error words and its suggestions also adding the custom word into the custom dictionary. + */ + dictionarySettings?: DictionarySettings; + + /** To display the error word in a customized style. + * @Default {e-errorword} + */ + misspellWordCss?: string; + + /** Sets the specific culture to the SpellCheck. + * @Default {en-US} + */ + locale?: string; + + /** To set the maximum suggestion display count. + * @Default {6} + */ + maxSuggestionCount?: number; + + /** To ignore the words from the error word consideration. + * @Default {[]} + */ + ignoreWords?: any[]; + + /** Holds all options related to the context menu settings of SpellCheck. + */ + contextMenuSettings?: ContextMenuSettings; + + /** It helps to ignore the uppercase, mixed case words, alpha numeric words, file path and email addresses based on the property values. + */ + ignoreSettings?: IgnoreSettings; + + /** When set to true, allows the spellcheck to render based upon screen size. + * @Default {true} + */ + isResponsive?: boolean; + + /** It allows to spell check the multiple target HTML element's texts and correct its error words. + * @Default {null} + */ + controlsToValidate?: string; + + /** Triggers on the success of AJAX call request. */ + actionSuccess?(e: ActionSuccessEventArgs): void; + + /** Triggers on the AJAX call request beginning. */ + actionBegin?(e: ActionBeginEventArgs): void; + + /** Triggers when the AJAX call request failure. */ + actionFailure?(e: ActionFailureEventArgs): void; + + /** Triggers when the dialog mode spell check starting. */ + start?(e: StartEventArgs): void; + + /** Triggers when the spell check operations completed through dialog mode. */ + complete?(e: CompleteEventArgs): void; + + /** Triggers before context menu opening. */ + contextOpen?(e: ContextOpenEventArgs): void; + + /** Triggers when the context menu item clicked. */ + contextClick?(e: ContextClickEventArgs): void; + + /** Triggers before the spell check dialog opens. */ + dialogBeforeOpen?(e: DialogBeforeOpenEventArgs): void; + /** Triggers after the spell check dialog opens. */ + dialogOpen?(e: DialogOpenEventArgs): void; + + /** Triggers when the spell check dialog closed. */ + dialogClose?(e: DialogCloseEventArgs): void; + + /** Triggers when the spell check control performing the spell check operations such as ignore, ignoreAll, change, changeAll and addToDictionary. */ + validating?(e: ValidatingEventArgs): void; + + /** Triggers before loading the target HTML element text into the dialog sentence area. */ + targetUpdating?(e: TargetUpdatingEventArgs): void; + } + + export interface ActionSuccessEventArgs { + + /** Returns the error word highlighted string. + */ + resultHTML?: string; + + /** Returns the error word details of the given input. + */ + errorWordDetails?: any; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ActionBeginEventArgs { + + /** Returns the input string. + */ + targetSentence?: string; + + /** Returns the misspellWordCss class name. + */ + misspellWordCss?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ActionFailureEventArgs { + + /** Returns AJAX request failure error message. + */ + errorMessage?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface StartEventArgs { + + /** Returns the input string. + */ + targetSentence?: string; + + /** Returns the error words details. + */ + errorWords?: any; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface CompleteEventArgs { + + /** Returns the error word highlighted string. + */ + resultHTML?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ContextOpenEventArgs { + + /** Returns the selected error word. + */ + selectedErrorWord?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ContextClickEventArgs { + + /** Returns the selected error word. + */ + selectedValue?: string; + + /** Returns the selected option in the context menu. + */ + selectedOption?: string; + + /** Returns the input string. + */ + targetContent?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DialogBeforeOpenEventArgs { + + /** Returns the spell check window details. + */ + spellCheckDialog?: any; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DialogOpenEventArgs { + + /** Returns the target input. + */ + targetText?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DialogCloseEventArgs { + + /** Returns the error corrected string. + */ + updatedText?: string; + + /** Returns the request type value. + */ + requestType?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface ValidatingEventArgs { + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the error word to ignore. + */ + ignoreWord?: string; + + /** Returns the target content. + */ + targetContent?: string; + + /** Returns the index of an error word. + */ + index?: number; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the validating request type. + */ + requestType?: string; + + /** Returns the name of the event. + */ + type?: string; + + /** Returns the error word to change. + */ + changeableWord?: string; + + /** Returns the change word to replace the error word. + */ + changeWord?: string; + + /** Returns the custom word to add into dictionary file. + */ + customWord?: string; + } + + export interface TargetUpdatingEventArgs { + + /** Returns the previous target element value. + */ + previousElement?: any; + + /** Returns the current target element value. + */ + currentElement?: any; + + /** Returns the target html value. + */ + targetHtml?: string; + + /** Returns the cancel option value. + */ + cancel?: boolean; + + /** Returns the SpellCheck model. + */ + model?: ej.SpellCheck.Model; + + /** Returns the name of the event. + */ + type?: string; + } + + export interface DictionarySettings { + + /** The dictionaryUrl option accepts string, which is the method path to find the error words and get the suggestions to correct the errors. + */ + dictionaryUrl?: string; + + /** The customDictionaryUrl option accepts string, which is the method path to add the error word into the custom dictionary. + */ + customDictionaryUrl?: string; + } + + export interface ContextMenuSettings { + + /** When set to true, enables the context menu options available for the SpellCheck. + * @Default {true} + */ + enable?: boolean; + + /** Contains all the default context menu options that are applicable for SpellCheck. It also supports adding custom menu items. + * All the SpellCheck related context menu items are grouped under this menu collection. + * @Default {{% highlight javascript %}[{ id: IgnoreAll, text: Ignore All },{ id: AddToDictionary, text: Add To Dictionary }]{% endhighlight %}} + */ + menuItems?: any[]; + } + + export interface IgnoreSettings { + + /** When set to true, ignoring the alphanumeric words from the error word consideration. + * @Default {true} + */ + ignoreAlphaNumericWords?: string; + + /** When set to true, ignoring the Email address from the error word consideration. + * @Default {true} + */ + ignoreEmailAddress?: boolean; + + /** When set to true, ignoring the MixedCase words from the error word consideration. + * @Default {true} + */ + ignoreMixedCaseWords?: boolean; + + /** When set to true, ignoring the UpperCase words from the error word consideration. + * @Default {true} + */ + ignoreUpperCase?: boolean; + + /** When set to true, ignoring the Url from the error word consideration. + * @Default {true} + */ + ignoreUrl?: boolean; + + /** When set to true, ignoring the file address path from the error word consideration. + * @Default {true} + */ + ignoreFileNames?: boolean; + } } - export interface XLResize { + class DocumentEditor extends ej.Widget { + static fn: DocumentEditor; + constructor(element: JQuery | Element, options?: DocumentEditor.Model); + static Locale: any; + model: DocumentEditor.Model; + defaults: DocumentEditor.Model; - /** This method is used to fit the height of rows in the Spreadsheet. - * @param {Array} Optional. Pass row index collection that you want to fit its height. + /** Loads the document from specified path using web API provided by importUrl. + * @param {string} Specifies the file path. * @returns {void} */ - fitHeight(rowIndexes: any[]): void; + load(path: string): void; - /** This method is used to fit the width of columns in the Spreadsheet. - * @param {Array} Optional. Pass column index collection that you want to fit its width. - * @returns {void} - */ - fitWidth(colIndexes: any[]): void; - - /** This method is used to get the column width of the specified column index in the Spreadsheet. - * @param {number} Pass the column index. + /** Gets the page number of current selection in the document. * @returns {number} */ - getColWidth(colIdx: number): number; + getCurrentPageNumber(): number; - /** This method is used to get the row height of the specified row index in the Spreadsheet. - * @param {number} Pass the row index which you want to find its height. + /** Gets the total number of pages in the document. * @returns {number} */ - getRowHeight(rowIdx: number): number; + getPageCount(): number; - /** This method is used to set the column width of the specified column index in the Spreadsheet. - * @param {number} Pass the column index. - * @param {number} Pass the width value that you want to set. - * @returns {void} - */ - setColWidth(colIdx: number, size: number): void; - - /** This method is used to set the row height of the specified row index in the Spreadsheet. - * @param {number} Pass the row index. - * @param {number} Pass the height value that you want to set. - * @returns {void} - */ - setRowHeight(rowIdx: number, size: number): void; - } - - export interface XLRibbon { - - /** This method is used to add a new item in the backstage. - * @param {any} Specifies the item to be added in the backstage. - * @param {number} pass the index of the item to be added in the backstage. - * @returns {void} - */ - addBackStageItem(pageItem: any, index: number): void; - - /** This method is used to dynamically add the contextual tabs in the ribbon. - * @param {any} Specifies the contextual tab set object. - * @param {number} pass the index of the contextual tab. - * @returns {void} - */ - addContextualTabs(contextualTabSet: any, index: number): void; - - /** This method is used to dynamically add the menu item in the file menu. - * @param {Array} Specifies the item to be added - * @param {number} pass the index of the menu item. - * @returns {void} - */ - addMenuItem(item: any[], index: number): void; - - /** This method is used to add a new name in the Spreadsheet name manager. - * @param {string} Pass the name that you want to define in name manager. - * @param {string} Pass the cell reference. - * @param {string} Optional. Pass comment, if you want. - * @param {number} Optional. Pass the sheet index. - * @returns {void} - */ - addNamedRange(name: string, refersTo: string, comment: string, sheetIdx: number): void; - - /** This method is used to dynamically add the tab in the ribbon. - * @param {Array} Specifies the text to be displayed in the tab. - * @param {number} pass the groups to be displayed in the ribbon tab. - * @param {number} pass the index of the tab. - * @returns {void} - */ - addTab(tabText: any[], ribbonGroups: number, index: number): void; - - /** This method is used to dynamically add the tab group in the ribbon. - * @param {number} Specifies the ribbon tab index. - * @param {any} pass the groups to be displayed in the ribbon tab. - * @param {number} pass the index of the ribbon group. - * @returns {void} - */ - addTabGroup(tabIndex: number, tabGroup: any, groupIndex: number): void; - - /** This method is used to insert the few type (SUM, MAX, MIN, AVG, COUNT) of formulas in the selected range of cells in the Spreadsheet. - * @param {string} To pass the type("SUM","MAX","MIN","AVG","COUNT"). - * @param {string|Array} If range is specified, it will apply auto sum for the specified range else it will use the current selected range. - * @returns {void} - */ - autoSum(type: string, range: string | any[]): void; - - /** This method is used to hide the file menu in the ribbon tab. - * @returns {void} - */ - hideMenu(): void; - - /** This method is used to remove the item from the backstage in the spreadsheet. - * @param {number} Specifies the index of the item to be removed from backstage. - * @returns {void} - */ - removeBackStageItem(index: number): void; - - /** This method is used to remove the menu item form file menu in spreadsheet. - * @param {number} Specifies the index of the item to be removed from the file menu. - * @returns {void} - */ - removeMenuItem(index: number): void; - - /** This method is used to delete the defined name in the Spreadsheet name manager. - * @param {string} Pass the defined name that you want to remove from name manager. - * @returns {void} - */ - removeNamedRange(name: string): void; - - /** This method is used to remove the tab form ribbon in the spreadsheet. - * @param {number} Specifies the index of the tab to be removed from the ribbon. - * @param {boolean} pass the boolean value to remove the tab from ribbon - * @returns {void} - */ - removeTab(index: number, isRemoveMenu: boolean): void; - - /** This method is used to remove the tab group form ribbon in the spreadsheet. - * @param {number} Specifies the index of the tab group to be removed from the ribbon. - * @param {string} Specifies the text to be displayed in the tab group - * @returns {void} - */ - removeTabGroup(tabIndex: number, groupText: string): void; - - /** This method is used to show the file menu in the ribbon tab. - * @returns {void} - */ - showMenu(): void; - - /** This method is used to update the menu item in the file menu. - * @param {any} Specifies the menu item to be updated in the ribbon - * @param {number} pass the index of the item to be updated - * @returns {void} - */ - updateMenuItem(item: any, index: number): void; - - /** This method is used to update the ribbon icons in the Spreadsheet. - * @returns {void} - */ - updateRibbonIcons(): void; - } - - export interface XLSearch { - - /** This method is used to find and replace all data by workbook in the Spreadsheet. - * @param {string} Pass the search data. - * @param {string} Pass the replace data. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. - * @returns {void} - */ - replaceAllByBook(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; - - /** This method is used to find and replace all data by sheet in Spreadsheet. - * @param {string} Pass the search data. - * @param {string} Pass the replace data. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with case-sensitive. - * @param {boolean} Pass {{'`true`' | markdownify}}, if you want to match with entire cell contents. - * @returns {void} - */ - replaceAllBySheet(findData: string, replaceData: string, isCSen: boolean, isEMatch: boolean): void; - } - - export interface XLSelection { - - /** This method is used to clear the selection of the active sheet in the Spreadsheet. - * @returns {void} - */ - clearAll(): void; - - /** This method is used to get the selected cells element based on specified sheet index in the Spreadsheet. - * @param {number} Pass the sheet index to get the cells element. - * @returns {HTMLElement} - */ - getSelectedCells(sheetIdx: number): HTMLElement; - - /** This method is used to refresh the selection in the Spreadsheet. - * @param {Array|string} Optional. Pass range to refresh selection. - * @returns {void} - */ - refreshSelection(range: any[] | string): void; - - /** This method is used to select a single column in the Spreadsheet. - * @param {number} Pass the column index value. - * @returns {void} - */ - selectColumn(colIdx: number): void; - - /** This method is used to select entire columns in a specified range (start index and end index) in the Spreadsheet. - * @param {number} Pass the column start index. - * @param {number} Pass the column end index. - * @returns {void} - */ - selectColumns(startIdx: number, endIdx: number): void; - - /** This method is used to select the specified range of cells in the Spreadsheet. - * @param {string} Pass range which want to select. - * @returns {void} - */ - selectRange(range: string): void; - - /** This method is used to select a single row in the Spreadsheet. - * @param {number} Pass the row index value. - * @returns {void} - */ - selectRow(rowIdx: number): void; - - /** This method is used to select entire rows in a specified range (start index and end index) in the Spreadsheet. - * @param {number} Pass the start row index. - * @param {number} Pass the end row index. - * @returns {void} - */ - selectRows(startIdx: number, endIdx: number): void; - - /** This method is used to select all cells in active sheet. - * @returns {void} - */ - selectSheet(): void; - } - - export interface XLShape { - - /** This method is used to set a picture in the Spreadsheet. - * @param {string} Pass the range of the cell. - * @param {string} Pass the path of the specified image. - * @param {number} Optional. Pass the width of the image that you want to set. - * @param {number} Optional. Pass the height of the image that you want to set. - * @param {number} Optional. Pass the top of the image that you want to set. - * @param {number} Optional. Pass the left of the image that you want to set. + /** Gets the text of current selection in the document. * @returns {string} */ - setPicture(range: string, url: string, width: number, height: number, top: number, left: number): string; - } + getSelectedText(): string; - export interface XLSort { + /** Gets the current zoom factor value of the document editor. + * @returns {number} + */ + getZoomFactor(): number; - /** This method is used to sort a particular range of cells based on its cell or font color in the Spreadsheet. - * @param {string} Pass {{'`PutCellColor`' | markdownify}} to sort by cell color or {{'`PutFontColor`' | markdownify}} for sort by font color. - * @param {any} Pass the HEX color code to sort. - * @param {string} Pass the range + /** Scales the document editor with the specified zoom factor. The range of zoom factor should be 0.10 to 5.00 (10 - 500 %). + * @param {number} Specifies the factor for zooming. * @returns {void} */ - sortByColor(operation: string, color: any, range: string): void; + setZoomFactor(factor: number): void; - /** This method is used to sort a particular range of cells based on its values in the Spreadsheet. - * @param {Array|string} Pass the range to sort. - * @param {string} Pass the column name. - * @param {any} Pass the direction to sort (ascending or descending). - * @returns {boolean} - */ - sortByRange(range: any[] | string, columnName: string, direction: any): boolean; - } - - export interface XLValidate { - - /** This method is used to apply data validation rules in a selected range of cells based on the defined condition in the Spreadsheet. - * @param {string|Array} If range is specified, it will apply rules for the specified range else it will use the current selected range. - * @param {Array} Pass the validation condition, value1 and value2. - * @param {string} Pass the data type. - * @param {boolean} Pass {{'`true`' | markdownify}} if you ignore blank values. - * @param {boolean} Pass {{'`true`' | markdownify}} if you want to show an error alert. + /** Prints the document content as page by page. * @returns {void} */ - applyDVRules(range: string | any[], values: any[], type: string, required: boolean, showErrorAlert: boolean): void; + print(): void; - /** This method is used to clear the applied validation rules in a specified range of cells in the Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. + /** Finds the first occurrence of specified text from current selection and highlights the result. If the document end is reached, find operation will occur from the document start position. + * @param {string} Specifies the text to search in a document. * @returns {void} */ - clearDV(range: string | any[]): void; - - /** This method is used to highlight invalid data in a specified range of cells in the Spreadsheet. - * @param {string|Array} Optional. If range is specified, it will clear rules for the specified range else it will use the current selected range. - * @returns {void} - */ - highlightInvalidData(range: string | any[]): void; - } - - export interface Model { - - /** Gets or sets an active sheet index in the Spreadsheet. By defining this value, you can specify which sheet should be active in workbook. - * @Default {1} - */ - activeSheetIndex?: number; - - /** Gets or sets a value that indicates whether to enable or disable auto rendering of cell type in the Spreadsheet. - * @Default {false} - */ - allowAutoCellType?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable auto fill feature in the Spreadsheet. - * @Default {true} - */ - allowAutoFill?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable auto sum feature in the Spreadsheet. - * @Default {true} - */ - allowAutoSum?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable cell format feature in the Spreadsheet. By enabling this, you can customize styles and number formats. - * @Default {true} - */ - allowCellFormatting?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable cell type feature in the Spreadsheet. - * @Default {false} - */ - allowCellType?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable chart feature in the Spreadsheet. By enabling this feature, you can create and customize charts in Spreadsheet. - * @Default {true} - */ - allowCharts?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable clear feature in the Spreadsheet. - * @Default {true} - */ - allowClear?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable clipboard feature in the Spreadsheet. By enabling this feature, you can perform cut/copy and paste operations in Spreadsheet. - * @Default {true} - */ - allowClipboard?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable comment feature in the Spreadsheet. By enabling this, you can add/delete/modify comments in Spreadsheet. - * @Default {true} - */ - allowComments?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable Conditional Format feature in the Spreadsheet. By enabling this, you can apply formatting to the selected range - * of cells based on the provided conditions (Greater than, Less than, Equal, Between, Contains, etc.). - * @Default {true} - */ - allowConditionalFormats?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable data validation feature in the Spreadsheet. - * @Default {true} - */ - allowDataValidation?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the delete action in the Spreadsheet. By enabling this feature, you can delete existing rows, columns, cells and sheet. - * @Default {true} - */ - allowDelete?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable drag and drop feature in the Spreadsheet. - * @Default {true} - */ - allowDragAndDrop?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the edit action in the Spreadsheet. - * @Default {true} - */ - allowEditing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable filtering feature in the Spreadsheet. Filtering can be used to limit the data displayed using required criteria. - * @Default {true} - */ - allowFiltering?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable table feature in the Spreadsheet. By enabling this, you can render table in selected range. - * @Default {true} - */ - allowFormatAsTable?: boolean; - - /** Get or sets a value that indicates whether to enable or disable format painter feature in the Spreadsheet. By enabling this feature, you can copy - * the format from the selected range and apply it to another range. - * @Default {true} - */ - allowFormatPainter?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable formula bar in the Spreadsheet. - * @Default {true} - */ - allowFormulaBar?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable freeze pane support in Spreadsheet. After enabling this feature, - * you can use freeze top row, freeze first column and freeze panes options. - * @Default {false} - */ - allowFreezing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable hyperlink feature in the Spreadsheet. By enabling this feature, you can add hyperlink which is used to - * easily navigate to the cell reference from one sheet to another or a web page. - * @Default {true} - */ - allowHyperlink?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable import feature in the Spreadsheet. By enabling this feature, you can open existing Spreadsheet documents. - * @Default {true} - */ - allowImport?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the insert action in the Spreadsheet. By enabling this feature, you can insert new rows, columns, cells and sheet. - * @Default {true} - */ - allowInsert?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable keyboard navigation feature in the Spreadsheet. - * @Default {true} - */ - allowKeyboardNavigation?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable lock cell feature in the Spreadsheet. - * @Default {true} - */ - allowLockCell?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable merge feature in the Spreadsheet. - * @Default {true} - */ - allowMerging?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable overflow feature in the Spreadsheet. - * @Default {true} - */ - allowOverflow?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable resizing feature in the Spreadsheet. By enabling this feature, you can change the column width and - * row height by dragging its header boundaries. - * @Default {true} - */ - allowResizing?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable find and replace feature in the Spreadsheet. By enabling this, you can easily find and replace - * a specific value in the sheet or workbook. By using goto behavior, you can select and highlight all cells that contains specific data or data types. - * @Default {true} - */ - allowSearching?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable selection in the Spreadsheet. By enabling this feature, selected items will be highlighted. - * @Default {true} - */ - allowSelection?: boolean; - - /** Gets or sets a value that indicates whether to enable the sorting feature in the Spreadsheet. - * @Default {true} - */ - allowSorting?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable undo and redo feature in the Spreadsheet. - * @Default {true} - */ - allowUndoRedo?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable wrap text feature in the Spreadsheet. By enabling this, cell content can wrap to the next line, - * if the cell content exceeds the boundary of the cell. - * @Default {true} - */ - allowWrap?: boolean; - - /** Gets or sets a value that indicates to define the width of the activation panel in Spreadsheet. - * @Default {300} - */ - apWidth?: number; - - /** Gets or sets an object that indicates to customize the auto fill behavior in the Spreadsheet. - */ - autoFillSettings?: AutoFillSettings; - - /** Gets or sets an object that indicates to customize the chart behavior in the Spreadsheet. - */ - chartSettings?: ChartSettings; - - /** Gets or sets a value that defines the number of columns displayed in the sheet. - * @Default {21} - */ - columnCount?: number; - - /** Gets or sets a value that indicates to define the common width for each column in the Spreadsheet. - * @Default {64} - */ - columnWidth?: number; - - /** Gets or sets a value to add root CSS class for customizing Spreadsheet skins. - */ - cssClass?: string; - - /** Gets or sets a value that indicates custom formulas in Spreadsheet. - * @Default {[]} - */ - customFormulas?: any[]; - - /** Gets or sets a value that indicates whether to enable or disable context menu in the Spreadsheet. - * @Default {true} - */ - enableContextMenu?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable pivot table in the Spreadsheet. - * @Default {false} - */ - enablePivotTable?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable touch support in the Spreadsheet. - * @Default {true} - */ - enableTouch?: boolean; - - /** Gets or sets an object that indicates to customize the exporting behavior in Spreadsheet. - */ - exportSettings?: ExportSettings; - - /** Gets or sets an object that indicates to customize the format behavior in the Spreadsheet. - */ - formatSettings?: FormatSettings; - - /** Gets or sets an object that indicates to customize the import behavior in the Spreadsheet. - */ - importSettings?: ImportSettings; - - /** Gets or sets a value that indicates whether to enable or disable readonly support in the Spreadsheet. - * @Default {false} - */ - isReadOnly?: boolean; - - /** Gets or sets a value that indicates whether to customizing the user interface (UI) as locale-specific in order to display regional data (i.e.) - * in a language and culture specific to a particular country or region. - * @Default {en-US} - */ - locale?: string; - - /** Gets or sets an object that indicates to customize the picture behavior in the Spreadsheet. - */ - pictureSettings?: PictureSettings; - - /** Gets or sets an object that indicates to customize the print option in Spreadsheet. - */ - printSettings?: PrintSettings; - - /** Gets or sets an object that indicates to customize the ribbon settings in Spreadsheet. - */ - ribbonSettings?: RibbonSettings; - - /** Gets or sets a value that indicates whether to define the number of rows to be displayed in the sheet. - * @Default {20} - */ - rowCount?: number; - - /** Gets or sets a value that indicates to define the common height for each row in the sheet. - * @Default {20} - */ - rowHeight?: number; - - /** Gets or sets an object that indicates to customize the scroll options in the Spreadsheet. - */ - scrollSettings?: ScrollSettings; - - /** Gets or sets an object that indicates to customize the selection options in the Spreadsheet. - */ - selectionSettings?: SelectionSettings; - - /** Gets or sets a value that indicates to define the number of sheets to be created at the initial load. - * @Default {1} - */ - sheetCount?: number; - - /** Gets or sets an object that indicates to customize the sheet behavior in Spreadsheet. - */ - sheets?: Sheet[]; - - /** Gets or sets a value that indicates whether to show or hide pager in the Spreadsheet. - * @Default {true} - */ - showPager?: boolean; - - /** Gets or sets a value that indicates whether to show or hide ribbon in the Spreadsheet. - * @Default {true} - */ - showRibbon?: boolean; - - /** This is used to set the number of undo-redo steps in the Spreadsheet. - * @Default {20} - */ - undoRedoStep?: number; - - /** Define the username for the Spreadsheet which is displayed in comment. - * @Default {User Name} - */ - userName?: string; - - /** Triggered for every action before its starts. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggered for every action complete. */ - actionComplete?(e: ActionCompleteEventArgs): void; - - /** Triggered when the auto fill operation begins. */ - autoFillBegin?(e: AutoFillBeginEventArgs): void; - - /** Triggered when the auto fill operation completes. */ - autoFillComplete?(e: AutoFillCompleteEventArgs): void; - - /** Triggered before the batch save. */ - beforeBatchSave?(e: BeforeBatchSaveEventArgs): void; - - /** Triggered before the cells to be formatted. */ - beforeCellFormat?(e: BeforeCellFormatEventArgs): void; - - /** Triggered before the cell selection. */ - beforeCellSelect?(e: BeforeCellSelectEventArgs): void; - - /** Triggered before the selected cells are dropped. */ - beforeDrop?(e: BeforeDropEventArgs): void; - - /** Triggered while start to edit the comment. */ - beforeEditComment?(e: BeforeEditCommentEventArgs): void; - - /** Triggered before the contextmenu is open. */ - beforeOpen?(e: BeforeOpenEventArgs): void; - - /** Triggered before the activation panel is open. */ - beforePanelOpen?(e: BeforePanelOpenEventArgs): void; - - /** Triggered when click on sheet cell. */ - cellClick?(e: CellClickEventArgs): void; - - /** Triggered when the cell is edited. */ - cellEdit?(e: CellEditEventArgs): void; - - /** Triggered while cell is formatting. */ - cellFormatting?(e: CellFormattingEventArgs): void; - - /** Triggered when mouse hover on cell in sheets. */ - cellHover?(e: CellHoverEventArgs): void; - - /** Triggered when save the edited cell. */ - cellSave?(e: CellSaveEventArgs): void; - - /** Triggered when the cell is selected. */ - cellSelected?(e: CellSelectedEventArgs): void; - - /** Triggered when click the contextmenu items. */ - contextMenuClick?(e: ContextMenuClickEventArgs): void; - - /** Triggered when the selected cells are being dragged. */ - drag?(e: DragEventArgs): void; - - /** Triggered when you start to drag the picture or chart. */ - dragShape?(e: DragShapeEventArgs): void; - - /** Triggered when the selected cells are initiated to drag. */ - dragStart?(e: DragStartEventArgs): void; - - /** Triggered when the selected cells are dropped. */ - drop?(e: DropEventArgs): void; - - /** Triggered before the range editing starts. */ - editRangeBegin?(e: EditRangeBeginEventArgs): void; - - /** Triggered after range editing completes. */ - editRangeComplete?(e: EditRangeCompleteEventArgs): void; - - /** Triggered when the key is pressed down. */ - keyDown?(e: KeyDownEventArgs): void; - - /** Triggered when the key is released. */ - keyUp?(e: KeyUpEventArgs): void; - - /** Triggered before the sheet is loaded. */ - load?(e: LoadEventArgs): void; - - /** Triggered after the sheet is loaded. */ - loadComplete?(e: LoadCompleteEventArgs): void; - - /** Triggered every click of the menu item. */ - menuClick?(e: MenuClickEventArgs): void; - - /** Triggered when a file is imported. */ - onImport?(e: OnImportEventArgs): void; - - /** Triggered when import sheet is failed to open. */ - openFailure?(e: OpenFailureEventArgs): void; - - /** Triggered when pager item is clicked in the Spreadsheet. */ - pagerClick?(e: PagerClickEventArgs): void; - - /** Triggered when you start resizing the chart, picture, row and column. */ - resizeStart?(e: ResizeStartEventArgs): void; - - /** Triggered after end of resizing the chart, picture, row and column. */ - resizeEnd?(e: ResizeEndEventArgs): void; - - /** Triggered when click on the ribbon. */ - ribbonClick?(e: RibbonClickEventArgs): void; - - /** Triggered when the chart series rendering. */ - seriesRendering?(e: SeriesRenderingEventArgs): void; - - /** Triggered when click the ribbon tab. */ - tabClick?(e: TabClickEventArgs): void; - - /** Triggered when select the ribbon tab. */ - tabSelect?(e: TabSelectEventArgs): void; - } - - export interface ActionBeginEventArgs { - - /** Returns the applied style format object. - */ - afterFormat?: any; - - /** Returns the applied style format object. - */ - beforeFormat?: any; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the cell range. - */ - range?: any[]; - - /** Returns the action format. - */ - reqType?: string; - - /** Returns goto index while paging. - */ - gotoIdx?: number; - - /** Returns boolean value. If create new sheet it returns true. - */ - newSheet?: boolean; - - /** Return column name while sorting. - */ - columnName?: string; - - /** Returns selected columns while sorting or filtering begins. - */ - colSelected?: number; - - /** Returns sort direction while sort action begins. - */ - sortDirection?: string; - } - - export interface ActionCompleteEventArgs { - - /** Returns Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the applied cell format object. - */ - selectedCell?: any[] | any; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the request type. - */ - reqType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface AutoFillBeginEventArgs { - - /** Returns auto fill begin cell range. - */ - dataRange?: any[]; - - /** Returns which direction drag the auto fill. - */ - direction?: string; - - /** Returns fill cells range. - */ - fillRange?: any[]; - - /** Returns the auto fill type. - */ - fillType?: string; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface AutoFillCompleteEventArgs { - - /** Returns auto fill begin cell range. - */ - dataRange?: any[]; - - /** Returns which direction to drag the auto fill. - */ - direction?: string; - - /** Returns fill cells range. - */ - fillRange?: any[]; - - /** Returns the auto fill type. - */ - fillType?: string; - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeBatchSaveEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the query, primary key,batch changes for the data Source. - */ - dataSetting?: any; - - /** Returns the changed record object. - */ - batchChanges?: any; - } - - export interface BeforeCellFormatEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the applied style format object. - */ - format?: any; - - /** Returns the selected cells. - */ - cells?: any[] | any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface BeforeCellSelectEventArgs { - - /** Returns the previous cell range. - */ - prevRange?: any[]; - - /** Returns the current cell range. - */ - currRange?: any[]; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeDropEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the cell Overwriting alert option value. - */ - preventAlert?: boolean; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeEditCommentEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the comment cell index. - */ - cellIndex?: any; - - /** Returns the disable option value. - */ - disable?: boolean; - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns the value of the comment - */ - value?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforeOpenEventArgs { - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface BeforePanelOpenEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the activation panel element. - */ - activationPanel?: any; - - /** Returns the range option value. - */ - range?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellClickEventArgs { - - /** Returns the click cell element. - */ - cell?: HTMLElement; - - /** Returns the column index of clicked cell. - */ - columnIndex?: number; - - /** Returns the row index of clicked cell. - */ - rowIndex?: number; - - /** Returns the column name of clicked cell. - */ - columnName?: string; - - /** Returns the column information. - */ - columnObject?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the value of the cell. - */ - value?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellEditEventArgs { - - /** Returns the click cell element. - */ - cell?: HTMLElement; - - /** Returns the columnName of clicked cell. - */ - columnName?: string; - - /** Returns the column field information. - */ - columnObject?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellFormattingEventArgs { - - /** Returns the sheet index - */ - SheetIdx?: number; - - /** Returns the applied style format object - */ - Format?: any; - - /** Returns the cell index. - */ - Cell?: number; - - /** Returns the name of the CSS theme. - */ - cssClass?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - } - - export interface CellHoverEventArgs { - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface CellSaveEventArgs { - - /** Returns the save cell element. - */ - cell?: HTMLElement; - - /** Returns the columnName of clicked cell. - */ - columnName?: string; - - /** Returns the column field information. - */ - columnObject?: any; - - /** Returns the index of the row. - */ - rowIndex?: number; - - /** Returns the index of the column. - */ - colIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cell previous value. - */ - pValue?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cell value. - */ - value?: string; - } - - export interface CellSelectedEventArgs { - - /** Returns the active sheet index. - */ - sheetIdx?: number; - - /** Returns the selected range. - */ - selectedRange?: any[]; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ContextMenuClickEventArgs { - - /** Returns target element Id. - */ - Id?: string; - - /** Returns the target element. - */ - element?: HTMLElement; - - /** Returns event information. - */ - event?: any; - - /** Returns target element and event information. - */ - events?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns target element parent Id. - */ - parentId?: string; - - /** Returns target element parent text. - */ - parentText?: string; - - /** Returns target element text. - */ - text?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DragEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DragShapeEventArgs { - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DragStartEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface DropEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the current cell row and column index. - */ - currentCell?: any; - - /** Returns the drag cells range object. - */ - dragAndDropRange?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the target item. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface EditRangeBeginEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the range option value. - */ - range?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface EditRangeCompleteEventArgs { - - /** Returns the sheet index. - */ - sheetIdx?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the range option value. - */ - range?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface KeyDownEventArgs { - - /** Returns the sheet index. - */ - sheetIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the boolean value. - */ - isCommentEdit?: boolean; - - /** Returns the boolean value. - */ - isEdit?: boolean; - - /** Returns the boolean value. - */ - isSheetRename?: boolean; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface KeyUpEventArgs { - - /** Returns the sheet index. - */ - sheetIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the boolean value. - */ - isCommentEdit?: boolean; - - /** Returns the boolean value. - */ - isEdit?: boolean; - - /** Returns the boolean value. - */ - isSheetRename?: boolean; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface LoadEventArgs { - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the active sheet index. - */ - sheetIndex?: number; - } - - export interface LoadCompleteEventArgs { - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface MenuClickEventArgs { - - /** Returns menu click element. - */ - element?: HTMLElement; - - /** Returns the event information. - */ - event?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns target element parent Id. - */ - parentId?: string; - - /** Returns target element parent text. - */ - parentText?: string; - - /** Returns target element text. - */ - text?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface OnImportEventArgs { - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the imported data. - */ - importData?: any; - } - - export interface OpenFailureEventArgs { - - /** Returns the failure type. - */ - failureType?: string; - - /** Returns the status index. - */ - status?: number; - - /** Returns the status in text. - */ - statusText?: string; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface PagerClickEventArgs { - - /** Returns the active sheet index. - */ - activeSheet?: number; - - /** Returns the new sheet index. - */ - gotoSheet?: number; - - /** Returns whether new sheet icon is clicked. - */ - newSheet?: boolean; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ResizeStartEventArgs { - - /** Returns the column index which column you start to resize. - */ - colIndex?: number; - - /** Returns the row index which row you start to resize. - */ - rowIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns type of the request. - */ - reqType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface ResizeEndEventArgs { - - /** Returns the column index which you resized. - */ - colIndex?: number; - - /** Returns old width of the column or shape. - */ - oldWidth?: number; - - /** Returns new width of the column or shape. - */ - newWidth?: number; - - /** Returns the row index which you resized. - */ - rowIndex?: number; - - /** Returns old height of the row or shape. - */ - oldHeight?: number; - - /** Returns new height of the row or shape. - */ - newHeight?: number; - - /** Returns the Spreadsheet model. - */ - model?: any; - - /** Returns type of the request. - */ - reqType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface RibbonClickEventArgs { - - /** Returns element Id. - */ - Id?: string; - - /** Returns target information. - */ - prop?: any; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns status. - */ - status?: boolean; - - /** Returns isChecked in boolean. - */ - isChecked?: boolean; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface SeriesRenderingEventArgs { - - /** Returns chart data and chart information. - */ - data?: any; - - /** Returns the chart model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface TabClickEventArgs { - - /** Returns the active tab index. - */ - activeIndex?: number; - - /** Returns active tab header element. - */ - activeHeader?: any; - - /** Returns previous active tab header element. - */ - prevActiveHeader?: any; - - /** Returns previous active tab index. - */ - prevActiveIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface TabSelectEventArgs { - - /** Returns the active tab index. - */ - activeIndex?: number; - - /** Returns active tab header element. - */ - activeHeader?: any; - - /** Returns previous active tab header element. - */ - prevActiveHeader?: any; - - /** Returns previous active tab index. - */ - prevActiveIndex?: number; - - /** Returns the Spreadsheet model. - */ - model?: ej.Spreadsheet.Model; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the target element. - */ - target?: HTMLElement; - - /** Returns the cancel option value. - */ - cancel?: boolean; - } - - export interface AutoFillSettings { - - /** This property is used to set fillType unit in Spreadsheet. It has five types which are CopyCells, FillSeries, FillFormattingOnly, FillWithoutFormatting and FlashFill. - * @Default {ej.Spreadsheet.AutoFillOptions.FillSeries} - */ - fillType?: ej.Spreadsheet.AutoFillOptions | string; - - /** Gets or sets a value that indicates to enable or disable auto fill options in the Spreadsheet. - * @Default {true} - */ - showFillOptions?: boolean; - } - - export interface ChartSettings { - - /** Gets or sets a value that defines the chart height in Spreadsheet. - * @Default {220} - */ - height?: number; - - /** Gets or sets a value that defines the chart width in the Spreadsheet. - * @Default {440} - */ - width?: number; - } - - export interface ExportSettings { - - /** Gets or sets a value that indicates whether to enable or disable save feature in Spreadsheet. By enabling this feature, you can save existing Spreadsheet. - * @Default {true} - */ - allowExporting?: boolean; - - /** Gets or sets a value that indicates to define csvUrl for export to CSV format. - * @Default {null} - */ - csvUrl?: string; - - /** Gets or sets a value that indicates to define excelUrl for export to excel format. - * @Default {null} - */ - excelUrl?: string; - - /** Gets or sets a value that indicates to define password while export to excel format. - * @Default {null} - */ - password?: string; - - /** Gets or sets a value that indicates to define pdfUrl for export to PDF format. - * @Default {null} - */ - pdfUrl?: string; - } - - export interface FormatSettings { - - /** Gets or sets a value that indicates whether to enable or disable cell border feature in the Spreadsheet. - * @Default {true} - */ - allowCellBorder?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable decimal places in the Spreadsheet. - * @Default {true} - */ - allowDecimalPlaces?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable font family feature in Spreadsheet. - * @Default {true} - */ - allowFontFamily?: boolean; - } - - export interface ImportSettings { - - /** Sets import mapper to perform import feature in Spreadsheet. - */ - importMapper?: string; - - /** Gets or sets a value that indicates whether to enable or disable import while initial loading. - * @Default {false} - */ - importOnLoad?: boolean; - - /** Sets import URL to access the online files in the Spreadsheet. - */ - importUrl?: string; - - /** Gets or sets a value that indicates to define password while importing in the Spreadsheet. - */ - password?: string; - } - - export interface PictureSettings { - - /** Gets or sets a value that indicates whether to enable or disable picture feature in Spreadsheet. By enabling this, you can add pictures in Spreadsheet. - * @Default {true} - */ - allowPictures?: boolean; - - /** Gets or sets a value that indicates to define height to picture in the Spreadsheet. - * @Default {220} - */ - height?: number; - - /** Gets or sets a value that indicates to define width to picture in the Spreadsheet. - * @Default {440} - */ - width?: number; - } - - export interface PrintSettings { - - /** Gets or sets a value that indicates whether to enable or disable page setup support for printing in Spreadsheet. - * @Default {true} - */ - allowPageSetup?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable page size support for printing in Spreadsheet. - * @Default {false} - */ - allowPageSize?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable print feature in the Spreadsheet. - * @Default {true} - */ - allowPrinting?: boolean; - } - - export interface RibbonSettingsApplicationTabMenuSettings { - - /** Gets or sets a value that indicates whether to enable or disable isAppend property in ribbon settings. - * @Default {false} - */ - isAppend?: boolean; - - /** Specifies the data source to append in application tab. - * @Default {[]} - */ - dataSource?: any[]; - } - - export interface RibbonSettingsApplicationTab { - - /** Gets or sets a value that indicates to set application tab type in Spreadsheet. It has two types, Menu and Backstage. - * @Default {ej.Ribbon.ApplicationTabType.Backstage} - */ - type?: ej.Ribbon.ApplicationTabType | string; - - /** Gets or sets an object that indicates menu settings for application tab in Spreadsheet. - */ - menuSettings?: RibbonSettingsApplicationTabMenuSettings; - } - - export interface RibbonSettings { - - /** Gets or sets an object that indicates application tab settings in Spreadsheet. - */ - applicationTab?: RibbonSettingsApplicationTab; - } - - export interface ScrollSettings { - - /** Gets or sets a value that indicates whether to enable or disable scrolling in Spreadsheet. - * @Default {true} - */ - allowScrolling?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable sheet on demand. By enabling this, it render only the active sheet element while paging remaining sheets are created one by one. - * @Default {false} - */ - allowSheetOnDemand?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable virtual scrolling feature in the Spreadsheet. - * @Default {true} - */ - allowVirtualScrolling?: boolean; - - /** Gets or sets the value that indicates to define the height of spreadsheet. - * @Default {100%} - */ - height?: number | string; - - /** Gets or sets the value that indicates whether to enable or disable responsive mode in the Spreadsheet. - * @Default {true} - */ - isResponsive?: boolean; - - /** Gets or sets a value that indicates to set scroll mode in Spreadsheet. It has two scroll modes, Normal and Infinite. - * @Default {ej.Spreadsheet.scrollMode.Infinite} - */ - scrollMode?: ej.Spreadsheet.scrollMode | string; - - /** Gets or sets the value that indicates to define the height of the spreadsheet. - * @Default {100%} - */ - width?: number | string; - } - - export interface SelectionSettings { - - /** Gets or sets a value that indicates to define active cell in spreadsheet. - */ - activeCell?: string; - - /** Gets or sets a value that indicates to define animation time while selection in the Spreadsheet. - * @Default {0.001} - */ - animationTime?: number; - - /** Gets or sets a value that indicates to enable or disable animation while selection. - * @Default {false} - */ - enableAnimation?: boolean; - - /** Gets or sets a value that indicates to set selection type in Spreadsheet. It has three types which are Column, Row and Default. - * @Default {ej.Spreadsheet.SelectionType.Default} - */ - selectionType?: ej.Spreadsheet.SelectionType | string; - - /** Gets or sets a value that indicates to set selection unit in Spreadsheet. It has three types which are Single, Range and MultiRange. - * @Default {ej.Spreadsheet.SelectionUnit.MultiRange} - */ - selectionUnit?: ej.Spreadsheet.SelectionUnit | string; - } - - export interface SheetsBorder { - - /** - */ - type?: ej.Spreadsheet.BorderType | string; - - /** Specifies border color for range of cells in Spreadsheet. - */ - color?: string; - - /** To apply border for the specified range of cell. - */ - range?: string; - } - - export interface SheetsCFormatRule { - - /** Specifies the conditions to apply for the range of cells in Spreadsheet. - */ - action?: ej.Spreadsheet.CFormatRule | string; - - /** Specifies the color to apply for the range of cell while conditional formatting. - */ - color?: ej.Spreadsheet.CFormatHighlightColor | string; - - /** Specifies the inputs for conditional formatting in Spreadsheet. - * @Default {[]} - */ - inputs?: any[]; - - /** Specifies the range for conditional formatting in Spreadsheet. - */ - range?: string; - } - - export interface SheetsRangeSetting { - - /** Gets or sets the data to render the Spreadsheet. - * @Default {null} - */ - dataSource?: any; - - /** Specifies the header styles for the headers in datasource range. - * @Default {null} - */ - headerStyles?: any; - - /** Specifies the primary key for the datasource in Spreadsheet. - */ - primaryKey?: string; - - /** Specifies the query for the datasource in Spreadsheet. - * @Default {null} - */ - query?: any; - - /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. - * @Default {true} - */ - showHeader?: boolean; - - /** Specifies the start cell for the datasource range in Spreadsheet. - * @Default {A1} - */ - startCell?: string; - } - - export interface SheetsRowsCellsComment { - - /** Get or sets the value that indicates whether to show or hide comments in Spreadsheet. - * @Default {false} - */ - isVisible?: boolean; - - /** Specifies the value for the comment in Spreadsheet. - */ - value?: string; - } - - export interface SheetsRowsCellsFormat { - - /** Specifies the number of decimal places for the given input. - * @Default {2} - */ - decimalPlaces?: number; - - /** Specifies the string format for the given input. - */ - formatStr?: string; - - /** Specifies the thousand separator for the given input. - * @Default {false} - */ - thousandSeparator?: boolean; - - /** Specifies the type of the format in Spreadsheet. - */ - type?: string; - } - - export interface SheetsRowsCellsHyperlink { - - /** Specifies the web address for the hyperlink of a cell. - */ - webAddr?: string; - - /** Specifies the cell address for the hyperlink of a cell. - */ - cellAddr?: string; - - /** Specifies the sheet index to which the cell is referred. - * @Default {1} - */ - sheetIndex?: number; - } - - export interface SheetsRowsCellsStyle { - - /** Specifies the background color of a cell in the Spreadsheet. - */ - backgroundColor?: string; - - /** Specifies the font color of a cell in the Spreadsheet. - */ - color?: string; - - /** Specifies the font weight of a cell in the Spreadsheet. - */ - fontWeight?: string; - } - - export interface SheetsRowsCell { - - /** Specifies the comment for a cell in Spreadsheet. - * @Default {null} - */ - comment?: SheetsRowsCellsComment; - - /** Specifies the format of a cell in Spreadsheet. - * @Default {null} - */ - format?: SheetsRowsCellsFormat; - - /** Specifies the hyperlink for a cell in Spreadsheet. - * @Default {null} - */ - hyperlink?: SheetsRowsCellsHyperlink; - - /** Specifies the index of a cell in Spreadsheet. - * @Default {0} - */ - index?: number; - - /** Specifies whether to lock or unlock a particular cell. - * @Default {false} - */ - isLocked?: boolean; - - /** Specifies the styles of a cell in Spreadsheet. - * @Default {null} - */ - style?: SheetsRowsCellsStyle; - - /** Specifies the value for a cell in Spreadsheet. - */ - value?: string; - } - - export interface SheetsRow { - - /** Gets or sets the height of a row in Spreadsheet. - * @Default {20} - */ - height?: number; - - /** Specifies the cells of a row in Spreadsheet. - * @Default {[]} - */ - cells?: SheetsRowsCell[]; - - /** Gets or sets the index of a row in Spreadsheet. - * @Default {0} - */ - index?: number; - } - - export interface Sheet { - - /** Specifies the border for the cell in the Spreadsheet. - * @Default {[]} - */ - border?: SheetsBorder[]; - - /** Specifies the cell types for a cell or range in Spreadsheet. - * @Default {[]} - */ - cellTypes?: any[]; - - /** Specifies the conditional formatting for the range of cell in Spreadsheet. - * @Default {[]} - */ - cFormatRule?: SheetsCFormatRule[]; - - /** Gets or sets a value that indicates to define column count in the Spreadsheet. - * @Default {21} - */ - colCount?: number; - - /** Gets or sets a value that indicates to define column width in the Spreadsheet. - * @Default {64} - */ - columnWidth?: number; - - /** Gets or sets the data to render the Spreadsheet. - * @Default {null} - */ - dataSource?: any; - - /** Gets or sets a value that indicates whether to enable or disable field as column header in the Spreadsheet. - * @Default {false} - */ - fieldAsColumnHeader?: boolean; - - /** Gets or sets a value to freeze rows in the Spreadsheet. - * @Default {0} - */ - frozenRows?: number; - - /** Gets or sets a value to freeze columns in the Spreadsheet. - * @Default {0} - */ - frozenColumns?: number; - - /** Specifies the header styles for the headers in datasource range. - * @Default {null} - */ - headerStyles?: any; - - /** To hide the specified columns in Spreadsheet. - * @Default {[]} - */ - hideColumns?: any[]; - - /** To hide the specified rows in Spreadsheet. - * @Default {[]} - */ - hideRows?: any[]; - - /** To merge specified ranges in Spreadsheet. - * @Default {[]} - */ - mergeCells?: any[]; - - /** Specifies the primary key for the datasource in Spreadsheet. - */ - primaryKey?: string; - - /** Specifies the query for the dataSource in Spreadsheet. - * @Default {null} - */ - query?: any; - - /** Specifies single range or multiple range settings for a sheet in Spreadsheet. - * @Default {[]} - */ - rangeSettings?: SheetsRangeSetting[]; - - /** Gets or sets a value that indicates to define row count in the Spreadsheet. - * @Default {20} - */ - rowCount?: number; - - /** Specifies the rows for a sheet in Spreadsheet. - * @Default {[]} - */ - rows?: SheetsRow[]; - - /** Gets or sets a value that indicates whether to show or hide grid lines in the Spreadsheet. - * @Default {true} - */ - showGridlines?: boolean; - - /** Gets or sets a value that indicates whether to enable or disable the datasource header in Spreadsheet. - * @Default {true} - */ - showHeader?: boolean; - - /** Gets or sets a value that indicates whether to show or hide headings in the Spreadsheet. - * @Default {true} - */ - showHeadings?: boolean; - - /** Specifies the start cell for the datasource range in Spreadsheet. - * @Default {A1} - */ - startCell?: string; - } - - enum AutoFillOptions { - - ///Specifies the CopyCells property in AutoFillOptions. - CopyCells, - - ///Specifies the FillSeries property in AutoFillOptions. - FillSeries, - - ///Specifies the FillFormattingOnly property in AutoFillOptions. - FillFormattingOnly, - - ///Specifies the FillWithoutFormatting property in AutoFillOptions. - FillWithoutFormatting, - - ///Specifies the FlashFill property in AutoFillOptions. - FlashFill - } - - - enum scrollMode { - - ///To enable Infinite scroll mode for Spreadsheet. - Infinite, - - ///To enable Normal scroll mode for Spreadsheet. - Normal - } - - - enum SelectionType { - - ///To select only Column in Spreadsheet. - Column, - - ///To select only Row in Spreadsheet. - Row, - - ///To select both Column/Row in Spreadsheet. - Default - } - - - enum SelectionUnit { - - ///To enable Single selection in Spreadsheet - Single, - - ///To enable Range selection in Spreadsheet - Range, - - ///To enable MultiRange selection in Spreadsheet - MultiRange - } - - - enum BorderType { - - ///To apply top border for the given range of cell. - Top, - - ///To apply left border for the given range of cell. - Left, - - ///To apply right border for the given range of cell. - Right, - - ///To apply bottom border for the given range of cell. - Bottom, - - ///To apply outside border for the given range of cell. - OutSide, - - ///To apply all border for the given range of cell. - AllBorder, - - ///To apply thick box border for the given range of cell. - ThickBox, - - ///To apply thick bottom border for the given range of cell. - ThickBottom, - - ///To apply top and bottom border for the given range of cell. - TopandBottom, - - ///To apply top and thick bottom border for the given range of cell. - TopandThickBottom - } - - - enum CFormatRule { - - ///To identify greater than values in the given range of cells. - GreaterThan, - - ///To identify less than values in the given range of cells. - LessThan, - - ///To identify in between values in the given range of cells. - Between, - - ///To identify the equal values in the given range of cells. - EqualTo, - - ///To identify the specified text in the range of cells. - TextContains, - - ///To identify the specified date in the range of cells. - DateOccurs - } - - - enum CFormatHighlightColor { - - ///Highlights red with dark red text color. - RedFillwithDarkRedText, - - ///Highlights yellow with dark yellow text color. - YellowFillwithDarkYellowText, - - ///Highlights green with dark green text color. - GreenFillwithDarkGreenText, - - ///Highlights with red fill. - RedFill, - - ///Highlights with red text. - RedText - } - - - enum ChartProperties { - - ///Specifies to make the data label center of the chart. - DataLabelCenter, - - ///Specifies to make the data label inside base of the chart. - DataLabelInsideBase, - - ///Specifies to make the data label inside end of the chart. - DataLabelInsideEnd, - - ///Specifies to make the data label none of the chart. - DataLabelNone, - - ///Specifies to make the data label outside end of the chart. - DataLabelOutsideEnd, - - ///Specifies to make the legends to bottom of the chart. - LegendsBottom, - - ///Specifies to make the legends to left of the chart. - LegendsLeft, - - ///Specifies to make the legends to none of the chart. - LegendsNone, - - ///Specifies to make the legends to right of the chart. - LegendsRight, - - ///Specifies to make the legends to top of the chart. - LegendsTop, - - ///To set the primary horizontal of the chart. - PrimaryHorizontal, - - ///To set the primary horizontal axis title of the chart. - PrimaryHorizontalAxisTitle, - - ///To set the primary major horizontal of the chart. - PrimaryMajorHorizontal, - - ///To set the primary major vertical of the chart. - PrimaryMajorVertical, - - ///To set the primary minor horizontal of the chart. - PrimaryMinorHorizontal, - - ///To set the primary minor vertical of the chart. - PrimaryMinorVertical, - - ///To set the primary vertical of the chart. - PrimaryVertical, - - ///To set the primary vertical axis title of the chart. - PrimaryVerticalAxisTitle, - - ///Specifies to make the title to center of the chart. - TitleCenter, - - ///Specifies to make the title to far of the chart. - TitleFar, - - ///Specifies to make the title to near of the chart. - TitleNear, - - ///Specifies to make the title to none of the chart. - TitleNone - } - -} - -class PdfViewer extends ej.Widget { - static fn: PdfViewer; - constructor(element: JQuery | Element, options?: PdfViewer.Model); - static Locale: any; - model: PdfViewer.Model; - defaults: PdfViewer.Model; - - /** Loads the document with the filename and displays it in PDF viewer. - * @param {string} File name to be loaded - * @returns {void} - */ - load(fileName: string): void; - - /** Shows/hides the toolbar in the PDF viewer. - * @param {boolean} shows/hides the toolbar - * @returns {void} - */ - showToolbar(show: boolean): void; - - /** Prints the PDF document. - * @returns {void} - */ - print(): void; - - /** Abort the printing function and restores the PDF viewer. - * @returns {void} - */ - abortPrint(): void; - - /** Shows/hides the print icon in the toolbar. - * @param {boolean} shows/hides print button in the toolbar - * @returns {void} - */ - showPrintTools(show: boolean): void; - - /** Downloads the PDF document being loaded in the ejPdfViewer control. - * @returns {void} - */ - download(): void; - - /** Shows/hides the download tool in the toolbar. - * @param {boolean} shows/hides download button in the toolbar - * @returns {void} - */ - showDownloadTool(show: boolean): void; - - /** Shows/hides the page navigation tools in the toolbar - * @param {boolean} shows/hides navigation tools in the toolbar - * @returns {void} - */ - showPageNavigationTools(show: boolean): void; - - /** Navigates to the specific page in the PDF document. If the page is not available for the given pageNumber, PDF viewer retains the existing page in view. - * @param {number} navigates to the page number in the PDF document - * @returns {void} - */ - goToPage(pageNumber: number): void; - - /** Navigates to the last page of the PDF document. - * @returns {void} - */ - goToLastPage(): void; - - /** Navigates to the first page of PDF document. - * @returns {void} - */ - goToFirstPage(): void; - - /** Navigates to the next page of the PDF document. - * @returns {void} - */ - goToNextPage(): void; - - /** Navigates to the previous page of the PDF document. - * @returns {void} - */ - goToPreviousPage(): void; - - /** Shows/hides the zoom tools in the toolbar. - * @param {boolean} shows/hides zoom tools in the toolbar - * @returns {void} - */ - showMagnificationTools(show: boolean): void; - - /** Scales the page to fit the page in the container in the control. - * @returns {void} - */ - fitToPage(): void; - - /** Scales the page to fit the page width to the width of the container in the control. - * @returns {void} - */ - fitToWidth(): void; - - /** Magnifies the page to the next value in the zoom drop down list. - * @returns {void} - */ - zoomIn(): void; - - /** Shrinks the page to the previous value in the magnification in the drop down list. - * @returns {void} - */ - zoomOut(): void; - - /** Scales the page to the specified percentage ranging from 50 to 400. If the given zoomValue is less than 50 or greater than 400; the PDF viewer scales the page to 50 and 400 respectively. - * @param {number} zoom value for scaling the pages in the PDF Viewer - * @returns {void} - */ - zoomTo(zoomValue: number): void; - - /** Unloads the PDF document being displayed in the PDF viewer. - * @returns {void} - */ - unload(): void; -} -export namespace PdfViewer { - - export interface Model { - - /** Specifies the locale information of the PDF viewer. - */ - locale?: string; - - /** Specifies the toolbar settings. - */ - toolbarSettings?: ToolbarSettings; - - /** Specifies the name of the action method in the server. - */ - serverActionSettings?: ServerActionSettings; - - /** Sets the PDF Web API service URL - */ - serviceUrl?: string; - - /** Sets the PDF document path for initial loading. - */ - documentPath?: string; - - /** Gets the total number of pages in PDF document. - */ - pageCount?: number; - - /** Gets the number of the page being displayed in the PDF viewer. - */ - currentPageNumber?: number; - - /** Gets the current zoom percentage of the PDF document in viewer. - */ - zoomPercentage?: number; - - /** Specifies the location of the supporting PDF service - */ - pdfService?: ej.PdfViewer.PdfService | string; - - /** Specifies the open state of the hyperlink in the PDF document. - */ - hyperlinkOpenState?: ej.PdfViewer.LinkTarget | string; - - /** Enables or disables the hyperlinks in PDF document. - */ - enableHyperlink?: boolean; - - /** Enables or disables the text selection in PDF document. - */ - enableTextSelection?: boolean; - - /** Enables or disables the responsiveness of the PDF viewer control during the window resize. - */ - isResponsive?: boolean; - - /** Checks whether the PDF document is edited. - */ - isDocumentEdited?: boolean; - - /** Enables or disables the buffering of the PDF pages in the client side. - */ - allowClientBuffering?: boolean; - - /** Gets the name of the PDF document which loaded in the ejPdfViewer control for downloading. - */ - fileName?: string; - - /** Triggers when the PDF document gets loaded and is ready to view in the Control. */ - documentLoad?(e: DocumentLoadEventArgs): void; - - /** Triggers when the PDF document gets unloaded from the PDF viewer. */ - documentUnload?(e: DocumentUnloadEventArgs): void; - - /** Triggers when there is change in current page number. */ - pageChange?(e: PageChangeEventArgs): void; - - /** Triggers when there is change in the magnification value. */ - zoomChange?(e: ZoomChangeEventArgs): void; - - /** Triggers when hyperlink in the PDF Document is clicked */ - hyperlinkClick?(e: HyperlinkClickEventArgs): void; - - /** Triggers before the printing starts. */ - beforePrint?(e: BeforePrintEventArgs): void; - - /** Triggers after the printing is completed. */ - afterPrint?(e: AfterPrintEventArgs): void; - - /** Triggers when the mouse click is performed over the page of the PDF document. */ - pageClick?(e: PageClickEventArgs): void; - - /** Triggers when the client buffering process starts. */ - bufferStart?(e: BufferStartEventArgs): void; - - /** Triggers when the client buffering process ends. */ - bufferEnd?(e: BufferEndEventArgs): void; - - /** Triggers when PDF viewer control is destroyed successfully. */ - destroy?(e: DestroyEventArgs): void; - } - - export interface DocumentLoadEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the PDF document name displaying in the PDF viewer. - */ - fileName?: string; - } - - export interface DocumentUnloadEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface PageChangeEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the current page number in view. - */ - currentPageNumber?: number; - } - - export interface ZoomChangeEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the previous zoom percentage of the PDF viewer control - */ - previousZoomPercentage?: number; - - /** Returns the current zoom percentage of the PDF viewer control - */ - currentZoomPercentage?: number; - } - - export interface HyperlinkClickEventArgs { - - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the clicked hyperlink - */ - hyperlink?: string; - } - - export interface BeforePrintEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface AfterPrintEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface PageClickEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Returns the current X position - */ - offsetX?: number; - - /** Returns the current Y position - */ - offsetY?: number; - } - - export interface BufferStartEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Specifies the state of the buffering - */ - isBuffering?: boolean; - } - - export interface BufferEndEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - - /** Specifies the state of the buffering - */ - isBuffering?: boolean; - } - - export interface DestroyEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the PDF viewer model - */ - model?: any; - - /** Returns the name of the event - */ - type?: string; - } - - export interface ToolbarSettings { - - /** Shows or hides the tooltip of the toolbar items. - */ - showToolTip?: boolean; - - /** Shows or hides the grouped items in the toolbar with the help of enum ej.PdfViewer.ToolbarItems - */ - toolbarItem?: ej.PdfViewer.ToolbarItems | string; - } - - export interface ServerActionSettings { - - /** Specifies the name of the action method used for loading the PDF document. - */ - load?: string; - - /** Specifies the name of the action method used for uploading the PDF document to the PDF viewer control. - */ - fileUpload?: string; - - /** Specifies the name of the action method used for printing the PDF document in the PDF viewer control. - */ - print?: string; - - /** Specifies the name of the action method used for downloading the PDF document from the PDF viewer control. - */ - download?: string; - } - - enum ToolbarItems { - - ///Shows only magnification tools in the toolbar. - MagnificationTools, - - ///Shows only page navigation tools in the toolbar. - PageNavigationTools, - - ///Shows only print tool in the toolbar. - PrintTools, - - ///Shows only download tool in the toolbar. - DownloadTool, - - ///Shows all the toolbar items. - All - } - - - enum PdfService { - - ///Denotes that the service is located in the local project - Local, - - ///Denotes that the service is hosted in the remote server - Remote - } - - - enum LinkTarget { - - ///Opens the hyperlink in the same tab of the browser. - Default, - - ///Opens the hyperlink in a new tab of the browser. - NewTab, - - ///Opens the hyperlink in a new window of the browser. - NewWindow - } - -} - -class SpellCheck extends ej.Widget { - static fn: SpellCheck; - constructor(element: JQuery | Element, options?: SpellCheck.Model); - static Locale: any; - model: SpellCheck.Model; - defaults: SpellCheck.Model; - - /** Open the dialog to correct the spelling of the target content. - * @returns {void} - */ - showInDialog(): void; - - /** Highlighting the error word in the target area itself and correct the spelling using the context menu. - * @returns {void} - */ - validate(): void; - - /** To get the error word highlighted string by passing the given input sentence. - * @param {string} Content to be spell check - * @param {string} Class name that contains style value to highlight the error word - * @returns {any} - */ - spellCheck(targetSentence: string, misspellWordCss: string): any; - - /** To ignore all the error word occurrences from the given input sentence. - * @param {string} Error word to ignore from the target content - * @param {string} Content to perform the ignore all operation - * @returns {any} - */ - ignoreAll(word: string, targetSentence: string): any; - - /** To ignore the error word once from the given input sentence. - * @param {string} Error word to ignore from the target content - * @param {string} Content to perform the ignore operation - * @param {number} Index of the error word present in the target content - * @returns {any} - */ - ignore(word: string, targetSentence: string, index: number): any; - - /** To change the error word once from the given input sentence. - * @param {string} Error word to change from the target content - * @param {string} Content to perform the change operation - * @param {string} Word to replace with the error word - * @param {number} Index of the error word present in the target content - * @returns {any} - */ - change(word: string, targetSentence: string, changeWord: string, index: number): any; - - /** To change all the error word occurrences from the given input sentence. - * @param {string} Error word to change from the target content - * @param {string} Content to perform the change all operation - * @param {string} Word to replace with the error word - * @returns {any} - */ - changeAll(word: string, targetSentence: string, changeWord: string): any; - - /** To add the words into the custom dictionary. - * @param {string} Word to add into the dictionary file - * @returns {any} - */ - addToDictionary(customWord: string): any; -} -export namespace SpellCheck { - - export interface Model { - - /** It includes the service method path to find the error words and its suggestions also adding the custom word into the custom dictionary. - */ - dictionarySettings?: DictionarySettings; - - /** To display the error word in a customized style. - * @Default {e-errorword} - */ - misspellWordCss?: string; - - /** Sets the specific culture to the SpellCheck. - * @Default {en-US} - */ - locale?: string; - - /** To set the maximum suggestion display count. - * @Default {6} - */ - maxSuggestionCount?: number; - - /** To ignore the words from the error word consideration. - * @Default {[]} - */ - ignoreWords?: any[]; - - /** Holds all options related to the context menu settings of SpellCheck. - */ - contextMenuSettings?: ContextMenuSettings; - - /** It helps to ignore the uppercase, mixed case words, alpha numeric words, file path and email addresses based on the property values. - */ - ignoreSettings?: IgnoreSettings; - - /** When set to true, allows the spellcheck to render based upon screen size. - * @Default {true} - */ - isResponsive?: boolean; - - /** It allows to spell check the multiple target HTML element's texts and correct its error words. - * @Default {null} - */ - controlsToValidate?: string; - - /** Triggers on the success of AJAX call request. */ - actionSuccess?(e: ActionSuccessEventArgs): void; - - /** Triggers on the AJAX call request beginning. */ - actionBegin?(e: ActionBeginEventArgs): void; - - /** Triggers when the AJAX call request failure. */ - actionFailure?(e: ActionFailureEventArgs): void; - - /** Triggers when the dialog mode spell check starting. */ - start?(e: StartEventArgs): void; - - /** Triggers when the spell check operations completed through dialog mode. */ - complete?(e: CompleteEventArgs): void; - - /** Triggers before context menu opening. */ - contextOpen?(e: ContextOpenEventArgs): void; - - /** Triggers when the context menu item clicked. */ - contextClick?(e: ContextClickEventArgs): void; - - /** Triggers before the spell check dialog opens. */ - dialogBeforeOpen?(e: DialogBeforeOpenEventArgs): void; - /** Triggers after the spell check dialog opens. */ - dialogOpen?(e: DialogOpenEventArgs): void; - - /** Triggers when the spell check dialog closed. */ - dialogClose?(e: DialogCloseEventArgs): void; - - /** Triggers when the spell check control performing the spell check operations such as ignore, ignoreAll, change, changeAll and addToDictionary. */ - validating?(e: ValidatingEventArgs): void; - - /** Triggers before loading the target HTML element text into the dialog sentence area. */ - targetUpdating?(e: TargetUpdatingEventArgs): void; - } - - export interface ActionSuccessEventArgs { - - /** Returns the error word highlighted string. - */ - resultHTML?: string; - - /** Returns the error word details of the given input. - */ - errorWordDetails?: any; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ActionBeginEventArgs { - - /** Returns the input string. - */ - targetSentence?: string; - - /** Returns the misspellWordCss class name. - */ - misspellWordCss?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ActionFailureEventArgs { - - /** Returns AJAX request failure error message. - */ - errorMessage?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface StartEventArgs { - - /** Returns the input string. - */ - targetSentence?: string; - - /** Returns the error words details. - */ - errorWords?: any; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface CompleteEventArgs { - - /** Returns the error word highlighted string. - */ - resultHTML?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextOpenEventArgs { - - /** Returns the selected error word. - */ - selectedErrorWord?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ContextClickEventArgs { - - /** Returns the selected error word. - */ - selectedValue?: string; - - /** Returns the selected option in the context menu. - */ - selectedOption?: string; - - /** Returns the input string. - */ - targetContent?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DialogBeforeOpenEventArgs { - - /** Returns the spell check window details. - */ - spellCheckDialog?: any; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; + find(text: string): void; } + export namespace DocumentEditor { - export interface DialogOpenEventArgs { + export interface Model { - /** Returns the target input. - */ - targetText?: string; + /** Gets or sets an object that indicates initialization of importing and exporting documents in document editor. + */ + importExportSettings?: ImportExportSettings; - /** Returns the request type value. - */ - requestType?: string; + /** Triggers when the document changes. */ + onDocumentChange?(e: OnDocumentChangeEventArgs): void; - /** Returns the cancel option value. - */ - cancel?: boolean; + /** Triggers when the selection changes. */ + onSelectionChange?(e: OnSelectionChangeEventArgs): void; - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; + /** Triggers when the zoom factor changes. */ + onZoomFactorChange?(e: OnZoomFactorChangeEventArgs): void; - /** Returns the name of the event. - */ - type?: string; - } - - export interface DialogCloseEventArgs { - - /** Returns the error corrected string. - */ - updatedText?: string; - - /** Returns the request type value. - */ - requestType?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface ValidatingEventArgs { - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the error word to ignore. - */ - ignoreWord?: string; - - /** Returns the target content. - */ - targetContent?: string; - - /** Returns the index of an error word. - */ - index?: number; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the validating request type. - */ - requestType?: string; - - /** Returns the name of the event. - */ - type?: string; - - /** Returns the error word to change. - */ - changeableWord?: string; - - /** Returns the change word to replace the error word. - */ - changeWord?: string; - - /** Returns the custom word to add into dictionary file. - */ - customWord?: string; - } - - export interface TargetUpdatingEventArgs { - - /** Returns the previous target element value. - */ - previousElement?: any; - - /** Returns the current target element value. - */ - currentElement?: any; - - /** Returns the target html value. - */ - targetHtml?: string; - - /** Returns the cancel option value. - */ - cancel?: boolean; - - /** Returns the SpellCheck model. - */ - model?: ej.SpellCheck.Model; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface DictionarySettings { - - /** The dictionaryUrl option accepts string, which is the method path to find the error words and get the suggestions to correct the errors. - */ - dictionaryUrl?: string; - - /** The customDictionaryUrl option accepts string, which is the method path to add the error word into the custom dictionary. - */ - customDictionaryUrl?: string; - } + /** Triggers when the hyperlink is clicked. */ + onRequestNavigate?(e: OnRequestNavigateEventArgs): void; + } - export interface ContextMenuSettings { + export interface OnDocumentChangeEventArgs { - /** When set to true, enables the context menu options available for the SpellCheck. - * @Default {true} - */ - enable?: boolean; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Contains all the default context menu options that are applicable for SpellCheck. It also supports adding custom menu items. - * All the SpellCheck related context menu items are grouped under this menu collection. - * @Default {{% highlight javascript %}[{ id: IgnoreAll, text: Ignore All },{ id: AddToDictionary, text: Add To Dictionary }]{% endhighlight %}} - */ - menuItems?: any[]; - } - - export interface IgnoreSettings { - - /** When set to true, ignoring the alphanumeric words from the error word consideration. - * @Default {true} - */ - ignoreAlphaNumericWords?: string; - - /** When set to true, ignoring the Email address from the error word consideration. - * @Default {true} - */ - ignoreEmailAddress?: boolean; - - /** When set to true, ignoring the MixedCase words from the error word consideration. - * @Default {true} - */ - ignoreMixedCaseWords?: boolean; - - /** When set to true, ignoring the UpperCase words from the error word consideration. - * @Default {true} - */ - ignoreUpperCase?: boolean; - - /** When set to true, ignoring the Url from the error word consideration. - * @Default {true} - */ - ignoreUrl?: boolean; - - /** When set to true, ignoring the file address path from the error word consideration. - * @Default {true} - */ - ignoreFileNames?: boolean; - } -} - -class DocumentEditor extends ej.Widget { - static fn: DocumentEditor; - constructor(element: JQuery | Element, options?: DocumentEditor.Model); - static Locale: any; - model: DocumentEditor.Model; - defaults: DocumentEditor.Model; - - /** Loads the document from specified path using web API provided by importUrl. - * @param {string} Specifies the file path. - * @returns {void} - */ - load(path: string): void; - - /** Gets the page number of current selection in the document. - * @returns {number} - */ - getCurrentPageNumber(): number; - - /** Gets the total number of pages in the document. - * @returns {number} - */ - getPageCount(): number; - - /** Gets the text of current selection in the document. - * @returns {string} - */ - getSelectedText(): string; - - /** Gets the current zoom factor value of the document editor. - * @returns {number} - */ - getZoomFactor(): number; - - /** Scales the document editor with the specified zoom factor. The range of zoom factor should be 0.10 to 5.00 (10 - 500 %). - * @param {number} Specifies the factor for zooming. - * @returns {void} - */ - setZoomFactor(factor: number): void; + /** Returns the document editor model. + */ + model?: any; - /** Prints the document content as page by page. - * @returns {void} - */ - print(): void; + /** Returns the name of the event. + */ + type?: string; + } - /** Finds the first occurrence of specified text from current selection and highlights the result. If the document end is reached, find operation will occur from the document start position. - * @param {string} Specifies the text to search in a document. - * @returns {void} - */ - find(text: string): void; -} -export namespace DocumentEditor { + export interface OnSelectionChangeEventArgs { - export interface Model { + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Gets or sets an object that indicates initialization of importing and exporting documents in document editor. - */ - importExportSettings?: ImportExportSettings; + /** Returns the document editor model. + */ + model?: any; - /** Triggers when the document changes. */ - onDocumentChange?(e: OnDocumentChangeEventArgs): void; + /** Returns the name of the event. + */ + type?: string; + } - /** Triggers when the selection changes. */ - onSelectionChange?(e: OnSelectionChangeEventArgs): void; + export interface OnZoomFactorChangeEventArgs { - /** Triggers when the zoom factor changes. */ - onZoomFactorChange?(e: OnZoomFactorChangeEventArgs): void; + /** True, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** Triggers when the hyperlink is clicked. */ - onRequestNavigate?(e: OnRequestNavigateEventArgs): void; - } - - export interface OnDocumentChangeEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the document editor model. - */ - model?: any; - - /** Returns the name of the event. - */ - type?: string; - } - - export interface OnSelectionChangeEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Returns the document editor model. + */ + model?: any; - /** Returns the document editor model. - */ - model?: any; + /** Returns the name of the event. + */ + type?: string; + } - /** Returns the name of the event. - */ - type?: string; - } - - export interface OnZoomFactorChangeEventArgs { - - /** True, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; - - /** Returns the document editor model. - */ - model?: any; + export interface OnRequestNavigateEventArgs { - /** Returns the name of the event. - */ - type?: string; - } - - export interface OnRequestNavigateEventArgs { + /** true, if the event should be canceled; otherwise, false. + */ + cancel?: boolean; - /** true, if the event should be canceled; otherwise, false. - */ - cancel?: boolean; + /** Returns the document editor model. + */ + model?: any; - /** Returns the document editor model. - */ - model?: any; + /** Returns the link type and navigation link. + */ + hyperlink?: any; - /** Returns the link type and navigation link. - */ - hyperlink?: any; - - /** Returns the name of the event. - */ - type?: string; - } + /** Returns the name of the event. + */ + type?: string; + } - export interface ImportExportSettings { + export interface ImportExportSettings { - /** Gets or sets URL of Web API that should be used to parse the document while loading. - */ - importUrl?: string; + /** Gets or sets URL of Web API that should be used to parse the document while loading. + */ + importUrl?: string; + } } -} } declare namespace ej.datavisualization { From ac9bfc4eecf7a700c8fe0033d4a41f1dd8c2581f Mon Sep 17 00:00:00 2001 From: Klaus Sevensleeper Date: Wed, 10 May 2017 17:14:56 +0200 Subject: [PATCH 39/70] enhance signature of create for conversion from object (#16381) --- types/xmlbuilder/index.d.ts | 2 +- types/xmlbuilder/xmlbuilder-tests.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/types/xmlbuilder/index.d.ts b/types/xmlbuilder/index.d.ts index 20dabf97ca..d7ffd2193c 100644 --- a/types/xmlbuilder/index.d.ts +++ b/types/xmlbuilder/index.d.ts @@ -85,5 +85,5 @@ declare class XMLElementOrXMLNode { } declare namespace xmlbuilder { - function create(name: string, xmldec?: Object, doctype?: any, options?: Object): XMLElementOrXMLNode; + function create(nameOrObjSpec: string | { [name:string]: Object }, xmldec?: Object, doctype?: any, options?: Object): XMLElementOrXMLNode; } diff --git a/types/xmlbuilder/xmlbuilder-tests.ts b/types/xmlbuilder/xmlbuilder-tests.ts index 69794640ba..8be8f780f9 100644 --- a/types/xmlbuilder/xmlbuilder-tests.ts +++ b/types/xmlbuilder/xmlbuilder-tests.ts @@ -41,3 +41,10 @@ xml('root') .up() .ele('atttest', 'text') .end(); + +xml({ + displayNotification: { + level: 'error', + message: 'an error occurred' + } +}); \ No newline at end of file From 9884c4e814abed7b4e6c4d822ee49cdb53273362 Mon Sep 17 00:00:00 2001 From: Thomas Brian Date: Wed, 10 May 2017 18:11:16 -0400 Subject: [PATCH 40/70] add number to possible types of values passed to FormattedMessage --- types/react-intl/index.d.ts | 4 ++-- types/react-intl/react-intl-tests.tsx | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/types/react-intl/index.d.ts b/types/react-intl/index.d.ts index 5fb82ada78..2b55a471ec 100644 --- a/types/react-intl/index.d.ts +++ b/types/react-intl/index.d.ts @@ -67,7 +67,7 @@ declare namespace ReactIntl { formatRelative: (value: number, options?: FormattedRelative.PropsBase & { now?: any }) => string; formatNumber: (value: number, options?: FormattedNumber.PropsBase) => string; formatPlural: (value: number, options?: FormattedPlural.Base) => keyof FormattedPlural.PropsBase; - formatMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string}) => string; + formatMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string | number}) => string; formatHTMLMessage: (messageDescriptor: FormattedMessage.MessageDescriptor, values?: {[key: string]: string}) => string; locale: string; formats: any; @@ -136,7 +136,7 @@ declare namespace ReactIntl { } export interface Props extends MessageDescriptor { - values?: {[key: string]: string | JSX.Element}; + values?: {[key: string]: string | number | JSX.Element}; tagName?: string; } } diff --git a/types/react-intl/react-intl-tests.tsx b/types/react-intl/react-intl-tests.tsx index 6ef7e5038f..a9717147e9 100644 --- a/types/react-intl/react-intl-tests.tsx +++ b/types/react-intl/react-intl-tests.tsx @@ -51,6 +51,7 @@ const SomeFunctionalComponentWithIntl: React.ComponentClass const formattedNumber = formatNumber(123, { format: "short" }); const formattedPlural = formatPlural(1, { style: "ordinal" }); const formattedMessage = formatMessage({ id: "hello", defaultMessage: "Hello {name}!" }, { name: "Roger" }); + const formattedMessagePlurals = formatMessage({ id: "hello", defaultMessage: "Hello {name} you have {unreadCount, number} {unreadCount, plural, one {message} other {messages}}!" }, { name: "Roger", unreadCount: 123 }); const formattedHTMLMessage = formatHTMLMessage({ id: "hello", defaultMessage: "Hello {name}!" }, { name: "Roger" }); return (
@@ -70,6 +71,7 @@ class SomeComponent extends React.Component{name}!" }, { name: "Roger" }); return
p

}} tagName="div" /> + + + + Date: Thu, 11 May 2017 11:10:05 +0100 Subject: [PATCH 41/70] Include @theefer's work in #16416 --- types/hapi/index.d.ts | 18 +++++++------ types/hapi/test/route/additional-options.ts | 30 +++++++++++++++++++++ types/hapi/v15/index.d.ts | 30 +++++++++++++-------- 3 files changed, 59 insertions(+), 19 deletions(-) diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index d2619acef1..ccf39dde5f 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -826,7 +826,7 @@ export interface RouteAuthAccessConfiguationObject { /** * For context see RouteAdditionalConfigurationOptions > cache */ -export interface RouteCacheOptions { +export type RouteCacheOptions = { /** * determines the privacy flag included in client-side caching using the 'Cache-Control' header. Values are: * * 'default' - no privacy flag. This is the default setting. @@ -834,15 +834,17 @@ export interface RouteCacheOptions { * * 'private' - mark the response as suitable only for private caching. */ privacy?: 'default' | 'public' | 'private'; - /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ - expiresIn?: number; - /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ - expiresAt?: string; - /** an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive. Defaults to [200]. */ - statuses?: [number]; + statuses?: number[]; /** a string with the value of the 'Cache-Control' header when caching is disabled. Defaults to 'no-cache'. */ otherwise?: string; -} +} & ({ + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn: number; + } | { + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt: string; + } | {} +); /** * For context see RouteAdditionalConfigurationOptions > cors diff --git a/types/hapi/test/route/additional-options.ts b/types/hapi/test/route/additional-options.ts index 2e51787742..35715abfbc 100644 --- a/types/hapi/test/route/additional-options.ts +++ b/types/hapi/test/route/additional-options.ts @@ -14,3 +14,33 @@ const user: Hapi.RouteAdditionalConfigurationOptions = { return reply({ name: 'John' }); } }; + + +// Add in addition to examples in docs + +var cache: Hapi.RouteCacheOptions = { + privacy: 'default', + statuses: [200, 201], + expiresIn: 5000, +}; + +cache = { + privacy: 'default', + statuses: [200, 201], + expiresAt: '22:44', +}; + +cache = { + privacy: 'default', + statuses: [200, 201], + /* typings should cause this to error, but currently does not + expiresAt: 5000, + */ +}; + +/* typings should cause this to error, but currently does not +var cache: Hapi.RouteCacheOptions = { + expiresIn: 5000, + expiresAt: '22:44', +}; +*/ diff --git a/types/hapi/v15/index.d.ts b/types/hapi/v15/index.d.ts index 2a59422c69..86b993bfb5 100644 --- a/types/hapi/v15/index.d.ts +++ b/types/hapi/v15/index.d.ts @@ -470,17 +470,7 @@ export interface IRouteAdditionalConfigurationOptions { /** an object passed back to the provided handler (via this) when called. */ bind?: any; /** if the route method is 'GET', the route can be configured to include caching directives in the response using the following options */ - cache?: { - /** mines the privacy flag included in clientside caching using the 'Cache-Control' header.Values are: - fault'no privacy flag.This is the default setting. - 'public'mark the response as suitable for public caching. - 'private'mark the response as suitable only for private caching. */ - privacy: string; - /** relative expiration expressed in the number of milliseconds since the item was saved in the cache.Cannot be used together with expiresAt. */ - expiresIn: number; - /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire.Cannot be used together with expiresIn. */ - expiresAt: string; - }; + cache?: IRouteAdditionalConfigurationCache; /** the Cross- Origin Resource Sharing protocol allows browsers to make cross- origin API calls.CORS is required by web applications running inside a browser which are loaded from a different domain than the API server.CORS headers are disabled by default. To enable, set cors to true, or to an object with the following options: */ cors?: { /** a strings array of allowed origin servers ('Access-Control-Allow-Origin').The array can contain any combination of fully qualified origins along with origin strings containing a wildcard '' character, or a single `''origin string. Defaults to any origin['*']`. */ @@ -728,6 +718,24 @@ export interface IRouteAdditionalConfigurationAuthAccess { entity?: string; } +export type IRouteAdditionalConfigurationCache = { + /** determines the privacy flag included in clientside caching using the 'Cache-Control' header. Values are: + 'Default': no privacy flag.This is the default setting. + 'public': mark the response as suitable for public caching. + 'private': mark the response as suitable only for private caching. */ + privacy?: 'default' | 'public' | 'private'; + /** an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive. Defaults to [200]. */ + statuses?: number[]; + /** a string with the value of the 'Cache-Control' header when caching is disabled. Defaults to 'no-cache'. */ + otherwise?: string; +} & ({ + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn: number; +} | { + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt: string; +} | {}); + /** server.realm http://hapijs.com/api#serverrealm The realm object contains server-wide or plugin-specific state that can be shared across various methods. For example, when calling server.bind(), the active realm settings.bind property is set which is then used by routes and extensions added at the same level (server root or plugin). From e377be5ad1dc1026799ae65d06017dc8d16c6361 Mon Sep 17 00:00:00 2001 From: Andrii Nasinnyk Date: Thu, 11 May 2017 14:25:47 +0300 Subject: [PATCH 42/70] made pathsToValidate in mongoose::validateSync optional --- types/mongoose/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/mongoose/index.d.ts b/types/mongoose/index.d.ts index cb20b294d2..5a2a0abfe1 100644 --- a/types/mongoose/index.d.ts +++ b/types/mongoose/index.d.ts @@ -1065,7 +1065,7 @@ declare module "mongoose" { * @param pathsToValidate only validate the given paths * @returns MongooseError if there are errors during validation, or undefined if there is no error. */ - validateSync(pathsToValidate: string | string[]): Error; + validateSync(pathsToValidate?: string | string[]): Error; /** Hash containing current validation errors. */ errors: Object; From dee88948553ff051ad0f2129309fbe08b3495a9c Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Thu, 11 May 2017 13:21:49 +0100 Subject: [PATCH 43/70] Simpler typings than #16416 to catch some errors again --- types/hapi/index.d.ts | 16 +++++++--------- types/hapi/test/route/additional-options.ts | 12 ++---------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index ccf39dde5f..6b8bec9961 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -826,7 +826,7 @@ export interface RouteAuthAccessConfiguationObject { /** * For context see RouteAdditionalConfigurationOptions > cache */ -export type RouteCacheOptions = { +export interface RouteCacheOptions { /** * determines the privacy flag included in client-side caching using the 'Cache-Control' header. Values are: * * 'default' - no privacy flag. This is the default setting. @@ -834,17 +834,15 @@ export type RouteCacheOptions = { * * 'private' - mark the response as suitable only for private caching. */ privacy?: 'default' | 'public' | 'private'; + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: number; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt?: string; + /** an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive. Defaults to [200]. */ statuses?: number[]; /** a string with the value of the 'Cache-Control' header when caching is disabled. Defaults to 'no-cache'. */ otherwise?: string; -} & ({ - /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ - expiresIn: number; - } | { - /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ - expiresAt: string; - } | {} -); +} /** * For context see RouteAdditionalConfigurationOptions > cors diff --git a/types/hapi/test/route/additional-options.ts b/types/hapi/test/route/additional-options.ts index 35715abfbc..80f2789ae0 100644 --- a/types/hapi/test/route/additional-options.ts +++ b/types/hapi/test/route/additional-options.ts @@ -30,17 +30,9 @@ cache = { expiresAt: '22:44', }; -cache = { - privacy: 'default', - statuses: [200, 201], - /* typings should cause this to error, but currently does not - expiresAt: 5000, - */ -}; - -/* typings should cause this to error, but currently does not +// /* typings should cause this to error, but currently does not var cache: Hapi.RouteCacheOptions = { expiresIn: 5000, expiresAt: '22:44', }; -*/ +// */ From e9dd13ca68cb8c209e64074d4b41ed3047188e7f Mon Sep 17 00:00:00 2001 From: gengrq Date: Thu, 11 May 2017 21:33:40 +0800 Subject: [PATCH 44/70] react-navigation: NavigationActions/back param should be optional --- types/react-navigation/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 6b263642ff..c76f4a0b18 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -321,7 +321,7 @@ export type NavigationAction = export namespace NavigationActions { function navigate(options: NavigationNavigateAction): any; function reset(options: NavigationResetAction): any; - function back(options: NavigationBackAction): any; + function back(options?: NavigationBackAction): any; function setParams(options: NavigationSetParamsAction): any; } From 2692cdda954bf635999fb6082a48fafbf3020c50 Mon Sep 17 00:00:00 2001 From: gengrq Date: Thu, 11 May 2017 21:44:34 +0800 Subject: [PATCH 45/70] add author --- types/react-navigation/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index c76f4a0b18..f5ae61b6c6 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -1,6 +1,7 @@ // Type definitions for react-navigation 1.0 // Project: https://github.com/react-community/react-navigation // Definitions by: Huhuanming +// mhcgrq // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped import * as React from 'react' From fbb55ff1c68ea17979937f25118f8dbb80f7fce9 Mon Sep 17 00:00:00 2001 From: Miyuru Ratnayake Date: Thu, 11 May 2017 09:36:40 -0500 Subject: [PATCH 46/70] Include parentSelector config --- types/angular-loading-bar/index.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/types/angular-loading-bar/index.d.ts b/types/angular-loading-bar/index.d.ts index 191fc043ed..8990f7bcf7 100644 --- a/types/angular-loading-bar/index.d.ts +++ b/types/angular-loading-bar/index.d.ts @@ -30,6 +30,10 @@ declare module 'angular' { * Latency Threshold */ latencyThreshold?: number; + /** + * HTML eliment selector of parent + */ + parentSelector?: string; } } From 03f4d743bc69b4fe5853a9bba379af8756e2d094 Mon Sep 17 00:00:00 2001 From: Mees van Dijk Date: Thu, 11 May 2017 22:47:50 +0200 Subject: [PATCH 47/70] added file descriptors --- types/fs-extra/index.d.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/types/fs-extra/index.d.ts b/types/fs-extra/index.d.ts index 3d65d617b0..3bd66e44cf 100644 --- a/types/fs-extra/index.d.ts +++ b/types/fs-extra/index.d.ts @@ -1,6 +1,9 @@ // Type definitions for fs-extra 3.0 // Project: https://github.com/jprichardson/node-fs-extra -// Definitions by: Alan Agius , midknight41 , Brendan Forster +// Definitions by: Alan Agius +// midknight41 +// Brendan Forster +// Mees van Dijk // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 @@ -103,6 +106,10 @@ export function access(path: string | Buffer, mode?: number): Promise; export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; export function appendFile(filename: string, data: any, callback: (err: NodeJS.ErrnoException) => void): void; export function appendFile(filename: string, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; +export function appendFile(fd: number, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; +export function appendFile(fd: number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; +export function appendFile(fd: number, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; + export function chmod(path: string | Buffer, mode: string | number, callback: (err?: NodeJS.ErrnoException) => void): void; export function chmod(path: string | Buffer, mode: string | number): Promise; @@ -178,6 +185,14 @@ export function readFile(filename: string, options: { flag?: string; } | { encod export function readFile(filename: string, encoding: string): Promise; export function readFile(filename: string): Promise; +export function readFile(fd: number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; +export function readFile(fd: number, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; +export function readFile(fd: number, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; +export function readFile(fd: number, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise; +// tslint:disable-next-line:unified-signatures +export function readFile(fd: number, encoding: string): Promise; +export function readFile(fd: number): Promise; + export function readdir(path: string | Buffer, callback: (err: NodeJS.ErrnoException, files: string[]) => void): void; export function readdir(path: string | Buffer): Promise; @@ -236,6 +251,10 @@ export function writeFile(filename: string, data: any, callback: (err: NodeJS.Er export function writeFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; export function writeFile(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; +export function writeFile(fd: number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; +export function writeFile(fd: number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; +export function writeFile(fd: number, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; + /** * Asynchronous mkdtemp - Creates a unique temporary directory. Generates six random characters to be appended behind a required prefix to create a unique temporary directory. * From 146a321e6e42bffd425e6cfff8116a3896d15888 Mon Sep 17 00:00:00 2001 From: Mees van Dijk Date: Fri, 12 May 2017 01:25:04 +0200 Subject: [PATCH 48/70] cleanup --- types/fs-extra/index.d.ts | 40 ++++++++++++--------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/types/fs-extra/index.d.ts b/types/fs-extra/index.d.ts index 3bd66e44cf..a2c4cb43d3 100644 --- a/types/fs-extra/index.d.ts +++ b/types/fs-extra/index.d.ts @@ -103,13 +103,9 @@ export function access(path: string | Buffer, callback: (err: NodeJS.ErrnoExcept export function access(path: string | Buffer, mode: number, callback: (err: NodeJS.ErrnoException) => void): void; export function access(path: string | Buffer, mode?: number): Promise; -export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; -export function appendFile(filename: string, data: any, callback: (err: NodeJS.ErrnoException) => void): void; -export function appendFile(filename: string, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; -export function appendFile(fd: number, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; -export function appendFile(fd: number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; -export function appendFile(fd: number, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; - +export function appendFile(filename: string | number, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; +export function appendFile(filename: string | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; +export function appendFile(filename: string | number, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; export function chmod(path: string | Buffer, mode: string | number, callback: (err?: NodeJS.ErrnoException) => void): void; export function chmod(path: string | Buffer, mode: string | number): Promise; @@ -177,21 +173,13 @@ export function open(path: string | Buffer, flags: string | number, mode?: numbe export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number | null, callback: (err: NodeJS.ErrnoException, bytesRead: number, buffer: Buffer) => void): void; export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number | null): Promise<[number, Buffer]>; -export function readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; -export function readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; -export function readFile(filename: string, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; -export function readFile(filename: string, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise; +export function readFile(filename: string | number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; +export function readFile(filename: string | number, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; +export function readFile(filename: string | number, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; +export function readFile(filename: string | number, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise; // tslint:disable-next-line:unified-signatures -export function readFile(filename: string, encoding: string): Promise; -export function readFile(filename: string): Promise; - -export function readFile(fd: number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; -export function readFile(fd: number, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; -export function readFile(fd: number, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; -export function readFile(fd: number, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise; -// tslint:disable-next-line:unified-signatures -export function readFile(fd: number, encoding: string): Promise; -export function readFile(fd: number): Promise; +export function readFile(filename: string | number, encoding: string): Promise; +export function readFile(filename: string | number): Promise; export function readdir(path: string | Buffer, callback: (err: NodeJS.ErrnoException, files: string[]) => void): void; export function readdir(path: string | Buffer): Promise; @@ -247,13 +235,9 @@ export function write(fd: number, data: any, offset: number, encoding: string, c export function write(fd: number, buffer: Buffer, offset: number, length: number, position?: number | null): Promise<[number, Buffer]>; export function write(fd: number, data: any, offset: number, encoding?: string): Promise<[number, string]>; -export function writeFile(filename: string, data: any, callback: (err: NodeJS.ErrnoException) => void): void; -export function writeFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; -export function writeFile(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; - -export function writeFile(fd: number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; -export function writeFile(fd: number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; -export function writeFile(fd: number, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; +export function writeFile(filename: string | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; +export function writeFile(filename: string | number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; +export function writeFile(filename: string | number, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; /** * Asynchronous mkdtemp - Creates a unique temporary directory. Generates six random characters to be appended behind a required prefix to create a unique temporary directory. From 59179b62c8cc2bea450b7e56e8c0b68b191b53a4 Mon Sep 17 00:00:00 2001 From: Mees van Dijk Date: Fri, 12 May 2017 12:18:22 +0200 Subject: [PATCH 49/70] Added buffer type for file --- types/fs-extra/index.d.ts | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/types/fs-extra/index.d.ts b/types/fs-extra/index.d.ts index a2c4cb43d3..481fbad644 100644 --- a/types/fs-extra/index.d.ts +++ b/types/fs-extra/index.d.ts @@ -103,9 +103,9 @@ export function access(path: string | Buffer, callback: (err: NodeJS.ErrnoExcept export function access(path: string | Buffer, mode: number, callback: (err: NodeJS.ErrnoException) => void): void; export function access(path: string | Buffer, mode?: number): Promise; -export function appendFile(filename: string | number, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; -export function appendFile(filename: string | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; -export function appendFile(filename: string | number, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; +export function appendFile(file: string | Buffer | number, data: any, options: { encoding?: string; mode?: number | string; flag?: string; }, callback: (err: NodeJS.ErrnoException) => void): void; +export function appendFile(file: string | Buffer | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; +export function appendFile(file: string | Buffer | number, data: any, options?: { encoding?: string; mode?: number | string; flag?: string; }): Promise; export function chmod(path: string | Buffer, mode: string | number, callback: (err?: NodeJS.ErrnoException) => void): void; export function chmod(path: string | Buffer, mode: string | number): Promise; @@ -173,13 +173,13 @@ export function open(path: string | Buffer, flags: string | number, mode?: numbe export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number | null, callback: (err: NodeJS.ErrnoException, bytesRead: number, buffer: Buffer) => void): void; export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number | null): Promise<[number, Buffer]>; -export function readFile(filename: string | number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; -export function readFile(filename: string | number, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; -export function readFile(filename: string | number, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; -export function readFile(filename: string | number, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise; +export function readFile(file: string | Buffer | number, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; +export function readFile(file: string | Buffer | number, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void; +export function readFile(file: string | Buffer | number, options: { flag?: string; } | { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void; +export function readFile(file: string | Buffer | number, options: { flag?: string; } | { encoding: string; flag?: string; }): Promise; // tslint:disable-next-line:unified-signatures -export function readFile(filename: string | number, encoding: string): Promise; -export function readFile(filename: string | number): Promise; +export function readFile(file: string | Buffer | number, encoding: string): Promise; +export function readFile(file: string | Buffer | number): Promise; export function readdir(path: string | Buffer, callback: (err: NodeJS.ErrnoException, files: string[]) => void): void; export function readdir(path: string | Buffer): Promise; @@ -235,9 +235,9 @@ export function write(fd: number, data: any, offset: number, encoding: string, c export function write(fd: number, buffer: Buffer, offset: number, length: number, position?: number | null): Promise<[number, Buffer]>; export function write(fd: number, data: any, offset: number, encoding?: string): Promise<[number, string]>; -export function writeFile(filename: string | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; -export function writeFile(filename: string | number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; -export function writeFile(filename: string | number, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; +export function writeFile(file: string | Buffer | number, data: any, callback: (err: NodeJS.ErrnoException) => void): void; +export function writeFile(file: string | Buffer | number, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void; +export function writeFile(file: string | Buffer | number, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): Promise; /** * Asynchronous mkdtemp - Creates a unique temporary directory. Generates six random characters to be appended behind a required prefix to create a unique temporary directory. From 63c96d381527a08a0791356e39d1926d34fdbc8b Mon Sep 17 00:00:00 2001 From: Alexander James Phillips Date: Fri, 12 May 2017 12:13:09 +0100 Subject: [PATCH 50/70] Allow exclusion of conflicting properties #16416 --- types/hapi/index.d.ts | 23 +++++++++++++++------ types/hapi/test/route/additional-options.ts | 13 ++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/types/hapi/index.d.ts b/types/hapi/index.d.ts index 6b8bec9961..3567e50c34 100644 --- a/types/hapi/index.d.ts +++ b/types/hapi/index.d.ts @@ -826,7 +826,7 @@ export interface RouteAuthAccessConfiguationObject { /** * For context see RouteAdditionalConfigurationOptions > cache */ -export interface RouteCacheOptions { +export type RouteCacheOptions = { /** * determines the privacy flag included in client-side caching using the 'Cache-Control' header. Values are: * * 'default' - no privacy flag. This is the default setting. @@ -834,15 +834,26 @@ export interface RouteCacheOptions { * * 'private' - mark the response as suitable only for private caching. */ privacy?: 'default' | 'public' | 'private'; - /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ - expiresIn?: number; - /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ - expiresAt?: string; /** an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive. Defaults to [200]. */ statuses?: number[]; /** a string with the value of the 'Cache-Control' header when caching is disabled. Defaults to 'no-cache'. */ otherwise?: string; -} +} & ({ + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: number; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt?: undefined; +} | { + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: undefined; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt?: string; +} | { + /** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */ + expiresIn?: undefined; + /** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */ + expiresAt?: undefined; +}); /** * For context see RouteAdditionalConfigurationOptions > cors diff --git a/types/hapi/test/route/additional-options.ts b/types/hapi/test/route/additional-options.ts index 80f2789ae0..99e818d08a 100644 --- a/types/hapi/test/route/additional-options.ts +++ b/types/hapi/test/route/additional-options.ts @@ -8,31 +8,32 @@ var authConfig: Hapi.RouteAdditionalConfigurationOptions = { // Handler in config const user: Hapi.RouteAdditionalConfigurationOptions = { - cache: { expiresIn: 5000 }, + cache: { expiresIn: 5000, statuses: [200, 201] }, handler: function (request, reply) { return reply({ name: 'John' }); } }; - // Add in addition to examples in docs var cache: Hapi.RouteCacheOptions = { privacy: 'default', - statuses: [200, 201], expiresIn: 5000, }; cache = { privacy: 'default', - statuses: [200, 201], expiresAt: '22:44', }; -// /* typings should cause this to error, but currently does not +cache = { + privacy: 'default', +}; + +/* should error (as does!) var cache: Hapi.RouteCacheOptions = { expiresIn: 5000, expiresAt: '22:44', }; -// */ +*/ From 5a67cd51b9cfa396e5b28e17b65e424b57c05fa1 Mon Sep 17 00:00:00 2001 From: Tom Wanzek Date: Fri, 12 May 2017 10:13:00 -0400 Subject: [PATCH 51/70] [d3-zoom/d3-drag] Update to version 1.2/1.1, respectively (#16470) * [d3-zoom] Update to version 1.2 * [Feature] Add support of `clickDistance(...)` * [Chore] Bump version number. * [d3-drag] Update to version 1.1 * [Feature] Add support for `clickDistance(...)` * [Chore] Minor version bump --- types/d3-drag/d3-drag-tests.ts | 6 ++++++ types/d3-drag/index.d.ts | 18 ++++++++++++++++-- types/d3-zoom/d3-zoom-tests.ts | 6 ++++++ types/d3-zoom/index.d.ts | 18 ++++++++++++++++-- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/types/d3-drag/d3-drag-tests.ts b/types/d3-drag/d3-drag-tests.ts index 4283cb259f..581b757717 100644 --- a/types/d3-drag/d3-drag-tests.ts +++ b/types/d3-drag/d3-drag-tests.ts @@ -88,6 +88,12 @@ circleDrag = circleDrag containerAccessor = circleDrag.container(); +// clickDistance(...) --------------------------------------------------------- + +circleDrag = circleDrag.clickDistance(5); + +const distance: number = circleDrag.clickDistance(); + // set and get filter --------------------------------------------------------- let filterFn: (this: SVGCircleElement, datum: CircleDatum, index: number, group: SVGCircleElement[] | NodeListOf) => boolean; diff --git a/types/d3-drag/index.d.ts b/types/d3-drag/index.d.ts index d3a65fb377..7105bd4e4d 100644 --- a/types/d3-drag/index.d.ts +++ b/types/d3-drag/index.d.ts @@ -1,9 +1,9 @@ -// Type definitions for D3JS d3-drag module 1.0 +// Type definitions for D3JS d3-drag module 1.1 // Project: https://github.com/d3/d3-drag/ // Definitions by: Tom Wanzek , Alex Ford , Boris Yankov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Last module patch version validated against: 1.0.2 +// Last module patch version validated against: 1.1.0 import { ArrayLike, Selection, ValueFn } from 'd3-selection'; @@ -164,6 +164,20 @@ export interface DragBehavior): this; + /** + * Return the current click distance threshold, which defaults to zero. + */ + clickDistance(): number; + /** + * Set the maximum distance that the mouse can move between mousedown and mouseup that will trigger + * a subsequent click event. If at any point between mousedown and mouseup the mouse is greater than or equal to + * distance from its position on mousedown, the click event follwing mouseup will be suppressed. + * + * @param distance The distance threshold between mousedown and mouseup measured in client coordinates (event.clientX and event.clientY). + * The default is zero. + */ + clickDistance(distance: number): this; + /** * Return the first currently-assigned listener matching the specified typenames, if any. * diff --git a/types/d3-zoom/d3-zoom-tests.ts b/types/d3-zoom/d3-zoom-tests.ts index b583bfc8b6..09974bf299 100644 --- a/types/d3-zoom/d3-zoom-tests.ts +++ b/types/d3-zoom/d3-zoom-tests.ts @@ -165,6 +165,12 @@ svgZoom = svgZoom.translateExtent([[-500, -500], [500, 500]]); let translateExtent: [[number, number], [number, number]]; translateExtent = svgZoom.translateExtent(); +// clickDistance() --------------------------------------------------------- + +svgZoom = svgZoom.clickDistance(5); + +const distance: number = svgZoom.clickDistance(); + // duration() -------------------------------------------------------------- // chainable diff --git a/types/d3-zoom/index.d.ts b/types/d3-zoom/index.d.ts index 62c49b977b..88a9a7b95f 100644 --- a/types/d3-zoom/index.d.ts +++ b/types/d3-zoom/index.d.ts @@ -1,9 +1,9 @@ -// Type definitions for d3JS d3-zoom module 1.1 +// Type definitions for d3JS d3-zoom module 1.2 // Project: https://github.com/d3/d3-zoom/ // Definitions by: Tom Wanzek , Alex Ford , Boris Yankov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Last module patch version validated against: 1.1.1 +// Last module patch version validated against: 1.2.0 import { ArrayLike, Selection, TransitionLike, ValueFn } from 'd3-selection'; import { ZoomView, ZoomInterpolator } from 'd3-interpolate'; @@ -461,6 +461,20 @@ export interface ZoomBehavior Date: Fri, 12 May 2017 10:13:33 -0400 Subject: [PATCH 52/70] [d3-random] v1.1.0 (#16467) * [Feature] Update d3-random to minor version 1.1 adding configurable source of pseudo-randomnumbers. * [Chore] Enable `strictNullChecks` * [Chore] Add tslint config. * [Chore] Bumped version. --- types/d3-random/d3-random-tests.ts | 56 ++++++++++--- types/d3-random/index.d.ts | 129 +++++++++++++++++++++-------- types/d3-random/tsconfig.json | 4 +- types/d3-random/tslint.json | 6 ++ 4 files changed, 144 insertions(+), 51 deletions(-) create mode 100644 types/d3-random/tslint.json diff --git a/types/d3-random/d3-random-tests.ts b/types/d3-random/d3-random-tests.ts index 8cd72d9f0e..7385d3e984 100644 --- a/types/d3-random/d3-random-tests.ts +++ b/types/d3-random/d3-random-tests.ts @@ -7,7 +7,7 @@ */ import * as d3Random from 'd3-random'; - +import * as seedrandom from 'seedrandom'; // ------------------------------------------------------------ // Preparatory Steps @@ -19,40 +19,70 @@ let randomNumberGenerator: () => number; // randomUniform // ------------------------------------------------------------ -randomNumberGenerator = d3Random.randomUniform(); -randomNumberGenerator = d3Random.randomUniform(0.2); -randomNumberGenerator = d3Random.randomUniform(0.2, 5); +let prngUniform: d3Random.RandomUniform; + +prngUniform = d3Random.randomUniform; +prngUniform = d3Random.randomUniform.source(seedrandom("Schroedinger's flea.")); + +randomNumberGenerator = prngUniform(); +randomNumberGenerator = prngUniform(0.2); +randomNumberGenerator = prngUniform(0.2, 5); // ------------------------------------------------------------ // randomNormal // ------------------------------------------------------------ -randomNumberGenerator = d3Random.randomNormal(); -randomNumberGenerator = d3Random.randomNormal(3); -randomNumberGenerator = d3Random.randomNormal(3, 4); +let prngNormal: d3Random.RandomNormal; + +prngNormal = d3Random.randomNormal; +prngNormal = d3Random.randomNormal.source(seedrandom("Schroedinger's flea.")); + +randomNumberGenerator = prngNormal(); +randomNumberGenerator = prngNormal(3); +randomNumberGenerator = prngNormal(3, 4); // ------------------------------------------------------------ // randomLogNormal // ------------------------------------------------------------ -randomNumberGenerator = d3Random.randomLogNormal(); -randomNumberGenerator = d3Random.randomLogNormal(3); -randomNumberGenerator = d3Random.randomLogNormal(3, 4); +let prngLogNormal: d3Random.RandomLogNormal; + +prngLogNormal = d3Random.randomLogNormal; +prngLogNormal = d3Random.randomLogNormal.source(seedrandom("Schroedinger's flea.")); + +randomNumberGenerator = prngLogNormal(); +randomNumberGenerator = prngLogNormal(3); +randomNumberGenerator = prngLogNormal(3, 4); // ------------------------------------------------------------ // randomBates // ------------------------------------------------------------ -randomNumberGenerator = d3Random.randomBates(3); +let prngBates: d3Random.RandomBates; + +prngBates = d3Random.randomBates; +prngBates = d3Random.randomBates.source(seedrandom("Schroedinger's flea.")); + +randomNumberGenerator = prngBates(3); // ------------------------------------------------------------ // randomIrwinHall // ------------------------------------------------------------ -randomNumberGenerator = d3Random.randomIrwinHall(3); +let prngIrwinHall: d3Random.RandomIrwinHall; + +prngIrwinHall = d3Random.randomIrwinHall; +prngIrwinHall = d3Random.randomIrwinHall.source(seedrandom("Schroedinger's flea.")); + +randomNumberGenerator = prngIrwinHall(3); // ------------------------------------------------------------ // randomExponential // ------------------------------------------------------------ -randomNumberGenerator = d3Random.randomExponential(1 / 40); +let prngExponential: d3Random.RandomExponential; + +prngExponential = d3Random.randomExponential; +prngExponential = d3Random.randomExponential.source(seedrandom("Schroedinger's flea.")); + +randomNumberGenerator = prngExponential(1 / 40); diff --git a/types/d3-random/index.d.ts b/types/d3-random/index.d.ts index 48c9b245ed..41b6034215 100644 --- a/types/d3-random/index.d.ts +++ b/types/d3-random/index.d.ts @@ -1,55 +1,112 @@ -// Type definitions for D3JS d3-random module v1.0.1 +// Type definitions for D3JS d3-random module 1.1 // Project: https://github.com/d3/d3-random/ // Definitions by: Tom Wanzek , Alex Ford , Boris Yankov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -/** - * Returns a function for generating random numbers with a uniform distribution). - * The minimum allowed value of a returned number is min, and the maximum is max. - * If min is not specified, it defaults to 0; if max is not specified, it defaults to 1. - * - * @param min The minimum allowed value of a returned number, defaults to 0. - * @param max The maximum allowed value of a returned number, defaults to 1. - */ -export function randomUniform(min?: number, max?: number): () => number; +// Last module patch version validated against: 1.1.0 + +export interface RandomNumberGenerationSource { + /** + * Returns the same type of function for generating random numbers but where the given random number + * generator source is used as the source of randomness instead of Math.random. + * This is useful when a seeded random number generator is preferable to Math.random. + * + * @param source Source (pseudo-)random number generator implementing the Math.random interface. + * The given random number generator must implement the same interface as Math.random and + * only return values in the range [0, 1). + */ + source(source: () => number): this; +} /** - * Returns a function for generating random numbers with a normal (Gaussian) distribution. - * The expected value of the generated numbers is mu, with the given standard deviation sigma. - * If mu is not specified, it defaults to 0; if sigma is not specified, it defaults to 1. - * - * @param mu Expected value, defaults to 0. - * @param sigma Standard deviation, defaults to 1. + * A configurable random number generator for the uniform distribution. */ -export function randomNormal(mu?: number, sigma?: number): () => number; +export interface RandomUniform extends RandomNumberGenerationSource { + /** + * Returns a function for generating random numbers with a uniform distribution). + * The minimum allowed value of a returned number is min, and the maximum is max. + * If min is not specified, it defaults to 0; if max is not specified, it defaults to 1. + * + * @param min The minimum allowed value of a returned number, defaults to 0. + * @param max The maximum allowed value of a returned number, defaults to 1. + */ + (min?: number, max?: number): () => number; +} + +export const randomUniform: RandomUniform; /** - * Returns a function for generating random numbers with a log-normal distribution. The expected value of the random variable’s natural logrithm is mu, - * with the given standard deviation sigma. If mu is not specified, it defaults to 0; if sigma is not specified, it defaults to 1. - * - * @param mu Expected value, defaults to 0. - * @param sigma Standard deviation, defaults to 1. + * A configurable random number generator for the normal (Gaussian) distribution. */ -export function randomLogNormal(mu?: number, sigma?: number): () => number; +export interface RandomNormal extends RandomNumberGenerationSource { + /** + * Returns a function for generating random numbers with a normal (Gaussian) distribution. + * The expected value of the generated numbers is mu, with the given standard deviation sigma. + * If mu is not specified, it defaults to 0; if sigma is not specified, it defaults to 1. + * + * @param mu Expected value, defaults to 0. + * @param sigma Standard deviation, defaults to 1. + */ + (mu?: number, sigma?: number): () => number; +} + +export const randomNormal: RandomNormal; /** - * Returns a function for generating random numbers with a Bates distribution with n independent variables. - * - * @param n Number of independent random variables to use. + * A configurable random number generator for the log-normal distribution. */ -export function randomBates(n: number): () => number; +export interface RandomLogNormal extends RandomNumberGenerationSource { + /** + * Returns a function for generating random numbers with a log-normal distribution. The expected value of the random variable’s natural logrithm is mu, + * with the given standard deviation sigma. If mu is not specified, it defaults to 0; if sigma is not specified, it defaults to 1. + * + * @param mu Expected value, defaults to 0. + * @param sigma Standard deviation, defaults to 1. + */ + (mu?: number, sigma?: number): () => number; +} + +export const randomLogNormal: RandomLogNormal; /** - * Returns a function for generating random numbers with an Irwin–Hall distribution with n independent variables. - * - * @param n Number of independent random variables to use. + * A configurable random number generator for the Bates distribution. */ -export function randomIrwinHall(n: number): () => number; +export interface RandomBates extends RandomNumberGenerationSource { + /** + * Returns a function for generating random numbers with a Bates distribution with n independent variables. + * + * @param n Number of independent random variables to use. + */ + (n: number): () => number; +} + +export const randomBates: RandomBates; /** - * Returns a function for generating random numbers with an exponential distribution with the rate lambda; - * equivalent to time between events in a Poisson process with a mean of 1 / lambda. - * - * @param lambda Expected time between events. + * A configurable random number generator for the Irwin–Hall distribution. */ -export function randomExponential(lambda: number): () => number; +export interface RandomIrwinHall extends RandomNumberGenerationSource { + /** + * Returns a function for generating random numbers with an Irwin–Hall distribution with n independent variables. + * + * @param n Number of independent random variables to use. + */ + (n: number): () => number; +} + +export const randomIrwinHall: RandomIrwinHall; + +/** + * A configurable random number generator for the exponential distribution. + */ +export interface RandomExponential extends RandomNumberGenerationSource { + /** + * Returns a function for generating random numbers with an exponential distribution with the rate lambda; + * equivalent to time between events in a Poisson process with a mean of 1 / lambda. + * + * @param lambda Expected time between events. + */ + (lambda: number): () => number; +} + +export const randomExponential: RandomExponential; diff --git a/types/d3-random/tsconfig.json b/types/d3-random/tsconfig.json index 20a20f04f1..f9544a0527 100644 --- a/types/d3-random/tsconfig.json +++ b/types/d3-random/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" @@ -19,4 +19,4 @@ "index.d.ts", "d3-random-tests.ts" ] -} \ No newline at end of file +} diff --git a/types/d3-random/tslint.json b/types/d3-random/tslint.json new file mode 100644 index 0000000000..4ae99abce4 --- /dev/null +++ b/types/d3-random/tslint.json @@ -0,0 +1,6 @@ +{ + "extends": "dtslint/dt.json", + "rules": { + "max-line-length": [false, 140] + } +} From 6eae3bf1bd2d980fc8c8527d25275dfd8bb29df2 Mon Sep 17 00:00:00 2001 From: zhutian chen Date: Sat, 13 May 2017 01:04:23 +0800 Subject: [PATCH 53/70] should contain a type in the return of feature --- types/topojson/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/topojson/index.d.ts b/types/topojson/index.d.ts index bafc431ea3..68efb8ee9c 100644 --- a/types/topojson/index.d.ts +++ b/types/topojson/index.d.ts @@ -5,7 +5,7 @@ export function bbox(topology: any): any; -export function feature(topology: any, o: any): { features: any[]; }; +export function feature(topology: any, o: any): { features: any[]; type: string }; export function filter(topology: any, filter: any): any; From 3cb428af9940ae0d0a3df72fda6e5b581ac5a5ca Mon Sep 17 00:00:00 2001 From: zhutian chen Date: Sat, 13 May 2017 01:06:46 +0800 Subject: [PATCH 54/70] add myself --- types/topojson/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/topojson/index.d.ts b/types/topojson/index.d.ts index 68efb8ee9c..67f71310d0 100644 --- a/types/topojson/index.d.ts +++ b/types/topojson/index.d.ts @@ -1,6 +1,7 @@ // Type definitions for topojson 3.0 // Project: https://github.com/topojson/topojson // Definitions by: Ricardo Mello +// Zhutian Chen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export function bbox(topology: any): any; From 74135b05f356af327820047d3343298aba540992 Mon Sep 17 00:00:00 2001 From: zhutian chen Date: Sat, 13 May 2017 12:18:03 +0800 Subject: [PATCH 55/70] updaste the test --- types/topojson/topojson-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/topojson/topojson-tests.ts b/types/topojson/topojson-tests.ts index a8049b6b26..68171809d5 100644 --- a/types/topojson/topojson-tests.ts +++ b/types/topojson/topojson-tests.ts @@ -2,5 +2,5 @@ import * as topojson from 'topojson'; // TODO: complete tests. -topojson.feature(null, null); // $ExpectType { features: any[]; } +topojson.feature(null, null); // $ExpectType { features: any[]; type: string; } topojson.mesh(null, null, (a: any, b: any) => a !== b); // $ExpectType { type: any; coordinates: any[]; } From e3fdd2698a14f090bedf52def2a1d3192daff32a Mon Sep 17 00:00:00 2001 From: Habibi Date: Sat, 13 May 2017 19:10:05 +0700 Subject: [PATCH 56/70] =?UTF-8?q?Fix=20react-navigation=20typo=20=E2=80=9C?= =?UTF-8?q?tabBarLabel=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/react-navigation/index.d.ts | 2 +- types/react-navigation/react-navigation-tests.tsx | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index 6b263642ff..cf510e4cd1 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -585,7 +585,7 @@ export interface TabNavigatorScreenOptions { title?: string; tabBarVisible?: boolean; tabBarIcon?: React.ReactElement; - tabBarLaben?: string + tabBarLabel?: string |React.ReactElement | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) ; diff --git a/types/react-navigation/react-navigation-tests.tsx b/types/react-navigation/react-navigation-tests.tsx index d01ae62640..6182dfd64c 100644 --- a/types/react-navigation/react-navigation-tests.tsx +++ b/types/react-navigation/react-navigation-tests.tsx @@ -28,3 +28,10 @@ const Router = (props: any) => ( } /> ); + +const tabNavigatorScreenOptions: TabNavigatorScreenOptions = { + title: 'title', + tabBarVisible: true, + tabBarIcon: , + tabBarLabel: 'label' +} From a58b6330a57a0fb4277085b527013b4cc3660e55 Mon Sep 17 00:00:00 2001 From: Habibi Date: Sat, 13 May 2017 19:24:05 +0700 Subject: [PATCH 57/70] react-navigation Add different typing for tabBarIcon --- types/react-navigation/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types/react-navigation/index.d.ts b/types/react-navigation/index.d.ts index cf510e4cd1..ddbe9b11e3 100644 --- a/types/react-navigation/index.d.ts +++ b/types/react-navigation/index.d.ts @@ -584,11 +584,11 @@ export interface StackNavigatorScreenOptions { export interface TabNavigatorScreenOptions { title?: string; tabBarVisible?: boolean; - tabBarIcon?: React.ReactElement; + tabBarIcon?: React.ReactElement + | ((options: { focused: boolean, tintColor: string }) => React.ReactElement); tabBarLabel?: string - |React.ReactElement - | ((options: {focused: boolean, tintColor: string}) => React.ReactElement) - ; + | React.ReactElement + | ((options: { focused: boolean, tintColor: string }) => React.ReactElement); } export interface DrawerNavigatorScreenOptions { From 1cfe9350bbc174d957c263c7eb2a39c206af7cba Mon Sep 17 00:00:00 2001 From: Habibi Date: Sat, 13 May 2017 19:58:36 +0700 Subject: [PATCH 58/70] Fix missing import in the test --- types/react-navigation/react-navigation-tests.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/types/react-navigation/react-navigation-tests.tsx b/types/react-navigation/react-navigation-tests.tsx index 6182dfd64c..a88a5d3a0b 100644 --- a/types/react-navigation/react-navigation-tests.tsx +++ b/types/react-navigation/react-navigation-tests.tsx @@ -3,6 +3,7 @@ import { View } from 'react-native'; import { addNavigationHelpers, StackNavigator, + TabNavigatorScreenOptions } from 'react-navigation'; const Start = ( From d92a1e9b394fda0bda54422667b6404b154b6f5e Mon Sep 17 00:00:00 2001 From: Tom Wanzek Date: Sat, 13 May 2017 13:33:11 -0400 Subject: [PATCH 59/70] [d3-shape] * [Feature] Add stackOffsetDiverging(...) * [Chore] Update version numbers * [Chore] Fix typos in JSDoc comments. --- types/d3-shape/d3-shape-tests.ts | 1 + types/d3-shape/index.d.ts | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/types/d3-shape/d3-shape-tests.ts b/types/d3-shape/d3-shape-tests.ts index 3ac854df2b..7625230b9f 100644 --- a/types/d3-shape/d3-shape-tests.ts +++ b/types/d3-shape/d3-shape-tests.ts @@ -1181,6 +1181,7 @@ order = d3Shape.stackOrderReverse(seriesAnyAny); // Test stack offsets =============================================================== d3Shape.stackOffsetExpand(seriesAnyAny, order); +d3Shape.stackOffsetDiverging(seriesAnyAny, order); d3Shape.stackOffsetNone(seriesAnyAny, order); d3Shape.stackOffsetSilhouette(seriesAnyAny, order); d3Shape.stackOffsetWiggle(seriesAnyAny, order); diff --git a/types/d3-shape/index.d.ts b/types/d3-shape/index.d.ts index 517f84e501..9a69f64530 100644 --- a/types/d3-shape/index.d.ts +++ b/types/d3-shape/index.d.ts @@ -1,9 +1,9 @@ -// Type definitions for D3JS d3-shape module 1.0 +// Type definitions for D3JS d3-shape module 1.1 // Project: https://github.com/d3/d3-shape/ // Definitions by: Tom Wanzek , Alex Ford , Boris Yankov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Last module patch version validated against: 1.0.4 +// Last module patch version validated against: 1.1.0 import { Path } from 'd3-path'; @@ -1872,7 +1872,7 @@ export const curveStepBefore: CurveFactory; * A Symbol Type. * * Symbol types are typically not used directly, instead being passed to symbol.type. - * However, you can define your own sumbol type implementation should none of the built-in types satisfy your needs using the following interface. + * However, you can define your own symbol type implementation should none of the built-in types satisfy your needs using the following interface. * You can also use this low-level interface with a built-in symbol type as an alternative to the symbol generator */ export interface SymbolType { @@ -2269,7 +2269,7 @@ export function stackOrderDescending(series: Series): number[]; /** * Returns a series order such that the larger series (according to the sum of values) are on the inside and the smaller series are on the outside. - * This order is recommended for streamgraphs in conjunction with the wiggle offset. See Stacked Graphs—Geometry & Aesthetics by Bryon & Wattenberg for more information. + * This order is recommended for streamgraphs in conjunction with the wiggle offset. See Stacked Graphs—Geometry & Aesthetics by Byron & Wattenberg for more information. * * @param series A series generated by a stack generator */ @@ -2297,6 +2297,14 @@ export function stackOrderReverse(series: Series): number[]; */ export function stackOffsetExpand(series: Series, order: number[]): void; +/** + * Positive values are stacked above zero, while negative values are stacked below zero. + * + * @param series A series generated by a stack generator + * @param order An array of numeric indexes representing the stack order. + */ +export function stackOffsetDiverging(series: Series, order: number[]): void; + /** * Applies a zero baseline. * From 34e71f27931417e504a7ca219c3ae8c1179b69f1 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Sat, 13 May 2017 11:17:35 -0700 Subject: [PATCH 60/70] Update index.d.ts --- types/angular-loading-bar/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/angular-loading-bar/index.d.ts b/types/angular-loading-bar/index.d.ts index 8990f7bcf7..464974631d 100644 --- a/types/angular-loading-bar/index.d.ts +++ b/types/angular-loading-bar/index.d.ts @@ -31,7 +31,7 @@ declare module 'angular' { */ latencyThreshold?: number; /** - * HTML eliment selector of parent + * HTML element selector of parent */ parentSelector?: string; } From 1dc7cafe4c82262299baac644eef5681c4f7dafe Mon Sep 17 00:00:00 2001 From: Silas Rech Date: Sat, 13 May 2017 20:24:06 +0200 Subject: [PATCH 61/70] [raven] fix key substructure --- types/raven/index.d.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/types/raven/index.d.ts b/types/raven/index.d.ts index 359ead4608..5a79d5d309 100644 --- a/types/raven/index.d.ts +++ b/types/raven/index.d.ts @@ -52,8 +52,8 @@ export interface ConstructorOptions { logger?: string; release?: string; environment?: string; - tags?: { string: string }; - extra?: { string: any }; + tags?: { [key: string]: string }; + extra?: { [key: string]: any }; dataCallback?: DataCallback; transport?(): void; captureUnhandledRejections?: boolean; @@ -75,15 +75,15 @@ export interface parsedDSN { port: number; } -export type CaptureCallback = (err: { string: any }, eventId: any) => void; +export type CaptureCallback = (err: { [key: string]: any }, eventId: any) => void; -export type DataCallback = (data: { string: any }) => void; +export type DataCallback = (data: { [key: string]: any }) => void; -export type TransportCallback = (options: { string: any }) => void; +export type TransportCallback = (options: { [key: string]: any }) => void; export interface CaptureOptions { - tags?: { string: string }; - extra?: { string: any }; + tags?: { [key: string]: string }; + extra?: { [key: string]: any }; fingerprint?: string; level?: string; } From dd03dfb3c426dc5919126103eecf4583a41c80b5 Mon Sep 17 00:00:00 2001 From: Tom Wanzek Date: Sat, 13 May 2017 15:16:45 -0400 Subject: [PATCH 62/70] [d3-shape]: * [Feature] Add definition support for horizontal, vertical and radial link shape generator. --- types/d3-shape/index.d.ts | 357 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 357 insertions(+) diff --git a/types/d3-shape/index.d.ts b/types/d3-shape/index.d.ts index 9a69f64530..00d37fa4ae 100644 --- a/types/d3-shape/index.d.ts +++ b/types/d3-shape/index.d.ts @@ -1864,6 +1864,363 @@ export const curveStepAfter: CurveFactory; */ export const curveStepBefore: CurveFactory; +// ----------------------------------------------------------------------------------- +// LINKS +// ----------------------------------------------------------------------------------- + +/** + * An interface describing the default Link Data structure expected + * by the Link and RadialLink generators + */ +export interface DefaultLinkObject { + /** + * Source node of the link. + * + * For a link in a Cartesian coordinate system, the two element array contains + * the coordinates [x, y]. + * + * For a radial link, the two element array contains + * the coordinates [angle, radius]. The angle is stated in radians, with 0 at -y (12 o’clock). + * The radius measures the distance from the origin ⟨0,0⟩. + */ + source: [number, number]; + /** + * Target node of the link. + * + * For a link in a Cartesian coordinate system, the two element array contains + * the coordinates [x, y]. + * + * For a radial link, the two element array contains + * the coordinates [angle, radius]. The angle is stated in radians, with 0 at -y (12 o’clock). + * The radius measures the distance from the origin ⟨0,0⟩. + */ + target: [number, number]; +} + +/** + * A link generator for a Cartesian coordinate system. The link shape generates a smooth cubic Bézier curve from a + * source point to a target point. The tangents of the curve at the start and end are either vertical, horizontal. + * + * The first generic corresponds to the type of the "this" context within which the link generator and its accessor functions will be invoked. + * + * The second generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The third generic corresponds to the datum type of the source/target node contained in the link object. + */ +export interface Link { + /** + * Generates a link for the given arguments. + * + * IMPORTANT: If the rendering context of the link generator is null, + * then the link is returned as a path data string. + * + * The "this" context within which this function is invoked, will be the context within which the accessor methods of the generator are invoked. + * All arguments passed into this function, will be passed to the accessor functions of the generator. + * + * @param d The datum for which the link is to be generated. + */ + (this: This, d: LinkDatum, ...args: any[]): string | null; + /** + * Generates an link for the given arguments. + * + * IMPORTANT: If the link generator has been configured with a rendering context, + * then the link is rendered to this context as a sequence of path method calls and this function returns void. + * + * The "this" context within which this function is invoked, will be the context within which the accessor methods of the generator are invoked. + * All arguments passed into this function, will be passed to the accessor functions of the generator. + * + * @param d The datum for which the link is to be generated. + */ + (this: This, d: LinkDatum, ...args: any[]): void; + + /** + * Returns the current source node accessor function. + * The default source accessor function returns a two element array [x, y]. + */ + source(): (this: This, d: LinkDatum, ...args: any[]) => NodeDatum; + /** + * Sets the source accessor to the specified function and returns this link generator. + * + * @param source Source node accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives the same arguments that were passed into the link generator. The default target accessor function returns a two element array [x, y]. + */ + source(source: (this: This, d: LinkDatum, ...args: any[]) => NodeDatum): this; + + /** + * Returns the current target node accessor function. + * The default target accessor function returns a two element array [x, y]. + */ + target(): (this: This, d: LinkDatum, ...args: any[]) => NodeDatum; + /** + * Sets the target accessor to the specified function and returns this link generator. + * + * @param target Target node accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives the same arguments that were passed into the link generator. The default target accessor function returns a two element array [x, y]. + */ + target(target: (this: This, d: LinkDatum, ...args: any[]) => NodeDatum): this; + + /** + * Returns the current x-accessor, which defaults to a function accepting an number array + * as its argument an returning the first element of the array. + */ + x(): (this: This, node: NodeDatum, ...args: any[]) => number; + /** + * Sets the x-accessor to the specified function and returns this link generator. + * + * @param x x-coordinate accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives as its first argument a node object followed by all additional arguments that were passed into the link generator. + */ + x(x: (this: This, node: NodeDatum, ...args: any[]) => number): this; + + /** + * Returns the current y-accessor, which defaults to a function accepting an number array + * as its argument an returning the second element of the array. + */ + y(): (this: This, node: NodeDatum, ...args: any[]) => number; + /** + * Sets the y-accessor to the specified function and returns this link generator. + * + * @param y y-coordinate accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives as its first argument a node object followed by all additional arguments that were passed into the link generator. + */ + y(y: (this: This, node: NodeDatum, ...args: any[]) => number): this; + + /** + * Returns the current rendering context, which defaults to null. + */ + context(): CanvasRenderingContext2D | null; + /** + * Sets the rendering context and returns this link generator. + * + * If the context is not null, then the generated link is rendered to this context as a sequence of path method calls. + * + * @param context The rendering context. + */ + context(context: CanvasRenderingContext2D): this; + /** + * Sets the rendering context to null and returns this link generator. + * + * A path data string representing the generated link will be returned when the generator is invoked with data. + * + * @param context null, to remove rendering context. + */ + context(context: null): this; +} + +/** + * Constructs a new default link generator with horizontal tangents, for example, to visualize links in a tree diagram + * rooted on the left edge of the display. + * + * With the default settings the link generator accepts a link object conforming to the DefaultLinkObject interface. + */ +export function linkHorizontal(): Link; +/** + * Constructs a new link generator with horizontal tangents, for example, to visualize links in a tree diagram + * rooted on the left edge of the display. + * + * Important: Ensure that the accessor functions are configured to work with the link and node datum types + * specified in the generics. + * + * The first generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The second generic corresponds to the datum type of the source/target node contained in the link object + */ +export function linkHorizontal(): Link; +/** + * Constructs a new link generator with horizontal tangents, for example, to visualize links in a tree diagram + * rooted on the left edge of the display. + * + * Important: Ensure that the accessor functions are configured to work with the link and node datum types + * specified in the generics. + * + * The first generic corresponds to the type of the "this" context within which the link generator and its accessor functions will be invoked. + * + * The second generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The third generic corresponds to the datum type of the source/target node contained in the link object + */ +export function linkHorizontal(): Link; + +/** + * Constructs a new default link generator with vertical tangents, for example, to visualize links in a tree diagram + * rooted on the top edge of the display. + * + * With the default settings the link generator accepts a link object conforming to the DefaultLinkObject interface. + */ +export function linkVertical(): Link; +/** + * Constructs a new link generator with vertical tangents, for example, to visualize links in a tree diagram + * rooted on the top edge of the display. + * + * Important: Ensure that the accessor functions are configured to work with the link and node datum types + * specified in the generics. + * + * The first generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The second generic corresponds to the datum type of the source/target node contained in the link object + */ +export function linkVertical(): Link; +/** + * Constructs a new link generator with vertical tangents, for example, to visualize links in a tree diagram + * rooted on the top edge of the display. + * + * Important: Ensure that the accessor functions are configured to work with the link and node datum types + * specified in the generics. + * + * The first generic corresponds to the type of the "this" context within which the link generator and its accessor functions will be invoked. + * + * The second generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The third generic corresponds to the datum type of the source/target node contained in the link object + */ +export function linkVertical(): Link; + +/** + * A link generator for a radial coordinate system. The link shape generates a smooth cubic Bézier curve from a + * source point to a target point. The tangents of the curve at the start and end are radial. + * + * The first generic corresponds to the type of the "this" context within which the radial link generator and its accessor functions will be invoked. + * + * The second generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The third generic corresponds to the datum type of the source/target node contained in the link object. + */ +export interface RadialLink { + /** + * Generates a radial link for the given arguments. + * + * IMPORTANT: If the rendering context of the radial link generator is null, + * then the link is returned as a path data string. + * + * The "this" context within which this function is invoked, will be the context within which the accessor methods of the generator are invoked. + * All arguments passed into this function, will be passed to the accessor functions of the generator. + * + * @param d The datum for which the link is to be generated. + */ + (this: This, d: LinkDatum, ...args: any[]): string | null; + /** + * Generates an link for the given arguments. + * + * IMPORTANT: If the radial link generator has been configured with a rendering context, + * then the link is rendered to this context as a sequence of path method calls and this function returns void. + * + * The "this" context within which this function is invoked, will be the context within which the accessor methods of the generator are invoked. + * All arguments passed into this function, will be passed to the accessor functions of the generator. + * + * @param d The datum for which the link is to be generated. + */ + (this: This, d: LinkDatum, ...args: any[]): void; + + /** + * Returns the current source node accessor function. + * The default source accessor function returns a two element array [x, y]. + */ + source(): (this: This, d: LinkDatum, ...args: any[]) => NodeDatum; + /** + * Sets the source accessor to the specified function and returns this radial link generator. + * + * @param source Source node accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives the same arguments that were passed into the radial link generator. The default target accessor function returns a two element array [x, y]. + */ + source(source: (this: This, d: LinkDatum, ...args: any[]) => NodeDatum): this; + + /** + * Returns the current target node accessor function. + * The default target accessor function returns a two element array [x, y]. + */ + target(): (this: This, d: LinkDatum, ...args: any[]) => NodeDatum; + /** + * Sets the target accessor to the specified function and returns this radial link generator. + * + * @param target Target node accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives the same arguments that were passed into the radial link generator. The default target accessor function returns a two element array [x, y]. + */ + target(target: (this: This, d: LinkDatum, ...args: any[]) => NodeDatum): this; + + /** + * Returns the current angle accessor, which defaults to a function accepting an number array + * as its argument an returning the first element of the array. + */ + angle(): (this: This, node: NodeDatum, ...args: any[]) => number; + /** + * Sets the angle accessor to the specified function and returns this radial link generator. + * The angle is stated in radians, with 0 at -y (12 o’clock). + * + * @param angle Angle accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives as its first argument a node object followed by all additional arguments that were passed into the radial link generator. + */ + angle(angle: (this: This, node: NodeDatum, ...args: any[]) => number): this; + + /** + * Returns the current radius accessor, which defaults to a function accepting an number array + * as its argument an returning the second element of the array. + */ + radius(): (this: This, node: NodeDatum, ...args: any[]) => number; + /** + * Sets the radius accessor to the specified function and returns this radial link generator. + * The radius is measured as the distance from the origin ⟨0,0⟩. + * + * @param radius Radius accessor function. The accessor function is invoked in the same "this" context as the generator was invoked in and + * receives as its first argument a node object followed by all additional arguments that were passed into the radial link generator. + */ + radius(radius: (this: This, node: NodeDatum, ...args: any[]) => number): this; + + /** + * Returns the current rendering context, which defaults to null. + */ + context(): CanvasRenderingContext2D | null; + /** + * Sets the rendering context and returns this radial link generator. + * + * If the context is not null, then the generated radial area is rendered to this context as a sequence of path method calls. + * + * @param context The rendering context. + */ + context(context: CanvasRenderingContext2D): this; + /** + * Sets the rendering context to null and returns this radial link generator. + * + * A path data string representing the generated radial link will be returned when the generator is invoked with data. + * + * @param context null, to remove rendering context. + */ + context(context: null): this; +} + +/** + * Constructs a new default link generator with radial tangents, for example, to visualize links in a tree diagram + * rooted in the center of the display. + * + * With the default settings the link generator accepts a link object conforming to the DefaultLinkObject interface. + */ +export function linkRadial(): RadialLink; +/** + * Constructs a new link generator with radial tangents, for example, to visualize links in a tree diagram + * rooted in the center of the display. + * + * Important: Ensure that the accessor functions are configured to work with the link and node datum types + * specified in the generics. + * + * The first generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The second generic corresponds to the datum type of the source/target node contained in the link object + */ +export function linkRadial(): RadialLink; +/** + * Constructs a new link generator with radial tangents, for example, to visualize links in a tree diagram + * rooted in the center of the display. + * + * Important: Ensure that the accessor functions are configured to work with the link and node datum types + * specified in the generics. + * + * The first generic corresponds to the type of the "this" context within which the link generator and its accessor functions will be invoked. + * + * The second generic corresponds to the datum type of the link object for which the link is to be generated. + * + * The third generic corresponds to the datum type of the source/target node contained in the link object + */ +export function linkRadial(): RadialLink; + // ----------------------------------------------------------------------------------- // SYMBOLS // ----------------------------------------------------------------------------------- From 0bafa64757fbbc3850eb9e73a61b88fdbf8c6931 Mon Sep 17 00:00:00 2001 From: Tom Wanzek Date: Sat, 13 May 2017 17:25:11 -0400 Subject: [PATCH 63/70] [d3-shape] Add Link/RadialLink tests --- types/d3-shape/d3-shape-tests.ts | 251 ++++++++++++++++++++++++++++++- 1 file changed, 248 insertions(+), 3 deletions(-) diff --git a/types/d3-shape/d3-shape-tests.ts b/types/d3-shape/d3-shape-tests.ts index 7625230b9f..5d3b9fa5a1 100644 --- a/types/d3-shape/d3-shape-tests.ts +++ b/types/d3-shape/d3-shape-tests.ts @@ -7,8 +7,9 @@ */ import * as d3Shape from 'd3-shape'; -import { select, Selection } from 'd3-selection'; +import { select, Selection } from 'd3-selection'; import { path } from 'd3-path'; +import { HierarchyPointLink, HierarchyPointNode } from 'd3-hierarchy'; // ----------------------------------------------------------------------------------- // Preparatory Steps (General) @@ -900,6 +901,250 @@ curveFactory = d3Shape.curveStepAfter; curveFactory = d3Shape.curveStepBefore; +// ----------------------------------------------------------------------------------- +// Test Link/RadialLink Generators +// ----------------------------------------------------------------------------------- + +// Preparatory steps ================================================================= + +interface TreeNodeDatum { + whatever: any; +} + +declare const linkDatum: HierarchyPointLink; + +declare const defaultLinkDatum: d3Shape.DefaultLinkObject; + +const pLink: Selection, any, any> = + select>('.link-paths'); // mock +const wrongLink1: Selection, any, any> = + select>('.link-paths'); // mock +const wrongLink2: Selection = + select('.link-paths'); // mock + +// Test DefaultLinkObject Interface ================================================== + +let coordinates: [number, number]; + +coordinates = defaultLinkDatum.source; +coordinates = defaultLinkDatum.target; + +// Test generator factories ========================================================== + +let defaultLink: d3Shape.Link; + +defaultLink = d3Shape.linkHorizontal(); +defaultLink = d3Shape.linkVertical(); + +let link: d3Shape.Link, HierarchyPointNode>; + +link = d3Shape.linkHorizontal, HierarchyPointNode>(); +link = d3Shape.linkVertical, HierarchyPointNode>(); + +let svgLink: d3Shape.Link, HierarchyPointNode>; + +svgLink = d3Shape.linkHorizontal, HierarchyPointNode>(); +svgLink = d3Shape.linkVertical, HierarchyPointNode>(); + +let defaultRadialLink: d3Shape.RadialLink; + +defaultRadialLink = d3Shape.linkRadial(); + +let radialLink: d3Shape.RadialLink, HierarchyPointNode>; + +radialLink = d3Shape.linkRadial, HierarchyPointNode>(); + +let svgRadialLink: d3Shape.RadialLink, HierarchyPointNode>; + +svgRadialLink = d3Shape.linkRadial, HierarchyPointNode>(); + +// Configure link generators ======================================================== + +let defaultNodeAccessor: (d: d3Shape.DefaultLinkObject, ...args: any[]) => [number, number]; +let svgTreeNodeAccessor: (this: SVGPathElement, d: HierarchyPointLink, ...args: any[]) => HierarchyPointNode; + +let defaultCoordinateAccessor: (d: [number, number], ...args: any[]) => number; +let svgCoordinateAccessor: (this: SVGPathElement, d: HierarchyPointNode, ...args: any[]) => number; + +// source(...) ----------------------------------------------------------------------- + +// vertical/horizontal + +defaultLink = defaultLink.source(d => { + const datum: d3Shape.DefaultLinkObject = d; + return d.source; +}); + +defaultNodeAccessor = defaultLink.source(); + +svgLink = svgLink.source(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointLink = d; + return d.source; +}); + +svgTreeNodeAccessor = svgLink.source(); + +// radial + +defaultRadialLink = defaultRadialLink.source(d => { + const datum: d3Shape.DefaultLinkObject = d; + return d.source; +}); + +defaultNodeAccessor = defaultRadialLink.source(); + +svgRadialLink = svgRadialLink.source(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointLink = d; + return d.source; +}); + +svgTreeNodeAccessor = svgRadialLink.source(); + +// target(...) ----------------------------------------------------------------------- + +// vertical/horizontal + +defaultLink = defaultLink.target(d => { + const datum: d3Shape.DefaultLinkObject = d; + return d.target; +}); + +defaultNodeAccessor = defaultLink.target(); + +svgLink = svgLink.target(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointLink = d; + return d.target; +}); + +svgTreeNodeAccessor = svgLink.target(); + +// radial + +defaultRadialLink = defaultRadialLink.target(d => { + const datum: d3Shape.DefaultLinkObject = d; + return d.target; +}); + +defaultNodeAccessor = defaultRadialLink.target(); + +svgRadialLink = svgRadialLink.target(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointLink = d; + return d.target; +}); + +svgTreeNodeAccessor = svgRadialLink.target(); + +// x(...) ---------------------------------------------------------------------------- + +defaultLink = defaultLink.x(d => { + const datum: [number, number] = d; + return datum[0]; +}); + +defaultCoordinateAccessor = defaultLink.x(); + +svgLink = svgLink.x(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointNode = d; + return datum.x; +}); + +svgCoordinateAccessor = svgLink.x(); + +// y(...) ---------------------------------------------------------------------------- + +defaultLink = defaultLink.y(d => { + const datum: [number, number] = d; + return datum[1]; +}); + +defaultCoordinateAccessor = defaultLink.y(); + +svgLink = svgLink.y(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointNode = d; + return datum.y; +}); + +svgCoordinateAccessor = svgLink.y(); + +// angle(...) ------------------------------------------------------------------------ + +defaultRadialLink = defaultRadialLink.angle(d => { + const datum: [number, number] = d; + return datum[0]; +}); + +defaultCoordinateAccessor = defaultRadialLink.angle(); + +svgRadialLink = svgRadialLink.angle(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointNode = d; + return datum.x; +}); + +svgCoordinateAccessor = svgRadialLink.angle(); + +// radius(...) ------------------------------------------------------------------------ + +defaultRadialLink = defaultRadialLink.radius(d => { + const datum: [number, number] = d; + return datum[1]; +}); + +defaultCoordinateAccessor = defaultRadialLink.radius(); + +svgRadialLink = svgRadialLink.radius(function (d) { + const that: SVGPathElement = this; + const datum: HierarchyPointNode = d; + return datum.y; +}); + +svgCoordinateAccessor = svgRadialLink.radius(); + +// context(...) ---------------------------------------------------------------------- + +if (context !== null) { + defaultArea = defaultArea.context(context); // draw to canvas +} +context = defaultArea.context(); + +area = area.context(null); // use as path string generator for SVG + +// Use link generators =============================================================== + +// Render to canvas ------------------------------------------------------------------ + +defaultLink(defaultLinkDatum); + +defaultRadialLink(defaultLinkDatum); + +// Render to svg --------------------------------------------------------------------- + +// vertical/horizontal + +pLink.attr('d', svgLink); +// wrongLink1.attr('d', svgLink); // fails, incompatible this contexts +// wrongLink2.attr('d', svgLink); // fails, incompatible datum types + +pathStringMaybe = link(linkDatum); + +// pathStringMaybe = svgLink(linkDatum); // fails, wrong this type for invocation + +// radial + +pLink.attr('d', svgRadialLink); +// wrongLink1.attr('d', svgRadialLink); // fails, incompatible this contexts +// wrongLink2.attr('d', svgRadialLink); // fails, incompatible datum types + +pathStringMaybe = radialLink(linkDatum); + +// pathStringMaybe = svgRadialLink(linkDatum); // fails, wrong this type for invocation + // ----------------------------------------------------------------------------------- // Test Symbols // ----------------------------------------------------------------------------------- @@ -1011,10 +1256,10 @@ class Symbolizer { break; } this.symbol = d3Shape.symbol() - .size(function(this: Symbolizer, d?: SymbolDatum) { + .size(function (this: Symbolizer, d?: SymbolDatum) { return d ? d.size : this.size; }) - .type(function(this: Symbolizer, d?: SymbolDatum) { + .type(function (this: Symbolizer, d?: SymbolDatum) { let type = this.type; if (d && d.type) { switch (d.type) { From 94d91dd4cf3244b8a8405610236039feb63202c5 Mon Sep 17 00:00:00 2001 From: Tom Wanzek Date: Sat, 13 May 2017 17:35:18 -0400 Subject: [PATCH 64/70] [d3-shape] Linting * [Fix] Added `"callable-types": false` to `tslint.json` as the two line-level disablers in `index.d.ts` seemed to be ignored. * [Chore] Fixed some linting errors in text file --- types/d3-shape/d3-shape-tests.ts | 20 ++++++++++---------- types/d3-shape/tslint.json | 3 ++- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/types/d3-shape/d3-shape-tests.ts b/types/d3-shape/d3-shape-tests.ts index 5d3b9fa5a1..5b322772b6 100644 --- a/types/d3-shape/d3-shape-tests.ts +++ b/types/d3-shape/d3-shape-tests.ts @@ -977,7 +977,7 @@ defaultLink = defaultLink.source(d => { defaultNodeAccessor = defaultLink.source(); -svgLink = svgLink.source(function (d) { +svgLink = svgLink.source(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointLink = d; return d.source; @@ -994,7 +994,7 @@ defaultRadialLink = defaultRadialLink.source(d => { defaultNodeAccessor = defaultRadialLink.source(); -svgRadialLink = svgRadialLink.source(function (d) { +svgRadialLink = svgRadialLink.source(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointLink = d; return d.source; @@ -1013,7 +1013,7 @@ defaultLink = defaultLink.target(d => { defaultNodeAccessor = defaultLink.target(); -svgLink = svgLink.target(function (d) { +svgLink = svgLink.target(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointLink = d; return d.target; @@ -1030,7 +1030,7 @@ defaultRadialLink = defaultRadialLink.target(d => { defaultNodeAccessor = defaultRadialLink.target(); -svgRadialLink = svgRadialLink.target(function (d) { +svgRadialLink = svgRadialLink.target(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointLink = d; return d.target; @@ -1047,7 +1047,7 @@ defaultLink = defaultLink.x(d => { defaultCoordinateAccessor = defaultLink.x(); -svgLink = svgLink.x(function (d) { +svgLink = svgLink.x(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointNode = d; return datum.x; @@ -1064,7 +1064,7 @@ defaultLink = defaultLink.y(d => { defaultCoordinateAccessor = defaultLink.y(); -svgLink = svgLink.y(function (d) { +svgLink = svgLink.y(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointNode = d; return datum.y; @@ -1081,7 +1081,7 @@ defaultRadialLink = defaultRadialLink.angle(d => { defaultCoordinateAccessor = defaultRadialLink.angle(); -svgRadialLink = svgRadialLink.angle(function (d) { +svgRadialLink = svgRadialLink.angle(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointNode = d; return datum.x; @@ -1098,7 +1098,7 @@ defaultRadialLink = defaultRadialLink.radius(d => { defaultCoordinateAccessor = defaultRadialLink.radius(); -svgRadialLink = svgRadialLink.radius(function (d) { +svgRadialLink = svgRadialLink.radius(function(d) { const that: SVGPathElement = this; const datum: HierarchyPointNode = d; return datum.y; @@ -1256,10 +1256,10 @@ class Symbolizer { break; } this.symbol = d3Shape.symbol() - .size(function (this: Symbolizer, d?: SymbolDatum) { + .size(function(this: Symbolizer, d?: SymbolDatum) { return d ? d.size : this.size; }) - .type(function (this: Symbolizer, d?: SymbolDatum) { + .type(function(this: Symbolizer, d?: SymbolDatum) { let type = this.type; if (d && d.type) { switch (d.type) { diff --git a/types/d3-shape/tslint.json b/types/d3-shape/tslint.json index 08b1465cd6..604d5950cf 100644 --- a/types/d3-shape/tslint.json +++ b/types/d3-shape/tslint.json @@ -1,6 +1,7 @@ { "extends": "dtslint/dt.json", "rules": { - "unified-signatures": false + "unified-signatures": false, + "callable-types": false } } From eed5576c8449218062dc52a2977405ab7602bf75 Mon Sep 17 00:00:00 2001 From: huhuanming Date: Mon, 15 May 2017 08:53:56 +0800 Subject: [PATCH 65/70] Add setAliasAndTags --- types/jpush-react-native/index.d.ts | 6 ++++-- types/jpush-react-native/jpush-react-native-tests.ts | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/types/jpush-react-native/index.d.ts b/types/jpush-react-native/index.d.ts index 21397e6aaa..d8b27e0b2c 100644 --- a/types/jpush-react-native/index.d.ts +++ b/types/jpush-react-native/index.d.ts @@ -35,9 +35,11 @@ export default class JPush { */ static getInfo(cb: (map: any) => void): void; - static setTags(tags: string[], successCallback: (resultCode: number[]) => void, failedCallback: () => void): void; + static setTags(tags: string[], successCallback: () => void, failedCallback: () => void): void; - static setAlias(alias: string, successCallback: (resultCode: number[]) => void, failedCallback: () => void): void; + static setAlias(alias: string, successCallback: () => void, failedCallback: () => void): void; + + static setAliasAndTags(alias: string, tag: string[], successCallback: () => void, failedCallback: () => void): void; /** * Android diff --git a/types/jpush-react-native/jpush-react-native-tests.ts b/types/jpush-react-native/jpush-react-native-tests.ts index 44fc834b62..d1af013e11 100644 --- a/types/jpush-react-native/jpush-react-native-tests.ts +++ b/types/jpush-react-native/jpush-react-native-tests.ts @@ -24,6 +24,13 @@ JPush.setAlias( () => {}, ); +JPush.setAliasAndTags( + 'alias', + ['tag1', 'tag2'], + () => { }, + () => { }, +); + JPush.setStyleBasic(); JPush.setStyleCustom(); From 1e648a4bd2e74ac4910d6c6c96d4908233c5f81e Mon Sep 17 00:00:00 2001 From: "qlyan(benben)" Date: Mon, 15 May 2017 12:46:34 +0800 Subject: [PATCH 66/70] add optional args for AlertIOSButton interface --- types/react-native/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-native/index.d.ts b/types/react-native/index.d.ts index dcaeb52da8..eed16db158 100644 --- a/types/react-native/index.d.ts +++ b/types/react-native/index.d.ts @@ -6297,7 +6297,7 @@ export interface AdSupportIOSStatic { interface AlertIOSButton { text: string - onPress?: () => void + onPress?: (message?: string) => void style?: "default" | "cancel" | "destructive" } From a609728f561adc647d436d028c3e864c4ca04d63 Mon Sep 17 00:00:00 2001 From: TANAKA Koichi Date: Mon, 15 May 2017 14:23:18 +0900 Subject: [PATCH 67/70] sequelize: fix inheritance of UniqueConstraintError class. UniqueConstraintError class is subclass of ValidationError in both of v3 and v4(current). authorities: for v4 http://docs.sequelizejs.com/class/lib/errors/index.js~UniqueConstraintError.html for v3 (official doc is wrong.) https://github.com/sequelize/sequelize/blob/v3/lib/errors.js#L153 --- types/sequelize/index.d.ts | 6 +++--- types/sequelize/sequelize-tests.ts | 2 ++ types/sequelize/v3/index.d.ts | 2 +- types/sequelize/v3/sequelize-tests.ts | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/types/sequelize/index.d.ts b/types/sequelize/index.d.ts index a7f5b0afe5..43196e4aec 100644 --- a/types/sequelize/index.d.ts +++ b/types/sequelize/index.d.ts @@ -2097,7 +2097,7 @@ declare namespace sequelize { } - interface UniqueConstraintError extends DatabaseError { + interface UniqueConstraintError extends ValidationError { /** * Thrown when a unique constraint is violated in the database @@ -3247,8 +3247,8 @@ declare namespace sequelize { * https://github.com/sequelize/sequelize/blob/master/docs/docs/models-usage.md#user-content-manipulating-the-dataset-with-limit-offset-order-and-group */ group?: string | string[] | Object; - - + + /** * Apply DISTINCT(col) for FindAndCount(all) */ diff --git a/types/sequelize/sequelize-tests.ts b/types/sequelize/sequelize-tests.ts index cc4462fa86..a02b1a38f8 100644 --- a/types/sequelize/sequelize-tests.ts +++ b/types/sequelize/sequelize-tests.ts @@ -630,6 +630,8 @@ new s.HostNotReachableError( new Error( 'original connection error message' ) ); new s.InvalidConnectionError( new Error( 'original connection error message' ) ); new s.ConnectionTimedOutError( new Error( 'original connection error message' ) ); +const uniqueConstraintError: Sequelize.ValidationError = new s.UniqueConstraintError({}); + // // Hooks // ~~~~~~~ diff --git a/types/sequelize/v3/index.d.ts b/types/sequelize/v3/index.d.ts index 2f2f973c19..59c06f05bf 100644 --- a/types/sequelize/v3/index.d.ts +++ b/types/sequelize/v3/index.d.ts @@ -2096,7 +2096,7 @@ declare namespace sequelize { } - interface UniqueConstraintError extends DatabaseError { + interface UniqueConstraintError extends ValidationError { /** * Thrown when a unique constraint is violated in the database diff --git a/types/sequelize/v3/sequelize-tests.ts b/types/sequelize/v3/sequelize-tests.ts index 9f5eac61ad..3cce75b440 100644 --- a/types/sequelize/v3/sequelize-tests.ts +++ b/types/sequelize/v3/sequelize-tests.ts @@ -628,6 +628,7 @@ new s.HostNotReachableError( new Error( 'original connection error message' ) ); new s.InvalidConnectionError( new Error( 'original connection error message' ) ); new s.ConnectionTimedOutError( new Error( 'original connection error message' ) ); +const uniqueConstraintError: Sequelize.ValidationError = new s.UniqueConstraintError({}); // // Hooks // ~~~~~~~ From 6c097b074a2820a80a672628e17b8fa782922620 Mon Sep 17 00:00:00 2001 From: dobavictor Date: Mon, 15 May 2017 15:45:03 +0200 Subject: [PATCH 68/70] Add IPalette#contrastStrongLightColors typing. (#16461) --- types/angular-material/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/angular-material/index.d.ts b/types/angular-material/index.d.ts index 10648c0012..93b92290e4 100644 --- a/types/angular-material/index.d.ts +++ b/types/angular-material/index.d.ts @@ -214,6 +214,7 @@ declare module 'angular' { contrastDefaultColor?: string; contrastDarkColors?: string | string[]; contrastLightColors?: string | string[]; + contrastStrongLightColors?: string|string[]; } interface IThemeHues { From 6675e3358623c93163d5c110edfadbf8d0b5b7e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Adamczyk?= Date: Mon, 15 May 2017 12:52:10 -0400 Subject: [PATCH 69/70] @types/classnames - hide global definitions (#16420) * @types/classnames - hide global declarations, add tslint * @types/classnames - add export as namespace as its a UMD module * @types/classnames - address CR comments --- types/classnames/classnames-tests.ts | 7 ++++--- types/classnames/index.d.ts | 25 ++++++++++++++----------- types/classnames/tslint.json | 1 + 3 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 types/classnames/tslint.json diff --git a/types/classnames/classnames-tests.ts b/types/classnames/classnames-tests.ts index 5c99df82eb..1938acb4f9 100644 --- a/types/classnames/classnames-tests.ts +++ b/types/classnames/classnames-tests.ts @@ -1,6 +1,7 @@ -import classNames = require('classnames') +import classNames = require('classnames'); +import * as classNames2 from 'classnames'; -classNames('foo', 'bar'); // => 'foo bar' +classNames2('foo', 'bar'); // => 'foo bar' classNames('foo', 'bar'); // => 'foo bar' classNames('foo', { bar: true }); // => 'foo bar' @@ -21,4 +22,4 @@ classNames(["foo", ["bar", {baz: true}]]); // => 'foo bar baz' classNames(null, 'bar', undefined, 0, 1, { baz: null }, ''); // => 'bar 1' // Supporting booleans is tricky since we should only support passing in false, which is ignored -//classNames(false, 'bar', 0, 1, { baz: null }, ''); // => 'bar 1' +// classNames(false, 'bar', 0, 1, { baz: null }, ''); // => 'bar 1' diff --git a/types/classnames/index.d.ts b/types/classnames/index.d.ts index 22d9803399..42352fc9b8 100644 --- a/types/classnames/index.d.ts +++ b/types/classnames/index.d.ts @@ -1,22 +1,25 @@ -// Type definitions for classnames +// Type definitions for classnames 2.2 // Project: https://github.com/JedWatson/classnames -// Definitions by: Dave Keen , Adi Dahiya , Jason Killian +// Definitions by: Dave Keen +// Adi Dahiya +// Jason Killian +// Sean Kelley +// Michal Adamczyk // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -declare type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | false; +type ClassValue = string | number | ClassDictionary | ClassArray | undefined | null | false; interface ClassDictionary { [id: string]: boolean | undefined | null; } -interface ClassArray extends Array { } +// This is the only way I found to break circular references between ClassArray and ClassValue +// https://github.com/Microsoft/TypeScript/issues/3496#issuecomment-128553540 +interface ClassArray extends Array { } // tslint:disable-line no-empty-interface -interface ClassNamesFn { - (...classes: ClassValue[]): string; -} +type ClassNamesFn = (...classes: ClassValue[]) => string; -declare var classNames: ClassNamesFn; +declare const classNames: ClassNamesFn; -declare module "classnames" { - export = classNames -} +export = classNames; +export as namespace classNames; diff --git a/types/classnames/tslint.json b/types/classnames/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/classnames/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" } From 1f7b956ec1576837d64c70f56fc667de6bd4c6e1 Mon Sep 17 00:00:00 2001 From: Arthur Ozga Date: Mon, 15 May 2017 15:42:18 -0700 Subject: [PATCH 70/70] Remove contributor --- types/jquery/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/jquery/index.d.ts b/types/jquery/index.d.ts index f0a5aabb00..ca799f21e5 100644 --- a/types/jquery/index.d.ts +++ b/types/jquery/index.d.ts @@ -1,6 +1,6 @@ // Type definitions for jQuery 1.10.x / 2.0.x // Project: http://jquery.com/ -// Definitions by: Boris Yankov , Christian Hoffmeister , Steve Fenton , Diullei Gomes , Tass Iliopoulos , Jason Swearingen , Sean Hill , Guus Goossens , Kelly Summerlin , Basarat Ali Syed , Nicholas Wolverson , Derek Cicerone , Andrew Gaspar , James Harrison Fisher , Seikichi Kondo , Benjamin Jackman , Poul Sorensen , Josh Strobl , John Reilly , Dick van den Brink , Thomas Schulz +// Definitions by: Boris Yankov , Christian Hoffmeister , Steve Fenton , Diullei Gomes , Tass Iliopoulos , Jason Swearingen , Sean Hill , Guus Goossens , Kelly Summerlin , Basarat Ali Syed , Nicholas Wolverson , Derek Cicerone , Andrew Gaspar , Seikichi Kondo , Benjamin Jackman , Poul Sorensen , Josh Strobl , John Reilly , Dick van den Brink , Thomas Schulz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /* *****************************************************************************